pi-namespace-patch 0.87.1-namespace.1 → 1.0.0-namespace.2
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 +183 -0
- package/README.md +100 -25
- package/dist/bun/cli.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/bun/runtime-setup.d.ts.map +1 -1
- package/dist/bun/runtime-setup.js +4 -1
- package/dist/bun/runtime-setup.js.map +1 -1
- package/dist/bun/sandbox-env-setup.d.ts.map +1 -1
- package/dist/bundle/chunks/anthropic-messages-UID2PALB.js +6 -0
- package/dist/bundle/chunks/anthropic.js +2 -2
- package/dist/bundle/chunks/azure-openai-responses-AFMVM6NP.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +2 -2
- package/dist/bundle/chunks/chunk-2KTBZM5G.js +132 -0
- package/dist/bundle/chunks/{chunk-WIUZI2CJ.js → chunk-2VNGUWBO.js} +3 -3
- package/dist/bundle/chunks/{chunk-FUXEF6JQ.js → chunk-3LH3ZQKY.js} +1 -1
- package/dist/bundle/chunks/chunk-4N5K4RKC.js +1204 -0
- package/dist/bundle/chunks/chunk-6D7LHLKG.js +2 -0
- package/dist/bundle/chunks/chunk-7FH3BDRG.js +82 -0
- package/dist/bundle/chunks/chunk-7JGR3GZN.js +11 -0
- package/dist/bundle/chunks/chunk-H3QXYIF7.js +31 -0
- package/dist/bundle/chunks/chunk-IBCPYVFK.js +19 -0
- package/dist/bundle/chunks/chunk-KDN6RCEQ.js +4 -0
- package/dist/bundle/chunks/chunk-LD2P6SFZ.js +2 -0
- package/dist/bundle/chunks/chunk-LTXEMVMA.js +127 -0
- package/dist/bundle/chunks/chunk-MJOHEBV7.js +2 -0
- package/dist/bundle/chunks/chunk-OSKPX3Z5.js +2 -0
- package/dist/bundle/chunks/chunk-PRD6WYBT.js +16 -0
- package/dist/bundle/chunks/{chunk-XDUWOHPL.js → chunk-S3GGRYIO.js} +2 -2
- package/dist/bundle/chunks/chunk-UTB4DTYQ.js +2 -0
- package/dist/bundle/chunks/chunk-VIV3CWXG.js +2 -0
- package/dist/bundle/chunks/cli-QOMC26IJ.js +51 -0
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-NPQN263E.js +2 -0
- package/dist/bundle/chunks/codemode-worker.js +354 -0
- package/dist/bundle/chunks/execute-GVRSEGHL.js +367 -0
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/google-generative-ai-APTPZOQL.js +2 -0
- package/dist/bundle/chunks/google-vertex-MXCOSOY3.js +2 -0
- package/dist/bundle/chunks/{lib-HGQMNYVT.js → lib-TEDK3E5I.js} +2 -2
- package/dist/bundle/chunks/llama-cpp-classify-XT44PI3C.js +22 -0
- package/dist/bundle/chunks/mistral-conversations-DKVFNQL6.js +5 -0
- package/dist/bundle/chunks/openai-chatgpt.js +75 -0
- package/dist/bundle/chunks/{openai-codex-responses-QDSOTBBO.js → openai-codex-responses-GK67DQQJ.js} +2 -2
- package/dist/bundle/chunks/openai-codex.js +2 -2
- package/dist/bundle/chunks/{openai-completions-OBX42CLD.js → openai-completions-JXDDPZ23.js} +2 -2
- package/dist/bundle/chunks/openai-responses-CQDDLDQF.js +3 -0
- package/dist/bundle/chunks/{openrouter-images-N4XVVFSD.js → openrouter-images-ZVXWCSIM.js} +1 -1
- package/dist/bundle/chunks/openrouter.js +2 -2
- package/dist/bundle/chunks/pi-logo-animation-MPKZE4EK.js +2 -0
- package/dist/bundle/chunks/{pi-messages-GFKBWJHZ.js → pi-messages-TM5SOOIW.js} +2 -2
- package/dist/bundle/chunks/radius.js +2 -2
- package/dist/bundle/chunks/runtime-2SO2JDWM.js +2 -0
- package/dist/bundle/chunks/typesafe-system-one-A4CZTQWZ.js +2 -0
- package/dist/bundle/chunks/virtual-modules-3THEGRQQ.js +2 -0
- package/dist/bundle/cli-runtime.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +6 -5
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts.map +1 -1
- package/dist/cli/auth-check.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js.map +1 -1
- 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.map +1 -1
- 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/setup.d.ts.map +1 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +38 -30
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/config.d.ts +15 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +33 -4
- 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 +1 -1
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +13 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +150 -12
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +560 -263
- 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.map +1 -1
- 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/bug-report-upload.d.ts.map +1 -1
- package/dist/core/bug-report-upload.js.map +1 -1
- package/dist/core/bug-report.d.ts +1 -1
- package/dist/core/bug-report.d.ts.map +1 -1
- package/dist/core/bug-report.js +1 -1
- package/dist/core/bug-report.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/cache-warmer.d.ts.map +1 -1
- package/dist/core/cache-warmer.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 +1 -22
- 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 +2 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js +25 -18
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/crash-log.d.ts.map +1 -1
- package/dist/core/crash-log.js +2 -1
- package/dist/core/crash-log.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/template.css +10 -0
- package/dist/core/export-html/template.js +66 -17
- 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/jiti-loader.d.ts.map +1 -1
- package/dist/core/extensions/jiti-static-loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +67 -5
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +18 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +99 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +301 -22
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.d.ts +2 -2
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js +3 -3
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/keybindings.d.ts +1 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +1 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/mcp-servers.d.ts +125 -0
- package/dist/core/mcp-servers.d.ts.map +1 -0
- package/dist/core/mcp-servers.js +198 -0
- package/dist/core/mcp-servers.js.map +1 -0
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts +15 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +29 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +2 -2
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +5 -5
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts +47 -3
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +189 -35
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/nested-tool-calls.d.ts +102 -0
- package/dist/core/nested-tool-calls.d.ts.map +1 -0
- package/dist/core/nested-tool-calls.js +178 -0
- package/dist/core/nested-tool-calls.js.map +1 -0
- 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 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +59 -12
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js.map +1 -1
- 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 +40 -21
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +92 -40
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/radius.d.ts +2 -0
- package/dist/core/radius.d.ts.map +1 -1
- package/dist/core/radius.js +2 -0
- package/dist/core/radius.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts +8 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +21 -11
- 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 +7 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +161 -35
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/sdk.d.ts +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +25 -6
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/session-export.d.ts.map +1 -1
- package/dist/core/session-export.js.map +1 -1
- package/dist/core/session-manager.d.ts +9 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +22 -22
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts.map +1 -1
- package/dist/core/settings-diagnostics.js.map +1 -1
- package/dist/core/settings-manager.d.ts +36 -4
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +75 -4
- 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 +8 -0
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js +16 -0
- 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 +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 +12 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +33 -2
- 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.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.map +1 -1
- 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 +11 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +36 -0
- 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/powershell.d.ts.map +1 -1
- package/dist/core/tools/powershell.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +6 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +26 -0
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/renderers/bash.d.ts.map +1 -1
- package/dist/core/tools/renderers/bash.js +11 -32
- package/dist/core/tools/renderers/bash.js.map +1 -1
- package/dist/core/tools/renderers/edit.d.ts.map +1 -1
- package/dist/core/tools/renderers/edit.js.map +1 -1
- package/dist/core/tools/renderers/find.d.ts.map +1 -1
- package/dist/core/tools/renderers/find.js.map +1 -1
- package/dist/core/tools/renderers/grep.d.ts.map +1 -1
- package/dist/core/tools/renderers/grep.js.map +1 -1
- package/dist/core/tools/renderers/index.d.ts.map +1 -1
- package/dist/core/tools/renderers/index.js.map +1 -1
- package/dist/core/tools/renderers/ls.d.ts.map +1 -1
- package/dist/core/tools/renderers/ls.js.map +1 -1
- package/dist/core/tools/renderers/read.d.ts.map +1 -1
- package/dist/core/tools/renderers/read.js +3 -2
- package/dist/core/tools/renderers/read.js.map +1 -1
- package/dist/core/tools/renderers/write.d.ts.map +1 -1
- package/dist/core/tools/renderers/write.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +5 -3
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +3 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/truncate.d.ts +14 -0
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js +29 -0
- 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.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +1 -0
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/usage-totals.d.ts +2 -0
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js +23 -0
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/core/virtual-models.d.ts +117 -0
- package/dist/core/virtual-models.d.ts.map +1 -0
- package/dist/core/virtual-models.js +124 -0
- package/dist/core/virtual-models.js.map +1 -0
- package/dist/extensions/codemode/execute.d.ts +16 -0
- package/dist/extensions/codemode/execute.d.ts.map +1 -0
- package/dist/extensions/codemode/execute.js +536 -0
- package/dist/extensions/codemode/execute.js.map +1 -0
- package/dist/extensions/codemode/execute.lazy.d.ts +3 -0
- package/dist/extensions/codemode/execute.lazy.d.ts.map +1 -0
- package/dist/extensions/codemode/execute.lazy.js +3 -0
- package/dist/extensions/codemode/execute.lazy.js.map +1 -0
- package/dist/extensions/codemode/index.d.ts +21 -0
- package/dist/extensions/codemode/index.d.ts.map +1 -0
- package/dist/extensions/codemode/index.js +31 -0
- package/dist/extensions/codemode/index.js.map +1 -0
- package/dist/extensions/codemode/renderer.d.ts +12 -0
- package/dist/extensions/codemode/renderer.d.ts.map +1 -0
- package/dist/extensions/codemode/renderer.js +137 -0
- package/dist/extensions/codemode/renderer.js.map +1 -0
- package/dist/extensions/codemode/tool.d.ts +123 -0
- package/dist/extensions/codemode/tool.d.ts.map +1 -0
- package/dist/extensions/codemode/tool.js +268 -0
- package/dist/extensions/codemode/tool.js.map +1 -0
- package/dist/extensions/codemode/worker.d.ts +7 -0
- package/dist/extensions/codemode/worker.d.ts.map +1 -0
- package/dist/extensions/codemode/worker.js +7 -0
- package/dist/extensions/codemode/worker.js.map +1 -0
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js +11 -1
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/client.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +65 -13
- 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.map +1 -1
- package/dist/extensions/mcp/cli.d.ts +21 -0
- package/dist/extensions/mcp/cli.d.ts.map +1 -0
- package/dist/extensions/mcp/cli.js +500 -0
- package/dist/extensions/mcp/cli.js.map +1 -0
- package/dist/extensions/mcp/cli.lazy.d.ts +3 -0
- package/dist/extensions/mcp/cli.lazy.d.ts.map +1 -0
- package/dist/extensions/mcp/cli.lazy.js +3 -0
- package/dist/extensions/mcp/cli.lazy.js.map +1 -0
- package/dist/extensions/mcp/config.d.ts +72 -0
- package/dist/extensions/mcp/config.d.ts.map +1 -0
- package/dist/extensions/mcp/config.js +158 -0
- package/dist/extensions/mcp/config.js.map +1 -0
- package/dist/extensions/mcp/index.d.ts +76 -0
- package/dist/extensions/mcp/index.d.ts.map +1 -0
- package/dist/extensions/mcp/index.js +1066 -0
- package/dist/extensions/mcp/index.js.map +1 -0
- package/dist/extensions/mcp/log.d.ts +16 -0
- package/dist/extensions/mcp/log.d.ts.map +1 -0
- package/dist/extensions/mcp/log.js +66 -0
- package/dist/extensions/mcp/log.js.map +1 -0
- package/dist/extensions/mcp/oauth.d.ts +97 -0
- package/dist/extensions/mcp/oauth.d.ts.map +1 -0
- package/dist/extensions/mcp/oauth.js +358 -0
- package/dist/extensions/mcp/oauth.js.map +1 -0
- package/dist/extensions/mcp/resources.d.ts +43 -0
- package/dist/extensions/mcp/resources.d.ts.map +1 -0
- package/dist/extensions/mcp/resources.js +262 -0
- package/dist/extensions/mcp/resources.js.map +1 -0
- package/dist/extensions/mcp/runtime.d.ts +98 -0
- package/dist/extensions/mcp/runtime.d.ts.map +1 -0
- package/dist/extensions/mcp/runtime.js +395 -0
- package/dist/extensions/mcp/runtime.js.map +1 -0
- package/dist/extensions/mcp/runtime.lazy.d.ts +3 -0
- package/dist/extensions/mcp/runtime.lazy.d.ts.map +1 -0
- package/dist/extensions/mcp/runtime.lazy.js +3 -0
- package/dist/extensions/mcp/runtime.lazy.js.map +1 -0
- package/dist/extensions/mcp/tools.d.ts +84 -0
- package/dist/extensions/mcp/tools.d.ts.map +1 -0
- package/dist/extensions/mcp/tools.js +251 -0
- package/dist/extensions/mcp/tools.js.map +1 -0
- package/dist/extensions/mcp/ui.d.ts +60 -0
- package/dist/extensions/mcp/ui.d.ts.map +1 -0
- package/dist/extensions/mcp/ui.js +174 -0
- package/dist/extensions/mcp/ui.js.map +1 -0
- package/dist/extensions/tool-search/index.d.ts +12 -0
- package/dist/extensions/tool-search/index.d.ts.map +1 -0
- package/dist/extensions/tool-search/index.js +15 -0
- package/dist/extensions/tool-search/index.js.map +1 -0
- package/dist/extensions/tool-search/tool.d.ts +73 -0
- package/dist/extensions/tool-search/tool.d.ts.map +1 -0
- package/dist/extensions/tool-search/tool.js +189 -0
- package/dist/extensions/tool-search/tool.js.map +1 -0
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +16 -0
- 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.map +1 -1
- package/dist/modes/interactive/bug-report.d.ts.map +1 -1
- package/dist/modes/interactive/bug-report.js.map +1 -1
- package/dist/modes/interactive/chat-viewport.d.ts.map +1 -1
- package/dist/modes/interactive/chat-viewport.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- 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.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.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +13 -3
- 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.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- 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.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.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.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts +4 -4
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +8 -2
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +7 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +43 -3
- 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.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +8 -2
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +24 -21
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/pi-logo-animation.d.ts +68 -0
- package/dist/modes/interactive/components/pi-logo-animation.d.ts.map +1 -0
- package/dist/modes/interactive/components/pi-logo-animation.js +1086 -0
- package/dist/modes/interactive/components/pi-logo-animation.js.map +1 -0
- package/dist/modes/interactive/components/pi-logo-animation.lazy.d.ts +7 -0
- package/dist/modes/interactive/components/pi-logo-animation.lazy.d.ts.map +1 -0
- package/dist/modes/interactive/components/pi-logo-animation.lazy.js +12 -0
- package/dist/modes/interactive/components/pi-logo-animation.lazy.js.map +1 -0
- package/dist/modes/interactive/components/pi-logo.d.ts +19 -0
- package/dist/modes/interactive/components/pi-logo.d.ts.map +1 -0
- package/dist/modes/interactive/components/pi-logo.js +37 -0
- package/dist/modes/interactive/components/pi-logo.js.map +1 -0
- package/dist/modes/interactive/components/radius-login-selector.d.ts +15 -0
- package/dist/modes/interactive/components/radius-login-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/radius-login-selector.js +85 -0
- package/dist/modes/interactive/components/radius-login-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +6 -4
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +33 -11
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.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.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.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/modes/interactive/components/themed-text.d.ts +17 -0
- package/dist/modes/interactive/components/themed-text.d.ts.map +1 -0
- package/dist/modes/interactive/components/themed-text.js +29 -0
- package/dist/modes/interactive/components/themed-text.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -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 +2 -2
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- 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.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.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +5 -4
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts +27 -3
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js +39 -6
- 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.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +21 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +348 -197
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.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/session-share.d.ts.map +1 -1
- package/dist/modes/interactive/session-share.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +59 -72
- package/dist/modes/interactive/theme/light.json +57 -69
- package/dist/modes/interactive/theme/system-theme.d.ts +55 -0
- package/dist/modes/interactive/theme/system-theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/system-theme.js +546 -0
- package/dist/modes/interactive/theme/system-theme.js.map +1 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts +46 -6
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +127 -47
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-json.d.ts +1 -0
- package/dist/modes/interactive/theme/theme-json.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-json.js +3 -1
- package/dist/modes/interactive/theme/theme-json.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +7 -2
- package/dist/modes/interactive/theme/theme.d.ts +66 -39
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +238 -317
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/tui-renderer.d.ts +2 -1
- package/dist/modes/interactive/tui-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/tui-renderer.js +1 -0
- package/dist/modes/interactive/tui-renderer.js.map +1 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- 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 +6 -6
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +12 -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 +7 -9
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +10 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +6 -2
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.d.ts.map +1 -1
- package/dist/rpc-entry.js.map +1 -1
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js.map +1 -1
- 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-command.d.ts.map +1 -1
- package/dist/utils/clipboard-command.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +14 -17
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +5 -0
- package/dist/utils/clipboard.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.map +1 -1
- package/dist/utils/management-http.js.map +1 -1
- 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 +3 -3
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +5 -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 +1 -3
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +3 -30
- 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 +2 -0
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/text.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts.map +1 -1
- package/dist/utils/tool-result-images.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- 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/dist/utils/wsl.d.ts.map +1 -1
- package/dist/utils/wsl.js.map +1 -1
- package/dist/utils/zip.d.ts.map +1 -1
- package/dist/utils/zip.js.map +1 -1
- package/docs/cli.md +58 -7
- package/docs/codemode.md +207 -0
- package/docs/configuration.md +2 -0
- package/docs/custom-provider.md +43 -4
- package/docs/docs.json +13 -1
- package/docs/environment-variables.md +2 -2
- package/docs/extensions.md +55 -0
- package/docs/index.md +1 -1
- package/docs/keybindings.md +1 -1
- package/docs/llama-cpp.md +13 -0
- package/docs/mcp.md +248 -0
- package/docs/models.md +57 -1
- package/docs/packages.md +4 -2
- package/docs/providers.md +19 -6
- package/docs/rpc-commands.md +9 -3
- package/docs/rpc.md +3 -1
- package/docs/sdk.md +8 -3
- package/docs/security.md +2 -0
- package/docs/session-format.md +5 -1
- package/docs/settings.md +24 -5
- package/docs/themes.md +33 -7
- package/docs/tui.md +18 -0
- package/docs/usage.md +1 -1
- package/docs/virtual-models.md +114 -0
- package/docs/windows.md +2 -0
- package/examples/README.md +1 -1
- package/examples/extensions/README.md +2 -0
- package/examples/extensions/built-in-tool-renderer.ts +16 -40
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +5 -5
- package/examples/extensions/debug-provider.ts +90 -0
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/jev-router.ts +113 -0
- package/examples/extensions/minimal-mode.ts +24 -96
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/rpc-client.ts +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/14-codemode-mcp.ts +61 -0
- package/examples/sdk/README.md +2 -1
- package/npm-shrinkwrap.json +88 -43
- package/package.json +14 -12
- package/dist/bundle/chunks/anthropic-messages-J5WXPPPC.js +0 -6
- package/dist/bundle/chunks/azure-openai-responses-HUSQ3GP2.js +0 -2
- package/dist/bundle/chunks/chunk-6R7UI4IY.js +0 -2
- package/dist/bundle/chunks/chunk-FN7P5NHX.js +0 -1568
- package/dist/bundle/chunks/chunk-NUHFSC37.js +0 -25
- package/dist/bundle/chunks/chunk-RCZIEVGO.js +0 -11
- package/dist/bundle/chunks/chunk-S7SZN6Z3.js +0 -2
- package/dist/bundle/chunks/chunk-UXY3GQU2.js +0 -2
- package/dist/bundle/chunks/chunk-XNGRGP62.js +0 -2
- package/dist/bundle/chunks/google-generative-ai-IMS5EK2Y.js +0 -2
- package/dist/bundle/chunks/google-vertex-O4YJEQUW.js +0 -2
- package/dist/bundle/chunks/mistral-conversations-NOSQHBEY.js +0 -5
- package/dist/bundle/chunks/openai-responses-HWEUZ6WZ.js +0 -2
- package/dist/bundle/chunks/virtual-modules-WS3GCBF2.js +0 -2
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* - Register commands, keyboard shortcuts, and CLI flags
|
|
8
8
|
* - Interact with the user via UI primitives
|
|
9
9
|
*/
|
|
10
|
-
import type { AgentMessage, AgentToolResult, AgentToolUpdateCallback, ThinkingLevel, ToolExecutionMode } from "@earendil-works/pi-agent-core";
|
|
11
|
-
import type { Api, AssistantMessageEvent, AssistantMessageEventStream, ConstrainedSamplingConfig, ImageContent, Message, Model, OAuthCredentials, OAuthLoginCallbacks, Provider, ProviderHeaders, RefreshModelsContext, SimpleStreamOptions, TextContent, ToolResultMessage, TranscriptContext, Usage } from "@earendil-works/pi-ai";
|
|
10
|
+
import type { AgentMessage, AgentTool, AgentToolCallOutcome, AgentToolResult, AgentToolUpdateCallback, ThinkingLevel, ToolExecutionMode } from "@earendil-works/pi-agent-core";
|
|
11
|
+
import type { AnyModel, Api, AssistantMessageEvent, AssistantMessageEventStream, ClassifierApi, ConstrainedSamplingConfig, ImageApi, ImageContent, JsonValue, Message, Model, OAuthCredentials, OAuthLoginCallbacks, Provider, ProviderClassifier, ProviderHeaders, ProviderId, ProviderImages, RefreshModelsContext, SimpleStreamOptions, TextContent, ToolResultMessage, TranscriptContext, Usage } from "@earendil-works/pi-ai";
|
|
12
12
|
import type { AutocompleteItem, AutocompleteProvider, Component, EditorComponent, EditorTheme, KeyId, OverlayHandle, OverlayOptions, TUI } from "@earendil-works/pi-tui";
|
|
13
13
|
import type { Static, TSchema } from "typebox";
|
|
14
14
|
import type { Theme } from "../../modes/interactive/theme/theme.ts";
|
|
@@ -19,16 +19,19 @@ import type { EventBus } from "../event-bus.ts";
|
|
|
19
19
|
import type { ExecOptions, ExecResult } from "../exec.ts";
|
|
20
20
|
import type { ReadonlyFooterDataProvider } from "../footer-data-provider.ts";
|
|
21
21
|
import type { KeybindingsManager } from "../keybindings.ts";
|
|
22
|
+
import type { McpServerConfig, McpServerRegistry, RegisteredMcpServer } from "../mcp-servers.ts";
|
|
22
23
|
import type { CustomMessage } from "../messages.ts";
|
|
23
24
|
import type { ModelRegistry } from "../model-registry.ts";
|
|
24
25
|
import type { ScopedModel } from "../model-resolver.ts";
|
|
25
26
|
import type { BranchSummaryEntry, CompactionEntry, ContextEditEntry, CustomEntry, ProjectedSessionEntry, ReadonlySessionManager, SessionEntry, SessionManager } from "../session-manager.ts";
|
|
27
|
+
import type { Settings } from "../settings-manager.ts";
|
|
26
28
|
import type { SlashCommandInfo } from "../slash-commands.ts";
|
|
27
29
|
import type { SourceInfo } from "../source-info.ts";
|
|
28
30
|
import type { BuildSystemPromptOptions, NormalizedBuildSystemPromptOptions } from "../system-prompt.ts";
|
|
29
31
|
import type { BashOperations } from "../tools/bash.ts";
|
|
30
32
|
import type { EditToolDetails } from "../tools/edit.ts";
|
|
31
33
|
import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, PowerShellToolDetails, PowerShellToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
|
|
34
|
+
import type { ModelRoute, ModelRouteRequest, VirtualModelDefinition } from "../virtual-models.ts";
|
|
32
35
|
export type { ExecOptions, ExecResult } from "../exec.ts";
|
|
33
36
|
export type { BuildSystemPromptOptions, NormalizedBuildSystemPromptOptions } from "../system-prompt.ts";
|
|
34
37
|
export type { AgentToolResult, AgentToolUpdateCallback, ToolExecutionMode };
|
|
@@ -248,6 +251,34 @@ export interface ExtensionContext {
|
|
|
248
251
|
/** Get the current effective system prompt. */
|
|
249
252
|
getSystemPrompt(): string;
|
|
250
253
|
}
|
|
254
|
+
/** Options for {@link ExtensionToolContext.executeTool}. */
|
|
255
|
+
export interface ExecuteToolOptions {
|
|
256
|
+
/** Defaults to the calling tool's signal. */
|
|
257
|
+
signal?: AbortSignal;
|
|
258
|
+
/** Receives partial results of the nested tool, in addition to `tool_execution_update` events. */
|
|
259
|
+
onUpdate?: AgentToolUpdateCallback;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Context passed to tool `execute()` in a session: the extension context plus `executeTool()`
|
|
263
|
+
* for running other tools through the same validation, hooks, and permission checks as
|
|
264
|
+
* model-issued calls.
|
|
265
|
+
*
|
|
266
|
+
* A tool wrapped with `wrapToolDefinition()` without a context factory, such as a built-in tool
|
|
267
|
+
* created with `createBashTool()` and run in a plain `Agent` or called directly, gets no context.
|
|
268
|
+
*/
|
|
269
|
+
export interface ExtensionToolContext extends ExtensionContext {
|
|
270
|
+
/** Tools {@link executeTool} can call. */
|
|
271
|
+
readonly tools: readonly AgentTool[];
|
|
272
|
+
/**
|
|
273
|
+
* Run another tool. The call gets the id `<calling id>/<n>`, and the `tool_call`, `tool_result`,
|
|
274
|
+
* and `tool_execution_*` events carry `parentToolCallId`. It does not appear in the transcript;
|
|
275
|
+
* a bounded record of it is kept as `nestedCalls` on the calling tool's result message.
|
|
276
|
+
*
|
|
277
|
+
* Never rejects for tool failures: unknown tools, validation errors, blocked calls, and thrown
|
|
278
|
+
* errors come back as `isError: true`.
|
|
279
|
+
*/
|
|
280
|
+
executeTool(name: string, args: unknown, options?: ExecuteToolOptions): Promise<AgentToolCallOutcome>;
|
|
281
|
+
}
|
|
251
282
|
/**
|
|
252
283
|
* Extended context for command handlers.
|
|
253
284
|
* Includes session control methods only safe in user-initiated commands.
|
|
@@ -339,6 +370,69 @@ export interface ToolRenderContext<TState = any, TArgs = any> {
|
|
|
339
370
|
/** Whether the current result is an error. */
|
|
340
371
|
isError: boolean;
|
|
341
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* How the model reaches a tool. "Callable" means callable from other tools through
|
|
375
|
+
* `ctx.executeTool()`, as the `codemode` tool does.
|
|
376
|
+
*
|
|
377
|
+
* - `direct`: declared to the model while active, and callable while active.
|
|
378
|
+
* - `model-only`: declared to the model while active, never callable. Use it for orchestrating or
|
|
379
|
+
* interactive tools.
|
|
380
|
+
* - `codemode`: callable whenever registered. Not declared to the model unless explicitly
|
|
381
|
+
* activated. Codemode tools list it in their description.
|
|
382
|
+
* - `deferred`: like `codemode`, but codemode tools do not list it; tool search can find it.
|
|
383
|
+
* - `hidden`: registered but unreachable. Activating it has no effect.
|
|
384
|
+
*
|
|
385
|
+
* `direct` and `model-only` tools are activated when they are registered; the others are not.
|
|
386
|
+
* The active tool set (`getActiveTools`/`setActiveTools`) is the set declared to the model.
|
|
387
|
+
*/
|
|
388
|
+
export type ToolExposure = "direct" | "model-only" | "codemode" | "deferred" | "hidden";
|
|
389
|
+
/**
|
|
390
|
+
* Hints about what a tool does, with the meaning of MCP tool annotations. They come from the tool's
|
|
391
|
+
* author and are not verified; permission extensions can use them to decide which calls to confirm.
|
|
392
|
+
*/
|
|
393
|
+
export interface ToolAnnotations {
|
|
394
|
+
/** The tool does not modify its environment. */
|
|
395
|
+
readOnlyHint?: boolean;
|
|
396
|
+
/** The tool may delete or overwrite data, rather than only add to it. Meaningful when not read-only. */
|
|
397
|
+
destructiveHint?: boolean;
|
|
398
|
+
/** Repeating a call with the same arguments has no further effect. Meaningful when not read-only. */
|
|
399
|
+
idempotentHint?: boolean;
|
|
400
|
+
/** The tool reaches an open world of external entities, such as the web, rather than a closed domain. */
|
|
401
|
+
openWorldHint?: boolean;
|
|
402
|
+
}
|
|
403
|
+
/** A group of related tools, such as the tools of one MCP server. Codemode tools list them together. */
|
|
404
|
+
export interface ToolNamespace {
|
|
405
|
+
/** For example `mcp__docs`. */
|
|
406
|
+
name: string;
|
|
407
|
+
/** Short summary shown once with the group in model-facing tool listings. */
|
|
408
|
+
description?: string;
|
|
409
|
+
/**
|
|
410
|
+
* Longer usage guidance, such as MCP server instructions. Not part of tool listings; tools that
|
|
411
|
+
* describe the namespace on request (codemode's `describeNamespace()`) return it.
|
|
412
|
+
*/
|
|
413
|
+
instructions?: string;
|
|
414
|
+
}
|
|
415
|
+
/** The tools of a session as {@link ToolDefinition.prepareLoadout} sees them. */
|
|
416
|
+
export interface ToolLoadout {
|
|
417
|
+
/** Tools declared to the model (the active tools), in order, with their original descriptions. */
|
|
418
|
+
readonly declared: readonly AgentTool[];
|
|
419
|
+
/** Tools callable through `ctx.executeTool()`. */
|
|
420
|
+
readonly callable: readonly AgentTool[];
|
|
421
|
+
/** Every registered tool. */
|
|
422
|
+
readonly registered: readonly AgentTool[];
|
|
423
|
+
getExposure(name: string): ToolExposure;
|
|
424
|
+
getNamespace(name: string): ToolNamespace | undefined;
|
|
425
|
+
}
|
|
426
|
+
/** Changes {@link ToolDefinition.prepareLoadout} makes to what the model sees. */
|
|
427
|
+
export interface ToolLoadoutChanges {
|
|
428
|
+
/** Model-facing descriptions of declared tools, by tool name. */
|
|
429
|
+
descriptions?: Readonly<Record<string, string>>;
|
|
430
|
+
/**
|
|
431
|
+
* Declared tools whose declarations requests leave out. They stay active and callable, and the
|
|
432
|
+
* transcript still declares them, so the active set survives `/tree` and resume.
|
|
433
|
+
*/
|
|
434
|
+
hiddenDeclarations?: readonly string[];
|
|
435
|
+
}
|
|
342
436
|
/**
|
|
343
437
|
* Tool definition for registerTool().
|
|
344
438
|
*/
|
|
@@ -361,6 +455,31 @@ export interface ToolDefinition<TParams extends TSchema = TSchema, TDetails = un
|
|
|
361
455
|
renderShell?: "default" | "self";
|
|
362
456
|
/** Optional compatibility shim to prepare raw tool call arguments before schema validation. Must return an object conforming to TParams. */
|
|
363
457
|
prepareArguments?: (args: unknown) => Static<TParams>;
|
|
458
|
+
/**
|
|
459
|
+
* JSON Schema of `structuredContent` in successful results. Tools that declare it should always
|
|
460
|
+
* set `structuredContent`; codemode scripts then receive it instead of the text content.
|
|
461
|
+
*/
|
|
462
|
+
outputSchema?: TSchema;
|
|
463
|
+
/**
|
|
464
|
+
* How the model reaches the tool. Default: `"direct"`. See {@link ToolExposure}.
|
|
465
|
+
*/
|
|
466
|
+
exposure?: ToolExposure;
|
|
467
|
+
/** Group the tool belongs to, for example its MCP server. */
|
|
468
|
+
namespace?: ToolNamespace;
|
|
469
|
+
/** Hints about what the tool does, for example from an MCP server. */
|
|
470
|
+
annotations?: ToolAnnotations;
|
|
471
|
+
/**
|
|
472
|
+
* Whether registering the tool activates it. Default: `true` for `direct` and `model-only` tools;
|
|
473
|
+
* other exposures are never activated on registration. A tool with `defaultActive: false` is
|
|
474
|
+
* activated by naming it in `--tools` or the `defaultTools` setting, or with `setActiveTools()`.
|
|
475
|
+
*/
|
|
476
|
+
defaultActive?: boolean;
|
|
477
|
+
/**
|
|
478
|
+
* Adjust how the loadout is presented to the model while this tool is active. Called whenever
|
|
479
|
+
* the active tools change. Tools that orchestrate other tools use it, for example to list the
|
|
480
|
+
* callable tools in their own description.
|
|
481
|
+
*/
|
|
482
|
+
prepareLoadout?: (loadout: ToolLoadout) => ToolLoadoutChanges | undefined;
|
|
364
483
|
/**
|
|
365
484
|
* Per-tool execution mode override.
|
|
366
485
|
* - "sequential": this tool must execute one at a time with other tool calls.
|
|
@@ -370,7 +489,7 @@ export interface ToolDefinition<TParams extends TSchema = TSchema, TDetails = un
|
|
|
370
489
|
*/
|
|
371
490
|
executionMode?: ToolExecutionMode;
|
|
372
491
|
/** Execute the tool. */
|
|
373
|
-
execute(toolCallId: string, params: Static<TParams>, signal: AbortSignal | undefined, onUpdate: AgentToolUpdateCallback<TDetails> | undefined, ctx:
|
|
492
|
+
execute(toolCallId: string, params: Static<TParams>, signal: AbortSignal | undefined, onUpdate: AgentToolUpdateCallback<TDetails> | undefined, ctx: ExtensionToolContext): Promise<AgentToolResult<TDetails>>;
|
|
374
493
|
/** Custom rendering for tool call display */
|
|
375
494
|
renderCall?: (args: Static<TParams>, theme: Theme, context: ToolRenderContext<TState, Static<TParams>>) => Component;
|
|
376
495
|
/** Custom rendering for tool result display */
|
|
@@ -413,6 +532,17 @@ export interface ResourcesDiscoverResult {
|
|
|
413
532
|
promptPaths?: string[];
|
|
414
533
|
themePaths?: string[];
|
|
415
534
|
}
|
|
535
|
+
/**
|
|
536
|
+
* Fired when an extension registers or unregisters an MCP server after the extensions are bound
|
|
537
|
+
* (see {@link ExtensionAPI.registerMcpServer}). Servers registered while extensions load are read
|
|
538
|
+
* with `pi.getMcpServers()` on `session_start`. Handling this event marks an extension as the one
|
|
539
|
+
* that connects registered servers.
|
|
540
|
+
*/
|
|
541
|
+
export interface McpServersChangeEvent {
|
|
542
|
+
type: "mcp_servers_change";
|
|
543
|
+
/** Every registered server after the change. */
|
|
544
|
+
servers: RegisteredMcpServer[];
|
|
545
|
+
}
|
|
416
546
|
/** Fired when a session is started, loaded, or reloaded */
|
|
417
547
|
export interface SessionStartEvent {
|
|
418
548
|
type: "session_start";
|
|
@@ -551,6 +681,14 @@ export interface AfterProviderResponseEvent {
|
|
|
551
681
|
status: number;
|
|
552
682
|
headers: Record<string, string>;
|
|
553
683
|
}
|
|
684
|
+
/** Fired for a parsed provider stream event before Pi normalizes it. */
|
|
685
|
+
export interface ProviderStreamEvent {
|
|
686
|
+
type: "provider_stream_event";
|
|
687
|
+
provider: ProviderId;
|
|
688
|
+
api: Api;
|
|
689
|
+
model: string;
|
|
690
|
+
data: unknown;
|
|
691
|
+
}
|
|
554
692
|
/** Fired after user submits prompt but before agent loop. */
|
|
555
693
|
export interface BeforeAgentStartEvent {
|
|
556
694
|
type: "before_agent_start";
|
|
@@ -676,6 +814,8 @@ export interface ToolExecutionStartEvent {
|
|
|
676
814
|
toolCallId: string;
|
|
677
815
|
toolName: string;
|
|
678
816
|
args: any;
|
|
817
|
+
/** Set when another tool (for example a codemode script) made this call. */
|
|
818
|
+
parentToolCallId?: string;
|
|
679
819
|
}
|
|
680
820
|
/** Fired during tool execution with partial/streaming output */
|
|
681
821
|
export interface ToolExecutionUpdateEvent {
|
|
@@ -684,6 +824,8 @@ export interface ToolExecutionUpdateEvent {
|
|
|
684
824
|
toolName: string;
|
|
685
825
|
args: any;
|
|
686
826
|
partialResult: any;
|
|
827
|
+
/** Set when another tool (for example a codemode script) made this call. */
|
|
828
|
+
parentToolCallId?: string;
|
|
687
829
|
}
|
|
688
830
|
/** Fired when a tool finishes executing */
|
|
689
831
|
export interface ToolExecutionEndEvent {
|
|
@@ -692,6 +834,8 @@ export interface ToolExecutionEndEvent {
|
|
|
692
834
|
toolName: string;
|
|
693
835
|
result: any;
|
|
694
836
|
isError: boolean;
|
|
837
|
+
/** Set when another tool (for example a codemode script) made this call. */
|
|
838
|
+
parentToolCallId?: string;
|
|
695
839
|
}
|
|
696
840
|
export type ModelSelectSource = "set" | "cycle" | "restore";
|
|
697
841
|
/** Fired when a new model is selected */
|
|
@@ -743,7 +887,14 @@ export type InputEventResult = {
|
|
|
743
887
|
};
|
|
744
888
|
interface ToolCallEventBase {
|
|
745
889
|
type: "tool_call";
|
|
890
|
+
/**
|
|
891
|
+
* The call's id. For calls another tool made (with `parentToolCallId` set), pi assigns
|
|
892
|
+
* `<parent id>/<n>`; such ids never appear as tool calls or tool results in the transcript, only
|
|
893
|
+
* in the parent result's `nestedCalls` record.
|
|
894
|
+
*/
|
|
746
895
|
toolCallId: string;
|
|
896
|
+
/** Set when another tool (for example a codemode script) issued this call. */
|
|
897
|
+
parentToolCallId?: string;
|
|
747
898
|
}
|
|
748
899
|
export interface BashToolCallEvent extends ToolCallEventBase {
|
|
749
900
|
toolName: "bash";
|
|
@@ -790,9 +941,17 @@ export interface CustomToolCallEvent extends ToolCallEventBase {
|
|
|
790
941
|
export type ToolCallEvent = BashToolCallEvent | PowerShellToolCallEvent | ReadToolCallEvent | EditToolCallEvent | WriteToolCallEvent | GrepToolCallEvent | FindToolCallEvent | LsToolCallEvent | CustomToolCallEvent;
|
|
791
942
|
interface ToolResultEventBase {
|
|
792
943
|
type: "tool_result";
|
|
944
|
+
/** The call's id; `<parent id>/<n>` for nested calls, see `ToolCallEvent`. */
|
|
793
945
|
toolCallId: string;
|
|
946
|
+
/** Set when another tool (for example a codemode script) issued this call. */
|
|
947
|
+
parentToolCallId?: string;
|
|
794
948
|
input: Record<string, unknown>;
|
|
795
949
|
content: (TextContent | ImageContent)[];
|
|
950
|
+
/**
|
|
951
|
+
* Machine-readable result for tools that declare an `outputSchema`. Handlers that redact
|
|
952
|
+
* `content` should also replace this; replacing `content` alone drops it.
|
|
953
|
+
*/
|
|
954
|
+
structuredContent?: JsonValue;
|
|
796
955
|
isError: boolean;
|
|
797
956
|
/** Usage from the tool execution itself, if available. */
|
|
798
957
|
usage?: Usage;
|
|
@@ -876,7 +1035,7 @@ export declare function isToolCallEventType<TName extends string, TInput extends
|
|
|
876
1035
|
input: TInput;
|
|
877
1036
|
};
|
|
878
1037
|
/** Union of all event types */
|
|
879
|
-
export type ExtensionEvent = ProjectTrustEvent | ResourcesDiscoverEvent | SessionEvent | ContextEvent | ContextWithSystemEvent | CacheWarmingDecisionEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentBeforeSettleEvent | AgentSettledEvent | UIPromptStartEvent | UIPromptEndEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
|
|
1038
|
+
export type ExtensionEvent = ProjectTrustEvent | ResourcesDiscoverEvent | McpServersChangeEvent | SessionEvent | ContextEvent | ContextWithSystemEvent | CacheWarmingDecisionEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | ProviderStreamEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentBeforeSettleEvent | AgentSettledEvent | UIPromptStartEvent | UIPromptEndEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
|
|
880
1039
|
export interface ContextEventResult {
|
|
881
1040
|
messages?: AgentMessage[];
|
|
882
1041
|
}
|
|
@@ -904,9 +1063,15 @@ export type UserBashEventResult = {
|
|
|
904
1063
|
/** Full replacement: extension handled execution, use this result */
|
|
905
1064
|
result: BashResult;
|
|
906
1065
|
};
|
|
1066
|
+
/**
|
|
1067
|
+
* Changes a `tool_result` handler makes. Omitted fields stay as they are, except that replacing
|
|
1068
|
+
* `content` without returning `structuredContent` drops the structured content, because it may no
|
|
1069
|
+
* longer match. Return it along with `content` to keep it.
|
|
1070
|
+
*/
|
|
907
1071
|
export interface ToolResultEventResult {
|
|
908
1072
|
content?: (TextContent | ImageContent)[];
|
|
909
1073
|
details?: unknown;
|
|
1074
|
+
structuredContent?: JsonValue;
|
|
910
1075
|
isError?: boolean;
|
|
911
1076
|
usage?: Usage;
|
|
912
1077
|
}
|
|
@@ -986,6 +1151,7 @@ export interface ExtensionAPI {
|
|
|
986
1151
|
on(event: "session_compact", handler: ExtensionHandler<SessionCompactEvent>): () => void;
|
|
987
1152
|
on(event: "session_compact_failed", handler: ExtensionHandler<SessionCompactFailedEvent>): () => void;
|
|
988
1153
|
on(event: "session_shutdown", handler: ExtensionHandler<SessionShutdownEvent>): () => void;
|
|
1154
|
+
on(event: "mcp_servers_change", handler: ExtensionHandler<McpServersChangeEvent>): () => void;
|
|
989
1155
|
on(event: "session_before_tree", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): () => void;
|
|
990
1156
|
on(event: "session_tree", handler: ExtensionHandler<SessionTreeEvent>): () => void;
|
|
991
1157
|
on(event: "context", handler: ExtensionHandler<ContextEvent, ContextEventResult>): () => void;
|
|
@@ -994,6 +1160,7 @@ export interface ExtensionAPI {
|
|
|
994
1160
|
on(event: "before_provider_request", handler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>): () => void;
|
|
995
1161
|
on(event: "before_provider_headers", handler: ExtensionHandler<BeforeProviderHeadersEvent>): () => void;
|
|
996
1162
|
on(event: "after_provider_response", handler: ExtensionHandler<AfterProviderResponseEvent>): () => void;
|
|
1163
|
+
on(event: "provider_stream_event", handler: ExtensionHandler<ProviderStreamEvent>): () => void;
|
|
997
1164
|
on(event: "before_agent_start", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): () => void;
|
|
998
1165
|
on(event: "agent_start", handler: ExtensionHandler<AgentStartEvent>): () => void;
|
|
999
1166
|
on(event: "agent_end", handler: ExtensionHandler<AgentEndEvent>): () => void;
|
|
@@ -1066,11 +1233,16 @@ export interface ExtensionAPI {
|
|
|
1066
1233
|
setLabel(entryId: string, label: string | undefined): void;
|
|
1067
1234
|
/** Execute a shell command. */
|
|
1068
1235
|
exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
|
|
1069
|
-
/** Get the
|
|
1236
|
+
/** Get the names of the active tools, which are the tools declared to the model. */
|
|
1070
1237
|
getActiveTools(): string[];
|
|
1071
|
-
/** Get all configured tools with parameter schema, prompt guidelines, and source metadata. */
|
|
1238
|
+
/** Get all configured tools with parameter schema, prompt guidelines, exposure, and source metadata. */
|
|
1072
1239
|
getAllTools(): ToolInfo[];
|
|
1073
|
-
/**
|
|
1240
|
+
/** Get a copy of the effective settings (global and project settings merged, with overrides). */
|
|
1241
|
+
getSettings(): Settings;
|
|
1242
|
+
/**
|
|
1243
|
+
* Set the active tools by name. Unknown and `hidden` tools are ignored. Tools with `codemode` or
|
|
1244
|
+
* `deferred` exposure stay callable from codemode scripts whether active or not.
|
|
1245
|
+
*/
|
|
1074
1246
|
setActiveTools(toolNames: string[]): void;
|
|
1075
1247
|
/** Get available slash commands in the current session. */
|
|
1076
1248
|
getCommands(): SlashCommandInfo[];
|
|
@@ -1154,9 +1326,45 @@ export interface ExtensionAPI {
|
|
|
1154
1326
|
* pi.unregisterProvider("my-proxy");
|
|
1155
1327
|
*/
|
|
1156
1328
|
unregisterProvider(name: string): void;
|
|
1329
|
+
/**
|
|
1330
|
+
* Register an MCP server for this session, with the same config as an `mcpServers` entry in
|
|
1331
|
+
* `mcp.json`. The server connects next to the configured servers: on `session_start` when
|
|
1332
|
+
* registered during extension load, right away when registered later. Registering a name again
|
|
1333
|
+
* replaces the extension's earlier registration.
|
|
1334
|
+
*
|
|
1335
|
+
* The registration is not saved; register again on every load. A server of the same name in
|
|
1336
|
+
* `mcp.json` takes precedence. Throws for invalid configs and for names another extension
|
|
1337
|
+
* registered. When no loaded extension handles MCP servers (for example because another MCP
|
|
1338
|
+
* extension replaced the built-in one), the registration is reported as an extension error.
|
|
1339
|
+
*
|
|
1340
|
+
* @example
|
|
1341
|
+
* pi.registerMcpServer("jira", { url: "https://mcp.example.com/jira" });
|
|
1342
|
+
*/
|
|
1343
|
+
registerMcpServer(name: string, config: McpServerConfig): void;
|
|
1344
|
+
/** Remove an MCP server this extension registered and close its connection. */
|
|
1345
|
+
unregisterMcpServer(name: string): void;
|
|
1346
|
+
/** Every MCP server registered by extensions. For extensions that connect MCP servers. */
|
|
1347
|
+
getMcpServers(): RegisteredMcpServer[];
|
|
1348
|
+
/**
|
|
1349
|
+
* Register a virtual model: a selectable catalog entry that routes each request to a physical
|
|
1350
|
+
* model. The selection (`ctx.model`, `model_change` entries) names the virtual model; assistant
|
|
1351
|
+
* messages record the physical model and thinking level the router picked.
|
|
1352
|
+
*
|
|
1353
|
+
* `provider` may be any provider id, including one with physical models, and may list several
|
|
1354
|
+
* virtual models. Registering the same provider and id again replaces the virtual model. See
|
|
1355
|
+
* docs/virtual-models.md.
|
|
1356
|
+
*/
|
|
1357
|
+
registerVirtualModel<TState = unknown>(model: ExtensionVirtualModel<TState>): void;
|
|
1358
|
+
/** Remove a virtual model registered with `registerVirtualModel()`. */
|
|
1359
|
+
unregisterVirtualModel(provider: string, id: string): void;
|
|
1157
1360
|
/** Shared event bus for extension communication. */
|
|
1158
1361
|
events: EventBus;
|
|
1159
1362
|
}
|
|
1363
|
+
/** Virtual model registered via pi.registerVirtualModel(). */
|
|
1364
|
+
export interface ExtensionVirtualModel<TState = unknown> extends Omit<VirtualModelDefinition<TState>, "route"> {
|
|
1365
|
+
/** Like `VirtualModelDefinition.route`, with an extension context. */
|
|
1366
|
+
route(request: ModelRouteRequest<TState>, ctx: ExtensionContext): ModelRoute<TState> | Promise<ModelRoute<TState>>;
|
|
1367
|
+
}
|
|
1160
1368
|
/** Configuration for registering a provider via pi.registerProvider(). */
|
|
1161
1369
|
export interface ProviderConfig {
|
|
1162
1370
|
/** Display name for the provider in UI. */
|
|
@@ -1173,9 +1381,15 @@ export interface ProviderConfig {
|
|
|
1173
1381
|
* (`getCurrentSystemPrompt(context.messages)`, `getCurrentTools(context.messages)`).
|
|
1174
1382
|
* Implementations must invoke `options.onPayload` before sending the provider request and use any
|
|
1175
1383
|
* returned replacement payload. They must invoke `options.onResponse` after receiving the response
|
|
1176
|
-
* and before consuming its body, matching built-in providers.
|
|
1384
|
+
* and before consuming its body, matching built-in providers. Implementations may invoke
|
|
1385
|
+
* `options.onProviderStreamEvent(data, model)` with parsed stream events before normalization.
|
|
1386
|
+
* Event data is adapter-owned and must be treated as read-only.
|
|
1177
1387
|
*/
|
|
1178
1388
|
streamSimple?: (model: Model<Api>, context: TranscriptContext, options?: SimpleStreamOptions) => AssistantMessageEventStream;
|
|
1389
|
+
/** Image-generation implementations keyed by image API. */
|
|
1390
|
+
images?: Partial<Record<ImageApi, ProviderImages>>;
|
|
1391
|
+
/** Classifier implementations keyed by classifier API. */
|
|
1392
|
+
classifiers?: Partial<Record<ClassifierApi, ProviderClassifier>>;
|
|
1179
1393
|
/** Custom headers to include in requests. */
|
|
1180
1394
|
headers?: Record<string, string>;
|
|
1181
1395
|
/** If true, adds Authorization: Bearer header with the resolved API key. */
|
|
@@ -1205,45 +1419,84 @@ export interface ProviderConfig {
|
|
|
1205
1419
|
modifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];
|
|
1206
1420
|
};
|
|
1207
1421
|
}
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
/** Model ID (e.g., "claude-sonnet-4-20250514"). */
|
|
1422
|
+
interface ProviderModelConfigBase {
|
|
1423
|
+
/** Model ID. */
|
|
1211
1424
|
id: string;
|
|
1212
|
-
/** Display name
|
|
1425
|
+
/** Display name. */
|
|
1213
1426
|
name: string;
|
|
1214
1427
|
/** API type override for this model. */
|
|
1215
|
-
api?:
|
|
1428
|
+
api?: string;
|
|
1216
1429
|
/** API endpoint URL override for this model. */
|
|
1217
1430
|
baseUrl?: string;
|
|
1218
|
-
/** Whether the model supports extended thinking. */
|
|
1219
|
-
reasoning: boolean;
|
|
1220
|
-
/** Maps pi thinking levels to provider/model-specific values; null marks a level unsupported. */
|
|
1221
|
-
thinkingLevelMap?: Model<Api>["thinkingLevelMap"];
|
|
1222
1431
|
/** Supported input types. */
|
|
1223
1432
|
input: ("text" | "image")[];
|
|
1224
1433
|
/** Provider input limits and cache-safe image preprocessing metadata. */
|
|
1225
|
-
inputLimits?:
|
|
1434
|
+
inputLimits?: AnyModel["inputLimits"];
|
|
1226
1435
|
/** Per-million-token cost rates and optional request-wide input pricing tiers. */
|
|
1227
|
-
cost:
|
|
1436
|
+
cost: AnyModel["cost"];
|
|
1437
|
+
/** Custom headers for this model. */
|
|
1438
|
+
headers?: Record<string, string>;
|
|
1439
|
+
}
|
|
1440
|
+
/** Chat model configuration. Omitted `type` is normalized to `"chat"`. */
|
|
1441
|
+
export interface ProviderChatModelConfig extends ProviderModelConfigBase {
|
|
1442
|
+
type?: "chat";
|
|
1443
|
+
api?: Api;
|
|
1444
|
+
/** Whether the model supports extended thinking. */
|
|
1445
|
+
reasoning: boolean;
|
|
1446
|
+
/** Maps pi thinking levels to provider/model-specific values; null marks a level unsupported. */
|
|
1447
|
+
thinkingLevelMap?: Model<Api>["thinkingLevelMap"];
|
|
1228
1448
|
/** Best-effort prompt cache lifetime in seconds per retention tier. Unset disables cache warming. */
|
|
1229
1449
|
promptCache?: Model<Api>["promptCache"];
|
|
1230
1450
|
/** Maximum context window size in tokens. */
|
|
1231
1451
|
contextWindow: number;
|
|
1232
1452
|
/** Maximum output tokens. */
|
|
1233
1453
|
maxTokens: number;
|
|
1234
|
-
|
|
1235
|
-
headers?: Record<string, string>;
|
|
1454
|
+
samplingParams?: Record<string, unknown>;
|
|
1236
1455
|
/** OpenAI compatibility settings. */
|
|
1237
1456
|
compat?: Model<Api>["compat"];
|
|
1238
1457
|
}
|
|
1458
|
+
/** Image-generation model configuration. */
|
|
1459
|
+
export interface ProviderImageModelConfig extends ProviderModelConfigBase {
|
|
1460
|
+
type: "image";
|
|
1461
|
+
api?: ImageApi;
|
|
1462
|
+
output: ("text" | "image")[];
|
|
1463
|
+
}
|
|
1464
|
+
/** Structured classifier model configuration. */
|
|
1465
|
+
export interface ProviderClassifierModelConfig extends ProviderModelConfigBase {
|
|
1466
|
+
type: "classifier";
|
|
1467
|
+
api?: ClassifierApi;
|
|
1468
|
+
contextWindow: number;
|
|
1469
|
+
}
|
|
1470
|
+
/** Configuration for a model within a provider. */
|
|
1471
|
+
export type ProviderModelConfig = ProviderChatModelConfig | ProviderImageModelConfig | ProviderClassifierModelConfig;
|
|
1239
1472
|
/** Extension factory function type. Supports both sync and async initialization. */
|
|
1240
1473
|
export type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;
|
|
1241
1474
|
export type InlineExtension = ExtensionFactory | {
|
|
1242
|
-
/**
|
|
1475
|
+
/**
|
|
1476
|
+
* Display name shown as `<inline:name>` in the startup Extensions list and errors. With
|
|
1477
|
+
* `builtin`, the extension is named `builtin:name` in errors and diagnostics.
|
|
1478
|
+
*/
|
|
1243
1479
|
name: string;
|
|
1244
1480
|
factory: ExtensionFactory;
|
|
1245
1481
|
/** Omit this extension from the startup Extensions list. */
|
|
1246
1482
|
hidden?: boolean;
|
|
1483
|
+
/**
|
|
1484
|
+
* Leave this extension out when another extension registers a tool, command, or flag with a
|
|
1485
|
+
* name it registers during loading, instead of reporting a conflict. The CLI's built-in MCP,
|
|
1486
|
+
* codemode, and tool search extensions use it, so for example an MCP extension that registers
|
|
1487
|
+
* `/mcp` replaces the built-in MCP support. The factory still runs, so it should only register
|
|
1488
|
+
* tools, commands, flags, and event handlers.
|
|
1489
|
+
*/
|
|
1490
|
+
replaceable?: boolean;
|
|
1491
|
+
/**
|
|
1492
|
+
* Supply the code of the `builtin:<name>` extension instead of loading as an inline extension.
|
|
1493
|
+
* `builtin:<name>` is an extension resource like a file: it loads by default, `pi config` lists
|
|
1494
|
+
* it, `-builtin:<name>` in the `extensions` setting and `--no-extensions` disable it, and
|
|
1495
|
+
* `-e builtin:<name>` loads it explicitly. It is hidden from the startup Extensions list and
|
|
1496
|
+
* loads after project trust is resolved, so it cannot handle `project_trust`. The CLI's built-in
|
|
1497
|
+
* extensions use it.
|
|
1498
|
+
*/
|
|
1499
|
+
builtin?: boolean;
|
|
1247
1500
|
};
|
|
1248
1501
|
export interface RegisteredTool {
|
|
1249
1502
|
definition: ToolDefinition;
|
|
@@ -1277,9 +1530,13 @@ export type GetSessionNameHandler = () => string | undefined;
|
|
|
1277
1530
|
export type GetActiveToolsHandler = () => string[];
|
|
1278
1531
|
/** Tool info with name, description, parameter schema, prompt guidelines, and source metadata. */
|
|
1279
1532
|
export type ToolInfo = Pick<ToolDefinition, "name" | "description" | "parameters" | "promptGuidelines"> & {
|
|
1533
|
+
exposure: ToolExposure;
|
|
1534
|
+
namespace?: ToolNamespace;
|
|
1535
|
+
annotations?: ToolAnnotations;
|
|
1280
1536
|
sourceInfo: SourceInfo;
|
|
1281
1537
|
};
|
|
1282
1538
|
export type GetAllToolsHandler = () => ToolInfo[];
|
|
1539
|
+
export type GetSettingsHandler = () => Settings;
|
|
1283
1540
|
export type GetCommandsHandler = () => SlashCommandInfo[];
|
|
1284
1541
|
export type SetActiveToolsHandler = (toolNames: string[]) => void;
|
|
1285
1542
|
export type RefreshToolsHandler = () => void;
|
|
@@ -1304,6 +1561,13 @@ export interface ExtensionRuntimeState {
|
|
|
1304
1561
|
provider: Provider;
|
|
1305
1562
|
extensionPath: string;
|
|
1306
1563
|
}>;
|
|
1564
|
+
/** Virtual model registrations queued during extension loading, processed when runner binds. */
|
|
1565
|
+
pendingVirtualModelRegistrations: Array<{
|
|
1566
|
+
definition: VirtualModelDefinition;
|
|
1567
|
+
extensionPath: string;
|
|
1568
|
+
}>;
|
|
1569
|
+
/** Create an extension context. Throws before the runner binds. */
|
|
1570
|
+
createContext: () => ExtensionContext;
|
|
1307
1571
|
/** Throws when this extension instance is stale after runtime replacement. */
|
|
1308
1572
|
assertActive: () => void;
|
|
1309
1573
|
/** Marks this extension instance as stale after runtime replacement or reload. */
|
|
@@ -1319,6 +1583,10 @@ export interface ExtensionRuntimeState {
|
|
|
1319
1583
|
registerProvider: (name: string, config: ProviderConfig, extensionPath?: string) => void;
|
|
1320
1584
|
registerNativeProvider: (provider: Provider, extensionPath?: string) => void;
|
|
1321
1585
|
unregisterProvider: (name: string, extensionPath?: string) => void;
|
|
1586
|
+
/** Servers registered with `pi.registerMcpServer()`. */
|
|
1587
|
+
mcpServers: McpServerRegistry;
|
|
1588
|
+
registerVirtualModel: (definition: VirtualModelDefinition, extensionPath?: string) => void;
|
|
1589
|
+
unregisterVirtualModel: (provider: string, id: string) => void;
|
|
1322
1590
|
}
|
|
1323
1591
|
/**
|
|
1324
1592
|
* Action implementations for pi.* API methods.
|
|
@@ -1333,6 +1601,7 @@ export interface ExtensionActions {
|
|
|
1333
1601
|
setLabel: SetLabelHandler;
|
|
1334
1602
|
getActiveTools: GetActiveToolsHandler;
|
|
1335
1603
|
getAllTools: GetAllToolsHandler;
|
|
1604
|
+
getSettings: GetSettingsHandler;
|
|
1336
1605
|
setActiveTools: SetActiveToolsHandler;
|
|
1337
1606
|
refreshTools: RefreshToolsHandler;
|
|
1338
1607
|
getCommands: GetCommandsHandler;
|
|
@@ -1357,6 +1626,10 @@ export interface ExtensionContextActions {
|
|
|
1357
1626
|
compact: (options?: CompactOptions) => void;
|
|
1358
1627
|
getSystemPrompt: () => string;
|
|
1359
1628
|
getSystemPromptOptions?: () => BuildSystemPromptOptions;
|
|
1629
|
+
/** Backs `ExtensionToolContext.executeTool()`. Without it, nested calls fail. */
|
|
1630
|
+
executeTool?: (callerId: string, name: string, args: unknown, options: ExecuteToolOptions) => Promise<AgentToolCallOutcome>;
|
|
1631
|
+
/** Backs `ExtensionToolContext.tools`. */
|
|
1632
|
+
getCallableTools?: () => readonly AgentTool[];
|
|
1360
1633
|
}
|
|
1361
1634
|
/**
|
|
1362
1635
|
* Actions for ExtensionCommandContext (ctx.* in command handlers).
|
|
@@ -1403,6 +1676,8 @@ export interface Extension {
|
|
|
1403
1676
|
path: string;
|
|
1404
1677
|
resolvedPath: string;
|
|
1405
1678
|
hidden?: boolean;
|
|
1679
|
+
/** See {@link InlineExtension}. */
|
|
1680
|
+
replaceable?: boolean;
|
|
1406
1681
|
sourceInfo: SourceInfo;
|
|
1407
1682
|
handlers: Map<string, HandlerFn[]>;
|
|
1408
1683
|
tools: Map<string, RegisteredTool>;
|
|
@@ -1420,6 +1695,10 @@ export interface LoadExtensionsResult {
|
|
|
1420
1695
|
path: string;
|
|
1421
1696
|
error: string;
|
|
1422
1697
|
}>;
|
|
1698
|
+
warnings?: Array<{
|
|
1699
|
+
path: string;
|
|
1700
|
+
warning: string;
|
|
1701
|
+
}>;
|
|
1423
1702
|
/** Shared runtime - actions are throwing stubs until runner.initialize() */
|
|
1424
1703
|
runtime: ExtensionRuntime;
|
|
1425
1704
|
}
|