Fix
- Slash command
/9routernot registered afterpi install npm:pi-9router
Root cause: package lacked the pi.extensions manifest in package.json, so Pi's
package loader only loaded dist/index.js for local:-prefixed installs via a
fallback path. npm: and git: installs resolved the package but never invoked
the factory in src/index.ts, so commands/tools/providers stayed unregistered —
even though pi list showed the package and defaultProvider/defaultModel got
written to settings.json from a side effect.
This release adds:
"pi": { "extensions": ["./dist/index.js"] }to package.json so npm and git sources resolve dist/index.js the same way
local sources do.
Repro (before fix)
pi install npm:pi-9router- Start Pi, run
pi list→pi-9routeris listed settings.jsonshowsdefaultProvider: 9routeranddefaultModel: ...- Press
/in the TUI →/9routeris missing from the picker
Verification (after fix)
pi install npm:pi-9router@0.1.2(or just/reloadif already installed)- Press
/→/9routerappears cat ~/.pi/agent/npm/node_modules/pi-9router/package.json | grep -A2 '"pi"'
should show theextensionsarray
Docs
- README: noted the
pi.extensionsmanifest under Installation - README: new Troubleshooting entry "Slash command
/9routeris not registered"
with verification steps
Verification log
bun install --frozen-lockfile— no changesbun run typecheck— cleanbun test— 7/7 passbun run build—dist/regenerated,dist/index.jsstill contains
registerCommand("9router", ...)- npm OIDC trusted publish via
v0.1.2tag (Node 24, npm 11.5.1+) — success in 21s