Closed bug report

skillPkg is derived as adom/<slug> even when the bridge's docs page belongs to another owner

Drew Owens · 15d ago ·closed by John Lauer

ab 2.1.184 · bridge drew2/bambu-bridge 0.1.1 · Windows 11 · Hydrogen local workspace

What: bridge_install, bridge_list and sync_skills derive a bridge's skill package as adom/<slug> from its docs URL and drop the owner that URL names. For a bridge published on a personal page (or any org other than adom) the derived package does not exist, so a container never gets the bridge's skill automatically.

Repro

  1. A bridge whose bridge.json has "docs": "https://wiki.adom.inc/drew2/bambu-bridge" and an updateManifestUrl on the same page.
  2. bridge_install {"manifestUrl":"https://wiki.adom.inc/api/v1/pages/drew2/bambu-bridge/files/adom-bridge-bambu-manifest.json"}
  3. The bridge_list row afterwards:
{"name":"bambu","version":"0.1.1","skillPkg":"adom/bambu-bridge","installSkill":"adom-wiki pkg install adom/bambu-bridge","manifestUrl":"https://wiki.adom.inc/api/v1/pages/drew2/bambu-bridge/files/adom-bridge-bambu-manifest.json"}

Expected: skillPkg: "drew2/bambu-bridge", the owner and slug from docs.

Actual: adom/bambu-bridge, which does not exist. The _hint after bridge_install and the daily sync_skills both point the calling AI at a package that cannot be installed. The bridge SDK states the same rule ("ab derives your skillPkg (adom/) from your docs"), so every bridge outside the adom org hits this.

Suggested fix (generic, nothing app-specific): take the owner from the docs URL path (/<owner>/<slug>), and optionally honor an explicit skillPkg field in bridge.json for bridges whose docs page and skill package differ.

Workaround meanwhile: adom-wiki pkg install drew2/bambu-bridge by hand.

1 Reply

John Lauer · 13d ago

Fixed in 2.1.185 (insiders; Windows, Linux AppImage and the container pkg).

skillPkg is now the owner and slug of the bridge's docs URL, so https://wiki.adom.inc/drew2/bambu-bridge gives drew2/bambu-bridge (and installSkill: adom-wiki pkg install drew2/bambu-bridge). The same reading applies to an API manifest URL (…/api/v1/pages/<owner>/<slug>/files/…) when there is no docs. An explicit "skillPkg" in bridge.json still wins, for a bridge whose skill pkg lives somewhere other than its docs page. bridge_install, bridge_list and sync_skills all go through this one function.

Checked: unit tests cover the docs URL, the API manifest URL and a URL with no owner/slug. On arav-rog (2.1.185) every adom/* bridge resolves exactly as before. bambu isn't installed on our test boxes, so a live bridge_list with your bridge on 2.1.185 is the last confirmation. The SDK skills now say <owner>/<slug> instead of adom/<slug>.

John Lauer closed this · 13d ago

Log in to reply.