@vandeepunk/pi-coding-agent 0.0.6 → 1.0.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 +814 -16
- package/README.md +66 -27
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +7 -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/cli/args.d.ts +9 -4
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +61 -22
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +4 -0
- package/dist/cli/file-processor.js.map +1 -1
- 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/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +2 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +83 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/core/agent-session-runtime.js +236 -0
- package/dist/core/agent-session-runtime.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +86 -0
- package/dist/core/agent-session-services.d.ts.map +1 -0
- package/dist/core/agent-session-services.js +116 -0
- package/dist/core/agent-session-services.js.map +1 -0
- package/dist/core/agent-session.d.ts +63 -49
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +599 -370
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +38 -8
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +220 -96
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +6 -7
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +27 -114
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +2 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +3 -2
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +3 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +31 -25
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/utils.d.ts +3 -0
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js +16 -1
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +7 -3
- package/dist/core/exec.js.map +1 -1
- package/dist/core/export-html/index.d.ts +7 -4
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +10 -8
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.css +43 -13
- package/dist/core/export-html/template.html +1 -0
- package/dist/core/export-html/template.js +118 -14
- package/dist/core/export-html/tool-renderer.d.ts +9 -4
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js +48 -10
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensions/index.d.ts +5 -4
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +2 -2
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +49 -13
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +13 -11
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +139 -64
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +174 -34
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +10 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts +4 -11
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js +6 -86
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +18 -2
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +220 -40
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/index.d.ts +4 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybindings.d.ts +283 -50
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +221 -134
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-registry.d.ts +33 -3
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +165 -97
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts +35 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +205 -32
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/output-guard.d.ts +6 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +59 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +43 -2
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +541 -102
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +5 -4
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +35 -37
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts +6 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +75 -8
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts +6 -5
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +166 -119
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts +11 -8
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +31 -29
- package/dist/core/sdk.js.map +1 -1
- 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 +11 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +39 -25
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +60 -10
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +291 -140
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +5 -3
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +54 -9
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts +2 -3
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +3 -2
- package/dist/core/slash-commands.js.map +1 -1
- 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/system-prompt.d.ts +4 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +31 -52
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/timings.d.ts +1 -0
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +6 -0
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/bash.d.ts +24 -6
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +225 -115
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts +23 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +151 -57
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts +20 -6
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +111 -61
- package/dist/core/tools/edit.js.map +1 -1
- 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 +37 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +11 -4
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +82 -30
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +15 -4
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +83 -29
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +63 -21
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +51 -26
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts +9 -3
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +67 -13
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/read.d.ts +10 -3
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +110 -51
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +21 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +49 -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 +32 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/write.d.ts +9 -3
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +168 -30
- package/dist/core/tools/write.js.map +1 -1
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +354 -379
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +31 -11
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +3 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +14 -3
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +0 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +22 -9
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +2 -2
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +2 -2
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +14 -14
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +3 -3
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +6 -6
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +5 -2
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +18 -9
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +5 -5
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +8 -8
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +1 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +21 -40
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +1 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts +3 -36
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js +5 -44
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +7 -7
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +13 -9
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +7 -7
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +4 -4
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +33 -36
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +5 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +25 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +5 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +2 -2
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +5 -1
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +5 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +17 -29
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +139 -501
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts +25 -4
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +184 -34
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +6 -6
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +1 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +12 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +25 -17
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +669 -385
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +3 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +83 -48
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/print-mode.d.ts +2 -2
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +90 -79
- package/dist/modes/print-mode.js.map +1 -1
- 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 +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +8 -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 +130 -87
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +3 -4
- 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 +4 -0
- package/dist/package-manager-cli.d.ts.map +1 -0
- package/dist/package-manager-cli.js +234 -0
- package/dist/package-manager-cli.js.map +1 -0
- package/dist/utils/child-process.d.ts +11 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +78 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +94 -11
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts +1 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +27 -16
- package/dist/utils/clipboard.js.map +1 -1
- 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/git.d.ts +5 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +14 -3
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js +5 -1
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-resize.d.ts +5 -5
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js +51 -95
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/paths.d.ts +7 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +19 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +67 -22
- package/dist/utils/tools-manager.js.map +1 -1
- package/docs/compaction.md +6 -2
- package/docs/custom-provider.md +57 -9
- package/docs/development.md +3 -1
- package/docs/extensions.md +437 -67
- package/docs/json.md +5 -2
- package/docs/keybindings.md +108 -107
- package/docs/models.md +50 -2
- package/docs/packages.md +17 -10
- package/docs/prompt-templates.md +6 -6
- package/docs/providers.md +10 -1
- package/docs/rpc.md +78 -18
- package/docs/sdk.md +261 -96
- package/docs/settings.md +28 -3
- package/docs/skills.md +9 -4
- package/docs/terminal-setup.md +39 -3
- package/docs/tmux.md +61 -0
- package/docs/tree.md +15 -3
- package/docs/tui.md +2 -2
- package/examples/extensions/README.md +3 -0
- package/examples/extensions/antigravity-image-gen.ts +12 -7
- package/examples/extensions/built-in-tool-renderer.ts +246 -0
- package/examples/extensions/commands.ts +3 -3
- package/examples/extensions/custom-compaction.ts +17 -4
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +2 -2
- package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
- package/examples/extensions/doom-overlay/doom/build.sh +2 -2
- package/examples/extensions/dynamic-tools.ts +74 -0
- package/examples/extensions/handoff.ts +5 -2
- package/examples/extensions/hello.ts +18 -17
- package/examples/extensions/hidden-thinking-label.ts +53 -0
- package/examples/extensions/minimal-mode.ts +14 -14
- package/examples/extensions/overlay-qa-tests.ts +468 -1
- package/examples/extensions/preset.ts +2 -3
- package/examples/extensions/provider-payload.ts +14 -0
- package/examples/extensions/qna.ts +5 -2
- package/examples/extensions/question.ts +2 -2
- package/examples/extensions/questionnaire.ts +2 -2
- package/examples/extensions/rpc-demo.ts +3 -9
- package/examples/extensions/sandbox/index.ts +6 -3
- package/examples/extensions/status-line.ts +0 -8
- package/examples/extensions/subagent/README.md +4 -4
- package/examples/extensions/subagent/agents.ts +2 -3
- package/examples/extensions/subagent/index.ts +30 -8
- package/examples/extensions/summarize.ts +15 -4
- package/examples/extensions/todo.ts +2 -4
- package/examples/extensions/tool-override.ts +10 -9
- package/examples/extensions/tools.ts +0 -5
- package/examples/extensions/trigger-compact.ts +11 -1
- package/examples/extensions/truncated-tool.ts +8 -5
- package/examples/extensions/widget-placement.ts +4 -12
- package/examples/extensions/with-deps/index.ts +1 -5
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/02-custom-model.ts +2 -2
- package/examples/sdk/04-skills.ts +8 -2
- package/examples/sdk/08-prompt-templates.ts +4 -3
- package/examples/sdk/09-api-keys-and-oauth.ts +5 -5
- package/examples/sdk/10-settings.ts +13 -0
- package/examples/sdk/12-full-control.ts +2 -3
- package/examples/sdk/13-session-runtime.ts +67 -0
- package/examples/sdk/README.md +10 -7
- package/package.json +98 -94
- /package/examples/extensions/subagent/{commands → prompts}/implement-and-review.md +0 -0
- /package/examples/extensions/subagent/{commands → prompts}/implement.md +0 -0
- /package/examples/extensions/subagent/{commands → prompts}/scout-and-plan.md +0 -0
|
@@ -16,14 +16,14 @@ import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, ThinkingLe
|
|
|
16
16
|
import type { ImageContent, Model, TextContent } from "@mariozechner/pi-ai";
|
|
17
17
|
import { type BashResult } from "./bash-executor.js";
|
|
18
18
|
import { type CompactionResult } from "./compaction/index.js";
|
|
19
|
-
import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.js";
|
|
19
|
+
import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.js";
|
|
20
20
|
import type { CustomMessage } from "./messages.js";
|
|
21
21
|
import type { ModelRegistry } from "./model-registry.js";
|
|
22
22
|
import { type PromptTemplate } from "./prompt-templates.js";
|
|
23
23
|
import type { ResourceLoader } from "./resource-loader.js";
|
|
24
24
|
import type { BranchSummaryEntry, SessionManager } from "./session-manager.js";
|
|
25
25
|
import type { SettingsManager } from "./settings-manager.js";
|
|
26
|
-
import type
|
|
26
|
+
import { type BashOperations } from "./tools/bash.js";
|
|
27
27
|
/** Parsed skill block from a user message */
|
|
28
28
|
export interface ParsedSkillBlock {
|
|
29
29
|
name: string;
|
|
@@ -38,10 +38,15 @@ export interface ParsedSkillBlock {
|
|
|
38
38
|
export declare function parseSkillBlock(text: string): ParsedSkillBlock | null;
|
|
39
39
|
/** Session-specific events that extend the core AgentEvent */
|
|
40
40
|
export type AgentSessionEvent = AgentEvent | {
|
|
41
|
-
type: "
|
|
42
|
-
|
|
41
|
+
type: "queue_update";
|
|
42
|
+
steering: readonly string[];
|
|
43
|
+
followUp: readonly string[];
|
|
43
44
|
} | {
|
|
44
|
-
type: "
|
|
45
|
+
type: "compaction_start";
|
|
46
|
+
reason: "manual" | "threshold" | "overflow";
|
|
47
|
+
} | {
|
|
48
|
+
type: "compaction_end";
|
|
49
|
+
reason: "manual" | "threshold" | "overflow";
|
|
45
50
|
result: CompactionResult | undefined;
|
|
46
51
|
aborted: boolean;
|
|
47
52
|
willRetry: boolean;
|
|
@@ -68,7 +73,7 @@ export interface AgentSessionConfig {
|
|
|
68
73
|
/** Models to cycle through with Ctrl+P (from --models flag) */
|
|
69
74
|
scopedModels?: Array<{
|
|
70
75
|
model: Model<any>;
|
|
71
|
-
thinkingLevel
|
|
76
|
+
thinkingLevel?: ThinkingLevel;
|
|
72
77
|
}>;
|
|
73
78
|
/** Resource loader for skills, prompts, themes, context files, system prompt */
|
|
74
79
|
resourceLoader: ResourceLoader;
|
|
@@ -78,12 +83,19 @@ export interface AgentSessionConfig {
|
|
|
78
83
|
modelRegistry: ModelRegistry;
|
|
79
84
|
/** Initial active built-in tool names. Default: [read, bash, edit, write] */
|
|
80
85
|
initialActiveToolNames?: string[];
|
|
81
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Override base tools (useful for custom runtimes).
|
|
88
|
+
*
|
|
89
|
+
* These are synthesized into minimal ToolDefinitions internally so AgentSession can keep
|
|
90
|
+
* a definition-first registry even when callers provide plain AgentTool instances.
|
|
91
|
+
*/
|
|
82
92
|
baseToolsOverride?: Record<string, AgentTool>;
|
|
83
93
|
/** Mutable ref used by Agent to access the current ExtensionRunner */
|
|
84
94
|
extensionRunnerRef?: {
|
|
85
95
|
current?: ExtensionRunner;
|
|
86
96
|
};
|
|
97
|
+
/** Session start event metadata emitted when extensions bind to this runtime. */
|
|
98
|
+
sessionStartEvent?: SessionStartEvent;
|
|
87
99
|
}
|
|
88
100
|
export interface ExtensionBindings {
|
|
89
101
|
uiContext?: ExtensionUIContext;
|
|
@@ -126,6 +138,7 @@ export interface SessionStats {
|
|
|
126
138
|
total: number;
|
|
127
139
|
};
|
|
128
140
|
cost: number;
|
|
141
|
+
contextUsage?: ContextUsage;
|
|
129
142
|
}
|
|
130
143
|
export declare class AgentSession {
|
|
131
144
|
readonly agent: Agent;
|
|
@@ -134,6 +147,7 @@ export declare class AgentSession {
|
|
|
134
147
|
private _scopedModels;
|
|
135
148
|
private _unsubscribeAgent?;
|
|
136
149
|
private _eventListeners;
|
|
150
|
+
private _agentEventQueue;
|
|
137
151
|
/** Tracks pending steering messages for UI display. Removed when delivered. */
|
|
138
152
|
private _steeringMessages;
|
|
139
153
|
/** Tracks pending follow-up messages for UI display. Removed when delivered. */
|
|
@@ -142,6 +156,7 @@ export declare class AgentSession {
|
|
|
142
156
|
private _pendingNextTurnMessages;
|
|
143
157
|
private _compactionAbortController;
|
|
144
158
|
private _autoCompactionAbortController;
|
|
159
|
+
private _overflowRecoveryAttempted;
|
|
145
160
|
private _branchSummaryAbortController;
|
|
146
161
|
private _retryAbortController;
|
|
147
162
|
private _retryAttempt;
|
|
@@ -153,11 +168,12 @@ export declare class AgentSession {
|
|
|
153
168
|
private _turnIndex;
|
|
154
169
|
private _resourceLoader;
|
|
155
170
|
private _customTools;
|
|
156
|
-
private
|
|
171
|
+
private _baseToolDefinitions;
|
|
157
172
|
private _cwd;
|
|
158
173
|
private _extensionRunnerRef?;
|
|
159
174
|
private _initialActiveToolNames?;
|
|
160
175
|
private _baseToolsOverride?;
|
|
176
|
+
private _sessionStartEvent;
|
|
161
177
|
private _extensionUIContext?;
|
|
162
178
|
private _extensionCommandContextActions?;
|
|
163
179
|
private _extensionShutdownHandler?;
|
|
@@ -165,15 +181,32 @@ export declare class AgentSession {
|
|
|
165
181
|
private _extensionErrorUnsubscriber?;
|
|
166
182
|
private _modelRegistry;
|
|
167
183
|
private _toolRegistry;
|
|
184
|
+
private _toolDefinitions;
|
|
185
|
+
private _toolPromptSnippets;
|
|
186
|
+
private _toolPromptGuidelines;
|
|
168
187
|
private _baseSystemPrompt;
|
|
169
188
|
constructor(config: AgentSessionConfig);
|
|
170
189
|
/** Model registry for API key resolution and model discovery */
|
|
171
190
|
get modelRegistry(): ModelRegistry;
|
|
191
|
+
private _getRequiredRequestAuth;
|
|
192
|
+
/**
|
|
193
|
+
* Install tool hooks once on the Agent instance.
|
|
194
|
+
*
|
|
195
|
+
* The callbacks read `this._extensionRunner` at execution time, so extension reload swaps in the
|
|
196
|
+
* new runner without reinstalling hooks. Extension-specific tool wrappers are still used to adapt
|
|
197
|
+
* registered tool execution to the extension context. Tool call and tool result interception now
|
|
198
|
+
* happens here instead of in wrappers.
|
|
199
|
+
*/
|
|
200
|
+
private _installAgentToolHooks;
|
|
172
201
|
/** Emit an event to all listeners */
|
|
173
202
|
private _emit;
|
|
203
|
+
private _emitQueueUpdate;
|
|
174
204
|
private _lastAssistantMessage;
|
|
175
205
|
/** Internal handler for agent events - shared by subscribe and reconnect */
|
|
176
206
|
private _handleAgentEvent;
|
|
207
|
+
private _createRetryPromiseForAgentEnd;
|
|
208
|
+
private _findLastAssistantInMessages;
|
|
209
|
+
private _processAgentEvent;
|
|
177
210
|
/** Resolve the pending retry promise */
|
|
178
211
|
private _resolveRetry;
|
|
179
212
|
/** Extract text content from a message */
|
|
@@ -221,9 +254,10 @@ export declare class AgentSession {
|
|
|
221
254
|
*/
|
|
222
255
|
getActiveToolNames(): string[];
|
|
223
256
|
/**
|
|
224
|
-
* Get all configured tools with name, description, and
|
|
257
|
+
* Get all configured tools with name, description, parameter schema, and source metadata.
|
|
225
258
|
*/
|
|
226
259
|
getAllTools(): ToolInfo[];
|
|
260
|
+
getToolDefinition(name: string): ToolDefinition | undefined;
|
|
227
261
|
/**
|
|
228
262
|
* Set active tools by name.
|
|
229
263
|
* Only tools in the registry can be enabled. Unknown tool names are ignored.
|
|
@@ -231,7 +265,7 @@ export declare class AgentSession {
|
|
|
231
265
|
* Changes take effect on the next agent turn.
|
|
232
266
|
*/
|
|
233
267
|
setActiveToolsByName(toolNames: string[]): void;
|
|
234
|
-
/** Whether
|
|
268
|
+
/** Whether compaction or branch summarization is currently running */
|
|
235
269
|
get isCompacting(): boolean;
|
|
236
270
|
/** All messages including custom types like BashExecutionMessage */
|
|
237
271
|
get messages(): AgentMessage[];
|
|
@@ -248,15 +282,17 @@ export declare class AgentSession {
|
|
|
248
282
|
/** Scoped models for cycling (from --models flag) */
|
|
249
283
|
get scopedModels(): ReadonlyArray<{
|
|
250
284
|
model: Model<any>;
|
|
251
|
-
thinkingLevel
|
|
285
|
+
thinkingLevel?: ThinkingLevel;
|
|
252
286
|
}>;
|
|
253
287
|
/** Update scoped models for cycling */
|
|
254
288
|
setScopedModels(scopedModels: Array<{
|
|
255
289
|
model: Model<any>;
|
|
256
|
-
thinkingLevel
|
|
290
|
+
thinkingLevel?: ThinkingLevel;
|
|
257
291
|
}>): void;
|
|
258
292
|
/** File-based prompt templates */
|
|
259
293
|
get promptTemplates(): ReadonlyArray<PromptTemplate>;
|
|
294
|
+
private _normalizePromptSnippet;
|
|
295
|
+
private _normalizePromptGuidelines;
|
|
260
296
|
private _rebuildSystemPrompt;
|
|
261
297
|
/**
|
|
262
298
|
* Send a prompt to the agent.
|
|
@@ -276,8 +312,9 @@ export declare class AgentSession {
|
|
|
276
312
|
*/
|
|
277
313
|
private _expandSkillCommand;
|
|
278
314
|
/**
|
|
279
|
-
* Queue a steering message
|
|
280
|
-
* Delivered after current
|
|
315
|
+
* Queue a steering message while the agent is running.
|
|
316
|
+
* Delivered after the current assistant turn finishes executing its tool calls,
|
|
317
|
+
* before the next LLM call.
|
|
281
318
|
* Expands skill commands and prompt templates. Errors on extension commands.
|
|
282
319
|
* @param images Optional image attachments to include with the message
|
|
283
320
|
* @throws Error if text is an extension command
|
|
@@ -343,23 +380,11 @@ export declare class AgentSession {
|
|
|
343
380
|
* Abort current operation and wait for agent to become idle.
|
|
344
381
|
*/
|
|
345
382
|
abort(): Promise<void>;
|
|
346
|
-
/**
|
|
347
|
-
* Start a new session, optionally with initial messages and parent tracking.
|
|
348
|
-
* Clears all messages and starts a new session.
|
|
349
|
-
* Listeners are preserved and will continue receiving events.
|
|
350
|
-
* @param options.parentSession - Optional parent session path for tracking
|
|
351
|
-
* @param options.setup - Optional callback to initialize session (e.g., append messages)
|
|
352
|
-
* @returns true if completed, false if cancelled by extension
|
|
353
|
-
*/
|
|
354
|
-
newSession(options?: {
|
|
355
|
-
parentSession?: string;
|
|
356
|
-
setup?: (sessionManager: SessionManager) => Promise<void>;
|
|
357
|
-
}): Promise<boolean>;
|
|
358
383
|
private _emitModelSelect;
|
|
359
384
|
/**
|
|
360
385
|
* Set model directly.
|
|
361
|
-
* Validates
|
|
362
|
-
* @throws Error if no
|
|
386
|
+
* Validates that auth is configured, saves to session and settings.
|
|
387
|
+
* @throws Error if no auth is configured for the model
|
|
363
388
|
*/
|
|
364
389
|
setModel(model: Model<any>): Promise<void>;
|
|
365
390
|
/**
|
|
@@ -369,7 +394,6 @@ export declare class AgentSession {
|
|
|
369
394
|
* @returns The new model info, or undefined if only one model available
|
|
370
395
|
*/
|
|
371
396
|
cycleModel(direction?: "forward" | "backward"): Promise<ModelCycleResult | undefined>;
|
|
372
|
-
private _getScopedModelsWithApiKey;
|
|
373
397
|
private _cycleScopedModel;
|
|
374
398
|
private _cycleAvailableModel;
|
|
375
399
|
/**
|
|
@@ -396,6 +420,7 @@ export declare class AgentSession {
|
|
|
396
420
|
* Check if current model supports thinking/reasoning.
|
|
397
421
|
*/
|
|
398
422
|
supportsThinking(): boolean;
|
|
423
|
+
private _getThinkingLevelForModelSwitch;
|
|
399
424
|
private _clampThinkingLevel;
|
|
400
425
|
/**
|
|
401
426
|
* Set steering message mode.
|
|
@@ -434,7 +459,9 @@ export declare class AgentSession {
|
|
|
434
459
|
private buildExtensionResourcePaths;
|
|
435
460
|
private getExtensionSourceLabel;
|
|
436
461
|
private _applyExtensionBindings;
|
|
462
|
+
private _refreshCurrentModelFromRegistry;
|
|
437
463
|
private _bindExtensionCore;
|
|
464
|
+
private _refreshToolRegistry;
|
|
438
465
|
private _buildRuntime;
|
|
439
466
|
reload(): Promise<void>;
|
|
440
467
|
/**
|
|
@@ -488,30 +515,10 @@ export declare class AgentSession {
|
|
|
488
515
|
* Called after agent turn completes to maintain proper message ordering.
|
|
489
516
|
*/
|
|
490
517
|
private _flushPendingBashMessages;
|
|
491
|
-
/**
|
|
492
|
-
* Switch to a different session file.
|
|
493
|
-
* Aborts current operation, loads messages, restores model/thinking.
|
|
494
|
-
* Listeners are preserved and will continue receiving events.
|
|
495
|
-
* @returns true if switch completed, false if cancelled by extension
|
|
496
|
-
*/
|
|
497
|
-
switchSession(sessionPath: string): Promise<boolean>;
|
|
498
518
|
/**
|
|
499
519
|
* Set a display name for the current session.
|
|
500
520
|
*/
|
|
501
521
|
setSessionName(name: string): void;
|
|
502
|
-
/**
|
|
503
|
-
* Create a fork from a specific entry.
|
|
504
|
-
* Emits before_fork/fork session events to extensions.
|
|
505
|
-
*
|
|
506
|
-
* @param entryId ID of the entry to fork from
|
|
507
|
-
* @returns Object with:
|
|
508
|
-
* - selectedText: The text of the selected user message (for editor pre-fill)
|
|
509
|
-
* - cancelled: True if an extension cancelled the fork
|
|
510
|
-
*/
|
|
511
|
-
fork(entryId: string): Promise<{
|
|
512
|
-
selectedText: string;
|
|
513
|
-
cancelled: boolean;
|
|
514
|
-
}>;
|
|
515
522
|
/**
|
|
516
523
|
* Navigate to a different node in the session tree.
|
|
517
524
|
* Unlike fork() which creates a new session file, this stays in the same file.
|
|
@@ -553,6 +560,13 @@ export declare class AgentSession {
|
|
|
553
560
|
* @returns Path to exported file
|
|
554
561
|
*/
|
|
555
562
|
exportToHtml(outputPath?: string): Promise<string>;
|
|
563
|
+
/**
|
|
564
|
+
* Export the current session branch to a JSONL file.
|
|
565
|
+
* Writes the session header followed by all entries on the current branch path.
|
|
566
|
+
* @param outputPath Target file path. If omitted, generates a timestamped file in cwd.
|
|
567
|
+
* @returns The resolved output file path.
|
|
568
|
+
*/
|
|
569
|
+
exportToJsonl(outputPath?: string): string;
|
|
556
570
|
/**
|
|
557
571
|
* Get text content of last assistant message.
|
|
558
572
|
* Useful for /copy command.
|