@kata-sh/pi-symphony-extension
Pi extension for launching, attaching to, and monitoring Kata Symphony
Package details
Install @kata-sh/pi-symphony-extension from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@kata-sh/pi-symphony-extension- Package
@kata-sh/pi-symphony-extension- Version
0.1.2- Published
- May 18, 2026
- Downloads
- 44/mo · 44/wk
- Author
- gannonh
- License
- MIT
- Types
- extension
- Size
- 289.2 KB
- Dependencies
- 1 dependency · 4 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@kata-sh/pi-symphony-extension
Pi extension for initializing, launching, attaching to, and monitoring Kata Symphony.
Requirements
- Pi coding agent with extension package support.
symphony >= 2.3.0available through one of the binary resolution paths below.
The extension resolves the Symphony binary in this order:
SYMPHONY_BIN- repo-local
apps/symphony/target/release/symphony symphonyonPATH- previously saved absolute path
- prompted absolute path
Installation
# Latest npm release
pi install npm:@kata-sh/pi-symphony-extension
# Pinned npm release
pi install npm:@kata-sh/pi-symphony-extension@0.1.2
# Latest monorepo git package
pi install git:github.com/gannonh/kata
# Pinned monorepo git package
pi install git:github.com/gannonh/kata@pi-symphony-v0.1.2
Local development
pnpm --dir apps/symphony/pi-extension test
pnpm --dir apps/symphony/pi-extension typecheck
Run it locally with pi -e ./apps/symphony/pi-extension.
Commands through Wave 3
/symphony:help/symphony:init [--force]/symphony:doctor [workflow]/symphony:start [workflow]/symphony:attach [url]/symphony:detach/symphony:console/symphony:status/symphony:refresh/symphony:steer <ISSUE> <instruction>/symphony:stop
Console keys through Wave 3
↑/↓selects running workers, retry entries, blocked issues, completed issues, and pending escalations.rrequests an immediate Symphony refresh and reloads state.sprompts for a steer instruction when the selected item is a running worker.eprompts for a response when the selected item is a pending escalation. Valid JSON is sent as JSON; other input is sent as a string response.dtoggles selected-item details.qor Escape closes the console and leaves Symphony running.
Progress feedback
Commands that can take a few seconds show Pi-native progress feedback while they run:
/symphony:refresh,/symphony:attach [url], and/symphony:stopuse inline working text plus the Symphony footer status./symphony:start,/symphony:init, and/symphony:doctoruse a blocking loader panel.- Symphony tools emit partial progress updates before returning their final result.
Slice 1 verification
Verified commands:
/symphony:help
/symphony:status
Package checks:
pnpm --dir apps/symphony/pi-extension test
pnpm --dir apps/symphony/pi-extension typecheck
Wave 3 manual verification
Start Pi with the local extension:
pi -e ./apps/symphony/pi-extensionExpected: Pi starts with Symphony commands available.
Start or attach to a Symphony server:
Start path:
/symphony:start .symphony/WORKFLOW.mdExpected: Symphony starts, the console opens, and the status block shows the attached base URL.
Attach path:
/symphony:attach http://127.0.0.1:<port> /symphony:consoleExpected: attach updates the Symphony attachment, then
/symphony:consoleopens the console with the attached base URL in the status block.Create or use a Symphony state with at least one retry entry, blocked issue, completed issue, and pending escalation.
For deterministic local testing, start the Wave 3 mock server in another terminal:
pnpm --dir apps/symphony/pi-extension run mock:wave3Then attach Pi to the printed URL:
/symphony:attach http://127.0.0.1:8787 /symphony:consoleExpected: the console shows
Retry Queue,Blocked Issues,Completed Issues, andPending Escalationssections.Use
↑/↓to select each Wave 3 item type.Expected: the detail panel shows running, retry, blocked, completed, and escalation-specific fields.
Select a pending escalation, press
e, and enter{"approved":true}.Expected: Pi reports
Escalation response sent for <request_id>and the console refreshes.Watch recent events after escalation creation and response.
Expected with a real or event-capable Symphony server: escalation lifecycle events appear in the
Eventssection. The Wave 3 mock server supports state, refresh, steer, and escalation response checks, but it does not expose/api/v1/events.