← Commit history

Update bridge release docs: third-party auto-update SHIPPED (AD 1.9.26 tracks per-bridge manifest URLs; 1.9.27 self-reaps, no manual kill); canonical owner-scoped URL not legacy /api/v1; wiki .zip-upload trap -> host as .bin; bridge.json at zip root

John Lauer ·430d029a82 ·4mo ago ·parent 1c430fb
2 files changed +27−10
README.md+6−6
@@ -56,16 +56,16 @@ The hello bridges live in the AD repo under `scripts/sample-bridges/`; each adva This is the part that makes bridge development easy: **you never touch the Windows box by hand.** From any cloud Claude session with the `adom-desktop` CLI:
 
 ```bash
-# Install (or update) a bridge from its published wiki manifest:
-adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/api/v1/pages/<your-bridge-page>/files/<your>-bridge-manifest.json"}'
+# Install a bridge from its published wiki manifest (canonical owner-scoped URL):
+adom-desktop bridge_install '{"manifestUrl":"https://wiki.adom.inc/api/pages/<owner>/<your-bridge-page>/files/<your>-bridge-manifest.json"}'
 
 # It appears in AD's Bridges panel immediately and starts on first verb call.
 adom-desktop bridge_list                         # see it registered + its LED
-adom-desktop <your_verb> '{...}'                  # call it \u2014 AD spawns + relays
+adom-desktop <your_verb> '{...}'                  # call it - AD spawns + relays
 
-# Iterate: re-publish a higher version, then re-install \u2014 AD reaps the old
-# instance and streams the new one onto the SAME stable port (no port churn).
-adom-desktop bridge_install '{"manifestUrl":"...","force":true}'
+# Iterate: re-publish a higher version, then refresh - AD reaps the old instance and
+# streams the new one onto the SAME stable port (no port churn, no manual kill; AD 1.9.27+).
+adom-desktop refresh_bridges '{"name":"<your-bridge>"}'
 
 # Remove it cleanly when done:
 adom-desktop bridge_uninstall '{"name":"<your-bridge>"}'
bridges-SDK.md+21−4
@@ -158,7 +158,16 @@ cat > my-bridge-manifest.json <<EOF EOF ``` -Host both files anywhere reachable by HTTPS — GitHub Pages, your own CDN, the Adom Wiki if you contribute to the official registry.+Host both files anywhere reachable by HTTPS - GitHub Pages, your own CDN, or the Adom Wiki.++> ⚠️ **Hosting on the Adom Wiki: the files API silently rejects `.zip`** (the upload returns `ok:true`+> but the file never lands; a `.png` through the same path commits fine). Host the zip **bytes under a+> `.bin` name** (`my-bridge-v1.0.0.bin`) and point the manifest `url` at that - AD GETs the `url` and+> unzips it regardless of extension. And give AD the **canonical owner-scoped file URL**,+> `https://wiki.adom.inc/api/pages/<owner>/<slug>/files/<file>`, NOT the legacy `/api/v1/pages/<slug>/...`+> alias (it still resolves but is fragile). Note `bridge.json` must sit at the **zip root**, so build the+> zip from your bridge dir's contents, not a parent folder. The full Adom-Wiki publish flow (with the+> `.bin` upload via `adom-wiki api`) is the **shipping-a-bridge** skill on this page.  ## Installing @@ -179,13 +188,21 @@ The next CLI call to one of your `verbPrefixes` auto-spawns the bridge process.  ## Updating -Bump `bridge.json`'s `version` + `BRIDGE_VERSION`, rebuild the zip, re-upload, update the manifest. Users:+Bump `bridge.json`'s `version` + `BRIDGE_VERSION` (and `package.json` `version` if you ship one), rebuild+the zip, re-upload, update the manifest. Users pick it up with:  ```bash-adom-desktop refresh_bridges   # picks up new versions from manifest URLs they previously installed from+adom-desktop refresh_bridges '{"name":"<your-bridge>"}'   # omit name to refresh all ``` -(Currently `refresh_bridges` only polls the three core wiki manifests. The follow-up work — tracking third-party manifest URLs in user state so they auto-refresh — lands in v1.8.x.)+**Third-party bridges auto-update from their OWN manifest URL (AD 1.9.26+).** `bridge_install` persists the+`manifestUrl` you installed from, so `refresh_bridges` (and AD's on-launch + 4-hourly auto-sync) polls+*your* page too, not just the bundled core bridges. And **AD 1.9.27+ self-reaps the running bridge** and+respawns it on the new code, so **no manual `bridge_kill` is needed** - the result is+`action:"updated", from, to`, and the bridge respawns on the next verb call. Verify with+`bridge_check_updates` (your bridge shows `wikiHosted:true`, `current` == the new version). If it shows+`wikiHosted:false` / `latest:null`, AD has no tracked URL for it yet - re-run `bridge_install` once from+the canonical manifest URL to register it.  ## Lifecycle controls (from cloud Docker, or local GUI)