@qduc/term2 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/agent.d.ts +21 -13
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +123 -35
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +3 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +283 -128
- package/dist/app.js.map +1 -1
- package/dist/cli.js +91 -27
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-approve-command.js.map +1 -1
- package/dist/commands/mode-commands.js.map +1 -1
- package/dist/commands/retry-tool-command.d.ts +13 -0
- package/dist/commands/retry-tool-command.d.ts.map +1 -0
- package/dist/commands/retry-tool-command.js +20 -0
- package/dist/commands/retry-tool-command.js.map +1 -0
- package/dist/commands/rewind-command.d.ts +37 -0
- package/dist/commands/rewind-command.d.ts.map +1 -0
- package/dist/commands/rewind-command.js +97 -0
- package/dist/commands/rewind-command.js.map +1 -0
- package/dist/commands/sandbox-command.js.map +1 -1
- package/dist/components/InputBox.d.ts +18 -32
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +178 -579
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/input/ApplicationInputSurface.d.ts +37 -0
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -0
- package/dist/components/input/ApplicationInputSurface.js +78 -0
- package/dist/components/input/ApplicationInputSurface.js.map +1 -0
- package/dist/components/input/MenuStackHost.d.ts +12 -0
- package/dist/components/input/MenuStackHost.d.ts.map +1 -0
- package/dist/components/input/MenuStackHost.js +13 -0
- package/dist/components/input/MenuStackHost.js.map +1 -0
- package/dist/components/input/MenuSurface.d.ts +13 -0
- package/dist/components/input/MenuSurface.d.ts.map +1 -0
- package/dist/components/input/MenuSurface.js +86 -0
- package/dist/components/input/MenuSurface.js.map +1 -0
- package/dist/components/input/ModelMenuSession.d.ts +19 -0
- package/dist/components/input/ModelMenuSession.d.ts.map +1 -0
- package/dist/components/input/ModelMenuSession.js +144 -0
- package/dist/components/input/ModelMenuSession.js.map +1 -0
- package/dist/components/input/PathMenuSession.d.ts +16 -0
- package/dist/components/input/PathMenuSession.d.ts.map +1 -0
- package/dist/components/input/PathMenuSession.js +68 -0
- package/dist/components/input/PathMenuSession.js.map +1 -0
- package/dist/components/input/PendingQueueList.d.ts +20 -0
- package/dist/components/input/PendingQueueList.d.ts.map +1 -0
- package/dist/components/input/PendingQueueList.js +26 -0
- package/dist/components/input/PendingQueueList.js.map +1 -0
- package/dist/components/input/ProviderMenuSession.d.ts +16 -0
- package/dist/components/input/ProviderMenuSession.d.ts.map +1 -0
- package/dist/components/input/ProviderMenuSession.js +93 -0
- package/dist/components/input/ProviderMenuSession.js.map +1 -0
- package/dist/components/input/RewindMenuSession.d.ts +14 -0
- package/dist/components/input/RewindMenuSession.d.ts.map +1 -0
- package/dist/components/input/RewindMenuSession.js +77 -0
- package/dist/components/input/RewindMenuSession.js.map +1 -0
- package/dist/components/input/SettingsMenuSession.d.ts +17 -0
- package/dist/components/input/SettingsMenuSession.d.ts.map +1 -0
- package/dist/components/input/SettingsMenuSession.js +136 -0
- package/dist/components/input/SettingsMenuSession.js.map +1 -0
- package/dist/components/input/SettingsValueMenuSession.d.ts +19 -0
- package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -0
- package/dist/components/input/SettingsValueMenuSession.js +113 -0
- package/dist/components/input/SettingsValueMenuSession.js.map +1 -0
- package/dist/components/input/SkillsMenuSession.d.ts +16 -0
- package/dist/components/input/SkillsMenuSession.d.ts.map +1 -0
- package/dist/components/input/SkillsMenuSession.js +64 -0
- package/dist/components/input/SkillsMenuSession.js.map +1 -0
- package/dist/components/input/SlashMenuSession.d.ts +17 -0
- package/dist/components/input/SlashMenuSession.d.ts.map +1 -0
- package/dist/components/input/SlashMenuSession.js +57 -0
- package/dist/components/input/SlashMenuSession.js.map +1 -0
- package/dist/components/input/determine-active-menu.d.ts +2 -0
- package/dist/components/input/determine-active-menu.d.ts.map +1 -1
- package/dist/components/input/determine-active-menu.js +12 -4
- package/dist/components/input/determine-active-menu.js.map +1 -1
- package/dist/components/input/insertions.d.ts +0 -13
- package/dist/components/input/insertions.d.ts.map +1 -1
- package/dist/components/input/insertions.js +0 -26
- package/dist/components/input/insertions.js.map +1 -1
- package/dist/components/input/menu-controller.d.ts +52 -0
- package/dist/components/input/menu-controller.d.ts.map +1 -0
- package/dist/components/input/menu-controller.js +690 -0
- package/dist/components/input/menu-controller.js.map +1 -0
- package/dist/components/input/menu-editor.d.ts +9 -0
- package/dist/components/input/menu-editor.d.ts.map +1 -0
- package/dist/components/input/menu-editor.js +45 -0
- package/dist/components/input/menu-editor.js.map +1 -0
- package/dist/components/input/menu-registry.d.ts +20 -0
- package/dist/components/input/menu-registry.d.ts.map +1 -0
- package/dist/components/input/menu-registry.js +25 -0
- package/dist/components/input/menu-registry.js.map +1 -0
- package/dist/components/input/menu-types.d.ts +320 -0
- package/dist/components/input/menu-types.d.ts.map +1 -0
- package/dist/components/input/menu-types.js +2 -0
- package/dist/components/input/menu-types.js.map +1 -0
- package/dist/components/input/settings-intent-host.d.ts +22 -0
- package/dist/components/input/settings-intent-host.d.ts.map +1 -0
- package/dist/components/input/settings-intent-host.js +69 -0
- package/dist/components/input/settings-intent-host.js.map +1 -0
- package/dist/components/input/triggers.d.ts +3 -0
- package/dist/components/input/triggers.d.ts.map +1 -1
- package/dist/components/input/triggers.js +258 -0
- package/dist/components/input/triggers.js.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.d.ts +16 -0
- package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -0
- package/dist/components/layout/BackgroundTaskManager.js +236 -0
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -0
- package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +64 -24
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts +23 -19
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +74 -48
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +3 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +102 -83
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/RewindMenu.d.ts +18 -0
- package/dist/components/menu/RewindMenu.d.ts.map +1 -0
- package/dist/components/menu/RewindMenu.js +59 -0
- package/dist/components/menu/RewindMenu.js.map +1 -0
- package/dist/components/message/ChatMessage.d.ts +2 -1
- package/dist/components/message/ChatMessage.d.ts.map +1 -1
- package/dist/components/message/ChatMessage.js +1 -1
- package/dist/components/message/ChatMessage.js.map +1 -1
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +138 -15
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
- package/dist/components/message/MemoryRenderer.js +16 -10
- package/dist/components/message/MemoryRenderer.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +20 -3
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +1 -1
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +5 -1
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +12 -4
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts +40 -3
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +49 -8
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts +1 -0
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +136 -59
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/context/InputContext.d.ts +15 -8
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js +92 -15
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/application-stream.d.ts +38 -0
- package/dist/contracts/application-stream.d.ts.map +1 -0
- package/dist/contracts/application-stream.js +2 -0
- package/dist/contracts/application-stream.js.map +1 -0
- package/dist/contracts/continuation-handle.d.ts +18 -0
- package/dist/contracts/continuation-handle.d.ts.map +1 -0
- package/dist/contracts/continuation-handle.js +22 -0
- package/dist/contracts/continuation-handle.js.map +1 -0
- package/dist/contracts/conversation-items.d.ts +47 -0
- package/dist/contracts/conversation-items.d.ts.map +1 -0
- package/dist/contracts/conversation-items.js +2 -0
- package/dist/contracts/conversation-items.js.map +1 -0
- package/dist/contracts/conversation.d.ts +44 -4
- package/dist/contracts/conversation.d.ts.map +1 -1
- package/dist/contracts/conversation.js +9 -0
- package/dist/contracts/conversation.js.map +1 -1
- package/dist/contracts/model-errors.d.ts +10 -0
- package/dist/contracts/model-errors.d.ts.map +1 -0
- package/dist/contracts/model-errors.js +15 -0
- package/dist/contracts/model-errors.js.map +1 -0
- package/dist/contracts/model-types.d.ts +16 -0
- package/dist/contracts/model-types.d.ts.map +1 -0
- package/dist/contracts/model-types.js +2 -0
- package/dist/contracts/model-types.js.map +1 -0
- package/dist/contracts/patch.d.ts +17 -0
- package/dist/contracts/patch.d.ts.map +1 -0
- package/dist/contracts/patch.js +2 -0
- package/dist/contracts/patch.js.map +1 -0
- package/dist/contracts/provider-input.d.ts +34 -0
- package/dist/contracts/provider-input.d.ts.map +1 -0
- package/dist/contracts/provider-input.js +2 -0
- package/dist/contracts/provider-input.js.map +1 -0
- package/dist/contracts/streamed-model-turn.d.ts +230 -0
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -0
- package/dist/contracts/streamed-model-turn.js +2 -0
- package/dist/contracts/streamed-model-turn.js.map +1 -0
- package/dist/env-setup.js +1 -1
- package/dist/hooks/conversation-ui-reducer.d.ts +27 -4
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +51 -4
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/handoff-flow-reducer.d.ts +1 -36
- package/dist/hooks/handoff-flow-reducer.d.ts.map +1 -1
- package/dist/hooks/handoff-flow-reducer.js +3 -57
- package/dist/hooks/handoff-flow-reducer.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts +1 -0
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +30 -6
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +13 -11
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +90 -63
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +18 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +77 -8
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +30 -13
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +85 -18
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-escape-key.d.ts +4 -32
- package/dist/hooks/use-escape-key.d.ts.map +1 -1
- package/dist/hooks/use-escape-key.js +27 -68
- package/dist/hooks/use-escape-key.js.map +1 -1
- package/dist/hooks/use-handoff-flow.d.ts +6 -6
- package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
- package/dist/hooks/use-handoff-flow.js +110 -118
- package/dist/hooks/use-handoff-flow.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +50 -59
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +20 -11
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-provider-selection.d.ts.map +1 -1
- package/dist/hooks/use-provider-selection.js +19 -16
- package/dist/hooks/use-provider-selection.js.map +1 -1
- package/dist/hooks/use-rewind-selection.d.ts +30 -0
- package/dist/hooks/use-rewind-selection.d.ts.map +1 -0
- package/dist/hooks/{use-undo-selection.js → use-rewind-selection.js} +37 -28
- package/dist/hooks/use-rewind-selection.js.map +1 -0
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
- package/dist/hooks/use-runtime-settings.js +4 -3
- package/dist/hooks/use-runtime-settings.js.map +1 -1
- package/dist/hooks/use-selection.d.ts +1 -0
- package/dist/hooks/use-selection.d.ts.map +1 -1
- package/dist/hooks/use-selection.js +1 -1
- package/dist/hooks/use-selection.js.map +1 -1
- package/dist/hooks/use-setting.d.ts +3 -2
- package/dist/hooks/use-setting.d.ts.map +1 -1
- package/dist/hooks/use-setting.js +1 -1
- package/dist/hooks/use-setting.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts +1 -0
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +22 -15
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +40 -28
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-shell-mode.d.ts +3 -13
- package/dist/hooks/use-shell-mode.d.ts.map +1 -1
- package/dist/hooks/use-shell-mode.js +14 -53
- package/dist/hooks/use-shell-mode.js.map +1 -1
- package/dist/hooks/use-skill-selection.d.ts.map +1 -1
- package/dist/hooks/use-skill-selection.js +17 -11
- package/dist/hooks/use-skill-selection.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +11 -10
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-terminal-focus-notifier.js.map +1 -1
- package/dist/lib/agent-chat-service.d.ts +12 -8
- package/dist/lib/agent-chat-service.d.ts.map +1 -1
- package/dist/lib/agent-chat-service.js +79 -44
- package/dist/lib/agent-chat-service.js.map +1 -1
- package/dist/lib/agent-client.d.ts +93 -17
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +398 -37
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +33 -15
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +107 -9
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +33 -4
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +140 -101
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/chained-input-filter.d.ts +27 -1
- package/dist/lib/chained-input-filter.d.ts.map +1 -1
- package/dist/lib/chained-input-filter.js +92 -33
- package/dist/lib/chained-input-filter.js.map +1 -1
- package/dist/lib/continuation-projection-mode.d.ts +3 -0
- package/dist/lib/continuation-projection-mode.d.ts.map +1 -0
- package/dist/lib/continuation-projection-mode.js +2 -0
- package/dist/lib/continuation-projection-mode.js.map +1 -0
- package/dist/lib/editor-impl.d.ts +1 -1
- package/dist/lib/editor-impl.d.ts.map +1 -1
- package/dist/lib/editor-impl.js +1 -1
- package/dist/lib/editor-impl.js.map +1 -1
- package/dist/lib/harness-invariant-error.d.ts +22 -0
- package/dist/lib/harness-invariant-error.d.ts.map +1 -0
- package/dist/lib/harness-invariant-error.js +30 -0
- package/dist/lib/harness-invariant-error.js.map +1 -0
- package/dist/lib/input-owner.d.ts +64 -0
- package/dist/lib/input-owner.d.ts.map +1 -0
- package/dist/lib/input-owner.js +34 -0
- package/dist/lib/input-owner.js.map +1 -0
- package/dist/lib/openai-strict-tool-schema.d.ts +7 -4
- package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -1
- package/dist/lib/openai-strict-tool-schema.js +8 -0
- package/dist/lib/openai-strict-tool-schema.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +54 -3
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +118 -20
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts +18 -10
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +92 -44
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/non-interactive.d.ts +14 -4
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +91 -84
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/anthropic.md +6 -55
- package/dist/prompts/async-subagent-delegation.d.ts +3 -5
- package/dist/prompts/async-subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/async-subagent-delegation.js +10 -34
- package/dist/prompts/async-subagent-delegation.js.map +1 -1
- package/dist/prompts/async-subagent-delegation.ts +11 -40
- package/dist/prompts/gpt-5.6.md +49 -0
- package/dist/prompts/kimi.md +25 -63
- package/dist/prompts/memory.md +1 -1
- package/dist/prompts/orchestrator-prompt.test.ts +92 -0
- package/dist/prompts/orchestrator.md +20 -4
- package/dist/prompts/plan-mode-info.md +1 -1
- package/dist/prompts/prompt-constructor.d.ts +2 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +9 -7
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +30 -8
- package/dist/prompts/prompt-constructor.ts +14 -7
- package/dist/prompts/prompt-profiles.d.ts.map +1 -1
- package/dist/prompts/prompt-profiles.js +5 -0
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.test.ts +20 -0
- package/dist/prompts/prompt-profiles.ts +5 -0
- package/dist/prompts/search-via-shell.d.ts.map +1 -1
- package/dist/prompts/search-via-shell.js +8 -25
- package/dist/prompts/search-via-shell.js.map +1 -1
- package/dist/prompts/search-via-shell.test.ts +18 -0
- package/dist/prompts/search-via-shell.ts +8 -25
- package/dist/prompts/shell-auto-approval.d.ts +2 -2
- package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
- package/dist/prompts/shell-auto-approval.js +20 -5
- package/dist/prompts/shell-auto-approval.js.map +1 -1
- package/dist/prompts/shell-auto-approval.ts +20 -5
- package/dist/prompts/steering-notice.d.ts +16 -0
- package/dist/prompts/steering-notice.d.ts.map +1 -0
- package/dist/prompts/steering-notice.js +24 -0
- package/dist/prompts/steering-notice.js.map +1 -0
- package/dist/prompts/steering-notice.ts +24 -0
- package/dist/prompts/subagent-delegation.d.ts +6 -5
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +36 -13
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +24 -2
- package/dist/prompts/subagent-delegation.ts +54 -14
- package/dist/prompts/subagents/explorer.md +24 -14
- package/dist/prompts/subagents/worker-prompt.test.ts +35 -0
- package/dist/prompts/subagents/worker.md +8 -0
- package/dist/prompts/worktree-hygiene.md +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts +3 -3
- package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.js +8 -4
- package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
- package/dist/providers/ai-sdk-google.provider.d.ts +5 -4
- package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-google.provider.js +23 -3
- package/dist/providers/ai-sdk-google.provider.js.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.d.ts +3 -7
- package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.js +27 -11
- package/dist/providers/ai-sdk-message-normalizer.js.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.d.ts +5 -4
- package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.js +25 -3
- package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
- package/dist/providers/ai-sdk-provider-settings.d.ts +10 -0
- package/dist/providers/ai-sdk-provider-settings.d.ts.map +1 -0
- package/dist/providers/ai-sdk-provider-settings.js +37 -0
- package/dist/providers/ai-sdk-provider-settings.js.map +1 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -0
- package/dist/providers/ai-sdk-streamed-model.js +338 -0
- package/dist/providers/ai-sdk-streamed-model.js.map +1 -0
- package/dist/providers/codex-responses-model.d.ts +39 -12
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +656 -155
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex-turn-converter.d.ts +12 -0
- package/dist/providers/codex-turn-converter.d.ts.map +1 -0
- package/dist/providers/codex-turn-converter.js +168 -0
- package/dist/providers/codex-turn-converter.js.map +1 -0
- package/dist/providers/codex.provider.d.ts +21 -0
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +57 -27
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/common/openai-compatible-message-contract.d.ts +8 -0
- package/dist/providers/common/openai-compatible-message-contract.d.ts.map +1 -0
- package/dist/providers/common/openai-compatible-message-contract.js +23 -0
- package/dist/providers/common/openai-compatible-message-contract.js.map +1 -0
- package/dist/providers/common/openai-compatible-messages.d.ts +0 -4
- package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
- package/dist/providers/common/openai-compatible-messages.js +0 -288
- package/dist/providers/common/openai-compatible-messages.js.map +1 -1
- package/dist/providers/fetch/composer.d.ts.map +1 -1
- package/dist/providers/fetch/composer.js +1 -0
- package/dist/providers/fetch/composer.js.map +1 -1
- package/dist/providers/model-catalog/catalog.d.ts +31 -0
- package/dist/providers/model-catalog/catalog.d.ts.map +1 -0
- package/dist/providers/model-catalog/catalog.generated.d.ts +3010 -0
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -0
- package/dist/providers/model-catalog/catalog.generated.js +3004 -0
- package/dist/providers/model-catalog/catalog.generated.js.map +1 -0
- package/dist/providers/model-catalog/catalog.js +62 -0
- package/dist/providers/model-catalog/catalog.js.map +1 -0
- package/dist/providers/model-catalog/generate-catalog.d.ts +42 -0
- package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -0
- package/dist/providers/model-catalog/generate-catalog.js +96 -0
- package/dist/providers/model-catalog/generate-catalog.js.map +1 -0
- package/dist/providers/openai-chained-input-compatibility.d.ts +36 -0
- package/dist/providers/openai-chained-input-compatibility.d.ts.map +1 -0
- package/dist/providers/openai-chained-input-compatibility.js +60 -0
- package/dist/providers/openai-chained-input-compatibility.js.map +1 -0
- package/dist/providers/openai-chat-completions-model.d.ts +12 -0
- package/dist/providers/openai-chat-completions-model.d.ts.map +1 -0
- package/dist/providers/openai-chat-completions-model.js +271 -0
- package/dist/providers/openai-chat-completions-model.js.map +1 -0
- package/dist/providers/openai-compatible-lazy.d.ts +1 -1
- package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
- package/dist/providers/openai-compatible-lazy.js +24 -36
- package/dist/providers/openai-compatible-lazy.js.map +1 -1
- package/dist/providers/openai-compatible-middleware.d.ts +4 -1
- package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
- package/dist/providers/openai-compatible-middleware.js +15 -14
- package/dist/providers/openai-compatible-middleware.js.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.d.ts +10 -1
- package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.js +15 -4
- package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts +7 -10
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +80 -78
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-request-prefix-binding.d.ts +28 -0
- package/dist/providers/openai-request-prefix-binding.d.ts.map +1 -0
- package/dist/providers/openai-request-prefix-binding.js +78 -0
- package/dist/providers/openai-request-prefix-binding.js.map +1 -0
- package/dist/providers/openai-responses-model.d.ts +43 -0
- package/dist/providers/openai-responses-model.d.ts.map +1 -0
- package/dist/providers/openai-responses-model.js +564 -0
- package/dist/providers/openai-responses-model.js.map +1 -0
- package/dist/providers/openai.provider.d.ts +11 -8
- package/dist/providers/openai.provider.d.ts.map +1 -1
- package/dist/providers/openai.provider.js +43 -91
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/opencode-routing.d.ts +1 -1
- package/dist/providers/opencode-routing.d.ts.map +1 -1
- package/dist/providers/opencode-routing.js +4 -2
- package/dist/providers/opencode-routing.js.map +1 -1
- package/dist/providers/opencode-session.d.ts.map +1 -1
- package/dist/providers/opencode-session.js +28 -3
- package/dist/providers/opencode-session.js.map +1 -1
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +33 -33
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/provider-request-capture.d.ts +35 -0
- package/dist/providers/provider-request-capture.d.ts.map +1 -0
- package/dist/providers/provider-request-capture.js +22 -0
- package/dist/providers/provider-request-capture.js.map +1 -0
- package/dist/providers/provider-service.d.ts +9 -7
- package/dist/providers/provider-service.d.ts.map +1 -1
- package/dist/providers/provider-service.js +29 -28
- package/dist/providers/provider-service.js.map +1 -1
- package/dist/providers/registry.d.ts +14 -9
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/retrying-model.d.ts +8 -6
- package/dist/providers/retrying-model.d.ts.map +1 -1
- package/dist/providers/retrying-model.js +7 -20
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/providers/web-search/exa.provider.js.map +1 -1
- package/dist/providers/web-search/registry.js.map +1 -1
- package/dist/providers/web-search/tavily.provider.js.map +1 -1
- package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -1
- package/dist/providers/websocket-receive-watchdog.js +9 -1
- package/dist/providers/websocket-receive-watchdog.js.map +1 -1
- package/dist/scripts/eval-auto-approval/runner.js +2 -0
- package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +205 -0
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -0
- package/dist/services/agent-runtime/application-run-loop.js +1236 -0
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -0
- package/dist/services/agent-runtime/compose-agent-runtime.d.ts +3 -0
- package/dist/services/agent-runtime/compose-agent-runtime.d.ts.map +1 -1
- package/dist/services/agent-runtime/compose-agent-runtime.js +4 -0
- package/dist/services/agent-runtime/compose-agent-runtime.js.map +1 -1
- package/dist/services/agent-runtime/generation-guard.d.ts +69 -0
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -0
- package/dist/services/agent-runtime/generation-guard.js +270 -0
- package/dist/services/agent-runtime/generation-guard.js.map +1 -0
- package/dist/services/agent-runtime/model-resolver.d.ts.map +1 -1
- package/dist/services/agent-runtime/model-resolver.js +7 -6
- package/dist/services/agent-runtime/model-resolver.js.map +1 -1
- package/dist/services/agent-runtime/structured-output.d.ts.map +1 -1
- package/dist/services/agent-runtime/structured-output.js +1 -21
- package/dist/services/agent-runtime/structured-output.js.map +1 -1
- package/dist/services/agent-runtime/tool-invocation-context.d.ts +73 -0
- package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -0
- package/dist/services/agent-runtime/tool-invocation-context.js +66 -0
- package/dist/services/agent-runtime/tool-invocation-context.js.map +1 -0
- package/dist/services/agent-stream.d.ts +41 -2
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/agent-stream.js +46 -1
- package/dist/services/agent-stream.js.map +1 -1
- package/dist/services/approval/approval-decision-executor.d.ts +42 -0
- package/dist/services/approval/approval-decision-executor.d.ts.map +1 -0
- package/dist/services/approval/approval-decision-executor.js +207 -0
- package/dist/services/approval/approval-decision-executor.js.map +1 -0
- package/dist/services/approval/approval-flow-coordinator.d.ts +25 -8
- package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.js +34 -167
- package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval/approval-replay.d.ts +52 -0
- package/dist/services/approval/approval-replay.d.ts.map +1 -0
- package/dist/services/approval/approval-replay.js +68 -0
- package/dist/services/approval/approval-replay.js.map +1 -0
- package/dist/services/approval/approval-state.d.ts +3 -6
- package/dist/services/approval/approval-state.d.ts.map +1 -1
- package/dist/services/approval/approval-state.js +0 -10
- package/dist/services/approval/approval-state.js.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.d.ts +25 -0
- package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -0
- package/dist/services/approval/background-subagent-approval-controller.js +65 -0
- package/dist/services/approval/background-subagent-approval-controller.js.map +1 -0
- package/dist/services/approval/background-subagent-approval-queue.d.ts +137 -0
- package/dist/services/approval/background-subagent-approval-queue.d.ts.map +1 -0
- package/dist/services/approval/background-subagent-approval-queue.js +200 -0
- package/dist/services/approval/background-subagent-approval-queue.js.map +1 -0
- package/dist/services/approval/non-interactive-approval-policy.d.ts +33 -0
- package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -0
- package/dist/services/approval/non-interactive-approval-policy.js +85 -0
- package/dist/services/approval/non-interactive-approval-policy.js.map +1 -0
- package/dist/services/approval/session-read-access.d.ts +10 -0
- package/dist/services/approval/session-read-access.d.ts.map +1 -1
- package/dist/services/approval/session-read-access.js +12 -0
- package/dist/services/approval/session-read-access.js.map +1 -1
- package/dist/services/approval/session-read-grant-target.d.ts +7 -0
- package/dist/services/approval/session-read-grant-target.d.ts.map +1 -0
- package/dist/services/approval/session-read-grant-target.js +36 -0
- package/dist/services/approval/session-read-grant-target.js.map +1 -0
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts +11 -3
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-evaluator.js +140 -46
- package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +13 -0
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +74 -6
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/approval/shell-sandbox-approval.d.ts +22 -1
- package/dist/services/approval/shell-sandbox-approval.d.ts.map +1 -1
- package/dist/services/approval/shell-sandbox-approval.js +31 -4
- package/dist/services/approval/shell-sandbox-approval.js.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts +9 -0
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +20 -4
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/approval/tool-owner.d.ts +5 -2
- package/dist/services/approval/tool-owner.d.ts.map +1 -1
- package/dist/services/approval/tool-owner.js +0 -56
- package/dist/services/approval/tool-owner.js.map +1 -1
- package/dist/services/approval/tool-ownership-registry.d.ts +25 -0
- package/dist/services/approval/tool-ownership-registry.d.ts.map +1 -0
- package/dist/services/approval/tool-ownership-registry.js +63 -0
- package/dist/services/approval/tool-ownership-registry.js.map +1 -0
- package/dist/services/command-message-streaming.d.ts +8 -4
- package/dist/services/command-message-streaming.d.ts.map +1 -1
- package/dist/services/command-message-streaming.js +13 -52
- package/dist/services/command-message-streaming.js.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.js +1 -0
- package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +120 -13
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +378 -63
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.d.ts +69 -0
- package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -0
- package/dist/services/conversation/conversation-admission-workflow.js +110 -0
- package/dist/services/conversation/conversation-admission-workflow.js.map +1 -0
- package/dist/services/conversation/conversation-decoder.d.ts +14 -0
- package/dist/services/conversation/conversation-decoder.d.ts.map +1 -0
- package/dist/services/conversation/conversation-decoder.js +149 -0
- package/dist/services/conversation/conversation-decoder.js.map +1 -0
- package/dist/services/conversation/conversation-events.d.ts +72 -24
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-history-repair.d.ts.map +1 -1
- package/dist/services/conversation/conversation-history-repair.js +34 -37
- package/dist/services/conversation/conversation-history-repair.js.map +1 -1
- package/dist/services/conversation/conversation-message-projection.d.ts +27 -0
- package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -0
- package/dist/services/conversation/conversation-message-projection.js +59 -0
- package/dist/services/conversation/conversation-message-projection.js.map +1 -0
- package/dist/services/conversation/conversation-orchestrator.d.ts +23 -14
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +472 -158
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +16 -11
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence-types.d.ts +15 -38
- package/dist/services/conversation/conversation-persistence-types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +3 -10
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +66 -15
- package/dist/services/conversation/conversation-persistence.js.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts +7 -5
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +127 -66
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-result-builder.d.ts +16 -2
- package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-result-builder.js +51 -15
- package/dist/services/conversation/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts +18 -0
- package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +67 -11
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +133 -16
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-state-projector.d.ts +3 -3
- package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-projector.js +18 -0
- package/dist/services/conversation/conversation-state-projector.js.map +1 -1
- package/dist/services/conversation/conversation-store.d.ts +69 -12
- package/dist/services/conversation/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation/conversation-store.js +216 -119
- package/dist/services/conversation/conversation-store.js.map +1 -1
- package/dist/services/conversation/conversation-turn-items.d.ts +8 -2
- package/dist/services/conversation/conversation-turn-items.d.ts.map +1 -1
- package/dist/services/conversation/conversation-turn-items.js +96 -275
- package/dist/services/conversation/conversation-turn-items.js.map +1 -1
- package/dist/services/conversation/journal-to-ledger.d.ts.map +1 -1
- package/dist/services/conversation/journal-to-ledger.js +4 -24
- package/dist/services/conversation/journal-to-ledger.js.map +1 -1
- package/dist/services/conversation/run-item-normalizer.d.ts +5 -0
- package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -0
- package/dist/services/conversation/run-item-normalizer.js +245 -0
- package/dist/services/conversation/run-item-normalizer.js.map +1 -0
- package/dist/services/conversation/user-turn-item.d.ts +14 -0
- package/dist/services/conversation/user-turn-item.d.ts.map +1 -0
- package/dist/services/conversation/user-turn-item.js +27 -0
- package/dist/services/conversation/user-turn-item.js.map +1 -0
- package/dist/services/conversation-agent-client.d.ts +77 -6
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/cost/model-cost.d.ts +147 -0
- package/dist/services/cost/model-cost.d.ts.map +1 -0
- package/dist/services/cost/model-cost.js +217 -0
- package/dist/services/cost/model-cost.js.map +1 -0
- package/dist/services/cost/pricing-overlay.d.ts +26 -0
- package/dist/services/cost/pricing-overlay.d.ts.map +1 -0
- package/dist/services/cost/pricing-overlay.js +39 -0
- package/dist/services/cost/pricing-overlay.js.map +1 -0
- package/dist/services/cost/pricing.d.ts +13 -0
- package/dist/services/cost/pricing.d.ts.map +1 -0
- package/dist/services/cost/pricing.js +76 -0
- package/dist/services/cost/pricing.js.map +1 -0
- package/dist/services/handoff/handoff-flow-reducer.d.ts +27 -0
- package/dist/services/handoff/handoff-flow-reducer.d.ts.map +1 -0
- package/dist/services/handoff/handoff-flow-reducer.js +26 -0
- package/dist/services/handoff/handoff-flow-reducer.js.map +1 -0
- package/dist/services/handoff/handoff-session.d.ts +35 -0
- package/dist/services/handoff/handoff-session.d.ts.map +1 -0
- package/dist/services/handoff/handoff-session.js +136 -0
- package/dist/services/handoff/handoff-session.js.map +1 -0
- package/dist/services/hooks/hook-contracts.d.ts +124 -0
- package/dist/services/hooks/hook-contracts.d.ts.map +1 -0
- package/dist/services/hooks/hook-contracts.js +92 -0
- package/dist/services/hooks/hook-contracts.js.map +1 -0
- package/dist/services/hooks/hook-discovery.d.ts +45 -0
- package/dist/services/hooks/hook-discovery.d.ts.map +1 -0
- package/dist/services/hooks/hook-discovery.js +255 -0
- package/dist/services/hooks/hook-discovery.js.map +1 -0
- package/dist/services/hooks/hook-editor-shim.d.ts +6 -0
- package/dist/services/hooks/hook-editor-shim.d.ts.map +1 -0
- package/dist/services/hooks/hook-editor-shim.js +190 -0
- package/dist/services/hooks/hook-editor-shim.js.map +1 -0
- package/dist/services/hooks/hook-event-factory.d.ts +19 -0
- package/dist/services/hooks/hook-event-factory.d.ts.map +1 -0
- package/dist/services/hooks/hook-event-factory.js +45 -0
- package/dist/services/hooks/hook-event-factory.js.map +1 -0
- package/dist/services/hooks/hook-module-loader.d.ts +38 -0
- package/dist/services/hooks/hook-module-loader.d.ts.map +1 -0
- package/dist/services/hooks/hook-module-loader.js +69 -0
- package/dist/services/hooks/hook-module-loader.js.map +1 -0
- package/dist/services/hooks/hook-registry.d.ts +47 -0
- package/dist/services/hooks/hook-registry.d.ts.map +1 -0
- package/dist/services/hooks/hook-registry.js +185 -0
- package/dist/services/hooks/hook-registry.js.map +1 -0
- package/dist/services/hooks/hook-service.d.ts +44 -0
- package/dist/services/hooks/hook-service.d.ts.map +1 -0
- package/dist/services/hooks/hook-service.js +138 -0
- package/dist/services/hooks/hook-service.js.map +1 -0
- package/dist/services/hooks/hook-tool-lifecycle.d.ts +6 -0
- package/dist/services/hooks/hook-tool-lifecycle.d.ts.map +1 -0
- package/dist/services/hooks/hook-tool-lifecycle.js +33 -0
- package/dist/services/hooks/hook-tool-lifecycle.js.map +1 -0
- package/dist/services/hooks/index.d.ts +2 -0
- package/dist/services/hooks/index.d.ts.map +1 -0
- package/dist/services/hooks/index.js +2 -0
- package/dist/services/hooks/index.js.map +1 -0
- package/dist/services/input-surge-guard.d.ts.map +1 -1
- package/dist/services/input-surge-guard.js +13 -34
- package/dist/services/input-surge-guard.js.map +1 -1
- package/dist/services/logging/assistant-turn-journal.d.ts +1 -1
- package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
- package/dist/services/logging/assistant-turn-journal.js +21 -36
- package/dist/services/logging/assistant-turn-journal.js.map +1 -1
- package/dist/services/logging/conversation-log-events.d.ts +70 -7
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js +9 -0
- package/dist/services/logging/conversation-log-events.js.map +1 -1
- package/dist/services/logging/conversation-log-writer.d.ts +10 -4
- package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-writer.js +184 -57
- package/dist/services/logging/conversation-log-writer.js.map +1 -1
- package/dist/services/logging/conversation-logger.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.js +34 -1
- package/dist/services/logging/conversation-logger.js.map +1 -1
- package/dist/services/logging/logging-service.d.ts.map +1 -1
- package/dist/services/logging/logging-service.js +6 -2
- package/dist/services/logging/logging-service.js.map +1 -1
- package/dist/services/logging/provider-traffic.d.ts +2 -1
- package/dist/services/logging/provider-traffic.d.ts.map +1 -1
- package/dist/services/logging/provider-traffic.js +81 -5
- package/dist/services/logging/provider-traffic.js.map +1 -1
- package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
- package/dist/services/memory/memory-capabilities.js +13 -8
- package/dist/services/memory/memory-capabilities.js.map +1 -1
- package/dist/services/model-service.d.ts +3 -0
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +3 -1
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/models/model-catalog-session.d.ts +24 -0
- package/dist/services/models/model-catalog-session.d.ts.map +1 -0
- package/dist/services/models/model-catalog-session.js +70 -0
- package/dist/services/models/model-catalog-session.js.map +1 -0
- package/dist/services/openai-candidate-observer.d.ts +18 -0
- package/dist/services/openai-candidate-observer.d.ts.map +1 -0
- package/dist/services/openai-candidate-observer.js +56 -0
- package/dist/services/openai-candidate-observer.js.map +1 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.d.ts +20 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.d.ts.map +1 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.js +21 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.js.map +1 -0
- package/dist/services/openai-root-provider-identity.d.ts +11 -0
- package/dist/services/openai-root-provider-identity.d.ts.map +1 -0
- package/dist/services/openai-root-provider-identity.js +16 -0
- package/dist/services/openai-root-provider-identity.js.map +1 -0
- package/dist/services/openai-root-selector-parity-observer.d.ts +53 -0
- package/dist/services/openai-root-selector-parity-observer.d.ts.map +1 -0
- package/dist/services/openai-root-selector-parity-observer.js +62 -0
- package/dist/services/openai-root-selector-parity-observer.js.map +1 -0
- package/dist/services/plan-mode-interceptor.js +2 -2
- package/dist/services/plan-mode-interceptor.js.map +1 -1
- package/dist/services/provider-continuity.d.ts +79 -0
- package/dist/services/provider-continuity.d.ts.map +1 -1
- package/dist/services/provider-continuity.js +170 -0
- package/dist/services/provider-continuity.js.map +1 -1
- package/dist/services/providers/provider-management-session.d.ts +12 -0
- package/dist/services/providers/provider-management-session.d.ts.map +1 -0
- package/dist/services/providers/provider-management-session.js +21 -0
- package/dist/services/providers/provider-management-session.js.map +1 -0
- package/dist/services/queue/queue-controller.d.ts +10 -14
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +77 -59
- package/dist/services/queue/queue-controller.js.map +1 -1
- package/dist/services/retry/conversation-retry-policy.js +3 -3
- package/dist/services/retry/conversation-retry-policy.js.map +1 -1
- package/dist/services/retry/recovery-executor.d.ts.map +1 -1
- package/dist/services/retry/recovery-executor.js +7 -8
- package/dist/services/retry/recovery-executor.js.map +1 -1
- package/dist/services/retry/recovery-policy.d.ts.map +1 -1
- package/dist/services/retry/recovery-policy.js +4 -1
- package/dist/services/retry/recovery-policy.js.map +1 -1
- package/dist/services/retry/retry-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +6 -3
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-contracts.d.ts +3 -5
- package/dist/services/retry/retry-contracts.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts +1 -0
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +28 -0
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
- package/dist/services/retry/retry-event-presenter.js +4 -1
- package/dist/services/retry/retry-event-presenter.js.map +1 -1
- package/dist/services/retry/upstream-retry-policy.js +3 -3
- package/dist/services/rtk-service.d.ts.map +1 -1
- package/dist/services/rtk-service.js +3 -15
- package/dist/services/rtk-service.js.map +1 -1
- package/dist/services/runtime-setting-router.d.ts +19 -0
- package/dist/services/runtime-setting-router.d.ts.map +1 -1
- package/dist/services/runtime-setting-router.js +33 -0
- package/dist/services/runtime-setting-router.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +19 -2
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/session/background-task-control.d.ts +123 -0
- package/dist/services/session/background-task-control.d.ts.map +1 -0
- package/dist/services/session/background-task-control.js +183 -0
- package/dist/services/session/background-task-control.js.map +1 -0
- package/dist/services/session/continuation-call-id-resolver.d.ts +16 -9
- package/dist/services/session/continuation-call-id-resolver.d.ts.map +1 -1
- package/dist/services/session/continuation-call-id-resolver.js +34 -48
- package/dist/services/session/continuation-call-id-resolver.js.map +1 -1
- package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
- package/dist/services/session/continuation-plan-applier.js +1 -3
- package/dist/services/session/continuation-plan-applier.js.map +1 -1
- package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/continuation-recovery-handler.js +0 -2
- package/dist/services/session/continuation-recovery-handler.js.map +1 -1
- package/dist/services/session/continuation-state.d.ts +9 -5
- package/dist/services/session/continuation-state.d.ts.map +1 -1
- package/dist/services/session/continuation-state.js +1 -1
- package/dist/services/session/continuation-state.js.map +1 -1
- package/dist/services/session/live-run.d.ts +29 -0
- package/dist/services/session/live-run.d.ts.map +1 -0
- package/dist/services/session/live-run.js +111 -0
- package/dist/services/session/live-run.js.map +1 -0
- package/dist/services/session/nested-tool-compatibility-state.d.ts +20 -0
- package/dist/services/session/nested-tool-compatibility-state.d.ts.map +1 -0
- package/dist/services/session/nested-tool-compatibility-state.js +29 -0
- package/dist/services/session/nested-tool-compatibility-state.js.map +1 -0
- package/dist/services/session/pending-interaction-state.d.ts +60 -0
- package/dist/services/session/pending-interaction-state.d.ts.map +1 -0
- package/dist/services/session/pending-interaction-state.js +132 -0
- package/dist/services/session/pending-interaction-state.js.map +1 -0
- package/dist/services/session/post-execute-pause-capability.d.ts +17 -0
- package/dist/services/session/post-execute-pause-capability.d.ts.map +1 -0
- package/dist/services/session/post-execute-pause-capability.js +27 -0
- package/dist/services/session/post-execute-pause-capability.js.map +1 -0
- package/dist/services/session/post-execute-pause-policy.d.ts +20 -0
- package/dist/services/session/post-execute-pause-policy.d.ts.map +1 -0
- package/dist/services/session/post-execute-pause-policy.js +34 -0
- package/dist/services/session/post-execute-pause-policy.js.map +1 -0
- package/dist/services/session/post-execute-pending-registry.d.ts +63 -0
- package/dist/services/session/post-execute-pending-registry.d.ts.map +1 -0
- package/dist/services/session/post-execute-pending-registry.js +123 -0
- package/dist/services/session/post-execute-pending-registry.js.map +1 -0
- package/dist/services/session/session-access-state.d.ts +24 -0
- package/dist/services/session/session-access-state.d.ts.map +1 -0
- package/dist/services/session/session-access-state.js +91 -0
- package/dist/services/session/session-access-state.js.map +1 -0
- package/dist/services/session/session-client-factory.d.ts +61 -0
- package/dist/services/session/session-client-factory.d.ts.map +1 -0
- package/dist/services/session/session-client-factory.js +103 -0
- package/dist/services/session/session-client-factory.js.map +1 -0
- package/dist/services/session/session-composition.d.ts +58 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +178 -13
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +6 -2
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +4 -0
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/session/session-lifecycle.d.ts +5 -0
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +16 -6
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-manager.d.ts +11 -1
- package/dist/services/session/session-manager.d.ts.map +1 -1
- package/dist/services/session/session-manager.js +16 -3
- package/dist/services/session/session-manager.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts +5 -0
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +164 -35
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/session-tool-tracker.d.ts +10 -21
- package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
- package/dist/services/session/session-tool-tracker.js +12 -52
- package/dist/services/session/session-tool-tracker.js.map +1 -1
- package/dist/services/session/terminal-result-collector.d.ts +8 -0
- package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/session/terminal-result-collector.js +18 -4
- package/dist/services/session/terminal-result-collector.js.map +1 -1
- package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -1
- package/dist/services/session/test-helpers/conversation-session-fixtures.js +8 -1
- package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
- package/dist/services/session/turn-attempt-factory.d.ts +2 -2
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.d.ts +4 -2
- package/dist/services/session/turn-attempt.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.js +5 -0
- package/dist/services/session/turn-attempt.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +32 -2
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-coordinator.js +180 -9
- package/dist/services/session/turn-coordinator.js.map +1 -1
- package/dist/services/session/turn-status-machine.d.ts +21 -6
- package/dist/services/session/turn-status-machine.d.ts.map +1 -1
- package/dist/services/session/turn-status-machine.js +50 -13
- package/dist/services/session/turn-status-machine.js.map +1 -1
- package/dist/services/session/turn-workflow.d.ts +35 -0
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +373 -27
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/ancillary-settings-migration.js +3 -3
- package/dist/services/settings/ancillary-settings-migration.js.map +1 -1
- package/dist/services/settings/custom-provider-normalization.d.ts +10 -0
- package/dist/services/settings/custom-provider-normalization.d.ts.map +1 -1
- package/dist/services/settings/custom-provider-normalization.js +35 -2
- package/dist/services/settings/custom-provider-normalization.js.map +1 -1
- package/dist/services/settings/settings-env.d.ts +3 -0
- package/dist/services/settings/settings-env.d.ts.map +1 -1
- package/dist/services/settings/settings-env.js +3 -3
- package/dist/services/settings/settings-env.js.map +1 -1
- package/dist/services/settings/settings-merger.d.ts +6 -5
- package/dist/services/settings/settings-merger.d.ts.map +1 -1
- package/dist/services/settings/settings-merger.js +9 -4
- package/dist/services/settings/settings-merger.js.map +1 -1
- package/dist/services/settings/settings-persistence.d.ts +17 -6
- package/dist/services/settings/settings-persistence.d.ts.map +1 -1
- package/dist/services/settings/settings-persistence.js +155 -28
- package/dist/services/settings/settings-persistence.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +100 -4
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +78 -8
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +34 -5
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +200 -8
- package/dist/services/settings/settings-service.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +6 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/shell/background-shell-registry.d.ts +110 -0
- package/dist/services/shell/background-shell-registry.d.ts.map +1 -0
- package/dist/services/shell/background-shell-registry.js +326 -0
- package/dist/services/shell/background-shell-registry.js.map +1 -0
- package/dist/services/shell/shell-interaction-session.d.ts +43 -0
- package/dist/services/shell/shell-interaction-session.d.ts.map +1 -0
- package/dist/services/shell/shell-interaction-session.js +113 -0
- package/dist/services/shell/shell-interaction-session.js.map +1 -0
- package/dist/services/stream-event-processor.d.ts +11 -12
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +115 -352
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-snapshot.d.ts +0 -1
- package/dist/services/stream-snapshot.d.ts.map +1 -1
- package/dist/services/stream-snapshot.js +0 -1
- package/dist/services/stream-snapshot.js.map +1 -1
- package/dist/services/subagents/codename-run-id.d.ts +43 -0
- package/dist/services/subagents/codename-run-id.d.ts.map +1 -0
- package/dist/services/subagents/codename-run-id.js +683 -0
- package/dist/services/subagents/codename-run-id.js.map +1 -0
- package/dist/services/subagents/execution-runner.d.ts +5 -3
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +109 -10
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.d.ts +77 -0
- package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -0
- package/dist/services/subagents/foreground-subagent-lease.js +156 -0
- package/dist/services/subagents/foreground-subagent-lease.js.map +1 -0
- package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +65 -34
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts +47 -23
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +263 -64
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/role-loader.d.ts +3 -3
- package/dist/services/subagents/role-loader.d.ts.map +1 -1
- package/dist/services/subagents/role-loader.js +6 -7
- package/dist/services/subagents/role-loader.js.map +1 -1
- package/dist/services/subagents/runtime.d.ts +10 -0
- package/dist/services/subagents/runtime.d.ts.map +1 -1
- package/dist/services/subagents/runtime.js +31 -7
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +50 -3
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +463 -44
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-client-types.d.ts +2 -0
- package/dist/services/subagents/subagent-client-types.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts +40 -7
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +47 -1
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +112 -28
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +197 -47
- package/dist/services/subagents/subagent-notification-store.js.map +1 -1
- package/dist/services/subagents/subagent-run-control.d.ts +41 -0
- package/dist/services/subagents/subagent-run-control.d.ts.map +1 -0
- package/dist/services/subagents/subagent-run-control.js +166 -0
- package/dist/services/subagents/subagent-run-control.js.map +1 -0
- package/dist/services/subagents/subagent-session.d.ts +12 -7
- package/dist/services/subagents/subagent-session.d.ts.map +1 -1
- package/dist/services/subagents/subagent-session.js +13 -14
- package/dist/services/subagents/subagent-session.js.map +1 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts +4 -5
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +66 -65
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts +39 -17
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +209 -53
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +114 -2
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js +2 -2
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +8 -1
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +43 -16
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/test-helpers/mock-stream.d.ts +3 -0
- package/dist/services/test-helpers/mock-stream.d.ts.map +1 -1
- package/dist/services/test-helpers/mock-stream.js +8 -0
- package/dist/services/test-helpers/mock-stream.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts +2 -0
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +59 -81
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/test-helpers/conversation-session-with-adapter.d.ts +1 -1
- package/dist/test-helpers/conversation-session-with-adapter.d.ts.map +1 -1
- package/dist/test-helpers/conversation-session-with-adapter.js +5 -1
- package/dist/test-helpers/conversation-session-with-adapter.js.map +1 -1
- package/dist/test-helpers/ink-testing.d.ts.map +1 -1
- package/dist/test-helpers/ink-testing.js +2 -1
- package/dist/test-helpers/ink-testing.js.map +1 -1
- package/dist/tools/agent/activate-skill.d.ts +6 -1
- package/dist/tools/agent/activate-skill.d.ts.map +1 -1
- package/dist/tools/agent/activate-skill.js.map +1 -1
- package/dist/tools/agent/ask-mentor.d.ts +1 -1
- package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
- package/dist/tools/agent/ask-mentor.js.map +1 -1
- package/dist/tools/agent/ask-orchestrator.d.ts +11 -0
- package/dist/tools/agent/ask-orchestrator.d.ts.map +1 -0
- package/dist/tools/agent/ask-orchestrator.js +39 -0
- package/dist/tools/agent/ask-orchestrator.js.map +1 -0
- package/dist/tools/agent/ask-user-constants.d.ts +6 -0
- package/dist/tools/agent/ask-user-constants.d.ts.map +1 -1
- package/dist/tools/agent/ask-user-constants.js +6 -0
- package/dist/tools/agent/ask-user-constants.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +46 -4
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +220 -33
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts +28 -14
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +173 -68
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/file/apply-patch.d.ts +3 -1
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +34 -10
- package/dist/tools/file/apply-patch.js.map +1 -1
- package/dist/tools/file/code-context.d.ts +3 -2
- package/dist/tools/file/code-context.d.ts.map +1 -1
- package/dist/tools/file/code-context.js +5 -5
- package/dist/tools/file/code-context.js.map +1 -1
- package/dist/tools/file/create-file.d.ts +4 -2
- package/dist/tools/file/create-file.d.ts.map +1 -1
- package/dist/tools/file/create-file.js +10 -7
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/file/edit-healing.d.ts.map +1 -1
- package/dist/tools/file/edit-healing.js +54 -35
- package/dist/tools/file/edit-healing.js.map +1 -1
- package/dist/tools/file/glob-target.d.ts +12 -0
- package/dist/tools/file/glob-target.d.ts.map +1 -0
- package/dist/tools/file/glob-target.js +22 -0
- package/dist/tools/file/glob-target.js.map +1 -0
- package/dist/tools/file/glob.d.ts +9 -2
- package/dist/tools/file/glob.d.ts.map +1 -1
- package/dist/tools/file/glob.js +12 -16
- package/dist/tools/file/glob.js.map +1 -1
- package/dist/tools/file/grep.d.ts +9 -1
- package/dist/tools/file/grep.d.ts.map +1 -1
- package/dist/tools/file/grep.js +75 -13
- package/dist/tools/file/grep.js.map +1 -1
- package/dist/tools/file/read-file.d.ts +7 -1
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +3 -4
- package/dist/tools/file/read-file.js.map +1 -1
- package/dist/tools/file/search-replace.d.ts +5 -3
- package/dist/tools/file/search-replace.d.ts.map +1 -1
- package/dist/tools/file/search-replace.js +29 -19
- package/dist/tools/file/search-replace.js.map +1 -1
- package/dist/tools/format-helpers.d.ts +4 -3
- package/dist/tools/format-helpers.d.ts.map +1 -1
- package/dist/tools/format-helpers.js +16 -17
- package/dist/tools/format-helpers.js.map +1 -1
- package/dist/tools/memory/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory/memory-tools.js +61 -49
- package/dist/tools/memory/memory-tools.js.map +1 -1
- package/dist/tools/run-agent-workflow.d.ts +1 -1
- package/dist/tools/run-agent-workflow.d.ts.map +1 -1
- package/dist/tools/system/shell.d.ts +39 -3
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +380 -149
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +102 -5
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +4 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/utils.d.ts +18 -0
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +78 -0
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/web/web-fetch.d.ts +1 -1
- package/dist/tools/web/web-fetch.d.ts.map +1 -1
- package/dist/tools/web/web-fetch.js.map +1 -1
- package/dist/tools/web/web-search.d.ts +1 -1
- package/dist/tools/web/web-search.d.ts.map +1 -1
- package/dist/tools/web/web-search.js.map +1 -1
- package/dist/types/message.d.ts +2 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/utils/ai/model-settings.d.ts.map +1 -1
- package/dist/utils/ai/model-settings.js +0 -6
- package/dist/utils/ai/model-settings.js.map +1 -1
- package/dist/utils/ai/token-usage.d.ts +10 -5
- package/dist/utils/ai/token-usage.d.ts.map +1 -1
- package/dist/utils/ai/token-usage.js +48 -35
- package/dist/utils/ai/token-usage.js.map +1 -1
- package/dist/utils/apply-diff.d.ts +3 -0
- package/dist/utils/apply-diff.d.ts.map +1 -0
- package/dist/utils/apply-diff.js +192 -0
- package/dist/utils/apply-diff.js.map +1 -0
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +72 -13
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation/conversation-utils.d.ts +5 -0
- package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-utils.js +1 -0
- package/dist/utils/conversation/conversation-utils.js.map +1 -1
- package/dist/utils/conversation/message-utils.d.ts +6 -0
- package/dist/utils/conversation/message-utils.d.ts.map +1 -1
- package/dist/utils/conversation/message-utils.js +17 -14
- package/dist/utils/conversation/message-utils.js.map +1 -1
- package/dist/utils/conversation/rewind-items.d.ts +32 -0
- package/dist/utils/conversation/rewind-items.d.ts.map +1 -0
- package/dist/utils/conversation/rewind-items.js +33 -0
- package/dist/utils/conversation/rewind-items.js.map +1 -0
- package/dist/utils/inject-warning-into-tool-output.d.ts +10 -0
- package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -1
- package/dist/utils/inject-warning-into-tool-output.js +17 -0
- package/dist/utils/inject-warning-into-tool-output.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +41 -4
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/command-logger.js.map +1 -1
- package/dist/utils/shell/command-safety/find-helpers.d.ts +3 -2
- package/dist/utils/shell/command-safety/find-helpers.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/find-helpers.js +34 -17
- package/dist/utils/shell/command-safety/find-helpers.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/find-handler.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/handlers/find-handler.js +0 -2
- package/dist/utils/shell/command-safety/handlers/find-handler.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/git-handler.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/handlers/git-handler.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/sed-handler.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/handlers/sed-handler.js +14 -9
- package/dist/utils/shell/command-safety/handlers/sed-handler.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/types.d.ts +5 -4
- package/dist/utils/shell/command-safety/handlers/types.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/index.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/index.js +212 -88
- package/dist/utils/shell/command-safety/index.js.map +1 -1
- package/dist/utils/shell/command-safety/utils.d.ts +2 -1
- package/dist/utils/shell/command-safety/utils.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/utils.js +5 -5
- package/dist/utils/shell/command-safety/utils.js.map +1 -1
- package/dist/utils/shell/execute-shell.d.ts +24 -3
- package/dist/utils/shell/execute-shell.d.ts.map +1 -1
- package/dist/utils/shell/execute-shell.js +228 -28
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/shell/sandbox/denied-read-stores.d.ts +1 -8
- package/dist/utils/shell/sandbox/denied-read-stores.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/denied-read-stores.js +1 -8
- package/dist/utils/shell/sandbox/denied-read-stores.js.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts +36 -6
- package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control-grants.js +47 -17
- package/dist/utils/shell/sandbox/docker-host-control-grants.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.d.ts +21 -0
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.js +66 -0
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.js.map +1 -0
- package/dist/utils/shell/shell-session.js.map +1 -1
- package/dist/utils/slash-command-dispatch.d.ts +21 -0
- package/dist/utils/slash-command-dispatch.d.ts.map +1 -0
- package/dist/utils/slash-command-dispatch.js +34 -0
- package/dist/utils/slash-command-dispatch.js.map +1 -0
- package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/streaming/extract-command-messages.js +29 -51
- package/dist/utils/streaming/extract-command-messages.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +0 -8
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +21 -19
- package/dist/commands/retry-command.d.ts +0 -20
- package/dist/commands/retry-command.d.ts.map +0 -1
- package/dist/commands/retry-command.js +0 -39
- package/dist/commands/retry-command.js.map +0 -1
- package/dist/commands/undo-command.d.ts +0 -15
- package/dist/commands/undo-command.d.ts.map +0 -1
- package/dist/commands/undo-command.js +0 -28
- package/dist/commands/undo-command.js.map +0 -1
- package/dist/components/input/PopupManager.d.ts +0 -88
- package/dist/components/input/PopupManager.d.ts.map +0 -1
- package/dist/components/input/PopupManager.js +0 -21
- package/dist/components/input/PopupManager.js.map +0 -1
- package/dist/components/input/popup-key-navigation.d.ts +0 -18
- package/dist/components/input/popup-key-navigation.d.ts.map +0 -1
- package/dist/components/input/popup-key-navigation.js +0 -16
- package/dist/components/input/popup-key-navigation.js.map +0 -1
- package/dist/components/input/popup-props.d.ts +0 -24
- package/dist/components/input/popup-props.d.ts.map +0 -1
- package/dist/components/input/popup-props.js +0 -72
- package/dist/components/input/popup-props.js.map +0 -1
- package/dist/components/menu/UndoSelectionMenu.d.ts +0 -12
- package/dist/components/menu/UndoSelectionMenu.d.ts.map +0 -1
- package/dist/components/menu/UndoSelectionMenu.js +0 -19
- package/dist/components/menu/UndoSelectionMenu.js.map +0 -1
- package/dist/hooks/use-mode-handlers.d.ts +0 -79
- package/dist/hooks/use-mode-handlers.d.ts.map +0 -1
- package/dist/hooks/use-mode-handlers.js +0 -183
- package/dist/hooks/use-mode-handlers.js.map +0 -1
- package/dist/hooks/use-pending-turn-guards.d.ts +0 -43
- package/dist/hooks/use-pending-turn-guards.d.ts.map +0 -1
- package/dist/hooks/use-pending-turn-guards.js +0 -120
- package/dist/hooks/use-pending-turn-guards.js.map +0 -1
- package/dist/hooks/use-trigger-detection.d.ts +0 -49
- package/dist/hooks/use-trigger-detection.d.ts.map +0 -1
- package/dist/hooks/use-trigger-detection.js +0 -104
- package/dist/hooks/use-trigger-detection.js.map +0 -1
- package/dist/hooks/use-undo-selection.d.ts +0 -23
- package/dist/hooks/use-undo-selection.d.ts.map +0 -1
- package/dist/hooks/use-undo-selection.js.map +0 -1
- package/dist/lib/agent-run-orchestrator.d.ts +0 -38
- package/dist/lib/agent-run-orchestrator.d.ts.map +0 -1
- package/dist/lib/agent-run-orchestrator.js +0 -266
- package/dist/lib/agent-run-orchestrator.js.map +0 -1
- package/dist/lib/retry-executor.d.ts +0 -16
- package/dist/lib/retry-executor.d.ts.map +0 -1
- package/dist/lib/retry-executor.js +0 -53
- package/dist/lib/retry-executor.js.map +0 -1
- package/dist/lib/runner-manager.d.ts +0 -22
- package/dist/lib/runner-manager.d.ts.map +0 -1
- package/dist/lib/runner-manager.js +0 -56
- package/dist/lib/runner-manager.js.map +0 -1
- package/dist/prompts/shell-sandbox.md +0 -18
- package/dist/prompts/simple.md +0 -53
- package/dist/prompts/simple_prev.md +0 -33
- package/dist/prompts/simple_v2.md +0 -84
- package/dist/prompts/simple_v3.md +0 -267
- package/dist/prompts/subagents/researcher.md +0 -40
- package/dist/providers/ai-sdk-agents-adapter.d.ts +0 -7
- package/dist/providers/ai-sdk-agents-adapter.d.ts.map +0 -1
- package/dist/providers/ai-sdk-agents-adapter.js +0 -80
- package/dist/providers/ai-sdk-agents-adapter.js.map +0 -1
- package/dist/providers/fallback-responses-model.d.ts +0 -46
- package/dist/providers/fallback-responses-model.d.ts.map +0 -1
- package/dist/providers/fallback-responses-model.js +0 -296
- package/dist/providers/fallback-responses-model.js.map +0 -1
- package/dist/services/stream-event-parsing.d.ts +0 -4
- package/dist/services/stream-event-parsing.d.ts.map +0 -1
- package/dist/services/stream-event-parsing.js +0 -79
- package/dist/services/stream-event-parsing.js.map +0 -1
package/dist/app.js
CHANGED
|
@@ -8,85 +8,69 @@ import BottomArea from './components/layout/BottomArea.js';
|
|
|
8
8
|
import { ErrorBoundary } from './components/ErrorBoundary.js';
|
|
9
9
|
import { useSetting } from './hooks/use-setting.js';
|
|
10
10
|
import { parseInput } from './utils/input-parser.js';
|
|
11
|
-
import {
|
|
11
|
+
import { ConversationConfigurationService } from './services/runtime-setting-router.js';
|
|
12
12
|
import { useShellMode } from './hooks/use-shell-mode.js';
|
|
13
|
+
import { ShellInteractionSession } from './services/shell/shell-interaction-session.js';
|
|
13
14
|
import { useAppCommands } from './hooks/use-app-commands.js';
|
|
14
15
|
import { useHandoffFlow } from './hooks/use-handoff-flow.js';
|
|
15
|
-
import { usePendingTurnGuards } from './hooks/use-pending-turn-guards.js';
|
|
16
16
|
import { useTerminalFocusNotifier } from './hooks/use-terminal-focus-notifier.js';
|
|
17
17
|
import { useAppKeyboardShortcuts } from './hooks/use-app-keyboard-shortcuts.js';
|
|
18
18
|
import { hasUserTurnContent } from './types/user-turn.js';
|
|
19
19
|
import { createUsageAccumulator, formatSessionUsageBreakdown } from './utils/ai/token-usage.js';
|
|
20
|
-
import {
|
|
20
|
+
import { createSessionCostAccumulator, formatUsdMicros, } from './services/cost/model-cost.js';
|
|
21
|
+
import { buildRewindItems } from './utils/conversation/rewind-items.js';
|
|
22
|
+
import { tryExecuteSlashCommand } from './utils/slash-command-dispatch.js';
|
|
21
23
|
import { buildTerminalTitleLabel, setTerminalTitle } from './utils/output/terminal-title.js';
|
|
24
|
+
import { deriveInputOwner } from './lib/input-owner.js';
|
|
25
|
+
import { handleSettingsIntent } from './components/input/settings-intent-host.js';
|
|
22
26
|
import { registerSandboxNetworkApprovalHandler, } from './utils/shell/sandbox/sandbox-network-approval.js';
|
|
27
|
+
import { SandboxNetworkApprovalCoordinator } from './utils/shell/sandbox/sandbox-network-approval-coordinator.js';
|
|
23
28
|
export { appendStartupBannerId, clearTerminalForRedraw, messagesHaveNonSystemContent, scheduleExitSideEffects, TERMINAL_REDRAW_CLEAR, } from './app-helpers.js';
|
|
24
|
-
const App = ({ conversationService, settingsService, historyService, loggingService, sshInfo, sshService, usageAccumulator, subagentUsageAccumulator, onPrintUsage, onExitUsage, sessionId: initialSessionId, initialMessages = [], restoredStaticMessageIds = EMPTY_RESTORED_STATIC_MESSAGE_IDS, logWriter, onRotateWriter, generateId, onSessionIdChange, onHasConversationContent, skillsService, terminalTitleBase, }) => {
|
|
29
|
+
const App = ({ conversationService, settingsService, historyService, loggingService, sshInfo, sshService, usageAccumulator, subagentUsageAccumulator, costAccumulator, onPrintUsage, onExitUsage, sessionId: initialSessionId, initialMessages = [], restoredStaticMessageIds = EMPTY_RESTORED_STATIC_MESSAGE_IDS, logWriter, onRotateWriter, generateId, onSessionIdChange, onHasConversationContent, skillsService, terminalTitleBase, }) => {
|
|
25
30
|
const { exit } = useApp();
|
|
26
31
|
const { stdout } = useStdout();
|
|
27
|
-
const { setInput, replaceInput,
|
|
28
|
-
const { input, mode, images } = useInputState();
|
|
29
|
-
const
|
|
30
|
-
|
|
32
|
+
const { setInput, replaceInput, setImages } = useInputActions();
|
|
33
|
+
const { input, mode, images: _images, controller } = useInputState();
|
|
34
|
+
const menuOpen = typeof controller.getSnapshot === 'function'
|
|
35
|
+
? (controller.getSnapshot().stack?.length ?? 0) > 0
|
|
36
|
+
: mode !== 'text';
|
|
31
37
|
const [messageListEpoch, setMessageListEpoch] = useState(0);
|
|
32
38
|
const [startupBannerIds, setStartupBannerIds] = useState(['startup-banner-0']);
|
|
33
39
|
const liteMode = useSetting(settingsService, 'app.liteMode') ?? false;
|
|
34
40
|
const displayMode = useSetting(settingsService, 'ui.displayMode') ?? 'standard';
|
|
35
41
|
const sessionUsage = useMemo(() => usageAccumulator ?? createUsageAccumulator(), [usageAccumulator]);
|
|
36
42
|
const subagentUsage = useMemo(() => subagentUsageAccumulator ?? createUsageAccumulator(), [subagentUsageAccumulator]);
|
|
43
|
+
const sessionCost = useMemo(() => costAccumulator ?? createSessionCostAccumulator(), [costAccumulator]);
|
|
37
44
|
const [sessionId, setSessionId] = useState(initialSessionId);
|
|
38
45
|
const handleClearConversationRef = useRef(null);
|
|
39
46
|
const pendingSkillRef = useRef(null);
|
|
47
|
+
const sandboxApprovalCoordinatorRef = useRef(null);
|
|
40
48
|
const [sandboxPromptRequest, setSandboxPromptRequest] = useState(null);
|
|
41
|
-
const sandboxPromptQueueRef = useRef([]);
|
|
42
|
-
const activeSandboxPromptRef = useRef(null);
|
|
43
49
|
const notifier = useTerminalFocusNotifier({ stdout, settingsService, loggingService });
|
|
44
|
-
const showNextSandboxPrompt = useCallback(() => {
|
|
45
|
-
if (activeSandboxPromptRef.current) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const next = sandboxPromptQueueRef.current.shift();
|
|
49
|
-
if (!next) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
activeSandboxPromptRef.current = next;
|
|
53
|
-
setSandboxPromptRequest(next.request);
|
|
54
|
-
}, []);
|
|
55
|
-
const resolveSandboxPrompt = useCallback((answer) => {
|
|
56
|
-
const active = activeSandboxPromptRef.current;
|
|
57
|
-
if (!active) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
active.resolve(answer);
|
|
61
|
-
activeSandboxPromptRef.current = null;
|
|
62
|
-
setSandboxPromptRequest(null);
|
|
63
|
-
showNextSandboxPrompt();
|
|
64
|
-
}, [showNextSandboxPrompt]);
|
|
65
50
|
useEffect(() => {
|
|
51
|
+
const coordinator = new SandboxNetworkApprovalCoordinator();
|
|
52
|
+
sandboxApprovalCoordinatorRef.current = coordinator;
|
|
53
|
+
const unsubscribe = coordinator.subscribe(() => {
|
|
54
|
+
setSandboxPromptRequest(coordinator.getSnapshot().activeRequest);
|
|
55
|
+
});
|
|
66
56
|
const unregister = registerSandboxNetworkApprovalHandler(async (request) => {
|
|
67
|
-
return await
|
|
68
|
-
sandboxPromptQueueRef.current.push({ request, resolve });
|
|
69
|
-
showNextSandboxPrompt();
|
|
70
|
-
});
|
|
57
|
+
return await coordinator.request(request);
|
|
71
58
|
});
|
|
72
59
|
return () => {
|
|
73
60
|
unregister();
|
|
74
|
-
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
activeSandboxPromptRef.current = null;
|
|
78
|
-
}
|
|
79
|
-
for (const item of sandboxPromptQueueRef.current) {
|
|
80
|
-
item.resolve('deny');
|
|
61
|
+
unsubscribe();
|
|
62
|
+
if (sandboxApprovalCoordinatorRef.current === coordinator) {
|
|
63
|
+
sandboxApprovalCoordinatorRef.current = null;
|
|
81
64
|
}
|
|
82
|
-
|
|
65
|
+
coordinator.dispose();
|
|
83
66
|
};
|
|
84
|
-
}, [
|
|
85
|
-
const { messages, lastUsage, lastCodexRateLimit, pendingApproval, waitingForApproval, waitingForRejectionReason, setWaitingForRejectionReason, waitingForAskUserAnswer, setWaitingForAskUserAnswer, currentAskUserQuestionIndex, isProcessing, thinkingStartedAt, toolCallStreamingInfo, backgroundSubagentTasks, backgroundSubagentTasksNow, sendUserMessage, submitConversationTurn, submitApprovalDecision, onTypeAnswer, clearConversation, stopProcessing,
|
|
67
|
+
}, []);
|
|
68
|
+
const { messages, lastUsage, lastCodexRateLimit, pendingApproval, waitingForApproval, waitingForRejectionReason, setWaitingForRejectionReason, waitingForAskUserAnswer, setWaitingForAskUserAnswer, currentAskUserQuestionIndex, isProcessing, thinkingStartedAt, toolCallStreamingInfo, backgroundSubagentTasks, backgroundSubagentTasksNow, listBackgroundTaskDetails, getBackgroundTaskDetails, stopBackgroundTask, getForegroundTaskTransferCandidate, moveForegroundTaskToBackground, listForegroundTaskTransferCandidates, backgroundSubagentApproval, resolveBackgroundSubagentApproval, sendUserMessage, admissionConfirmation, submitTurnForAdmission, resolveAdmissionConfirmation, submitConversationTurn, submitApprovalDecision, onTypeAnswer, clearConversation, stopProcessing, cancelAskUser, rewindToTarget, retryLastToolOutput, getUserMessages, setModel, setReasoningEffort, addSystemMessage, setTemperature, addShellMessage, getSubagentUsage, goToPreviousQuestion, goToNextQuestion, queueActive: _queueActive, queuePaused, queueLength, queuePauseReason, pendingQueuedMessages, resumeQueue, discardQueue, retractPendingSubmission, editPendingSubmission, getCostSummary, } = useConversation({
|
|
86
69
|
conversationService,
|
|
87
70
|
loggingService,
|
|
88
71
|
usageAccumulator: sessionUsage,
|
|
89
72
|
subagentUsageAccumulator: subagentUsage,
|
|
73
|
+
costAccumulator: sessionCost,
|
|
90
74
|
initialMessages,
|
|
91
75
|
sessionId,
|
|
92
76
|
onClear: useCallback(async () => {
|
|
@@ -95,10 +79,15 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
95
79
|
}
|
|
96
80
|
}, []),
|
|
97
81
|
settingsService,
|
|
82
|
+
historyService,
|
|
98
83
|
onRestoreInput: setInput,
|
|
99
84
|
logWriter,
|
|
100
85
|
notifier,
|
|
101
86
|
});
|
|
87
|
+
// Keep older test/integration harnesses compatible while the session facade
|
|
88
|
+
// rolls out the adopted-subagent approval channel.
|
|
89
|
+
const backgroundApprovalState = backgroundSubagentApproval ?? { revision: 0, current: null, pendingCount: 0, closed: false };
|
|
90
|
+
const backgroundApprovalEntry = backgroundApprovalState.current;
|
|
102
91
|
// Notify cli.tsx when the conversation has content so it can decide whether
|
|
103
92
|
// to show the "To resume this conversation" message.
|
|
104
93
|
useEffect(() => {
|
|
@@ -119,21 +108,26 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
119
108
|
useEffect(() => {
|
|
120
109
|
handleClearConversationRef.current = handleClearConversation;
|
|
121
110
|
}, [handleClearConversation]);
|
|
122
|
-
const
|
|
111
|
+
const configurationService = useMemo(() => new ConversationConfigurationService({
|
|
123
112
|
setModel,
|
|
124
113
|
setReasoningEffort,
|
|
125
114
|
setTemperature,
|
|
126
115
|
conversationService,
|
|
127
116
|
settingsService,
|
|
128
|
-
});
|
|
129
|
-
const
|
|
117
|
+
}), [setModel, setReasoningEffort, setTemperature, conversationService, settingsService]);
|
|
118
|
+
const applyRuntimeSetting = useCallback((key, value) => configurationService.applyRuntimeSetting(key, value), [configurationService]);
|
|
119
|
+
const shellInteractionSession = useMemo(() => new ShellInteractionSession({
|
|
130
120
|
settingsService,
|
|
131
|
-
conversationService,
|
|
132
|
-
addShellMessage,
|
|
133
|
-
replaceInput,
|
|
121
|
+
conversationSink: conversationService,
|
|
134
122
|
liteMode,
|
|
135
123
|
sshInfo,
|
|
136
124
|
sshService,
|
|
125
|
+
}), [conversationService, settingsService, sshInfo, sshService]);
|
|
126
|
+
const { isShellMode, toggleShellMode, handleShellSubmit } = useShellMode({
|
|
127
|
+
session: shellInteractionSession,
|
|
128
|
+
addShellMessage,
|
|
129
|
+
replaceInput,
|
|
130
|
+
liteMode,
|
|
137
131
|
});
|
|
138
132
|
const clearConversationAndRefreshBanner = useCallback(async () => {
|
|
139
133
|
onPrintUsage?.();
|
|
@@ -146,30 +140,72 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
146
140
|
addSystemMessage,
|
|
147
141
|
sendUserMessage,
|
|
148
142
|
replaceInput,
|
|
149
|
-
|
|
150
|
-
setMode,
|
|
151
|
-
setTriggerIndex,
|
|
152
|
-
mode,
|
|
143
|
+
controller,
|
|
153
144
|
settingsService,
|
|
154
145
|
applyRuntimeSetting,
|
|
155
146
|
setModel,
|
|
147
|
+
configurationService,
|
|
156
148
|
});
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
149
|
+
// The composer owns this live preview because it changes as the user types;
|
|
150
|
+
// admitted turns and confirmation state belong to ConversationAdmissionWorkflow.
|
|
151
|
+
const largeUncachedWarning = useMemo(() => {
|
|
152
|
+
if (!input || mode !== 'text' || input.startsWith('/'))
|
|
153
|
+
return null;
|
|
154
|
+
const preview = conversationService.previewLargeUncachedInput({ text: input }, Date.now());
|
|
155
|
+
return preview.action === 'warn' ? preview : null;
|
|
156
|
+
}, [conversationService, input, mode]);
|
|
157
|
+
const pendingSurgeTurn = admissionConfirmation?.kind === 'surge' ? admissionConfirmation.turn : null;
|
|
158
|
+
const pendingSurgeReason = admissionConfirmation?.kind === 'surge' ? admissionConfirmation.reason : '';
|
|
159
|
+
const pendingLargeUncachedTurn = admissionConfirmation?.kind === 'large_uncached' ? admissionConfirmation.turn : null;
|
|
160
|
+
const pendingLargeUncachedTokens = admissionConfirmation?.kind === 'large_uncached' ? admissionConfirmation.estimatedTokens : 0;
|
|
161
|
+
const resolveAdmission = useCallback(async (decision) => {
|
|
162
|
+
const confirmation = admissionConfirmation;
|
|
163
|
+
if (!confirmation)
|
|
164
|
+
return;
|
|
165
|
+
const result = resolveAdmissionConfirmation(confirmation.id, decision);
|
|
166
|
+
if (result.kind === 'stale')
|
|
167
|
+
return;
|
|
168
|
+
if (result.kind === 'declined') {
|
|
169
|
+
queueMicrotask(() => replaceInput(result.turn.text || ''));
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (result.kind !== 'submitted')
|
|
173
|
+
return;
|
|
174
|
+
// Composer attachments are presentation state, and only a decision that
|
|
175
|
+
// matched the displayed confirmation may clear them.
|
|
176
|
+
replaceInput('');
|
|
177
|
+
if (decision === 'approve')
|
|
178
|
+
setImages([]);
|
|
179
|
+
await result.completion;
|
|
180
|
+
}, [admissionConfirmation, replaceInput, resolveAdmissionConfirmation, setImages]);
|
|
181
|
+
const handleLargeUncachedApprove = useCallback(() => resolveAdmission('approve'), [resolveAdmission]);
|
|
182
|
+
const handleLargeUncachedDecline = useCallback(() => resolveAdmission('decline'), [resolveAdmission]);
|
|
183
|
+
const handleSurgeApprove = useCallback(() => resolveAdmission('approve'), [resolveAdmission]);
|
|
184
|
+
const handleSurgeDecline = useCallback(() => resolveAdmission('decline'), [resolveAdmission]);
|
|
185
|
+
const submitAdmittedTurn = useCallback(async (turn, options) => {
|
|
186
|
+
const result = options ? submitTurnForAdmission(turn, options) : submitTurnForAdmission(turn);
|
|
187
|
+
if (result.kind === 'submitted') {
|
|
188
|
+
replaceInput('');
|
|
189
|
+
await result.completion;
|
|
190
|
+
}
|
|
191
|
+
}, [replaceInput, submitTurnForAdmission]);
|
|
168
192
|
const redrawMessageList = useCallback(() => {
|
|
169
193
|
clearTerminalForRedraw(stdout);
|
|
170
194
|
setMessageListEpoch((epoch) => epoch + 1);
|
|
171
195
|
}, [stdout]);
|
|
172
|
-
const getSessionUsage = useCallback(() =>
|
|
196
|
+
const getSessionUsage = useCallback(() => {
|
|
197
|
+
const tokenUsage = formatSessionUsageBreakdown(sessionUsage.get(), getSubagentUsage());
|
|
198
|
+
const summary = getCostSummary();
|
|
199
|
+
if (!summary || summary.state === 'unavailable') {
|
|
200
|
+
return tokenUsage;
|
|
201
|
+
}
|
|
202
|
+
const costLabel = summary.state === 'exact' ? 'Cost' : 'Estimated cost';
|
|
203
|
+
const costAmount = `${formatUsdMicros(summary.knownUsdMicros)}${summary.state === 'partial' ? '+' : ''}`;
|
|
204
|
+
const lowerBound = summary.state === 'partial' ? ' (lower bound)' : '';
|
|
205
|
+
const costUsage = `${costLabel}: ${costAmount}${lowerBound} (${summary.pricedRequests} priced, ${summary.unpricedRequests} unpriced requests)`;
|
|
206
|
+
return `${tokenUsage}\n${costUsage}`;
|
|
207
|
+
}, [getCostSummary, getSubagentUsage, sessionUsage]);
|
|
208
|
+
const costSummary = useMemo(() => getCostSummary(), [getCostSummary, lastUsage]);
|
|
173
209
|
const staticCommitBlocker = useMemo(() => detectStaticCommitBlocker(messages, { displayMode }), [messages, displayMode]);
|
|
174
210
|
const exitWithUsage = useCallback(() => {
|
|
175
211
|
exit();
|
|
@@ -178,6 +214,28 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
178
214
|
const handleSkillSelected = useCallback((skill) => {
|
|
179
215
|
pendingSkillRef.current = skill;
|
|
180
216
|
}, []);
|
|
217
|
+
/**
|
|
218
|
+
* Put a rewound turn back where the user can edit it. Images ride along the
|
|
219
|
+
* same way history recall restores them, so rewinding a multimodal turn does
|
|
220
|
+
* not silently drop its attachments.
|
|
221
|
+
*/
|
|
222
|
+
const restoreTurnToInput = useCallback((turn) => {
|
|
223
|
+
replaceInput(turn.text);
|
|
224
|
+
setImages(turn.images ?? []);
|
|
225
|
+
}, [replaceInput, setImages]);
|
|
226
|
+
/** Rewind candidates carry a domain target id plus a UI-only trim boundary. */
|
|
227
|
+
const openRewindPickerItems = useCallback(() => buildRewindItems(getUserMessages(), conversationService.listRewindTargets()), [getUserMessages, conversationService]);
|
|
228
|
+
const openRewindMenu = useCallback((disposition) => {
|
|
229
|
+
const items = openRewindPickerItems();
|
|
230
|
+
if (items.length === 0) {
|
|
231
|
+
addSystemMessage('Nothing to rewind.');
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
// An external surface owns the interaction from this point; discard any
|
|
235
|
+
// text-triggered frame that was used to invoke the command.
|
|
236
|
+
controller.closeAll();
|
|
237
|
+
controller.open({ kind: 'rewind', items, initialDisposition: disposition });
|
|
238
|
+
}, [addSystemMessage, controller, openRewindPickerItems]);
|
|
181
239
|
const { slashCommands, cycleAppModes } = useAppCommands({
|
|
182
240
|
settingsService,
|
|
183
241
|
addSystemMessage,
|
|
@@ -188,63 +246,114 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
188
246
|
exit: exitWithUsage,
|
|
189
247
|
messages,
|
|
190
248
|
setModel,
|
|
191
|
-
|
|
249
|
+
getRewindItems: openRewindPickerItems,
|
|
250
|
+
rewindToTarget: (item) => rewindToTarget(item.targetId, item.uiIndex),
|
|
251
|
+
restoreTurnToInput,
|
|
192
252
|
retryLastToolOutput,
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
const userMessages = getUserMessages().map((m) => ({ uiIndex: m.uiIndex, text: m.text }));
|
|
196
|
-
if (userMessages.length === 0) {
|
|
197
|
-
addSystemMessage('Nothing to undo.');
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
if (undoMenuRef.current) {
|
|
201
|
-
undoMenuRef.current.open(userMessages);
|
|
202
|
-
}
|
|
203
|
-
},
|
|
253
|
+
onRewind: redrawMessageList,
|
|
254
|
+
openRewindMenu,
|
|
204
255
|
openProvidersMenu: () => {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
256
|
+
controller.closeAll();
|
|
257
|
+
controller.open({ kind: 'providers' });
|
|
208
258
|
},
|
|
209
259
|
onHandoff: handoff.startHandoff,
|
|
210
260
|
sendUserMessage,
|
|
211
|
-
listUserTurns: () => conversationService.listUserTurns(),
|
|
212
261
|
skillsService: skillsService ?? { getAvailableSkills: () => [] },
|
|
213
262
|
onSkillSelected: handleSkillSelected,
|
|
214
263
|
});
|
|
215
|
-
const
|
|
216
|
-
const
|
|
217
|
-
if (
|
|
218
|
-
|
|
219
|
-
|
|
264
|
+
const handleRewindSelect = useCallback((item, disposition) => {
|
|
265
|
+
const rewound = rewindToTarget(item.targetId, item.uiIndex);
|
|
266
|
+
if (!rewound)
|
|
267
|
+
return;
|
|
268
|
+
redrawMessageList();
|
|
269
|
+
if (disposition === 'resend') {
|
|
270
|
+
replaceInput('');
|
|
271
|
+
setImages([]);
|
|
272
|
+
void sendUserMessage({ text: rewound.text, ...(rewound.images?.length ? { images: rewound.images } : {}) });
|
|
273
|
+
return;
|
|
220
274
|
}
|
|
221
|
-
|
|
275
|
+
restoreTurnToInput(rewound);
|
|
276
|
+
}, [rewindToTarget, redrawMessageList, replaceInput, restoreTurnToInput, sendUserMessage, setImages]);
|
|
222
277
|
const handleApprove = useCallback(async (answer) => {
|
|
223
278
|
if (sandboxPromptRequest) {
|
|
224
|
-
|
|
279
|
+
sandboxApprovalCoordinatorRef.current?.resolve(sandboxPromptRequest, answer ?? 'allow-once');
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
if (backgroundApprovalEntry) {
|
|
283
|
+
resolveBackgroundSubagentApproval({
|
|
284
|
+
revision: backgroundApprovalState.revision,
|
|
285
|
+
entry: backgroundApprovalEntry,
|
|
286
|
+
decision: { answer: answer ?? 'yes' },
|
|
287
|
+
});
|
|
225
288
|
return;
|
|
226
289
|
}
|
|
227
290
|
await submitApprovalDecision(answer);
|
|
228
|
-
}, [
|
|
291
|
+
}, [
|
|
292
|
+
backgroundApprovalEntry,
|
|
293
|
+
backgroundApprovalState.revision,
|
|
294
|
+
resolveBackgroundSubagentApproval,
|
|
295
|
+
sandboxPromptRequest,
|
|
296
|
+
submitApprovalDecision,
|
|
297
|
+
]);
|
|
229
298
|
const handleReject = useCallback(() => {
|
|
230
299
|
if (sandboxPromptRequest) {
|
|
231
|
-
|
|
300
|
+
sandboxApprovalCoordinatorRef.current?.resolve(sandboxPromptRequest, 'deny');
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
if (backgroundApprovalEntry) {
|
|
304
|
+
setWaitingForRejectionReason(true);
|
|
232
305
|
return;
|
|
233
306
|
}
|
|
234
307
|
setWaitingForRejectionReason(true);
|
|
235
|
-
}, [
|
|
308
|
+
}, [
|
|
309
|
+
backgroundApprovalEntry,
|
|
310
|
+
backgroundApprovalState.revision,
|
|
311
|
+
resolveBackgroundSubagentApproval,
|
|
312
|
+
sandboxPromptRequest,
|
|
313
|
+
setWaitingForRejectionReason,
|
|
314
|
+
]);
|
|
315
|
+
const handleCancelAskUser = useCallback(() => {
|
|
316
|
+
if (sandboxPromptRequest || pendingApproval?.toolName !== 'ask_user')
|
|
317
|
+
return;
|
|
318
|
+
cancelAskUser();
|
|
319
|
+
}, [cancelAskUser, pendingApproval, sandboxPromptRequest]);
|
|
320
|
+
const backgroundPendingApproval = backgroundApprovalEntry
|
|
321
|
+
? {
|
|
322
|
+
agentName: `${backgroundApprovalEntry.runId} (${backgroundApprovalEntry.toolName})`,
|
|
323
|
+
toolName: backgroundApprovalEntry.toolName,
|
|
324
|
+
argumentsText: backgroundApprovalEntry.argumentsText,
|
|
325
|
+
rawInterruption: { runId: backgroundApprovalEntry.runId },
|
|
326
|
+
callId: backgroundApprovalEntry.toolCallId,
|
|
327
|
+
}
|
|
328
|
+
: null;
|
|
236
329
|
const effectivePendingApproval = sandboxPromptRequest === null
|
|
237
|
-
? pendingApproval
|
|
330
|
+
? backgroundPendingApproval ?? pendingApproval
|
|
238
331
|
: {
|
|
239
332
|
agentName: 'Sandbox',
|
|
240
333
|
toolName: 'sandbox_network_access',
|
|
241
334
|
argumentsText: `Allow network access to ${sandboxPromptRequest.host}${sandboxPromptRequest.port == null ? '' : `:${sandboxPromptRequest.port}`}?`,
|
|
242
335
|
rawInterruption: sandboxPromptRequest,
|
|
243
336
|
};
|
|
244
|
-
const effectiveWaitingForApproval = sandboxPromptRequest ? true : waitingForApproval;
|
|
337
|
+
const effectiveWaitingForApproval = sandboxPromptRequest || backgroundPendingApproval ? true : waitingForApproval;
|
|
245
338
|
const effectiveWaitingForRejectionReason = sandboxPromptRequest ? false : waitingForRejectionReason;
|
|
246
339
|
const effectiveWaitingForAskUserAnswer = sandboxPromptRequest ? false : waitingForAskUserAnswer;
|
|
247
|
-
const effectiveIsProcessing = sandboxPromptRequest ? false : isProcessing;
|
|
340
|
+
const effectiveIsProcessing = sandboxPromptRequest || backgroundPendingApproval ? false : isProcessing;
|
|
341
|
+
// Single source of truth for "which surface owns keyboard input right now."
|
|
342
|
+
// Computed from the same effective state passed to BottomArea so the app
|
|
343
|
+
// keyboard-shortcuts hook stays suppressed whenever a modal confirmation
|
|
344
|
+
// prompt is rendered (Closing the Ink fan-out coupling — see input-owner.ts).
|
|
345
|
+
const inputOwner = deriveInputOwner({
|
|
346
|
+
handoffStage: handoff.handoffState?.stage ?? null,
|
|
347
|
+
pendingSurgeTurn,
|
|
348
|
+
pendingLargeUncachedTurn,
|
|
349
|
+
waitingForApproval: effectiveWaitingForApproval,
|
|
350
|
+
waitingForRejectionReason: effectiveWaitingForRejectionReason,
|
|
351
|
+
waitingForAskUserAnswer: effectiveWaitingForAskUserAnswer,
|
|
352
|
+
pendingApproval: effectivePendingApproval,
|
|
353
|
+
queuePaused,
|
|
354
|
+
isProcessing: effectiveIsProcessing,
|
|
355
|
+
menuOpen,
|
|
356
|
+
});
|
|
248
357
|
useEffect(() => {
|
|
249
358
|
setTerminalTitle(buildTerminalTitleLabel(terminalTitleBase, effectiveIsProcessing));
|
|
250
359
|
}, [effectiveIsProcessing, terminalTitleBase]);
|
|
@@ -256,7 +365,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
256
365
|
goToNextQuestion();
|
|
257
366
|
}
|
|
258
367
|
}, [goToPreviousQuestion, goToNextQuestion]);
|
|
259
|
-
useAppKeyboardShortcuts({
|
|
368
|
+
const { interruptConfirmVisible } = useAppKeyboardShortcuts({
|
|
260
369
|
exitWithUsage,
|
|
261
370
|
pendingSkillRef,
|
|
262
371
|
waitingForAskUserAnswer: effectiveWaitingForAskUserAnswer,
|
|
@@ -264,19 +373,30 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
264
373
|
waitingForRejectionReason: effectiveWaitingForRejectionReason,
|
|
265
374
|
setWaitingForRejectionReason,
|
|
266
375
|
inputMode: mode,
|
|
376
|
+
inputValue: input,
|
|
267
377
|
isProcessing: effectiveIsProcessing,
|
|
268
378
|
waitingForApproval: effectiveWaitingForApproval,
|
|
269
379
|
stopProcessing,
|
|
270
380
|
handoffState: handoff.handoffState,
|
|
271
381
|
cancelHandoff: handoff.cancelHandoff,
|
|
272
|
-
pendingLargeUncachedTurn
|
|
382
|
+
pendingLargeUncachedTurn,
|
|
273
383
|
liteMode,
|
|
274
384
|
toggleShellMode,
|
|
275
385
|
cycleAppModes,
|
|
276
386
|
replaceInput,
|
|
277
387
|
onSkillActivationCancelled: () => addSystemMessage('Skill activation cancelled.'),
|
|
388
|
+
inputOwner,
|
|
278
389
|
});
|
|
279
|
-
const handleSubmit = async (turn) => {
|
|
390
|
+
const handleSubmit = async (turn, options) => {
|
|
391
|
+
if (backgroundApprovalEntry && waitingForRejectionReason) {
|
|
392
|
+
resolveBackgroundSubagentApproval({
|
|
393
|
+
revision: backgroundApprovalState.revision,
|
|
394
|
+
entry: backgroundApprovalEntry,
|
|
395
|
+
decision: { answer: 'no', rejectionReason: turn.text },
|
|
396
|
+
});
|
|
397
|
+
setWaitingForRejectionReason(false);
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
280
400
|
if (await submitConversationTurn(turn)) {
|
|
281
401
|
return;
|
|
282
402
|
}
|
|
@@ -312,54 +432,89 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
|
|
|
312
432
|
if (hasImages) {
|
|
313
433
|
break;
|
|
314
434
|
}
|
|
315
|
-
|
|
316
|
-
const command = resolveSlashCommand(slashCommands, parsed.commandName);
|
|
317
|
-
if (command) {
|
|
318
|
-
// Execute the command
|
|
319
|
-
const shouldClearInput = command.action(parsed.args || undefined);
|
|
320
|
-
// Clear input unless command returned false
|
|
321
|
-
if (shouldClearInput !== false) {
|
|
322
|
-
replaceInput('');
|
|
323
|
-
}
|
|
435
|
+
if (tryExecuteSlashCommand(value, slashCommands, replaceInput)) {
|
|
324
436
|
return;
|
|
325
437
|
}
|
|
326
438
|
// Command not found, fall through to send as message
|
|
327
439
|
break;
|
|
328
440
|
}
|
|
329
441
|
case 'message':
|
|
330
|
-
await
|
|
331
|
-
return;
|
|
442
|
+
return await submitAdmittedTurn(attachPendingSkill(turn), options);
|
|
332
443
|
}
|
|
333
|
-
await
|
|
444
|
+
await submitAdmittedTurn(attachPendingSkill(turn), options);
|
|
334
445
|
};
|
|
335
446
|
const handleSettingChange = useCallback((key, value) => {
|
|
336
447
|
applyRuntimeSetting(key, value);
|
|
337
448
|
if (handoff.handoffState?.stage === 'selecting_effort' && key === 'agent.reasoningEffort') {
|
|
338
|
-
void handoff.completeHandoffWithEffort(value);
|
|
449
|
+
void handoff.completeHandoffWithEffort(String(value));
|
|
339
450
|
}
|
|
340
451
|
}, [applyRuntimeSetting, handoff]);
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
replaceInput(restored);
|
|
452
|
+
const handleConfigurationSettingChange = useCallback((key, value) => {
|
|
453
|
+
if (handoff.handoffState?.stage === 'selecting_effort' && key === 'agent.reasoningEffort') {
|
|
454
|
+
void handoff.completeHandoffWithEffort(String(value));
|
|
345
455
|
}
|
|
346
|
-
|
|
347
|
-
|
|
456
|
+
}, [handoff]);
|
|
457
|
+
// The application effect host: executes typed domain intents only after
|
|
458
|
+
// the controller has committed the required input and stack transition.
|
|
459
|
+
// Settings/model application is the first production user of a correlated
|
|
460
|
+
// IntentResult (success or field error) delivered back to the originating
|
|
461
|
+
// frame; rewind remains fire-and-forget.
|
|
462
|
+
useEffect(() => {
|
|
463
|
+
controller.setIntentHost(({ intentRequest }) => {
|
|
464
|
+
if (intentRequest.intent.type === 'rewind') {
|
|
465
|
+
handleRewindSelect(intentRequest.intent.item, intentRequest.intent.disposition);
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
if (intentRequest.intent.type === 'submit-prompt') {
|
|
469
|
+
// A captured handoff intercepts its own model selection here rather
|
|
470
|
+
// than through `handleSubmit`: the direct `/model ` trigger is
|
|
471
|
+
// controller-owned, so an accepted selection never routes through a
|
|
472
|
+
// submitted turn. See `useHandoffFlow`'s `handleModelSubmitPrompt`.
|
|
473
|
+
if (handoff.handleModelSubmitPrompt(intentRequest.intent.text)) {
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
// Text composed by a controller-owned menu (e.g. accepting a direct
|
|
477
|
+
// `/model gpt-4` selection) is exactly what the user would have
|
|
478
|
+
// typed and pressed Enter on, so it goes through the same slash-
|
|
479
|
+
// command dispatch as handleSubmit before falling back to sending it
|
|
480
|
+
// as ordinary content — otherwise a resolved command like `/model`
|
|
481
|
+
// would be posted to the model as a literal chat message instead of
|
|
482
|
+
// being executed.
|
|
483
|
+
if (tryExecuteSlashCommand(intentRequest.intent.text, slashCommands, replaceInput)) {
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
void submitAdmittedTurn({ text: intentRequest.intent.text });
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
return handleSettingsIntent(intentRequest, {
|
|
490
|
+
settingsService,
|
|
491
|
+
configurationService,
|
|
492
|
+
onSettingChange: handleConfigurationSettingChange,
|
|
493
|
+
onSystemMessage: addSystemMessage,
|
|
494
|
+
applyRuntimeSetting,
|
|
495
|
+
});
|
|
496
|
+
});
|
|
497
|
+
return () => controller.setIntentHost(undefined);
|
|
498
|
+
}, [
|
|
499
|
+
controller,
|
|
500
|
+
handleRewindSelect,
|
|
501
|
+
submitAdmittedTurn,
|
|
502
|
+
settingsService,
|
|
503
|
+
handleSettingChange,
|
|
504
|
+
addSystemMessage,
|
|
505
|
+
applyRuntimeSetting,
|
|
506
|
+
handoff,
|
|
507
|
+
slashCommands,
|
|
508
|
+
replaceInput,
|
|
509
|
+
]);
|
|
348
510
|
return (React.createElement(ErrorBoundary, { loggingService: loggingService },
|
|
349
511
|
React.createElement(Box, { flexDirection: "column", flexGrow: 1 },
|
|
350
512
|
React.createElement(Box, { flexDirection: "column", flexGrow: 1 },
|
|
351
513
|
React.createElement(MessageList, { key: messageListEpoch, messages: messages, bannerItems: startupBannerIds, settingsService: settingsService, isShellMode: isShellMode, restoredStaticMessageIds: restoredStaticMessageIds })),
|
|
352
514
|
React.createElement(Box, { paddingX: MESSAGE_HORIZONTAL_PADDING },
|
|
353
|
-
React.createElement(BottomArea, { pendingApproval: effectivePendingApproval, waitingForApproval: effectiveWaitingForApproval, waitingForRejectionReason: effectiveWaitingForRejectionReason, waitingForAskUserAnswer: effectiveWaitingForAskUserAnswer, currentAskUserQuestionIndex: currentAskUserQuestionIndex, isProcessing: effectiveIsProcessing, thinkingStartedAt: thinkingStartedAt, toolCallStreamingInfo: toolCallStreamingInfo, isShellMode: isShellMode, lastUsage: lastUsage, queuePaused: queuePaused, queueLength: queueLength, queuePauseReason: queuePauseReason, onResumeQueue: resumeQueue, onDiscardQueue: discardQueue, pendingQueuedMessages: pendingQueuedMessages, backgroundSubagentTasks: backgroundSubagentTasks, backgroundSubagentTasksNow: backgroundSubagentTasksNow,
|
|
354
|
-
if (command.name === 'undo') {
|
|
355
|
-
|
|
356
|
-
if (userMessages.length === 0) {
|
|
357
|
-
addSystemMessage('Nothing to undo.');
|
|
358
|
-
return true;
|
|
359
|
-
}
|
|
360
|
-
if (undoMenuRef.current) {
|
|
361
|
-
undoMenuRef.current.open(userMessages);
|
|
362
|
-
}
|
|
515
|
+
React.createElement(BottomArea, { pendingApproval: effectivePendingApproval, waitingForApproval: effectiveWaitingForApproval, waitingForRejectionReason: effectiveWaitingForRejectionReason, waitingForAskUserAnswer: effectiveWaitingForAskUserAnswer, currentAskUserQuestionIndex: currentAskUserQuestionIndex, isProcessing: effectiveIsProcessing, interruptConfirmVisible: interruptConfirmVisible, thinkingStartedAt: thinkingStartedAt, toolCallStreamingInfo: toolCallStreamingInfo, isShellMode: isShellMode, lastUsage: lastUsage, costSummary: costSummary, queuePaused: queuePaused, queueLength: queueLength, queuePauseReason: queuePauseReason, onResumeQueue: resumeQueue, onDiscardQueue: discardQueue, pendingQueuedMessages: pendingQueuedMessages, backgroundSubagentTasks: backgroundSubagentTasks, backgroundSubagentTasksNow: backgroundSubagentTasksNow, listBackgroundTaskDetails: listBackgroundTaskDetails, getBackgroundTaskDetails: getBackgroundTaskDetails, stopBackgroundTask: stopBackgroundTask, getForegroundTaskTransferCandidate: getForegroundTaskTransferCandidate, moveForegroundTaskToBackground: moveForegroundTaskToBackground, listForegroundTaskTransferCandidates: listForegroundTaskTransferCandidates, backgroundApprovalPendingCount: backgroundApprovalState.pendingCount, onRetractQueuedMessage: retractPendingSubmission, onEditQueuedMessage: editPendingSubmission, onSubmit: handleSubmit, slashCommands: slashCommands, skillsService: skillsService, settingsService: settingsService, loggingService: loggingService, historyService: historyService, onApprove: handleApprove, onReject: handleReject, onCancel: handleCancelAskUser, onTypeAnswer: onTypeAnswer, onNavigateQuestion: handleNavigateQuestion, sshInfo: sshInfo, lastCodexRateLimit: lastCodexRateLimit, staticCommitBlocker: staticCommitBlocker, onSettingChange: handleSettingChange, onSystemMessage: addSystemMessage, handoffState: handoff.handoffState, onHandoffConfirm: handoff.confirmHandoff, onHandoffDecline: handoff.declineHandoff, onHandoffCancel: handoff.cancelHandoff, onStandardModeConfirm: handoff.confirmStandardMode, onStandardModeDecline: handoff.declineStandardMode, largeUncachedWarning: largeUncachedWarning, pendingLargeUncachedTurn: pendingLargeUncachedTurn, pendingLargeUncachedTokens: pendingLargeUncachedTokens, onLargeUncachedApprove: handleLargeUncachedApprove, onLargeUncachedDecline: handleLargeUncachedDecline, pendingSurgeTurn: pendingSurgeTurn, pendingSurgeReason: pendingSurgeReason, onSurgeApprove: handleSurgeApprove, onSurgeDecline: handleSurgeDecline, onSlashTabComplete: (command) => {
|
|
516
|
+
if (command.name === 'rewind' || command.name === 'undo' || command.name === 'retry') {
|
|
517
|
+
openRewindMenu(command.name === 'retry' ? 'resend' : 'edit');
|
|
363
518
|
return true;
|
|
364
519
|
}
|
|
365
520
|
return false;
|