@schovest/pi-coding-agent 0.7.3
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 +142 -0
- package/README.md +686 -0
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +9 -0
- package/dist/bun/cli.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -0
- package/dist/bun/register-bedrock.js +4 -0
- package/dist/bun/register-bedrock.js.map +1 -0
- package/dist/bun/restore-sandbox-env.d.ts +13 -0
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/bun/restore-sandbox-env.js +32 -0
- package/dist/bun/restore-sandbox-env.js.map +1 -0
- package/dist/cli/args.d.ts +57 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +381 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/config-selector.d.ts +14 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +82 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/initial-message.d.ts +18 -0
- package/dist/cli/initial-message.d.ts.map +1 -0
- package/dist/cli/initial-message.js +22 -0
- package/dist/cli/initial-message.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +98 -0
- package/dist/cli/list-models.js.map +1 -0
- 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 +9 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +35 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli/startup-ui.d.ts +16 -0
- package/dist/cli/startup-ui.d.ts.map +1 -0
- package/dist/cli/startup-ui.js +112 -0
- package/dist/cli/startup-ui.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +18 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +92 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +433 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +119 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/core/agent-session-runtime.js +303 -0
- package/dist/core/agent-session-runtime.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +88 -0
- package/dist/core/agent-session-services.d.ts.map +1 -0
- package/dist/core/agent-session-services.js +119 -0
- package/dist/core/agent-session-services.js.map +1 -0
- package/dist/core/agent-session.d.ts +661 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +2758 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/auth-guidance.d.ts +5 -0
- package/dist/core/auth-guidance.d.ts.map +1 -0
- package/dist/core/auth-guidance.js +21 -0
- package/dist/core/auth-guidance.js.map +1 -0
- package/dist/core/auth-storage.d.ts +141 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +443 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/background-process-manager.d.ts +52 -0
- package/dist/core/background-process-manager.d.ts.map +1 -0
- package/dist/core/background-process-manager.js +127 -0
- package/dist/core/background-process-manager.js.map +1 -0
- package/dist/core/bash-executor.d.ts +32 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +111 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/claude-plugin-manager.d.ts +110 -0
- package/dist/core/claude-plugin-manager.d.ts.map +1 -0
- package/dist/core/claude-plugin-manager.js +518 -0
- package/dist/core/claude-plugin-manager.js.map +1 -0
- package/dist/core/command-palette/command-palette-component.d.ts +24 -0
- package/dist/core/command-palette/command-palette-component.d.ts.map +1 -0
- package/dist/core/command-palette/command-palette-component.js +86 -0
- package/dist/core/command-palette/command-palette-component.js.map +1 -0
- package/dist/core/command-palette/command-palette-list.d.ts +16 -0
- package/dist/core/command-palette/command-palette-list.d.ts.map +1 -0
- package/dist/core/command-palette/command-palette-list.js +58 -0
- package/dist/core/command-palette/command-palette-list.js.map +1 -0
- package/dist/core/command-palette/command-registry.d.ts +9 -0
- package/dist/core/command-palette/command-registry.d.ts.map +1 -0
- package/dist/core/command-palette/command-registry.js +26 -0
- package/dist/core/command-palette/command-registry.js.map +1 -0
- package/dist/core/command-palette/index.d.ts +4 -0
- package/dist/core/command-palette/index.d.ts.map +1 -0
- package/dist/core/command-palette/index.js +3 -0
- package/dist/core/command-palette/index.js.map +1 -0
- package/dist/core/command-palette/types.d.ts +17 -0
- package/dist/core/command-palette/types.d.ts.map +1 -0
- package/dist/core/command-palette/types.js +2 -0
- package/dist/core/command-palette/types.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +90 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +250 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +121 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +622 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +38 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +153 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +75 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/experimental.d.ts +2 -0
- package/dist/core/experimental.d.ts.map +1 -0
- package/dist/core/experimental.js +4 -0
- package/dist/core/experimental.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +37 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +226 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +1066 -0
- package/dist/core/export-html/template.html +55 -0
- package/dist/core/export-html/template.js +1864 -0
- package/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +108 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +6 -0
- package/dist/core/extensions/index.d.ts +12 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +24 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +499 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +166 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +896 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1209 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +45 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +22 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +54 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +338 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/http-dispatcher.d.ts +21 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -0
- package/dist/core/http-dispatcher.js +48 -0
- package/dist/core/http-dispatcher.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +14 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/keybindings.d.ts +363 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +303 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/messages.d.ts +77 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +123 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-registry.d.ts +161 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +810 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +111 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +513 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/output-guard.d.ts +7 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +89 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +207 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +2074 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/primary-agents/discovery.d.ts +4 -0
- package/dist/core/primary-agents/discovery.d.ts.map +1 -0
- package/dist/core/primary-agents/discovery.js +89 -0
- package/dist/core/primary-agents/discovery.js.map +1 -0
- package/dist/core/primary-agents/index.d.ts +3 -0
- package/dist/core/primary-agents/index.d.ts.map +1 -0
- package/dist/core/primary-agents/index.js +2 -0
- package/dist/core/primary-agents/index.js.map +1 -0
- package/dist/core/primary-agents/types.d.ts +18 -0
- package/dist/core/primary-agents/types.d.ts.map +1 -0
- package/dist/core/primary-agents/types.js +2 -0
- package/dist/core/primary-agents/types.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 +58 -0
- package/dist/core/project-trust.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +53 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +236 -0
- package/dist/core/prompt-templates.js.map +1 -0
- 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-display-names.d.ts +2 -0
- package/dist/core/provider-display-names.d.ts.map +1 -0
- package/dist/core/provider-display-names.js +36 -0
- package/dist/core/provider-display-names.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +31 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +249 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +206 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +827 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/sdk.d.ts +111 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +269 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/session-cwd.d.ts +19 -0
- package/dist/core/session-cwd.d.ts.map +1 -0
- package/dist/core/session-cwd.js +38 -0
- package/dist/core/session-cwd.js.map +1 -0
- package/dist/core/session-manager.d.ts +362 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1283 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/settings-manager.d.ts +309 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +907 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +60 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +387 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +14 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +30 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/subagents/discovery.d.ts +9 -0
- package/dist/core/subagents/discovery.d.ts.map +1 -0
- package/dist/core/subagents/discovery.js +97 -0
- package/dist/core/subagents/discovery.js.map +1 -0
- package/dist/core/subagents/index.d.ts +5 -0
- package/dist/core/subagents/index.d.ts.map +1 -0
- package/dist/core/subagents/index.js +4 -0
- package/dist/core/subagents/index.js.map +1 -0
- package/dist/core/subagents/runner.d.ts +6 -0
- package/dist/core/subagents/runner.d.ts.map +1 -0
- package/dist/core/subagents/runner.js +406 -0
- package/dist/core/subagents/runner.js.map +1 -0
- package/dist/core/subagents/tool.d.ts +24 -0
- package/dist/core/subagents/tool.d.ts.map +1 -0
- package/dist/core/subagents/tool.js +223 -0
- package/dist/core/subagents/tool.js.map +1 -0
- package/dist/core/subagents/types.d.ts +78 -0
- package/dist/core/subagents/types.d.ts.map +1 -0
- package/dist/core/subagents/types.js +2 -0
- package/dist/core/subagents/types.js.map +1 -0
- package/dist/core/system-prompt.d.ts +30 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +121 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/telemetry.d.ts +3 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/core/telemetry.js +9 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/core/timings.d.ts +8 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +31 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tool-matcher.d.ts +27 -0
- package/dist/core/tool-matcher.d.ts.map +1 -0
- package/dist/core/tool-matcher.js +43 -0
- package/dist/core/tool-matcher.js.map +1 -0
- package/dist/core/tools/bash.d.ts +83 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +380 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +87 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +345 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +51 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +284 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-queue.js +52 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +35 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +297 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +37 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +304 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +40 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +112 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +37 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +167 -0
- package/dist/core/tools/ls.js.map +1 -0
- 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 +10 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +99 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/read.d.ts +35 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +289 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/render-utils.d.ts +24 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +65 -0
- package/dist/core/tools/render-utils.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.js +34 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +215 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +26 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +197 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/core/trust-manager.d.ts +31 -0
- package/dist/core/trust-manager.d.ts.map +1 -0
- package/dist/core/trust-manager.js +187 -0
- package/dist/core/trust-manager.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +12 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +665 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +33 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +403 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/components/agent-selector.d.ts +21 -0
- package/dist/modes/interactive/components/agent-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/agent-selector.js +85 -0
- package/dist/modes/interactive/components/agent-selector.js.map +1 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +333 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +20 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +121 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/background-process-selector.d.ts +40 -0
- package/dist/modes/interactive/components/background-process-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/background-process-selector.js +187 -0
- package/dist/modes/interactive/components/background-process-selector.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +175 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +54 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +506 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +76 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +79 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +140 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.js +40 -0
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +119 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +61 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +83 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- 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 +28 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +231 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +34 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +35 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +36 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +180 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +47 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +278 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +31 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +165 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/plugin-manager.d.ts +67 -0
- package/dist/modes/interactive/components/plugin-manager.d.ts.map +1 -0
- package/dist/modes/interactive/components/plugin-manager.js +443 -0
- package/dist/modes/interactive/components/plugin-manager.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +290 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +96 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +861 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +71 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +410 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/subagent-details.d.ts +63 -0
- package/dist/modes/interactive/components/subagent-details.d.ts.map +1 -0
- package/dist/modes/interactive/components/subagent-details.js +360 -0
- package/dist/modes/interactive/components/subagent-details.js.map +1 -0
- package/dist/modes/interactive/components/subagent-overlay.d.ts +51 -0
- package/dist/modes/interactive/components/subagent-overlay.d.ts.map +1 -0
- package/dist/modes/interactive/components/subagent-overlay.js +324 -0
- package/dist/modes/interactive/components/subagent-overlay.js.map +1 -0
- package/dist/modes/interactive/components/subagents-panel.d.ts +23 -0
- package/dist/modes/interactive/components/subagents-panel.d.ts.map +1 -0
- package/dist/modes/interactive/components/subagents-panel.js +192 -0
- package/dist/modes/interactive/components/subagents-panel.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +50 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +51 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +317 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +89 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +1093 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- 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 +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +114 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +10 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +29 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +417 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +5518 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/theme/dark.json +86 -0
- package/dist/modes/interactive/theme/light.json +85 -0
- package/dist/modes/interactive/theme/theme-schema.json +335 -0
- package/dist/modes/interactive/theme/theme.d.ts +100 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +1034 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +132 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/modes/rpc/jsonl.js +49 -0
- package/dist/modes/rpc/jsonl.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +227 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +467 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +616 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +420 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/package-manager-cli.d.ts +9 -0
- package/dist/package-manager-cli.d.ts.map +1 -0
- package/dist/package-manager-cli.js +764 -0
- package/dist/package-manager-cli.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 +22 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +165 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/child-process.d.ts +15 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +88 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +245 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +10 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +20 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +117 -0
- package/dist/utils/clipboard.js.map +1 -0
- 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 +5 -0
- package/dist/utils/exif-orientation.d.ts.map +1 -0
- package/dist/utils/exif-orientation.js +158 -0
- package/dist/utils/exif-orientation.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/fs-watch.d.ts +5 -0
- package/dist/utils/fs-watch.d.ts.map +1 -0
- package/dist/utils/fs-watch.js +25 -0
- package/dist/utils/fs-watch.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +195 -0
- package/dist/utils/git.js.map +1 -0
- 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 +9 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +39 -0
- package/dist/utils/image-convert.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 +16 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +97 -0
- package/dist/utils/image-resize.js.map +1 -0
- 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/mime.d.ts +3 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +69 -0
- package/dist/utils/mime.js.map +1 -0
- 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 +31 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +92 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- 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 +30 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +195 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- 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/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +328 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/dist/utils/version-check.d.ts +15 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +82 -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 +394 -0
- package/docs/containerization.md +111 -0
- package/docs/custom-provider.md +736 -0
- package/docs/development.md +71 -0
- package/docs/docs.json +172 -0
- package/docs/extensions.md +2657 -0
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/exy.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/index.md +86 -0
- package/docs/json.md +82 -0
- package/docs/keybindings.md +199 -0
- package/docs/mcp.md +476 -0
- package/docs/models.md +604 -0
- package/docs/packages.md +228 -0
- package/docs/plugins.md +48 -0
- package/docs/primary-agents.md +272 -0
- package/docs/prompt-templates.md +95 -0
- package/docs/providers.md +256 -0
- package/docs/quickstart.md +165 -0
- package/docs/rpc.md +1408 -0
- package/docs/sdk.md +1161 -0
- package/docs/security.md +55 -0
- package/docs/session-format.md +412 -0
- package/docs/sessions.md +145 -0
- package/docs/settings.md +317 -0
- package/docs/shell-aliases.md +13 -0
- package/docs/skills.md +231 -0
- package/docs/subagents.md +334 -0
- package/docs/terminal-setup.md +148 -0
- package/docs/termux.md +127 -0
- package/docs/themes.md +295 -0
- package/docs/tmux.md +63 -0
- package/docs/tui.md +927 -0
- package/docs/usage.md +328 -0
- package/docs/windows.md +17 -0
- package/examples/README.md +25 -0
- package/examples/extensions/README.md +211 -0
- package/examples/extensions/auto-commit-on-exit.ts +49 -0
- package/examples/extensions/bash-spawn-hook.ts +30 -0
- package/examples/extensions/bookmark.ts +50 -0
- package/examples/extensions/border-status-editor.ts +150 -0
- package/examples/extensions/built-in-tool-renderer.ts +249 -0
- package/examples/extensions/claude-rules.ts +86 -0
- package/examples/extensions/commands.ts +72 -0
- package/examples/extensions/confirm-destructive.ts +59 -0
- package/examples/extensions/custom-compaction.ts +127 -0
- package/examples/extensions/custom-footer.ts +64 -0
- package/examples/extensions/custom-header.ts +73 -0
- package/examples/extensions/custom-provider-anthropic/index.ts +604 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
- package/examples/extensions/custom-provider-anthropic/package.json +19 -0
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +400 -0
- package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
- package/examples/extensions/dirty-repo-guard.ts +56 -0
- package/examples/extensions/doom-overlay/README.md +46 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
- package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
- package/examples/extensions/doom-overlay/doom/build.sh +152 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
- package/examples/extensions/doom-overlay/doom-component.ts +132 -0
- package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
- package/examples/extensions/doom-overlay/index.ts +74 -0
- package/examples/extensions/doom-overlay/wad-finder.ts +51 -0
- package/examples/extensions/dynamic-resources/SKILL.md +8 -0
- package/examples/extensions/dynamic-resources/dynamic.json +79 -0
- package/examples/extensions/dynamic-resources/dynamic.md +5 -0
- package/examples/extensions/dynamic-resources/index.ts +15 -0
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/event-bus.ts +43 -0
- package/examples/extensions/file-trigger.ts +41 -0
- package/examples/extensions/git-checkpoint.ts +53 -0
- package/examples/extensions/git-merge-and-resolve.ts +115 -0
- package/examples/extensions/github-issue-autocomplete.ts +185 -0
- 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 +191 -0
- package/examples/extensions/hello.ts +26 -0
- package/examples/extensions/hidden-thinking-label.ts +53 -0
- package/examples/extensions/inline-bash.ts +94 -0
- package/examples/extensions/input-transform-streaming.ts +39 -0
- package/examples/extensions/input-transform.ts +43 -0
- package/examples/extensions/interactive-shell.ts +196 -0
- package/examples/extensions/mac-system-theme.ts +47 -0
- package/examples/extensions/message-renderer.ts +59 -0
- package/examples/extensions/minimal-mode.ts +426 -0
- package/examples/extensions/modal-editor.ts +85 -0
- package/examples/extensions/model-status.ts +31 -0
- package/examples/extensions/notify.ts +55 -0
- package/examples/extensions/overlay-qa-tests.ts +1450 -0
- package/examples/extensions/overlay-test.ts +153 -0
- package/examples/extensions/permission-gate.ts +34 -0
- package/examples/extensions/pirate.ts +47 -0
- package/examples/extensions/preset.ts +430 -0
- package/examples/extensions/project-trust.ts +64 -0
- package/examples/extensions/prompt-customizer.ts +97 -0
- package/examples/extensions/protected-paths.ts +30 -0
- package/examples/extensions/provider-payload.ts +18 -0
- package/examples/extensions/qna.ts +122 -0
- package/examples/extensions/question.ts +264 -0
- package/examples/extensions/questionnaire.ts +427 -0
- package/examples/extensions/rainbow-editor.ts +88 -0
- package/examples/extensions/reload-runtime.ts +37 -0
- package/examples/extensions/rpc-demo.ts +118 -0
- package/examples/extensions/sandbox/index.ts +321 -0
- package/examples/extensions/sandbox/package-lock.json +92 -0
- package/examples/extensions/sandbox/package.json +19 -0
- package/examples/extensions/send-user-message.ts +97 -0
- package/examples/extensions/session-name.ts +27 -0
- package/examples/extensions/shutdown-command.ts +63 -0
- package/examples/extensions/snake.ts +343 -0
- package/examples/extensions/space-invaders.ts +560 -0
- package/examples/extensions/ssh.ts +220 -0
- package/examples/extensions/status-line.ts +32 -0
- package/examples/extensions/structured-output.ts +65 -0
- package/examples/extensions/subagent/README.md +175 -0
- package/examples/extensions/subagent/agents/planner.md +37 -0
- package/examples/extensions/subagent/agents/reviewer.md +35 -0
- package/examples/extensions/subagent/agents/scout.md +50 -0
- package/examples/extensions/subagent/agents/worker.md +24 -0
- package/examples/extensions/subagent/agents.ts +126 -0
- package/examples/extensions/subagent/index.ts +1009 -0
- package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
- package/examples/extensions/subagent/prompts/implement.md +10 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
- package/examples/extensions/summarize.ts +206 -0
- package/examples/extensions/system-prompt-header.ts +17 -0
- package/examples/extensions/tic-tac-toe.ts +1008 -0
- package/examples/extensions/timed-confirm.ts +70 -0
- package/examples/extensions/titlebar-spinner.ts +58 -0
- package/examples/extensions/todo.ts +297 -0
- package/examples/extensions/tool-override.ts +144 -0
- package/examples/extensions/tools.ts +146 -0
- package/examples/extensions/trigger-compact.ts +50 -0
- package/examples/extensions/truncated-tool.ts +195 -0
- package/examples/extensions/widget-placement.ts +9 -0
- package/examples/extensions/with-deps/index.ts +32 -0
- package/examples/extensions/with-deps/package-lock.json +31 -0
- package/examples/extensions/with-deps/package.json +22 -0
- package/examples/extensions/working-indicator.ts +123 -0
- package/examples/extensions/working-message-test.ts +25 -0
- package/examples/rpc-extension-ui.ts +632 -0
- package/examples/sdk/01-minimal.ts +26 -0
- package/examples/sdk/02-custom-model.ts +53 -0
- package/examples/sdk/03-custom-prompt.ts +70 -0
- package/examples/sdk/04-skills.ts +55 -0
- package/examples/sdk/05-tools.ts +48 -0
- package/examples/sdk/06-extensions.ts +94 -0
- package/examples/sdk/07-context-files.ts +42 -0
- package/examples/sdk/08-prompt-templates.ts +51 -0
- package/examples/sdk/09-api-keys-and-oauth.ts +52 -0
- package/examples/sdk/10-settings.ts +53 -0
- package/examples/sdk/11-sessions.ts +52 -0
- package/examples/sdk/12-full-control.ts +77 -0
- package/examples/sdk/13-session-runtime.ts +67 -0
- package/examples/sdk/README.md +144 -0
- package/npm-shrinkwrap.json +1806 -0
- package/package.json +96 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
# Subagents
|
|
2
|
+
|
|
3
|
+
Subagent 是一种任务委托机制,允许主 agent 将任务分配给专门的子 agent 执行。内置 subagent tool 在当前进程内运行,不创建子进程,子会话不持久化。
|
|
4
|
+
|
|
5
|
+
## 内置 Agent
|
|
6
|
+
|
|
7
|
+
| Agent | 描述 | 默认工具 | thinking |
|
|
8
|
+
|-------|------|----------|----------|
|
|
9
|
+
| `explorer` | 快速并行搜索,返回定位和摘要 | read, grep, find, ls | low |
|
|
10
|
+
| `worker` | 单元化任务执行,拥有全部权限 | read, bash, edit, write, grep, find, ls | —(继承主 agent) |
|
|
11
|
+
|
|
12
|
+
## 自定义 Agent
|
|
13
|
+
|
|
14
|
+
创建 Markdown 文件定义自定义 agent:
|
|
15
|
+
|
|
16
|
+
**用户级**:`~/.pi/agent/subagents/*.md`
|
|
17
|
+
**项目级**:`.pi/subagents/*.md`(需要 `subagentScope: "project"` 或 `"both"`)
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
---
|
|
21
|
+
description: 审查补丁的专注审计员
|
|
22
|
+
model: anthropic/claude-sonnet-4-5
|
|
23
|
+
thinking: high
|
|
24
|
+
includedTools: [read, grep, find, ls]
|
|
25
|
+
---
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**Frontmatter 字段**:
|
|
29
|
+
|
|
30
|
+
| 字段 | 类型 | 说明 |
|
|
31
|
+
|------|------|------|
|
|
32
|
+
| `description` | string | Agent 描述,用于工具提示 |
|
|
33
|
+
| `model` | string | 模型 ID,如 `anthropic/claude-sonnet-4-5` |
|
|
34
|
+
| `thinking` | string | 思考级别:`off`、`minimal`、`low`、`medium`、`high`、`xhigh` |
|
|
35
|
+
| `includedTools` | string[] | 允许的工具列表,支持 glob 模式(详见下文) |
|
|
36
|
+
| `excludedTools` | string[] | 排除的工具列表,支持 glob 模式(详见下文) |
|
|
37
|
+
| `skills` | string[] | 允许主 agent 已加载的 skills 列表,支持 glob 模式(详见下文) |
|
|
38
|
+
|
|
39
|
+
#### 工具匹配(glob 模式)
|
|
40
|
+
|
|
41
|
+
`includedTools` / `excludedTools` 使用 [minimatch](https://github.com/isaacs/minimatch) glob 模式匹配工具名(大小写不敏感):
|
|
42
|
+
|
|
43
|
+
- `"read"` — 精确匹配 `read` 工具
|
|
44
|
+
- `"read*"` — 匹配 `read`、`readFile` 等所有以 read 开头的工具
|
|
45
|
+
- `"!*"` — 匹配所有工具的否定模式
|
|
46
|
+
- 未设置 `includedTools` 且未设置 `excludedTools` — 使用默认工具集 `read, bash, edit, write`
|
|
47
|
+
- `includedTools: []`(空数组)— 无工具
|
|
48
|
+
- 若同时设置 `includedTools` 和 `excludedTools`,`includedTools` 生效,`excludedTools` 被忽略(included 优先)
|
|
49
|
+
|
|
50
|
+
内置工具名:`read`、`bash`、`edit`、`write`、`grep`、`find`、`ls`。此外 `subagent` 工具由 coding-agent 扩展注册,扩展也可注册自定义工具名。
|
|
51
|
+
|
|
52
|
+
#### Skills 匹配(glob 模式)
|
|
53
|
+
|
|
54
|
+
`skills` 字段允许 subagent 继承主 agent 已加载的 skills。同样使用 minimatch 匹配 skill 名称(大小写不敏感):
|
|
55
|
+
|
|
56
|
+
- 未设置或空数组 `[]` — subagent **不继承**任何 skill(默认行为)
|
|
57
|
+
- `"test-*"` — 匹配名称以 `test-` 开头的 skills
|
|
58
|
+
- `"*"` — 匹配所有 skills
|
|
59
|
+
|
|
60
|
+
匹配的 skills 会注入到 subagent 的系统提示词中,效果与主 agent 加载 skill 一致。skill 内容仍按需加载(progressive disclosure)。
|
|
61
|
+
|
|
62
|
+
#### 兼容性
|
|
63
|
+
|
|
64
|
+
旧字段名 `tools` 仍然可读,但会自动映射到 `includedTools`,优先使用 `includedTools`。
|
|
65
|
+
|
|
66
|
+
Frontmatter 中的 `model` 和 `thinking` 可被任务参数覆盖。
|
|
67
|
+
|
|
68
|
+
## 运行模式
|
|
69
|
+
|
|
70
|
+
### 单任务
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"agent": "worker",
|
|
75
|
+
"task": "审查当前变更集",
|
|
76
|
+
"thinking": "high"
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 并行任务
|
|
81
|
+
|
|
82
|
+
最多 8 个任务,并发度 4。结果顺序与输入顺序一致。
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"tasks": [
|
|
87
|
+
{ "agent": "explorer", "task": "查找 settings 相关文件", "includedTools": ["read", "grep", "find"] },
|
|
88
|
+
{ "agent": "worker", "task": "审查测试覆盖", "includedTools": ["read", "grep"] }
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 链式任务
|
|
94
|
+
|
|
95
|
+
顺序执行,`{previous}` 被替换为前一步输出。
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"chain": [
|
|
100
|
+
{ "agent": "explorer", "task": "总结认证流程" },
|
|
101
|
+
{ "agent": "worker", "task": "基于此上下文规划安全重构:{previous}" }
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Agent Scope
|
|
107
|
+
|
|
108
|
+
| Scope | 加载的 Agent |
|
|
109
|
+
|-------|-------------|
|
|
110
|
+
| `user`(默认) | 内置 + `~/.pi/agent/subagents/` |
|
|
111
|
+
| `project` | 内置 + `.pi/subagents/` |
|
|
112
|
+
| `both` | 内置 + 用户级 + 项目级 |
|
|
113
|
+
|
|
114
|
+
项目级 agent 覆盖同名的用户级 agent。
|
|
115
|
+
|
|
116
|
+
通过设置 `settings.json` 中的 `defaultPrimaryAgent` 可以为项目指定默认使用的主 agent:
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"defaultPrimaryAgent": "my-custom-agent"
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
设置后,每次启动会话时自动恢复该 agent。
|
|
125
|
+
|
|
126
|
+
在任务中通过 `subagentScope` 参数控制 agent 搜索范围:
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"agent": "project-reviewer",
|
|
131
|
+
"task": "审查代码",
|
|
132
|
+
"subagentScope": "project"
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## 运行时监控
|
|
137
|
+
|
|
138
|
+
- 状态栏显示 `subagents:N` 表示运行中的 subagent 数量
|
|
139
|
+
- `/running-subagents` 查看每个 subagent 的事件、工具、输出、错误、模型、思考级别和用量
|
|
140
|
+
|
|
141
|
+
## 创建自定义 Agent
|
|
142
|
+
|
|
143
|
+
### 1. 确定 Agent 目标
|
|
144
|
+
|
|
145
|
+
明确 agent 的职责边界:
|
|
146
|
+
- 输入:agent 接收什么任务描述
|
|
147
|
+
- 输出:agent 应返回什么格式
|
|
148
|
+
- 工具:agent 需要哪些工具
|
|
149
|
+
- 模型:任务需要什么能力的模型
|
|
150
|
+
|
|
151
|
+
### 2. 编写 Agent 定义
|
|
152
|
+
|
|
153
|
+
```markdown
|
|
154
|
+
---
|
|
155
|
+
description: 分析依赖关系并生成依赖图
|
|
156
|
+
model: anthropic/claude-sonnet-4-5
|
|
157
|
+
thinking: medium
|
|
158
|
+
includedTools: [read, grep, find, ls, bash]
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
你是依赖分析专家。分析项目的依赖关系并生成结构化报告。
|
|
162
|
+
|
|
163
|
+
策略:
|
|
164
|
+
1. 查找 package.json、Cargo.toml、go.mod 等依赖文件
|
|
165
|
+
2. 分析直接依赖和传递依赖
|
|
166
|
+
3. 识别循环依赖和版本冲突
|
|
167
|
+
|
|
168
|
+
输出格式:
|
|
169
|
+
|
|
170
|
+
## 依赖文件
|
|
171
|
+
列出发现的依赖文件。
|
|
172
|
+
|
|
173
|
+
## 直接依赖
|
|
174
|
+
按类型分组的主要依赖。
|
|
175
|
+
|
|
176
|
+
## 传递依赖
|
|
177
|
+
关键传递依赖及其来源。
|
|
178
|
+
|
|
179
|
+
## 问题
|
|
180
|
+
循环依赖、版本冲突、安全警告。
|
|
181
|
+
|
|
182
|
+
## 建议
|
|
183
|
+
优化建议。
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### 3. 选择工具集
|
|
187
|
+
|
|
188
|
+
| 工具 | 用途 |
|
|
189
|
+
|------|------|
|
|
190
|
+
| `read` | 读取文件内容 |
|
|
191
|
+
| `bash` | 执行命令(git、构建工具等) |
|
|
192
|
+
| `edit` | 编辑文件 |
|
|
193
|
+
| `write` | 创建/覆盖文件 |
|
|
194
|
+
| `grep` | 搜索文件内容(支持 glob 过滤文件) |
|
|
195
|
+
| `find` | 按 glob 模式查找文件(respects .gitignore) |
|
|
196
|
+
| `ls` | 列出目录 |
|
|
197
|
+
|
|
198
|
+
此外,`subagent` 工具由 coding-agent 扩展注册,扩展也可注册自定义工具名。
|
|
199
|
+
|
|
200
|
+
**只读 agent**:`read, grep, find, ls`
|
|
201
|
+
**分析 + 执行 agent**:`read, bash, grep, find, ls`
|
|
202
|
+
**完整能力 agent**:`read, bash, edit, write, grep, find, ls`
|
|
203
|
+
|
|
204
|
+
如果 subagent 需要使用主 agent 已加载的 skills,在 frontmatter 中设置 `skills` 字段(glob 模式匹配 skill 名称,如 `skills: ["test-*"]` 或 `skills: ["*"]` 继承全部)。
|
|
205
|
+
|
|
206
|
+
### 4. 设计输出格式
|
|
207
|
+
|
|
208
|
+
结构化输出便于:
|
|
209
|
+
- 主 agent 理解结果
|
|
210
|
+
- 链式模式传递给下一步
|
|
211
|
+
- 用户审查
|
|
212
|
+
|
|
213
|
+
```markdown
|
|
214
|
+
## 摘要
|
|
215
|
+
一句话总结。
|
|
216
|
+
|
|
217
|
+
## 发现
|
|
218
|
+
- 发现1
|
|
219
|
+
- 发现2
|
|
220
|
+
|
|
221
|
+
## 文件
|
|
222
|
+
- `path/to/file.ts` - 说明
|
|
223
|
+
|
|
224
|
+
## 下一步
|
|
225
|
+
建议的后续行动。
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### 5. 放置 Agent 文件
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
# 用户级(所有项目可用)
|
|
232
|
+
mkdir -p ~/.pi/agent/subagents
|
|
233
|
+
cat > ~/.pi/agent/subagents/dep-analyzer.md << 'EOF'
|
|
234
|
+
---
|
|
235
|
+
description: 分析依赖关系
|
|
236
|
+
model: anthropic/claude-sonnet-4-5
|
|
237
|
+
includedTools: [read, grep, find, ls, bash]
|
|
238
|
+
---
|
|
239
|
+
...
|
|
240
|
+
EOF
|
|
241
|
+
|
|
242
|
+
# 项目级(仅当前项目)
|
|
243
|
+
mkdir -p .pi/subagents
|
|
244
|
+
cat > .pi/subagents/project-reviewer.md << 'EOF'
|
|
245
|
+
---
|
|
246
|
+
description: 项目特定审查规则
|
|
247
|
+
includedTools: [read, grep, find, ls]
|
|
248
|
+
---
|
|
249
|
+
...
|
|
250
|
+
EOF
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### 6. 测试 Agent
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
# 交互式测试
|
|
257
|
+
pi
|
|
258
|
+
> 使用 dep-analyzer 分析当前项目的依赖
|
|
259
|
+
|
|
260
|
+
# 指定 scope 测试项目级 agent
|
|
261
|
+
> 用 subagentScope=both 运行 project-reviewer 审查 src/
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## 最佳实践
|
|
265
|
+
|
|
266
|
+
### Agent 设计
|
|
267
|
+
|
|
268
|
+
1. **单一职责**:每个 agent 专注一个领域
|
|
269
|
+
2. **明确输出格式**:结构化输出便于解析和传递
|
|
270
|
+
3. **工具最小化**:只授予必要的工具
|
|
271
|
+
4. **模型匹配**:简单任务用 Haiku,复杂任务用 Sonnet/Opus
|
|
272
|
+
|
|
273
|
+
### 并行 vs 链式
|
|
274
|
+
|
|
275
|
+
| 场景 | 模式 |
|
|
276
|
+
|------|------|
|
|
277
|
+
| 独立任务(无依赖) | parallel |
|
|
278
|
+
| 需要前一步结果 | chain |
|
|
279
|
+
| 混合 | 分组并行 + 链式 |
|
|
280
|
+
|
|
281
|
+
### 上下文传递
|
|
282
|
+
|
|
283
|
+
链式模式使用 `{previous}` 占位符:
|
|
284
|
+
|
|
285
|
+
```json
|
|
286
|
+
{
|
|
287
|
+
"chain": [
|
|
288
|
+
{ "agent": "explorer", "task": "查找认证相关代码" },
|
|
289
|
+
{ "agent": "worker", "task": "基于以下上下文规划重构:\n{previous}" },
|
|
290
|
+
{ "agent": "worker", "task": "执行以下计划:\n{previous}" }
|
|
291
|
+
]
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### 错误处理
|
|
296
|
+
|
|
297
|
+
- 链式模式在第一个失败步骤停止
|
|
298
|
+
- 并行模式继续执行其他任务,汇总成功/失败数
|
|
299
|
+
- 检查 `status` 字段判断成功与否
|
|
300
|
+
|
|
301
|
+
### 性能考虑
|
|
302
|
+
|
|
303
|
+
- 并行任务上限 8 个,并发度 4
|
|
304
|
+
- 大输出会被截断,完整结果保留在 tool details
|
|
305
|
+
|
|
306
|
+
## SDK 用法
|
|
307
|
+
|
|
308
|
+
```typescript
|
|
309
|
+
const { session } = await createAgentSession();
|
|
310
|
+
|
|
311
|
+
// 运行 subagent
|
|
312
|
+
const result = await session.runSubagents({
|
|
313
|
+
agent: "worker",
|
|
314
|
+
task: "规划 subagent 发现的最小实现",
|
|
315
|
+
thinking: "medium",
|
|
316
|
+
});
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
## 示例:独立进程 Subagent
|
|
320
|
+
|
|
321
|
+
`examples/extensions/subagent/` 提供了一个独立进程 subagent 的示例实现,每个 subagent 在隔离的 `pi` 子进程中运行。这是一个示例扩展,需要手动安装:
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
mkdir -p ~/.pi/agent/extensions/subagent
|
|
325
|
+
ln -sf "$(pwd)/packages/coding-agent/examples/extensions/subagent/index.ts" ~/.pi/agent/extensions/subagent/index.ts
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
详见 `examples/extensions/subagent/README.md`。
|
|
329
|
+
|
|
330
|
+
## 相关文档
|
|
331
|
+
|
|
332
|
+
- [Extensions](extensions.md) - 编写扩展注册自定义工具
|
|
333
|
+
- [Skills](skills.md) - 技能系统
|
|
334
|
+
- [Prompt Templates](prompt-templates.md) - 提示模板
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Terminal Setup
|
|
2
|
+
|
|
3
|
+
Pi uses the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) for reliable modifier key detection. Most modern terminals support this protocol, but some require configuration.
|
|
4
|
+
|
|
5
|
+
## Kitty, iTerm2
|
|
6
|
+
|
|
7
|
+
Work out of the box.
|
|
8
|
+
|
|
9
|
+
## Apple Terminal
|
|
10
|
+
|
|
11
|
+
Pi enables enhanced key reporting when available. If Terminal.app still sends plain Return for `Shift+Enter`, pi uses a local macOS modifier fallback to treat that Return as `Shift+Enter`.
|
|
12
|
+
|
|
13
|
+
This fallback only works when pi runs on the same Mac as Terminal.app. It cannot detect the local keyboard over remote SSH.
|
|
14
|
+
|
|
15
|
+
## Ghostty
|
|
16
|
+
|
|
17
|
+
Add to your Ghostty config (`~/Library/Application Support/com.mitchellh.ghostty/config` on macOS, `~/.config/ghostty/config` on Linux):
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
keybind = alt+backspace=text:\x1b\x7f
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Older Claude Code versions may have added this Ghostty mapping:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
keybind = shift+enter=text:\n
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
That mapping sends a raw linefeed byte. Inside pi, that is indistinguishable from `Ctrl+J`, so tmux and pi no longer see a real `shift+enter` key event.
|
|
30
|
+
|
|
31
|
+
If Claude Code 2.x or newer is the only reason you added that mapping, you can remove it, unless you want to use Claude Code in tmux, where it still requires that Ghostty mapping.
|
|
32
|
+
|
|
33
|
+
If you want `Shift+Enter` to keep working in tmux via that remap, add `ctrl+j` to your pi `newLine` keybinding in `~/.pi/agent/keybindings.json`:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"newLine": ["shift+enter", "ctrl+j"]
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## WezTerm
|
|
42
|
+
|
|
43
|
+
WezTerm usually works out of the box for `Shift+Enter` via xterm modifyOtherKeys. To use the Kitty keyboard protocol explicitly, create `~/.wezterm.lua`:
|
|
44
|
+
|
|
45
|
+
```lua
|
|
46
|
+
local wezterm = require 'wezterm'
|
|
47
|
+
local config = wezterm.config_builder()
|
|
48
|
+
config.enable_kitty_keyboard = true
|
|
49
|
+
return config
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
On macOS, WezTerm binds `Option+Enter` to fullscreen by default. To use `Option+Enter` for pi follow-up queueing, add this key override:
|
|
53
|
+
|
|
54
|
+
```lua
|
|
55
|
+
local wezterm = require 'wezterm'
|
|
56
|
+
local config = wezterm.config_builder()
|
|
57
|
+
config.keys = {
|
|
58
|
+
{
|
|
59
|
+
key = 'Enter',
|
|
60
|
+
mods = 'ALT',
|
|
61
|
+
action = wezterm.action.SendString('\x1b[13;3u'),
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
return config
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
If you already have a `config.keys` table, add the entry to it.
|
|
68
|
+
|
|
69
|
+
On WSL, WezTerm may require a visible hardware cursor for IME candidate window positioning. If CJK IME candidates do not follow the text cursor, set `PI_HARDWARE_CURSOR=1` before running pi or set `showHardwareCursor` to `true` in settings.
|
|
70
|
+
|
|
71
|
+
## Alacritty
|
|
72
|
+
|
|
73
|
+
Alacritty usually works out of the box for `Shift+Enter`. On macOS, `Option+Enter` may arrive as plain `Enter`. To use `Option+Enter` for pi follow-up queueing, add to `~/.config/alacritty/alacritty.toml`:
|
|
74
|
+
|
|
75
|
+
```toml
|
|
76
|
+
[[keyboard.bindings]]
|
|
77
|
+
key = "Enter"
|
|
78
|
+
mods = "Alt"
|
|
79
|
+
chars = "\u001b[13;3u"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Restart Alacritty after changing the config.
|
|
83
|
+
|
|
84
|
+
## VS Code (Integrated Terminal)
|
|
85
|
+
|
|
86
|
+
VS Code 1.109.5 and newer enable Kitty keyboard protocol in the integrated terminal by default, so `Shift+Enter` should work out of the box.
|
|
87
|
+
|
|
88
|
+
VS Code versions older than 1.109.5 need an explicit terminal keybinding for `Shift+Enter`.
|
|
89
|
+
|
|
90
|
+
`keybindings.json` locations:
|
|
91
|
+
- macOS: `~/Library/Application Support/Code/User/keybindings.json`
|
|
92
|
+
- Linux: `~/.config/Code/User/keybindings.json`
|
|
93
|
+
- Windows: `%APPDATA%\\Code\\User\\keybindings.json`
|
|
94
|
+
|
|
95
|
+
Add to `keybindings.json`:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"key": "shift+enter",
|
|
100
|
+
"command": "workbench.action.terminal.sendSequence",
|
|
101
|
+
"args": { "text": "\u001b[13;2u" },
|
|
102
|
+
"when": "terminalFocus"
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Windows Terminal
|
|
107
|
+
|
|
108
|
+
Add to `settings.json` (Ctrl+Shift+, or Settings → Open JSON file) to forward the modified Enter keys pi uses:
|
|
109
|
+
|
|
110
|
+
```json
|
|
111
|
+
{
|
|
112
|
+
"actions": [
|
|
113
|
+
{
|
|
114
|
+
"command": { "action": "sendInput", "input": "\u001b[13;2u" },
|
|
115
|
+
"keys": "shift+enter"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"command": { "action": "sendInput", "input": "\u001b[13;3u" },
|
|
119
|
+
"keys": "alt+enter"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
- `Shift+Enter` inserts a new line.
|
|
126
|
+
- Windows Terminal binds `Alt+Enter` to fullscreen by default. That prevents pi from receiving `Alt+Enter` for follow-up queueing.
|
|
127
|
+
- Remapping `Alt+Enter` to `sendInput` forwards the real key chord to pi instead.
|
|
128
|
+
|
|
129
|
+
If you already have an `actions` array, add the objects to it. If the old fullscreen behavior persists, fully close and reopen Windows Terminal.
|
|
130
|
+
|
|
131
|
+
## xfce4-terminal, terminator
|
|
132
|
+
|
|
133
|
+
These terminals have limited escape sequence support. Modified Enter keys like `Ctrl+Enter` and `Shift+Enter` cannot be distinguished from plain `Enter`, preventing custom keybindings such as `submit: ["ctrl+enter"]` from working.
|
|
134
|
+
|
|
135
|
+
For the best experience, use a terminal that supports the Kitty keyboard protocol:
|
|
136
|
+
- [Kitty](https://sw.kovidgoyal.net/kitty/)
|
|
137
|
+
- [Ghostty](https://ghostty.org/)
|
|
138
|
+
- [WezTerm](https://wezfurlong.org/wezterm/)
|
|
139
|
+
- [iTerm2](https://iterm2.com/)
|
|
140
|
+
- [Alacritty](https://github.com/alacritty/alacritty) (requires compilation with Kitty protocol support)
|
|
141
|
+
|
|
142
|
+
## IntelliJ IDEA (Integrated Terminal)
|
|
143
|
+
|
|
144
|
+
The built-in terminal has limited escape sequence support. Shift+Enter cannot be distinguished from Enter in IntelliJ's terminal.
|
|
145
|
+
|
|
146
|
+
If you want the hardware cursor visible, set `PI_HARDWARE_CURSOR=1` before running pi (disabled by default for compatibility).
|
|
147
|
+
|
|
148
|
+
Consider using a dedicated terminal emulator for the best experience.
|
package/docs/termux.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Termux (Android) Setup
|
|
2
|
+
|
|
3
|
+
Pi runs on Android via [Termux](https://termux.dev/), a terminal emulator and Linux environment for Android.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
1. Install [Termux](https://github.com/termux/termux-app#installation) from GitHub or F-Droid (not Google Play, that version is deprecated)
|
|
8
|
+
2. Install [Termux:API](https://github.com/termux/termux-api#installation) from GitHub or F-Droid for clipboard and other device integrations
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Update packages
|
|
14
|
+
pkg update && pkg upgrade
|
|
15
|
+
|
|
16
|
+
# Install dependencies
|
|
17
|
+
pkg install nodejs termux-api git
|
|
18
|
+
|
|
19
|
+
# Install pi
|
|
20
|
+
npm install -g --ignore-scripts @schovest/pi-coding-agent
|
|
21
|
+
|
|
22
|
+
# Create config directory
|
|
23
|
+
mkdir -p ~/.pi/agent
|
|
24
|
+
|
|
25
|
+
# Run pi
|
|
26
|
+
pi
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Clipboard Support
|
|
30
|
+
|
|
31
|
+
Clipboard operations use `termux-clipboard-set` and `termux-clipboard-get` when running in Termux. The Termux:API app must be installed for these to work.
|
|
32
|
+
|
|
33
|
+
Image clipboard is not supported on Termux (the `ctrl+v` image paste feature will not work).
|
|
34
|
+
|
|
35
|
+
## Example AGENTS.md for Termux
|
|
36
|
+
|
|
37
|
+
Create `~/.pi/agent/AGENTS.md` to help the agent understand the Termux environment:
|
|
38
|
+
|
|
39
|
+
````markdown
|
|
40
|
+
# Agent Environment: Termux on Android
|
|
41
|
+
|
|
42
|
+
## Location
|
|
43
|
+
- **OS**: Android (Termux terminal emulator)
|
|
44
|
+
- **Home**: `/data/data/com.termux/files/home`
|
|
45
|
+
- **Prefix**: `/data/data/com.termux/files/usr`
|
|
46
|
+
- **Shared storage**: `/storage/emulated/0` (Downloads, Documents, etc.)
|
|
47
|
+
|
|
48
|
+
## Opening URLs
|
|
49
|
+
```bash
|
|
50
|
+
termux-open-url "https://example.com"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Opening Files
|
|
54
|
+
```bash
|
|
55
|
+
termux-open file.pdf # Opens with default app
|
|
56
|
+
termux-open --chooser image.jpg # Choose app
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Clipboard
|
|
60
|
+
```bash
|
|
61
|
+
termux-clipboard-set "text" # Copy
|
|
62
|
+
termux-clipboard-get # Paste
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Notifications
|
|
66
|
+
```bash
|
|
67
|
+
termux-notification -t "Title" -c "Content"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Device Info
|
|
71
|
+
```bash
|
|
72
|
+
termux-battery-status # Battery info
|
|
73
|
+
termux-wifi-connectioninfo # WiFi info
|
|
74
|
+
termux-telephony-deviceinfo # Device info
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Sharing
|
|
78
|
+
```bash
|
|
79
|
+
termux-share -a send file.txt # Share file
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Other Useful Commands
|
|
83
|
+
```bash
|
|
84
|
+
termux-toast "message" # Quick toast popup
|
|
85
|
+
termux-vibrate # Vibrate device
|
|
86
|
+
termux-tts-speak "hello" # Text to speech
|
|
87
|
+
termux-camera-photo out.jpg # Take photo
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Notes
|
|
91
|
+
- Termux:API app must be installed for `termux-*` commands
|
|
92
|
+
- Use `pkg install termux-api` for the command-line tools
|
|
93
|
+
- Storage permission needed for `/storage/emulated/0` access
|
|
94
|
+
````
|
|
95
|
+
|
|
96
|
+
## Limitations
|
|
97
|
+
|
|
98
|
+
- **No image clipboard**: Termux clipboard API only supports text
|
|
99
|
+
- **No native binaries**: Some optional native dependencies (like the clipboard module) are unavailable on Android ARM64 and are skipped during installation
|
|
100
|
+
- **Storage access**: To access files in `/storage/emulated/0` (Downloads, etc.), run `termux-setup-storage` once to grant permissions
|
|
101
|
+
|
|
102
|
+
## Troubleshooting
|
|
103
|
+
|
|
104
|
+
### Clipboard not working
|
|
105
|
+
|
|
106
|
+
Ensure both apps are installed:
|
|
107
|
+
1. Termux (from GitHub or F-Droid)
|
|
108
|
+
2. Termux:API (from GitHub or F-Droid)
|
|
109
|
+
|
|
110
|
+
Then install the CLI tools:
|
|
111
|
+
```bash
|
|
112
|
+
pkg install termux-api
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Permission denied for shared storage
|
|
116
|
+
|
|
117
|
+
Run once to grant storage permissions:
|
|
118
|
+
```bash
|
|
119
|
+
termux-setup-storage
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Node.js installation issues
|
|
123
|
+
|
|
124
|
+
If npm fails, try clearing the cache:
|
|
125
|
+
```bash
|
|
126
|
+
npm cache clean --force
|
|
127
|
+
```
|