@bastani/atomic 0.9.11-alpha.2 → 0.9.11-alpha.4
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 +42 -0
- package/dist/builtin/cursor/package.json +2 -2
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +6 -0
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/subagents/src/runs/background/notify.ts +3 -1
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +5 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +2 -1
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +5 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +34 -0
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +20 -0
- package/dist/builtin/workflows/builtin/goal-prompts.ts +8 -3
- package/dist/builtin/workflows/builtin/goal.ts +4 -4
- package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +1 -1
- package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +3 -1
- package/dist/builtin/workflows/builtin/ralph-runner.ts +2 -0
- package/dist/builtin/workflows/builtin/ralph.ts +4 -4
- package/dist/builtin/workflows/builtin/shared-prompts.ts +16 -0
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/src/authoring/workflow.ts +1 -0
- package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +27 -1
- package/dist/builtin/workflows/src/durable/factory.ts +29 -3
- package/dist/builtin/workflows/src/durable/index.ts +2 -0
- package/dist/builtin/workflows/src/engine/run-durable-admission.ts +50 -0
- package/dist/builtin/workflows/src/engine/run.ts +12 -17
- package/dist/builtin/workflows/src/extension/extension-factory.ts +16 -1
- package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +16 -2
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +71724 -0
- package/dist/builtin/workflows/src/extension/runtime.ts +5 -3
- package/dist/builtin/workflows/src/extension/ui-surface.ts +4 -0
- package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +4 -1
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +3 -1
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +1 -0
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +1 -0
- package/dist/builtin/workflows/src/shared/types.ts +7 -0
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +1 -0
- package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +1 -0
- package/dist/builtin/workflows/src/tui/host-input-form.ts +1 -1
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +6 -8
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +2 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +4 -0
- package/dist/cli/args.d.ts +8 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts +4 -2
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/startup-ui.d.ts +3 -0
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +50 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/config-command-parser.d.ts +9 -0
- package/dist/config-command-parser.d.ts.map +1 -0
- package/dist/config-command-parser.js +22 -0
- package/dist/config-command-parser.js.map +1 -0
- package/dist/config-self-update.d.ts +6 -2
- package/dist/config-self-update.d.ts.map +1 -1
- package/dist/config-self-update.js +17 -10
- package/dist/config-self-update.js.map +1 -1
- package/dist/config.d.ts +3 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-export.d.ts.map +1 -1
- package/dist/core/agent-session-export.js +32 -25
- package/dist/core/agent-session-export.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +9 -3
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +5 -0
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +2 -0
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +8 -5
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-tree.d.ts.map +1 -1
- package/dist/core/agent-session-tree.js +3 -1
- package/dist/core/agent-session-tree.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +5 -0
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/auth-storage.d.ts +6 -2
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +5 -1
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/cache-stats.d.ts +25 -0
- package/dist/core/cache-stats.d.ts.map +1 -0
- package/dist/core/cache-stats.js +68 -0
- package/dist/core/cache-stats.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +2 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +1 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/extensions/agent-events.d.ts +10 -0
- package/dist/core/extensions/agent-events.d.ts.map +1 -1
- package/dist/core/extensions/agent-events.js.map +1 -1
- package/dist/core/extensions/api-types.d.ts +8 -2
- package/dist/core/extensions/api-types.d.ts.map +1 -1
- package/dist/core/extensions/api-types.js.map +1 -1
- package/dist/core/extensions/event-types.d.ts +2 -2
- package/dist/core/extensions/event-types.d.ts.map +1 -1
- package/dist/core/extensions/event-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +13 -2
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-core.d.ts.map +1 -1
- package/dist/core/extensions/loader-core.js +1 -0
- package/dist/core/extensions/loader-core.js.map +1 -1
- package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
- package/dist/core/extensions/loader-runtime.js +15 -7
- package/dist/core/extensions/loader-runtime.js.map +1 -1
- package/dist/core/extensions/message-types.d.ts +5 -0
- package/dist/core/extensions/message-types.d.ts.map +1 -1
- package/dist/core/extensions/message-types.js.map +1 -1
- package/dist/core/extensions/provider-types.d.ts +46 -0
- package/dist/core/extensions/provider-types.d.ts.map +1 -1
- package/dist/core/extensions/provider-types.js.map +1 -1
- package/dist/core/extensions/runner-registries.d.ts +2 -1
- package/dist/core/extensions/runner-registries.d.ts.map +1 -1
- package/dist/core/extensions/runner-registries.js +8 -0
- package/dist/core/extensions/runner-registries.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +5 -2
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +35 -13
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +8 -2
- package/dist/core/extensions/runtime-types.d.ts.map +1 -1
- package/dist/core/extensions/runtime-types.js.map +1 -1
- package/dist/core/extensions/ui-types.d.ts +4 -0
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts +1 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +16 -2
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/keybindings.d.ts +6 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +3 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/model-registry-auth.d.ts +2 -0
- package/dist/core/model-registry-auth.d.ts.map +1 -1
- package/dist/core/model-registry-auth.js +18 -1
- package/dist/core/model-registry-auth.js.map +1 -1
- package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
- package/dist/core/model-registry-custom-loader.js +14 -2
- package/dist/core/model-registry-custom-loader.js.map +1 -1
- package/dist/core/model-registry-dynamic.js +2 -2
- package/dist/core/model-registry-dynamic.js.map +1 -1
- package/dist/core/model-registry-loader.d.ts.map +1 -1
- package/dist/core/model-registry-loader.js +2 -1
- package/dist/core/model-registry-loader.js.map +1 -1
- package/dist/core/model-registry-schemas.d.ts +17 -0
- package/dist/core/model-registry-schemas.d.ts.map +1 -1
- package/dist/core/model-registry-schemas.js +2 -0
- package/dist/core/model-registry-schemas.js.map +1 -1
- package/dist/core/model-registry-types.d.ts +10 -1
- package/dist/core/model-registry-types.d.ts.map +1 -1
- package/dist/core/model-registry-types.js.map +1 -1
- package/dist/core/model-registry.d.ts +26 -36
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +72 -67
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-defaults.d.ts.map +1 -1
- package/dist/core/model-resolver-defaults.js +3 -0
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/model-runtime.d.ts +52 -0
- package/dist/core/model-runtime.d.ts.map +1 -0
- package/dist/core/model-runtime.js +120 -0
- package/dist/core/model-runtime.js.map +1 -0
- package/dist/core/oauth-provider-bridge.d.ts +3 -1
- package/dist/core/oauth-provider-bridge.d.ts.map +1 -1
- package/dist/core/oauth-provider-bridge.js +6 -4
- package/dist/core/oauth-provider-bridge.js.map +1 -1
- package/dist/core/package-manager-resolver.js +22 -11
- package/dist/core/package-manager-resolver.js.map +1 -1
- package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
- package/dist/core/package-manager-resource-collector.js +8 -2
- package/dist/core/package-manager-resource-collector.js.map +1 -1
- package/dist/core/package-manager-resource-patterns.d.ts +1 -0
- package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
- package/dist/core/package-manager-resource-patterns.js +15 -0
- package/dist/core/package-manager-resource-patterns.js.map +1 -1
- package/dist/core/package-manager-source.d.ts.map +1 -1
- package/dist/core/package-manager-source.js +15 -8
- package/dist/core/package-manager-source.js.map +1 -1
- package/dist/core/package-manager-types.d.ts +1 -0
- package/dist/core/package-manager-types.d.ts.map +1 -1
- package/dist/core/package-manager-types.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/provider-display-names.js +4 -0
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/resource-loader-core.d.ts.map +1 -1
- package/dist/core/resource-loader-core.js.map +1 -1
- package/dist/core/resource-loader-extensions.d.ts.map +1 -1
- package/dist/core/resource-loader-extensions.js +5 -2
- package/dist/core/resource-loader-extensions.js.map +1 -1
- package/dist/core/resource-loader-helpers.d.ts.map +1 -1
- package/dist/core/resource-loader-helpers.js +1 -0
- package/dist/core/resource-loader-helpers.js.map +1 -1
- package/dist/core/resource-loader-internals.d.ts +2 -2
- package/dist/core/resource-loader-internals.d.ts.map +1 -1
- package/dist/core/resource-loader-internals.js.map +1 -1
- package/dist/core/resource-loader-types.d.ts +3 -3
- package/dist/core/resource-loader-types.d.ts.map +1 -1
- package/dist/core/resource-loader-types.js.map +1 -1
- package/dist/core/sdk-exports.d.ts +1 -1
- package/dist/core/sdk-exports.d.ts.map +1 -1
- package/dist/core/sdk-exports.js.map +1 -1
- package/dist/core/sdk-types.d.ts +3 -0
- package/dist/core/sdk-types.d.ts.map +1 -1
- package/dist/core/sdk-types.js.map +1 -1
- package/dist/core/sdk.js +6 -2
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager-core.d.ts +1 -1
- package/dist/core/session-manager-core.d.ts.map +1 -1
- package/dist/core/session-manager-core.js +2 -2
- package/dist/core/session-manager-core.js.map +1 -1
- package/dist/core/session-manager-entries.d.ts +2 -2
- package/dist/core/session-manager-entries.d.ts.map +1 -1
- package/dist/core/session-manager-entries.js +2 -1
- package/dist/core/session-manager-entries.js.map +1 -1
- package/dist/core/session-manager-history.d.ts +5 -0
- package/dist/core/session-manager-history.d.ts.map +1 -1
- package/dist/core/session-manager-history.js +33 -0
- package/dist/core/session-manager-history.js.map +1 -1
- package/dist/core/session-manager-types.d.ts +4 -2
- package/dist/core/session-manager-types.d.ts.map +1 -1
- package/dist/core/session-manager-types.js.map +1 -1
- package/dist/core/session-manager.d.ts +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +1 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +7 -0
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js +35 -0
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-manager-resource-accessors.d.ts +3 -0
- package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-resource-accessors.js +16 -0
- package/dist/core/settings-manager-resource-accessors.js.map +1 -1
- package/dist/core/settings-types.d.ts +8 -2
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/slash-commands.d.ts +1 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/usage-totals.d.ts +18 -0
- package/dist/core/usage-totals.d.ts.map +1 -0
- package/dist/core/usage-totals.js +40 -0
- package/dist/core/usage-totals.js.map +1 -0
- package/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +5 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/llama/client.d.ts +61 -0
- package/dist/extensions/llama/client.d.ts.map +1 -0
- package/dist/extensions/llama/client.js +300 -0
- package/dist/extensions/llama/client.js.map +1 -0
- package/dist/extensions/llama/huggingface-ui.d.ts +33 -0
- package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -0
- package/dist/extensions/llama/huggingface-ui.js +166 -0
- package/dist/extensions/llama/huggingface-ui.js.map +1 -0
- package/dist/extensions/llama/huggingface.d.ts +23 -0
- package/dist/extensions/llama/huggingface.d.ts.map +1 -0
- package/dist/extensions/llama/huggingface.js +139 -0
- package/dist/extensions/llama/huggingface.js.map +1 -0
- package/dist/extensions/llama/index.d.ts +3 -0
- package/dist/extensions/llama/index.d.ts.map +1 -0
- package/dist/extensions/llama/index.js +208 -0
- package/dist/extensions/llama/index.js.map +1 -0
- package/dist/extensions/llama/provider.d.ts +11 -0
- package/dist/extensions/llama/provider.d.ts.map +1 -0
- package/dist/extensions/llama/provider.js +93 -0
- package/dist/extensions/llama/provider.js.map +1 -0
- package/dist/extensions/llama/ui.d.ts +42 -0
- package/dist/extensions/llama/ui.d.ts.map +1 -0
- package/dist/extensions/llama/ui.js +237 -0
- package/dist/extensions/llama/ui.js.map +1 -0
- package/dist/index-extensions.d.ts +1 -1
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/main-first-time-setup.d.ts +6 -0
- package/dist/main-first-time-setup.d.ts.map +1 -0
- package/dist/main-first-time-setup.js +10 -0
- package/dist/main-first-time-setup.js.map +1 -0
- package/dist/main-types.d.ts +2 -2
- package/dist/main-types.d.ts.map +1 -1
- package/dist/main-types.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +17 -7
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
- package/dist/modes/interactive/chat-input-actions.js +14 -2
- package/dist/modes/interactive/chat-input-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js +5 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.d.ts +6 -6
- package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.js +64 -125
- package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-project-scope.d.ts +4 -0
- package/dist/modes/interactive/components/config-selector-project-scope.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector-project-scope.js +61 -0
- package/dist/modes/interactive/components/config-selector-project-scope.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +8 -5
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +46 -22
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts +16 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-entry.js +45 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts +24 -0
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
- package/dist/modes/interactive/components/first-time-setup.js +69 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +7 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +55 -27
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts +2 -0
- package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
- package/dist/modes/interactive/components/host-input-form.js +6 -3
- package/dist/modes/interactive/components/host-input-form.js.map +1 -1
- package/dist/modes/interactive/components/idle-status.d.ts +8 -0
- package/dist/modes/interactive/components/idle-status.d.ts.map +1 -0
- package/dist/modes/interactive/components/idle-status.js +13 -0
- package/dist/modes/interactive/components/idle-status.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +3 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js +3 -0
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +5 -5
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +14 -6
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +10 -6
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.js +6 -0
- package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js +14 -0
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +4 -0
- package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.js +21 -0
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +17 -8
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.d.ts +2 -0
- package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.js +88 -40
- package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-autocomplete.js +6 -0
- package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-runtime.js +4 -0
- package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-global-clear.d.ts +10 -2
- package/dist/modes/interactive/interactive-global-clear.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-global-clear.js +3 -1
- package/dist/modes/interactive/interactive-global-clear.js.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +6 -4
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-helpers.d.ts +2 -1
- package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-helpers.js +6 -10
- package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +11 -2
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +69 -12
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-resource-rendering.js +1 -1
- package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +10 -0
- package/dist/modes/interactive/interactive-selectors.js.map +1 -1
- package/dist/modes/interactive/interactive-session-routing.js +3 -0
- package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js +14 -0
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/login-provider-options.d.ts +21 -0
- package/dist/modes/interactive/login-provider-options.d.ts.map +1 -0
- package/dist/modes/interactive/login-provider-options.js +51 -0
- package/dist/modes/interactive/login-provider-options.js.map +1 -0
- package/dist/modes/interactive-engine/engine-input-form.d.ts +1 -1
- package/dist/modes/interactive-engine/engine-input-form.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-input-form.js +10 -2
- package/dist/modes/interactive-engine/engine-input-form.js.map +1 -1
- package/dist/modes/interactive-engine/engine-monitor.d.ts +8 -1
- package/dist/modes/interactive-engine/engine-monitor.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-monitor.js +13 -15
- package/dist/modes/interactive-engine/engine-monitor.js.map +1 -1
- package/dist/modes/interactive-engine/input-form-host.d.ts.map +1 -1
- package/dist/modes/interactive-engine/input-form-host.js +7 -2
- package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts +5 -0
- package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
- package/dist/modes/interactive-engine/protocol.js +9 -1
- package/dist/modes/interactive-engine/protocol.js.map +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts +2 -0
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.js +33 -0
- package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
- package/dist/modes/rpc/rpc-client-api.d.ts +3 -1
- package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-api.js +15 -0
- package/dist/modes/rpc/rpc-client-api.js.map +1 -1
- package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-process.js +3 -0
- package/dist/modes/rpc/rpc-client-process.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +1 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.d.ts +5 -1
- package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +62 -2
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts +3 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.js +7 -2
- package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
- package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-input-scheduler.js +1 -0
- package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +1 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts +1 -0
- package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.js +66 -43
- package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +31 -0
- 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 +3 -3
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +55 -51
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.js +6 -2
- package/dist/rpc-entry.js.map +1 -1
- package/dist/self-update-plan.d.ts +12 -0
- package/dist/self-update-plan.d.ts.map +1 -0
- package/dist/self-update-plan.js +42 -0
- package/dist/self-update-plan.js.map +1 -0
- 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 +3 -0
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +10 -0
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/compile-cache.d.ts +8 -0
- package/dist/utils/compile-cache.d.ts.map +1 -0
- package/dist/utils/compile-cache.js +31 -0
- package/dist/utils/compile-cache.js.map +1 -0
- package/dist/utils/version-check.d.ts +1 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +3 -3
- package/dist/utils/version-check.js.map +1 -1
- package/docs/docs.json +2 -1
- package/docs/extensions.md +56 -4
- package/docs/keybindings.md +3 -0
- package/docs/llama-cpp.md +70 -0
- package/docs/models.md +8 -3
- package/docs/packages.md +4 -2
- package/docs/providers.md +37 -3
- package/docs/sdk.md +18 -0
- package/docs/settings.md +19 -3
- package/docs/tui.md +2 -0
- package/docs/usage.md +7 -0
- package/docs/workflows.md +34 -11
- package/npm-shrinkwrap.json +23 -23
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-extension-runtime.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-extension-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport { type KeyId, type Component, type LoaderIndicatorOptions, type ExtensionContext, type ExtensionRunner, type ExtensionWidgetOptions, Container, Loader, matchesKey, Text, TUI, AssistantMessageComponent, keyText, Theme, theme } from \"./interactive-mode-deps.ts\";\n\nInteractiveModeBase.prototype.setupExtensionShortcuts = function(this: InteractiveModeBase, extensionRunner: ExtensionRunner): void {\n const shortcuts = extensionRunner.getShortcuts(\n this.keybindings.getEffectiveConfig(),\n );\n if (shortcuts.size === 0) return;\n\n // Create a context for shortcut handlers\n const createContext = (): ExtensionContext => ({\n ui: this.createExtensionUIContext(),\n mode: \"tui\",\n hasUI: true,\n cwd: this.sessionManager.getCwd(),\n sessionManager: this.sessionManager,\n modelRegistry: this.session.modelRegistry,\n model: this.session.model,\n isIdle: () => !this.session.isStreaming,\n isProjectTrusted: () => this.session.settingsManager.isProjectTrusted(),\n signal: this.session.agent.signal,\n abort: () => this.session.abort(),\n hasPendingMessages: () => this.session.pendingMessageCount > 0,\n shutdown: () => {\n this.shutdownRequested = true;\n },\n getContextUsage: () => this.session.getContextUsage(),\n compact: (options) => {\n void (async () => {\n try {\n const result = await this.session.compact();\n options?.onComplete?.(result);\n } catch (error) {\n const err =\n error instanceof Error ? error : new Error(String(error));\n options?.onError?.(err);\n }\n })();\n },\n getSystemPrompt: () => this.session.systemPrompt,\n });\n\n // Set up the extension shortcut handler on the default editor\n this.defaultEditor.onExtensionShortcut = (data: string) => {\n for (const [shortcutStr, shortcut] of shortcuts) {\n // Cast to KeyId - extension shortcuts use the same format\n if (matchesKey(data, shortcutStr as KeyId)) {\n // Run handler async, don't block input\n Promise.resolve(shortcut.handler(createContext())).catch((err) => {\n this.showError(\n `Shortcut handler error: ${err instanceof Error ? err.message : String(err)}`,\n );\n });\n return true;\n }\n }\n return false;\n };\n };\n\nInteractiveModeBase.prototype.setExtensionStatus = function(this: InteractiveModeBase, key: string, text: string | undefined): void {\n this.footerDataProvider.setExtensionStatus(key, text);\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.getWorkingLoaderMessage = function(this: InteractiveModeBase): string {\n return this.workingMessage ?? this.defaultWorkingMessage;\n };\n\nInteractiveModeBase.prototype.createWorkingLoader = function(this: InteractiveModeBase): Loader {\n return new Loader(\n this.ui,\n (spinner) => theme.fg(\"accent\", spinner),\n (text) => theme.fg(\"muted\", text),\n this.getWorkingLoaderMessage(),\n this.workingIndicatorOptions,\n );\n };\n\nInteractiveModeBase.prototype.stopWorkingLoader = function(this: InteractiveModeBase): void {\n if (this.loadingAnimation) {\n this.loadingAnimation.stop();\n this.loadingAnimation = undefined;\n }\n this.statusContainer.clear();\n };\n\nInteractiveModeBase.prototype.showWorkingLoaderNow = function(this: InteractiveModeBase): void {\n // Mount the working spinner immediately, regardless of streaming state, so\n // there is no visible gap between submitting a prompt and the agent turn\n // actually starting. Prompt preflight (extension input hooks, template/skill\n // expansion, auth and compaction checks, deferred startup) runs before the\n // agent emits `agent_start`, which is otherwise the only place the loader is\n // created. Respect `workingVisible` so extensions can still suppress it.\n if (!this.workingVisible || this.loadingAnimation) {\n this.ui.requestRender();\n return;\n }\n this.statusContainer.clear();\n this.loadingAnimation = this.createWorkingLoader();\n this.statusContainer.addChild(this.loadingAnimation);\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setWorkingVisible = function(this: InteractiveModeBase, visible: boolean): void {\n this.workingVisible = visible;\n if (!visible) {\n this.stopWorkingLoader();\n this.ui.requestRender();\n return;\n }\n if (this.session.isStreaming && !this.loadingAnimation) {\n this.statusContainer.clear();\n this.loadingAnimation = this.createWorkingLoader();\n this.statusContainer.addChild(this.loadingAnimation);\n }\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setWorkingIndicator = function(this: InteractiveModeBase, options?: LoaderIndicatorOptions): void {\n this.workingIndicatorOptions = options;\n this.loadingAnimation?.setIndicator(options);\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setHiddenThinkingLabel = function(this: InteractiveModeBase, label?: string): void {\n this.hiddenThinkingLabel = label ?? this.defaultHiddenThinkingLabel;\n for (const child of this.chatContainer.children) {\n if (child instanceof AssistantMessageComponent) {\n child.setHiddenThinkingLabel(this.hiddenThinkingLabel);\n }\n }\n if (this.streamingComponent) {\n this.streamingComponent.setHiddenThinkingLabel(this.hiddenThinkingLabel);\n }\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setExtensionWidget = function(this: InteractiveModeBase, key: string, content:\n | string[]\n | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined, options?: ExtensionWidgetOptions): void {\n const placement = options?.placement ?? \"aboveEditor\";\n const removeExisting = (\n map: Map<string, Component & { dispose?(): void }>,\n ) => {\n const existing = map.get(key);\n if (existing?.dispose) existing.dispose();\n map.delete(key);\n };\n\n removeExisting(this.extensionWidgetsAbove);\n removeExisting(this.extensionWidgetsBelow);\n\n if (content === undefined) {\n this.renderWidgets();\n return;\n }\n\n let component: Component & { dispose?(): void };\n\n if (Array.isArray(content)) {\n // Wrap string array in a Container with Text components\n const container = new Container();\n for (const line of content.slice(0, InteractiveModeBase.MAX_WIDGET_LINES)) {\n container.addChild(new Text(line, 1, 0));\n }\n if (content.length > InteractiveModeBase.MAX_WIDGET_LINES) {\n container.addChild(\n new Text(theme.fg(\"muted\", \"... (widget truncated)\"), 1, 0),\n );\n }\n component = container;\n } else {\n // Factory function - create component\n component = content(this.ui, theme);\n }\n\n const targetMap =\n placement === \"belowEditor\"\n ? this.extensionWidgetsBelow\n : this.extensionWidgetsAbove;\n targetMap.set(key, component);\n this.renderWidgets();\n };\n\nInteractiveModeBase.prototype.clearExtensionWidgets = function(this: InteractiveModeBase): void {\n for (const widget of this.extensionWidgetsAbove.values()) {\n widget.dispose?.();\n }\n for (const widget of this.extensionWidgetsBelow.values()) {\n widget.dispose?.();\n }\n this.extensionWidgetsAbove.clear();\n this.extensionWidgetsBelow.clear();\n this.renderWidgets();\n };\n\nInteractiveModeBase.prototype.resetExtensionUI = function(this: InteractiveModeBase): void {\n if (this.extensionSelector) {\n this.hideExtensionSelector();\n }\n if (this.extensionInput) {\n this.hideExtensionInput();\n }\n if (this.extensionEditor) {\n this.hideExtensionEditor();\n }\n this.ui.hideOverlay();\n this.clearExtensionTerminalInputListeners();\n this.setExtensionFooter(undefined);\n this.setExtensionHeader(undefined);\n this.clearExtensionWidgets();\n this.footerDataProvider.clearExtensionStatuses();\n this.footer.invalidate();\n this.autocompleteProviderWrappers = [];\n this.setCustomEditorComponent(undefined);\n this.setupAutocompleteProvider();\n this.defaultEditor.onExtensionShortcut = this.interactiveEngineShortcutHandler;\n this.updateTerminalTitle();\n this.workingMessage = undefined;\n this.workingVisible = true;\n this.setWorkingIndicator();\n if (this.loadingAnimation) {\n this.loadingAnimation.setMessage(\n `${this.defaultWorkingMessage} (${keyText(\"app.interrupt\")} Interrupt)`,\n );\n }\n this.setHiddenThinkingLabel();\n };\n"]}
|
|
1
|
+
{"version":3,"file":"interactive-extension-runtime.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-extension-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport { type KeyId, type Component, type LoaderIndicatorOptions, type ExtensionContext, type ExtensionRunner, type ExtensionWidgetOptions, Container, Loader, matchesKey, Text, TUI, AssistantMessageComponent, keyText, Theme, theme } from \"./interactive-mode-deps.ts\";\nimport { mountIdleStatus } from \"./components/idle-status.ts\";\n\nInteractiveModeBase.prototype.setupExtensionShortcuts = function(this: InteractiveModeBase, extensionRunner: ExtensionRunner): void {\n const shortcuts = extensionRunner.getShortcuts(\n this.keybindings.getEffectiveConfig(),\n );\n if (shortcuts.size === 0) return;\n\n // Create a context for shortcut handlers\n const createContext = (): ExtensionContext => ({\n ui: this.createExtensionUIContext(),\n mode: \"tui\",\n hasUI: true,\n cwd: this.sessionManager.getCwd(),\n sessionManager: this.sessionManager,\n modelRegistry: this.session.modelRegistry,\n model: this.session.model,\n isIdle: () => !this.session.isStreaming,\n isProjectTrusted: () => this.session.settingsManager.isProjectTrusted(),\n signal: this.session.agent.signal,\n abort: () => this.session.abort(),\n hasPendingMessages: () => this.session.pendingMessageCount > 0,\n shutdown: () => {\n this.shutdownRequested = true;\n },\n getContextUsage: () => this.session.getContextUsage(),\n compact: (options) => {\n void (async () => {\n try {\n const result = await this.session.compact();\n options?.onComplete?.(result);\n } catch (error) {\n const err =\n error instanceof Error ? error : new Error(String(error));\n options?.onError?.(err);\n }\n })();\n },\n getSystemPrompt: () => this.session.systemPrompt,\n });\n\n // Set up the extension shortcut handler on the default editor\n this.defaultEditor.onExtensionShortcut = (data: string) => {\n for (const [shortcutStr, shortcut] of shortcuts) {\n // Cast to KeyId - extension shortcuts use the same format\n if (matchesKey(data, shortcutStr as KeyId)) {\n // Run handler async, don't block input\n Promise.resolve(shortcut.handler(createContext())).catch((err) => {\n this.showError(\n `Shortcut handler error: ${err instanceof Error ? err.message : String(err)}`,\n );\n });\n return true;\n }\n }\n return false;\n };\n };\n\nInteractiveModeBase.prototype.setExtensionStatus = function(this: InteractiveModeBase, key: string, text: string | undefined): void {\n this.footerDataProvider.setExtensionStatus(key, text);\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.getWorkingLoaderMessage = function(this: InteractiveModeBase): string {\n return this.workingMessage ?? this.defaultWorkingMessage;\n };\n\nInteractiveModeBase.prototype.createWorkingLoader = function(this: InteractiveModeBase): Loader {\n return new Loader(\n this.ui,\n (spinner) => theme.fg(\"accent\", spinner),\n (text) => theme.fg(\"muted\", text),\n this.getWorkingLoaderMessage(),\n this.workingIndicatorOptions,\n );\n };\n\nInteractiveModeBase.prototype.stopWorkingLoader = function(this: InteractiveModeBase): void {\n const hadLoader = this.loadingAnimation !== undefined;\n if (this.loadingAnimation) {\n this.loadingAnimation.stop();\n this.loadingAnimation = undefined;\n }\n this.statusContainer.clear();\n if (hadLoader) mountIdleStatus(this.statusContainer, this.settingsManager.getClearOnShrink());\n };\n\nInteractiveModeBase.prototype.showWorkingLoaderNow = function(this: InteractiveModeBase): void {\n // Mount the working spinner immediately, regardless of streaming state, so\n // there is no visible gap between submitting a prompt and the agent turn\n // actually starting. Prompt preflight (extension input hooks, template/skill\n // expansion, auth and compaction checks, deferred startup) runs before the\n // agent emits `agent_start`, which is otherwise the only place the loader is\n // created. Respect `workingVisible` so extensions can still suppress it.\n if (!this.workingVisible || this.loadingAnimation) {\n this.ui.requestRender();\n return;\n }\n this.statusContainer.clear();\n this.loadingAnimation = this.createWorkingLoader();\n this.statusContainer.addChild(this.loadingAnimation);\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setWorkingVisible = function(this: InteractiveModeBase, visible: boolean): void {\n this.workingVisible = visible;\n if (!visible) {\n this.stopWorkingLoader();\n this.ui.requestRender();\n return;\n }\n if (this.session.isStreaming && !this.loadingAnimation) {\n this.statusContainer.clear();\n this.loadingAnimation = this.createWorkingLoader();\n this.statusContainer.addChild(this.loadingAnimation);\n }\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setWorkingIndicator = function(this: InteractiveModeBase, options?: LoaderIndicatorOptions): void {\n this.workingIndicatorOptions = options;\n this.loadingAnimation?.setIndicator(options);\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setHiddenThinkingLabel = function(this: InteractiveModeBase, label?: string): void {\n this.hiddenThinkingLabel = label ?? this.defaultHiddenThinkingLabel;\n for (const child of this.chatContainer.children) {\n if (child instanceof AssistantMessageComponent) {\n child.setHiddenThinkingLabel(this.hiddenThinkingLabel);\n }\n }\n if (this.streamingComponent) {\n this.streamingComponent.setHiddenThinkingLabel(this.hiddenThinkingLabel);\n }\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.setExtensionWidget = function(this: InteractiveModeBase, key: string, content:\n | string[]\n | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined, options?: ExtensionWidgetOptions): void {\n const placement = options?.placement ?? \"aboveEditor\";\n const removeExisting = (\n map: Map<string, Component & { dispose?(): void }>,\n ) => {\n const existing = map.get(key);\n if (existing?.dispose) existing.dispose();\n map.delete(key);\n };\n\n removeExisting(this.extensionWidgetsAbove);\n removeExisting(this.extensionWidgetsBelow);\n\n if (content === undefined) {\n this.renderWidgets();\n return;\n }\n\n let component: Component & { dispose?(): void };\n\n if (Array.isArray(content)) {\n // Wrap string array in a Container with Text components\n const container = new Container();\n for (const line of content.slice(0, InteractiveModeBase.MAX_WIDGET_LINES)) {\n container.addChild(new Text(line, 1, 0));\n }\n if (content.length > InteractiveModeBase.MAX_WIDGET_LINES) {\n container.addChild(\n new Text(theme.fg(\"muted\", \"... (widget truncated)\"), 1, 0),\n );\n }\n component = container;\n } else {\n // Factory function - create component\n component = content(this.ui, theme);\n }\n\n const targetMap =\n placement === \"belowEditor\"\n ? this.extensionWidgetsBelow\n : this.extensionWidgetsAbove;\n targetMap.set(key, component);\n this.renderWidgets();\n };\n\nInteractiveModeBase.prototype.clearExtensionWidgets = function(this: InteractiveModeBase): void {\n for (const widget of this.extensionWidgetsAbove.values()) {\n widget.dispose?.();\n }\n for (const widget of this.extensionWidgetsBelow.values()) {\n widget.dispose?.();\n }\n this.extensionWidgetsAbove.clear();\n this.extensionWidgetsBelow.clear();\n this.renderWidgets();\n };\n\nInteractiveModeBase.prototype.resetExtensionUI = function(this: InteractiveModeBase): void {\n if (this.extensionSelector) {\n this.hideExtensionSelector();\n }\n if (this.extensionInput) {\n this.hideExtensionInput();\n }\n if (this.extensionEditor) {\n this.hideExtensionEditor();\n }\n this.ui.hideOverlay();\n this.clearExtensionTerminalInputListeners();\n this.setExtensionFooter(undefined);\n this.setExtensionHeader(undefined);\n this.clearExtensionWidgets();\n this.footerDataProvider.clearExtensionStatuses();\n this.footer.invalidate();\n this.autocompleteProviderWrappers = [];\n this.setCustomEditorComponent(undefined);\n this.setupAutocompleteProvider();\n this.defaultEditor.onExtensionShortcut = this.interactiveEngineShortcutHandler;\n this.updateTerminalTitle();\n this.workingMessage = undefined;\n this.workingVisible = true;\n this.setWorkingIndicator();\n if (this.loadingAnimation) {\n this.loadingAnimation.setMessage(\n `${this.defaultWorkingMessage} (${keyText(\"app.interrupt\")} Interrupt)`,\n );\n }\n this.setHiddenThinkingLabel();\n };\n"]}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
interface GlobalClearInputOptions {
|
|
2
2
|
matchesClear(data: string): boolean;
|
|
3
|
-
hasOverlay: boolean;
|
|
4
|
-
blockingInlineCustomUiActive: boolean;
|
|
3
|
+
hasOverlay(): boolean;
|
|
4
|
+
blockingInlineCustomUiActive(): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* True when the chat editor is the component that currently owns input.
|
|
7
|
+
* Inline popups (login selectors/dialogs, settings, model selector, …) are
|
|
8
|
+
* mounted in place of the editor and take focus; while one is active the
|
|
9
|
+
* global clear handler must defer so the focused component can treat
|
|
10
|
+
* Ctrl+C as cancel (`tui.select.cancel` binds escape and ctrl+c).
|
|
11
|
+
*/
|
|
12
|
+
editorOwnsInput(): boolean;
|
|
5
13
|
onClear(): void;
|
|
6
14
|
requestRender(): void;
|
|
7
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-global-clear.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-global-clear.ts"],"names":[],"mappings":"AAAA,UAAU,uBAAuB;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,UAAU,
|
|
1
|
+
{"version":3,"file":"interactive-global-clear.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-global-clear.ts"],"names":[],"mappings":"AAAA,UAAU,uBAAuB;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,UAAU,IAAI,OAAO,CAAC;IACtB,4BAA4B,IAAI,OAAO,CAAC;IACxC;;;;;;OAMG;IACH,eAAe,IAAI,OAAO,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC;IAChB,aAAa,IAAI,IAAI,CAAC;CACtB;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,uBAAuB,GAC9B;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAO/B"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
export function routeGlobalClearInput(data, options) {
|
|
3
3
|
if (!options.matchesClear(data))
|
|
4
4
|
return undefined;
|
|
5
|
-
if (options.hasOverlay || options.blockingInlineCustomUiActive)
|
|
5
|
+
if (options.hasOverlay() || options.blockingInlineCustomUiActive())
|
|
6
|
+
return undefined;
|
|
7
|
+
if (!options.editorOwnsInput())
|
|
6
8
|
return undefined;
|
|
7
9
|
options.onClear();
|
|
8
10
|
options.requestRender();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-global-clear.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-global-clear.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactive-global-clear.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-global-clear.ts"],"names":[],"mappings":"AAgBA,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CACpC,IAAY,EACZ,OAAgC;IAEhC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,OAAO,CAAC,4BAA4B,EAAE;QAAE,OAAO,SAAS,CAAC;IACrF,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,OAAO,CAAC,aAAa,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC","sourcesContent":["interface GlobalClearInputOptions {\n\tmatchesClear(data: string): boolean;\n\thasOverlay(): boolean;\n\tblockingInlineCustomUiActive(): boolean;\n\t/**\n\t * True when the chat editor is the component that currently owns input.\n\t * Inline popups (login selectors/dialogs, settings, model selector, …) are\n\t * mounted in place of the editor and take focus; while one is active the\n\t * global clear handler must defer so the focused component can treat\n\t * Ctrl+C as cancel (`tui.select.cancel` binds escape and ctrl+c).\n\t */\n\teditorOwnsInput(): boolean;\n\tonClear(): void;\n\trequestRender(): void;\n}\n\n/** Keep app.clear global unless a focused modal/inline component owns input. */\nexport function routeGlobalClearInput(\n\tdata: string,\n\toptions: GlobalClearInputOptions,\n): { consume: true } | undefined {\n\tif (!options.matchesClear(data)) return undefined;\n\tif (options.hasOverlay() || options.blockingInlineCustomUiActive()) return undefined;\n\tif (!options.editorOwnsInput()) return undefined;\n\toptions.onClear();\n\toptions.requestRender();\n\treturn { consume: true };\n}\n"]}
|
|
@@ -45,8 +45,9 @@ InteractiveModeBase.prototype.runUserPromptTurn = async function (userInput) {
|
|
|
45
45
|
InteractiveModeBase.prototype.setupKeyHandlers = function () {
|
|
46
46
|
this.ui.addInputListener((data) => routeGlobalClearInput(data, {
|
|
47
47
|
matchesClear: (candidate) => this.keybindings.matches(candidate, "app.clear"),
|
|
48
|
-
hasOverlay: this.ui.hasOverlay(),
|
|
49
|
-
blockingInlineCustomUiActive: this.blockingInlineCustomUiDepth > 0,
|
|
48
|
+
hasOverlay: () => this.ui.hasOverlay(),
|
|
49
|
+
blockingInlineCustomUiActive: () => this.blockingInlineCustomUiDepth > 0,
|
|
50
|
+
editorOwnsInput: () => this.editorContainer.children.includes(this.editor),
|
|
50
51
|
onClear: () => this.handleCtrlC(),
|
|
51
52
|
requestRender: () => this.ui.requestRender(),
|
|
52
53
|
}));
|
|
@@ -116,6 +117,7 @@ InteractiveModeBase.prototype.setupKeyHandlers = function () {
|
|
|
116
117
|
this.defaultEditor.onAction("app.editor.external", () => this.openExternalEditor());
|
|
117
118
|
this.defaultEditor.onAction("app.message.followUp", () => this.handleFollowUp());
|
|
118
119
|
this.defaultEditor.onAction("app.message.dequeue", () => this.handleDequeue());
|
|
120
|
+
this.defaultEditor.onAction("app.message.copy", () => { void this.handleCopyCommand(); });
|
|
119
121
|
this.defaultEditor.onAction("app.session.new", () => this.handleClearCommand());
|
|
120
122
|
this.defaultEditor.onAction("app.session.tree", () => this.showTreeSelector());
|
|
121
123
|
this.defaultEditor.onAction("app.session.fork", () => this.showUserMessageSelector());
|
|
@@ -336,9 +338,9 @@ InteractiveModeBase.prototype.setupEditorSubmitHandler = function () {
|
|
|
336
338
|
this.editor.setText("");
|
|
337
339
|
return;
|
|
338
340
|
}
|
|
339
|
-
if (
|
|
340
|
-
this.showOAuthSelector("login");
|
|
341
|
+
if (/^\/login(?:\s|$)/.test(text)) {
|
|
341
342
|
this.editor.setText("");
|
|
343
|
+
await this.handleLoginCommand(text.slice("/login".length).trim() || undefined);
|
|
342
344
|
return;
|
|
343
345
|
}
|
|
344
346
|
if (text === "/logout") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-input-handling.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-input-handling.ts"],"names":[],"mappings":"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","sourcesContent":["import { InteractiveModeBase, seedStartupInput } from \"./interactive-mode-base.ts\";\nimport { pasteClipboardImageToEditor, recordTimeSinceReset } from \"./interactive-mode-deps.ts\";\nimport { yieldToEventLoop } from \"../../utils/event-loop.ts\";\nimport { interruptBlockedInteractiveEngine } from \"../interactive-engine/extension-ui-bridge.ts\";\nimport { routeGlobalClearInput } from \"./interactive-global-clear.ts\";\n\nInteractiveModeBase.prototype.runUserPromptTurn = async function(this: InteractiveModeBase, userInput: string): Promise<void> {\n // Show the working spinner immediately on submit so there is no visible gap\n // while prompt preflight runs before the agent emits `agent_start`.\n this.showWorkingLoaderNow();\n const deferredStartupNeedsPromptGate = this.deferredStartupPending || this.deferredStartupPromise !== undefined;\n if (deferredStartupNeedsPromptGate) {\n this.deferLoadedResourcesDisclosureUntilAgentEnd = true;\n }\n // Yield once so the freshly-mounted spinner paints before synchronous\n // preflight work can block the event loop.\n await yieldToEventLoop();\n try {\n if (deferredStartupNeedsPromptGate) {\n await this.ensureDeferredStartupComplete();\n }\n await this.session.prompt(userInput);\n this.deferLoadedResourcesDisclosureUntilAgentEnd = false;\n if (this.pendingLoadedResourcesDisclosure) {\n this.pendingLoadedResourcesDisclosure = false;\n this.showLoadedResources({ force: true, showDiagnosticsWhenQuiet: true, targetContainer: this.startupNoticesContainer });\n void this.maybeWarnAboutAnthropicSubscriptionAuth(undefined, this.startupNoticesContainer);\n this.showStartupNoticesIfNeeded(this.startupNoticesContainer);\n }\n } catch (error: unknown) {\n this.deferLoadedResourcesDisclosureUntilAgentEnd = false;\n this.discardDeferredRenderedUserInput(userInput);\n const errorMessage =\n error instanceof Error ? error.message : \"Unknown error occurred\";\n this.showError(errorMessage);\n } finally {\n // A submission that resolves without starting an agent turn (e.g. an\n // extension slash-command) never emits `agent_end`, so clear the\n // pre-shown spinner here when idle to avoid a lingering indicator.\n if (!this.session.isStreaming) {\n this.stopWorkingLoader();\n }\n }\n };\n\nInteractiveModeBase.prototype.setupKeyHandlers = function(this: InteractiveModeBase): void {\n this.ui.addInputListener((data) => routeGlobalClearInput(data, {\n matchesClear: (candidate) => this.keybindings.matches(candidate, \"app.clear\"),\n hasOverlay: this.ui.hasOverlay(),\n blockingInlineCustomUiActive: this.blockingInlineCustomUiDepth > 0,\n onClear: () => this.handleCtrlC(),\n requestRender: () => this.ui.requestRender(),\n }));\n\n // Set up handlers on defaultEditor - they use this.editor for text access\n // so they work correctly regardless of which editor is active\n this.defaultEditor.onEscape = () => {\n if (!this.session.isStreaming && interruptBlockedInteractiveEngine(this.runtimeHost)) return;\n if (this.session.isStreaming) {\n this.restoreQueuedMessagesToEditor({ abort: true });\n } else if (this.session.isBashRunning) {\n this.session.abortBash();\n } else if (this.isBashMode) {\n this.editor.setText(\"\");\n this.isBashMode = false;\n this.updateEditorBorderColor();\n } else if (!this.editor.getText().trim()) {\n // Double-escape with empty editor triggers /tree, /fork, or nothing based on setting\n const action = this.settingsManager.getDoubleEscapeAction();\n if (action !== \"none\") {\n const now = Date.now();\n if (now - this.lastEscapeTime < 500) {\n if (action === \"tree\") {\n this.showTreeSelector();\n } else {\n this.showUserMessageSelector();\n }\n this.lastEscapeTime = 0;\n } else {\n this.lastEscapeTime = now;\n }\n }\n }\n };\n\n // Register app action handlers\n this.defaultEditor.onAction(\"app.clear\", () => this.handleCtrlC());\n this.defaultEditor.onCtrlD = () => this.handleCtrlD();\n this.defaultEditor.onAction(\"app.suspend\", () => this.handleCtrlZ());\n this.defaultEditor.onAction(\"app.thinking.cycle\", () =>\n this.cycleThinkingLevel(),\n );\n this.defaultEditor.onAction(\"app.model.cycleForward\", () => {\n void (async () => {\n await this.ensureDeferredStartupComplete();\n await this.cycleModel(\"forward\");\n })();\n });\n this.defaultEditor.onAction(\"app.model.cycleBackward\", () => {\n void (async () => {\n await this.ensureDeferredStartupComplete();\n await this.cycleModel(\"backward\");\n })();\n });\n\n // Global debug handler on TUI (works regardless of focus)\n this.ui.onDebug = () => this.handleDebugCommand();\n this.defaultEditor.onAction(\"app.model.select\", () => {\n void (async () => {\n await this.ensureDeferredStartupComplete();\n this.showModelSelector();\n })();\n });\n this.defaultEditor.onAction(\"app.tools.expand\", () =>\n this.toggleToolOutputExpansion(),\n );\n this.defaultEditor.onAction(\"app.thinking.toggle\", () =>\n this.toggleThinkingBlockVisibility(),\n );\n this.defaultEditor.onAction(\"app.editor.external\", () =>\n this.openExternalEditor(),\n );\n this.defaultEditor.onAction(\"app.message.followUp\", () =>\n this.handleFollowUp(),\n );\n this.defaultEditor.onAction(\"app.message.dequeue\", () =>\n this.handleDequeue(),\n );\n this.defaultEditor.onAction(\"app.session.new\", () =>\n this.handleClearCommand(),\n );\n this.defaultEditor.onAction(\"app.session.tree\", () =>\n this.showTreeSelector(),\n );\n this.defaultEditor.onAction(\"app.session.fork\", () =>\n this.showUserMessageSelector(),\n );\n this.defaultEditor.onAction(\"app.session.resume\", () =>\n this.showSessionSelector(),\n );\n\n this.defaultEditor.onChange = (text: string) => {\n const wasBashMode = this.isBashMode;\n this.isBashMode = text.trimStart().startsWith(\"!\");\n if (wasBashMode !== this.isBashMode) {\n this.updateEditorBorderColor();\n }\n };\n\n // Handle clipboard image paste (triggered on Ctrl+V)\n this.defaultEditor.onPasteImage = () => {\n this.handleClipboardImagePaste();\n };\n };\n\nInteractiveModeBase.prototype.handleClipboardImagePaste = async function(this: InteractiveModeBase): Promise<void> {\n await pasteClipboardImageToEditor(this.editor, () => this.ui.requestRender(), {\n showWarning: (message) => this.showWarning(message),\n });\n };\n\nInteractiveModeBase.prototype.deliverStartupReplayPrompt = function(this: InteractiveModeBase, text: string): void {\n if (this.onInputCallback) {\n if (!text.startsWith(\"/\")) {\n this.renderDeferredUserInput(text);\n }\n const callback = this.onInputCallback;\n this.onInputCallback = undefined;\n callback(text);\n } else {\n this.pendingUserInputs.push(text);\n }\n };\n\nInteractiveModeBase.prototype.recoverCookedStartupInput = function(this: InteractiveModeBase): boolean {\n if (this.startupCookedInputRecovered || this.pendingUserInputs.length > 0) return true;\n const text = this.editor.getText();\n const cookedLines = text.split(/\\r?\\n/).map((line) => line.trim()).filter(Boolean);\n const isCommandLike = (line: string | undefined) =>\n line !== undefined && (line.startsWith(\"/\") || line.startsWith(\"!\"));\n // A raw startup capture distinguishes drafts from Enter-terminated submissions.\n // Never reinterpret its visible command-like draft (including a bare \"/\") as\n // submitted merely because header/chat initialization is now draining input.\n const singleCommandLike = this.options.startupInputCapture === undefined\n && cookedLines.length === 1\n && isCommandLike(cookedLines[0]);\n if (cookedLines.length < 2 && !singleCommandLike) return false;\n\n this.startupCookedInputRecovered = true;\n const activeInput = this.startupReplayActiveInput?.trim();\n let draftText = \"\";\n let submissions = cookedLines;\n if (\n activeInput === undefined &&\n cookedLines.length > 1 &&\n !isCommandLike(cookedLines[cookedLines.length - 1]) &&\n (!isCommandLike(cookedLines[0]) || cookedLines.length > 2)\n ) {\n draftText = cookedLines[cookedLines.length - 1] ?? \"\";\n submissions = cookedLines.slice(0, -1);\n } else if (activeInput && cookedLines.length > 1 && !isCommandLike(cookedLines[cookedLines.length - 1])) {\n draftText = cookedLines[cookedLines.length - 1] ?? \"\";\n submissions = cookedLines.slice(0, -1);\n }\n if (submissions.length === 0) return true;\n\n if (activeInput) {\n const queuedSubmissions =\n submissions[0] === activeInput ? submissions.slice(1) : submissions;\n this.editor.setText(draftText);\n this.startupReplayInputs.push(...queuedSubmissions);\n return true;\n }\n\n this.editor.setText(\"\");\n seedStartupInput(this.pendingUserInputs, this.editor, { text: draftText, submissions }, this.startupReplayInputs, (draft) => {\n this.startupDraftText = draft;\n }, (active) => {\n this.startupReplayActiveInput = active;\n });\n return true;\n };\n\nInteractiveModeBase.prototype.drainStartupReplayCommands = async function(this: InteractiveModeBase): Promise<void> {\n while (this.pendingUserInputs.length === 0 && this.startupReplayActiveInput) {\n const activeInput = this.startupReplayActiveInput;\n await this.defaultEditor.onSubmit?.(activeInput);\n if (this.editor.getText().trim() === activeInput.trim()) {\n this.editor.setText(\"\");\n }\n if (this.startupReplayActiveInput?.trim() === activeInput.trim()) break;\n }\n };\n\nInteractiveModeBase.prototype.advanceStartupInputReplay = function(this: InteractiveModeBase, submittedText: string): void {\n if (this.startupReplayActiveInput?.trim() !== submittedText.trim()) return;\n this.startupReplayActiveInput = undefined;\n\n while (this.startupReplayInputs.length > 0) {\n const nextInput = this.startupReplayInputs.shift();\n if (nextInput === undefined) break;\n const trimmed = nextInput.trimStart();\n if (trimmed.startsWith(\"/\") || trimmed.startsWith(\"!\")) {\n this.startupReplayActiveInput = nextInput.trim();\n this.editor.setText(this.startupReplayActiveInput);\n this.ui.requestRender();\n return;\n }\n this.deliverStartupReplayPrompt(nextInput);\n }\n\n if (this.startupDraftText !== undefined) {\n this.editor.setText(this.startupDraftText);\n this.startupDraftText = undefined;\n this.ui.requestRender();\n }\n };\n\nInteractiveModeBase.prototype.setupEditorSubmitHandler = function(this: InteractiveModeBase): void {\n this.defaultEditor.onSubmit = async (text: string) => {\n if (!this.firstSubmitRecorded) {\n this.firstSubmitRecorded = true;\n recordTimeSinceReset(\"interactive-first-submit\");\n }\n text = text.trim();\n if (!text) return;\n\n if (this.startupReplayActiveInput && this.startupReplayActiveInput.trim() !== text.trim()) {\n this.startupReplayInputs.push(text);\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n return;\n }\n try {\n // Handle commands\n if (text === \"/settings\") {\n this.showSettingsSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/fast\") {\n this.editor.setText(\"\");\n this.showFastModeSelector();\n return;\n }\n if (text === \"/scoped-models\") {\n this.editor.setText(\"\");\n await this.ensureDeferredStartupComplete();\n await this.showModelsSelector();\n return;\n }\n if (text === \"/model\" || text.startsWith(\"/model \")) {\n const searchTerm = text.startsWith(\"/model \")\n ? text.slice(7).trim()\n : undefined;\n this.editor.setText(\"\");\n await this.ensureDeferredStartupComplete();\n await this.handleModelCommand(searchTerm);\n return;\n }\n if (text === \"/export\" || text.startsWith(\"/export \")) {\n await this.handleExportCommand(text);\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/import\" || text.startsWith(\"/import \")) {\n await this.handleImportCommand(text);\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/share\") {\n await this.handleShareCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/copy\") {\n await this.handleCopyCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/name\" || text.startsWith(\"/name \")) {\n this.handleNameCommand(text);\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/session\") {\n this.handleSessionCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/changelog\") {\n this.handleChangelogCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/atomic\" || text.startsWith(\"/atomic \")) {\n this.editor.setText(\"\");\n await this.session.prompt(text);\n return;\n }\n if (text === \"/hotkeys\") {\n this.handleHotkeysCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/fork\") {\n this.showUserMessageSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/clone\") {\n this.editor.setText(\"\");\n await this.handleCloneCommand();\n return;\n }\n if (text === \"/tree\") {\n this.showTreeSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/trust\") {\n this.showTrustSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/login\") {\n this.showOAuthSelector(\"login\");\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/logout\") {\n this.showOAuthSelector(\"logout\");\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/new\") {\n this.editor.setText(\"\");\n await this.handleClearCommand();\n return;\n }\n if (/^\\/compact(?:\\s|$)/.test(text)) {\n this.editor.setText(\"\");\n if (text !== \"/compact\") {\n this.showWarning(\"Usage: /compact\");\n return;\n }\n await this.handleCompactCommand();\n return;\n }\n if (text === \"/reload\") {\n this.editor.setText(\"\");\n await this.ensureDeferredStartupComplete();\n await this.handleReloadCommand();\n return;\n }\n if (text === \"/debug\") {\n this.handleDebugCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/arminsayshi\") {\n this.handleArminSaysHi();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/dementedelves\") {\n this.handleDementedDelves();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/resume\") {\n this.showSessionSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/quit\" || text === \"/exit\") {\n this.editor.setText(\"\");\n await this.shutdown();\n return;\n }\n\n if (text.startsWith(\"/\") && this.deferredStartupPending) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n this.ui.requestRender();\n await yieldToEventLoop();\n await this.ensureDeferredStartupComplete();\n await this.session.prompt(text);\n return;\n }\n // Handle bash command (! for normal, !! for excluded from context)\n if (text.startsWith(\"!\")) {\n const isExcluded = text.startsWith(\"!!\");\n const command = isExcluded\n ? text.slice(2).trim()\n : text.slice(1).trim();\n if (command) {\n if (this.session.isBashRunning) {\n this.showWarning(\n \"A bash command is already running. esc cancel first.\",\n );\n this.editor.setText(text);\n return;\n }\n this.editor.addToHistory?.(text);\n await this.handleBashCommand(command, isExcluded);\n this.isBashMode = false;\n this.updateEditorBorderColor();\n return;\n }\n }\n\n // Queue input during compaction (extension commands execute immediately)\n if (this.session.isCompacting) {\n if (this.isExtensionCommand(text)) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n await this.session.prompt(text);\n } else {\n this.queueCompactionMessage(text, \"steer\");\n }\n return;\n }\n\n // If streaming, use prompt() with steer behavior\n // This handles extension commands (execute immediately), prompt template expansion, and queueing\n if (this.session.isStreaming) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n await this.session.prompt(text, { streamingBehavior: \"steer\" });\n this.updatePendingMessagesDisplay();\n this.ui.requestRender();\n return;\n }\n\n // Normal message submission\n // First, move any pending bash components to chat\n this.flushPendingBashComponents();\n\n if (this.onInputCallback) {\n if (!text.startsWith(\"/\")) {\n this.renderDeferredUserInput(text);\n }\n this.onInputCallback(text);\n } else {\n this.pendingUserInputs.push(text);\n }\n this.editor.addToHistory?.(text);\n } finally {\n this.advanceStartupInputReplay?.(text);\n }\n };\n };\n"]}
|
|
1
|
+
{"version":3,"file":"interactive-input-handling.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-input-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,GAAG,KAAK,WAAqC,SAAiB;IACzG,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC5B,MAAM,8BAA8B,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,CAAC;IAChH,IAAI,8BAA8B,EAAE,CAAC;QACnC,IAAI,CAAC,2CAA2C,GAAG,IAAI,CAAC;IAC1D,CAAC;IACD,sEAAsE;IACtE,2CAA2C;IAC3C,MAAM,gBAAgB,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,8BAA8B,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,2CAA2C,GAAG,KAAK,CAAC;QACzD,IAAI,IAAI,CAAC,gCAAgC,EAAE,CAAC;YAC1C,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;YAC9C,IAAI,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACzH,KAAK,IAAI,CAAC,uCAAuC,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC3F,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,CAAC,2CAA2C,GAAG,KAAK,CAAC;QACzD,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;YAAS,CAAC;QACT,qEAAqE;QACrE,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEJ,mBAAmB,CAAC,SAAS,CAAC,gBAAgB,GAAG;IAC7C,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAC7D,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;QAC7E,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE;QACtC,4BAA4B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC;QACxE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;QACjC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;KAC7C,CAAC,CAAC,CAAC;IAEJ,0EAA0E;IAC1E,8DAA8D;IAC9D,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,GAAG,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO;QAC7F,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,6BAA6B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,qFAAqF;YACrF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;YAC5D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC;oBACpC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACjC,CAAC;oBACD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,+BAA+B;IAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE,CACrD,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACzD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC1D,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACnD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACnD,IAAI,CAAC,yBAAyB,EAAE,CACjC,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,CACtD,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,CACtD,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE,CACvD,IAAI,CAAC,cAAc,EAAE,CACtB,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,CACtD,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAClD,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACnD,IAAI,CAAC,gBAAgB,EAAE,CACxB,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACnD,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE,CACrD,IAAI,CAAC,mBAAmB,EAAE,CAC3B,CAAC;IAEF,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,WAAW,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,qDAAqD;IACrD,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,GAAG,EAAE;QACrC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEJ,mBAAmB,CAAC,SAAS,CAAC,yBAAyB,GAAG,KAAK;IAC3D,MAAM,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE;QAC5E,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;KACpD,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,mBAAmB,CAAC,SAAS,CAAC,0BAA0B,GAAG,UAAoC,IAAY;IACvG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AAEJ,mBAAmB,CAAC,SAAS,CAAC,yBAAyB,GAAG;IACtD,IAAI,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnF,MAAM,aAAa,GAAG,CAAC,IAAwB,EAAE,EAAE,CACjD,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,gFAAgF;IAChF,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;WACnE,WAAW,CAAC,MAAM,KAAK,CAAC;WACxB,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAE/D,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,WAAW,GAAG,WAAW,CAAC;IAC9B,IACE,WAAW,KAAK,SAAS;QACzB,WAAW,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAC1D,CAAC;QACD,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,iBAAiB,GACrB,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxB,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1H,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;QACZ,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEJ,mBAAmB,CAAC,SAAS,CAAC,0BAA0B,GAAG,KAAK;IAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAClD,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,KAAK,WAAW,CAAC,IAAI,EAAE;YAAE,MAAM;IAC1E,CAAC;AACH,CAAC,CAAC;AAEJ,mBAAmB,CAAC,SAAS,CAAC,yBAAyB,GAAG,UAAoC,aAAqB;IAC/G,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO;IAC3E,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAE1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACnD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC;AAEJ,mBAAmB,CAAC,SAAS,CAAC,wBAAwB,GAAG;IACrD,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACnD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1F,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACL,kBAAkB;YAClB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;oBAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACtB,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;oBACpC,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,gBAAgB,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD,mEAAmE;YACnE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,UAAU;oBACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC/B,IAAI,CAAC,WAAW,CACd,sDAAsD,CACvD,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC1B,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,OAAO;gBACT,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACxB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC;gBACD,OAAO;YACT,CAAC;YAED,iDAAiD;YACjD,iGAAiG;YACjG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChE,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,4BAA4B;YAC5B,kDAAkD;YAClD,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAElC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { InteractiveModeBase, seedStartupInput } from \"./interactive-mode-base.ts\";\nimport { pasteClipboardImageToEditor, recordTimeSinceReset } from \"./interactive-mode-deps.ts\";\nimport { yieldToEventLoop } from \"../../utils/event-loop.ts\";\nimport { interruptBlockedInteractiveEngine } from \"../interactive-engine/extension-ui-bridge.ts\";\nimport { routeGlobalClearInput } from \"./interactive-global-clear.ts\";\n\nInteractiveModeBase.prototype.runUserPromptTurn = async function(this: InteractiveModeBase, userInput: string): Promise<void> {\n // Show the working spinner immediately on submit so there is no visible gap\n // while prompt preflight runs before the agent emits `agent_start`.\n this.showWorkingLoaderNow();\n const deferredStartupNeedsPromptGate = this.deferredStartupPending || this.deferredStartupPromise !== undefined;\n if (deferredStartupNeedsPromptGate) {\n this.deferLoadedResourcesDisclosureUntilAgentEnd = true;\n }\n // Yield once so the freshly-mounted spinner paints before synchronous\n // preflight work can block the event loop.\n await yieldToEventLoop();\n try {\n if (deferredStartupNeedsPromptGate) {\n await this.ensureDeferredStartupComplete();\n }\n await this.session.prompt(userInput);\n this.deferLoadedResourcesDisclosureUntilAgentEnd = false;\n if (this.pendingLoadedResourcesDisclosure) {\n this.pendingLoadedResourcesDisclosure = false;\n this.showLoadedResources({ force: true, showDiagnosticsWhenQuiet: true, targetContainer: this.startupNoticesContainer });\n void this.maybeWarnAboutAnthropicSubscriptionAuth(undefined, this.startupNoticesContainer);\n this.showStartupNoticesIfNeeded(this.startupNoticesContainer);\n }\n } catch (error: unknown) {\n this.deferLoadedResourcesDisclosureUntilAgentEnd = false;\n this.discardDeferredRenderedUserInput(userInput);\n const errorMessage =\n error instanceof Error ? error.message : \"Unknown error occurred\";\n this.showError(errorMessage);\n } finally {\n // A submission that resolves without starting an agent turn (e.g. an\n // extension slash-command) never emits `agent_end`, so clear the\n // pre-shown spinner here when idle to avoid a lingering indicator.\n if (!this.session.isStreaming) {\n this.stopWorkingLoader();\n }\n }\n };\n\nInteractiveModeBase.prototype.setupKeyHandlers = function(this: InteractiveModeBase): void {\n this.ui.addInputListener((data) => routeGlobalClearInput(data, {\n matchesClear: (candidate) => this.keybindings.matches(candidate, \"app.clear\"),\n hasOverlay: () => this.ui.hasOverlay(),\n blockingInlineCustomUiActive: () => this.blockingInlineCustomUiDepth > 0,\n editorOwnsInput: () => this.editorContainer.children.includes(this.editor),\n onClear: () => this.handleCtrlC(),\n requestRender: () => this.ui.requestRender(),\n }));\n\n // Set up handlers on defaultEditor - they use this.editor for text access\n // so they work correctly regardless of which editor is active\n this.defaultEditor.onEscape = () => {\n if (!this.session.isStreaming && interruptBlockedInteractiveEngine(this.runtimeHost)) return;\n if (this.session.isStreaming) {\n this.restoreQueuedMessagesToEditor({ abort: true });\n } else if (this.session.isBashRunning) {\n this.session.abortBash();\n } else if (this.isBashMode) {\n this.editor.setText(\"\");\n this.isBashMode = false;\n this.updateEditorBorderColor();\n } else if (!this.editor.getText().trim()) {\n // Double-escape with empty editor triggers /tree, /fork, or nothing based on setting\n const action = this.settingsManager.getDoubleEscapeAction();\n if (action !== \"none\") {\n const now = Date.now();\n if (now - this.lastEscapeTime < 500) {\n if (action === \"tree\") {\n this.showTreeSelector();\n } else {\n this.showUserMessageSelector();\n }\n this.lastEscapeTime = 0;\n } else {\n this.lastEscapeTime = now;\n }\n }\n }\n };\n\n // Register app action handlers\n this.defaultEditor.onAction(\"app.clear\", () => this.handleCtrlC());\n this.defaultEditor.onCtrlD = () => this.handleCtrlD();\n this.defaultEditor.onAction(\"app.suspend\", () => this.handleCtrlZ());\n this.defaultEditor.onAction(\"app.thinking.cycle\", () =>\n this.cycleThinkingLevel(),\n );\n this.defaultEditor.onAction(\"app.model.cycleForward\", () => {\n void (async () => {\n await this.ensureDeferredStartupComplete();\n await this.cycleModel(\"forward\");\n })();\n });\n this.defaultEditor.onAction(\"app.model.cycleBackward\", () => {\n void (async () => {\n await this.ensureDeferredStartupComplete();\n await this.cycleModel(\"backward\");\n })();\n });\n\n // Global debug handler on TUI (works regardless of focus)\n this.ui.onDebug = () => this.handleDebugCommand();\n this.defaultEditor.onAction(\"app.model.select\", () => {\n void (async () => {\n await this.ensureDeferredStartupComplete();\n this.showModelSelector();\n })();\n });\n this.defaultEditor.onAction(\"app.tools.expand\", () =>\n this.toggleToolOutputExpansion(),\n );\n this.defaultEditor.onAction(\"app.thinking.toggle\", () =>\n this.toggleThinkingBlockVisibility(),\n );\n this.defaultEditor.onAction(\"app.editor.external\", () =>\n this.openExternalEditor(),\n );\n this.defaultEditor.onAction(\"app.message.followUp\", () =>\n this.handleFollowUp(),\n );\n this.defaultEditor.onAction(\"app.message.dequeue\", () =>\n this.handleDequeue(),\n );\n this.defaultEditor.onAction(\"app.message.copy\", () => { void this.handleCopyCommand(); });\n this.defaultEditor.onAction(\"app.session.new\", () =>\n this.handleClearCommand(),\n );\n this.defaultEditor.onAction(\"app.session.tree\", () =>\n this.showTreeSelector(),\n );\n this.defaultEditor.onAction(\"app.session.fork\", () =>\n this.showUserMessageSelector(),\n );\n this.defaultEditor.onAction(\"app.session.resume\", () =>\n this.showSessionSelector(),\n );\n\n this.defaultEditor.onChange = (text: string) => {\n const wasBashMode = this.isBashMode;\n this.isBashMode = text.trimStart().startsWith(\"!\");\n if (wasBashMode !== this.isBashMode) {\n this.updateEditorBorderColor();\n }\n };\n\n // Handle clipboard image paste (triggered on Ctrl+V)\n this.defaultEditor.onPasteImage = () => {\n this.handleClipboardImagePaste();\n };\n };\n\nInteractiveModeBase.prototype.handleClipboardImagePaste = async function(this: InteractiveModeBase): Promise<void> {\n await pasteClipboardImageToEditor(this.editor, () => this.ui.requestRender(), {\n showWarning: (message) => this.showWarning(message),\n });\n };\n\nInteractiveModeBase.prototype.deliverStartupReplayPrompt = function(this: InteractiveModeBase, text: string): void {\n if (this.onInputCallback) {\n if (!text.startsWith(\"/\")) {\n this.renderDeferredUserInput(text);\n }\n const callback = this.onInputCallback;\n this.onInputCallback = undefined;\n callback(text);\n } else {\n this.pendingUserInputs.push(text);\n }\n };\n\nInteractiveModeBase.prototype.recoverCookedStartupInput = function(this: InteractiveModeBase): boolean {\n if (this.startupCookedInputRecovered || this.pendingUserInputs.length > 0) return true;\n const text = this.editor.getText();\n const cookedLines = text.split(/\\r?\\n/).map((line) => line.trim()).filter(Boolean);\n const isCommandLike = (line: string | undefined) =>\n line !== undefined && (line.startsWith(\"/\") || line.startsWith(\"!\"));\n // A raw startup capture distinguishes drafts from Enter-terminated submissions.\n // Never reinterpret its visible command-like draft (including a bare \"/\") as\n // submitted merely because header/chat initialization is now draining input.\n const singleCommandLike = this.options.startupInputCapture === undefined\n && cookedLines.length === 1\n && isCommandLike(cookedLines[0]);\n if (cookedLines.length < 2 && !singleCommandLike) return false;\n\n this.startupCookedInputRecovered = true;\n const activeInput = this.startupReplayActiveInput?.trim();\n let draftText = \"\";\n let submissions = cookedLines;\n if (\n activeInput === undefined &&\n cookedLines.length > 1 &&\n !isCommandLike(cookedLines[cookedLines.length - 1]) &&\n (!isCommandLike(cookedLines[0]) || cookedLines.length > 2)\n ) {\n draftText = cookedLines[cookedLines.length - 1] ?? \"\";\n submissions = cookedLines.slice(0, -1);\n } else if (activeInput && cookedLines.length > 1 && !isCommandLike(cookedLines[cookedLines.length - 1])) {\n draftText = cookedLines[cookedLines.length - 1] ?? \"\";\n submissions = cookedLines.slice(0, -1);\n }\n if (submissions.length === 0) return true;\n\n if (activeInput) {\n const queuedSubmissions =\n submissions[0] === activeInput ? submissions.slice(1) : submissions;\n this.editor.setText(draftText);\n this.startupReplayInputs.push(...queuedSubmissions);\n return true;\n }\n\n this.editor.setText(\"\");\n seedStartupInput(this.pendingUserInputs, this.editor, { text: draftText, submissions }, this.startupReplayInputs, (draft) => {\n this.startupDraftText = draft;\n }, (active) => {\n this.startupReplayActiveInput = active;\n });\n return true;\n };\n\nInteractiveModeBase.prototype.drainStartupReplayCommands = async function(this: InteractiveModeBase): Promise<void> {\n while (this.pendingUserInputs.length === 0 && this.startupReplayActiveInput) {\n const activeInput = this.startupReplayActiveInput;\n await this.defaultEditor.onSubmit?.(activeInput);\n if (this.editor.getText().trim() === activeInput.trim()) {\n this.editor.setText(\"\");\n }\n if (this.startupReplayActiveInput?.trim() === activeInput.trim()) break;\n }\n };\n\nInteractiveModeBase.prototype.advanceStartupInputReplay = function(this: InteractiveModeBase, submittedText: string): void {\n if (this.startupReplayActiveInput?.trim() !== submittedText.trim()) return;\n this.startupReplayActiveInput = undefined;\n\n while (this.startupReplayInputs.length > 0) {\n const nextInput = this.startupReplayInputs.shift();\n if (nextInput === undefined) break;\n const trimmed = nextInput.trimStart();\n if (trimmed.startsWith(\"/\") || trimmed.startsWith(\"!\")) {\n this.startupReplayActiveInput = nextInput.trim();\n this.editor.setText(this.startupReplayActiveInput);\n this.ui.requestRender();\n return;\n }\n this.deliverStartupReplayPrompt(nextInput);\n }\n\n if (this.startupDraftText !== undefined) {\n this.editor.setText(this.startupDraftText);\n this.startupDraftText = undefined;\n this.ui.requestRender();\n }\n };\n\nInteractiveModeBase.prototype.setupEditorSubmitHandler = function(this: InteractiveModeBase): void {\n this.defaultEditor.onSubmit = async (text: string) => {\n if (!this.firstSubmitRecorded) {\n this.firstSubmitRecorded = true;\n recordTimeSinceReset(\"interactive-first-submit\");\n }\n text = text.trim();\n if (!text) return;\n\n if (this.startupReplayActiveInput && this.startupReplayActiveInput.trim() !== text.trim()) {\n this.startupReplayInputs.push(text);\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n return;\n }\n try {\n // Handle commands\n if (text === \"/settings\") {\n this.showSettingsSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/fast\") {\n this.editor.setText(\"\");\n this.showFastModeSelector();\n return;\n }\n if (text === \"/scoped-models\") {\n this.editor.setText(\"\");\n await this.ensureDeferredStartupComplete();\n await this.showModelsSelector();\n return;\n }\n if (text === \"/model\" || text.startsWith(\"/model \")) {\n const searchTerm = text.startsWith(\"/model \")\n ? text.slice(7).trim()\n : undefined;\n this.editor.setText(\"\");\n await this.ensureDeferredStartupComplete();\n await this.handleModelCommand(searchTerm);\n return;\n }\n if (text === \"/export\" || text.startsWith(\"/export \")) {\n await this.handleExportCommand(text);\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/import\" || text.startsWith(\"/import \")) {\n await this.handleImportCommand(text);\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/share\") {\n await this.handleShareCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/copy\") {\n await this.handleCopyCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/name\" || text.startsWith(\"/name \")) {\n this.handleNameCommand(text);\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/session\") {\n this.handleSessionCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/changelog\") {\n this.handleChangelogCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/atomic\" || text.startsWith(\"/atomic \")) {\n this.editor.setText(\"\");\n await this.session.prompt(text);\n return;\n }\n if (text === \"/hotkeys\") {\n this.handleHotkeysCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/fork\") {\n this.showUserMessageSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/clone\") {\n this.editor.setText(\"\");\n await this.handleCloneCommand();\n return;\n }\n if (text === \"/tree\") {\n this.showTreeSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/trust\") {\n this.showTrustSelector();\n this.editor.setText(\"\");\n return;\n }\n if (/^\\/login(?:\\s|$)/.test(text)) {\n this.editor.setText(\"\");\n await this.handleLoginCommand(text.slice(\"/login\".length).trim() || undefined);\n return;\n }\n if (text === \"/logout\") {\n this.showOAuthSelector(\"logout\");\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/new\") {\n this.editor.setText(\"\");\n await this.handleClearCommand();\n return;\n }\n if (/^\\/compact(?:\\s|$)/.test(text)) {\n this.editor.setText(\"\");\n if (text !== \"/compact\") {\n this.showWarning(\"Usage: /compact\");\n return;\n }\n await this.handleCompactCommand();\n return;\n }\n if (text === \"/reload\") {\n this.editor.setText(\"\");\n await this.ensureDeferredStartupComplete();\n await this.handleReloadCommand();\n return;\n }\n if (text === \"/debug\") {\n this.handleDebugCommand();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/arminsayshi\") {\n this.handleArminSaysHi();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/dementedelves\") {\n this.handleDementedDelves();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/resume\") {\n this.showSessionSelector();\n this.editor.setText(\"\");\n return;\n }\n if (text === \"/quit\" || text === \"/exit\") {\n this.editor.setText(\"\");\n await this.shutdown();\n return;\n }\n\n if (text.startsWith(\"/\") && this.deferredStartupPending) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n this.ui.requestRender();\n await yieldToEventLoop();\n await this.ensureDeferredStartupComplete();\n await this.session.prompt(text);\n return;\n }\n // Handle bash command (! for normal, !! for excluded from context)\n if (text.startsWith(\"!\")) {\n const isExcluded = text.startsWith(\"!!\");\n const command = isExcluded\n ? text.slice(2).trim()\n : text.slice(1).trim();\n if (command) {\n if (this.session.isBashRunning) {\n this.showWarning(\n \"A bash command is already running. esc cancel first.\",\n );\n this.editor.setText(text);\n return;\n }\n this.editor.addToHistory?.(text);\n await this.handleBashCommand(command, isExcluded);\n this.isBashMode = false;\n this.updateEditorBorderColor();\n return;\n }\n }\n\n // Queue input during compaction (extension commands execute immediately)\n if (this.session.isCompacting) {\n if (this.isExtensionCommand(text)) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n await this.session.prompt(text);\n } else {\n this.queueCompactionMessage(text, \"steer\");\n }\n return;\n }\n\n // If streaming, use prompt() with steer behavior\n // This handles extension commands (execute immediately), prompt template expansion, and queueing\n if (this.session.isStreaming) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n await this.session.prompt(text, { streamingBehavior: \"steer\" });\n this.updatePendingMessagesDisplay();\n this.ui.requestRender();\n return;\n }\n\n // Normal message submission\n // First, move any pending bash components to chat\n this.flushPendingBashComponents();\n\n if (this.onInputCallback) {\n if (!text.startsWith(\"/\")) {\n this.renderDeferredUserInput(text);\n }\n this.onInputCallback(text);\n } else {\n this.pendingUserInputs.push(text);\n }\n this.editor.addToHistory?.(text);\n } finally {\n this.advanceStartupInputReplay?.(text);\n }\n };\n };\n"]}
|
|
@@ -20,5 +20,6 @@ export declare function isUnknownModel(model: Model<Api> | undefined): boolean;
|
|
|
20
20
|
export declare function formatResumeCommand(sessionManager: SessionManager): string | undefined;
|
|
21
21
|
export declare function hasDefaultModelProvider(providerId: string): providerId is keyof typeof defaultModelPerProvider;
|
|
22
22
|
export declare const BEDROCK_PROVIDER_ID = "amazon-bedrock";
|
|
23
|
-
|
|
23
|
+
/** @deprecated Login options are now built directly from provider auth metadata. */
|
|
24
|
+
export declare function isApiKeyLoginProvider(providerId: string, oauthProviderIds: ReadonlySet<string>, _builtInProviderIds?: ReadonlySet<string>): boolean;
|
|
24
25
|
//# sourceMappingURL=interactive-mode-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode-helpers.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactive-mode-helpers.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,uBAAuB,EAAM,cAAc,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACvJ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAO5D;AAED,qBAAa,cAAe,SAAQ,IAAK,YAAW,UAAU;IAC5D,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,iBAAyB,gBAAgB,CAA6B;IACtE,iBAAyB,eAAe,CAA6B;IAErE,YACE,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,EAC5C,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,EAC3C,QAAQ,UAAQ,EAChB,QAAQ,SAAI,EACZ,QAAQ,SAAI,EAWb;IAED,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAGnC;IAED,OAAO,IAAI,IAAI,CAKd;IAEQ,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAUvC;CACF;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM3D;AAED,eAAO,MAAM,mCAAmC,0MACyJ,CAAC;AAE1M,eAAO,MAAM,2BAA2B,aAEvC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAOrE;AASD,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAatF;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB,UAAU,IAAI,MAAM,OAAO,uBAAuB,CAEpD;AAED,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,oFAAoF;AACpF,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EACrC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,OAAO,CAGT"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { builtinProviders } from "@earendil-works/pi-ai/providers/all";
|
|
2
|
+
import { APP_NAME, BUILTIN_SLASH_COMMANDS, defaultModelPerProvider, fs, Text } from "./interactive-mode-deps.js";
|
|
2
3
|
export function isExpandable(obj) {
|
|
3
4
|
return (typeof obj === "object" &&
|
|
4
5
|
obj !== null &&
|
|
@@ -77,14 +78,9 @@ export function hasDefaultModelProvider(providerId) {
|
|
|
77
78
|
return providerId in defaultModelPerProvider;
|
|
78
79
|
}
|
|
79
80
|
export const BEDROCK_PROVIDER_ID = "amazon-bedrock";
|
|
80
|
-
|
|
81
|
-
export function isApiKeyLoginProvider(providerId, oauthProviderIds,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
if (builtInProviderIds.has(providerId)) {
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
return !oauthProviderIds.has(providerId);
|
|
81
|
+
/** @deprecated Login options are now built directly from provider auth metadata. */
|
|
82
|
+
export function isApiKeyLoginProvider(providerId, oauthProviderIds, _builtInProviderIds) {
|
|
83
|
+
const builtin = builtinProviders().find((provider) => provider.id === providerId);
|
|
84
|
+
return builtin ? builtin.auth.apiKey !== undefined : !oauthProviderIds.has(providerId);
|
|
89
85
|
}
|
|
90
86
|
//# sourceMappingURL=interactive-mode-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode-helpers.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"interactive-mode-helpers.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { builtinProviders } from \"@earendil-works/pi-ai/providers/all\";\nimport { APP_NAME, BUILTIN_SLASH_COMMANDS, defaultModelPerProvider, fs, SessionManager, Text, type Api, type Model } from \"./interactive-mode-deps.ts\";\nimport type { Expandable } from \"./interactive-mode-types.ts\";\n\nexport function isExpandable(obj: unknown): obj is Expandable {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n \"setExpanded\" in obj &&\n typeof obj.setExpanded === \"function\"\n );\n}\n\nexport class ExpandableText extends Text implements Expandable {\n private expanded: boolean;\n private contentWidth: number | undefined;\n private readonly textPaddingX: number;\n\n declare private readonly getCollapsedText: (width?: number) => string;\n declare private readonly getExpandedText: (width?: number) => string;\n\n constructor(\n getCollapsedText: (width?: number) => string,\n getExpandedText: (width?: number) => string,\n expanded = false,\n paddingX = 0,\n paddingY = 0,\n ) {\n super(\n expanded ? getExpandedText() : getCollapsedText(),\n paddingX,\n paddingY,\n );\n this.getCollapsedText = getCollapsedText;\n this.getExpandedText = getExpandedText;\n this.expanded = expanded;\n this.textPaddingX = paddingX;\n }\n\n setExpanded(expanded: boolean): void {\n this.expanded = expanded;\n this.refresh();\n }\n\n refresh(): void {\n const width = this.contentWidth;\n this.setText(\n this.expanded ? this.getExpandedText(width) : this.getCollapsedText(width),\n );\n }\n\n override render(width: number): string[] {\n // Text getters may adapt their layout to the available content width\n // (e.g. the startup banner drops its side-by-side meta column on narrow\n // terminals), so refresh whenever the render width changes.\n const contentWidth = Math.max(1, width - this.textPaddingX * 2);\n if (contentWidth !== this.contentWidth) {\n this.contentWidth = contentWidth;\n this.refresh();\n }\n return super.render(width);\n }\n}\n\nconst DEAD_TERMINAL_ERROR_CODES = new Set([\"EIO\", \"EPIPE\", \"ENOTCONN\"]);\n\nexport function isDeadTerminalError(error: unknown): boolean {\n if (!error || typeof error !== \"object\" || !(\"code\" in error)) {\n return false;\n }\n const code = (error as NodeJS.ErrnoException).code;\n return code !== undefined && DEAD_TERMINAL_ERROR_CODES.has(code);\n}\n\nexport const ANTHROPIC_SUBSCRIPTION_AUTH_WARNING =\n \"Anthropic subscription auth is active. Third-party harness usage draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage.\";\n\nexport const BUILTIN_SLASH_COMMAND_NAMES = new Set(\n BUILTIN_SLASH_COMMANDS.map((command) => command.name),\n);\n\nexport function isAnthropicSubscriptionAuthKey(apiKey: string | undefined): boolean {\n return typeof apiKey === \"string\" && apiKey.startsWith(\"sk-ant-oat\");\n}\n\nexport function isUnknownModel(model: Model<Api> | undefined): boolean {\n return (\n !!model &&\n model.provider === \"unknown\" &&\n model.id === \"unknown\" &&\n model.api === \"unknown\"\n );\n}\n\nfunction quoteIfNeeded(value: string): string {\n if (value.length > 0 && !/[^a-zA-Z0-9_\\-./~:@]/.test(value)) {\n return value;\n }\n return `'${value.replace(/'/g, `'\\\\''`)}'`;\n}\n\nexport function formatResumeCommand(sessionManager: SessionManager): string | undefined {\n if (!process.stdout.isTTY) return undefined;\n if (!sessionManager.isPersisted()) return undefined;\n\n const sessionFile = sessionManager.getSessionFile();\n if (!sessionFile || !fs.existsSync(sessionFile)) return undefined;\n\n const args = [APP_NAME];\n if (!sessionManager.usesDefaultSessionDir()) {\n args.push(\"--session-dir\", quoteIfNeeded(sessionManager.getSessionDir()));\n }\n args.push(\"--session\", sessionManager.getSessionId());\n return args.join(\" \");\n}\n\nexport function hasDefaultModelProvider(\n providerId: string,\n): providerId is keyof typeof defaultModelPerProvider {\n return providerId in defaultModelPerProvider;\n}\n\nexport const BEDROCK_PROVIDER_ID = \"amazon-bedrock\";\n\n/** @deprecated Login options are now built directly from provider auth metadata. */\nexport function isApiKeyLoginProvider(\n providerId: string,\n oauthProviderIds: ReadonlySet<string>,\n _builtInProviderIds?: ReadonlySet<string>,\n): boolean {\n const builtin = builtinProviders().find((provider) => provider.id === providerId);\n return builtin ? builtin.auth.apiKey !== undefined : !oauthProviderIds.has(providerId);\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Method surface installed onto InteractiveModeBase by sibling modules. */
|
|
2
2
|
import type { AgentMessage, Api, Message, Model, OAuthSelectPrompt, AutocompleteProvider, SlashCommand, Keybinding, MarkdownTheme, OverlayHandle, OverlayOptions, Component, LoaderIndicatorOptions, AgentSession, AgentSessionEvent, EditorFactory, ExtensionCommandContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions, ReadonlyFooterDataProvider, AppKeybinding, VerbatimCompactionResult, ResourceDiagnostic, SessionContext, SourceInfo, ChatMessageEntry, ChatMessageRenderOptions, AuthSelectorProvider, Container, TUI, Theme, Loader, MissingSessionCwdError, KeybindingsManager, LoginDialogComponent } from "./interactive-mode-deps.ts";
|
|
3
|
+
import type { CustomEntry, SessionEntry } from "../../core/session-manager.ts";
|
|
3
4
|
declare module "./interactive-mode-base.ts" {
|
|
4
5
|
interface InteractiveModeBase {
|
|
5
6
|
getAutocompleteSourceTag(sourceInfo?: SourceInfo): string | undefined;
|
|
@@ -213,10 +214,16 @@ declare module "./interactive-mode-base.ts" {
|
|
|
213
214
|
addMessageToChat(message: AgentMessage, options?: {
|
|
214
215
|
populateHistory?: boolean;
|
|
215
216
|
}): void;
|
|
217
|
+
addCustomEntryToChat(entry: CustomEntry): void;
|
|
216
218
|
renderSessionContext(sessionContext: SessionContext, options?: {
|
|
217
219
|
updateFooter?: boolean;
|
|
218
220
|
populateHistory?: boolean;
|
|
219
221
|
}): void;
|
|
222
|
+
renderSessionEntries(entries: SessionEntry[], options?: {
|
|
223
|
+
updateFooter?: boolean;
|
|
224
|
+
populateHistory?: boolean;
|
|
225
|
+
suppressCompactionBoundary?: VerbatimCompactionResult;
|
|
226
|
+
}): void;
|
|
220
227
|
renderInitialMessages(): void;
|
|
221
228
|
attachStartupNoticesContainer(options?: {
|
|
222
229
|
resetDetached?: boolean;
|
|
@@ -303,8 +310,10 @@ declare module "./interactive-mode-base.ts" {
|
|
|
303
310
|
}>;
|
|
304
311
|
getLoginProviderOptions(authType?: "oauth" | "api_key"): AuthSelectorProvider[];
|
|
305
312
|
getLogoutProviderOptions(): AuthSelectorProvider[];
|
|
306
|
-
|
|
307
|
-
|
|
313
|
+
handleLoginCommand(providerRef?: string): Promise<void>;
|
|
314
|
+
startProviderLogin(providerOption: AuthSelectorProvider): Promise<void>;
|
|
315
|
+
showLoginAuthTypeSelector(providerOptions?: AuthSelectorProvider[]): void;
|
|
316
|
+
showLoginProviderSelector(authType?: "oauth" | "api_key", initialSearchInput?: string): void;
|
|
308
317
|
showOAuthSelector(mode: "login" | "logout"): Promise<void>;
|
|
309
318
|
completeProviderAuthentication(providerId: string, providerName: string, authType: "oauth" | "api_key", previousModel: Model<Api> | undefined): Promise<void>;
|
|
310
319
|
showBedrockSetupDialog(providerId: string, providerName: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-mode-surface.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactive-mode-surface.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"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"}
|