@astralyn/pi 0.82.7 → 0.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +78 -5099
- package/README.md +12 -111
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/register-bedrock.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +28 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +2 -2
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts +23 -0
- package/dist/cli/credential-print.d.ts.map +1 -0
- package/dist/cli/credential-print.js +117 -0
- package/dist/cli/credential-print.js.map +1 -0
- package/dist/cli/experimental/auth.d.ts +16 -0
- package/dist/cli/experimental/auth.d.ts.map +1 -0
- package/dist/cli/experimental/auth.js +13 -0
- package/dist/cli/experimental/auth.js.map +1 -0
- package/dist/cli/experimental/cli.d.ts +6 -0
- package/dist/cli/experimental/cli.d.ts.map +1 -0
- package/dist/cli/experimental/cli.js +5 -0
- package/dist/cli/experimental/cli.js.map +1 -0
- package/dist/cli/experimental/command-options.d.ts +17 -0
- package/dist/cli/experimental/command-options.d.ts.map +1 -0
- package/dist/cli/experimental/command-options.js +35 -0
- package/dist/cli/experimental/command-options.js.map +1 -0
- package/dist/cli/experimental/command.d.ts +63 -0
- package/dist/cli/experimental/command.d.ts.map +1 -0
- package/dist/cli/experimental/command.js +127 -0
- package/dist/cli/experimental/command.js.map +1 -0
- package/dist/cli/experimental/commands/client.d.ts +13 -0
- package/dist/cli/experimental/commands/client.d.ts.map +1 -0
- package/dist/cli/experimental/commands/client.js +25 -0
- package/dist/cli/experimental/commands/client.js.map +1 -0
- package/dist/cli/experimental/commands/pi.d.ts +15 -0
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
- package/dist/cli/experimental/commands/pi.js +28 -0
- package/dist/cli/experimental/commands/pi.js.map +1 -0
- package/dist/cli/experimental/commands/server.d.ts +13 -0
- package/dist/cli/experimental/commands/server.d.ts.map +1 -0
- package/dist/cli/experimental/commands/server.js +25 -0
- package/dist/cli/experimental/commands/server.js.map +1 -0
- package/dist/cli/experimental/transport-address.d.ts +10 -0
- package/dist/cli/experimental/transport-address.d.ts.map +1 -0
- package/dist/cli/experimental/transport-address.js +38 -0
- package/dist/cli/experimental/transport-address.js.map +1 -0
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/initial-message.d.ts +1 -1
- package/dist/cli/initial-message.d.ts.map +1 -1
- package/dist/cli/initial-message.js.map +1 -1
- package/dist/cli/list-models.d.ts +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +2 -2
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/project-trust.d.ts.map +1 -1
- package/dist/cli/project-trust.js.map +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +2 -2
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/remote-session.d.ts +53 -0
- package/dist/client/remote-session.d.ts.map +1 -0
- package/dist/client/remote-session.js +340 -0
- package/dist/client/remote-session.js.map +1 -0
- package/dist/client/transcript.d.ts +12 -0
- package/dist/client/transcript.d.ts.map +1 -0
- package/dist/client/transcript.js +98 -0
- package/dist/client/transcript.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +3 -8
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +1 -0
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +1 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +31 -11
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +189 -192
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage.d.ts +15 -9
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +159 -41
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/cache-stats.d.ts.map +1 -1
- package/dist/core/cache-stats.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js.map +1 -1
- package/dist/core/experimental.d.ts.map +1 -1
- package/dist/core/experimental.js.map +1 -1
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +43 -20
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +3 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +31 -28
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +28 -3
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +10 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +18 -19
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +5 -0
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/keybindings.d.ts +157 -125
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +0 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-config.d.ts +37 -13
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +4 -2
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts +5 -3
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +13 -11
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +4 -3
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +41 -10
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts +30 -13
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +239 -91
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/models-store.d.ts +12 -7
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +84 -16
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager.d.ts +4 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +76 -48
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts +8 -0
- package/dist/core/pi-manifest.d.ts.map +1 -0
- package/dist/core/pi-manifest.js +25 -0
- package/dist/core/pi-manifest.js.map +1 -0
- package/dist/core/project-trust.d.ts.map +1 -1
- package/dist/core/project-trust.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/provider-composer.d.ts +4 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +36 -15
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/radius.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +73 -67
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts +15 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +68 -51
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts +5 -5
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js +12 -10
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js +0 -1
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +10 -12
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +12 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +47 -33
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetry.d.ts.map +1 -1
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +12 -10
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +4 -3
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts +3 -0
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +47 -20
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +12 -18
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +0 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +48 -10
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/extensions/biu/index.d.ts +19 -0
- package/dist/extensions/biu/index.d.ts.map +1 -0
- package/dist/extensions/biu/index.js +350 -0
- package/dist/extensions/biu/index.js.map +1 -0
- package/dist/extensions/biu/prompts.d.ts +26 -0
- package/dist/extensions/biu/prompts.d.ts.map +1 -0
- package/dist/extensions/biu/prompts.js +260 -0
- package/dist/extensions/biu/prompts.js.map +1 -0
- package/dist/extensions/biu/workspace.d.ts +122 -0
- package/dist/extensions/biu/workspace.d.ts.map +1 -0
- package/dist/extensions/biu/workspace.js +404 -0
- package/dist/extensions/biu/workspace.js.map +1 -0
- package/dist/extensions/deepwiki/client.d.ts.map +1 -1
- package/dist/extensions/deepwiki/client.js.map +1 -1
- package/dist/extensions/deepwiki/constants.d.ts.map +1 -1
- package/dist/extensions/deepwiki/constants.js.map +1 -1
- package/dist/extensions/deepwiki/contents.d.ts.map +1 -1
- package/dist/extensions/deepwiki/contents.js.map +1 -1
- package/dist/extensions/deepwiki/execute.d.ts.map +1 -1
- package/dist/extensions/deepwiki/execute.js.map +1 -1
- package/dist/extensions/deepwiki/http.d.ts.map +1 -1
- package/dist/extensions/deepwiki/http.js.map +1 -1
- package/dist/extensions/deepwiki/index.d.ts.map +1 -1
- package/dist/extensions/deepwiki/index.js.map +1 -1
- package/dist/extensions/deepwiki/render.d.ts.map +1 -1
- package/dist/extensions/deepwiki/render.js.map +1 -1
- package/dist/extensions/deepwiki/schema.d.ts +1 -1
- package/dist/extensions/deepwiki/schema.d.ts.map +1 -1
- package/dist/extensions/deepwiki/schema.js.map +1 -1
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +2 -2
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/client.d.ts.map +1 -1
- package/dist/extensions/llama/client.js +0 -2
- package/dist/extensions/llama/client.js.map +1 -1
- package/dist/extensions/llama/huggingface.d.ts.map +1 -1
- package/dist/extensions/llama/huggingface.js +0 -2
- package/dist/extensions/llama/huggingface.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +11 -2
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +22 -8
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/llama/ui.d.ts.map +1 -1
- package/dist/extensions/llama/ui.js +12 -28
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/extensions/question/constants.d.ts.map +1 -1
- package/dist/extensions/question/constants.js.map +1 -1
- package/dist/extensions/question/dialog-primitives.d.ts.map +1 -1
- package/dist/extensions/question/dialog-primitives.js.map +1 -1
- package/dist/extensions/question/dialog.d.ts.map +1 -1
- package/dist/extensions/question/dialog.js.map +1 -1
- package/dist/extensions/question/index.d.ts.map +1 -1
- package/dist/extensions/question/index.js.map +1 -1
- package/dist/extensions/question/limits.d.ts.map +1 -1
- package/dist/extensions/question/render-cache.d.ts.map +1 -1
- package/dist/extensions/question/render-cache.js +3 -4
- package/dist/extensions/question/render-cache.js.map +1 -1
- package/dist/extensions/question/render.d.ts.map +1 -1
- package/dist/extensions/question/render.js.map +1 -1
- package/dist/extensions/question/results.d.ts.map +1 -1
- package/dist/extensions/question/results.js.map +1 -1
- package/dist/extensions/question/schema.d.ts.map +1 -1
- package/dist/extensions/question/schema.js.map +1 -1
- package/dist/extensions/question/state.d.ts.map +1 -1
- package/dist/extensions/question/state.js.map +1 -1
- package/dist/extensions/question/types.d.ts.map +1 -1
- package/dist/extensions/rewind/anchor.d.ts.map +1 -1
- package/dist/extensions/rewind/anchor.js.map +1 -1
- package/dist/extensions/rewind/config.d.ts.map +1 -1
- package/dist/extensions/rewind/config.js.map +1 -1
- package/dist/extensions/rewind/engine.d.ts.map +1 -1
- package/dist/extensions/rewind/engine.js.map +1 -1
- package/dist/extensions/rewind/gc.d.ts.map +1 -1
- package/dist/extensions/rewind/gc.js.map +1 -1
- package/dist/extensions/rewind/index.d.ts.map +1 -1
- package/dist/extensions/rewind/index.js.map +1 -1
- package/dist/extensions/rewind/menu.d.ts.map +1 -1
- package/dist/extensions/rewind/menu.js.map +1 -1
- package/dist/extensions/rewind/paths.d.ts.map +1 -1
- package/dist/extensions/rewind/paths.js.map +1 -1
- package/dist/extensions/rewind/restore.d.ts.map +1 -1
- package/dist/extensions/rewind/restore.js.map +1 -1
- package/dist/extensions/rewind/snapshot.d.ts.map +1 -1
- package/dist/extensions/rewind/snapshot.js.map +1 -1
- package/dist/extensions/rewind/storage.d.ts.map +1 -1
- package/dist/extensions/rewind/storage.js.map +1 -1
- package/dist/extensions/rewind/text.d.ts.map +1 -1
- package/dist/extensions/rewind/text.js.map +1 -1
- package/dist/extensions/rewind/tool-path.d.ts.map +1 -1
- package/dist/extensions/rewind/tool-path.js.map +1 -1
- package/dist/extensions/router/constants.d.ts +3 -0
- package/dist/extensions/router/constants.d.ts.map +1 -1
- package/dist/extensions/router/constants.js +3 -0
- package/dist/extensions/router/constants.js.map +1 -1
- package/dist/extensions/router/dialog.d.ts +14 -7
- package/dist/extensions/router/dialog.d.ts.map +1 -1
- package/dist/extensions/router/dialog.js +70 -132
- package/dist/extensions/router/dialog.js.map +1 -1
- package/dist/extensions/router/index.d.ts.map +1 -1
- package/dist/extensions/router/index.js.map +1 -1
- package/dist/extensions/router/presets.d.ts +8 -3
- package/dist/extensions/router/presets.d.ts.map +1 -1
- package/dist/extensions/router/presets.js +33 -17
- package/dist/extensions/router/presets.js.map +1 -1
- package/dist/extensions/router/probe.d.ts.map +1 -1
- package/dist/extensions/router/probe.js.map +1 -1
- package/dist/extensions/router/register.d.ts +3 -3
- package/dist/extensions/router/register.d.ts.map +1 -1
- package/dist/extensions/router/register.js.map +1 -1
- package/dist/extensions/router/store.d.ts.map +1 -1
- package/dist/extensions/router/store.js.map +1 -1
- package/dist/extensions/router/stream.d.ts.map +1 -1
- package/dist/extensions/router/stream.js.map +1 -1
- package/dist/extensions/router/types.d.ts.map +1 -1
- package/dist/extensions/router/ui.d.ts +11 -2
- package/dist/extensions/router/ui.d.ts.map +1 -1
- package/dist/extensions/router/ui.js +316 -171
- package/dist/extensions/router/ui.js.map +1 -1
- package/dist/extensions/statusline/index.d.ts.map +1 -1
- package/dist/extensions/statusline/index.js +17 -9
- package/dist/extensions/statusline/index.js.map +1 -1
- package/dist/extensions/subagent/activity.d.ts.map +1 -1
- package/dist/extensions/subagent/activity.js.map +1 -1
- package/dist/extensions/subagent/agents.d.ts.map +1 -1
- package/dist/extensions/subagent/agents.js.map +1 -1
- package/dist/extensions/subagent/constants.d.ts.map +1 -1
- package/dist/extensions/subagent/index.d.ts +3 -0
- package/dist/extensions/subagent/index.d.ts.map +1 -1
- package/dist/extensions/subagent/index.js +83 -12
- package/dist/extensions/subagent/index.js.map +1 -1
- package/dist/extensions/subagent/picker.d.ts.map +1 -1
- package/dist/extensions/subagent/picker.js +2 -9
- package/dist/extensions/subagent/picker.js.map +1 -1
- package/dist/extensions/subagent/render.d.ts.map +1 -1
- package/dist/extensions/subagent/render.js +33 -9
- package/dist/extensions/subagent/render.js.map +1 -1
- package/dist/extensions/subagent/resolve.d.ts.map +1 -1
- package/dist/extensions/subagent/resolve.js.map +1 -1
- package/dist/extensions/subagent/retry.d.ts.map +1 -1
- package/dist/extensions/subagent/retry.js.map +1 -1
- package/dist/extensions/subagent/runner.d.ts +2 -1
- package/dist/extensions/subagent/runner.d.ts.map +1 -1
- package/dist/extensions/subagent/runner.js +10 -12
- package/dist/extensions/subagent/runner.js.map +1 -1
- package/dist/extensions/subagent/schema.d.ts.map +1 -1
- package/dist/extensions/subagent/schema.js.map +1 -1
- package/dist/extensions/subagent/sdk-runner.d.ts.map +1 -1
- package/dist/extensions/subagent/sdk-runner.js +41 -1
- package/dist/extensions/subagent/sdk-runner.js.map +1 -1
- package/dist/extensions/subagent/settings.d.ts.map +1 -1
- package/dist/extensions/subagent/settings.js +46 -36
- package/dist/extensions/subagent/settings.js.map +1 -1
- package/dist/extensions/subagent/types.d.ts +0 -1
- package/dist/extensions/subagent/types.d.ts.map +1 -1
- package/dist/extensions/subagent/types.js.map +1 -1
- package/dist/extensions/todo/constants.d.ts.map +1 -1
- package/dist/extensions/todo/constants.js.map +1 -1
- package/dist/extensions/todo/index.d.ts.map +1 -1
- package/dist/extensions/todo/index.js.map +1 -1
- package/dist/extensions/todo/overlay.d.ts.map +1 -1
- package/dist/extensions/todo/overlay.js +6 -10
- package/dist/extensions/todo/overlay.js.map +1 -1
- package/dist/extensions/todo/schema.d.ts +2 -2
- package/dist/extensions/todo/schema.d.ts.map +1 -1
- package/dist/extensions/todo/state.d.ts.map +1 -1
- package/dist/extensions/todo/state.js.map +1 -1
- package/dist/extensions/todo/view.d.ts.map +1 -1
- package/dist/extensions/todo/view.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +57 -5
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/modes/index.d.ts +1 -0
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js +6 -10
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +5 -2
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +13 -11
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +4 -10
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +0 -3
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +1 -3
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +1 -3
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +5 -22
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js +1 -7
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +8 -8
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js +1 -4
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +1 -7
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js +6 -8
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js +0 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +1 -7
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +2 -8
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +1 -9
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +2 -4
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +2 -4
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +3 -9
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
- package/dist/modes/interactive/components/markdown-transform.js +19 -0
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
- package/dist/modes/interactive/components/mermaid.d.ts +11 -0
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
- package/dist/modes/interactive/components/mermaid.js +75 -0
- package/dist/modes/interactive/components/mermaid.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +32 -30
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +3 -11
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +4 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +34 -13
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +35 -60
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +8 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +30 -14
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +0 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +1 -3
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js +0 -2
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +0 -2
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +0 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +18 -36
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tool-group.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-group.js +2 -3
- package/dist/modes/interactive/components/tool-group.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +19 -39
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js +0 -6
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +3 -6
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +3 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +8 -5
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +40 -3
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +46 -4
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +538 -275
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/model-search.d.ts.map +1 -1
- package/dist/modes/interactive/model-search.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +1 -0
- package/dist/modes/interactive/theme/light.json +1 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +3 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +11 -8
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +5 -1
- package/dist/modes/interactive/theme/theme.d.ts +4 -4
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +13 -9
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +28 -0
- package/dist/modes/json-event.d.ts.map +1 -0
- package/dist/modes/json-event.js +12 -0
- package/dist/modes/json-event.js.map +1 -0
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +12 -2
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +5 -4
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +7 -8
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +17 -3
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +11 -9
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.d.ts.map +1 -1
- package/dist/rpc-entry.js +1 -0
- package/dist/rpc-entry.js.map +1 -1
- package/dist/utils/abort.d.ts +5 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +48 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +22 -2
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/coalescing-terminal.d.ts +1 -0
- package/dist/utils/coalescing-terminal.d.ts.map +1 -1
- package/dist/utils/coalescing-terminal.js +16 -8
- package/dist/utils/coalescing-terminal.js.map +1 -1
- package/dist/utils/deprecation.d.ts.map +1 -1
- package/dist/utils/deprecation.js.map +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/fs-watch.d.ts.map +1 -1
- package/dist/utils/fs-watch.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/html.d.ts.map +1 -1
- package/dist/utils/html.js.map +1 -1
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-process.d.ts.map +1 -1
- package/dist/utils/image-process.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts.map +1 -1
- package/dist/utils/image-resize-core.js.map +1 -1
- package/dist/utils/image-resize-worker.d.ts.map +1 -1
- package/dist/utils/image-resize-worker.js.map +1 -1
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/management-http.d.ts +23 -0
- package/dist/utils/management-http.d.ts.map +1 -0
- package/dist/utils/management-http.js +50 -0
- package/dist/utils/management-http.js.map +1 -0
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/paths.d.ts +5 -3
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +25 -4
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/photon.d.ts.map +1 -1
- package/dist/utils/photon.js.map +1 -1
- package/dist/utils/pi-user-agent.d.ts.map +1 -1
- package/dist/utils/pi-user-agent.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts +19 -0
- package/dist/utils/tool-result-images.d.ts.map +1 -0
- package/dist/utils/tool-result-images.js +45 -0
- package/dist/utils/tool-result-images.js.map +1 -0
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +4 -6
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +4 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +20 -2
- package/dist/utils/version-check.js.map +1 -1
- package/dist/utils/windows-self-update.d.ts.map +1 -1
- package/dist/utils/windows-self-update.js.map +1 -1
- package/docs/bundled/README.md +14 -16
- package/docs/bundled/extensions/biu.md +63 -0
- package/docs/bundled/extensions/router.md +20 -14
- package/docs/bundled/extensions/statusline.md +7 -5
- package/docs/bundled/themes.md +1 -1
- package/docs/compaction.md +25 -30
- package/docs/custom-provider.md +303 -467
- package/docs/development.md +83 -0
- package/docs/docs.json +6 -10
- package/docs/extensions.md +139 -119
- package/docs/index.md +18 -74
- package/docs/json.md +40 -15
- package/docs/keybindings.md +38 -10
- package/docs/models.md +210 -150
- package/docs/providers.md +3 -1
- package/docs/quickstart.md +5 -3
- package/docs/rpc.md +177 -134
- package/docs/sdk.md +165 -178
- package/docs/security.md +2 -2
- package/docs/session-format.md +139 -119
- package/docs/settings.md +4 -1
- package/docs/skills.md +0 -1
- package/docs/themes.md +5 -3
- package/docs/tui.md +411 -549
- package/docs/usage.md +11 -11
- package/examples/README.md +6 -1
- package/examples/extensions/README.md +13 -33
- package/examples/extensions/custom-compaction.ts +1 -16
- package/examples/extensions/custom-provider-anthropic/index.ts +11 -4
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -1
- package/examples/extensions/doom-overlay/wad-finder.ts +7 -3
- package/examples/extensions/handoff.ts +2 -11
- package/examples/extensions/qna.ts +3 -7
- package/examples/extensions/summarize.ts +8 -18
- package/examples/extensions/truncated-tool.ts +2 -2
- package/examples/rpc-extension-ui.ts +11 -2
- package/examples/sdk/02-custom-model.ts +1 -2
- package/examples/sdk/09-api-keys-and-oauth.ts +1 -1
- package/examples/sdk/12-full-control.ts +3 -1
- package/examples/sdk/README.md +1 -0
- package/npm-shrinkwrap.json +199 -270
- package/package.json +16 -9
- package/dist/extensions/plan/constants.d.ts +0 -68
- package/dist/extensions/plan/constants.d.ts.map +0 -1
- package/dist/extensions/plan/constants.js +0 -100
- package/dist/extensions/plan/constants.js.map +0 -1
- package/dist/extensions/plan/index.d.ts +0 -30
- package/dist/extensions/plan/index.d.ts.map +0 -1
- package/dist/extensions/plan/index.js +0 -429
- package/dist/extensions/plan/index.js.map +0 -1
- package/dist/extensions/plan/schema.d.ts +0 -20
- package/dist/extensions/plan/schema.d.ts.map +0 -1
- package/dist/extensions/plan/schema.js +0 -13
- package/dist/extensions/plan/schema.js.map +0 -1
- package/dist/extensions/plan/state.d.ts +0 -38
- package/dist/extensions/plan/state.d.ts.map +0 -1
- package/dist/extensions/plan/state.js +0 -96
- package/dist/extensions/plan/state.js.map +0 -1
- package/dist/extensions/plan/storage.d.ts +0 -26
- package/dist/extensions/plan/storage.d.ts.map +0 -1
- package/dist/extensions/plan/storage.js +0 -83
- package/dist/extensions/plan/storage.js.map +0 -1
- package/dist/extensions/plan/view.d.ts +0 -44
- package/dist/extensions/plan/view.d.ts.map +0 -1
- package/dist/extensions/plan/view.js +0 -149
- package/dist/extensions/plan/view.js.map +0 -1
- package/docs/bundled/extensions/README.md +0 -19
- package/docs/bundled/extensions/plan.md +0 -34
- package/examples/extensions/plan-mode/README.md +0 -66
- package/examples/extensions/plan-mode/index.ts +0 -390
- package/examples/extensions/plan-mode/utils.ts +0 -168
package/docs/quickstart.md
CHANGED
|
@@ -4,7 +4,7 @@ This page gets you from install to a useful first pi session.
|
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
Pi is distributed as an npm package
|
|
7
|
+
Pi is distributed as an npm package. Pi requires Node.js >=22.19.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
npm install -g --ignore-scripts @astralyn/pi
|
|
@@ -14,10 +14,10 @@ npm install -g --ignore-scripts @astralyn/pi
|
|
|
14
14
|
|
|
15
15
|
### Uninstall
|
|
16
16
|
|
|
17
|
-
Use the package manager that installed pi
|
|
17
|
+
Use the package manager that installed pi:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
#
|
|
20
|
+
# npm
|
|
21
21
|
npm uninstall -g @astralyn/pi
|
|
22
22
|
|
|
23
23
|
# pnpm
|
|
@@ -100,6 +100,8 @@ Pi loads:
|
|
|
100
100
|
- `~/.pi/agent/AGENTS.md` for global instructions
|
|
101
101
|
- `AGENTS.md` or `CLAUDE.md` from parent directories and the current directory
|
|
102
102
|
|
|
103
|
+
If a directory contains `AGENTS.override.md`, Pi loads it instead of `AGENTS.md` or `CLAUDE.md` from that directory.
|
|
104
|
+
|
|
103
105
|
Restart pi, or run `/reload`, after changing context files.
|
|
104
106
|
|
|
105
107
|
## Common things to try
|
package/docs/rpc.md
CHANGED
|
@@ -59,7 +59,7 @@ With images:
|
|
|
59
59
|
{"type": "prompt", "message": "New instruction", "streamingBehavior": "steer"}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
- `"steer"`: Queue the message
|
|
62
|
+
- `"steer"`: Queue the message during execution; see the [steer command](#steer).
|
|
63
63
|
- `"followUp"`: Wait until the agent finishes. Message is delivered only when agent stops.
|
|
64
64
|
|
|
65
65
|
If the agent is streaming and no `streamingBehavior` is specified, the command returns an error.
|
|
@@ -190,7 +190,7 @@ Response:
|
|
|
190
190
|
}
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
The `model` field is a full [Model](#model) object
|
|
193
|
+
The `model` field is a full [Model](#model) object when one is selected, otherwise it is omitted. The `sessionFile` and `sessionName` fields are also omitted when unavailable; `sessionName` is the display name set via `set_session_name`.
|
|
194
194
|
|
|
195
195
|
#### get_messages
|
|
196
196
|
|
|
@@ -288,6 +288,8 @@ Set the reasoning/thinking level for models that support it.
|
|
|
288
288
|
|
|
289
289
|
Levels: `"off"`, `"minimal"`, `"low"`, `"medium"`, `"high"`, `"xhigh"`, `"max"`
|
|
290
290
|
|
|
291
|
+
The requested level is clamped to one supported by the selected model. Use `get_available_thinking_levels`, `get_state`, or the `thinking_level_changed` event to observe the effective level.
|
|
292
|
+
|
|
291
293
|
`"xhigh"` and `"max"` are exposed only when supported by the selected model. Some models, including GPT-5.6, expose both.
|
|
292
294
|
|
|
293
295
|
Response:
|
|
@@ -408,7 +410,7 @@ Response:
|
|
|
408
410
|
}
|
|
409
411
|
```
|
|
410
412
|
|
|
411
|
-
`estimatedTokensAfter` is a heuristic estimate over the rebuilt message context immediately after compaction, not a provider-exact token count. `usage` reports the LLM call or calls that generated the summary
|
|
413
|
+
`estimatedTokensAfter`, `usage`, and `details` are optional. When present, `estimatedTokensAfter` is a heuristic estimate over the rebuilt message context immediately after compaction, not a provider-exact token count. `usage` reports the LLM call or calls that generated the summary.
|
|
412
414
|
|
|
413
415
|
#### set_auto_compaction
|
|
414
416
|
|
|
@@ -455,13 +457,17 @@ Response:
|
|
|
455
457
|
|
|
456
458
|
#### bash
|
|
457
459
|
|
|
458
|
-
Execute a shell command and
|
|
460
|
+
Execute a shell command and record its output in the session. By default the output is added to LLM context on the next prompt; `excludeFromContext` opts out. Output streams as `bash_execution_update` events while the command runs; the response contains the final result.
|
|
459
461
|
|
|
460
462
|
```json
|
|
461
463
|
{"id": "req-1", "type": "bash", "command": "ls -la"}
|
|
462
464
|
```
|
|
463
465
|
|
|
464
|
-
Include an `id` to associate streamed `bash_execution_update` events with this command.
|
|
466
|
+
Include an `id` to associate streamed `bash_execution_update` events with this command. Set `excludeFromContext: true` to record and return the result without including it in the LLM context:
|
|
467
|
+
|
|
468
|
+
```json
|
|
469
|
+
{"type": "bash", "command": "git status --short", "excludeFromContext": true}
|
|
470
|
+
```
|
|
465
471
|
|
|
466
472
|
Response:
|
|
467
473
|
```json
|
|
@@ -479,7 +485,7 @@ Response:
|
|
|
479
485
|
}
|
|
480
486
|
```
|
|
481
487
|
|
|
482
|
-
If output was truncated,
|
|
488
|
+
If output was truncated, `fullOutputPath` is present with the temporary file path. `exitCode` is omitted when the command was cancelled:
|
|
483
489
|
```json
|
|
484
490
|
{
|
|
485
491
|
"type": "response",
|
|
@@ -497,9 +503,9 @@ If output was truncated, includes `fullOutputPath`:
|
|
|
497
503
|
|
|
498
504
|
**How bash results reach the LLM:**
|
|
499
505
|
|
|
500
|
-
The `bash` command executes immediately and returns a `BashResult`. Internally,
|
|
506
|
+
The `bash` command executes immediately and returns a `BashResult`. Internally, Pi creates and stores a `BashExecutionMessage`.
|
|
501
507
|
|
|
502
|
-
|
|
508
|
+
Unless `excludeFromContext` is `true`, the next `prompt` converts that message to a `UserMessage` for the LLM in this format:
|
|
503
509
|
|
|
504
510
|
````
|
|
505
511
|
Ran `ls -la`
|
|
@@ -510,8 +516,9 @@ drwxr-xr-x ...
|
|
|
510
516
|
````
|
|
511
517
|
|
|
512
518
|
This means:
|
|
513
|
-
1.
|
|
514
|
-
2. Multiple bash commands can be executed before a prompt; all outputs
|
|
519
|
+
1. Unless `excludeFromContext` is `true`, bash output is included in the LLM context on the **next prompt**, not immediately.
|
|
520
|
+
2. Multiple bash commands can be executed before a prompt; all non-excluded outputs are included.
|
|
521
|
+
3. `excludeFromContext` affects only LLM context. The command still returns its result, streams `bash_execution_update`, and is visible through `get_messages`.
|
|
515
522
|
|
|
516
523
|
#### abort_bash
|
|
517
524
|
|
|
@@ -567,7 +574,7 @@ Response:
|
|
|
567
574
|
}
|
|
568
575
|
```
|
|
569
576
|
|
|
570
|
-
`tokens` and `cost` include assistant messages, usage reported by tools, and compaction/branch-summary generation across the full session. `contextUsage` contains the actual current context-window estimate used for compaction and footer display.
|
|
577
|
+
`tokens` and `cost` include assistant messages, usage reported by tools, and compaction/branch-summary generation across the full session. `sessionFile` is omitted when session persistence is disabled. `contextUsage` contains the actual current context-window estimate used for compaction and footer display.
|
|
571
578
|
|
|
572
579
|
`contextUsage` is omitted when no model or context window is available. `contextUsage.tokens` and `contextUsage.percent` are `null` immediately after compaction until a fresh post-compaction assistant response provides valid usage data.
|
|
573
580
|
|
|
@@ -806,9 +813,39 @@ Response:
|
|
|
806
813
|
"success": true,
|
|
807
814
|
"data": {
|
|
808
815
|
"commands": [
|
|
809
|
-
{
|
|
810
|
-
|
|
811
|
-
|
|
816
|
+
{
|
|
817
|
+
"name": "session-name",
|
|
818
|
+
"description": "Set session name",
|
|
819
|
+
"source": "extension",
|
|
820
|
+
"sourceInfo": {
|
|
821
|
+
"path": "/home/user/.pi/agent/extensions/session.ts",
|
|
822
|
+
"source": "auto",
|
|
823
|
+
"scope": "user",
|
|
824
|
+
"origin": "top-level"
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"name": "fix-tests",
|
|
829
|
+
"description": "Fix failing tests",
|
|
830
|
+
"source": "prompt",
|
|
831
|
+
"sourceInfo": {
|
|
832
|
+
"path": "/home/user/myproject/.pi/prompts/fix-tests.md",
|
|
833
|
+
"source": "auto",
|
|
834
|
+
"scope": "project",
|
|
835
|
+
"origin": "top-level"
|
|
836
|
+
}
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
"name": "skill:brave-search",
|
|
840
|
+
"description": "Web search via Brave API",
|
|
841
|
+
"source": "skill",
|
|
842
|
+
"sourceInfo": {
|
|
843
|
+
"path": "/home/user/.pi/agent/skills/brave-search/SKILL.md",
|
|
844
|
+
"source": "auto",
|
|
845
|
+
"scope": "user",
|
|
846
|
+
"origin": "top-level"
|
|
847
|
+
}
|
|
848
|
+
}
|
|
812
849
|
]
|
|
813
850
|
}
|
|
814
851
|
}
|
|
@@ -817,15 +854,10 @@ Response:
|
|
|
817
854
|
Each command has:
|
|
818
855
|
- `name`: Command name (invoke with `/name`)
|
|
819
856
|
- `description`: Human-readable description (optional for extension commands)
|
|
820
|
-
- `source`: What kind of command:
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
- `location`: Where it was loaded from (optional, not present for extensions):
|
|
825
|
-
- `"user"`: User-level (`~/.pi/agent/`)
|
|
826
|
-
- `"project"`: Project-level (`./.pi/agent/`)
|
|
827
|
-
- `"path"`: Explicit path via CLI or settings
|
|
828
|
-
- `path`: Absolute file path to the command source (optional)
|
|
857
|
+
- `source`: What kind of command: `"extension"`, `"prompt"`, or `"skill"`
|
|
858
|
+
- `sourceInfo`: Required [SourceInfo](#sourceinfo) provenance metadata for the resource; it replaces the former flat `location` and `path` fields.
|
|
859
|
+
|
|
860
|
+
Project-local resources use `.pi/extensions/`, `.pi/prompts/`, and `.pi/skills/`; they do not live under `.pi/agent/`.
|
|
829
861
|
|
|
830
862
|
**Note**: Built-in TUI commands (`/settings`, `/hotkeys`, etc.) are not included. They are handled only in interactive mode and would not execute if sent via `prompt`.
|
|
831
863
|
|
|
@@ -850,6 +882,9 @@ Events are streamed to stdout as JSON lines during agent operation. Events do no
|
|
|
850
882
|
| `tool_execution_update` | Tool execution progress (streaming output) |
|
|
851
883
|
| `tool_execution_end` | Tool completes |
|
|
852
884
|
| `queue_update` | Pending steering/follow-up queue changed |
|
|
885
|
+
| `entry_appended` | An extension appended a custom session entry |
|
|
886
|
+
| `session_info_changed` | Session display name changed |
|
|
887
|
+
| `thinking_level_changed` | Effective thinking level changed |
|
|
853
888
|
| `compaction_start` | Compaction begins |
|
|
854
889
|
| `compaction_end` | Compaction completes |
|
|
855
890
|
| `auto_retry_start` | Auto-retry begins (after transient error) |
|
|
@@ -914,17 +949,15 @@ Emitted when a message begins and completes. The `message` field contains an `Ag
|
|
|
914
949
|
|
|
915
950
|
### message_update (Streaming)
|
|
916
951
|
|
|
917
|
-
Emitted during streaming of assistant messages. Contains
|
|
952
|
+
Emitted during streaming of assistant messages. Contains a delta event without a cumulative message snapshot.
|
|
918
953
|
|
|
919
954
|
```json
|
|
920
955
|
{
|
|
921
956
|
"type": "message_update",
|
|
922
|
-
"message": {...},
|
|
923
957
|
"assistantMessageEvent": {
|
|
924
958
|
"type": "text_delta",
|
|
925
959
|
"contentIndex": 0,
|
|
926
|
-
"delta": "Hello "
|
|
927
|
-
"partial": {...}
|
|
960
|
+
"delta": "Hello "
|
|
928
961
|
}
|
|
929
962
|
}
|
|
930
963
|
```
|
|
@@ -933,7 +966,6 @@ The `assistantMessageEvent` field contains one of these delta types:
|
|
|
933
966
|
|
|
934
967
|
| Type | Description |
|
|
935
968
|
|------|-------------|
|
|
936
|
-
| `start` | Message generation started |
|
|
937
969
|
| `text_start` | Text content block started |
|
|
938
970
|
| `text_delta` | Text content chunk |
|
|
939
971
|
| `text_end` | Text content block ended |
|
|
@@ -943,17 +975,21 @@ The `assistantMessageEvent` field contains one of these delta types:
|
|
|
943
975
|
| `toolcall_start` | Tool call started |
|
|
944
976
|
| `toolcall_delta` | Tool call arguments chunk |
|
|
945
977
|
| `toolcall_end` | Tool call ended (includes full `toolCall` object) |
|
|
946
|
-
| `done` | Message complete (reason: `"stop"`, `"length"`, `"toolUse"`) |
|
|
947
|
-
| `error` | Error occurred (reason: `"aborted"`, `"error"`) |
|
|
948
978
|
|
|
949
979
|
Example streaming a text response:
|
|
950
980
|
```json
|
|
951
|
-
{"type":"message_update","
|
|
952
|
-
{"type":"message_update","
|
|
953
|
-
{"type":"message_update","
|
|
954
|
-
{"type":"message_update","
|
|
981
|
+
{"type":"message_update","assistantMessageEvent":{"type":"text_start","contentIndex":0}}
|
|
982
|
+
{"type":"message_update","assistantMessageEvent":{"type":"text_delta","contentIndex":0,"delta":"Hello"}}
|
|
983
|
+
{"type":"message_update","assistantMessageEvent":{"type":"text_delta","contentIndex":0,"delta":" world"}}
|
|
984
|
+
{"type":"message_update","assistantMessageEvent":{"type":"text_end","contentIndex":0,"content":"Hello world"}}
|
|
955
985
|
```
|
|
956
986
|
|
|
987
|
+
`message_update` intentionally omits the former cumulative `message` field and
|
|
988
|
+
`assistantMessageEvent.partial`. Clients that need a live partial message must assemble it
|
|
989
|
+
from `message_start` and subsequent events using `contentIndex`. Treat `message_end.message`
|
|
990
|
+
as authoritative. For tool calls, buffer `toolcall_delta.delta`; `toolcall_end.toolCall`
|
|
991
|
+
contains the completed call.
|
|
992
|
+
|
|
957
993
|
### bash_execution_update
|
|
958
994
|
|
|
959
995
|
Emitted once for each output chunk from a direct `bash` command. `id` matches the command's `id`, allowing clients to associate output with the correct command.
|
|
@@ -981,7 +1017,7 @@ Emitted when a tool begins, streams progress, and completes execution.
|
|
|
981
1017
|
}
|
|
982
1018
|
```
|
|
983
1019
|
|
|
984
|
-
During execution, `tool_execution_update` events
|
|
1020
|
+
During execution, `tool_execution_update` events carry a tool-defined partial result. For the built-in `bash` tool, each nonempty update is an accumulated output snapshot rather than only the newest delta:
|
|
985
1021
|
|
|
986
1022
|
```json
|
|
987
1023
|
{
|
|
@@ -991,7 +1027,7 @@ During execution, `tool_execution_update` events stream partial results (e.g., b
|
|
|
991
1027
|
"args": {"command": "ls -la"},
|
|
992
1028
|
"partialResult": {
|
|
993
1029
|
"content": [{"type": "text", "text": "partial output so far..."}],
|
|
994
|
-
"details": {
|
|
1030
|
+
"details": {}
|
|
995
1031
|
}
|
|
996
1032
|
}
|
|
997
1033
|
```
|
|
@@ -1011,7 +1047,7 @@ When complete:
|
|
|
1011
1047
|
}
|
|
1012
1048
|
```
|
|
1013
1049
|
|
|
1014
|
-
Use `toolCallId` to correlate events. The `partialResult`
|
|
1050
|
+
Use `toolCallId` to correlate events. The `partialResult` shape is tool-defined; built-in bash snapshots can be rendered by replacement, while other tools may use a different shape.
|
|
1015
1051
|
|
|
1016
1052
|
### queue_update
|
|
1017
1053
|
|
|
@@ -1025,6 +1061,28 @@ Emitted whenever the pending steering or follow-up queue changes.
|
|
|
1025
1061
|
}
|
|
1026
1062
|
```
|
|
1027
1063
|
|
|
1064
|
+
### entry_appended / session_info_changed / thinking_level_changed
|
|
1065
|
+
|
|
1066
|
+
These session-state events are also part of `AgentSessionEvent` (see [JSON mode](json.md#event-types)).
|
|
1067
|
+
|
|
1068
|
+
`entry_appended` is emitted when an extension appends a custom session entry:
|
|
1069
|
+
|
|
1070
|
+
```json
|
|
1071
|
+
{"type": "entry_appended", "entry": {"type": "custom", "id": "abc123", "parentId": "def456", "timestamp": "...", "customType": "my-extension", "data": {}}}
|
|
1072
|
+
```
|
|
1073
|
+
|
|
1074
|
+
`session_info_changed` carries the current display name; `name` is omitted when it is undefined:
|
|
1075
|
+
|
|
1076
|
+
```json
|
|
1077
|
+
{"type": "session_info_changed", "name": "my-feature-work"}
|
|
1078
|
+
```
|
|
1079
|
+
|
|
1080
|
+
`thinking_level_changed` carries the effective level after a change or model switch:
|
|
1081
|
+
|
|
1082
|
+
```json
|
|
1083
|
+
{"type": "thinking_level_changed", "level": "high"}
|
|
1084
|
+
```
|
|
1085
|
+
|
|
1028
1086
|
### compaction_start / compaction_end
|
|
1029
1087
|
|
|
1030
1088
|
Emitted when compaction runs, whether manual or automatic.
|
|
@@ -1061,9 +1119,9 @@ The `reason` field is `"manual"`, `"threshold"`, or `"overflow"`.
|
|
|
1061
1119
|
|
|
1062
1120
|
If `reason` was `"overflow"` and compaction succeeds, `willRetry` is `true` and the agent will automatically retry the prompt.
|
|
1063
1121
|
|
|
1064
|
-
If compaction was aborted, `result` is
|
|
1122
|
+
If compaction was aborted, `result` is omitted and `aborted` is `true`.
|
|
1065
1123
|
|
|
1066
|
-
If compaction failed (e.g., API quota exceeded), `result` is
|
|
1124
|
+
If compaction failed (e.g., API quota exceeded), `result` is omitted, `aborted` is `false`, and `errorMessage` contains the error description. `errorMessage` can also accompany a successful result when the retained context remains above the compaction threshold.
|
|
1067
1125
|
|
|
1068
1126
|
### auto_retry_start / auto_retry_end
|
|
1069
1127
|
|
|
@@ -1152,15 +1210,17 @@ There are two categories of extension UI methods:
|
|
|
1152
1210
|
If a dialog method includes a `timeout` field, the agent-side will auto-resolve with a default value when the timeout expires. The client does not need to track timeouts.
|
|
1153
1211
|
|
|
1154
1212
|
Some `ExtensionUIContext` methods are not supported or degraded in RPC mode because they require direct TUI access:
|
|
1155
|
-
- `custom()`
|
|
1156
|
-
- `
|
|
1213
|
+
- `custom()` and `getEditorComponent()` return `undefined`
|
|
1214
|
+
- `onTerminalInput()` returns a no-op unsubscribe function
|
|
1215
|
+
- `addAutocompleteProvider()`, `setWorkingMessage()`, `setWorkingVisible()`, `setWorkingIndicator()`, `setHiddenThinkingLabel()`, `setFooter()`, `setHeader()`, `setEditorComponent()`, and `setToolsExpanded()` are no-ops
|
|
1157
1216
|
- `getEditorText()` returns `""`
|
|
1158
1217
|
- `getToolsExpanded()` returns `false`
|
|
1159
1218
|
- `pasteToEditor()` delegates to `setEditorText()` (no paste/collapse handling)
|
|
1160
|
-
- `getAllThemes()` returns `[]`
|
|
1161
|
-
- `getTheme()` returns `undefined`
|
|
1219
|
+
- `getAllThemes()` returns `[]`; `getTheme()` returns `undefined`
|
|
1162
1220
|
- `setTheme()` returns `{ success: false, error: "..." }`
|
|
1163
1221
|
|
|
1222
|
+
`select()` sends only string labels on the wire. Descriptions supplied through the richer Extension API option objects are not included.
|
|
1223
|
+
|
|
1164
1224
|
Note: `ctx.mode` is `"rpc"` and `ctx.hasUI` is `true` in RPC mode because the dialog and fire-and-forget methods are functional via the extension UI sub-protocol. Use `ctx.mode === "tui"` to guard TUI-specific features like `custom()` that require a real terminal.
|
|
1165
1225
|
|
|
1166
1226
|
### Extension UI Requests (stdout)
|
|
@@ -1182,7 +1242,7 @@ Prompt the user to choose from a list. Dialog methods with a `timeout` field inc
|
|
|
1182
1242
|
}
|
|
1183
1243
|
```
|
|
1184
1244
|
|
|
1185
|
-
Expected response: `extension_ui_response` with `value` (the selected option string) or `cancelled: true`.
|
|
1245
|
+
The `options` array contains string labels. If an extension registered richer select options, their descriptions are not sent over RPC. Expected response: `extension_ui_response` with `value` (the selected option string) or `cancelled: true`.
|
|
1186
1246
|
|
|
1187
1247
|
#### confirm
|
|
1188
1248
|
|
|
@@ -1263,7 +1323,7 @@ Set or clear a status entry in the footer/status bar. Fire-and-forget.
|
|
|
1263
1323
|
}
|
|
1264
1324
|
```
|
|
1265
1325
|
|
|
1266
|
-
|
|
1326
|
+
Omit `statusText` to clear the status entry for that key. JSON has no `undefined` value.
|
|
1267
1327
|
|
|
1268
1328
|
#### setWidget
|
|
1269
1329
|
|
|
@@ -1280,7 +1340,7 @@ Set or clear a widget (block of text lines) displayed above or below the editor.
|
|
|
1280
1340
|
}
|
|
1281
1341
|
```
|
|
1282
1342
|
|
|
1283
|
-
|
|
1343
|
+
Omit `widgetLines` to clear the widget. The `widgetPlacement` field is `"aboveEditor"` (default) or `"belowEditor"`. Only string arrays are supported in RPC mode; component factories are ignored.
|
|
1284
1344
|
|
|
1285
1345
|
#### setTitle
|
|
1286
1346
|
|
|
@@ -1358,9 +1418,48 @@ Parse errors:
|
|
|
1358
1418
|
|
|
1359
1419
|
## Types
|
|
1360
1420
|
|
|
1361
|
-
|
|
1421
|
+
For Node.js and TypeScript clients, the public type exports are the authority rather than copied protocol declarations:
|
|
1362
1422
|
|
|
1363
|
-
|
|
1423
|
+
```typescript
|
|
1424
|
+
import type {
|
|
1425
|
+
AgentSessionEvent,
|
|
1426
|
+
CompactionResult,
|
|
1427
|
+
RpcCommand,
|
|
1428
|
+
RpcExtensionUIRequest,
|
|
1429
|
+
RpcExtensionUIResponse,
|
|
1430
|
+
RpcResponse,
|
|
1431
|
+
RpcSessionState,
|
|
1432
|
+
SessionEntry,
|
|
1433
|
+
SessionTreeNode,
|
|
1434
|
+
SourceInfo,
|
|
1435
|
+
} from "@astralyn/pi";
|
|
1436
|
+
import type { AgentMessage, ThinkingLevel } from "@earendil-works/pi-agent-core";
|
|
1437
|
+
import type { AssistantMessageEvent, ImageContent, Model } from "@earendil-works/pi-ai";
|
|
1438
|
+
```
|
|
1439
|
+
|
|
1440
|
+
`RpcCommand` and `RpcResponse` are discriminated unions for the commands and responses above. `AgentSessionEvent` is the event union also documented in [JSON mode](json.md#event-types). Raw RPC stdout additionally carries `extension_ui_request` and `extension_error` objects; extension UI requests use `RpcExtensionUIRequest`.
|
|
1441
|
+
|
|
1442
|
+
Optional TypeScript properties are omitted in JSON; JSON never represents an omitted property as `undefined`.
|
|
1443
|
+
|
|
1444
|
+
### SourceInfo
|
|
1445
|
+
|
|
1446
|
+
`get_commands` returns `sourceInfo` with this shape:
|
|
1447
|
+
|
|
1448
|
+
```json
|
|
1449
|
+
{
|
|
1450
|
+
"path": "/home/user/myproject/.pi/prompts/fix-tests.md",
|
|
1451
|
+
"source": "auto",
|
|
1452
|
+
"scope": "project",
|
|
1453
|
+
"origin": "top-level",
|
|
1454
|
+
"baseDir": "/home/user/myproject/.pi"
|
|
1455
|
+
}
|
|
1456
|
+
```
|
|
1457
|
+
|
|
1458
|
+
`path`, `source`, `scope`, and `origin` are required. `scope` is `"user"`, `"project"`, or `"temporary"`; `origin` is `"top-level"` or `"package"`; `baseDir` is optional. `source` is a source identifier, not the command kind—use the containing command's `source` field for `"extension"`, `"prompt"`, or `"skill"`.
|
|
1459
|
+
|
|
1460
|
+
### Model and messages
|
|
1461
|
+
|
|
1462
|
+
A `Model` response is a full model object. This example shows its required common fields; optional provider-specific fields, such as `thinkingLevelMap`, `headers`, and `compat`, may also be present:
|
|
1364
1463
|
|
|
1365
1464
|
```json
|
|
1366
1465
|
{
|
|
@@ -1382,72 +1481,17 @@ RPC messages use the public SDK and protocol types documented by this package. T
|
|
|
1382
1481
|
}
|
|
1383
1482
|
```
|
|
1384
1483
|
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
```json
|
|
1388
|
-
{
|
|
1389
|
-
"role": "user",
|
|
1390
|
-
"content": "Hello!",
|
|
1391
|
-
"timestamp": 1733234567890,
|
|
1392
|
-
"attachments": []
|
|
1393
|
-
}
|
|
1394
|
-
```
|
|
1395
|
-
|
|
1396
|
-
The `content` field can be a string or an array of `TextContent`/`ImageContent` blocks.
|
|
1397
|
-
|
|
1398
|
-
### AssistantMessage
|
|
1399
|
-
|
|
1400
|
-
```json
|
|
1401
|
-
{
|
|
1402
|
-
"role": "assistant",
|
|
1403
|
-
"content": [
|
|
1404
|
-
{"type": "text", "text": "Hello! How can I help?"},
|
|
1405
|
-
{"type": "thinking", "thinking": "User is greeting me..."},
|
|
1406
|
-
{"type": "toolCall", "id": "call_123", "name": "bash", "arguments": {"command": "ls"}}
|
|
1407
|
-
],
|
|
1408
|
-
"api": "anthropic-messages",
|
|
1409
|
-
"provider": "anthropic",
|
|
1410
|
-
"model": "claude-sonnet-4-20250514",
|
|
1411
|
-
"usage": {
|
|
1412
|
-
"input": 100,
|
|
1413
|
-
"output": 50,
|
|
1414
|
-
"cacheRead": 0,
|
|
1415
|
-
"cacheWrite": 0,
|
|
1416
|
-
"cost": {"input": 0.0003, "output": 0.00075, "cacheRead": 0, "cacheWrite": 0, "total": 0.00105}
|
|
1417
|
-
},
|
|
1418
|
-
"stopReason": "stop",
|
|
1419
|
-
"timestamp": 1733234567890
|
|
1420
|
-
}
|
|
1421
|
-
```
|
|
1422
|
-
|
|
1423
|
-
Stop reasons: `"stop"`, `"length"`, `"toolUse"`, `"error"`, `"aborted"`
|
|
1424
|
-
|
|
1425
|
-
### ToolResultMessage
|
|
1484
|
+
`AgentMessage` is the standard `UserMessage`, `AssistantMessage`, or `ToolResultMessage` union, plus Pi's session roles. A user message has no `attachments` field: images are `ImageContent` blocks in `content`.
|
|
1426
1485
|
|
|
1427
1486
|
```json
|
|
1428
|
-
{
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
"toolName": "bash",
|
|
1432
|
-
"content": [{"type": "text", "text": "total 48\ndrwxr-xr-x ..."}],
|
|
1433
|
-
"usage": {
|
|
1434
|
-
"input": 100,
|
|
1435
|
-
"output": 50,
|
|
1436
|
-
"cacheRead": 0,
|
|
1437
|
-
"cacheWrite": 0,
|
|
1438
|
-
"totalTokens": 150,
|
|
1439
|
-
"cost": {"input": 0.0003, "output": 0.00075, "cacheRead": 0, "cacheWrite": 0, "total": 0.00105}
|
|
1440
|
-
},
|
|
1441
|
-
"isError": false,
|
|
1442
|
-
"timestamp": 1733234567890
|
|
1443
|
-
}
|
|
1487
|
+
{"role":"user","content":[{"type":"text","text":"Hello!"},{"type":"image","data":"base64-encoded-data","mimeType":"image/png"}],"timestamp":1733234567890}
|
|
1488
|
+
{"role":"assistant","content":[{"type":"text","text":"Hello!"},{"type":"toolCall","id":"call_123","name":"bash","arguments":{"command":"ls"}}],"api":"anthropic-messages","provider":"anthropic","model":"claude-sonnet-4-20250514","usage":{"input":100,"output":50,"cacheRead":0,"cacheWrite":0,"totalTokens":150,"cost":{"input":0.0003,"output":0.00075,"cacheRead":0,"cacheWrite":0,"total":0.00105}},"stopReason":"stop","timestamp":1733234567890}
|
|
1489
|
+
{"role":"toolResult","toolCallId":"call_123","toolName":"bash","content":[{"type":"text","text":"total 48\ndrwxr-xr-x ..."}],"isError":false,"timestamp":1733234567890}
|
|
1444
1490
|
```
|
|
1445
1491
|
|
|
1446
|
-
`
|
|
1492
|
+
Assistant stop reasons are `"stop"`, `"length"`, `"toolUse"`, `"error"`, and `"aborted"`. Tool results can additionally carry `details`, `usage`, and `addedToolNames`; when present, `usage` reports nested LLM work and contributes to session totals.
|
|
1447
1493
|
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
Created by the `bash` RPC command (not by LLM tool calls):
|
|
1494
|
+
The Pi-specific roles are `bashExecution`, `custom`, `branchSummary`, and `compactionSummary`. For example, `bash` creates this message (not an LLM tool result):
|
|
1451
1495
|
|
|
1452
1496
|
```json
|
|
1453
1497
|
{
|
|
@@ -1457,46 +1501,45 @@ Created by the `bash` RPC command (not by LLM tool calls):
|
|
|
1457
1501
|
"exitCode": 0,
|
|
1458
1502
|
"cancelled": false,
|
|
1459
1503
|
"truncated": false,
|
|
1460
|
-
"
|
|
1461
|
-
"
|
|
1504
|
+
"timestamp": 1733234567890,
|
|
1505
|
+
"excludeFromContext": true
|
|
1462
1506
|
}
|
|
1463
1507
|
```
|
|
1464
1508
|
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
```json
|
|
1468
|
-
{
|
|
1469
|
-
"id": "img1",
|
|
1470
|
-
"type": "image",
|
|
1471
|
-
"fileName": "photo.jpg",
|
|
1472
|
-
"mimeType": "image/jpeg",
|
|
1473
|
-
"size": 102400,
|
|
1474
|
-
"content": "base64-encoded-data...",
|
|
1475
|
-
"extractedText": null,
|
|
1476
|
-
"preview": null
|
|
1477
|
-
}
|
|
1478
|
-
```
|
|
1509
|
+
`fullOutputPath` is an optional string on `BashExecutionMessage` and `BashResult`, and `exitCode` is omitted when cancellation leaves it undefined. See [Session Format](session-format.md) for the other Pi-specific message and `SessionEntry` shapes.
|
|
1479
1510
|
|
|
1480
1511
|
## Example: Basic Client (Python)
|
|
1481
1512
|
|
|
1482
1513
|
```python
|
|
1483
|
-
import subprocess
|
|
1484
1514
|
import json
|
|
1515
|
+
import os
|
|
1516
|
+
import subprocess
|
|
1485
1517
|
|
|
1486
1518
|
proc = subprocess.Popen(
|
|
1487
1519
|
["pi", "--mode", "rpc", "--no-session"],
|
|
1488
1520
|
stdin=subprocess.PIPE,
|
|
1489
1521
|
stdout=subprocess.PIPE,
|
|
1490
|
-
text=True
|
|
1491
1522
|
)
|
|
1492
1523
|
|
|
1493
|
-
def send(
|
|
1494
|
-
proc.stdin.write(json.dumps(
|
|
1524
|
+
def send(command):
|
|
1525
|
+
proc.stdin.write((json.dumps(command) + "\n").encode("utf-8"))
|
|
1495
1526
|
proc.stdin.flush()
|
|
1496
1527
|
|
|
1528
|
+
def decode_record(record):
|
|
1529
|
+
if record.endswith(b"\r"):
|
|
1530
|
+
record = record[:-1]
|
|
1531
|
+
return json.loads(record.decode("utf-8"))
|
|
1532
|
+
|
|
1497
1533
|
def read_events():
|
|
1498
|
-
|
|
1499
|
-
|
|
1534
|
+
buffer = b""
|
|
1535
|
+
while chunk := os.read(proc.stdout.fileno(), 4096):
|
|
1536
|
+
buffer += chunk
|
|
1537
|
+
while (newline := buffer.find(b"\n")) != -1:
|
|
1538
|
+
record, buffer = buffer[:newline], buffer[newline + 1:]
|
|
1539
|
+
if record:
|
|
1540
|
+
yield decode_record(record)
|
|
1541
|
+
if buffer:
|
|
1542
|
+
yield decode_record(buffer)
|
|
1500
1543
|
|
|
1501
1544
|
# Send prompt
|
|
1502
1545
|
send({"type": "prompt", "message": "Hello!"})
|
|
@@ -1507,15 +1550,15 @@ for event in read_events():
|
|
|
1507
1550
|
delta = event.get("assistantMessageEvent", {})
|
|
1508
1551
|
if delta.get("type") == "text_delta":
|
|
1509
1552
|
print(delta["delta"], end="", flush=True)
|
|
1510
|
-
|
|
1511
|
-
if event.get("type") == "
|
|
1553
|
+
|
|
1554
|
+
if event.get("type") == "agent_settled":
|
|
1512
1555
|
print()
|
|
1513
1556
|
break
|
|
1514
1557
|
```
|
|
1515
1558
|
|
|
1516
1559
|
## Example: Interactive Client (Node.js)
|
|
1517
1560
|
|
|
1518
|
-
For a
|
|
1561
|
+
For a TUI demonstration of handling extension UI requests, see the published [RPC extension UI example](../examples/rpc-extension-ui.ts), which pairs with the published [RPC demo extension](../examples/extensions/rpc-demo.ts). Use strict JSONL framing such as the reader below in protocol clients. For embedded Node.js or TypeScript clients, use the [public SDK API](sdk.md).
|
|
1519
1562
|
|
|
1520
1563
|
```javascript
|
|
1521
1564
|
const { spawn } = require("child_process");
|