@sammorrowdrums/mcpi 0.70.8 → 0.85.0-bootstrap.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 +1621 -0
- package/LICENSE +21 -0
- package/README.md +196 -141
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js +4 -0
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/register-bedrock.d.ts.map +1 -1
- package/dist/bun/register-bedrock.js +1 -1
- package/dist/bun/register-bedrock.js.map +1 -1
- package/dist/bun/restore-sandbox-env.d.ts +17 -0
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/bun/restore-sandbox-env.js +36 -0
- package/dist/bun/restore-sandbox-env.js.map +1 -0
- package/dist/cli/args.d.ts +9 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +116 -16
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts +19 -0
- package/dist/cli/auth-check.d.ts.map +1 -0
- package/dist/cli/auth-check.js +50 -0
- package/dist/cli/auth-check.js.map +1 -0
- package/dist/cli/auth-command.d.ts +24 -0
- package/dist/cli/auth-command.d.ts.map +1 -0
- package/dist/cli/auth-command.js +103 -0
- package/dist/cli/auth-command.js.map +1 -0
- package/dist/cli/config-selector.d.ts +6 -4
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +4 -4
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts +13 -0
- package/dist/cli/credential-print.d.ts.map +1 -0
- package/dist/cli/credential-print.js +76 -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 +130 -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/mcpi.d.ts +15 -0
- package/dist/cli/experimental/commands/mcpi.d.ts.map +1 -0
- package/dist/cli/experimental/commands/mcpi.js +28 -0
- package/dist/cli/experimental/commands/mcpi.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 +13 -26
- 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 +2 -2
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +4 -4
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/project-trust.d.ts +10 -0
- package/dist/cli/project-trust.d.ts.map +1 -0
- package/dist/cli/project-trust.js +48 -0
- package/dist/cli/project-trust.js.map +1 -0
- package/dist/cli/session-picker.d.ts +3 -2
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +5 -4
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +20 -0
- package/dist/cli/startup-ui.d.ts.map +1 -0
- package/dist/cli/startup-ui.js +184 -0
- package/dist/cli/startup-ui.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -3
- 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 +34 -12
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +312 -61
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +11 -9
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +16 -7
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +13 -12
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +34 -14
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +110 -53
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +662 -488
- 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 +35 -104
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +272 -286
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +11 -8
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/cache-stats.d.ts +49 -0
- package/dist/core/cache-stats.d.ts.map +1 -0
- package/dist/core/cache-stats.js +101 -0
- package/dist/core/cache-stats.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +16 -6
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +13 -10
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +25 -9
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +163 -133
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/index.d.ts +3 -3
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/compaction/utils.d.ts +3 -3
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js +7 -18
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/defaults.d.ts +1 -1
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/env-overlay.d.ts +21 -0
- package/dist/core/env-overlay.d.ts.map +1 -0
- package/dist/core/env-overlay.js +25 -0
- package/dist/core/env-overlay.js.map +1 -0
- package/dist/core/exec.d.ts +8 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +7 -1
- package/dist/core/exec.js.map +1 -1
- package/dist/core/experimental.d.ts +6 -0
- package/dist/core/experimental.d.ts.map +1 -0
- package/dist/core/experimental.js +8 -0
- package/dist/core/experimental.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js +1 -1
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts +2 -2
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +8 -6
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.css +53 -4
- package/dist/core/export-html/template.js +129 -35
- package/dist/core/export-html/tool-renderer.d.ts +2 -8
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +15 -2
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/export-html/vendor/marked.min.js +75 -3
- package/dist/core/extensions/index.d.ts +8 -8
- 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 +5 -7
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +161 -79
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +32 -12
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +194 -3
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +217 -59
- 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 +3 -3
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js +22 -3
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +12 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +30 -2
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts +22 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -0
- package/dist/core/http-dispatcher.js +96 -0
- package/dist/core/http-dispatcher.js.map +1 -0
- package/dist/core/index.d.ts +9 -8
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybindings.d.ts +79 -10
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +11 -10
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/messages.d.ts +2 -2
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-config.d.ts +571 -0
- package/dist/core/model-config.d.ts.map +1 -0
- package/dist/core/model-config.js +254 -0
- package/dist/core/model-config.js.map +1 -0
- package/dist/core/model-registry.d.ts +23 -110
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +65 -616
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +20 -7
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +139 -43
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts +100 -0
- package/dist/core/model-runtime.d.ts.map +1 -0
- package/dist/core/model-runtime.js +602 -0
- package/dist/core/model-runtime.js.map +1 -0
- package/dist/core/models-store.d.ts +22 -0
- package/dist/core/models-store.d.ts.map +1 -0
- package/dist/core/models-store.js +113 -0
- package/dist/core/models-store.js.map +1 -0
- package/dist/core/output-guard.d.ts +1 -0
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js +52 -22
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager.d.ts +21 -4
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +428 -191
- 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 +15 -0
- package/dist/core/project-trust.d.ts.map +1 -0
- package/dist/core/project-trust.js +59 -0
- package/dist/core/project-trust.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +4 -2
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +36 -50
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-attribution.d.ts +4 -0
- package/dist/core/provider-attribution.d.ts.map +1 -0
- package/dist/core/provider-attribution.js +72 -0
- package/dist/core/provider-attribution.js.map +1 -0
- package/dist/core/provider-composer.d.ts +58 -0
- package/dist/core/provider-composer.d.ts.map +1 -0
- package/dist/core/provider-composer.js +396 -0
- package/dist/core/provider-composer.js.map +1 -0
- package/dist/core/radius.d.ts +2 -0
- package/dist/core/radius.d.ts.map +1 -0
- package/dist/core/radius.js +2 -0
- package/dist/core/radius.js.map +1 -0
- package/dist/core/remote-catalog-provider.d.ts +17 -0
- package/dist/core/remote-catalog-provider.d.ts.map +1 -0
- package/dist/core/remote-catalog-provider.js +137 -0
- package/dist/core/remote-catalog-provider.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +13 -6
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +143 -22
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts +40 -12
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +236 -87
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts +15 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -0
- package/dist/core/runtime-credentials.js +39 -0
- package/dist/core/runtime-credentials.js.map +1 -0
- package/dist/core/sdk.d.ts +26 -25
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +56 -49
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager.d.ts +42 -19
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +454 -223
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +77 -8
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +255 -67
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +2 -2
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +12 -34
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts +2 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +4 -3
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts +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 +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +15 -25
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetry.d.ts +7 -1
- package/dist/core/telemetry.d.ts.map +1 -1
- package/dist/core/telemetry.js +7 -1
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/timings.d.ts +5 -3
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +26 -16
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/bash.d.ts +11 -5
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +224 -185
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +26 -5
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +110 -23
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts +11 -5
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +67 -100
- 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 +27 -12
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts +10 -3
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +41 -37
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +7 -3
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +12 -8
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +18 -18
- 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 +7 -3
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +17 -15
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +52 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/core/tools/output-accumulator.js +184 -0
- package/dist/core/tools/output-accumulator.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +2 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js +39 -21
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/read.d.ts +7 -3
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +101 -51
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +5 -2
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +18 -2
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +2 -2
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +3 -3
- 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 +12 -2
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts +6 -2
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +35 -45
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.d.ts +36 -0
- package/dist/core/trust-manager.d.ts.map +1 -0
- package/dist/core/trust-manager.js +202 -0
- package/dist/core/trust-manager.js.map +1 -0
- package/dist/core/usage-totals.d.ts +19 -0
- package/dist/core/usage-totals.d.ts.map +1 -0
- package/dist/core/usage-totals.js +52 -0
- package/dist/core/usage-totals.js.map +1 -0
- package/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +3 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/llama/client.d.ts +61 -0
- package/dist/extensions/llama/client.d.ts.map +1 -0
- package/dist/extensions/llama/client.js +302 -0
- package/dist/extensions/llama/client.js.map +1 -0
- package/dist/extensions/llama/huggingface.d.ts +23 -0
- package/dist/extensions/llama/huggingface.d.ts.map +1 -0
- package/dist/extensions/llama/huggingface.js +141 -0
- package/dist/extensions/llama/huggingface.js.map +1 -0
- package/dist/extensions/llama/index.d.ts +3 -0
- package/dist/extensions/llama/index.d.ts.map +1 -0
- package/dist/extensions/llama/index.js +217 -0
- package/dist/extensions/llama/index.js.map +1 -0
- package/dist/extensions/llama/provider.d.ts +10 -0
- package/dist/extensions/llama/provider.d.ts.map +1 -0
- package/dist/extensions/llama/provider.js +121 -0
- package/dist/extensions/llama/provider.js.map +1 -0
- package/dist/extensions/llama/ui.d.ts +42 -0
- package/dist/extensions/llama/ui.d.ts.map +1 -0
- package/dist/extensions/llama/ui.js +416 -0
- package/dist/extensions/llama/ui.js.map +1 -0
- package/dist/index.d.ts +34 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +2 -2
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +311 -101
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts +5 -5
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +10 -10
- package/dist/migrations.js.map +1 -1
- package/dist/modes/index.d.ts +6 -5
- 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 +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 +8 -3
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +55 -26
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +2 -2
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +4 -4
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +2 -2
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -2
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +2 -2
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts +37 -6
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +318 -34
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts +3 -3
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js +2 -2
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +2 -2
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +9 -2
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-entry.js +52 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +6 -4
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +11 -3
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts +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 +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/extension-editor.d.ts +5 -4
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +19 -32
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts +3 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +7 -2
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.js +103 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +9 -4
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +52 -31
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +33 -31
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +2 -0
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts +6 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js +20 -6
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +12 -6
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +46 -17
- 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 +13 -6
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +92 -44
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +7 -4
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +32 -28
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +5 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +52 -14
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +4 -5
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +18 -16
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +23 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +322 -22
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +1 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -2
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
- package/dist/modes/interactive/components/status-indicator.js +60 -0
- package/dist/modes/interactive/components/status-indicator.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +1 -1
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts +2 -2
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +3 -2
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +2 -2
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +33 -2
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts +7 -2
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +179 -26
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/trust-selector.js +91 -0
- package/dist/modes/interactive/components/trust-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +1 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +9 -3
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +26 -6
- 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 +1 -1
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts +12 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -0
- package/dist/modes/interactive/external-editor.js +37 -0
- package/dist/modes/interactive/external-editor.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +104 -26
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1565 -692
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.d.ts +7 -0
- package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
- package/dist/modes/interactive/model-catalog-refresh.js +34 -0
- package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
- package/dist/modes/interactive/model-search.d.ts +12 -0
- package/dist/modes/interactive/model-search.d.ts.map +1 -0
- package/dist/modes/interactive/model-search.js +15 -0
- package/dist/modes/interactive/model-search.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +10 -5
- package/dist/modes/interactive/theme/light.json +10 -5
- package/dist/modes/interactive/theme/theme-controller.d.ts +40 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme-controller.js +125 -0
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
- package/dist/modes/interactive/theme/theme-schema.json +22 -5
- package/dist/modes/interactive/theme/theme.d.ts +48 -7
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +194 -76
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +31 -0
- package/dist/modes/json-event.d.ts.map +1 -0
- package/dist/modes/json-event.js +15 -0
- package/dist/modes/json-event.js.map +1 -0
- package/dist/modes/print-mode.d.ts +3 -3
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +16 -5
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +33 -10
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +89 -11
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +2 -2
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +69 -9
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +43 -5
- 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 +6 -2
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +527 -25
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/path-migration.d.ts +13 -0
- package/dist/path-migration.d.ts.map +1 -0
- package/dist/path-migration.js +52 -0
- package/dist/path-migration.js.map +1 -0
- package/dist/rpc-entry.d.ts +3 -0
- package/dist/rpc-entry.d.ts.map +1 -0
- package/dist/rpc-entry.js +11 -0
- package/dist/rpc-entry.js.map +1 -0
- package/dist/server/create-harness.d.ts +26 -0
- package/dist/server/create-harness.d.ts.map +1 -0
- package/dist/server/create-harness.js +106 -0
- package/dist/server/create-harness.js.map +1 -0
- 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 +2 -0
- package/dist/utils/ansi.d.ts.map +1 -0
- package/dist/utils/ansi.js +52 -0
- package/dist/utils/ansi.js.map +1 -0
- package/dist/utils/changelog.d.ts +2 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js +85 -0
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts +12 -5
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js +33 -5
- 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 +4 -4
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +4 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js +14 -8
- package/dist/utils/clipboard-native.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 +129 -46
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/deprecation.d.ts +4 -0
- package/dist/utils/deprecation.d.ts.map +1 -0
- package/dist/utils/deprecation.js +13 -0
- package/dist/utils/deprecation.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +54 -22
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +40 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/image-convert.d.ts +1 -0
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js +21 -15
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-process.d.ts +18 -0
- package/dist/utils/image-process.d.ts.map +1 -0
- package/dist/utils/image-process.js +83 -0
- package/dist/utils/image-process.js.map +1 -0
- package/dist/utils/image-resize-core.d.ts +30 -0
- package/dist/utils/image-resize-core.d.ts.map +1 -0
- package/dist/utils/image-resize-core.js +124 -0
- package/dist/utils/image-resize-core.js.map +1 -0
- package/dist/utils/image-resize-worker.d.ts +2 -0
- package/dist/utils/image-resize-worker.d.ts.map +1 -0
- package/dist/utils/image-resize-worker.js +31 -0
- package/dist/utils/image-resize-worker.js.map +1 -0
- package/dist/utils/image-resize.d.ts +7 -27
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +75 -115
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/json.d.ts +3 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +7 -0
- package/dist/utils/json.js.map +1 -0
- 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 +1 -0
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js +100 -16
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/open-browser.d.ts +9 -0
- package/dist/utils/open-browser.d.ts.map +1 -0
- package/dist/utils/open-browser.js +22 -0
- package/dist/utils/open-browser.js.map +1 -0
- package/dist/utils/paths.d.ts +28 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +97 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/utils/pi-user-agent.d.ts.map +1 -0
- package/dist/utils/pi-user-agent.js +5 -0
- package/dist/utils/pi-user-agent.js.map +1 -0
- package/dist/utils/shell.d.ts +1 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +18 -6
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts +12 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/utils/syntax-highlight.js +118 -0
- package/dist/utils/syntax-highlight.js.map +1 -0
- 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 +10 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +105 -36
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +19 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +85 -0
- package/dist/utils/version-check.js.map +1 -0
- package/dist/utils/windows-self-update.d.ts +3 -0
- package/dist/utils/windows-self-update.d.ts.map +1 -0
- package/dist/utils/windows-self-update.js +77 -0
- package/dist/utils/windows-self-update.js.map +1 -0
- package/docs/compaction.md +39 -32
- package/docs/containerization.md +113 -0
- package/docs/custom-provider.md +212 -75
- package/docs/development.md +9 -9
- package/docs/docs.json +156 -0
- package/docs/environment-variables.md +186 -0
- package/docs/extensions.md +652 -140
- package/docs/index.md +81 -0
- package/docs/json.md +26 -15
- package/docs/keybindings.md +60 -21
- package/docs/llama-cpp.md +99 -0
- package/docs/models.md +168 -34
- package/docs/packages.md +46 -36
- package/docs/prompt-templates.md +13 -5
- package/docs/providers.md +147 -26
- package/docs/quickstart.md +167 -0
- package/docs/rpc.md +218 -36
- package/docs/sdk.md +190 -125
- package/docs/security.md +59 -0
- package/docs/{session.md → session-format.md} +48 -22
- package/docs/sessions.md +145 -0
- package/docs/settings.md +130 -25
- package/docs/shell-aliases.md +2 -2
- package/docs/skills.md +13 -14
- package/docs/terminal-setup.md +73 -16
- package/docs/termux.md +10 -10
- package/docs/themes.md +41 -16
- package/docs/tmux.md +6 -4
- package/docs/tui.md +85 -61
- package/docs/usage.md +302 -0
- package/docs/windows.md +2 -2
- package/examples/README.md +1 -1
- package/examples/extensions/README.md +12 -9
- package/examples/extensions/bash-spawn-hook.ts +2 -2
- package/examples/extensions/border-status-editor.ts +145 -0
- package/examples/extensions/built-in-tool-renderer.ts +2 -2
- package/examples/extensions/claude-rules.ts +1 -1
- package/examples/extensions/commands.ts +1 -1
- package/examples/extensions/custom-compaction.ts +6 -16
- package/examples/extensions/custom-footer.ts +1 -1
- package/examples/extensions/custom-header.ts +7 -7
- package/examples/extensions/custom-provider-anthropic/index.ts +15 -8
- package/examples/extensions/custom-provider-anthropic/package-lock.json +4 -4
- package/examples/extensions/custom-provider-anthropic/package.json +3 -3
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +65 -9
- package/examples/extensions/custom-provider-gitlab-duo/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +2 -2
- package/examples/extensions/doom-overlay/README.md +1 -1
- package/examples/extensions/doom-overlay/doom-component.ts +4 -4
- package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
- package/examples/extensions/doom-overlay/index.ts +5 -5
- package/examples/extensions/doom-overlay/wad-finder.ts +7 -3
- package/examples/extensions/dynamic-resources/dynamic.json +1 -1
- package/examples/extensions/entry-renderer.ts +41 -0
- package/examples/extensions/git-merge-and-resolve.ts +115 -0
- package/examples/extensions/github-issue-autocomplete.ts +2 -2
- package/examples/extensions/gondolin/index.ts +531 -0
- package/examples/extensions/gondolin/package-lock.json +185 -0
- package/examples/extensions/gondolin/package.json +19 -0
- package/examples/extensions/handoff.ts +50 -14
- package/examples/extensions/hidden-thinking-label.ts +1 -1
- package/examples/extensions/inline-bash.ts +2 -2
- package/examples/extensions/input-transform-streaming.ts +39 -0
- package/examples/extensions/input-transform.ts +2 -2
- package/examples/extensions/interactive-shell.ts +2 -2
- package/examples/extensions/kimi-deferred-tools.ts +61 -0
- package/examples/extensions/mac-system-theme.ts +2 -2
- package/examples/extensions/message-renderer.ts +3 -3
- package/examples/extensions/minimal-mode.ts +2 -2
- package/examples/extensions/modal-editor.ts +2 -2
- package/examples/extensions/model-status.ts +1 -1
- package/examples/extensions/notify.ts +3 -3
- package/examples/extensions/overlay-qa-tests.ts +242 -140
- package/examples/extensions/overlay-test.ts +9 -6
- package/examples/extensions/pirate.ts +1 -1
- package/examples/extensions/plan-mode/README.md +3 -2
- package/examples/extensions/plan-mode/index.ts +90 -40
- package/examples/extensions/preset.ts +16 -10
- package/examples/extensions/project-trust.ts +64 -0
- package/examples/extensions/prompt-customizer.ts +1 -1
- package/examples/extensions/provider-payload.ts +5 -5
- package/examples/extensions/qna.ts +4 -8
- package/examples/extensions/question.ts +41 -19
- package/examples/extensions/questionnaire.ts +50 -29
- package/examples/extensions/rainbow-editor.ts +1 -1
- package/examples/extensions/reload-runtime.ts +2 -2
- package/examples/extensions/rpc-demo.ts +1 -1
- package/examples/extensions/sandbox/index.ts +9 -9
- package/examples/extensions/sandbox/package-lock.json +7 -7
- package/examples/extensions/sandbox/package.json +3 -3
- package/examples/extensions/shutdown-command.ts +5 -5
- package/examples/extensions/snake.ts +2 -2
- package/examples/extensions/space-invaders.ts +2 -2
- package/examples/extensions/ssh.ts +2 -2
- package/examples/extensions/structured-output.ts +1 -1
- package/examples/extensions/subagent/README.md +18 -13
- package/examples/extensions/subagent/agents.ts +42 -11
- package/examples/extensions/subagent/index.ts +76 -30
- package/examples/extensions/summarize.ts +12 -19
- package/examples/extensions/tic-tac-toe.ts +2 -2
- package/examples/extensions/titlebar-spinner.ts +3 -3
- package/examples/extensions/todo.ts +2 -2
- package/examples/extensions/tool-override.ts +1 -1
- package/examples/extensions/tools.ts +7 -2
- package/examples/extensions/truncated-tool.ts +2 -2
- package/examples/extensions/with-deps/package-lock.json +4 -4
- package/examples/extensions/with-deps/package.json +4 -4
- package/examples/extensions/working-indicator.ts +4 -4
- package/examples/extensions/working-message-test.ts +1 -1
- package/examples/rpc-extension-ui.ts +11 -2
- package/examples/sdk/01-minimal.ts +15 -11
- package/examples/sdk/02-custom-model.ts +18 -18
- package/examples/sdk/03-custom-prompt.ts +25 -17
- package/examples/sdk/04-skills.ts +3 -3
- package/examples/sdk/05-tools.ts +8 -4
- package/examples/sdk/06-extensions.ts +13 -9
- package/examples/sdk/07-context-files.ts +2 -2
- package/examples/sdk/08-prompt-templates.ts +3 -3
- package/examples/sdk/09-api-keys-and-oauth.ts +19 -33
- package/examples/sdk/10-settings.ts +4 -4
- package/examples/sdk/11-sessions.ts +4 -0
- package/examples/sdk/12-full-control.ts +22 -21
- package/examples/sdk/README.md +23 -30
- package/npm-shrinkwrap.json +1818 -0
- package/package.json +117 -99
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/components/auth-selector-status.d.ts +0 -20
- package/dist/modes/interactive/components/auth-selector-status.d.ts.map +0 -1
- package/dist/modes/interactive/components/auth-selector-status.js +0 -23
- package/dist/modes/interactive/components/auth-selector-status.js.map +0 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
- package/dist/modes/interactive/components/earendil-announcement.js +0 -40
- package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
- package/docs/images/exy.png +0 -0
- package/docs/tree.md +0 -233
- package/examples/extensions/antigravity-image-gen.ts +0 -418
- package/examples/extensions/custom-provider-qwen-cli/index.ts +0 -345
- package/examples/extensions/custom-provider-qwen-cli/package.json +0 -16
|
@@ -7,30 +7,31 @@
|
|
|
7
7
|
* - Register commands, keyboard shortcuts, and CLI flags
|
|
8
8
|
* - Interact with the user via UI primitives
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
10
|
+
import type { AgentMessage, AgentToolResult, AgentToolUpdateCallback, ThinkingLevel, ToolExecutionMode } from "@sammorrowdrums/mcpi-agent-core";
|
|
11
|
+
import type { Api, AssistantMessageEvent, AssistantMessageEventStream, ConstrainedSamplingConfig, Context, ImageContent, Model, OAuthCredentials, OAuthLoginCallbacks, Provider, ProviderHeaders, RefreshModelsContext, SimpleStreamOptions, TextContent, ToolResultMessage, Usage } from "@sammorrowdrums/mcpi-ai";
|
|
12
|
+
import type { AutocompleteItem, AutocompleteProvider, Component, EditorComponent, EditorTheme, KeyId, OverlayHandle, OverlayOptions, TUI } from "@sammorrowdrums/mcpi-tui";
|
|
13
13
|
import type { Static, TSchema } from "typebox";
|
|
14
|
-
import type { Theme } from "../../modes/interactive/theme/theme.
|
|
15
|
-
import type { BashResult } from "../bash-executor.
|
|
16
|
-
import type { CompactionPreparation, CompactionResult } from "../compaction/index.
|
|
17
|
-
import type { EventBus } from "../event-bus.
|
|
18
|
-
import type { ExecOptions, ExecResult } from "../exec.
|
|
19
|
-
import type { ReadonlyFooterDataProvider } from "../footer-data-provider.
|
|
20
|
-
import type { KeybindingsManager } from "../keybindings.
|
|
21
|
-
import type { CustomMessage } from "../messages.
|
|
22
|
-
import type { ModelRegistry } from "../model-registry.
|
|
23
|
-
import type {
|
|
24
|
-
import type {
|
|
25
|
-
import type {
|
|
26
|
-
import type {
|
|
27
|
-
import type {
|
|
28
|
-
import type {
|
|
29
|
-
import type {
|
|
30
|
-
|
|
31
|
-
export type {
|
|
14
|
+
import type { Theme } from "../../modes/interactive/theme/theme.ts";
|
|
15
|
+
import type { BashResult } from "../bash-executor.ts";
|
|
16
|
+
import type { CompactionPreparation, CompactionResult } from "../compaction/index.ts";
|
|
17
|
+
import type { EventBus } from "../event-bus.ts";
|
|
18
|
+
import type { ExecOptions, ExecResult } from "../exec.ts";
|
|
19
|
+
import type { ReadonlyFooterDataProvider } from "../footer-data-provider.ts";
|
|
20
|
+
import type { KeybindingsManager } from "../keybindings.ts";
|
|
21
|
+
import type { CustomMessage } from "../messages.ts";
|
|
22
|
+
import type { ModelRegistry } from "../model-registry.ts";
|
|
23
|
+
import type { ScopedModel } from "../model-resolver.ts";
|
|
24
|
+
import type { BranchSummaryEntry, CompactionEntry, CustomEntry, ReadonlySessionManager, SessionEntry, SessionManager } from "../session-manager.ts";
|
|
25
|
+
import type { SlashCommandInfo } from "../slash-commands.ts";
|
|
26
|
+
import type { SourceInfo } from "../source-info.ts";
|
|
27
|
+
import type { BuildSystemPromptOptions } from "../system-prompt.ts";
|
|
28
|
+
import type { BashOperations } from "../tools/bash.ts";
|
|
29
|
+
import type { EditToolDetails } from "../tools/edit.ts";
|
|
30
|
+
import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
|
|
31
|
+
export type { ExecOptions, ExecResult } from "../exec.ts";
|
|
32
|
+
export type { BuildSystemPromptOptions } from "../system-prompt.ts";
|
|
32
33
|
export type { AgentToolResult, AgentToolUpdateCallback, ToolExecutionMode };
|
|
33
|
-
export type { AppKeybinding, KeybindingsManager } from "../keybindings.
|
|
34
|
+
export type { AppKeybinding, KeybindingsManager } from "../keybindings.ts";
|
|
34
35
|
/** Options for extension UI dialogs. */
|
|
35
36
|
export interface ExtensionUIDialogOptions {
|
|
36
37
|
/** AbortSignal to programmatically dismiss the dialog. */
|
|
@@ -59,6 +60,7 @@ export interface WorkingIndicatorOptions {
|
|
|
59
60
|
}
|
|
60
61
|
/** Wrap the current autocomplete provider with additional behavior. */
|
|
61
62
|
export type AutocompleteProviderFactory = (current: AutocompleteProvider) => AutocompleteProvider;
|
|
63
|
+
export type EditorFactory = (tui: TUI, theme: EditorTheme, keybindings: KeybindingsManager) => EditorComponent;
|
|
62
64
|
/**
|
|
63
65
|
* UI context for extensions to request interactive UI.
|
|
64
66
|
* Each mode (interactive, RPC, print) provides its own implementation.
|
|
@@ -78,6 +80,8 @@ export interface ExtensionUIContext {
|
|
|
78
80
|
setStatus(key: string, text: string | undefined): void;
|
|
79
81
|
/** Set the working/loading message shown during streaming. Call with no argument to restore default. */
|
|
80
82
|
setWorkingMessage(message?: string): void;
|
|
83
|
+
/** Show or hide the built-in interactive working loader row during streaming. */
|
|
84
|
+
setWorkingVisible(visible: boolean): void;
|
|
81
85
|
/**
|
|
82
86
|
* Configure the interactive working indicator shown during streaming.
|
|
83
87
|
*
|
|
@@ -140,7 +144,7 @@ export interface ExtensionUIContext {
|
|
|
140
144
|
* - `keybindings`: KeybindingsManager for app-level keybindings
|
|
141
145
|
*
|
|
142
146
|
* For full app keybinding support (escape, ctrl+d, model switching, etc.),
|
|
143
|
-
* extend `CustomEditor` from
|
|
147
|
+
* extend `CustomEditor` from `@sammorrowdrums/mcpi` and call
|
|
144
148
|
* `super.handleInput(data)` for keys you don't handle.
|
|
145
149
|
*
|
|
146
150
|
* @example
|
|
@@ -164,7 +168,9 @@ export interface ExtensionUIContext {
|
|
|
164
168
|
* );
|
|
165
169
|
* ```
|
|
166
170
|
*/
|
|
167
|
-
setEditorComponent(factory:
|
|
171
|
+
setEditorComponent(factory: EditorFactory | undefined): void;
|
|
172
|
+
/** Get the currently configured custom editor factory, or undefined when using the default editor. */
|
|
173
|
+
getEditorComponent(): EditorFactory | undefined;
|
|
168
174
|
/** Get the current theme for styling. */
|
|
169
175
|
readonly theme: Theme;
|
|
170
176
|
/** Get all available themes with their names and file paths. */
|
|
@@ -199,10 +205,13 @@ export interface CompactOptions {
|
|
|
199
205
|
/**
|
|
200
206
|
* Context passed to extension event handlers.
|
|
201
207
|
*/
|
|
208
|
+
export type ExtensionMode = "tui" | "rpc" | "json" | "print";
|
|
202
209
|
export interface ExtensionContext {
|
|
203
210
|
/** UI methods for user interaction */
|
|
204
211
|
ui: ExtensionUIContext;
|
|
205
|
-
/**
|
|
212
|
+
/** Current run mode. Use "tui" to guard terminal-only UI such as custom components. */
|
|
213
|
+
mode: ExtensionMode;
|
|
214
|
+
/** Whether dialog-capable UI is available (true in TUI and RPC modes) */
|
|
206
215
|
hasUI: boolean;
|
|
207
216
|
/** Current working directory */
|
|
208
217
|
cwd: string;
|
|
@@ -212,15 +221,24 @@ export interface ExtensionContext {
|
|
|
212
221
|
modelRegistry: ModelRegistry;
|
|
213
222
|
/** Current model (may be undefined) */
|
|
214
223
|
model: Model<any> | undefined;
|
|
224
|
+
/** Models scoped to this session (resolved from `--models` /
|
|
225
|
+
* `enabledModels` settings against the available catalogue). Same set
|
|
226
|
+
* the `/scoped-models` command shows. Empty when no scoping is
|
|
227
|
+
* configured (all available models are usable). Read-only snapshot. */
|
|
228
|
+
scopedModels: readonly ScopedModel[];
|
|
229
|
+
/** Current thinking level, when provided by the session runtime. */
|
|
230
|
+
thinkingLevel?: ThinkingLevel;
|
|
215
231
|
/** Whether the agent is idle (not streaming) */
|
|
216
232
|
isIdle(): boolean;
|
|
233
|
+
/** Whether project-local trust is active for this context. */
|
|
234
|
+
isProjectTrusted(): boolean;
|
|
217
235
|
/** The current abort signal, or undefined when the agent is not streaming. */
|
|
218
236
|
signal: AbortSignal | undefined;
|
|
219
237
|
/** Abort the current agent operation */
|
|
220
238
|
abort(): void;
|
|
221
239
|
/** Whether there are queued messages waiting */
|
|
222
240
|
hasPendingMessages(): boolean;
|
|
223
|
-
/** Gracefully
|
|
241
|
+
/** Gracefully shut down mcpi and exit. Available in all contexts. */
|
|
224
242
|
shutdown(): void;
|
|
225
243
|
/** Get current context usage for the active model. */
|
|
226
244
|
getContextUsage(): ContextUsage | undefined;
|
|
@@ -234,6 +252,8 @@ export interface ExtensionContext {
|
|
|
234
252
|
* Includes session control methods only safe in user-initiated commands.
|
|
235
253
|
*/
|
|
236
254
|
export interface ExtensionCommandContext extends ExtensionContext {
|
|
255
|
+
/** Get the current base system-prompt construction options. */
|
|
256
|
+
getSystemPromptOptions(): BuildSystemPromptOptions;
|
|
237
257
|
/** Wait for the agent to finish streaming */
|
|
238
258
|
waitForIdle(): Promise<void>;
|
|
239
259
|
/** Start a new session, optionally with initialization. */
|
|
@@ -266,7 +286,7 @@ export interface ExtensionCommandContext extends ExtensionContext {
|
|
|
266
286
|
}): Promise<{
|
|
267
287
|
cancelled: boolean;
|
|
268
288
|
}>;
|
|
269
|
-
/** Reload extensions, skills, prompts, and
|
|
289
|
+
/** Reload extensions, skills, prompts, themes, and context files. */
|
|
270
290
|
reload(): Promise<void>;
|
|
271
291
|
}
|
|
272
292
|
/**
|
|
@@ -281,6 +301,7 @@ export interface ReplacedSessionContext extends ExtensionCommandContext {
|
|
|
281
301
|
}): Promise<void>;
|
|
282
302
|
sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
|
|
283
303
|
deliverAs?: "steer" | "followUp";
|
|
304
|
+
expandPromptTemplates?: boolean;
|
|
284
305
|
}): Promise<void>;
|
|
285
306
|
}
|
|
286
307
|
/** Rendering options for tool results */
|
|
@@ -333,6 +354,8 @@ export interface ToolDefinition<TParams extends TSchema = TSchema, TDetails = un
|
|
|
333
354
|
promptGuidelines?: string[];
|
|
334
355
|
/** Parameter schema (TypeBox) */
|
|
335
356
|
parameters: TParams;
|
|
357
|
+
/** Optional provider-side constrained sampling request for this tool. Set false to explicitly disable it, equivalent to leaving it undefined. */
|
|
358
|
+
constrainedSampling?: false | ConstrainedSamplingConfig;
|
|
336
359
|
/** Controls whether ToolExecutionComponent renders the standard colored shell or the tool renders its own framing. */
|
|
337
360
|
renderShell?: "default" | "self";
|
|
338
361
|
/** Optional compatibility shim to prepare raw tool call arguments before schema validation. Must return an object conforming to TParams. */
|
|
@@ -345,18 +368,6 @@ export interface ToolDefinition<TParams extends TSchema = TSchema, TDetails = un
|
|
|
345
368
|
* If omitted, the default execution mode applies.
|
|
346
369
|
*/
|
|
347
370
|
executionMode?: ToolExecutionMode;
|
|
348
|
-
/**
|
|
349
|
-
* When true, the tool is registered for execution but excluded from the
|
|
350
|
-
* system prompt. The model discovers it through conversation content
|
|
351
|
-
* (e.g. a skill's tool_result) rather than up-front tool descriptions.
|
|
352
|
-
*
|
|
353
|
-
* This enables progressive tool disclosure without changing the tools
|
|
354
|
-
* array sent to the provider, preserving prompt cache across turns.
|
|
355
|
-
*
|
|
356
|
-
* Experimental — ideally model providers would explicitly support
|
|
357
|
-
* deferred tool loading (e.g. Anthropic's `defer_loading`).
|
|
358
|
-
*/
|
|
359
|
-
deferred?: boolean;
|
|
360
371
|
/** Execute the tool. */
|
|
361
372
|
execute(toolCallId: string, params: Static<TParams>, signal: AbortSignal | undefined, onUpdate: AgentToolUpdateCallback<TDetails> | undefined, ctx: ExtensionContext): Promise<AgentToolResult<TDetails>>;
|
|
362
373
|
/** Custom rendering for tool call display */
|
|
@@ -373,6 +384,22 @@ type AnyToolDefinition = ToolDefinition<any, any, any>;
|
|
|
373
384
|
* `unknown`.
|
|
374
385
|
*/
|
|
375
386
|
export declare function defineTool<TParams extends TSchema, TDetails = unknown, TState = any>(tool: ToolDefinition<TParams, TDetails, TState>): ToolDefinition<TParams, TDetails, TState> & AnyToolDefinition;
|
|
387
|
+
export interface ProjectTrustEvent {
|
|
388
|
+
type: "project_trust";
|
|
389
|
+
cwd: string;
|
|
390
|
+
}
|
|
391
|
+
export type ProjectTrustEventDecision = "yes" | "no" | "undecided";
|
|
392
|
+
export interface ProjectTrustEventResult {
|
|
393
|
+
trusted: ProjectTrustEventDecision;
|
|
394
|
+
remember?: boolean;
|
|
395
|
+
}
|
|
396
|
+
export interface ProjectTrustContext {
|
|
397
|
+
cwd: string;
|
|
398
|
+
mode: ExtensionMode;
|
|
399
|
+
hasUI: boolean;
|
|
400
|
+
ui: Pick<ExtensionUIContext, "select" | "confirm" | "input" | "notify">;
|
|
401
|
+
}
|
|
402
|
+
export type ProjectTrustHandler = (event: ProjectTrustEvent, ctx: ProjectTrustContext) => Promise<ProjectTrustEventResult> | ProjectTrustEventResult;
|
|
376
403
|
/** Fired after session_start to allow extensions to provide additional resource paths. */
|
|
377
404
|
export interface ResourcesDiscoverEvent {
|
|
378
405
|
type: "resources_discover";
|
|
@@ -393,6 +420,12 @@ export interface SessionStartEvent {
|
|
|
393
420
|
/** Previously active session file. Present for "new", "resume", and "fork". */
|
|
394
421
|
previousSessionFile?: string;
|
|
395
422
|
}
|
|
423
|
+
/** Fired when the current session metadata changes. */
|
|
424
|
+
export interface SessionInfoChangedEvent {
|
|
425
|
+
type: "session_info_changed";
|
|
426
|
+
/** Current normalized session name. Undefined when the name is cleared. */
|
|
427
|
+
name: string | undefined;
|
|
428
|
+
}
|
|
396
429
|
/** Fired before switching to another session (can be cancelled) */
|
|
397
430
|
export interface SessionBeforeSwitchEvent {
|
|
398
431
|
type: "session_before_switch";
|
|
@@ -411,6 +444,10 @@ export interface SessionBeforeCompactEvent {
|
|
|
411
444
|
preparation: CompactionPreparation;
|
|
412
445
|
branchEntries: SessionEntry[];
|
|
413
446
|
customInstructions?: string;
|
|
447
|
+
/** What triggered the compaction: manual /compact, the context threshold, or context overflow recovery */
|
|
448
|
+
reason: "manual" | "threshold" | "overflow";
|
|
449
|
+
/** True when the aborted turn is retried after this compaction (overflow recovery) */
|
|
450
|
+
willRetry: boolean;
|
|
414
451
|
signal: AbortSignal;
|
|
415
452
|
}
|
|
416
453
|
/** Fired after context compaction */
|
|
@@ -418,6 +455,10 @@ export interface SessionCompactEvent {
|
|
|
418
455
|
type: "session_compact";
|
|
419
456
|
compactionEntry: CompactionEntry;
|
|
420
457
|
fromExtension: boolean;
|
|
458
|
+
/** What triggered the compaction: manual /compact, the context threshold, or context overflow recovery */
|
|
459
|
+
reason: "manual" | "threshold" | "overflow";
|
|
460
|
+
/** True when the aborted turn is retried after this compaction (overflow recovery) */
|
|
461
|
+
willRetry: boolean;
|
|
421
462
|
}
|
|
422
463
|
/** Fired before an extension runtime is torn down due to quit, reload, or session replacement. */
|
|
423
464
|
export interface SessionShutdownEvent {
|
|
@@ -454,7 +495,7 @@ export interface SessionTreeEvent {
|
|
|
454
495
|
summaryEntry?: BranchSummaryEntry;
|
|
455
496
|
fromExtension?: boolean;
|
|
456
497
|
}
|
|
457
|
-
export type SessionEvent = SessionStartEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
|
|
498
|
+
export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
|
|
458
499
|
/** Fired before each LLM call. Can modify messages. */
|
|
459
500
|
export interface ContextEvent {
|
|
460
501
|
type: "context";
|
|
@@ -465,6 +506,15 @@ export interface BeforeProviderRequestEvent {
|
|
|
465
506
|
type: "before_provider_request";
|
|
466
507
|
payload: unknown;
|
|
467
508
|
}
|
|
509
|
+
/**
|
|
510
|
+
* Fired after request headers are assembled, before the provider HTTP call.
|
|
511
|
+
* Handlers mutate `headers` in place (e.g. to inject tracing/session headers);
|
|
512
|
+
* the return value is ignored. A `null` value deletes that header.
|
|
513
|
+
*/
|
|
514
|
+
export interface BeforeProviderHeadersEvent {
|
|
515
|
+
type: "before_provider_headers";
|
|
516
|
+
headers: ProviderHeaders;
|
|
517
|
+
}
|
|
468
518
|
/** Fired after a provider response is received and before the response stream is consumed. */
|
|
469
519
|
export interface AfterProviderResponseEvent {
|
|
470
520
|
type: "after_provider_response";
|
|
@@ -480,7 +530,7 @@ export interface BeforeAgentStartEvent {
|
|
|
480
530
|
images?: ImageContent[];
|
|
481
531
|
/** The fully assembled system prompt string. */
|
|
482
532
|
systemPrompt: string;
|
|
483
|
-
/** Structured options used to build the system prompt. Extensions can inspect this to understand what
|
|
533
|
+
/** Structured options used to build the system prompt. Extensions can inspect this to understand what mcpi loaded without re-discovering resources. */
|
|
484
534
|
systemPromptOptions: BuildSystemPromptOptions;
|
|
485
535
|
}
|
|
486
536
|
/** Fired when an agent loop starts */
|
|
@@ -492,6 +542,10 @@ export interface AgentEndEvent {
|
|
|
492
542
|
type: "agent_end";
|
|
493
543
|
messages: AgentMessage[];
|
|
494
544
|
}
|
|
545
|
+
/** Fired after an agent run has fully settled and no automatic retry, compaction, or queued continuation will run. */
|
|
546
|
+
export interface AgentSettledEvent {
|
|
547
|
+
type: "agent_settled";
|
|
548
|
+
}
|
|
495
549
|
/** Fired at the start of each turn */
|
|
496
550
|
export interface TurnStartEvent {
|
|
497
551
|
type: "turn_start";
|
|
@@ -552,6 +606,12 @@ export interface ModelSelectEvent {
|
|
|
552
606
|
previousModel: Model<any> | undefined;
|
|
553
607
|
source: ModelSelectSource;
|
|
554
608
|
}
|
|
609
|
+
/** Fired when a new thinking level is selected */
|
|
610
|
+
export interface ThinkingLevelSelectEvent {
|
|
611
|
+
type: "thinking_level_select";
|
|
612
|
+
level: ThinkingLevel;
|
|
613
|
+
previousLevel: ThinkingLevel;
|
|
614
|
+
}
|
|
555
615
|
/** Fired when user executes a bash command via ! or !! prefix */
|
|
556
616
|
export interface UserBashEvent {
|
|
557
617
|
type: "user_bash";
|
|
@@ -573,6 +633,8 @@ export interface InputEvent {
|
|
|
573
633
|
images?: ImageContent[];
|
|
574
634
|
/** Where the input came from */
|
|
575
635
|
source: InputSource;
|
|
636
|
+
/** How the input will be delivered during streaming, or undefined when idle */
|
|
637
|
+
streamingBehavior?: "steer" | "followUp";
|
|
576
638
|
}
|
|
577
639
|
/** Result from input event handler */
|
|
578
640
|
export type InputEventResult = {
|
|
@@ -633,6 +695,8 @@ interface ToolResultEventBase {
|
|
|
633
695
|
input: Record<string, unknown>;
|
|
634
696
|
content: (TextContent | ImageContent)[];
|
|
635
697
|
isError: boolean;
|
|
698
|
+
/** Usage from the tool execution itself, if available. */
|
|
699
|
+
usage?: Usage;
|
|
636
700
|
}
|
|
637
701
|
export interface BashToolResultEvent extends ToolResultEventBase {
|
|
638
702
|
toolName: "bash";
|
|
@@ -707,7 +771,7 @@ export declare function isToolCallEventType<TName extends string, TInput extends
|
|
|
707
771
|
input: TInput;
|
|
708
772
|
};
|
|
709
773
|
/** Union of all event types */
|
|
710
|
-
export type ExtensionEvent = ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
|
|
774
|
+
export type ExtensionEvent = ProjectTrustEvent | ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentSettledEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
|
|
711
775
|
export interface ContextEventResult {
|
|
712
776
|
messages?: AgentMessage[];
|
|
713
777
|
}
|
|
@@ -716,6 +780,11 @@ export interface ToolCallEventResult {
|
|
|
716
780
|
/** Block tool execution. To modify arguments, mutate `event.input` in place instead. */
|
|
717
781
|
block?: boolean;
|
|
718
782
|
reason?: string;
|
|
783
|
+
/**
|
|
784
|
+
* Hint that the agent should stop after the current tool batch when this call is blocked.
|
|
785
|
+
* Early termination only happens when every finalized tool result in the batch sets this to true.
|
|
786
|
+
*/
|
|
787
|
+
terminate?: boolean;
|
|
719
788
|
}
|
|
720
789
|
/** Result from user_bash event handler */
|
|
721
790
|
export interface UserBashEventResult {
|
|
@@ -728,6 +797,11 @@ export interface ToolResultEventResult {
|
|
|
728
797
|
content?: (TextContent | ImageContent)[];
|
|
729
798
|
details?: unknown;
|
|
730
799
|
isError?: boolean;
|
|
800
|
+
usage?: Usage;
|
|
801
|
+
}
|
|
802
|
+
export interface MessageEndEventResult {
|
|
803
|
+
/** Replace the finalized message. The replacement must keep the original message role. */
|
|
804
|
+
message?: AgentMessage;
|
|
731
805
|
}
|
|
732
806
|
export interface BeforeAgentStartEventResult {
|
|
733
807
|
message?: Pick<CustomMessage, "customType" | "content" | "display" | "details">;
|
|
@@ -750,6 +824,7 @@ export interface SessionBeforeTreeResult {
|
|
|
750
824
|
summary?: {
|
|
751
825
|
summary: string;
|
|
752
826
|
details?: unknown;
|
|
827
|
+
usage?: Usage;
|
|
753
828
|
};
|
|
754
829
|
/** Override custom instructions for summarization */
|
|
755
830
|
customInstructions?: string;
|
|
@@ -760,8 +835,20 @@ export interface SessionBeforeTreeResult {
|
|
|
760
835
|
}
|
|
761
836
|
export interface MessageRenderOptions {
|
|
762
837
|
expanded: boolean;
|
|
838
|
+
/** Horizontal padding configured by the outputPad setting. */
|
|
839
|
+
outputPad: number;
|
|
840
|
+
}
|
|
841
|
+
export interface MarkdownTransformContext {
|
|
842
|
+
messageType: "user" | "assistant" | "assistant-thinking";
|
|
843
|
+
isStreaming: boolean;
|
|
844
|
+
availableWidth: number;
|
|
845
|
+
}
|
|
846
|
+
export type MarkdownTransformer = (markdown: string, context: MarkdownTransformContext) => string;
|
|
847
|
+
export interface EntryRenderOptions {
|
|
848
|
+
expanded: boolean;
|
|
763
849
|
}
|
|
764
850
|
export type MessageRenderer<T = unknown> = (message: CustomMessage<T>, options: MessageRenderOptions, theme: Theme) => Component | undefined;
|
|
851
|
+
export type EntryRenderer<T = unknown> = (entry: CustomEntry<T>, options: EntryRenderOptions, theme: Theme) => Component | undefined;
|
|
765
852
|
export interface RegisteredCommand {
|
|
766
853
|
name: string;
|
|
767
854
|
sourceInfo: SourceInfo;
|
|
@@ -778,8 +865,10 @@ export type ExtensionHandler<E, R = undefined> = (event: E, ctx: ExtensionContex
|
|
|
778
865
|
* ExtensionAPI passed to extension factory functions.
|
|
779
866
|
*/
|
|
780
867
|
export interface ExtensionAPI {
|
|
868
|
+
on(event: "project_trust", handler: ProjectTrustHandler): void;
|
|
781
869
|
on(event: "resources_discover", handler: ExtensionHandler<ResourcesDiscoverEvent, ResourcesDiscoverResult>): void;
|
|
782
870
|
on(event: "session_start", handler: ExtensionHandler<SessionStartEvent>): void;
|
|
871
|
+
on(event: "session_info_changed", handler: ExtensionHandler<SessionInfoChangedEvent>): void;
|
|
783
872
|
on(event: "session_before_switch", handler: ExtensionHandler<SessionBeforeSwitchEvent, SessionBeforeSwitchResult>): void;
|
|
784
873
|
on(event: "session_before_fork", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;
|
|
785
874
|
on(event: "session_before_compact", handler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>): void;
|
|
@@ -789,19 +878,22 @@ export interface ExtensionAPI {
|
|
|
789
878
|
on(event: "session_tree", handler: ExtensionHandler<SessionTreeEvent>): void;
|
|
790
879
|
on(event: "context", handler: ExtensionHandler<ContextEvent, ContextEventResult>): void;
|
|
791
880
|
on(event: "before_provider_request", handler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>): void;
|
|
881
|
+
on(event: "before_provider_headers", handler: ExtensionHandler<BeforeProviderHeadersEvent>): void;
|
|
792
882
|
on(event: "after_provider_response", handler: ExtensionHandler<AfterProviderResponseEvent>): void;
|
|
793
883
|
on(event: "before_agent_start", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): void;
|
|
794
884
|
on(event: "agent_start", handler: ExtensionHandler<AgentStartEvent>): void;
|
|
795
885
|
on(event: "agent_end", handler: ExtensionHandler<AgentEndEvent>): void;
|
|
886
|
+
on(event: "agent_settled", handler: ExtensionHandler<AgentSettledEvent>): void;
|
|
796
887
|
on(event: "turn_start", handler: ExtensionHandler<TurnStartEvent>): void;
|
|
797
888
|
on(event: "turn_end", handler: ExtensionHandler<TurnEndEvent>): void;
|
|
798
889
|
on(event: "message_start", handler: ExtensionHandler<MessageStartEvent>): void;
|
|
799
890
|
on(event: "message_update", handler: ExtensionHandler<MessageUpdateEvent>): void;
|
|
800
|
-
on(event: "message_end", handler: ExtensionHandler<MessageEndEvent>): void;
|
|
891
|
+
on(event: "message_end", handler: ExtensionHandler<MessageEndEvent, MessageEndEventResult>): void;
|
|
801
892
|
on(event: "tool_execution_start", handler: ExtensionHandler<ToolExecutionStartEvent>): void;
|
|
802
893
|
on(event: "tool_execution_update", handler: ExtensionHandler<ToolExecutionUpdateEvent>): void;
|
|
803
894
|
on(event: "tool_execution_end", handler: ExtensionHandler<ToolExecutionEndEvent>): void;
|
|
804
895
|
on(event: "model_select", handler: ExtensionHandler<ModelSelectEvent>): void;
|
|
896
|
+
on(event: "thinking_level_select", handler: ExtensionHandler<ThinkingLevelSelectEvent>): void;
|
|
805
897
|
on(event: "tool_call", handler: ExtensionHandler<ToolCallEvent, ToolCallEventResult>): void;
|
|
806
898
|
on(event: "tool_result", handler: ExtensionHandler<ToolResultEvent, ToolResultEventResult>): void;
|
|
807
899
|
on(event: "user_bash", handler: ExtensionHandler<UserBashEvent, UserBashEventResult>): void;
|
|
@@ -825,6 +917,10 @@ export interface ExtensionAPI {
|
|
|
825
917
|
getFlag(name: string): boolean | string | undefined;
|
|
826
918
|
/** Register a custom renderer for CustomMessageEntry. */
|
|
827
919
|
registerMessageRenderer<T = unknown>(customType: string, renderer: MessageRenderer<T>): void;
|
|
920
|
+
/** Register a transformer for user and assistant Markdown before mcpi renders it in the interactive transcript. */
|
|
921
|
+
registerMarkdownTransformer(transformer: MarkdownTransformer): void;
|
|
922
|
+
/** Register a custom renderer for CustomEntry. Custom entries do not participate in LLM context. */
|
|
923
|
+
registerEntryRenderer<T = unknown>(customType: string, renderer: EntryRenderer<T>): void;
|
|
828
924
|
/** Send a custom message to the session. */
|
|
829
925
|
sendMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details">, options?: {
|
|
830
926
|
triggerTurn?: boolean;
|
|
@@ -833,9 +929,11 @@ export interface ExtensionAPI {
|
|
|
833
929
|
/**
|
|
834
930
|
* Send a user message to the agent. Always triggers a turn.
|
|
835
931
|
* When the agent is streaming, use deliverAs to specify how to queue the message.
|
|
932
|
+
* Set expandPromptTemplates to dispatch extension commands and expand skill commands and prompt templates.
|
|
836
933
|
*/
|
|
837
934
|
sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
|
|
838
935
|
deliverAs?: "steer" | "followUp";
|
|
936
|
+
expandPromptTemplates?: boolean;
|
|
839
937
|
}): void;
|
|
840
938
|
/** Append a custom entry to the session for state persistence (not sent to LLM). */
|
|
841
939
|
appendEntry<T = unknown>(customType: string, data?: T): void;
|
|
@@ -847,9 +945,25 @@ export interface ExtensionAPI {
|
|
|
847
945
|
setLabel(entryId: string, label: string | undefined): void;
|
|
848
946
|
/** Execute a shell command. */
|
|
849
947
|
exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
|
|
948
|
+
/**
|
|
949
|
+
* Set an environment variable for subprocesses spawned by this session.
|
|
950
|
+
*
|
|
951
|
+
* Applies to the `bash` tool and to `pi.exec()`. The value is scoped to the
|
|
952
|
+
* session and is never written to `process.env`, so it cannot leak into
|
|
953
|
+
* other sessions or into mcpi itself.
|
|
954
|
+
*/
|
|
955
|
+
setEnv(key: string, value: string): void;
|
|
956
|
+
/**
|
|
957
|
+
* Remove an environment variable from subprocesses spawned by this session.
|
|
958
|
+
*
|
|
959
|
+
* This masks the variable even when it is inherited from mcpi's own
|
|
960
|
+
* environment, so it can be used to keep a variable out of subprocesses
|
|
961
|
+
* entirely rather than only undoing a previous `setEnv()`.
|
|
962
|
+
*/
|
|
963
|
+
unsetEnv(key: string): void;
|
|
850
964
|
/** Get the list of currently active tool names. */
|
|
851
965
|
getActiveTools(): string[];
|
|
852
|
-
/** Get all configured tools with parameter schema and source metadata. */
|
|
966
|
+
/** Get all configured tools with parameter schema, prompt guidelines, and source metadata. */
|
|
853
967
|
getAllTools(): ToolInfo[];
|
|
854
968
|
/** Set the active tools by name. */
|
|
855
969
|
setActiveTools(toolNames: string[]): void;
|
|
@@ -878,7 +992,7 @@ export interface ExtensionAPI {
|
|
|
878
992
|
* // Register a new provider with custom models
|
|
879
993
|
* pi.registerProvider("my-proxy", {
|
|
880
994
|
* baseUrl: "https://proxy.example.com",
|
|
881
|
-
* apiKey: "PROXY_API_KEY",
|
|
995
|
+
* apiKey: "$PROXY_API_KEY",
|
|
882
996
|
* api: "anthropic-messages",
|
|
883
997
|
* models: [
|
|
884
998
|
* {
|
|
@@ -913,6 +1027,7 @@ export interface ExtensionAPI {
|
|
|
913
1027
|
* }
|
|
914
1028
|
* });
|
|
915
1029
|
*/
|
|
1030
|
+
registerProvider(provider: Provider): void;
|
|
916
1031
|
registerProvider(name: string, config: ProviderConfig): void;
|
|
917
1032
|
/**
|
|
918
1033
|
* Unregister a previously registered provider.
|
|
@@ -933,13 +1048,20 @@ export interface ExtensionAPI {
|
|
|
933
1048
|
}
|
|
934
1049
|
/** Configuration for registering a provider via pi.registerProvider(). */
|
|
935
1050
|
export interface ProviderConfig {
|
|
1051
|
+
/** Display name for the provider in UI. */
|
|
1052
|
+
name?: string;
|
|
936
1053
|
/** Base URL for the API endpoint. Required when defining models. */
|
|
937
1054
|
baseUrl?: string;
|
|
938
|
-
/** API key or
|
|
1055
|
+
/** API key literal, env interpolation ($ENV_VAR or ${ENV_VAR}), or leading !command. Required when defining models (unless oauth provided). */
|
|
939
1056
|
apiKey?: string;
|
|
940
1057
|
/** API type. Required at provider or model level when defining models. */
|
|
941
1058
|
api?: Api;
|
|
942
|
-
/**
|
|
1059
|
+
/**
|
|
1060
|
+
* Optional streamSimple handler for custom APIs.
|
|
1061
|
+
* Implementations must invoke `options.onPayload` before sending the provider request and use any
|
|
1062
|
+
* returned replacement payload. They must invoke `options.onResponse` after receiving the response
|
|
1063
|
+
* and before consuming its body, matching built-in providers.
|
|
1064
|
+
*/
|
|
943
1065
|
streamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
|
|
944
1066
|
/** Custom headers to include in requests. */
|
|
945
1067
|
headers?: Record<string, string>;
|
|
@@ -947,17 +1069,26 @@ export interface ProviderConfig {
|
|
|
947
1069
|
authHeader?: boolean;
|
|
948
1070
|
/** Models to register. If provided, replaces all existing models for this provider. */
|
|
949
1071
|
models?: ProviderModelConfig[];
|
|
1072
|
+
/**
|
|
1073
|
+
* Refresh this provider's model list. The returned list replaces extension-provided models.
|
|
1074
|
+
* Use context.publish({ persist: entry }) when the catalog should persist across sessions.
|
|
1075
|
+
*/
|
|
1076
|
+
refreshModels?(context: RefreshModelsContext): Promise<ProviderModelConfig[]>;
|
|
950
1077
|
/** OAuth provider for /login support. The `id` is set automatically from the provider name. */
|
|
951
1078
|
oauth?: {
|
|
952
1079
|
/** Display name for the provider in login UI. */
|
|
953
1080
|
name: string;
|
|
1081
|
+
/** Whether access through this auth method is backed by a provider subscription. */
|
|
1082
|
+
isSubscription?: boolean;
|
|
1083
|
+
/** @deprecated Retained for source compatibility; canonical auth flows ignore it. */
|
|
1084
|
+
usesCallbackServer?: boolean;
|
|
954
1085
|
/** Run the login flow, return credentials to persist. */
|
|
955
1086
|
login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
|
|
956
1087
|
/** Refresh expired credentials, return updated credentials to persist. */
|
|
957
|
-
refreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;
|
|
1088
|
+
refreshToken(credentials: OAuthCredentials, signal: AbortSignal): Promise<OAuthCredentials>;
|
|
958
1089
|
/** Convert credentials to API key string for the provider. */
|
|
959
1090
|
getApiKey(credentials: OAuthCredentials): string;
|
|
960
|
-
/**
|
|
1091
|
+
/** Legacy synchronous credential-dependent model projection. */
|
|
961
1092
|
modifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];
|
|
962
1093
|
};
|
|
963
1094
|
}
|
|
@@ -969,17 +1100,16 @@ export interface ProviderModelConfig {
|
|
|
969
1100
|
name: string;
|
|
970
1101
|
/** API type override for this model. */
|
|
971
1102
|
api?: Api;
|
|
1103
|
+
/** API endpoint URL override for this model. */
|
|
1104
|
+
baseUrl?: string;
|
|
972
1105
|
/** Whether the model supports extended thinking. */
|
|
973
1106
|
reasoning: boolean;
|
|
1107
|
+
/** Maps mcpi thinking levels to provider/model-specific values; null marks a level unsupported. */
|
|
1108
|
+
thinkingLevelMap?: Model<Api>["thinkingLevelMap"];
|
|
974
1109
|
/** Supported input types. */
|
|
975
1110
|
input: ("text" | "image")[];
|
|
976
|
-
/**
|
|
977
|
-
cost:
|
|
978
|
-
input: number;
|
|
979
|
-
output: number;
|
|
980
|
-
cacheRead: number;
|
|
981
|
-
cacheWrite: number;
|
|
982
|
-
};
|
|
1111
|
+
/** Per-million-token cost rates and optional request-wide input pricing tiers. */
|
|
1112
|
+
cost: Model<Api>["cost"];
|
|
983
1113
|
/** Maximum context window size in tokens. */
|
|
984
1114
|
contextWindow: number;
|
|
985
1115
|
/** Maximum output tokens. */
|
|
@@ -991,6 +1121,13 @@ export interface ProviderModelConfig {
|
|
|
991
1121
|
}
|
|
992
1122
|
/** Extension factory function type. Supports both sync and async initialization. */
|
|
993
1123
|
export type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;
|
|
1124
|
+
export type InlineExtension = ExtensionFactory | {
|
|
1125
|
+
/** Display name shown as `<inline:name>` in the startup Extensions list. */
|
|
1126
|
+
name: string;
|
|
1127
|
+
factory: ExtensionFactory;
|
|
1128
|
+
/** Omit this extension from the startup Extensions list. */
|
|
1129
|
+
hidden?: boolean;
|
|
1130
|
+
};
|
|
994
1131
|
export interface RegisteredTool {
|
|
995
1132
|
definition: ToolDefinition;
|
|
996
1133
|
sourceInfo: SourceInfo;
|
|
@@ -1015,13 +1152,14 @@ export type SendMessageHandler = <T = unknown>(message: Pick<CustomMessage<T>, "
|
|
|
1015
1152
|
}) => void;
|
|
1016
1153
|
export type SendUserMessageHandler = (content: string | (TextContent | ImageContent)[], options?: {
|
|
1017
1154
|
deliverAs?: "steer" | "followUp";
|
|
1155
|
+
expandPromptTemplates?: boolean;
|
|
1018
1156
|
}) => void;
|
|
1019
1157
|
export type AppendEntryHandler = <T = unknown>(customType: string, data?: T) => void;
|
|
1020
1158
|
export type SetSessionNameHandler = (name: string) => void;
|
|
1021
1159
|
export type GetSessionNameHandler = () => string | undefined;
|
|
1022
1160
|
export type GetActiveToolsHandler = () => string[];
|
|
1023
|
-
/** Tool info with name, description, parameter schema, and source metadata */
|
|
1024
|
-
export type ToolInfo = Pick<ToolDefinition, "name" | "description" | "parameters"> & {
|
|
1161
|
+
/** Tool info with name, description, parameter schema, prompt guidelines, and source metadata. */
|
|
1162
|
+
export type ToolInfo = Pick<ToolDefinition, "name" | "description" | "parameters" | "promptGuidelines"> & {
|
|
1025
1163
|
sourceInfo: SourceInfo;
|
|
1026
1164
|
};
|
|
1027
1165
|
export type GetAllToolsHandler = () => ToolInfo[];
|
|
@@ -1038,16 +1176,29 @@ export type SetLabelHandler = (entryId: string, label: string | undefined) => vo
|
|
|
1038
1176
|
*/
|
|
1039
1177
|
export interface ExtensionRuntimeState {
|
|
1040
1178
|
flagValues: Map<string, boolean | string>;
|
|
1041
|
-
/**
|
|
1179
|
+
/**
|
|
1180
|
+
* Session-scoped environment mutations applied to spawned subprocesses.
|
|
1181
|
+
* `null` masks a variable inherited from mcpi's own environment.
|
|
1182
|
+
* Shared across all extensions loaded into the session.
|
|
1183
|
+
*/
|
|
1184
|
+
sessionEnv: Map<string, string | null>;
|
|
1185
|
+
/** Legacy provider-config registrations queued during extension loading, processed when runner binds. */
|
|
1042
1186
|
pendingProviderRegistrations: Array<{
|
|
1043
1187
|
name: string;
|
|
1044
1188
|
config: ProviderConfig;
|
|
1045
1189
|
extensionPath: string;
|
|
1046
1190
|
}>;
|
|
1191
|
+
/** Native mcpi-ai provider registrations queued during extension loading, processed when runner binds. */
|
|
1192
|
+
pendingNativeProviderRegistrations: Array<{
|
|
1193
|
+
provider: Provider;
|
|
1194
|
+
extensionPath: string;
|
|
1195
|
+
}>;
|
|
1047
1196
|
/** Throws when this extension instance is stale after runtime replacement. */
|
|
1048
1197
|
assertActive: () => void;
|
|
1049
1198
|
/** Marks this extension instance as stale after runtime replacement or reload. */
|
|
1050
1199
|
invalidate: (message?: string) => void;
|
|
1200
|
+
/** Retain an event-bus subscription until this runtime is invalidated. */
|
|
1201
|
+
trackEventBusSubscription: (unsubscribe: () => void) => () => void;
|
|
1051
1202
|
/**
|
|
1052
1203
|
* Register or unregister a provider.
|
|
1053
1204
|
*
|
|
@@ -1055,6 +1206,7 @@ export interface ExtensionRuntimeState {
|
|
|
1055
1206
|
* After bindCore(): calls ModelRegistry directly for immediate effect.
|
|
1056
1207
|
*/
|
|
1057
1208
|
registerProvider: (name: string, config: ProviderConfig, extensionPath?: string) => void;
|
|
1209
|
+
registerNativeProvider: (provider: Provider, extensionPath?: string) => void;
|
|
1058
1210
|
unregisterProvider: (name: string, extensionPath?: string) => void;
|
|
1059
1211
|
}
|
|
1060
1212
|
/**
|
|
@@ -1083,7 +1235,9 @@ export interface ExtensionActions {
|
|
|
1083
1235
|
*/
|
|
1084
1236
|
export interface ExtensionContextActions {
|
|
1085
1237
|
getModel: () => Model<any> | undefined;
|
|
1238
|
+
getScopedModels: () => readonly ScopedModel[];
|
|
1086
1239
|
isIdle: () => boolean;
|
|
1240
|
+
isProjectTrusted: () => boolean;
|
|
1087
1241
|
getSignal: () => AbortSignal | undefined;
|
|
1088
1242
|
abort: () => void;
|
|
1089
1243
|
hasPendingMessages: () => boolean;
|
|
@@ -1091,6 +1245,7 @@ export interface ExtensionContextActions {
|
|
|
1091
1245
|
getContextUsage: () => ContextUsage | undefined;
|
|
1092
1246
|
compact: (options?: CompactOptions) => void;
|
|
1093
1247
|
getSystemPrompt: () => string;
|
|
1248
|
+
getSystemPromptOptions?: () => BuildSystemPromptOptions;
|
|
1094
1249
|
}
|
|
1095
1250
|
/**
|
|
1096
1251
|
* Actions for ExtensionCommandContext (ctx.* in command handlers).
|
|
@@ -1136,10 +1291,13 @@ export interface ExtensionRuntime extends ExtensionRuntimeState, ExtensionAction
|
|
|
1136
1291
|
export interface Extension {
|
|
1137
1292
|
path: string;
|
|
1138
1293
|
resolvedPath: string;
|
|
1294
|
+
hidden?: boolean;
|
|
1139
1295
|
sourceInfo: SourceInfo;
|
|
1140
1296
|
handlers: Map<string, HandlerFn[]>;
|
|
1141
1297
|
tools: Map<string, RegisteredTool>;
|
|
1142
1298
|
messageRenderers: Map<string, MessageRenderer>;
|
|
1299
|
+
markdownTransformer?: MarkdownTransformer;
|
|
1300
|
+
entryRenderers?: Map<string, EntryRenderer>;
|
|
1143
1301
|
commands: Map<string, RegisteredCommand>;
|
|
1144
1302
|
flags: Map<string, ExtensionFlag>;
|
|
1145
1303
|
shortcuts: Map<KeyId, ExtensionShortcut>;
|