feat(#1944): pi extension — installable ExtensionAPI host-plugin with reachability proof (#1965)

* feat(#1944): pi extension — installable ExtensionAPI host-plugin with reachability proof

The pi extension (pi/gsd.cjs) is a real, jiti-loadable ExtensionAPI module that
registers /gsd (dispatches through the GSD command-routing hub) + gsd_invoke tool
+ tool_call event. Engine entry: in-process CJS require (Bun-compatible). The
extension resolves the engine tree via walk-up (like the OpenCode plugin).

tests/pi-extension-reachability.test.cjs proves the /gsd handler DISPATCHES
through the hub (returns a JSON result) — the keystone-wired proof that the
command is user-reachable, not just registered on a mock (#1944 AC).

* docs(changeset): pi extension (#1965)

* fix(#1944): add docs-exempt marker to changeset (no standalone docs file)
This commit is contained in:
Tom Boucher
2026-07-02 22:15:25 -04:00
committed by GitHub
parent b51cbf96cf
commit 65071afc3a
3 changed files with 144 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
---
type: Added
pr: 1965
---
<!-- docs-exempt: pi extension is a reference host-plugin module; installation instructions are in the #1944 issue body + ADR-1239 Phase D context. No standalone docs/ file needed. -->
**GSD now ships a pi extension** — a real, jiti-loadable ExtensionAPI module (`pi/gsd.cjs`) that registers `/gsd` (dispatches through the GSD command-routing hub) + `gsd_invoke` tool + `tool_call` event, installable at `~/.pi/agent/extensions/`. A reachability test proves the `/gsd` handler dispatches through the engine (keystone wired, not just registered on a mock). (#1965)