@sammorrowdrums/mcpi 0.70.9 → 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 +658 -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 +160 -87
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +32 -13
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +192 -4
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +217 -69
- 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 -7
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +220 -188
- 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
package/README.md
CHANGED
|
@@ -1,44 +1,16 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<a href="https://
|
|
3
|
-
<img src="https://pi.dev/logo.svg" alt="pi logo" width="128">
|
|
4
|
-
</a>
|
|
5
|
-
</p>
|
|
6
|
-
<p align="center">
|
|
7
|
-
<a href="https://discord.com/invite/3cU7Bz4UPx"><img alt="Discord" src="https://img.shields.io/badge/discord-community-5865F2?style=flat-square&logo=discord&logoColor=white" /></a>
|
|
8
|
-
<a href="https://www.npmjs.com/package/@mariozechner/pi-coding-agent"><img alt="npm" src="https://img.shields.io/npm/v/@mariozechner/pi-coding-agent?style=flat-square" /></a>
|
|
9
|
-
<a href="https://github.com/badlogic/pi-mono/actions/workflows/ci.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/badlogic/pi-mono/ci.yml?style=flat-square&branch=main" /></a>
|
|
10
|
-
</p>
|
|
11
|
-
<p align="center">
|
|
12
|
-
<a href="https://pi.dev">pi.dev</a> domain graciously donated by
|
|
13
|
-
<br /><br />
|
|
14
|
-
<a href="https://exe.dev"><img src="docs/images/exy.png" alt="Exy mascot" width="48" /><br />exe.dev</a>
|
|
2
|
+
<a href="https://www.npmjs.com/package/@sammorrowdrums/mcpi"><img alt="npm" src="https://img.shields.io/npm/v/@sammorrowdrums/mcpi?style=flat-square" /></a>
|
|
15
3
|
</p>
|
|
16
4
|
|
|
17
5
|
> New issues and PRs from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. See [CONTRIBUTING.md](../../CONTRIBUTING.md).
|
|
18
6
|
|
|
19
7
|
---
|
|
20
8
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Pi ships with powerful defaults but skips features like sub agents and plan mode. Instead, you can ask pi to build what you want or install a third party pi package that matches your workflow.
|
|
24
|
-
|
|
25
|
-
Pi runs in four modes: interactive, print or JSON, RPC for process integration, and an SDK for embedding in your own apps. See [openclaw/openclaw](https://github.com/openclaw/openclaw) for a real-world SDK integration.
|
|
26
|
-
|
|
27
|
-
## Share your OSS coding agent sessions
|
|
28
|
-
|
|
29
|
-
If you use pi for open source work, please share your coding agent sessions.
|
|
30
|
-
|
|
31
|
-
Public OSS session data helps improve models, prompts, tools, and evaluations using real development workflows.
|
|
9
|
+
mcpi is a minimal terminal coding harness, forked from [earendil-works/pi](https://github.com/earendil-works/pi). Adapt it to your workflows, not the other way around, without having to fork and modify its internals. Extend it with TypeScript [Extensions](#extensions), [Skills](#skills), [Prompt Templates](#prompt-templates), and [Themes](#themes). Put your extensions, skills, prompt templates, and themes in [mcpi packages](#mcpi-packages) and share them with others via npm or git.
|
|
32
10
|
|
|
33
|
-
|
|
11
|
+
mcpi ships with powerful defaults but skips features like sub agents and plan mode. Instead, you can ask it to build what you want or install a third-party mcpi package that matches your workflow.
|
|
34
12
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
You can also watch [this video](https://x.com/badlogicgames/status/2041151967695634619), where I show how I publish my `pi-mono` sessions.
|
|
38
|
-
|
|
39
|
-
I regularly publish my own `pi-mono` work sessions here:
|
|
40
|
-
|
|
41
|
-
- [badlogicgames/pi-mono on Hugging Face](https://huggingface.co/datasets/badlogicgames/pi-mono)
|
|
13
|
+
mcpi runs in four modes: interactive, print or JSON, RPC for process integration, and an SDK for embedding in your own apps.
|
|
42
14
|
|
|
43
15
|
## Table of Contents
|
|
44
16
|
|
|
@@ -59,7 +31,7 @@ I regularly publish my own `pi-mono` work sessions here:
|
|
|
59
31
|
- [Skills](#skills)
|
|
60
32
|
- [Extensions](#extensions)
|
|
61
33
|
- [Themes](#themes)
|
|
62
|
-
- [
|
|
34
|
+
- [mcpi Packages](#mcpi-packages)
|
|
63
35
|
- [Programmatic Usage](#programmatic-usage)
|
|
64
36
|
- [Philosophy](#philosophy)
|
|
65
37
|
- [CLI Reference](#cli-reference)
|
|
@@ -69,24 +41,29 @@ I regularly publish my own `pi-mono` work sessions here:
|
|
|
69
41
|
## Quick Start
|
|
70
42
|
|
|
71
43
|
```bash
|
|
72
|
-
npm install -g @
|
|
44
|
+
npm install -g --ignore-scripts @sammorrowdrums/mcpi
|
|
73
45
|
```
|
|
74
46
|
|
|
47
|
+
`--ignore-scripts` disables dependency lifecycle scripts during install. mcpi does not require install scripts for normal npm installs.
|
|
48
|
+
|
|
49
|
+
Standalone binaries are published on the
|
|
50
|
+
[mcpi releases page](https://github.com/SamMorrowDrums/mcpi/releases).
|
|
51
|
+
|
|
75
52
|
Authenticate with an API key:
|
|
76
53
|
|
|
77
54
|
```bash
|
|
78
55
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
79
|
-
|
|
56
|
+
mcpi
|
|
80
57
|
```
|
|
81
58
|
|
|
82
59
|
Or use your existing subscription:
|
|
83
60
|
|
|
84
61
|
```bash
|
|
85
|
-
|
|
62
|
+
mcpi
|
|
86
63
|
/login # Then select provider
|
|
87
64
|
```
|
|
88
65
|
|
|
89
|
-
Then just talk to
|
|
66
|
+
Then just talk to mcpi. By default, mcpi gives the model four tools: `read`, `write`, `edit`, and `bash`. The model uses these to fulfill your requests. Add capabilities via [skills](#skills), [prompt templates](#prompt-templates), [extensions](#extensions), or [mcpi packages](#mcpi-packages).
|
|
90
67
|
|
|
91
68
|
**Platform notes:** [Windows](docs/windows.md) | [Termux (Android)](docs/termux.md) | [tmux](docs/tmux.md) | [Terminal setup](docs/terminal-setup.md) | [Shell aliases](docs/shell-aliases.md)
|
|
92
69
|
|
|
@@ -94,39 +71,51 @@ Then just talk to pi. By default, pi gives the model four tools: `read`, `write`
|
|
|
94
71
|
|
|
95
72
|
## Providers & Models
|
|
96
73
|
|
|
97
|
-
For each built-in provider,
|
|
74
|
+
For each built-in provider, mcpi maintains a list of tool-capable models. Configured provider catalogs refresh automatically; run `mcpi update --models` to force an immediate refresh. Authenticate via subscription (`/login`) or API key, then select any model from that provider via `/model` (or Ctrl+L).
|
|
98
75
|
|
|
99
76
|
**Subscriptions:**
|
|
100
77
|
- Anthropic Claude Pro/Max
|
|
101
78
|
- OpenAI ChatGPT Plus/Pro (Codex)
|
|
102
79
|
- GitHub Copilot
|
|
103
|
-
- Google Gemini CLI
|
|
104
|
-
- Google Antigravity
|
|
105
80
|
|
|
106
81
|
**API keys:**
|
|
107
82
|
- Anthropic
|
|
83
|
+
- Ant Ling
|
|
108
84
|
- OpenAI
|
|
109
85
|
- Azure OpenAI
|
|
86
|
+
- DeepSeek
|
|
87
|
+
- NVIDIA NIM
|
|
110
88
|
- Google Gemini
|
|
111
89
|
- Google Vertex
|
|
112
90
|
- Amazon Bedrock
|
|
113
91
|
- Mistral
|
|
114
92
|
- Groq
|
|
115
93
|
- Cerebras
|
|
94
|
+
- Cloudflare AI Gateway
|
|
95
|
+
- Cloudflare Workers AI
|
|
116
96
|
- xAI
|
|
117
97
|
- OpenRouter
|
|
118
98
|
- Vercel AI Gateway
|
|
119
|
-
- ZAI
|
|
99
|
+
- ZAI Coding Plan (Global)
|
|
100
|
+
- ZAI Coding Plan (China)
|
|
120
101
|
- OpenCode Zen
|
|
121
102
|
- OpenCode Go
|
|
122
103
|
- Hugging Face
|
|
123
104
|
- Fireworks
|
|
105
|
+
- Together AI
|
|
106
|
+
- Baseten
|
|
124
107
|
- Kimi For Coding
|
|
125
108
|
- MiniMax
|
|
109
|
+
- Xiaomi MiMo
|
|
110
|
+
- Xiaomi MiMo Token Plan (China)
|
|
111
|
+
- Xiaomi MiMo Token Plan (Amsterdam)
|
|
112
|
+
- Xiaomi MiMo Token Plan (Singapore)
|
|
126
113
|
|
|
127
|
-
See [docs/
|
|
114
|
+
mcpi also supports the llama.cpp router server. Configure it with `/login llama.cpp`, manage downloads and loaded models with `/llama`, then select a loaded model with `/model`. See [docs/llama-cpp.md](docs/llama-cpp.md) for setup and usage.
|
|
128
115
|
|
|
129
|
-
|
|
116
|
+
See [docs/providers.md](docs/providers.md) for other provider setup instructions.
|
|
117
|
+
|
|
118
|
+
**Custom providers & models:** Add providers via `$XDG_CONFIG_HOME/mcpi/models.json` (default `~/.config/mcpi/models.json`) if they speak a supported API (OpenAI, Anthropic, Google). For custom APIs or OAuth, use extensions. See [docs/models.md](docs/models.md) and [docs/custom-provider.md](docs/custom-provider.md).
|
|
130
119
|
|
|
131
120
|
---
|
|
132
121
|
|
|
@@ -139,7 +128,7 @@ The interface from top to bottom:
|
|
|
139
128
|
- **Startup header** - Shows shortcuts (`/hotkeys` for all), loaded AGENTS.md files, prompt templates, skills, and extensions
|
|
140
129
|
- **Messages** - Your messages, assistant responses, tool calls and results, notifications, errors, and extension UI
|
|
141
130
|
- **Editor** - Where you type; border color indicates thinking level
|
|
142
|
-
- **Footer** - Working directory, session name, total token/cache usage, cost, context usage, current model
|
|
131
|
+
- **Footer** - Working directory, session name, total token/cache usage (`↑` input, `↓` output, `R` cache read, `W` cache write, `CH` latest cache hit rate), cost, context usage, current model. Totals include assistant responses, usage reported by tools, and summary generation.
|
|
143
132
|
|
|
144
133
|
The editor can be temporarily replaced by other UI, like built-in `/settings` or custom UI from extensions (e.g., a Q&A tool that lets the user answer model questions in a structured format). [Extensions](#extensions) can also replace the editor, add widgets above/below it, a status line, custom footer, or overlays.
|
|
145
134
|
|
|
@@ -150,7 +139,8 @@ The editor can be temporarily replaced by other UI, like built-in `/settings` or
|
|
|
150
139
|
| File reference | Type `@` to fuzzy-search project files |
|
|
151
140
|
| Path completion | Tab to complete paths |
|
|
152
141
|
| Multi-line | Shift+Enter (or Ctrl+Enter on Windows Terminal) |
|
|
153
|
-
|
|
|
142
|
+
| External editor | Ctrl+G opens `externalEditor`, `$VISUAL`, `$EDITOR`, Notepad on Windows, or `nano` elsewhere |
|
|
143
|
+
| Clipboard | Ctrl+V to paste an image or text (Alt+V on Windows), or drag images onto terminal |
|
|
154
144
|
| Bash commands | `!command` runs and sends output to LLM, `!!command` runs without sending |
|
|
155
145
|
|
|
156
146
|
Standard editing keybindings for delete word, undo, etc. See [docs/keybindings.md](docs/keybindings.md).
|
|
@@ -161,7 +151,8 @@ Type `/` in the editor to trigger commands. [Extensions](#extensions) can regist
|
|
|
161
151
|
|
|
162
152
|
| Command | Description |
|
|
163
153
|
|---------|-------------|
|
|
164
|
-
| `/login`, `/logout` |
|
|
154
|
+
| `/login`, `/logout` | Manage provider credentials |
|
|
155
|
+
| [`/llama`](docs/llama-cpp.md) | Download, load, and unload llama.cpp router models |
|
|
165
156
|
| `/model` | Switch models |
|
|
166
157
|
| `/scoped-models` | Enable/disable models for Ctrl+P cycling |
|
|
167
158
|
| `/settings` | Thinking level, theme, message delivery, transport |
|
|
@@ -170,20 +161,22 @@ Type `/` in the editor to trigger commands. [Extensions](#extensions) can regist
|
|
|
170
161
|
| `/name <name>` | Set session display name |
|
|
171
162
|
| `/session` | Show session info (file, ID, messages, tokens, cost) |
|
|
172
163
|
| `/tree` | Jump to any point in the session and continue from there |
|
|
164
|
+
| `/trust` | Save project trust decision for future sessions (restart required) |
|
|
173
165
|
| `/fork` | Create a new session from a previous user message |
|
|
174
166
|
| `/clone` | Duplicate the current active branch into a new session |
|
|
175
167
|
| `/compact [prompt]` | Manually compact context, optional custom instructions |
|
|
176
168
|
| `/copy` | Copy last assistant message to clipboard |
|
|
177
|
-
| `/export [file]` | Export session to HTML file |
|
|
169
|
+
| `/export [file]` | Export session to HTML or JSONL file |
|
|
170
|
+
| `/import <file>` | Import and resume a session from a JSONL file |
|
|
178
171
|
| `/share` | Upload as private GitHub gist with shareable HTML link |
|
|
179
|
-
| `/reload` | Reload keybindings, extensions, skills, prompts, and context files
|
|
172
|
+
| `/reload` | Reload keybindings, extensions, skills, prompts, themes, and context files |
|
|
180
173
|
| `/hotkeys` | Show all keyboard shortcuts |
|
|
181
174
|
| `/changelog` | Display version history |
|
|
182
|
-
| `/quit` | Quit
|
|
175
|
+
| `/quit` | Quit mcpi |
|
|
183
176
|
|
|
184
177
|
### Keyboard Shortcuts
|
|
185
178
|
|
|
186
|
-
See `/hotkeys` for the full list. Customize via `~/.
|
|
179
|
+
See `/hotkeys` for the full list. Customize via `$XDG_CONFIG_HOME/mcpi/keybindings.json` (default `~/.config/mcpi/keybindings.json`). See [docs/keybindings.md](docs/keybindings.md).
|
|
187
180
|
|
|
188
181
|
**Commonly used:**
|
|
189
182
|
|
|
@@ -198,6 +191,7 @@ See `/hotkeys` for the full list. Customize via `~/.pi/agent/keybindings.json`.
|
|
|
198
191
|
| Shift+Tab | Cycle thinking level |
|
|
199
192
|
| Ctrl+O | Collapse/expand tool output |
|
|
200
193
|
| Ctrl+T | Collapse/expand thinking blocks |
|
|
194
|
+
| Ctrl+X | Copy the last assistant message |
|
|
201
195
|
|
|
202
196
|
### Message Queue
|
|
203
197
|
|
|
@@ -208,7 +202,7 @@ Submit messages while the agent is working:
|
|
|
208
202
|
- **Escape** aborts and restores queued messages to editor
|
|
209
203
|
- **Alt+Up** retrieves queued messages back to editor
|
|
210
204
|
|
|
211
|
-
On Windows Terminal, `Alt+Enter` is fullscreen by default. Remap it in [docs/terminal-setup.md](docs/terminal-setup.md) so
|
|
205
|
+
On Windows Terminal, `Alt+Enter` is fullscreen by default. Remap it in [docs/terminal-setup.md](docs/terminal-setup.md) so mcpi can receive the follow-up shortcut.
|
|
212
206
|
|
|
213
207
|
Configure delivery in [settings](docs/settings.md): `steeringMode` and `followUpMode` can be `"one-at-a-time"` (default, waits for response) or `"all"` (delivers all queued at once). `transport` selects provider transport preference (`"sse"`, `"websocket"`, or `"auto"`) for providers that support multiple transports.
|
|
214
208
|
|
|
@@ -216,18 +210,19 @@ Configure delivery in [settings](docs/settings.md): `steeringMode` and `followUp
|
|
|
216
210
|
|
|
217
211
|
## Sessions
|
|
218
212
|
|
|
219
|
-
Sessions are stored as JSONL files with a tree structure. Each entry has an `id` and `parentId`, enabling in-place branching without creating new files. See [docs/session.md](docs/session.md) for file format.
|
|
213
|
+
Sessions are stored as JSONL files with a tree structure. Each entry has an `id` and `parentId`, enabling in-place branching without creating new files. See [docs/session-format.md](docs/session-format.md) for file format.
|
|
220
214
|
|
|
221
215
|
### Management
|
|
222
216
|
|
|
223
|
-
Sessions auto-save to `~/.
|
|
217
|
+
Sessions auto-save to `$XDG_STATE_HOME/mcpi/sessions/` (default `~/.local/state/mcpi/sessions/`) organized by working directory.
|
|
224
218
|
|
|
225
219
|
```bash
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
220
|
+
mcpi -c # Continue most recent session
|
|
221
|
+
mcpi -r # Browse and select from past sessions
|
|
222
|
+
mcpi --no-session # Ephemeral mode (don't save)
|
|
223
|
+
mcpi --name "my task" # Set session display name at startup
|
|
224
|
+
mcpi --session <path|id> # Use specific session file or ID
|
|
225
|
+
mcpi --fork <path|id> # Fork specific session file or ID into a new session
|
|
231
226
|
```
|
|
232
227
|
|
|
233
228
|
Use `/session` in interactive mode to see the current session ID before reusing it with `--session <id>` or `--fork <id>`.
|
|
@@ -240,6 +235,7 @@ Use `/session` in interactive mode to see the current session ID before reusing
|
|
|
240
235
|
|
|
241
236
|
- Search by typing, fold/unfold and jump between branches with Ctrl+←/Ctrl+→ or Alt+←/Alt+→, page with ←/→
|
|
242
237
|
- Filter modes (Ctrl+O): default → no-tools → user-only → labeled-only → all
|
|
238
|
+
- Press Ctrl+X to copy the selected message
|
|
243
239
|
- Press Shift+L to label entries as bookmarks and Shift+T to toggle label timestamps
|
|
244
240
|
|
|
245
241
|
**`/fork`** - Create a new session file from a previous user message on the active branch. Opens a selector, copies the active path up to that point, and places the selected prompt in the editor for modification.
|
|
@@ -266,29 +262,50 @@ Use `/settings` to modify common options, or edit JSON files directly:
|
|
|
266
262
|
|
|
267
263
|
| Location | Scope |
|
|
268
264
|
|----------|-------|
|
|
269
|
-
| `~/.
|
|
270
|
-
| `.
|
|
265
|
+
| `$XDG_CONFIG_HOME/mcpi/settings.json` (default `~/.config/mcpi/settings.json`) | Global (all projects) |
|
|
266
|
+
| `.mcpi/settings.json` | Project (overrides global) |
|
|
271
267
|
|
|
272
268
|
See [docs/settings.md](docs/settings.md) for all options.
|
|
273
269
|
|
|
274
|
-
|
|
270
|
+
### Project Trust
|
|
271
|
+
|
|
272
|
+
On interactive startup, mcpi asks before trusting a project folder that contains project-local settings, resources, or project `.agents/skills` and has no saved decision for the folder or a parent folder in `$XDG_CONFIG_HOME/mcpi/trust.json`. Trusting a project allows mcpi to load `.mcpi/settings.json` and `.mcpi` resources, install missing project packages, and execute project extensions.
|
|
273
|
+
|
|
274
|
+
Before the trust decision, mcpi loads only context files, user/global extensions, and CLI `-e` extensions so they can handle the `project_trust` event. Project-local extensions, project package-managed extensions, and project settings are loaded only after the project is trusted. This split also applies when switching to a session from a different cwd whose trust has not been resolved in the current process.
|
|
275
|
+
|
|
276
|
+
Non-interactive modes (`-p`, `--mode json`, and `--mode rpc`) do not show a trust prompt. Without an applicable saved trust decision, they use `defaultProjectTrust` from global settings: `ask` (default) and `never` ignore those project resources, while `always` trusts them. Pass `--approve`/`-a` or `--no-approve`/`-na` to override project trust for one run.
|
|
277
|
+
|
|
278
|
+
If no extension or saved decision applies, `defaultProjectTrust` controls the fallback behavior. Set it to `"ask"`, `"always"`, or `"never"` in `$XDG_CONFIG_HOME/mcpi/settings.json`, or change it with `/settings`.
|
|
279
|
+
|
|
280
|
+
`mcpi config` and package commands use the same project trust flow, except `mcpi update` never prompts. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them.
|
|
281
|
+
|
|
282
|
+
Use `/trust` in interactive mode to save a project trust decision for future sessions, including trust for the immediate parent folder. It writes `$XDG_CONFIG_HOME/mcpi/trust.json` only; the current session is not reloaded, so restart mcpi for changes to take effect.
|
|
283
|
+
|
|
284
|
+
### Telemetry and update checks
|
|
285
|
+
|
|
286
|
+
- **Update check:** fetches the [mcpi releases feed](https://api.github.com/repos/SamMorrowDrums/mcpi/releases/latest) to check whether a newer version exists. Disable it with `MCPI_SKIP_VERSION_CHECK=1`.
|
|
287
|
+
- **Install/update telemetry:** mcpi sends none. The `enableInstallTelemetry` setting now only controls optional provider attribution headers for OpenRouter, Cloudflare, and direct NVIDIA NIM requests. Opt out by setting `enableInstallTelemetry` to `false` in `settings.json`, or by setting `MCPI_TELEMETRY=0`. This does not disable update checks.
|
|
288
|
+
|
|
289
|
+
Use `--offline` or `MCPI_OFFLINE=1` to disable all startup network operations described here, including update checks and package update checks.
|
|
275
290
|
|
|
276
291
|
---
|
|
277
292
|
|
|
278
293
|
## Context Files
|
|
279
294
|
|
|
280
|
-
|
|
281
|
-
-
|
|
295
|
+
mcpi loads `AGENTS.md` (or `CLAUDE.md`) at startup from:
|
|
296
|
+
- `$XDG_CONFIG_HOME/mcpi/AGENTS.md` (global)
|
|
282
297
|
- Parent directories (walking up from cwd)
|
|
283
298
|
- Current directory
|
|
284
299
|
|
|
285
|
-
|
|
300
|
+
If a directory contains `AGENTS.override.md`, mcpi loads it instead of `AGENTS.md` or `CLAUDE.md` from that directory. Context files from other directories are still concatenated.
|
|
301
|
+
|
|
302
|
+
Use for project instructions (`AGENTS.md`/`CLAUDE.md`), conventions, common commands. All matching files are concatenated.
|
|
286
303
|
|
|
287
304
|
Disable context file loading with `--no-context-files` (or `-nc`).
|
|
288
305
|
|
|
289
306
|
### System Prompt
|
|
290
307
|
|
|
291
|
-
Replace the default system prompt with `.
|
|
308
|
+
Replace the default system prompt with `.mcpi/SYSTEM.md` (project) or `$XDG_CONFIG_HOME/mcpi/SYSTEM.md` (global). Append without replacing via `APPEND_SYSTEM.md`.
|
|
292
309
|
|
|
293
310
|
---
|
|
294
311
|
|
|
@@ -299,19 +316,19 @@ Replace the default system prompt with `.pi/SYSTEM.md` (project) or `~/.pi/agent
|
|
|
299
316
|
Reusable prompts as Markdown files. Type `/name` to expand.
|
|
300
317
|
|
|
301
318
|
```markdown
|
|
302
|
-
<!-- ~/.
|
|
319
|
+
<!-- ~/.config/mcpi/prompts/review.md -->
|
|
303
320
|
Review this code for bugs, security issues, and performance problems.
|
|
304
321
|
Focus on: {{focus}}
|
|
305
322
|
```
|
|
306
323
|
|
|
307
|
-
Place in
|
|
324
|
+
Place in `$XDG_CONFIG_HOME/mcpi/prompts/`, `.mcpi/prompts/`, or an [mcpi package](#mcpi-packages) to share with others. See [docs/prompt-templates.md](docs/prompt-templates.md).
|
|
308
325
|
|
|
309
326
|
### Skills
|
|
310
327
|
|
|
311
328
|
On-demand capability packages following the [Agent Skills standard](https://agentskills.io). Invoke via `/skill:name` or let the agent load them automatically.
|
|
312
329
|
|
|
313
330
|
```markdown
|
|
314
|
-
<!-- ~/.
|
|
331
|
+
<!-- ~/.config/mcpi/skills/my-skill/SKILL.md -->
|
|
315
332
|
# My Skill
|
|
316
333
|
Use this skill when the user asks about X.
|
|
317
334
|
|
|
@@ -320,13 +337,13 @@ Use this skill when the user asks about X.
|
|
|
320
337
|
2. Then that
|
|
321
338
|
```
|
|
322
339
|
|
|
323
|
-
Place in
|
|
340
|
+
Place in `$XDG_CONFIG_HOME/mcpi/skills/`, `~/.agents/skills/`, `.mcpi/skills/`, or `.agents/skills/` (from `cwd` up through parent directories) or an [mcpi package](#mcpi-packages) to share with others. See [docs/skills.md](docs/skills.md).
|
|
324
341
|
|
|
325
342
|
### Extensions
|
|
326
343
|
|
|
327
344
|
<p align="center"><img src="docs/images/doom-extension.png" alt="Doom Extension" width="600"></p>
|
|
328
345
|
|
|
329
|
-
TypeScript modules that extend
|
|
346
|
+
TypeScript modules that extend mcpi with custom tools, commands, keyboard shortcuts, event handlers, and UI components.
|
|
330
347
|
|
|
331
348
|
```typescript
|
|
332
349
|
export default function (pi: ExtensionAPI) {
|
|
@@ -336,7 +353,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
336
353
|
}
|
|
337
354
|
```
|
|
338
355
|
|
|
339
|
-
The default export can also be `async`.
|
|
356
|
+
The default export can also be `async`. mcpi waits for async extension factories before startup continues, which is useful for one-time initialization such as fetching remote model lists before calling `pi.registerProvider()`. The extension callback name and `pi.*` methods are retained as the stable extension API.
|
|
340
357
|
|
|
341
358
|
**What's possible:**
|
|
342
359
|
- Custom tools (or replace built-in tools entirely)
|
|
@@ -348,50 +365,56 @@ The default export can also be `async`. pi waits for async extension factories b
|
|
|
348
365
|
- Git checkpointing and auto-commit
|
|
349
366
|
- SSH and sandbox execution
|
|
350
367
|
- MCP server integration
|
|
351
|
-
- Make
|
|
368
|
+
- Make mcpi look like Claude Code
|
|
352
369
|
- Games while waiting (yes, Doom runs)
|
|
353
370
|
- ...anything you can dream up
|
|
354
371
|
|
|
355
|
-
Place in
|
|
372
|
+
Place in `$XDG_CONFIG_HOME/mcpi/extensions/`, `.mcpi/extensions/`, or an [mcpi package](#mcpi-packages) to share with others. See [docs/extensions.md](docs/extensions.md) and [examples/extensions/](examples/extensions/).
|
|
356
373
|
|
|
357
374
|
### Themes
|
|
358
375
|
|
|
359
|
-
Built-in: `dark`, `light`. Themes hot-reload: modify the active theme file and
|
|
376
|
+
Built-in: `dark`, `light`. Themes hot-reload: modify the active theme file and mcpi immediately applies changes.
|
|
360
377
|
|
|
361
|
-
Place in
|
|
378
|
+
Place in `$XDG_CONFIG_HOME/mcpi/themes/`, `.mcpi/themes/`, or an [mcpi package](#mcpi-packages) to share with others. See [docs/themes.md](docs/themes.md).
|
|
362
379
|
|
|
363
|
-
###
|
|
380
|
+
### mcpi Packages
|
|
364
381
|
|
|
365
|
-
Bundle and share extensions, skills, prompts, and themes via npm or git. Find packages on [npmjs.com](https://www.npmjs.com/search?q=keywords%
|
|
382
|
+
Bundle and share extensions, skills, prompts, and themes via npm or git. Find packages on [npmjs.com](https://www.npmjs.com/search?q=keywords%3Amcpi-package) or [Discord](https://discord.com/channels/1456806362351669492/1457744485428629628).
|
|
366
383
|
|
|
367
|
-
> **Security:**
|
|
384
|
+
> **Security:** mcpi packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action including running executables. Review source code before installing third-party packages.
|
|
368
385
|
|
|
369
386
|
```bash
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
387
|
+
mcpi install npm:@foo/mcpi-tools
|
|
388
|
+
mcpi install npm:@foo/mcpi-tools@1.2.3 # pinned version
|
|
389
|
+
mcpi install git:github.com/user/repo
|
|
390
|
+
mcpi install git:github.com/user/repo@v1 # tag or commit
|
|
391
|
+
mcpi install git:git@github.com:user/repo
|
|
392
|
+
mcpi install git:git@github.com:user/repo@v1 # tag or commit
|
|
393
|
+
mcpi install https://github.com/user/repo
|
|
394
|
+
mcpi install https://github.com/user/repo@v1 # tag or commit
|
|
395
|
+
mcpi install ssh://git@github.com/user/repo
|
|
396
|
+
mcpi install ssh://git@github.com/user/repo@v1 # tag or commit
|
|
397
|
+
mcpi remove npm:@foo/mcpi-tools
|
|
398
|
+
mcpi uninstall npm:@foo/mcpi-tools # alias for remove
|
|
399
|
+
mcpi list
|
|
400
|
+
mcpi update # update mcpi only
|
|
401
|
+
mcpi update --all # update mcpi and packages
|
|
402
|
+
mcpi update --extensions # update packages only
|
|
403
|
+
mcpi update --models # refresh model catalogs only
|
|
404
|
+
mcpi update --self # update mcpi only
|
|
405
|
+
mcpi update --self --force # reinstall mcpi even if current
|
|
406
|
+
mcpi update npm:@foo/mcpi-tools # update one package
|
|
407
|
+
mcpi config # enable/disable extensions, skills, prompts, themes
|
|
385
408
|
```
|
|
386
409
|
|
|
387
|
-
Packages install to
|
|
410
|
+
Packages install to `$XDG_CACHE_HOME/mcpi/git/` (git) or `$XDG_CACHE_HOME/mcpi/npm/` (npm), defaulting to `~/.cache/mcpi/`. Use `-l` for project-local installs (`.mcpi/git/`, `.mcpi/npm/`). Git `@ref` values are pinned tags or commits; pinned packages are skipped by `mcpi update --extensions` and `mcpi update --all`, so use `mcpi install git:host/user/repo@new-ref` to move an existing package to a new ref. Git packages install dependencies with `npm install --omit=dev` by default, so runtime deps must be listed under `dependencies`; when `npmCommand` is configured, git packages use plain `install` for compatibility with wrappers. If you use a Node version manager and want package installs to reuse a stable npm context, set `npmCommand` in `settings.json`, for example `["mise", "exec", "node@20", "--", "npm"]`.
|
|
388
411
|
|
|
389
|
-
Create a package by adding a `pi` key to `package.json
|
|
412
|
+
Create a package by adding a `pi` key to `package.json`. This field name is retained as a stable extension-package compatibility API:
|
|
390
413
|
|
|
391
414
|
```json
|
|
392
415
|
{
|
|
393
|
-
"name": "my-
|
|
394
|
-
"keywords": ["
|
|
416
|
+
"name": "my-mcpi-package",
|
|
417
|
+
"keywords": ["mcpi-package"],
|
|
395
418
|
"pi": {
|
|
396
419
|
"extensions": ["./extensions"],
|
|
397
420
|
"skills": ["./skills"],
|
|
@@ -401,7 +424,7 @@ Create a package by adding a `pi` key to `package.json`:
|
|
|
401
424
|
}
|
|
402
425
|
```
|
|
403
426
|
|
|
404
|
-
Without a `pi` manifest,
|
|
427
|
+
Without a `pi` manifest, mcpi auto-discovers from conventional directories (`extensions/`, `skills/`, `prompts/`, `themes/`).
|
|
405
428
|
|
|
406
429
|
See [docs/packages.md](docs/packages.md).
|
|
407
430
|
|
|
@@ -412,14 +435,12 @@ See [docs/packages.md](docs/packages.md).
|
|
|
412
435
|
### SDK
|
|
413
436
|
|
|
414
437
|
```typescript
|
|
415
|
-
import {
|
|
438
|
+
import { createAgentSession, ModelRuntime, SessionManager } from "@sammorrowdrums/mcpi";
|
|
416
439
|
|
|
417
|
-
const
|
|
418
|
-
const modelRegistry = ModelRegistry.create(authStorage);
|
|
440
|
+
const modelRuntime = await ModelRuntime.create();
|
|
419
441
|
const { session } = await createAgentSession({
|
|
420
442
|
sessionManager: SessionManager.inMemory(),
|
|
421
|
-
|
|
422
|
-
modelRegistry,
|
|
443
|
+
modelRuntime,
|
|
423
444
|
});
|
|
424
445
|
|
|
425
446
|
await session.prompt("What files are in the current directory?");
|
|
@@ -434,7 +455,7 @@ See [docs/sdk.md](docs/sdk.md) and [examples/sdk/](examples/sdk/).
|
|
|
434
455
|
For non-Node.js integrations, use RPC mode over stdin/stdout:
|
|
435
456
|
|
|
436
457
|
```bash
|
|
437
|
-
|
|
458
|
+
mcpi --mode rpc
|
|
438
459
|
```
|
|
439
460
|
|
|
440
461
|
RPC mode uses strict LF-delimited JSONL framing. Clients must split records on `\n` only. Do not use generic line readers like Node `readline`, which also split on Unicode separators inside JSON payloads.
|
|
@@ -445,11 +466,11 @@ See [docs/rpc.md](docs/rpc.md) for the protocol.
|
|
|
445
466
|
|
|
446
467
|
## Philosophy
|
|
447
468
|
|
|
448
|
-
|
|
469
|
+
mcpi is aggressively extensible so it doesn't have to dictate your workflow. Features that other tools bake in can be built with [extensions](#extensions), [skills](#skills), or installed from third-party [mcpi packages](#mcpi-packages). This keeps the core minimal while letting you shape mcpi to fit how you work.
|
|
449
470
|
|
|
450
471
|
**No MCP.** Build CLI tools with READMEs (see [Skills](#skills)), or build an extension that adds MCP support. [Why?](https://mariozechner.at/posts/2025-11-02-what-if-you-dont-need-mcp/)
|
|
451
472
|
|
|
452
|
-
**No sub-agents.** There
|
|
473
|
+
**No sub-agents.** There are many ways to do this. Spawn mcpi instances via tmux, build your own with [extensions](#extensions), or install a package that does it your way.
|
|
453
474
|
|
|
454
475
|
**No permission popups.** Run in a container, or build your own confirmation flow with [extensions](#extensions) inline with your environment and security requirements.
|
|
455
476
|
|
|
@@ -459,27 +480,33 @@ Pi is aggressively extensible so it doesn't have to dictate your workflow. Featu
|
|
|
459
480
|
|
|
460
481
|
**No background bash.** Use tmux. Full observability, direct interaction.
|
|
461
482
|
|
|
462
|
-
Read the [blog post](https://mariozechner.at/posts/2025-11-30-pi-coding-agent/) for the full rationale.
|
|
463
|
-
|
|
464
483
|
---
|
|
465
484
|
|
|
466
485
|
## CLI Reference
|
|
467
486
|
|
|
468
487
|
```bash
|
|
469
|
-
|
|
488
|
+
mcpi [options] [@files...] [messages...]
|
|
470
489
|
```
|
|
471
490
|
|
|
472
491
|
### Package Commands
|
|
473
492
|
|
|
474
493
|
```bash
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
494
|
+
mcpi install <source> [-l] # Install package, -l for project-local
|
|
495
|
+
mcpi remove <source> [-l] # Remove package
|
|
496
|
+
mcpi uninstall <source> [-l] # Alias for remove
|
|
497
|
+
mcpi update [source|self] # Update mcpi only, or one package source
|
|
498
|
+
mcpi update --all # Update mcpi and packages
|
|
499
|
+
mcpi update --extensions # Update packages only
|
|
500
|
+
mcpi update --models # Refresh model catalogs only
|
|
501
|
+
mcpi update --self # Update mcpi only
|
|
502
|
+
mcpi update --self --force # Reinstall mcpi even if current
|
|
503
|
+
mcpi update --extension <src> # Update one package
|
|
504
|
+
mcpi list # List installed packages
|
|
505
|
+
mcpi config # Enable/disable package resources
|
|
481
506
|
```
|
|
482
507
|
|
|
508
|
+
`mcpi config` and project package commands accept `--approve`/`--no-approve` to trust or ignore project-local settings for one command. `mcpi update` never prompts for project trust.
|
|
509
|
+
|
|
483
510
|
### Modes
|
|
484
511
|
|
|
485
512
|
| Flag | Description |
|
|
@@ -490,10 +517,10 @@ pi config # Enable/disable package resources
|
|
|
490
517
|
| `--mode rpc` | RPC mode for process integration (see [docs/rpc.md](docs/rpc.md)) |
|
|
491
518
|
| `--export <in> [out]` | Export session to HTML |
|
|
492
519
|
|
|
493
|
-
In print mode,
|
|
520
|
+
In print mode, mcpi also reads piped stdin and merges it into the initial prompt:
|
|
494
521
|
|
|
495
522
|
```bash
|
|
496
|
-
cat README.md |
|
|
523
|
+
cat README.md | mcpi -p "Summarize this text"
|
|
497
524
|
```
|
|
498
525
|
|
|
499
526
|
### Model Options
|
|
@@ -503,7 +530,7 @@ cat README.md | pi -p "Summarize this text"
|
|
|
503
530
|
| `--provider <name>` | Provider (anthropic, openai, google, etc.) |
|
|
504
531
|
| `--model <pattern>` | Model pattern or ID (supports `provider/id` and optional `:<thinking>`) |
|
|
505
532
|
| `--api-key <key>` | API key (overrides env vars) |
|
|
506
|
-
| `--thinking <level>` | `off`, `minimal`, `low`, `medium`, `high`, `xhigh` |
|
|
533
|
+
| `--thinking <level>` | `off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max` |
|
|
507
534
|
| `--models <patterns>` | Comma-separated patterns for Ctrl+P cycling |
|
|
508
535
|
| `--list-models [search]` | List available models |
|
|
509
536
|
|
|
@@ -517,12 +544,14 @@ cat README.md | pi -p "Summarize this text"
|
|
|
517
544
|
| `--fork <path\|id>` | Fork specific session file or partial UUID into a new session |
|
|
518
545
|
| `--session-dir <dir>` | Custom session storage directory |
|
|
519
546
|
| `--no-session` | Ephemeral mode (don't save) |
|
|
547
|
+
| `--name <name>`, `-n <name>` | Set session display name at startup |
|
|
520
548
|
|
|
521
549
|
### Tool Options
|
|
522
550
|
|
|
523
551
|
| Option | Description |
|
|
524
552
|
|--------|-------------|
|
|
525
553
|
| `--tools <list>`, `-t <list>` | Allowlist specific tool names across built-in, extension, and custom tools |
|
|
554
|
+
| `--exclude-tools <list>`, `-xt <list>` | Disable specific tool names across built-in, extension, and custom tools |
|
|
526
555
|
| `--no-builtin-tools`, `-nbt` | Disable built-in tools by default but keep extension/custom tools enabled |
|
|
527
556
|
| `--no-tools`, `-nt` | Disable all tools by default |
|
|
528
557
|
|
|
@@ -550,7 +579,11 @@ Combine `--no-*` with explicit flags to load exactly what you need, ignoring set
|
|
|
550
579
|
|--------|-------------|
|
|
551
580
|
| `--system-prompt <text>` | Replace default prompt (context files and skills still appended) |
|
|
552
581
|
| `--append-system-prompt <text>` | Append to system prompt |
|
|
582
|
+
| `--tui-mode <mode>` | TUI mode: `regular` (default) or experimental `fullscreen` |
|
|
583
|
+
| `--use-theme <name[/name]>` | Set the initial interactive theme for this run without changing settings |
|
|
553
584
|
| `--verbose` | Force verbose startup |
|
|
585
|
+
| `-a`, `--approve` | Trust project-local files for this run |
|
|
586
|
+
| `-na`, `--no-approve` | Ignore project-local files for this run |
|
|
554
587
|
| `-h`, `--help` | Show help |
|
|
555
588
|
| `-v`, `--version` | Show version |
|
|
556
589
|
|
|
@@ -559,52 +592,76 @@ Combine `--no-*` with explicit flags to load exactly what you need, ignoring set
|
|
|
559
592
|
Prefix files with `@` to include in the message:
|
|
560
593
|
|
|
561
594
|
```bash
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
595
|
+
mcpi @prompt.md "Answer this"
|
|
596
|
+
mcpi -p @screenshot.png "What's in this image?"
|
|
597
|
+
mcpi @code.ts @test.ts "Review these files"
|
|
565
598
|
```
|
|
566
599
|
|
|
567
600
|
### Examples
|
|
568
601
|
|
|
569
602
|
```bash
|
|
570
603
|
# Interactive with initial prompt
|
|
571
|
-
|
|
604
|
+
mcpi "List all .ts files in src/"
|
|
572
605
|
|
|
573
606
|
# Non-interactive
|
|
574
|
-
|
|
607
|
+
mcpi -p "Summarize this codebase"
|
|
575
608
|
|
|
576
609
|
# Non-interactive with piped stdin
|
|
577
|
-
cat README.md |
|
|
610
|
+
cat README.md | mcpi -p "Summarize this text"
|
|
611
|
+
|
|
612
|
+
# Named one-shot session
|
|
613
|
+
mcpi --name "release audit" -p "Audit this repository"
|
|
578
614
|
|
|
579
615
|
# Different model
|
|
580
|
-
|
|
616
|
+
mcpi --provider openai --model gpt-4o "Help me refactor"
|
|
581
617
|
|
|
582
618
|
# Model with provider prefix (no --provider needed)
|
|
583
|
-
|
|
619
|
+
mcpi --model openai/gpt-4o "Help me refactor"
|
|
584
620
|
|
|
585
621
|
# Model with thinking level shorthand
|
|
586
|
-
|
|
622
|
+
mcpi --model sonnet:high "Solve this complex problem"
|
|
587
623
|
|
|
588
624
|
# Limit model cycling
|
|
589
|
-
|
|
625
|
+
mcpi --models "claude-*,gpt-4o"
|
|
590
626
|
|
|
591
627
|
# Read-only mode
|
|
592
|
-
|
|
628
|
+
mcpi --tools read,grep,find,ls -p "Review the code"
|
|
629
|
+
|
|
630
|
+
# Disable one extension or built-in tool while keeping the rest available
|
|
631
|
+
mcpi --exclude-tools ask_question
|
|
593
632
|
|
|
594
633
|
# High thinking level
|
|
595
|
-
|
|
634
|
+
mcpi --thinking high "Solve this complex problem"
|
|
596
635
|
```
|
|
597
636
|
|
|
598
637
|
### Environment Variables
|
|
599
638
|
|
|
600
639
|
| Variable | Description |
|
|
601
640
|
|----------|-------------|
|
|
602
|
-
| `
|
|
603
|
-
| `
|
|
604
|
-
| `
|
|
605
|
-
| `
|
|
606
|
-
| `
|
|
607
|
-
| `
|
|
641
|
+
| `AI_AGENT` | Set to `mcpi` by the CLI and RPC entry points so generic tooling can attribute child processes to mcpi |
|
|
642
|
+
| `MCPI_CODING_AGENT` | Set to `true` by the CLI and RPC entry points so child processes can detect that they run inside mcpi |
|
|
643
|
+
| `MCPI_CODING_AGENT_DIR` | Override config, state, and cache roots with one directory |
|
|
644
|
+
| `MCPI_CODING_AGENT_SESSION_DIR` | Override session storage directory (overridden by `--session-dir`) |
|
|
645
|
+
| `MCPI_PACKAGE_DIR` | Override package directory (useful for Nix/Guix where store paths tokenize poorly) |
|
|
646
|
+
| `MCPI_OFFLINE` | Disable startup network operations, including update checks and package update checks |
|
|
647
|
+
| `MCPI_SKIP_VERSION_CHECK` | Skip the version update check at startup. This prevents the GitHub releases latest-version request |
|
|
648
|
+
| `MCPI_TELEMETRY` | Override provider attribution headers. Use `1`/`true`/`yes` to enable or `0`/`false`/`no` to disable. This does not disable update checks |
|
|
649
|
+
| `MCPI_CATALOG_URL` | Opt in to a remote model catalog overlay; unset means the release's bundled catalog is used |
|
|
650
|
+
| `MCPI_SHARE_VIEWER_URL` | Base URL of the transcript viewer used by `/share`; unset means `/share` reports no viewer link |
|
|
651
|
+
| `MCPI_CACHE_RETENTION` | Set to `long` for extended prompt cache (Anthropic: 1h, OpenAI: 24h) |
|
|
652
|
+
| `VISUAL`, `EDITOR` | Fallback external editor for Ctrl+G when `externalEditor` is unset; defaults to Notepad on Windows and `nano` elsewhere |
|
|
653
|
+
|
|
654
|
+
Commands run by the LLM-callable bash tool also receive current session metadata:
|
|
655
|
+
|
|
656
|
+
| Variable | Description |
|
|
657
|
+
|----------|-------------|
|
|
658
|
+
| `MCPI_SESSION_ID` | Current session ID |
|
|
659
|
+
| `MCPI_SESSION_FILE` | Absolute session JSONL path; unset for ephemeral sessions |
|
|
660
|
+
| `MCPI_PROVIDER` | Currently selected model provider |
|
|
661
|
+
| `MCPI_MODEL` | Currently selected model ID |
|
|
662
|
+
| `MCPI_REASONING_LEVEL` | Current effective reasoning level |
|
|
663
|
+
|
|
664
|
+
These values are resolved when each command starts. See [Environment Variables](docs/environment-variables.md#bash-tool-session-environment) for semantics, examples, and custom-tool opt-out.
|
|
608
665
|
|
|
609
666
|
---
|
|
610
667
|
|
|
@@ -612,14 +669,12 @@ pi --thinking high "Solve this complex problem"
|
|
|
612
669
|
|
|
613
670
|
See [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines and [docs/development.md](docs/development.md) for setup, forking, and debugging.
|
|
614
671
|
|
|
615
|
-
---
|
|
616
|
-
|
|
617
672
|
## License
|
|
618
673
|
|
|
619
674
|
MIT
|
|
620
675
|
|
|
621
676
|
## See Also
|
|
622
677
|
|
|
623
|
-
- [@
|
|
624
|
-
- [@
|
|
625
|
-
- [@
|
|
678
|
+
- [@sammorrowdrums/mcpi-ai](https://www.npmjs.com/package/@sammorrowdrums/mcpi-ai): Core LLM toolkit
|
|
679
|
+
- [@sammorrowdrums/mcpi-agent-core](https://www.npmjs.com/package/@sammorrowdrums/mcpi-agent-core): Agent framework
|
|
680
|
+
- [@sammorrowdrums/mcpi-tui](https://www.npmjs.com/package/@sammorrowdrums/mcpi-tui): Terminal UI components
|