@qduc/term2 0.14.0 → 0.16.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 +324 -316
- package/dist/agent.d.ts +5 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +23 -61
- package/dist/agent.js.map +1 -1
- package/dist/app-helpers.d.ts +4 -0
- package/dist/app-helpers.d.ts.map +1 -1
- package/dist/app-helpers.js +6 -0
- package/dist/app-helpers.js.map +1 -1
- package/dist/app.d.ts +2 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +265 -27
- package/dist/app.js.map +1 -1
- package/dist/cli.js +123 -30
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-approve-command.js +3 -3
- package/dist/commands/auto-approve-command.js.map +1 -1
- package/dist/commands/compact-command.d.ts.map +1 -1
- package/dist/commands/compact-command.js +4 -0
- package/dist/commands/compact-command.js.map +1 -1
- package/dist/commands/effort-command.js +1 -1
- package/dist/commands/effort-command.js.map +1 -1
- package/dist/commands/guarded-settings-command.d.ts +3 -1
- package/dist/commands/guarded-settings-command.d.ts.map +1 -1
- package/dist/commands/guarded-settings-command.js +17 -5
- package/dist/commands/guarded-settings-command.js.map +1 -1
- package/dist/commands/mode-commands.d.ts +9 -2
- package/dist/commands/mode-commands.d.ts.map +1 -1
- package/dist/commands/mode-commands.js +12 -3
- package/dist/commands/mode-commands.js.map +1 -1
- package/dist/commands/model-command.js +1 -1
- package/dist/commands/model-command.js.map +1 -1
- package/dist/commands/resume-command.d.ts +10 -0
- package/dist/commands/resume-command.d.ts.map +1 -0
- package/dist/commands/resume-command.js +40 -0
- package/dist/commands/resume-command.js.map +1 -0
- package/dist/commands/usage-command.d.ts +10 -1
- package/dist/commands/usage-command.d.ts.map +1 -1
- package/dist/commands/usage-command.js +11 -1
- package/dist/commands/usage-command.js.map +1 -1
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.js +5 -4
- package/dist/components/ErrorBoundary.js.map +1 -1
- package/dist/components/InputBox.d.ts +2 -0
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +59 -8
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +16 -15
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/common/MenuContainer.d.ts +25 -2
- package/dist/components/common/MenuContainer.d.ts.map +1 -1
- package/dist/components/common/MenuContainer.js +35 -11
- package/dist/components/common/MenuContainer.js.map +1 -1
- package/dist/components/common/ScrollableTabBar.d.ts.map +1 -1
- package/dist/components/common/ScrollableTabBar.js +5 -4
- package/dist/components/common/ScrollableTabBar.js.map +1 -1
- package/dist/components/input/ApplicationInputSurface.d.ts +4 -5
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
- package/dist/components/input/ApplicationInputSurface.js.map +1 -1
- package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
- package/dist/components/input/FirstRunSetupPrompt.js +5 -4
- package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
- package/dist/components/input/MenuSurface.d.ts.map +1 -1
- package/dist/components/input/MenuSurface.js +10 -3
- package/dist/components/input/MenuSurface.js.map +1 -1
- package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
- package/dist/components/input/ModelMenuSession.js +2 -1
- package/dist/components/input/ModelMenuSession.js.map +1 -1
- package/dist/components/input/PendingQueueList.d.ts +2 -0
- package/dist/components/input/PendingQueueList.d.ts.map +1 -1
- package/dist/components/input/PendingQueueList.js +26 -6
- package/dist/components/input/PendingQueueList.js.map +1 -1
- package/dist/components/input/ProviderMenuSession.d.ts.map +1 -1
- package/dist/components/input/ProviderMenuSession.js +1 -0
- package/dist/components/input/ProviderMenuSession.js.map +1 -1
- package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
- package/dist/components/input/SettingsValueMenuSession.js +8 -1
- package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.d.ts +2 -0
- package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.js +166 -73
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +12 -3
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +197 -62
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/Banner.d.ts +0 -1
- package/dist/components/layout/Banner.d.ts.map +1 -1
- package/dist/components/layout/Banner.js +43 -73
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts +17 -6
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +44 -19
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/DiffView.js +5 -5
- package/dist/components/layout/DiffView.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +9 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +332 -80
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/layout/background-task-clock.d.ts +43 -0
- package/dist/components/layout/background-task-clock.d.ts.map +1 -0
- package/dist/components/layout/background-task-clock.js +46 -0
- package/dist/components/layout/background-task-clock.js.map +1 -0
- package/dist/components/layout/live-task-rows.d.ts +16 -0
- package/dist/components/layout/live-task-rows.d.ts.map +1 -0
- package/dist/components/layout/live-task-rows.js +28 -0
- package/dist/components/layout/live-task-rows.js.map +1 -0
- package/dist/components/layout/terminal-text-budget.d.ts +4 -0
- package/dist/components/layout/terminal-text-budget.d.ts.map +1 -0
- package/dist/components/layout/terminal-text-budget.js +18 -0
- package/dist/components/layout/terminal-text-budget.js.map +1 -0
- package/dist/components/menu/CopyMenu.d.ts.map +1 -1
- package/dist/components/menu/CopyMenu.js +4 -3
- package/dist/components/menu/CopyMenu.js.map +1 -1
- package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/MentorPoolSelectionMenu.js +28 -21
- package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +43 -17
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/PathSelectionMenu.js +4 -3
- package/dist/components/menu/PathSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.js +71 -26
- package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
- package/dist/components/menu/RewindMenu.d.ts.map +1 -1
- package/dist/components/menu/RewindMenu.js +4 -3
- package/dist/components/menu/RewindMenu.js.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.js +30 -25
- package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.js +22 -20
- package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.js +33 -23
- package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
- package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/menu/SlashCommandMenu.js +11 -6
- package/dist/components/menu/SlashCommandMenu.js.map +1 -1
- package/dist/components/message/ChatMessage.js +2 -2
- package/dist/components/message/ChatMessage.js.map +1 -1
- package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -1
- package/dist/components/message/CodeContextSearchRenderer.js +8 -11
- package/dist/components/message/CodeContextSearchRenderer.js.map +1 -1
- package/dist/components/message/CommandGroupSummary.d.ts +9 -0
- package/dist/components/message/CommandGroupSummary.d.ts.map +1 -0
- package/dist/components/message/CommandGroupSummary.js +39 -0
- package/dist/components/message/CommandGroupSummary.js.map +1 -0
- package/dist/components/message/CommandMessage.d.ts +8 -0
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +159 -110
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/GrepRenderer.d.ts.map +1 -1
- package/dist/components/message/GrepRenderer.js +5 -8
- package/dist/components/message/GrepRenderer.js.map +1 -1
- package/dist/components/message/MemoryRenderer.d.ts +1 -0
- package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
- package/dist/components/message/MemoryRenderer.js +19 -17
- package/dist/components/message/MemoryRenderer.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +6 -3
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +68 -13
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
- package/dist/components/message/ReadFileRenderer.js +5 -6
- package/dist/components/message/ReadFileRenderer.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +21 -15
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/WebFetchRenderer.d.ts.map +1 -1
- package/dist/components/message/WebFetchRenderer.js +7 -11
- package/dist/components/message/WebFetchRenderer.js.map +1 -1
- package/dist/components/message/WebSearchRenderer.d.ts.map +1 -1
- package/dist/components/message/WebSearchRenderer.js +5 -10
- package/dist/components/message/WebSearchRenderer.js.map +1 -1
- package/dist/components/message/command-grouping.d.ts +66 -0
- package/dist/components/message/command-grouping.d.ts.map +1 -0
- package/dist/components/message/command-grouping.js +184 -0
- package/dist/components/message/command-grouping.js.map +1 -0
- package/dist/components/message/command-message-helpers.d.ts +11 -37
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +62 -8
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/message/useCommandVisibility.d.ts.map +1 -1
- package/dist/components/message/useCommandVisibility.js +5 -4
- package/dist/components/message/useCommandVisibility.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +286 -156
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/components/prompt/HandoffConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/HandoffConfirmationPrompt.js +3 -2
- package/dist/components/prompt/HandoffConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/InputSurgeConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/InputSurgeConfirmationPrompt.js +5 -4
- package/dist/components/prompt/InputSurgeConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.js +4 -3
- package/dist/components/prompt/LargeUncachedConfirmationPrompt.js.map +1 -1
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts +11 -0
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -0
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +51 -0
- package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -0
- package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
- package/dist/components/prompt/QueuePausedPrompt.js +15 -8
- package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
- package/dist/components/prompt/StandardModeConfirmationPrompt.d.ts.map +1 -1
- package/dist/components/prompt/StandardModeConfirmationPrompt.js +3 -2
- package/dist/components/prompt/StandardModeConfirmationPrompt.js.map +1 -1
- package/dist/components/theme.d.ts +58 -3
- package/dist/components/theme.d.ts.map +1 -1
- package/dist/components/theme.js +84 -17
- package/dist/components/theme.js.map +1 -1
- package/dist/contracts/application-stream.d.ts +21 -0
- package/dist/contracts/application-stream.d.ts.map +1 -1
- package/dist/contracts/conversation.d.ts +24 -1
- package/dist/contracts/conversation.d.ts.map +1 -1
- package/dist/contracts/conversation.js +8 -0
- package/dist/contracts/conversation.js.map +1 -1
- package/dist/contracts/streamed-model-turn.d.ts +22 -1
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/session-runtime.d.ts +10 -0
- package/dist/core/session-runtime.d.ts.map +1 -0
- package/dist/core/session-runtime.js +9 -0
- package/dist/core/session-runtime.js.map +1 -0
- package/dist/gateway/assertion.d.ts +41 -0
- package/dist/gateway/assertion.d.ts.map +1 -0
- package/dist/gateway/assertion.js +168 -0
- package/dist/gateway/assertion.js.map +1 -0
- package/dist/gateway/contracts.d.ts +141 -0
- package/dist/gateway/contracts.d.ts.map +1 -0
- package/dist/gateway/contracts.js +24 -0
- package/dist/gateway/contracts.js.map +1 -0
- package/dist/gateway/dynamic-workspace-registry.d.ts +76 -0
- package/dist/gateway/dynamic-workspace-registry.d.ts.map +1 -0
- package/dist/gateway/dynamic-workspace-registry.js +403 -0
- package/dist/gateway/dynamic-workspace-registry.js.map +1 -0
- package/dist/gateway/gateway.d.ts +95 -0
- package/dist/gateway/gateway.d.ts.map +1 -0
- package/dist/gateway/gateway.js +1960 -0
- package/dist/gateway/gateway.js.map +1 -0
- package/dist/gateway/index.d.ts +22 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +22 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/interaction-protocol.d.ts +76 -0
- package/dist/gateway/interaction-protocol.d.ts.map +1 -0
- package/dist/gateway/interaction-protocol.js +548 -0
- package/dist/gateway/interaction-protocol.js.map +1 -0
- package/dist/gateway/launcher-seam.d.ts +18 -0
- package/dist/gateway/launcher-seam.d.ts.map +1 -0
- package/dist/gateway/launcher-seam.js +43 -0
- package/dist/gateway/launcher-seam.js.map +1 -0
- package/dist/gateway/launcher.d.ts +8 -0
- package/dist/gateway/launcher.d.ts.map +1 -0
- package/dist/gateway/launcher.js +20 -0
- package/dist/gateway/launcher.js.map +1 -0
- package/dist/gateway/lifecycle.d.ts +12 -0
- package/dist/gateway/lifecycle.d.ts.map +1 -0
- package/dist/gateway/lifecycle.js +38 -0
- package/dist/gateway/lifecycle.js.map +1 -0
- package/dist/gateway/pairing.d.ts +25 -0
- package/dist/gateway/pairing.d.ts.map +1 -0
- package/dist/gateway/pairing.js +107 -0
- package/dist/gateway/pairing.js.map +1 -0
- package/dist/gateway/persistence/admission-persistence.d.ts +82 -0
- package/dist/gateway/persistence/admission-persistence.d.ts.map +1 -0
- package/dist/gateway/persistence/admission-persistence.js +215 -0
- package/dist/gateway/persistence/admission-persistence.js.map +1 -0
- package/dist/gateway/persistence/contracts.d.ts +94 -0
- package/dist/gateway/persistence/contracts.d.ts.map +1 -0
- package/dist/gateway/persistence/contracts.js +32 -0
- package/dist/gateway/persistence/contracts.js.map +1 -0
- package/dist/gateway/persistence/coordinator.d.ts +27 -0
- package/dist/gateway/persistence/coordinator.d.ts.map +1 -0
- package/dist/gateway/persistence/coordinator.js +194 -0
- package/dist/gateway/persistence/coordinator.js.map +1 -0
- package/dist/gateway/persistence/event-journal.d.ts +31 -0
- package/dist/gateway/persistence/event-journal.d.ts.map +1 -0
- package/dist/gateway/persistence/event-journal.js +378 -0
- package/dist/gateway/persistence/event-journal.js.map +1 -0
- package/dist/gateway/persistence/interaction-checkpoint.d.ts +17 -0
- package/dist/gateway/persistence/interaction-checkpoint.d.ts.map +1 -0
- package/dist/gateway/persistence/interaction-checkpoint.js +75 -0
- package/dist/gateway/persistence/interaction-checkpoint.js.map +1 -0
- package/dist/gateway/persistence/projection.d.ts +53 -0
- package/dist/gateway/persistence/projection.d.ts.map +1 -0
- package/dist/gateway/persistence/projection.js +226 -0
- package/dist/gateway/persistence/projection.js.map +1 -0
- package/dist/gateway/persistence/retention.d.ts +16 -0
- package/dist/gateway/persistence/retention.d.ts.map +1 -0
- package/dist/gateway/persistence/retention.js +93 -0
- package/dist/gateway/persistence/retention.js.map +1 -0
- package/dist/gateway/persistence/session-index.d.ts +34 -0
- package/dist/gateway/persistence/session-index.d.ts.map +1 -0
- package/dist/gateway/persistence/session-index.js +348 -0
- package/dist/gateway/persistence/session-index.js.map +1 -0
- package/dist/gateway/persistence/session-persistence.d.ts +68 -0
- package/dist/gateway/persistence/session-persistence.d.ts.map +1 -0
- package/dist/gateway/persistence/session-persistence.js +165 -0
- package/dist/gateway/persistence/session-persistence.js.map +1 -0
- package/dist/gateway/persistence/storage.d.ts +13 -0
- package/dist/gateway/persistence/storage.d.ts.map +1 -0
- package/dist/gateway/persistence/storage.js +87 -0
- package/dist/gateway/persistence/storage.js.map +1 -0
- package/dist/gateway/replay-ledger.d.ts +30 -0
- package/dist/gateway/replay-ledger.d.ts.map +1 -0
- package/dist/gateway/replay-ledger.js +83 -0
- package/dist/gateway/replay-ledger.js.map +1 -0
- package/dist/gateway/runtime-factory.d.ts +93 -0
- package/dist/gateway/runtime-factory.d.ts.map +1 -0
- package/dist/gateway/runtime-factory.js +242 -0
- package/dist/gateway/runtime-factory.js.map +1 -0
- package/dist/gateway/safe-log.d.ts +15 -0
- package/dist/gateway/safe-log.d.ts.map +1 -0
- package/dist/gateway/safe-log.js +108 -0
- package/dist/gateway/safe-log.js.map +1 -0
- package/dist/gateway/server-session.d.ts +65 -0
- package/dist/gateway/server-session.d.ts.map +1 -0
- package/dist/gateway/server-session.js +284 -0
- package/dist/gateway/server-session.js.map +1 -0
- package/dist/gateway/server.d.ts +65 -0
- package/dist/gateway/server.d.ts.map +1 -0
- package/dist/gateway/server.js +214 -0
- package/dist/gateway/server.js.map +1 -0
- package/dist/gateway/settings-rpc.d.ts +95 -0
- package/dist/gateway/settings-rpc.d.ts.map +1 -0
- package/dist/gateway/settings-rpc.js +227 -0
- package/dist/gateway/settings-rpc.js.map +1 -0
- package/dist/gateway/trusted-clients.d.ts +27 -0
- package/dist/gateway/trusted-clients.d.ts.map +1 -0
- package/dist/gateway/trusted-clients.js +157 -0
- package/dist/gateway/trusted-clients.js.map +1 -0
- package/dist/gateway/worker-boundary.d.ts +41 -0
- package/dist/gateway/worker-boundary.d.ts.map +1 -0
- package/dist/gateway/worker-boundary.js +159 -0
- package/dist/gateway/worker-boundary.js.map +1 -0
- package/dist/gateway/workspace-admission.d.ts +48 -0
- package/dist/gateway/workspace-admission.d.ts.map +1 -0
- package/dist/gateway/workspace-admission.js +358 -0
- package/dist/gateway/workspace-admission.js.map +1 -0
- package/dist/gateway/workspace-boundary-probe.d.ts +18 -0
- package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -0
- package/dist/gateway/workspace-boundary-probe.js +37 -0
- package/dist/gateway/workspace-boundary-probe.js.map +1 -0
- package/dist/hooks/conversation-ui-reducer.d.ts +12 -0
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +12 -1
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +39 -3
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +9 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +34 -14
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +6 -3
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +22 -9
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +9 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +34 -14
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-grok-credit-usage.d.ts +20 -0
- package/dist/hooks/use-grok-credit-usage.d.ts.map +1 -0
- package/dist/hooks/use-grok-credit-usage.js +48 -0
- package/dist/hooks/use-grok-credit-usage.js.map +1 -0
- package/dist/hooks/use-opencode-go-usage.d.ts +8 -0
- package/dist/hooks/use-opencode-go-usage.d.ts.map +1 -0
- package/dist/hooks/use-opencode-go-usage.js +45 -0
- package/dist/hooks/use-opencode-go-usage.js.map +1 -0
- package/dist/hooks/use-provider-selection.d.ts +10 -0
- package/dist/hooks/use-provider-selection.d.ts.map +1 -1
- package/dist/hooks/use-provider-selection.js +105 -6
- package/dist/hooks/use-provider-selection.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +10 -2
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-shell-mode.d.ts +3 -4
- package/dist/hooks/use-shell-mode.d.ts.map +1 -1
- package/dist/hooks/use-shell-mode.js +14 -12
- package/dist/hooks/use-shell-mode.js.map +1 -1
- package/dist/hooks/use-terminal-columns.d.ts +15 -0
- package/dist/hooks/use-terminal-columns.d.ts.map +1 -0
- package/dist/hooks/use-terminal-columns.js +45 -0
- package/dist/hooks/use-terminal-columns.js.map +1 -0
- package/dist/lib/agent-client.d.ts +12 -3
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +116 -23
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +5 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +10 -2
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +5 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +36 -11
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/editor-impl.d.ts.map +1 -1
- package/dist/lib/editor-impl.js +14 -17
- package/dist/lib/editor-impl.js.map +1 -1
- package/dist/lib/harness-input-idle.d.ts +16 -0
- package/dist/lib/harness-input-idle.d.ts.map +1 -0
- package/dist/lib/harness-input-idle.js +51 -0
- package/dist/lib/harness-input-idle.js.map +1 -0
- package/dist/lib/input-owner.d.ts +3 -0
- package/dist/lib/input-owner.d.ts.map +1 -1
- package/dist/lib/input-owner.js +2 -0
- package/dist/lib/input-owner.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +3 -3
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +16 -9
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts +2 -0
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +3 -0
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +12 -0
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/approval-model.md +22 -0
- package/dist/prompts/explorer-delegation-contract.test.ts +22 -0
- package/dist/prompts/gpt-5.6.md +4 -3
- package/dist/prompts/kimi.md +1 -1
- package/dist/prompts/mentor-mode-stub.md +3 -0
- package/dist/prompts/orchestrator-mode-stub.md +3 -0
- package/dist/prompts/orchestrator.md +10 -1
- package/dist/prompts/plan-mode-info.md +3 -3
- package/dist/prompts/plan-mode-stub.md +7 -0
- package/dist/prompts/prefix-quality.test.ts +112 -0
- 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 +24 -11
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +48 -6
- package/dist/prompts/prompt-constructor.ts +28 -13
- package/dist/prompts/prompt-profiles.d.ts +1 -3
- package/dist/prompts/prompt-profiles.d.ts.map +1 -1
- package/dist/prompts/prompt-profiles.js +2 -7
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.ts +3 -16
- package/dist/prompts/session-browser.md +3 -0
- package/dist/prompts/subagent-delegation.d.ts +3 -2
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +9 -13
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.ts +9 -13
- package/dist/prompts/subagents/explorer.md +7 -1
- package/dist/prompts/subagents/librarian.md +2 -0
- package/dist/prompts/subagents/mentor.md +2 -0
- package/dist/prompts/subagents/worker.md +2 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.js +64 -1
- package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
- package/dist/providers/chained-wire-state.d.ts +13 -2
- package/dist/providers/chained-wire-state.d.ts.map +1 -1
- package/dist/providers/chained-wire-state.js +17 -10
- package/dist/providers/chained-wire-state.js.map +1 -1
- package/dist/providers/codex-auth.d.ts +70 -2
- package/dist/providers/codex-auth.d.ts.map +1 -1
- package/dist/providers/codex-auth.js +168 -2
- package/dist/providers/codex-auth.js.map +1 -1
- package/dist/providers/codex-responses-model.d.ts +3 -0
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +314 -162
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex-turn-converter.d.ts.map +1 -1
- package/dist/providers/codex-turn-converter.js +7 -1
- package/dist/providers/codex-turn-converter.js.map +1 -1
- package/dist/providers/codex.provider.d.ts +25 -2
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +83 -71
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/common/provider-errors.d.ts +20 -0
- package/dist/providers/common/provider-errors.d.ts.map +1 -1
- package/dist/providers/common/provider-errors.js +35 -0
- package/dist/providers/common/provider-errors.js.map +1 -1
- package/dist/providers/grok-auth.d.ts +102 -0
- package/dist/providers/grok-auth.d.ts.map +1 -0
- package/dist/providers/grok-auth.js +318 -0
- package/dist/providers/grok-auth.js.map +1 -0
- package/dist/providers/grok-credit-usage.d.ts +53 -0
- package/dist/providers/grok-credit-usage.d.ts.map +1 -0
- package/dist/providers/grok-credit-usage.js +108 -0
- package/dist/providers/grok-credit-usage.js.map +1 -0
- package/dist/providers/grok.provider.d.ts +24 -0
- package/dist/providers/grok.provider.d.ts.map +1 -0
- package/dist/providers/grok.provider.js +153 -0
- package/dist/providers/grok.provider.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/jwt-claims.d.ts +12 -0
- package/dist/providers/jwt-claims.d.ts.map +1 -0
- package/dist/providers/jwt-claims.js +25 -0
- package/dist/providers/jwt-claims.js.map +1 -0
- package/dist/providers/luna-responses-lite-wire-protocol.d.ts +1 -0
- package/dist/providers/luna-responses-lite-wire-protocol.d.ts.map +1 -1
- package/dist/providers/luna-responses-lite-wire-protocol.js +19 -0
- package/dist/providers/luna-responses-lite-wire-protocol.js.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.d.ts +360 -232
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.js +360 -232
- package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
- package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog/generate-catalog.js +21 -1
- package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
- package/dist/providers/oauth-account-store.d.ts +89 -0
- package/dist/providers/oauth-account-store.d.ts.map +1 -0
- package/dist/providers/oauth-account-store.js +193 -0
- package/dist/providers/oauth-account-store.js.map +1 -0
- package/dist/providers/oauth-accounts.d.ts +24 -0
- package/dist/providers/oauth-accounts.d.ts.map +1 -0
- package/dist/providers/oauth-accounts.js +37 -0
- package/dist/providers/oauth-accounts.js.map +1 -0
- package/dist/providers/oauth-pkce.d.ts +61 -0
- package/dist/providers/oauth-pkce.d.ts.map +1 -0
- package/dist/providers/oauth-pkce.js +272 -0
- package/dist/providers/oauth-pkce.js.map +1 -0
- package/dist/providers/oauth-session-account.d.ts +5 -0
- package/dist/providers/oauth-session-account.d.ts.map +1 -0
- package/dist/providers/oauth-session-account.js +24 -0
- package/dist/providers/oauth-session-account.js.map +1 -0
- package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
- package/dist/providers/openai-chat-completions-model.js +37 -16
- package/dist/providers/openai-chat-completions-model.js.map +1 -1
- package/dist/providers/openai-compatible-lazy.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts +5 -0
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +40 -3
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-responses-model.d.ts +13 -3
- package/dist/providers/openai-responses-model.d.ts.map +1 -1
- package/dist/providers/openai-responses-model.js +92 -39
- package/dist/providers/openai-responses-model.js.map +1 -1
- package/dist/providers/openai.provider.d.ts.map +1 -1
- package/dist/providers/openai.provider.js +23 -2
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/opencode-go-usage.d.ts +24 -0
- package/dist/providers/opencode-go-usage.d.ts.map +1 -0
- package/dist/providers/opencode-go-usage.js +37 -0
- package/dist/providers/opencode-go-usage.js.map +1 -0
- package/dist/providers/opencode-routing.d.ts +2 -0
- package/dist/providers/opencode-routing.d.ts.map +1 -1
- package/dist/providers/opencode-routing.js +12 -6
- package/dist/providers/opencode-routing.js.map +1 -1
- package/dist/providers/opencode-transport-discovery.d.ts +18 -0
- package/dist/providers/opencode-transport-discovery.d.ts.map +1 -0
- package/dist/providers/opencode-transport-discovery.js +115 -0
- package/dist/providers/opencode-transport-discovery.js.map +1 -0
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +8 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/provider-opaque-compatibility.d.ts +58 -0
- package/dist/providers/provider-opaque-compatibility.d.ts.map +1 -0
- package/dist/providers/provider-opaque-compatibility.js +80 -0
- package/dist/providers/provider-opaque-compatibility.js.map +1 -0
- package/dist/providers/provider-service.d.ts +1 -1
- package/dist/providers/provider-service.d.ts.map +1 -1
- package/dist/providers/provider-service.js.map +1 -1
- package/dist/providers/registry.d.ts +10 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/responses-websocket-sessions.d.ts +26 -0
- package/dist/providers/responses-websocket-sessions.d.ts.map +1 -0
- package/dist/providers/responses-websocket-sessions.js +116 -0
- package/dist/providers/responses-websocket-sessions.js.map +1 -0
- package/dist/providers/retrying-model.d.ts.map +1 -1
- package/dist/providers/retrying-model.js +31 -3
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/providers/websocket-close-evidence.d.ts +45 -0
- package/dist/providers/websocket-close-evidence.d.ts.map +1 -0
- package/dist/providers/websocket-close-evidence.js +78 -0
- package/dist/providers/websocket-close-evidence.js.map +1 -0
- package/dist/providers/websocket-receive-watchdog.d.ts +9 -1
- package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -1
- package/dist/providers/websocket-receive-watchdog.js +27 -1
- package/dist/providers/websocket-receive-watchdog.js.map +1 -1
- package/dist/providers/websocket-request-dispatch.d.ts +35 -0
- package/dist/providers/websocket-request-dispatch.d.ts.map +1 -0
- package/dist/providers/websocket-request-dispatch.js +23 -0
- package/dist/providers/websocket-request-dispatch.js.map +1 -0
- package/dist/scripts/eval-context-compaction/runner.js +1 -1
- package/dist/scripts/eval-context-compaction/runner.js.map +1 -1
- package/dist/services/agent-runtime/agent-handle.d.ts.map +1 -1
- package/dist/services/agent-runtime/agent-handle.js +8 -5
- package/dist/services/agent-runtime/agent-handle.js.map +1 -1
- package/dist/services/agent-runtime/agent-runtime.d.ts +1 -1
- package/dist/services/agent-runtime/agent-runtime.js +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +37 -9
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +512 -219
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +6 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +72 -4
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
- package/dist/services/agent-runtime/executor.d.ts +1 -1
- package/dist/services/agent-runtime/executor.d.ts.map +1 -1
- package/dist/services/agent-runtime/executor.js +5 -5
- package/dist/services/agent-runtime/executor.js.map +1 -1
- package/dist/services/agent-runtime/generation-guard.d.ts +39 -24
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
- package/dist/services/agent-runtime/generation-guard.js +100 -97
- package/dist/services/agent-runtime/generation-guard.js.map +1 -1
- package/dist/services/agent-runtime/run-budget.d.ts +131 -0
- package/dist/services/agent-runtime/run-budget.d.ts.map +1 -0
- package/dist/services/agent-runtime/run-budget.js +272 -0
- package/dist/services/agent-runtime/run-budget.js.map +1 -0
- package/dist/services/agent-runtime/tool-invocation-context.d.ts +12 -0
- package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -1
- package/dist/services/agent-runtime/tool-invocation-context.js.map +1 -1
- package/dist/services/agent-runtime/types.d.ts +5 -4
- package/dist/services/agent-runtime/types.d.ts.map +1 -1
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/agent-stream.js +3 -1
- package/dist/services/agent-stream.js.map +1 -1
- package/dist/services/approval/approval-decision-executor.d.ts +6 -1
- package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
- package/dist/services/approval/approval-decision-executor.js +15 -3
- package/dist/services/approval/approval-decision-executor.js.map +1 -1
- package/dist/services/approval/approval-decision-policy.d.ts.map +1 -1
- package/dist/services/approval/approval-decision-policy.js +3 -0
- package/dist/services/approval/approval-decision-policy.js.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.d.ts +2 -0
- package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.js +14 -2
- package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.d.ts +3 -1
- package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.js +7 -4
- package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +8 -0
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +20 -11
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/approval/tool-ownership-registry.d.ts +5 -1
- package/dist/services/approval/tool-ownership-registry.d.ts.map +1 -1
- package/dist/services/approval/tool-ownership-registry.js +5 -22
- package/dist/services/approval/tool-ownership-registry.js.map +1 -1
- package/dist/services/background-task-activity.d.ts +79 -0
- package/dist/services/background-task-activity.d.ts.map +1 -0
- package/dist/services/background-task-activity.js +34 -0
- package/dist/services/background-task-activity.js.map +1 -0
- package/dist/services/command-message-streaming.d.ts +4 -2
- package/dist/services/command-message-streaming.d.ts.map +1 -1
- package/dist/services/command-message-streaming.js +2 -2
- package/dist/services/command-message-streaming.js.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts +6 -2
- package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.js +5 -1
- package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +53 -10
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +252 -43
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.d.ts +3 -2
- package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.js +6 -1
- package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
- package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-decoder.js +4 -0
- package/dist/services/conversation/conversation-decoder.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +97 -3
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts +14 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +245 -22
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +6 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +60 -3
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +221 -16
- package/dist/services/conversation/conversation-persistence.js.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +27 -0
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-result-builder.d.ts +6 -2
- package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-result-builder.js +60 -1
- package/dist/services/conversation/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts +9 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js +5 -1
- package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +32 -3
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +122 -32
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-state-projector.d.ts +2 -1
- package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-projector.js +31 -3
- package/dist/services/conversation/conversation-state-projector.js.map +1 -1
- package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -1
- package/dist/services/conversation/run-item-normalizer.js +24 -1
- package/dist/services/conversation/run-item-normalizer.js.map +1 -1
- package/dist/services/conversation/session-audit.d.ts +70 -0
- package/dist/services/conversation/session-audit.d.ts.map +1 -0
- package/dist/services/conversation/session-audit.js +164 -0
- package/dist/services/conversation/session-audit.js.map +1 -0
- package/dist/services/conversation/session-browser.d.ts +46 -0
- package/dist/services/conversation/session-browser.d.ts.map +1 -0
- package/dist/services/conversation/session-browser.js +380 -0
- package/dist/services/conversation/session-browser.js.map +1 -0
- package/dist/services/conversation-agent-client.d.ts +21 -2
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/cost/model-cost.d.ts +13 -1
- package/dist/services/cost/model-cost.d.ts.map +1 -1
- package/dist/services/cost/model-cost.js +59 -0
- package/dist/services/cost/model-cost.js.map +1 -1
- package/dist/services/cost/subscription-providers.d.ts +2 -0
- package/dist/services/cost/subscription-providers.d.ts.map +1 -0
- package/dist/services/cost/subscription-providers.js +14 -0
- package/dist/services/cost/subscription-providers.js.map +1 -0
- package/dist/services/grok/grok-credit-usage-service.d.ts +62 -0
- package/dist/services/grok/grok-credit-usage-service.d.ts.map +1 -0
- package/dist/services/grok/grok-credit-usage-service.js +137 -0
- package/dist/services/grok/grok-credit-usage-service.js.map +1 -0
- package/dist/services/history-service.d.ts +9 -0
- package/dist/services/history-service.d.ts.map +1 -1
- package/dist/services/history-service.js +49 -2
- package/dist/services/history-service.js.map +1 -1
- package/dist/services/hooks/hook-composition.d.ts +17 -0
- package/dist/services/hooks/hook-composition.d.ts.map +1 -0
- package/dist/services/hooks/hook-composition.js +19 -0
- package/dist/services/hooks/hook-composition.js.map +1 -0
- package/dist/services/input-surge-approval.d.ts +21 -0
- package/dist/services/input-surge-approval.d.ts.map +1 -0
- package/dist/services/input-surge-approval.js +42 -0
- package/dist/services/input-surge-approval.js.map +1 -0
- package/dist/services/large-uncached-input-guard.js +4 -4
- package/dist/services/large-uncached-input-guard.js.map +1 -1
- package/dist/services/logging/assistant-turn-journal.d.ts +15 -0
- package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
- package/dist/services/logging/assistant-turn-journal.js +27 -0
- package/dist/services/logging/assistant-turn-journal.js.map +1 -1
- package/dist/services/logging/conversation-log-events.d.ts +35 -1
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js +17 -0
- package/dist/services/logging/conversation-log-events.js.map +1 -1
- package/dist/services/logging/conversation-log-writer.d.ts +8 -1
- package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-writer.js +145 -10
- 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 +18 -0
- package/dist/services/logging/conversation-logger.js.map +1 -1
- package/dist/services/logging/logging-service.d.ts +6 -6
- package/dist/services/logging/logging-service.d.ts.map +1 -1
- package/dist/services/logging/logging-service.js.map +1 -1
- package/dist/services/logging/provider-traffic.d.ts +17 -1
- package/dist/services/logging/provider-traffic.d.ts.map +1 -1
- package/dist/services/logging/provider-traffic.js +283 -139
- 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 +22 -3
- package/dist/services/memory/memory-capabilities.js.map +1 -1
- package/dist/services/memory/memory-search.d.ts +16 -0
- package/dist/services/memory/memory-search.d.ts.map +1 -0
- package/dist/services/memory/memory-search.js +55 -0
- package/dist/services/memory/memory-search.js.map +1 -0
- package/dist/services/memory/memory-store.d.ts +12 -0
- package/dist/services/memory/memory-store.d.ts.map +1 -1
- package/dist/services/memory/memory-store.js +14 -35
- package/dist/services/memory/memory-store.js.map +1 -1
- package/dist/services/mode-notices.d.ts +12 -6
- package/dist/services/mode-notices.d.ts.map +1 -1
- package/dist/services/mode-notices.js +51 -4
- package/dist/services/mode-notices.js.map +1 -1
- package/dist/services/model-service.d.ts +2 -2
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/queue/queue-controller.d.ts +14 -1
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +51 -6
- package/dist/services/queue/queue-controller.js.map +1 -1
- package/dist/services/retry/chain-recovery-fingerprint.d.ts +10 -0
- package/dist/services/retry/chain-recovery-fingerprint.d.ts.map +1 -0
- package/dist/services/retry/chain-recovery-fingerprint.js +23 -0
- package/dist/services/retry/chain-recovery-fingerprint.js.map +1 -0
- package/dist/services/retry/in-loop-model-retry.d.ts +12 -0
- package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -0
- package/dist/services/retry/in-loop-model-retry.js +115 -0
- package/dist/services/retry/in-loop-model-retry.js.map +1 -0
- package/dist/services/retry/recovery-executor.d.ts.map +1 -1
- package/dist/services/retry/recovery-executor.js +2 -0
- 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 -0
- 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 +42 -4
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-contracts.d.ts +14 -0
- package/dist/services/retry/retry-contracts.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts +17 -3
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +58 -13
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/retry/retry-errors.d.ts +4 -0
- package/dist/services/retry/retry-errors.d.ts.map +1 -1
- package/dist/services/retry/retry-errors.js +7 -0
- package/dist/services/retry/retry-errors.js.map +1 -1
- package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
- package/dist/services/retry/retry-event-presenter.js +20 -0
- package/dist/services/retry/retry-event-presenter.js.map +1 -1
- package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
- package/dist/services/retry/upstream-retry-policy.js +40 -7
- package/dist/services/retry/upstream-retry-policy.js.map +1 -1
- package/dist/services/runtime-setting-router.d.ts.map +1 -1
- package/dist/services/runtime-setting-router.js +13 -2
- package/dist/services/runtime-setting-router.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +96 -13
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/session/background-check-in-scheduler.d.ts +44 -0
- package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -0
- package/dist/services/session/background-check-in-scheduler.js +88 -0
- package/dist/services/session/background-check-in-scheduler.js.map +1 -0
- package/dist/services/session/background-task-control.d.ts +6 -0
- package/dist/services/session/background-task-control.d.ts.map +1 -1
- package/dist/services/session/background-task-control.js +35 -7
- package/dist/services/session/background-task-control.js.map +1 -1
- package/dist/services/session/background-task-liveness.d.ts +2 -18
- package/dist/services/session/background-task-liveness.d.ts.map +1 -1
- package/dist/services/session/background-task-liveness.js +7 -22
- package/dist/services/session/background-task-liveness.js.map +1 -1
- package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
- package/dist/services/session/continuation-plan-applier.js +23 -0
- package/dist/services/session/continuation-plan-applier.js.map +1 -1
- package/dist/services/session/continuation-recovery-handler.d.ts +2 -0
- package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/continuation-recovery-handler.js +7 -1
- package/dist/services/session/continuation-recovery-handler.js.map +1 -1
- package/dist/services/session/initial-input-preparer.d.ts +2 -1
- package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
- package/dist/services/session/initial-input-preparer.js +3 -1
- package/dist/services/session/initial-input-preparer.js.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.d.ts +1 -0
- package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.js +12 -2
- package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
- package/dist/services/session/repetition-detector.d.ts +0 -4
- package/dist/services/session/repetition-detector.d.ts.map +1 -1
- package/dist/services/session/repetition-detector.js +0 -7
- package/dist/services/session/repetition-detector.js.map +1 -1
- package/dist/services/session/session-client-factory.d.ts +3 -1
- package/dist/services/session/session-client-factory.d.ts.map +1 -1
- package/dist/services/session/session-client-factory.js +2 -2
- package/dist/services/session/session-client-factory.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +9 -2
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +151 -37
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-lifecycle.d.ts +8 -0
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +4 -0
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts +2 -0
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +9 -15
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/terminal-result-collector.d.ts +2 -2
- package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/session/terminal-result-collector.js +2 -1
- package/dist/services/session/terminal-result-collector.js.map +1 -1
- package/dist/services/session/turn-attempt-factory.d.ts +3 -1
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt-factory.js +1 -0
- package/dist/services/session/turn-attempt-factory.js.map +1 -1
- package/dist/services/session/turn-attempt.d.ts +3 -0
- 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 +2 -2
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-coordinator.js +31 -6
- package/dist/services/session/turn-coordinator.js.map +1 -1
- package/dist/services/session/turn-workflow.d.ts +4 -1
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +52 -8
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/settings-persistence.d.ts +33 -0
- package/dist/services/settings/settings-persistence.d.ts.map +1 -1
- package/dist/services/settings/settings-persistence.js +102 -4
- package/dist/services/settings/settings-persistence.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +92 -0
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +119 -9
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +66 -3
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +211 -28
- package/dist/services/settings/settings-service.js.map +1 -1
- package/dist/services/settings/settings-service.mock.d.ts +1 -1
- package/dist/services/settings/settings-service.mock.d.ts.map +1 -1
- package/dist/services/settings/settings-service.mock.js +3 -6
- package/dist/services/settings/settings-service.mock.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +21 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +28 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +171 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -0
- package/dist/services/shell/background-shell-registry.d.ts +10 -0
- package/dist/services/shell/background-shell-registry.d.ts.map +1 -1
- package/dist/services/shell/background-shell-registry.js +9 -1
- package/dist/services/shell/background-shell-registry.js.map +1 -1
- package/dist/services/shell/background-shell-watches.d.ts +28 -3
- package/dist/services/shell/background-shell-watches.d.ts.map +1 -1
- package/dist/services/shell/background-shell-watches.js +41 -9
- package/dist/services/shell/background-shell-watches.js.map +1 -1
- package/dist/services/shell/shell-interaction-session.d.ts +4 -5
- package/dist/services/shell/shell-interaction-session.d.ts.map +1 -1
- package/dist/services/shell/shell-interaction-session.js +8 -20
- package/dist/services/shell/shell-interaction-session.js.map +1 -1
- package/dist/services/ssh-service.d.ts +81 -9
- package/dist/services/ssh-service.d.ts.map +1 -1
- package/dist/services/ssh-service.js +211 -37
- package/dist/services/ssh-service.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts +2 -0
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +32 -7
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts +1 -1
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +34 -22
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.d.ts +11 -1
- package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.js +10 -1
- package/dist/services/subagents/foreground-subagent-lease.js.map +1 -1
- package/dist/services/subagents/mentor-runner.d.ts +1 -1
- package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +12 -3
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts +11 -1
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +79 -11
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/runtime.d.ts.map +1 -1
- package/dist/services/subagents/runtime.js +7 -0
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +4 -0
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +81 -17
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts +1 -1
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +4 -4
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +47 -2
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +33 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -1
- package/dist/services/subagents/subagent-run-control.d.ts +9 -1
- package/dist/services/subagents/subagent-run-control.d.ts.map +1 -1
- package/dist/services/subagents/subagent-run-control.js +12 -13
- package/dist/services/subagents/subagent-run-control.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +20 -7
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +25 -2
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +5 -1
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +33 -2
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +5 -1
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/services/workspace/active-workspace-root.d.ts +6 -0
- package/dist/services/workspace/active-workspace-root.d.ts.map +1 -1
- package/dist/services/workspace/active-workspace-root.js +22 -0
- package/dist/services/workspace/active-workspace-root.js.map +1 -1
- package/dist/test-helpers/ink-testing.d.ts.map +1 -1
- package/dist/test-helpers/ink-testing.js +4 -1
- package/dist/test-helpers/ink-testing.js.map +1 -1
- package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
- package/dist/test-helpers/terminal-e2e.js +12 -2
- package/dist/test-helpers/terminal-e2e.js.map +1 -1
- package/dist/tools/agent/activate-skill.d.ts.map +1 -1
- package/dist/tools/agent/activate-skill.js +2 -2
- package/dist/tools/agent/activate-skill.js.map +1 -1
- package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
- package/dist/tools/agent/ask-mentor.js +2 -2
- package/dist/tools/agent/ask-mentor.js.map +1 -1
- package/dist/tools/agent/ask-user-constants.d.ts +2 -2
- package/dist/tools/agent/ask-user-constants.d.ts.map +1 -1
- package/dist/tools/agent/ask-user-constants.js +1 -1
- package/dist/tools/agent/ask-user-constants.js.map +1 -1
- package/dist/tools/agent/ask-user.d.ts.map +1 -1
- package/dist/tools/agent/ask-user.js +2 -0
- package/dist/tools/agent/ask-user.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +2 -11
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +8 -2
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +44 -29
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/file/apply-patch.d.ts +2 -0
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +58 -14
- package/dist/tools/file/apply-patch.js.map +1 -1
- package/dist/tools/file/code-context.d.ts +5 -0
- package/dist/tools/file/code-context.d.ts.map +1 -1
- package/dist/tools/file/code-context.js +18 -6
- package/dist/tools/file/code-context.js.map +1 -1
- package/dist/tools/file/create-file.d.ts.map +1 -1
- package/dist/tools/file/create-file.js +11 -5
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/file/edit-healing.d.ts +7 -0
- package/dist/tools/file/edit-healing.d.ts.map +1 -1
- package/dist/tools/file/edit-healing.js +7 -7
- package/dist/tools/file/edit-healing.js.map +1 -1
- package/dist/tools/file/glob.d.ts +3 -0
- package/dist/tools/file/glob.d.ts.map +1 -1
- package/dist/tools/file/glob.js +9 -3
- package/dist/tools/file/glob.js.map +1 -1
- package/dist/tools/file/grep.d.ts +5 -0
- package/dist/tools/file/grep.d.ts.map +1 -1
- package/dist/tools/file/grep.js +10 -6
- package/dist/tools/file/grep.js.map +1 -1
- package/dist/tools/file/patch-healing.d.ts +31 -0
- package/dist/tools/file/patch-healing.d.ts.map +1 -0
- package/dist/tools/file/patch-healing.js +231 -0
- package/dist/tools/file/patch-healing.js.map +1 -0
- package/dist/tools/file/read-file.d.ts +3 -0
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +9 -3
- package/dist/tools/file/read-file.js.map +1 -1
- package/dist/tools/file/search-replace.d.ts.map +1 -1
- package/dist/tools/file/search-replace.js +24 -6
- package/dist/tools/file/search-replace.js.map +1 -1
- package/dist/tools/format-helpers.d.ts +6 -0
- package/dist/tools/format-helpers.d.ts.map +1 -1
- package/dist/tools/format-helpers.js +23 -0
- 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 +324 -61
- package/dist/tools/memory/memory-tools.js.map +1 -1
- package/dist/tools/session-browser/session-browser-tools.d.ts +4 -0
- package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -0
- package/dist/tools/session-browser/session-browser-tools.js +47 -0
- package/dist/tools/session-browser/session-browser-tools.js.map +1 -0
- package/dist/tools/system/shell.d.ts +16 -1
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +97 -25
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +8 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/web/web-fetch.d.ts.map +1 -1
- package/dist/tools/web/web-fetch.js +2 -2
- package/dist/tools/web/web-fetch.js.map +1 -1
- package/dist/tools/web/web-search.d.ts.map +1 -1
- package/dist/tools/web/web-search.js +2 -2
- package/dist/tools/web/web-search.js.map +1 -1
- package/dist/types/message.d.ts +1 -1
- package/dist/types/message.d.ts.map +1 -1
- package/dist/utils/ai/provider-credentials.d.ts +1 -1
- package/dist/utils/ai/provider-credentials.d.ts.map +1 -1
- package/dist/utils/ai/provider-credentials.js +18 -2
- package/dist/utils/ai/provider-credentials.js.map +1 -1
- package/dist/utils/ai/token-usage.d.ts +3 -1
- package/dist/utils/ai/token-usage.d.ts.map +1 -1
- package/dist/utils/ai/token-usage.js +7 -2
- package/dist/utils/ai/token-usage.js.map +1 -1
- package/dist/utils/apply-diff.d.ts.map +1 -1
- package/dist/utils/apply-diff.js +8 -0
- package/dist/utils/apply-diff.js.map +1 -1
- package/dist/utils/busy-turn-guard.d.ts +17 -0
- package/dist/utils/busy-turn-guard.d.ts.map +1 -0
- package/dist/utils/busy-turn-guard.js +24 -0
- package/dist/utils/busy-turn-guard.js.map +1 -0
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +88 -9
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/error-helpers.d.ts.map +1 -1
- package/dist/utils/error-helpers.js +8 -0
- package/dist/utils/error-helpers.js.map +1 -1
- package/dist/utils/inject-warning-into-tool-output.d.ts +30 -0
- package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -1
- package/dist/utils/inject-warning-into-tool-output.js +39 -0
- package/dist/utils/inject-warning-into-tool-output.js.map +1 -1
- package/dist/utils/output/bounded-json.d.ts +33 -0
- package/dist/utils/output/bounded-json.d.ts.map +1 -0
- package/dist/utils/output/bounded-json.js +59 -0
- package/dist/utils/output/bounded-json.js.map +1 -0
- package/dist/utils/output/output-trim.d.ts.map +1 -1
- package/dist/utils/output/output-trim.js +7 -7
- package/dist/utils/output/output-trim.js.map +1 -1
- package/dist/utils/output/text-snippet.d.ts +6 -0
- package/dist/utils/output/text-snippet.d.ts.map +1 -0
- package/dist/utils/output/text-snippet.js +106 -0
- package/dist/utils/output/text-snippet.js.map +1 -0
- package/dist/utils/output/tty-osc.d.ts +1 -1
- package/dist/utils/output/tty-osc.js +1 -1
- package/dist/utils/resume-list.d.ts +3 -1
- package/dist/utils/resume-list.d.ts.map +1 -1
- package/dist/utils/resume-list.js +3 -2
- package/dist/utils/resume-list.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +120 -6
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/execute-shell.d.ts +8 -0
- package/dist/utils/shell/execute-shell.d.ts.map +1 -1
- package/dist/utils/shell/execute-shell.js +36 -30
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-env.d.ts +1 -0
- package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-env.js +2 -0
- package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts +4 -0
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +1 -0
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js +21 -3
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
- package/dist/utils/shell/shell-child-registry.d.ts +11 -0
- package/dist/utils/shell/shell-child-registry.d.ts.map +1 -0
- package/dist/utils/shell/shell-child-registry.js +40 -0
- package/dist/utils/shell/shell-child-registry.js.map +1 -0
- package/dist/utils/shell/shell-output.d.ts.map +1 -1
- package/dist/utils/shell/shell-output.js +10 -6
- package/dist/utils/shell/shell-output.js.map +1 -1
- package/dist/utils/shell/temp-sweep.d.ts +28 -0
- package/dist/utils/shell/temp-sweep.d.ts.map +1 -0
- package/dist/utils/shell/temp-sweep.js +140 -0
- package/dist/utils/shell/temp-sweep.js.map +1 -0
- package/dist/utils/streaming/extract-command-messages.d.ts +12 -5
- package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/streaming/extract-command-messages.js +29 -33
- package/dist/utils/streaming/extract-command-messages.js.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.d.ts +8 -0
- package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.js +3 -0
- package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts +8 -0
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +72 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +17 -11
- package/dist/utils/output/synchronized-output.d.ts +0 -35
- package/dist/utils/output/synchronized-output.d.ts.map +0 -1
- package/dist/utils/output/synchronized-output.js +0 -66
- package/dist/utils/output/synchronized-output.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describeError, isAbortLikeError } from '../../utils/error-helpers.js';
|
|
2
2
|
import { createMessageIdFactory } from '../../utils/message-id-factory.js';
|
|
3
3
|
import { isCommandMessage, isUserMessage } from '../../types/message.js';
|
|
4
|
-
import { isDeniedReadApproveAnswer } from '../../contracts/conversation.js';
|
|
4
|
+
import { CHECK_IN_TOOL_NAME, isDeniedReadApproveAnswer } from '../../contracts/conversation.js';
|
|
5
5
|
import { createStreamingSession } from '../../utils/streaming/streaming-session-factory.js';
|
|
6
6
|
import { enhanceApiKeyError, isMaxTurnsError } from '../../utils/conversation/conversation-utils.js';
|
|
7
7
|
import { clearStreamingBotMessage, computeNextMessages } from '../../utils/conversation/apply-conversation-result.js';
|
|
@@ -10,6 +10,13 @@ import { ASK_USER_NO_ANSWER_RESULT } from '../../tools/agent/ask-user-constants.
|
|
|
10
10
|
import { annotateApprovedCommandMessage, filterPendingCommandMessagesForApproval, } from '../approval/approval-presentation-policy.js';
|
|
11
11
|
import { formatUserTurnForDisplay, hasUserTurnContent, injectSkillIntoTurn, normalizeUserTurn, } from '../../types/user-turn.js';
|
|
12
12
|
const REASONING_RESPONSE_THROTTLE_MS = 200;
|
|
13
|
+
function formatRunBudgetEvidence(event) {
|
|
14
|
+
if (event.type === 'tool_stall') {
|
|
15
|
+
return `Repeated tool call: ${event.toolName} (${event.count}/${event.threshold})\narguments: ${event.argumentsText}`;
|
|
16
|
+
}
|
|
17
|
+
const { evidence } = event;
|
|
18
|
+
return `${event.stage} budget stage: ${evidence.dimension}; used ${evidence.used}/${evidence.limit}; headroom ${evidence.headroom}`;
|
|
19
|
+
}
|
|
13
20
|
/**
|
|
14
21
|
* Render settled background runs as one instruction to the main agent. Previews
|
|
15
22
|
* are already capped by the notification store, so the full output is offered
|
|
@@ -18,9 +25,11 @@ const REASONING_RESPONSE_THROTTLE_MS = 200;
|
|
|
18
25
|
function formatBackgroundSubagentNotifications(notifications) {
|
|
19
26
|
const completions = notifications.filter((notification) => notification.kind === 'completion');
|
|
20
27
|
const questions = notifications.filter((notification) => notification.kind === 'question');
|
|
28
|
+
const budgets = notifications.filter((notification) => notification.kind === 'budget');
|
|
21
29
|
const shellCompletions = notifications.filter((notification) => notification.kind === 'shell_completion');
|
|
22
30
|
const shellOutputs = notifications.filter((notification) => notification.kind === 'shell_output');
|
|
23
31
|
const userControls = notifications.filter((notification) => notification.kind === 'user_control');
|
|
32
|
+
const checkIns = notifications.filter((notification) => notification.kind === 'check_in');
|
|
24
33
|
const sections = [];
|
|
25
34
|
if (completions.length > 0) {
|
|
26
35
|
const noun = completions.length === 1 ? 'run' : 'runs';
|
|
@@ -60,6 +69,23 @@ function formatBackgroundSubagentNotifications(notifications) {
|
|
|
60
69
|
'Decide the answer, investigate it yourself, or escalate to the user if needed. To answer a specific waiting subagent, call send_message({ target, reply_to: messageId, message }). The subagent has no direct user channel; an answer resumes only its waiting tool call.',
|
|
61
70
|
].join('\n'));
|
|
62
71
|
}
|
|
72
|
+
if (budgets.length > 0) {
|
|
73
|
+
const entries = budgets.map((notification) => {
|
|
74
|
+
const target = notification.name ?? notification.runId;
|
|
75
|
+
return `- target: ${target} | runId: ${notification.runId} | role: ${notification.role}\n ${formatRunBudgetEvidence(notification.event)}`;
|
|
76
|
+
});
|
|
77
|
+
sections.push([
|
|
78
|
+
`Background subagent budget/stall evidence (${budgets.length}). This is an automatic system notification, not a user message.`,
|
|
79
|
+
'',
|
|
80
|
+
...entries,
|
|
81
|
+
'',
|
|
82
|
+
// Do not offer continue-with-extension: no child-targeted grant API
|
|
83
|
+
// exists, so the run keeps going inside its own envelope regardless.
|
|
84
|
+
// Promising an action the parent cannot take produces confident,
|
|
85
|
+
// ineffective replies and teaches it to ignore this lane.
|
|
86
|
+
'Judge the evidence and act only if the run is going wrong: steer it with specific corrective guidance via send_message({ target, message }), or stop it with the background task controls. Doing nothing is a valid judgement — the run continues within its own budget and, at critical, ends itself with a summary of what it completed.',
|
|
87
|
+
].join('\n'));
|
|
88
|
+
}
|
|
63
89
|
if (shellCompletions.length > 0) {
|
|
64
90
|
const noun = shellCompletions.length === 1 ? 'job' : 'jobs';
|
|
65
91
|
const entries = shellCompletions.map((notification) => [
|
|
@@ -98,6 +124,24 @@ function formatBackgroundSubagentNotifications(notifications) {
|
|
|
98
124
|
'Assess whether the matched output changes what you should do next and continue through the next necessary steps yourself, telling the user concisely, in your own words, what you concluded.',
|
|
99
125
|
].join('\n'));
|
|
100
126
|
}
|
|
127
|
+
if (checkIns.length > 0) {
|
|
128
|
+
const noun = checkIns.length === 1 ? 'task' : 'tasks';
|
|
129
|
+
const entries = checkIns.map((notification) => {
|
|
130
|
+
const { details } = notification;
|
|
131
|
+
const label = details.kind === 'subagent'
|
|
132
|
+
? `background subagent ${details.name ?? details.id} | role: ${details.role} | task: ${details.task}`
|
|
133
|
+
: `background shell | jobId: ${details.id} | command: ${details.command}`;
|
|
134
|
+
const elapsedSeconds = Math.round(notification.elapsedMs / 1000);
|
|
135
|
+
return `- ${label}\n still running, elapsed ${elapsedSeconds}s, check-in #${notification.checkInIndex}`;
|
|
136
|
+
});
|
|
137
|
+
sections.push([
|
|
138
|
+
`Periodic check-in on ${checkIns.length} still-running background ${noun}. This is an automatic system notification, not a user message, and does not by itself mean anything is wrong.`,
|
|
139
|
+
'',
|
|
140
|
+
...entries,
|
|
141
|
+
'',
|
|
142
|
+
'Decide freely: doing nothing and letting it keep running is a valid choice. Only report to the user or intervene (steer or stop the task) if the elapsed time or task nature makes that the right call.',
|
|
143
|
+
].join('\n'));
|
|
144
|
+
}
|
|
101
145
|
if (userControls.length > 0) {
|
|
102
146
|
const stopControls = userControls.filter((notification) => notification.action === 'stop');
|
|
103
147
|
const backgroundMoves = userControls.filter((notification) => notification.action === 'background');
|
|
@@ -117,10 +161,19 @@ function formatBackgroundSubagentNotifications(notifications) {
|
|
|
117
161
|
].join('\n'));
|
|
118
162
|
}
|
|
119
163
|
if (backgroundMoves.length > 0) {
|
|
164
|
+
const movedSubagents = backgroundMoves.filter((notification) => notification.details.kind === 'subagent').length;
|
|
165
|
+
const movedShells = backgroundMoves.length - movedSubagents;
|
|
166
|
+
const movedWhat = movedSubagents > 0 && movedShells === 0
|
|
167
|
+
? movedSubagents === 1
|
|
168
|
+
? 'a foreground subagent into the background'
|
|
169
|
+
: 'foreground subagents into the background'
|
|
170
|
+
: movedShells > 0 && movedSubagents === 0
|
|
171
|
+
? movedShells === 1
|
|
172
|
+
? 'a foreground shell into the background'
|
|
173
|
+
: 'foreground shells into the background'
|
|
174
|
+
: 'foreground work into the background';
|
|
120
175
|
sections.push([
|
|
121
|
-
`The user moved ${
|
|
122
|
-
? 'a foreground shell into the background'
|
|
123
|
-
: 'foreground shells into the background'}. This is an automatic user control notification, not a user message.`,
|
|
176
|
+
`The user moved ${movedWhat}. This is an automatic user control notification, not a user message.`,
|
|
124
177
|
'',
|
|
125
178
|
...entriesFor(backgroundMoves, 'moved to'),
|
|
126
179
|
'',
|
|
@@ -141,6 +194,12 @@ function formatBackgroundSubagentNotificationDisplay(notifications) {
|
|
|
141
194
|
`question: ${notification.question}`,
|
|
142
195
|
].join('\n');
|
|
143
196
|
}
|
|
197
|
+
if (notification.kind === 'budget') {
|
|
198
|
+
return [
|
|
199
|
+
`- runId: ${notification.runId} | role: ${notification.role}`,
|
|
200
|
+
` ${formatRunBudgetEvidence(notification.event)}`,
|
|
201
|
+
].join('\n');
|
|
202
|
+
}
|
|
144
203
|
if (notification.kind === 'shell_completion') {
|
|
145
204
|
return [
|
|
146
205
|
`- jobId: ${notification.jobId} | command: ${notification.command} | status: ${notification.status}`,
|
|
@@ -155,6 +214,14 @@ function formatBackgroundSubagentNotificationDisplay(notifications) {
|
|
|
155
214
|
...(notification.matchedLines ? [` matchedLines: ${notification.matchedLines}`] : []),
|
|
156
215
|
].join('\n');
|
|
157
216
|
}
|
|
217
|
+
if (notification.kind === 'check_in') {
|
|
218
|
+
const { details } = notification;
|
|
219
|
+
const elapsedSeconds = Math.round(notification.elapsedMs / 1000);
|
|
220
|
+
const label = details.kind === 'subagent'
|
|
221
|
+
? `background subagent ${details.name ?? details.id} (${details.role})`
|
|
222
|
+
: `background shell ${details.command}`;
|
|
223
|
+
return `Check-in #${notification.checkInIndex}: ${label} still running, elapsed ${elapsedSeconds}s`;
|
|
224
|
+
}
|
|
158
225
|
if (notification.kind === 'user_control') {
|
|
159
226
|
const details = notification.details;
|
|
160
227
|
if (notification.action === 'background') {
|
|
@@ -220,6 +287,9 @@ export class ConversationOrchestrator {
|
|
|
220
287
|
if (typeof config.conversationService.setQueuedTurnStartObserver === 'function') {
|
|
221
288
|
config.conversationService.setQueuedTurnStartObserver((execution) => {
|
|
222
289
|
if (execution.suppressUserMessageDisplay) {
|
|
290
|
+
// Still retire any matching pending row. A suppressed start is a
|
|
291
|
+
// real delivery; leaving the queued indicator would lie.
|
|
292
|
+
this.config.ui.onQueuedMessageStarted?.(execution.requestId);
|
|
223
293
|
return;
|
|
224
294
|
}
|
|
225
295
|
// Deferred submissions activate their orchestrator turn here — the only
|
|
@@ -280,6 +350,43 @@ export class ConversationOrchestrator {
|
|
|
280
350
|
this.#editedSteerTurns.clear();
|
|
281
351
|
this.#reportedStrandedCallIds.clear();
|
|
282
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* Replace the live UI projection with a persisted conversation after the
|
|
355
|
+
* caller has moved the service to the restored session id.
|
|
356
|
+
*/
|
|
357
|
+
restoreConversation(restored) {
|
|
358
|
+
this.config.conversationService.importState({
|
|
359
|
+
history: restored.history,
|
|
360
|
+
previousResponseId: restored.previousResponseId,
|
|
361
|
+
toolLedger: restored.toolLedger,
|
|
362
|
+
updatedAt: restored.updatedAt,
|
|
363
|
+
});
|
|
364
|
+
this.config.messages.setMessages(() => [...restored.messages]);
|
|
365
|
+
this.config.approvedContext.current = null;
|
|
366
|
+
this.config.conversationService.clearPendingInteraction?.();
|
|
367
|
+
this.config.ui.onResetAll();
|
|
368
|
+
this.config.usageAccumulator?.reset();
|
|
369
|
+
this.config.subagentUsageAccumulator?.reset();
|
|
370
|
+
this.config.costAccumulator?.reset();
|
|
371
|
+
if (restored.usage) {
|
|
372
|
+
this.config.usageAccumulator?.add(restored.usage, { alreadyBillable: true });
|
|
373
|
+
this.config.ui.onUsageUpdate(restored.usage);
|
|
374
|
+
}
|
|
375
|
+
if (restored.subagentUsage) {
|
|
376
|
+
this.config.subagentUsageAccumulator?.add(restored.subagentUsage, { alreadyBillable: true });
|
|
377
|
+
}
|
|
378
|
+
if (restored.costRecords?.length) {
|
|
379
|
+
const costAccumulator = this.config.costAccumulator;
|
|
380
|
+
costAccumulator?.addRecords(restored.costRecords);
|
|
381
|
+
if (costAccumulator)
|
|
382
|
+
this.config.ui.onCostUpdate?.(costAccumulator.getSummary());
|
|
383
|
+
}
|
|
384
|
+
this.#directlyAppendedMessageIds.clear();
|
|
385
|
+
this.#displayedBackgroundNotificationMessageIds.clear();
|
|
386
|
+
this.#retractedSteerIds.clear();
|
|
387
|
+
this.#editedSteerTurns.clear();
|
|
388
|
+
this.#reportedStrandedCallIds.clear();
|
|
389
|
+
}
|
|
283
390
|
stopProcessing() {
|
|
284
391
|
// The user asked everything to stop, so background subagent runs go too.
|
|
285
392
|
// Undo and retry, by contrast, only abort the turn.
|
|
@@ -291,7 +398,7 @@ export class ConversationOrchestrator {
|
|
|
291
398
|
this.#stoppingByUser = true;
|
|
292
399
|
try {
|
|
293
400
|
this.config.conversationService.interruptFromUser();
|
|
294
|
-
this.config.messages.setMessages((messages) => messages.map((message) => message.sender === 'command' && message.status === 'running'
|
|
401
|
+
this.config.messages.setMessages((messages) => messages.map((message) => message.sender === 'command' && (message.status === 'running' || message.status === 'pending')
|
|
295
402
|
? { ...message, status: 'aborted' }
|
|
296
403
|
: message));
|
|
297
404
|
this.config.approvedContext.current = null;
|
|
@@ -392,6 +499,16 @@ export class ConversationOrchestrator {
|
|
|
392
499
|
this.#endTurn();
|
|
393
500
|
}
|
|
394
501
|
}
|
|
502
|
+
async compactContext() {
|
|
503
|
+
this.#activeTurns += 1;
|
|
504
|
+
this.config.ui.onTurnStart();
|
|
505
|
+
try {
|
|
506
|
+
return await this.config.conversationService.compactContext();
|
|
507
|
+
}
|
|
508
|
+
finally {
|
|
509
|
+
this.#endTurn();
|
|
510
|
+
}
|
|
511
|
+
}
|
|
395
512
|
async sendUserMessage(input, options) {
|
|
396
513
|
const turn = normalizeUserTurn(input);
|
|
397
514
|
if (!hasUserTurnContent(turn)) {
|
|
@@ -428,16 +545,16 @@ export class ConversationOrchestrator {
|
|
|
428
545
|
messageId: userMessage.id,
|
|
429
546
|
});
|
|
430
547
|
if (queueOwnsSubmission) {
|
|
431
|
-
|
|
432
|
-
// Show the message above the input box until the queue actually starts
|
|
433
|
-
// processing it; the message list will be updated when the queue pops
|
|
434
|
-
// this turn.
|
|
435
|
-
this.config.ui.onQueuedMessagePending?.(userMessage.id, userMessage.text);
|
|
548
|
+
const delivery = options?.busyMode === 'steer' ? 'steer' : 'follow_up';
|
|
436
549
|
// A steer belongs to the turn already running: hand it to that turn so
|
|
437
550
|
// the model reads it at its next request, rather than making the user
|
|
438
551
|
// wait for the whole turn to end. The message joins the transcript at the
|
|
439
552
|
// moment the turn takes it, which is when the model actually sees it.
|
|
440
|
-
if (
|
|
553
|
+
if (delivery === 'steer' && this.config.conversationService.steerActiveTurn) {
|
|
554
|
+
// Show "Steering" while the active turn may still be waiting for its
|
|
555
|
+
// next request boundary. A follow-up (Alt+Enter) is the only case that
|
|
556
|
+
// should read as "Queued" here.
|
|
557
|
+
this.config.ui.onQueuedMessagePending?.(userMessage.id, userMessage.text, delivery);
|
|
441
558
|
// Diagnostics for "my steer just queued". The three fields below
|
|
442
559
|
// separate the ways delivery can fail, which otherwise look identical
|
|
443
560
|
// in the UI because the queued label is drawn before this even runs:
|
|
@@ -485,6 +602,10 @@ export class ConversationOrchestrator {
|
|
|
485
602
|
return;
|
|
486
603
|
}
|
|
487
604
|
this.#editedSteerTurns.delete(userMessage.id);
|
|
605
|
+
this.config.ui.onQueuedMessageReclassified?.(userMessage.id, 'follow_up');
|
|
606
|
+
}
|
|
607
|
+
else {
|
|
608
|
+
this.config.ui.onQueuedMessagePending?.(userMessage.id, userMessage.text, delivery);
|
|
488
609
|
}
|
|
489
610
|
}
|
|
490
611
|
else {
|
|
@@ -515,7 +636,7 @@ export class ConversationOrchestrator {
|
|
|
515
636
|
const turnToSend = turn.skill ? injectSkillIntoTurn(turn) : turn;
|
|
516
637
|
const result = await this.config.conversationService.sendMessage(turnToSend, {
|
|
517
638
|
onEvent: this.createOnEventHandler(applyConversationEvent),
|
|
518
|
-
|
|
639
|
+
inputSurgeApproval: options?.inputSurgeApproval,
|
|
519
640
|
busyMode: options?.busyMode,
|
|
520
641
|
preferredMessageId: userMessage.id,
|
|
521
642
|
});
|
|
@@ -557,10 +678,10 @@ export class ConversationOrchestrator {
|
|
|
557
678
|
if (isMaxTurnsError(errorMessage)) {
|
|
558
679
|
const pendingApproval = {
|
|
559
680
|
agentName: 'System',
|
|
560
|
-
toolName:
|
|
681
|
+
toolName: CHECK_IN_TOOL_NAME,
|
|
561
682
|
argumentsText: errorMessage,
|
|
562
683
|
rawInterruption: null,
|
|
563
|
-
|
|
684
|
+
checkIn: 'max_turns',
|
|
564
685
|
};
|
|
565
686
|
this.config.conversationService.presentPendingInteraction?.(pendingApproval);
|
|
566
687
|
this.config.ui.onApprovalRequested(pendingApproval);
|
|
@@ -574,6 +695,14 @@ export class ConversationOrchestrator {
|
|
|
574
695
|
this.#deferredTurnActivators.delete(userMessage.id);
|
|
575
696
|
reasoningUpdater.flush();
|
|
576
697
|
botResponseUpdater.cancel();
|
|
698
|
+
// The start observer is the normal way a queued row leaves the pending
|
|
699
|
+
// list. If that callback is skipped — recovered snapshot, suppressed
|
|
700
|
+
// display, or a test/service path that settles sendMessage without
|
|
701
|
+
// starting — the submission has still left the queue. Drop the row
|
|
702
|
+
// here so a delivered message cannot stay painted as queued.
|
|
703
|
+
if (queueOwnsSubmission) {
|
|
704
|
+
this.config.ui.onQueuedMessageStarted?.(userMessage.id);
|
|
705
|
+
}
|
|
577
706
|
if (turnActivated) {
|
|
578
707
|
this.#endTurn();
|
|
579
708
|
}
|
|
@@ -592,7 +721,8 @@ export class ConversationOrchestrator {
|
|
|
592
721
|
if (resolution.kind === 'awaiting_next_question')
|
|
593
722
|
return;
|
|
594
723
|
const pendingApproval = resolution.approval;
|
|
595
|
-
const isMaxTurnsPrompt = pendingApproval.
|
|
724
|
+
const isMaxTurnsPrompt = pendingApproval.checkIn === 'max_turns';
|
|
725
|
+
const runBudgetEvent = pendingApproval.runBudgetEvent;
|
|
596
726
|
this.config.ui.onApprovalResolved();
|
|
597
727
|
if (answer === 'y' || isDeniedReadApproveAnswer(answer)) {
|
|
598
728
|
this.config.approvedContext.current = {
|
|
@@ -600,11 +730,11 @@ export class ConversationOrchestrator {
|
|
|
600
730
|
toolName: pendingApproval.toolName,
|
|
601
731
|
};
|
|
602
732
|
}
|
|
603
|
-
if (isMaxTurnsPrompt && answer === 'n') {
|
|
733
|
+
if (isMaxTurnsPrompt && !runBudgetEvent && answer === 'n') {
|
|
604
734
|
this.#endTurn();
|
|
605
735
|
return;
|
|
606
736
|
}
|
|
607
|
-
if (isMaxTurnsPrompt && answer === 'y') {
|
|
737
|
+
if (isMaxTurnsPrompt && !runBudgetEvent && answer === 'y') {
|
|
608
738
|
const { botResponseUpdater, reasoningUpdater, applyConversationEvent, streamingState } = this.#beginTurn('maxTurnsContinuation');
|
|
609
739
|
try {
|
|
610
740
|
const result = await this.config.conversationService.sendMessage('Please continue with your previous task.', {
|
|
@@ -629,6 +759,22 @@ export class ConversationOrchestrator {
|
|
|
629
759
|
}
|
|
630
760
|
return;
|
|
631
761
|
}
|
|
762
|
+
// Steer is part of the judge's vocabulary, but no human surface produces it
|
|
763
|
+
// here: the prompt offers Continue and Stop only, and collecting corrective
|
|
764
|
+
// text would need an input surface this prompt does not own. A human steers
|
|
765
|
+
// by continuing and then typing. Parent agents steer with send_message.
|
|
766
|
+
if (runBudgetEvent && answer === 'y') {
|
|
767
|
+
// Take the grant here rather than leaving it to the resume, because a
|
|
768
|
+
// refusal has to be shown to the human instead of silently stopping.
|
|
769
|
+
const grant = this.config.conversationService.grantRunBudgetExtension?.() ?? {
|
|
770
|
+
granted: false,
|
|
771
|
+
extensionsGranted: 0,
|
|
772
|
+
};
|
|
773
|
+
if (!grant.granted) {
|
|
774
|
+
this.#presentRunBudgetInteraction(runBudgetEvent, 'No further budget extension is available.');
|
|
775
|
+
return;
|
|
776
|
+
}
|
|
777
|
+
}
|
|
632
778
|
const { botResponseUpdater, reasoningUpdater, applyConversationEvent, streamingState } = this.#beginTurn('approvalDecision');
|
|
633
779
|
try {
|
|
634
780
|
const result = await this.config.conversationService.handleApprovalDecision(answer, rejectionReason, {
|
|
@@ -711,10 +857,10 @@ export class ConversationOrchestrator {
|
|
|
711
857
|
return;
|
|
712
858
|
const stranded = this.config.messages
|
|
713
859
|
.getMessages()
|
|
714
|
-
.filter((message) => isCommandMessage(message) && message.status === 'running');
|
|
860
|
+
.filter((message) => isCommandMessage(message) && (message.status === 'running' || message.status === 'pending'));
|
|
715
861
|
if (stranded.length === 0)
|
|
716
862
|
return;
|
|
717
|
-
this.config.messages.setMessages((messages) => messages.map((message) => message.sender === 'command' && message.status === 'running'
|
|
863
|
+
this.config.messages.setMessages((messages) => messages.map((message) => message.sender === 'command' && (message.status === 'running' || message.status === 'pending')
|
|
718
864
|
? { ...message, status: 'aborted' }
|
|
719
865
|
: message));
|
|
720
866
|
const unreported = stranded.filter((message) => !this.#reportedStrandedCallIds.has(message.callId ?? message.id));
|
|
@@ -742,7 +888,7 @@ export class ConversationOrchestrator {
|
|
|
742
888
|
for (const notification of newlyDisplayed) {
|
|
743
889
|
this.#displayedBackgroundNotificationMessageIds.add(notification.messageId);
|
|
744
890
|
}
|
|
745
|
-
const subagentNotifications = newlyDisplayed.filter((notification) => notification.kind === 'completion' || notification.kind === 'question');
|
|
891
|
+
const subagentNotifications = newlyDisplayed.filter((notification) => notification.kind === 'completion' || notification.kind === 'question' || notification.kind === 'budget');
|
|
746
892
|
const runs = subagentNotifications
|
|
747
893
|
.filter((notification) => notification.kind === 'completion')
|
|
748
894
|
.map(({ name, role, status, error }) => ({
|
|
@@ -754,6 +900,7 @@ export class ConversationOrchestrator {
|
|
|
754
900
|
const shellJobs = newlyDisplayed.filter((notification) => notification.kind === 'shell_completion');
|
|
755
901
|
const shellOutputs = newlyDisplayed.filter((notification) => notification.kind === 'shell_output');
|
|
756
902
|
const userControls = newlyDisplayed.filter((notification) => notification.kind === 'user_control');
|
|
903
|
+
const checkIns = newlyDisplayed.filter((notification) => notification.kind === 'check_in');
|
|
757
904
|
this.config.messages.appendMessages([
|
|
758
905
|
...(subagentNotifications.length > 0
|
|
759
906
|
? [
|
|
@@ -801,12 +948,14 @@ export class ConversationOrchestrator {
|
|
|
801
948
|
success: true,
|
|
802
949
|
toolName: 'background_shell_output_notification',
|
|
803
950
|
toolArgs: {
|
|
804
|
-
firings: shellOutputs.map(({ jobId, command, watchId, seq, matchedLines, droppedBytes }) => ({
|
|
951
|
+
firings: shellOutputs.map(({ jobId, command, watchId, seq, matchedLines, coalescedCount, seqRange, droppedBytes }) => ({
|
|
805
952
|
jobId,
|
|
806
953
|
command,
|
|
807
954
|
watchId,
|
|
808
955
|
seq,
|
|
809
956
|
matchedLines,
|
|
957
|
+
...(coalescedCount !== undefined ? { coalescedCount } : {}),
|
|
958
|
+
...(seqRange !== undefined ? { seqRange } : {}),
|
|
810
959
|
...(droppedBytes !== undefined ? { droppedBytes } : {}),
|
|
811
960
|
})),
|
|
812
961
|
},
|
|
@@ -829,6 +978,26 @@ export class ConversationOrchestrator {
|
|
|
829
978
|
},
|
|
830
979
|
]
|
|
831
980
|
: []),
|
|
981
|
+
...(checkIns.length > 0
|
|
982
|
+
? [
|
|
983
|
+
{
|
|
984
|
+
id: this.createMessageId(),
|
|
985
|
+
sender: 'command',
|
|
986
|
+
status: 'completed',
|
|
987
|
+
command: 'background_check_in_notification',
|
|
988
|
+
output: formatBackgroundSubagentNotificationDisplay(checkIns),
|
|
989
|
+
success: true,
|
|
990
|
+
toolName: 'background_check_in_notification',
|
|
991
|
+
toolArgs: {
|
|
992
|
+
checkIns: checkIns.map(({ target, checkInIndex, elapsedMs }) => ({
|
|
993
|
+
target,
|
|
994
|
+
checkInIndex,
|
|
995
|
+
elapsedMs,
|
|
996
|
+
})),
|
|
997
|
+
},
|
|
998
|
+
},
|
|
999
|
+
]
|
|
1000
|
+
: []),
|
|
832
1001
|
]);
|
|
833
1002
|
}
|
|
834
1003
|
/**
|
|
@@ -922,6 +1091,7 @@ export class ConversationOrchestrator {
|
|
|
922
1091
|
loggingService: this.config.loggingService,
|
|
923
1092
|
setLastUsage: (usage) => this.config.ui.onUsageUpdate(usage),
|
|
924
1093
|
setCodexRateLimit: (rateLimit) => this.config.ui.onRateLimitUpdate(rateLimit),
|
|
1094
|
+
setRunBudgetNotice: (event) => this.config.ui.onRunBudgetNotice?.(event),
|
|
925
1095
|
reasoningThrottleMs: REASONING_RESPONSE_THROTTLE_MS,
|
|
926
1096
|
now: this.config.now,
|
|
927
1097
|
}, label);
|
|
@@ -972,9 +1142,39 @@ export class ConversationOrchestrator {
|
|
|
972
1142
|
}
|
|
973
1143
|
this.config.costAccumulator?.addRecords(event.result.costRecords ?? []);
|
|
974
1144
|
this.emitCostSummary();
|
|
1145
|
+
if (!this.hasActiveBackgroundWork()) {
|
|
1146
|
+
this.config.notifier?.turnComplete();
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
if (eventType === 'background_shell_completed') {
|
|
1150
|
+
if (!this.hasActiveBackgroundWork()) {
|
|
1151
|
+
this.config.notifier?.turnComplete();
|
|
1152
|
+
}
|
|
975
1153
|
}
|
|
976
1154
|
};
|
|
977
1155
|
}
|
|
1156
|
+
hasActiveBackgroundWork() {
|
|
1157
|
+
const details = this.config.conversationService?.backgroundTaskControl?.listDetails?.() ?? [];
|
|
1158
|
+
for (const d of details) {
|
|
1159
|
+
if (d.kind === 'subagent') {
|
|
1160
|
+
if (d.status === 'running' ||
|
|
1161
|
+
d.status === 'awaiting_approval' ||
|
|
1162
|
+
d.status === 'waiting_for_answer' ||
|
|
1163
|
+
d.status === 'cancelling') {
|
|
1164
|
+
return true;
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
else if (d.kind === 'shell') {
|
|
1168
|
+
if (d.status === 'running' || d.status === 'cancelling') {
|
|
1169
|
+
return true;
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
const approvals = this.config.conversationService?.backgroundSubagentApprovals?.getSnapshot?.();
|
|
1174
|
+
if (approvals && approvals.pendingCount > 0)
|
|
1175
|
+
return true;
|
|
1176
|
+
return false;
|
|
1177
|
+
}
|
|
978
1178
|
/** Push the accumulator's current summary to the UI after any cost add. */
|
|
979
1179
|
emitCostSummary() {
|
|
980
1180
|
const summary = this.config.costAccumulator?.getSummary();
|
|
@@ -1006,7 +1206,9 @@ export class ConversationOrchestrator {
|
|
|
1006
1206
|
clearStreamingBotMessage(streamingState);
|
|
1007
1207
|
}
|
|
1008
1208
|
this.config.ui.onApprovalResolved();
|
|
1009
|
-
this.
|
|
1209
|
+
if (!this.hasActiveBackgroundWork()) {
|
|
1210
|
+
this.config.notifier?.turnComplete();
|
|
1211
|
+
}
|
|
1010
1212
|
if (result.usage) {
|
|
1011
1213
|
this.config.usageAccumulator?.add(result.usage);
|
|
1012
1214
|
this.config.ui.onUsageUpdate(latestStreamedUsage ?? result.usage);
|
|
@@ -1067,6 +1269,22 @@ export class ConversationOrchestrator {
|
|
|
1067
1269
|
eventType === 'tool_call_streaming_delta' ||
|
|
1068
1270
|
eventType === 'final');
|
|
1069
1271
|
}
|
|
1272
|
+
/** Reuse the established pending-approval surface for human budget judgement. */
|
|
1273
|
+
#presentRunBudgetInteraction(event, prefix) {
|
|
1274
|
+
if (this.config.conversationService.getPendingInteractionSnapshot?.())
|
|
1275
|
+
return;
|
|
1276
|
+
const approval = {
|
|
1277
|
+
agentName: 'System',
|
|
1278
|
+
toolName: CHECK_IN_TOOL_NAME,
|
|
1279
|
+
argumentsText: `${prefix ? `${prefix}\n\n` : ''}${formatRunBudgetEvidence(event)}`,
|
|
1280
|
+
rawInterruption: null,
|
|
1281
|
+
checkIn: 'run_budget',
|
|
1282
|
+
runBudgetEvent: event,
|
|
1283
|
+
};
|
|
1284
|
+
this.config.conversationService.presentPendingInteraction?.(approval);
|
|
1285
|
+
this.config.ui.onApprovalRequested(approval);
|
|
1286
|
+
this.config.notifier?.approvalNeeded();
|
|
1287
|
+
}
|
|
1070
1288
|
appendBotError(errorMessage) {
|
|
1071
1289
|
const botErrorMessage = {
|
|
1072
1290
|
id: this.createMessageId(),
|
|
@@ -1077,6 +1295,11 @@ export class ConversationOrchestrator {
|
|
|
1077
1295
|
this.config.messages.appendMessages([botErrorMessage]);
|
|
1078
1296
|
}
|
|
1079
1297
|
logError(message, error) {
|
|
1298
|
+
// Abort-like failures are expected control flow for user cancellation and
|
|
1299
|
+
// must not be emitted as application errors. Keep this at the logging
|
|
1300
|
+
// boundary so every orchestrator call site shares the same classification.
|
|
1301
|
+
if (isAbortLikeError(error))
|
|
1302
|
+
return;
|
|
1080
1303
|
this.config.loggingService.error(message, {
|
|
1081
1304
|
error: error instanceof Error ? error.message : String(error),
|
|
1082
1305
|
stack: error instanceof Error ? error.stack : undefined,
|