@qduc/term2 0.13.0 → 0.15.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/dist/agent.d.ts +2 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +17 -7
- 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 +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +142 -13
- package/dist/app.js.map +1 -1
- package/dist/cli.js +112 -28
- 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 +6 -0
- package/dist/commands/compact-command.d.ts.map +1 -0
- package/dist/commands/compact-command.js +12 -0
- package/dist/commands/compact-command.js.map +1 -0
- 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 +21 -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/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/InputBox.js +14 -1
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
- package/dist/components/input/ApplicationInputSurface.js +2 -0
- package/dist/components/input/ApplicationInputSurface.js.map +1 -1
- package/dist/components/input/FirstRunSetupPrompt.js +1 -1
- package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
- package/dist/components/input/MentorPoolMenuSession.d.ts +9 -0
- package/dist/components/input/MentorPoolMenuSession.d.ts.map +1 -0
- package/dist/components/input/MentorPoolMenuSession.js +131 -0
- package/dist/components/input/MentorPoolMenuSession.js.map +1 -0
- package/dist/components/input/MenuSurface.d.ts.map +1 -1
- package/dist/components/input/MenuSurface.js +16 -3
- package/dist/components/input/MenuSurface.js.map +1 -1
- package/dist/components/input/PendingQueueList.d.ts.map +1 -1
- package/dist/components/input/PendingQueueList.js +22 -5
- 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/SettingsMenuSession.d.ts.map +1 -1
- package/dist/components/input/SettingsMenuSession.js +35 -22
- package/dist/components/input/SettingsMenuSession.js.map +1 -1
- package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
- package/dist/components/input/SettingsValueMenuSession.js +6 -0
- package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
- package/dist/components/input/menu-controller.d.ts.map +1 -1
- package/dist/components/input/menu-controller.js +18 -1
- package/dist/components/input/menu-controller.js.map +1 -1
- package/dist/components/input/menu-registry.d.ts.map +1 -1
- package/dist/components/input/menu-registry.js +2 -0
- package/dist/components/input/menu-registry.js.map +1 -1
- package/dist/components/input/menu-types.d.ts +5 -0
- package/dist/components/input/menu-types.d.ts.map +1 -1
- package/dist/components/input/triggers.d.ts.map +1 -1
- package/dist/components/input/triggers.js +33 -0
- package/dist/components/input/triggers.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 +156 -64
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +12 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +208 -53
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts +11 -1
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +30 -13
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +5 -0
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +45 -3
- package/dist/components/layout/StatusBar.js.map +1 -1
- 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 +1 -0
- package/dist/components/menu/CopyMenu.d.ts.map +1 -1
- package/dist/components/menu/CopyMenu.js +15 -2
- package/dist/components/menu/CopyMenu.js.map +1 -1
- package/dist/components/menu/MentorPoolSelectionMenu.d.ts +13 -0
- package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -0
- package/dist/components/menu/MentorPoolSelectionMenu.js +98 -0
- package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -0
- package/dist/components/menu/ModelSelectionMenu.d.ts +1 -0
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +22 -7
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.js +27 -2
- package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.js +5 -0
- package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/menu/SlashCommandMenu.js +12 -9
- package/dist/components/menu/SlashCommandMenu.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 +31 -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 +54 -25
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +6 -2
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +64 -10
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +18 -3
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/command-grouping.d.ts +43 -0
- package/dist/components/message/command-grouping.d.ts.map +1 -0
- package/dist/components/message/command-grouping.js +142 -0
- package/dist/components/message/command-grouping.js.map +1 -0
- package/dist/components/message/command-message-helpers.d.ts +6 -5
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +36 -0
- package/dist/components/message/command-message-helpers.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 +136 -90
- package/dist/components/prompt/ApprovalPrompt.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 +50 -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 +14 -8
- package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
- package/dist/context/InputContext.d.ts +1 -1
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js +2 -0
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/application-stream.d.ts +14 -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/provider-input.d.ts +15 -0
- package/dist/contracts/provider-input.d.ts.map +1 -1
- package/dist/contracts/provider-input.js +6 -1
- package/dist/contracts/provider-input.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 +38 -0
- package/dist/gateway/assertion.d.ts.map +1 -0
- package/dist/gateway/assertion.js +146 -0
- package/dist/gateway/assertion.js.map +1 -0
- package/dist/gateway/contracts.d.ts +124 -0
- package/dist/gateway/contracts.d.ts.map +1 -0
- package/dist/gateway/contracts.js +13 -0
- package/dist/gateway/contracts.js.map +1 -0
- package/dist/gateway/gateway.d.ts +72 -0
- package/dist/gateway/gateway.d.ts.map +1 -0
- package/dist/gateway/gateway.js +1277 -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.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/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 +25 -0
- package/dist/gateway/persistence/coordinator.d.ts.map +1 -0
- package/dist/gateway/persistence/coordinator.js +181 -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 +84 -0
- package/dist/gateway/runtime-factory.d.ts.map +1 -0
- package/dist/gateway/runtime-factory.js +213 -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 +89 -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 +252 -0
- package/dist/gateway/server-session.js.map +1 -0
- package/dist/gateway/server.d.ts +42 -0
- package/dist/gateway/server.d.ts.map +1 -0
- package/dist/gateway/server.js +126 -0
- package/dist/gateway/server.js.map +1 -0
- package/dist/gateway/worker-boundary.d.ts +40 -0
- package/dist/gateway/worker-boundary.d.ts.map +1 -0
- package/dist/gateway/worker-boundary.js +149 -0
- package/dist/gateway/worker-boundary.js.map +1 -0
- package/dist/gateway/workspace-admission.d.ts +37 -0
- package/dist/gateway/workspace-admission.d.ts.map +1 -0
- package/dist/gateway/workspace-admission.js +285 -0
- package/dist/gateway/workspace-admission.js.map +1 -0
- package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +3 -0
- 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 +5 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +17 -3
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +5 -0
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +11 -0
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +1 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +22 -4
- 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-mentor-pool-selection.d.ts +103 -0
- package/dist/hooks/use-mentor-pool-selection.d.ts.map +1 -0
- package/dist/hooks/use-mentor-pool-selection.js +642 -0
- package/dist/hooks/use-mentor-pool-selection.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/lib/agent-chat-service.d.ts +3 -6
- package/dist/lib/agent-chat-service.d.ts.map +1 -1
- package/dist/lib/agent-chat-service.js +11 -1
- package/dist/lib/agent-chat-service.js.map +1 -1
- package/dist/lib/agent-client.d.ts +23 -3
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +227 -20
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +2 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +8 -2
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +2 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +33 -7
- 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 +5 -0
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/context-compaction.d.ts +4 -0
- package/dist/prompts/context-compaction.d.ts.map +1 -0
- package/dist/prompts/context-compaction.js +18 -0
- package/dist/prompts/context-compaction.js.map +1 -0
- package/dist/prompts/context-compaction.ts +23 -0
- package/dist/prompts/explorer-delegation-contract.test.ts +44 -0
- package/dist/prompts/gpt-5.6.md +1 -1
- package/dist/prompts/kimi.md +1 -1
- package/dist/prompts/orchestrator.md +10 -1
- package/dist/prompts/plan-mode-info.md +4 -4
- package/dist/prompts/plan-mode-stub.md +7 -0
- package/dist/prompts/prefix-quality.test.ts +102 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +4 -1
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +12 -4
- package/dist/prompts/prompt-constructor.ts +4 -1
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +4 -2
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +10 -0
- package/dist/prompts/subagent-delegation.ts +4 -2
- package/dist/prompts/subagents/explorer.md +16 -5
- package/dist/prompts/subagents/librarian.md +3 -1
- package/dist/prompts/subagents/mentor.md +2 -0
- package/dist/prompts/subagents/worker.md +3 -1
- package/dist/providers/aborted-stream-recorder.d.ts +20 -0
- package/dist/providers/aborted-stream-recorder.d.ts.map +1 -0
- package/dist/providers/aborted-stream-recorder.js +63 -0
- package/dist/providers/aborted-stream-recorder.js.map +1 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -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 +6 -0
- package/dist/providers/chained-wire-state.d.ts.map +1 -1
- package/dist/providers/chained-wire-state.js +1 -3
- package/dist/providers/chained-wire-state.js.map +1 -1
- package/dist/providers/codex-auth.d.ts +73 -2
- package/dist/providers/codex-auth.d.ts.map +1 -1
- package/dist/providers/codex-auth.js +166 -2
- package/dist/providers/codex-auth.js.map +1 -1
- package/dist/providers/codex-responses-model.d.ts +10 -2
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +348 -184
- 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 +28 -4
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +106 -81
- 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 +105 -0
- package/dist/providers/grok-auth.d.ts.map +1 -0
- package/dist/providers/grok-auth.js +316 -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 +643 -275
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.js +643 -275
- 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 +84 -0
- package/dist/providers/oauth-account-store.d.ts.map +1 -0
- package/dist/providers/oauth-account-store.js +142 -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 +53 -0
- package/dist/providers/oauth-pkce.d.ts.map +1 -0
- package/dist/providers/oauth-pkce.js +200 -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 +32 -2
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-responses-model.d.ts +22 -4
- package/dist/providers/openai-responses-model.d.ts.map +1 -1
- package/dist/providers/openai-responses-model.js +126 -51
- 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-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.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 +25 -0
- package/dist/providers/responses-websocket-sessions.d.ts.map +1 -0
- package/dist/providers/responses-websocket-sessions.js +102 -0
- package/dist/providers/responses-websocket-sessions.js.map +1 -0
- 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.d.ts +2 -0
- package/dist/scripts/eval-context-compaction/runner.d.ts.map +1 -0
- package/dist/scripts/eval-context-compaction/runner.js +159 -0
- package/dist/scripts/eval-context-compaction/runner.js.map +1 -0
- 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 +61 -7
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +476 -141
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/index.d.ts +56 -0
- package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -0
- package/dist/services/agent-runtime/context-compaction/index.js +131 -0
- package/dist/services/agent-runtime/context-compaction/index.js.map +1 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +81 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +214 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -0
- 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 +17 -2
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
- package/dist/services/agent-runtime/generation-guard.js +41 -4
- 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 +268 -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 +2 -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 +41 -9
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +218 -37
- package/dist/services/conversation/conversation-adapter.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 +58 -2
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -1
- package/dist/services/conversation/conversation-message-projection.js +7 -3
- package/dist/services/conversation/conversation-message-projection.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +103 -11
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -0
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +38 -2
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +160 -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 +33 -3
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +149 -1
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-state-projector.d.ts +9 -2
- package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-projector.js +51 -6
- package/dist/services/conversation/conversation-state-projector.js.map +1 -1
- package/dist/services/conversation/conversation-state-schema.d.ts +8 -4
- package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-schema.js +24 -2
- package/dist/services/conversation/conversation-state-schema.js.map +1 -1
- package/dist/services/conversation/conversation-store.d.ts +2 -0
- package/dist/services/conversation/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation/conversation-store.js +8 -0
- package/dist/services/conversation/conversation-store.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-agent-client.d.ts +30 -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/logging/conversation-log-events.d.ts +36 -2
- 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 +18 -2
- package/dist/services/logging/provider-traffic.d.ts.map +1 -1
- package/dist/services/logging/provider-traffic.js +293 -142
- 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 +20 -1
- package/dist/services/memory/memory-capabilities.js.map +1 -1
- package/dist/services/mode-notices.d.ts +1 -6
- package/dist/services/mode-notices.d.ts.map +1 -1
- package/dist/services/mode-notices.js +16 -3
- 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 +1 -1
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +19 -5
- 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/recovery-executor.d.ts.map +1 -1
- package/dist/services/retry/recovery-executor.js +10 -9
- 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 +34 -2
- 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 +48 -7
- 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/runtime-setting-router.d.ts.map +1 -1
- package/dist/services/runtime-setting-router.js +6 -0
- package/dist/services/runtime-setting-router.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +111 -13
- package/dist/services/service-interfaces.d.ts.map +1 -1
- 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 +31 -6
- 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-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/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 +10 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +130 -7
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-manager.d.ts +3 -0
- package/dist/services/session/session-manager.d.ts.map +1 -1
- package/dist/services/session/session-manager.js +6 -0
- package/dist/services/session/session-manager.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 +7 -1
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/session-tool-tracker.d.ts +17 -6
- package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
- package/dist/services/session/session-tool-tracker.js +19 -7
- package/dist/services/session/session-tool-tracker.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 +1 -0
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt-factory.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +1 -1
- 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 +48 -7
- 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 +122 -2
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +120 -5
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +57 -3
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +171 -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 +18 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +27 -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 +165 -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/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 +44 -8
- 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 +60 -23
- 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 +121 -16
- 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 +99 -35
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/role-loader.d.ts +6 -0
- package/dist/services/subagents/role-loader.d.ts.map +1 -1
- package/dist/services/subagents/role-loader.js +6 -1
- package/dist/services/subagents/role-loader.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 +80 -16
- 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 +19 -1
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +22 -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 +11 -3
- 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 +20 -1
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +40 -2
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts +26 -1
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +103 -33
- 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 +3 -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 +7 -3
- 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/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 +10 -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 +15 -7
- 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 +64 -17
- 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 +20 -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 +10 -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 +11 -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 +5 -0
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +44 -17
- 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 +2 -2
- package/dist/tools/memory/memory-tools.js.map +1 -1
- 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 +91 -25
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +9 -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 +12 -14
- 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 +3 -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/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +73 -3
- 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/bound-tool-result.d.ts +42 -0
- package/dist/utils/output/bound-tool-result.d.ts.map +1 -0
- package/dist/utils/output/bound-tool-result.js +81 -0
- package/dist/utils/output/bound-tool-result.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/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +122 -8
- 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 +2 -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.map +1 -1
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js +1 -2
- 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 +11 -0
- package/dist/utils/shell/shell-output.d.ts.map +1 -1
- package/dist/utils/shell/shell-output.js +24 -10
- 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 +71 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +14 -10
- 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 { ConversationAdapter } from './conversation-adapter.js';
|
|
2
2
|
import { createSessionQueuePersistence } from './queue-persistence.js';
|
|
3
3
|
import { isTestEnvironment } from '../settings/settings-env.js';
|
|
4
|
-
export function createConversationAdapterForRuntime(runtime, { deps, queueForeground }) {
|
|
4
|
+
export function createConversationAdapterForRuntime(runtime, { deps, queueForeground, queueCapacity, preparedLeaseTtlMs, activeCancelTimeoutMs, discardOnFailure, }) {
|
|
5
5
|
const { logger, settingsService, sessionContextService } = deps;
|
|
6
6
|
return new ConversationAdapter({
|
|
7
7
|
sessionId: runtime.sessionId,
|
|
@@ -17,6 +17,10 @@ export function createConversationAdapterForRuntime(runtime, { deps, queueForegr
|
|
|
17
17
|
pendingInteraction: runtime.pendingInteraction,
|
|
18
18
|
turnFlow: runtime.turns,
|
|
19
19
|
queueForeground,
|
|
20
|
+
queueCapacity,
|
|
21
|
+
preparedLeaseTtlMs,
|
|
22
|
+
activeCancelTimeoutMs,
|
|
23
|
+
discardOnFailure,
|
|
20
24
|
queuePersistence: queueForeground && !isTestEnvironment() ? createSessionQueuePersistence(runtime.sessionId) : undefined,
|
|
21
25
|
});
|
|
22
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-adapter-factory.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-adapter-factory.js","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAehE,MAAM,UAAU,mCAAmC,CACjD,OAAuB,EACvB,EACE,IAAI,EACJ,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GACiB;IAEnC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IAChE,OAAO,IAAI,mBAAmB,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,gBAAgB;QACnC,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa;QAC9C,qBAAqB,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;QACnD,MAAM;QACN,eAAe;QACf,qBAAqB;QACrB,SAAS,EAAE,OAAO,CAAC,KAAK;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,QAAQ,EAAE,OAAO,CAAC,KAAK;QACvB,eAAe;QACf,aAAa;QACb,kBAAkB;QAClB,qBAAqB;QACrB,gBAAgB;QAChB,gBAAgB,EACd,eAAe,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;KACzG,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import type { ILoggingService, ISessionContextService, ISettingsService } from '../service-interfaces.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConversationEventSink } from './conversation-events.js';
|
|
3
3
|
import type { CommandMessage } from '../../tools/types.js';
|
|
4
4
|
import type { ConversationTerminal } from '../../contracts/conversation.js';
|
|
5
5
|
import { type UserTurn } from '../../types/user-turn.js';
|
|
6
6
|
import type { ProviderInputItem } from '../../contracts/provider-input.js';
|
|
7
|
-
import type { SessionRuntime, SessionLogs, SessionApprovalQuery } from '
|
|
7
|
+
import type { SessionRuntime, SessionLogs, SessionApprovalQuery } from '../../core/index.js';
|
|
8
8
|
import type { SessionManager } from '../session/session-manager.js';
|
|
9
9
|
import type { PendingInteractionState } from '../session/pending-interaction-state.js';
|
|
10
10
|
import type { AskUserAnswerSink, SubagentEventSinkHost } from '../conversation-agent-client.js';
|
|
11
11
|
import { type QueuePersistence } from '../queue/queue-controller.js';
|
|
12
12
|
export type SendMessageOptions = {
|
|
13
|
+
/** Internal admission callback; called when a queued submission is accepted or rejected. */
|
|
14
|
+
onAdmission?: (error?: unknown) => void;
|
|
13
15
|
onTextChunk?: (fullText: string, chunk: string) => void;
|
|
14
16
|
onReasoningChunk?: (fullText: string, chunk: string) => void;
|
|
15
17
|
onCommandMessage?: (message: CommandMessage) => void;
|
|
16
|
-
onEvent?:
|
|
18
|
+
onEvent?: ConversationEventSink;
|
|
17
19
|
hallucinationRetryCount?: number;
|
|
18
20
|
bypassInputSurgeGuard?: boolean;
|
|
19
21
|
replayFromHistory?: boolean;
|
|
@@ -27,7 +29,7 @@ export type HandleApprovalDecisionOptions = {
|
|
|
27
29
|
onTextChunk?: (fullText: string, chunk: string) => void;
|
|
28
30
|
onReasoningChunk?: (fullText: string, chunk: string) => void;
|
|
29
31
|
onCommandMessage?: (message: CommandMessage) => void;
|
|
30
|
-
onEvent?:
|
|
32
|
+
onEvent?: ConversationEventSink;
|
|
31
33
|
approvalAnswer?: string;
|
|
32
34
|
/**
|
|
33
35
|
* End the turn once this decision's tool result is recorded, without giving
|
|
@@ -38,7 +40,7 @@ export type HandleApprovalDecisionOptions = {
|
|
|
38
40
|
};
|
|
39
41
|
export type TurnFlow = Pick<SessionRuntime['turns'], 'start' | 'continueAfterApproval'> & {
|
|
40
42
|
continueAfterPostExecuteApproval?: SessionRuntime['turns']['continueAfterPostExecuteApproval'];
|
|
41
|
-
abort?: () => void
|
|
43
|
+
abort?: () => void | Promise<void>;
|
|
42
44
|
steer?: SessionRuntime['turns']['steer'];
|
|
43
45
|
retractSteer?: SessionRuntime['turns']['retractSteer'];
|
|
44
46
|
editSteer?: SessionRuntime['turns']['editSteer'];
|
|
@@ -75,7 +77,27 @@ export interface QueueStateSnapshot {
|
|
|
75
77
|
readonly pauseReason?: 'failure' | 'manual' | 'recovered_interrupted';
|
|
76
78
|
}
|
|
77
79
|
export type QueueStateObserver = (snapshot: QueueStateSnapshot) => void;
|
|
78
|
-
export type ConversationEventSink
|
|
80
|
+
export type { ConversationEventSink } from './conversation-events.js';
|
|
81
|
+
export type PreparedMessageIds = {
|
|
82
|
+
readonly turnId: string;
|
|
83
|
+
readonly clientRequestId: string;
|
|
84
|
+
};
|
|
85
|
+
export type PreparedMessageResult = {
|
|
86
|
+
readonly kind: 'prepared';
|
|
87
|
+
readonly leaseId: string;
|
|
88
|
+
readonly turnId: string;
|
|
89
|
+
} | {
|
|
90
|
+
readonly kind: 'rejected';
|
|
91
|
+
readonly reason: 'busy' | 'queue_full' | 'closed';
|
|
92
|
+
};
|
|
93
|
+
export type AbortDiscardResult = {
|
|
94
|
+
readonly discardedTurnIds: string[];
|
|
95
|
+
readonly proven: boolean;
|
|
96
|
+
};
|
|
97
|
+
export declare class AdmissionLeaseError extends Error {
|
|
98
|
+
readonly code: 'stale' | 'wrong_session' | 'already_settled' | 'closed';
|
|
99
|
+
constructor(code: AdmissionLeaseError['code']);
|
|
100
|
+
}
|
|
79
101
|
/**
|
|
80
102
|
* Fired by the adapter when the queue has actually started executing a queued
|
|
81
103
|
* message (i.e. after the in-flight turn finished and the next head is popped).
|
|
@@ -105,12 +127,15 @@ export declare class ConversationAdapter {
|
|
|
105
127
|
logs: SessionLogs;
|
|
106
128
|
approval: SessionApprovalQuery;
|
|
107
129
|
/** Session-owned interaction projection; omitted by low-level legacy tests. */
|
|
108
|
-
pendingInteraction?: Pick<PendingInteractionState, 'present' | 'clear'>;
|
|
130
|
+
pendingInteraction?: Pick<PendingInteractionState, 'present' | 'clear' | 'getSnapshot'>;
|
|
109
131
|
turnFlow: TurnFlow;
|
|
110
132
|
queueForeground?: boolean;
|
|
111
133
|
queueCapacity?: number;
|
|
112
134
|
/** Test seam: bound how long cancel waits for a hung active turn. */
|
|
113
135
|
activeCancelTimeoutMs?: number;
|
|
136
|
+
/** Gateway-only finite reservation policy; legacy callers retain Infinity. */
|
|
137
|
+
preparedLeaseTtlMs?: number;
|
|
138
|
+
discardOnFailure?: boolean;
|
|
114
139
|
queuePersistence?: QueuePersistence<QueuedMessageSnapshot>;
|
|
115
140
|
});
|
|
116
141
|
setEventSink(sink: ConversationEventSink | null): void;
|
|
@@ -193,11 +218,18 @@ export declare class ConversationAdapter {
|
|
|
193
218
|
* controller's display copy.
|
|
194
219
|
*/
|
|
195
220
|
editSubmission(id: string, turn: UserTurn): Promise<SubmissionMutation>;
|
|
196
|
-
sendMessage(input: string | UserTurn, { onTextChunk, onReasoningChunk, onCommandMessage, onEvent, hallucinationRetryCount, bypassInputSurgeGuard, replayFromHistory, preferredMessageId, suppressUserMessageDisplay, busyMode, }?: SendMessageOptions): Promise<ConversationTerminal>;
|
|
221
|
+
sendMessage(input: string | UserTurn, { onAdmission, onTextChunk, onReasoningChunk, onCommandMessage, onEvent, hallucinationRetryCount, bypassInputSurgeGuard, replayFromHistory, preferredMessageId, suppressUserMessageDisplay, busyMode, }?: SendMessageOptions): Promise<ConversationTerminal>;
|
|
222
|
+
prepareMessage(input: string | UserTurn, ids: PreparedMessageIds): Promise<PreparedMessageResult>;
|
|
223
|
+
commitMessage(leaseId: string): Promise<void>;
|
|
224
|
+
cancelPreparedMessage(leaseId: string): Promise<void>;
|
|
225
|
+
abortAndDiscard(): Promise<AbortDiscardResult>;
|
|
226
|
+
closeAdmission(): string[];
|
|
227
|
+
reopenAdmission(): void;
|
|
228
|
+
preparedMessageCount(): number;
|
|
229
|
+
consumeFailureDiscardedTurnIds(): string[];
|
|
197
230
|
resumeQueue(): Promise<void>;
|
|
198
231
|
discardQueue(): Promise<void>;
|
|
199
232
|
abort(): void;
|
|
200
233
|
handleApprovalDecision(answer: string, rejectionReason?: string, { onTextChunk, onReasoningChunk, onCommandMessage, onEvent, approvalAnswer, stopAfterApprovalResolution, }?: HandleApprovalDecisionOptions): Promise<ConversationTerminal | null>;
|
|
201
234
|
}
|
|
202
|
-
export {};
|
|
203
235
|
//# sourceMappingURL=conversation-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-adapter.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"conversation-adapter.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,14 @@ function delay(ms) {
|
|
|
17
17
|
setTimeout(resolve, ms);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
+
export class AdmissionLeaseError extends Error {
|
|
21
|
+
code;
|
|
22
|
+
constructor(code) {
|
|
23
|
+
super('message admission lease rejected');
|
|
24
|
+
this.name = 'AdmissionLeaseError';
|
|
25
|
+
this.code = code;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
20
28
|
export class ConversationAdapter {
|
|
21
29
|
#sessionId;
|
|
22
30
|
#startedAt;
|
|
@@ -48,12 +56,21 @@ export class ConversationAdapter {
|
|
|
48
56
|
#cancellingRequestId = null;
|
|
49
57
|
#cancellationEpoch = 0;
|
|
50
58
|
#cancellation = Promise.resolve();
|
|
59
|
+
#cancellationProven = true;
|
|
60
|
+
#activeAbortCompletion = null;
|
|
51
61
|
#approvalExecutionId = null;
|
|
52
62
|
#approvalActionId = null;
|
|
53
63
|
#postExecuteApproval = null;
|
|
54
64
|
#queueStateObserver = null;
|
|
55
65
|
#queuedTurnStartObserver = null;
|
|
56
66
|
#activeCancelTimeoutMs;
|
|
67
|
+
#queueCapacity;
|
|
68
|
+
#preparedLeaseTtlMs;
|
|
69
|
+
#discardOnFailure;
|
|
70
|
+
#failureDiscardedTurnIds = [];
|
|
71
|
+
#preparedMessages = new Map();
|
|
72
|
+
#cancelledLeases = new Set();
|
|
73
|
+
#admissionClosed = false;
|
|
57
74
|
constructor(deps) {
|
|
58
75
|
this.#sessionId = deps.sessionId;
|
|
59
76
|
this.#startedAt = deps.startedAt;
|
|
@@ -68,17 +85,20 @@ export class ConversationAdapter {
|
|
|
68
85
|
this.#pendingInteraction = deps.pendingInteraction ?? null;
|
|
69
86
|
this.#turnFlow = deps.turnFlow;
|
|
70
87
|
this.#activeCancelTimeoutMs = deps.activeCancelTimeoutMs ?? ACTIVE_CANCEL_TIMEOUT_MS;
|
|
88
|
+
this.#queueCapacity = deps.queueCapacity ?? Infinity;
|
|
89
|
+
this.#preparedLeaseTtlMs = deps.preparedLeaseTtlMs ?? 10_000;
|
|
90
|
+
this.#discardOnFailure = deps.discardOnFailure === true;
|
|
71
91
|
if (deps.queueForeground) {
|
|
72
92
|
const driver = {
|
|
73
93
|
start: (execution) => this.#startQueuedTurn(execution),
|
|
74
94
|
cancel: async () => {
|
|
75
|
-
// Prefer natural abort settlement, but
|
|
76
|
-
//
|
|
77
|
-
await Promise.race([
|
|
78
|
-
this.#activeTurn.then(() =>
|
|
79
|
-
delay(this.#activeCancelTimeoutMs),
|
|
95
|
+
// Prefer natural abort settlement, but report whether the bounded
|
|
96
|
+
// barrier actually proved that the active execution stopped.
|
|
97
|
+
const result = await Promise.race([
|
|
98
|
+
(this.#activeAbortCompletion ?? this.#activeTurn).then(() => true, () => true),
|
|
99
|
+
delay(this.#activeCancelTimeoutMs).then(() => false),
|
|
80
100
|
]);
|
|
81
|
-
return
|
|
101
|
+
return result;
|
|
82
102
|
},
|
|
83
103
|
};
|
|
84
104
|
this.#queue = new QueueController({
|
|
@@ -311,7 +331,7 @@ export class ConversationAdapter {
|
|
|
311
331
|
return { kind: 'too_late', stage: 'started' };
|
|
312
332
|
return { kind: 'unknown_id' };
|
|
313
333
|
}
|
|
314
|
-
async sendMessage(input, { onTextChunk, onReasoningChunk, onCommandMessage, onEvent, hallucinationRetryCount = 0, bypassInputSurgeGuard, replayFromHistory, preferredMessageId, suppressUserMessageDisplay, busyMode, } = {}) {
|
|
334
|
+
async sendMessage(input, { onAdmission, onTextChunk, onReasoningChunk, onCommandMessage, onEvent, hallucinationRetryCount = 0, bypassInputSurgeGuard, replayFromHistory, preferredMessageId, suppressUserMessageDisplay, busyMode, } = {}) {
|
|
315
335
|
const queue = this.#queue;
|
|
316
336
|
if (!queue) {
|
|
317
337
|
return this.#executeMessage(input, {
|
|
@@ -322,8 +342,8 @@ export class ConversationAdapter {
|
|
|
322
342
|
hallucinationRetryCount,
|
|
323
343
|
bypassInputSurgeGuard,
|
|
324
344
|
replayFromHistory,
|
|
325
|
-
}).then((result) => {
|
|
326
|
-
this.#recordPendingInteraction(result);
|
|
345
|
+
}).then(async (result) => {
|
|
346
|
+
await this.#recordPendingInteraction(result);
|
|
327
347
|
return result;
|
|
328
348
|
});
|
|
329
349
|
}
|
|
@@ -354,19 +374,117 @@ export class ConversationAdapter {
|
|
|
354
374
|
const controllerText = displayText.trim() ? displayText : QUEUED_NON_TEXT_PLACEHOLDER;
|
|
355
375
|
void queue
|
|
356
376
|
.command({ kind: busyMode === 'steer' ? 'steer' : 'submit', id: requestId, text: controllerText })
|
|
357
|
-
.then((result) => {
|
|
377
|
+
.then(async (result) => {
|
|
358
378
|
if (result.kind !== 'accepted') {
|
|
359
379
|
const reason = result.kind === 'rejected' ? result.reason : result.kind;
|
|
360
|
-
|
|
380
|
+
const error = new Error(`Foreground queue rejected message: ${reason}`);
|
|
381
|
+
onAdmission?.(error);
|
|
382
|
+
await this.#eventSink?.({ type: 'error', message: error.message, kind: 'admission_rejected' });
|
|
383
|
+
this.#settleFailure(requestId, error);
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
onAdmission?.();
|
|
361
387
|
}
|
|
362
388
|
this.#notifyQueueState();
|
|
363
389
|
})
|
|
364
390
|
.catch((error) => {
|
|
391
|
+
onAdmission?.(error);
|
|
365
392
|
this.#settleFailure(requestId, error);
|
|
366
393
|
this.#notifyQueueState();
|
|
367
394
|
});
|
|
368
395
|
});
|
|
369
396
|
}
|
|
397
|
+
async prepareMessage(input, ids) {
|
|
398
|
+
const now = Date.now();
|
|
399
|
+
for (const [leaseId, prepared] of this.#preparedMessages) {
|
|
400
|
+
if (prepared.expiresAt <= now)
|
|
401
|
+
this.#preparedMessages.delete(leaseId);
|
|
402
|
+
}
|
|
403
|
+
if (this.#admissionClosed)
|
|
404
|
+
return { kind: 'rejected', reason: 'closed' };
|
|
405
|
+
if (!ids.turnId ||
|
|
406
|
+
!ids.clientRequestId ||
|
|
407
|
+
[...this.#preparedMessages.values()].some((prepared) => prepared.turnId === ids.turnId || prepared.clientRequestId === ids.clientRequestId)) {
|
|
408
|
+
return { kind: 'rejected', reason: 'busy' };
|
|
409
|
+
}
|
|
410
|
+
const state = this.#queue?.state();
|
|
411
|
+
if (!this.#queue && this.isQueueActive())
|
|
412
|
+
return { kind: 'rejected', reason: 'busy' };
|
|
413
|
+
if (state && state.queue.length + this.#preparedMessages.size >= this.#queueCapacity) {
|
|
414
|
+
return { kind: 'rejected', reason: 'queue_full' };
|
|
415
|
+
}
|
|
416
|
+
const leaseId = crypto.randomUUID();
|
|
417
|
+
this.#preparedMessages.set(leaseId, {
|
|
418
|
+
input: typeof input === 'string' ? input : structuredClone(input),
|
|
419
|
+
turnId: ids.turnId,
|
|
420
|
+
clientRequestId: ids.clientRequestId,
|
|
421
|
+
expiresAt: Date.now() + this.#preparedLeaseTtlMs,
|
|
422
|
+
});
|
|
423
|
+
return { kind: 'prepared', leaseId, turnId: ids.turnId };
|
|
424
|
+
}
|
|
425
|
+
async commitMessage(leaseId) {
|
|
426
|
+
if (this.#admissionClosed)
|
|
427
|
+
throw new AdmissionLeaseError('closed');
|
|
428
|
+
const prepared = this.#preparedMessages.get(leaseId);
|
|
429
|
+
if (!prepared)
|
|
430
|
+
throw new AdmissionLeaseError('stale');
|
|
431
|
+
if (prepared.expiresAt <= Date.now()) {
|
|
432
|
+
this.#preparedMessages.delete(leaseId);
|
|
433
|
+
throw new AdmissionLeaseError('stale');
|
|
434
|
+
}
|
|
435
|
+
this.#preparedMessages.delete(leaseId);
|
|
436
|
+
await new Promise((resolve, reject) => {
|
|
437
|
+
const terminal = this.sendMessage(prepared.input, {
|
|
438
|
+
preferredMessageId: prepared.turnId,
|
|
439
|
+
onAdmission: (error) => (error ? reject(error) : resolve()),
|
|
440
|
+
});
|
|
441
|
+
// The admission callback reports queue rejection; this handler prevents
|
|
442
|
+
// the later terminal rejection from becoming an unhandled promise.
|
|
443
|
+
terminal.then(() => undefined, () => undefined);
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
async cancelPreparedMessage(leaseId) {
|
|
447
|
+
if (this.#admissionClosed)
|
|
448
|
+
throw new AdmissionLeaseError('closed');
|
|
449
|
+
if (this.#cancelledLeases.has(leaseId))
|
|
450
|
+
return;
|
|
451
|
+
const prepared = this.#preparedMessages.get(leaseId);
|
|
452
|
+
if (!prepared)
|
|
453
|
+
throw new AdmissionLeaseError('stale');
|
|
454
|
+
this.#preparedMessages.delete(leaseId);
|
|
455
|
+
if (prepared.expiresAt <= Date.now())
|
|
456
|
+
throw new AdmissionLeaseError('stale');
|
|
457
|
+
this.#cancelledLeases.add(leaseId);
|
|
458
|
+
}
|
|
459
|
+
async abortAndDiscard() {
|
|
460
|
+
const discarded = [...this.#preparedMessages.values()].map((item) => item.turnId);
|
|
461
|
+
this.#preparedMessages.clear();
|
|
462
|
+
this.abort();
|
|
463
|
+
await this.#cancellation;
|
|
464
|
+
if (this.#queue) {
|
|
465
|
+
discarded.push(...this.#queue.state().queue.map((item) => item.id));
|
|
466
|
+
await this.discardQueue();
|
|
467
|
+
}
|
|
468
|
+
return { discardedTurnIds: [...new Set(discarded)], proven: this.#cancellationProven };
|
|
469
|
+
}
|
|
470
|
+
closeAdmission() {
|
|
471
|
+
this.#admissionClosed = true;
|
|
472
|
+
const discarded = [...this.#preparedMessages.values()].map((item) => item.turnId);
|
|
473
|
+
this.#preparedMessages.clear();
|
|
474
|
+
return discarded;
|
|
475
|
+
}
|
|
476
|
+
reopenAdmission() {
|
|
477
|
+
if (this.#cancellationProven)
|
|
478
|
+
this.#admissionClosed = false;
|
|
479
|
+
}
|
|
480
|
+
preparedMessageCount() {
|
|
481
|
+
return this.#preparedMessages.size;
|
|
482
|
+
}
|
|
483
|
+
consumeFailureDiscardedTurnIds() {
|
|
484
|
+
const discarded = [...new Set(this.#failureDiscardedTurnIds)];
|
|
485
|
+
this.#failureDiscardedTurnIds.length = 0;
|
|
486
|
+
return discarded;
|
|
487
|
+
}
|
|
370
488
|
async resumeQueue() {
|
|
371
489
|
if (!this.#queue)
|
|
372
490
|
return;
|
|
@@ -400,30 +518,36 @@ export class ConversationAdapter {
|
|
|
400
518
|
// requests stay pending — pause is not a terminal fate.
|
|
401
519
|
const activeRequestId = this.#activeRequestId;
|
|
402
520
|
this.#cancellingRequestId = activeRequestId;
|
|
403
|
-
this.#turnFlow.abort?.();
|
|
404
|
-
this.#
|
|
405
|
-
|
|
521
|
+
this.#activeAbortCompletion = Promise.resolve(this.#turnFlow.abort?.());
|
|
522
|
+
this.#cancellationProven = true;
|
|
523
|
+
this.#cancellation = this.#queue.command({ kind: 'cancel' }).then((result) => {
|
|
524
|
+
this.#cancellationProven = result.kind !== 'rejected' || result.reason !== 'cancellation_unproven';
|
|
525
|
+
if (this.#cancellationProven && activeRequestId && this.#messagesById.has(activeRequestId)) {
|
|
406
526
|
this.#settleFailure(activeRequestId, queueCancellationError('Active turn was cancelled'));
|
|
407
527
|
}
|
|
408
|
-
if (this.#activeRequestId === activeRequestId) {
|
|
528
|
+
if (this.#cancellationProven && this.#activeRequestId === activeRequestId) {
|
|
409
529
|
this.#activeRequestId = null;
|
|
410
530
|
}
|
|
411
|
-
if (this.#cancellingRequestId === activeRequestId) {
|
|
531
|
+
if (this.#cancellationProven && this.#cancellingRequestId === activeRequestId) {
|
|
412
532
|
this.#cancellingRequestId = null;
|
|
413
533
|
}
|
|
534
|
+
if (this.#cancellationProven)
|
|
535
|
+
this.#activeAbortCompletion = null;
|
|
414
536
|
this.#notifyQueueState();
|
|
415
537
|
});
|
|
416
538
|
}
|
|
417
539
|
#startQueuedTurn(execution) {
|
|
418
540
|
// Notify the orchestrator/UI before kicking off the run so that the user
|
|
419
541
|
// message can be appended to the message list with the correct timeline.
|
|
542
|
+
// Recovered items have no #messagesById entry; still fire so a delivered
|
|
543
|
+
// row cannot stay in the pending list after the queue has started it.
|
|
420
544
|
const message = this.#messagesById.get(execution.snapshot.requestId);
|
|
421
|
-
if (
|
|
545
|
+
if (this.#queuedTurnStartObserver) {
|
|
422
546
|
try {
|
|
423
547
|
this.#queuedTurnStartObserver({
|
|
424
548
|
requestId: execution.snapshot.requestId,
|
|
425
|
-
input: message.
|
|
426
|
-
suppressUserMessageDisplay: message
|
|
549
|
+
input: message?.input ?? execution.item.text,
|
|
550
|
+
suppressUserMessageDisplay: message?.options.suppressUserMessageDisplay,
|
|
427
551
|
});
|
|
428
552
|
}
|
|
429
553
|
catch (error) {
|
|
@@ -467,13 +591,13 @@ export class ConversationAdapter {
|
|
|
467
591
|
request: {}, // existing runtime doesn't expose typed tool request details
|
|
468
592
|
});
|
|
469
593
|
this.#notifyQueueState();
|
|
470
|
-
this.#recordPendingInteraction(result);
|
|
594
|
+
await this.#recordPendingInteraction(result);
|
|
471
595
|
this.#settleSuccess(execution.snapshot.requestId, result);
|
|
472
596
|
return;
|
|
473
597
|
}
|
|
474
598
|
await this.#queue.event({ kind: 'completed', executionId: execution.executionId, terminal: result });
|
|
475
599
|
this.#notifyQueueState();
|
|
476
|
-
this.#recordPendingInteraction(result);
|
|
600
|
+
await this.#recordPendingInteraction(result);
|
|
477
601
|
this.#settleSuccess(execution.snapshot.requestId, result);
|
|
478
602
|
}
|
|
479
603
|
catch (error) {
|
|
@@ -482,9 +606,37 @@ export class ConversationAdapter {
|
|
|
482
606
|
? queueCancellationError('Active turn was cancelled')
|
|
483
607
|
: error;
|
|
484
608
|
// Controller pauses with retained queue on failure when work remains.
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
609
|
+
try {
|
|
610
|
+
await this.#queue.event({ kind: 'failed', executionId: execution.executionId, failure });
|
|
611
|
+
if (this.#discardOnFailure) {
|
|
612
|
+
this.#failureDiscardedTurnIds.push(...this.#queue.state().queue.map((item) => item.id));
|
|
613
|
+
await this.discardQueue();
|
|
614
|
+
}
|
|
615
|
+
this.#notifyQueueState();
|
|
616
|
+
}
|
|
617
|
+
catch (queueError) {
|
|
618
|
+
this.#logger.error('Failed to settle queued turn failure state', {
|
|
619
|
+
error: queueError instanceof Error ? queueError.message : String(queueError),
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
try {
|
|
623
|
+
await this.#eventSink?.({
|
|
624
|
+
type: 'error',
|
|
625
|
+
message: failure instanceof Error ? failure.message : String(failure),
|
|
626
|
+
kind: 'turn_failed',
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
catch (eventError) {
|
|
630
|
+
// The failure event is itself critical at the gateway boundary. It
|
|
631
|
+
// must not prevent the owning submission from settling or leave
|
|
632
|
+
// #activeTurn as an unhandled rejection.
|
|
633
|
+
this.#logger.error('Failed to publish queued turn failure event', {
|
|
634
|
+
error: eventError instanceof Error ? eventError.message : String(eventError),
|
|
635
|
+
});
|
|
636
|
+
}
|
|
637
|
+
finally {
|
|
638
|
+
this.#settleFailure(execution.snapshot.requestId, failure);
|
|
639
|
+
}
|
|
488
640
|
}
|
|
489
641
|
}
|
|
490
642
|
#settleSuccess(requestId, terminal) {
|
|
@@ -519,14 +671,24 @@ export class ConversationAdapter {
|
|
|
519
671
|
const turn = normalizeUserTurn(input);
|
|
520
672
|
const cancellationEpoch = this.#cancellationEpoch;
|
|
521
673
|
return this.#withTrafficContext(turn.text, async () => {
|
|
522
|
-
const wrappedOnEvent = (event) => {
|
|
674
|
+
const wrappedOnEvent = async (event) => {
|
|
675
|
+
if (event.type === 'approval_required') {
|
|
676
|
+
// Install the authoritative session snapshot before any gateway/UI
|
|
677
|
+
// sink sees the approval event. The runtime retains the private
|
|
678
|
+
// interruption in SessionApprovalQuery; this public event carries
|
|
679
|
+
// only its already-sanitized descriptor shape.
|
|
680
|
+
this.#pendingInteraction?.present({
|
|
681
|
+
...event.approval,
|
|
682
|
+
rawInterruption: null,
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
await this.#eventSink?.(event);
|
|
523
686
|
this.#logs.dispatchEventToLog(event);
|
|
524
|
-
|
|
525
|
-
onEvent?.(event);
|
|
687
|
+
await onEvent?.(event);
|
|
526
688
|
};
|
|
527
|
-
this.#subagentEventSinkHost?.setSubagentEventSink(wrappedOnEvent);
|
|
528
689
|
let result;
|
|
529
690
|
try {
|
|
691
|
+
await this.#subagentEventSinkHost?.setSubagentEventSink(wrappedOnEvent);
|
|
530
692
|
const startOptions = { retries: { hallucinationRetryCount } };
|
|
531
693
|
if (bypassInputSurgeGuard !== undefined) {
|
|
532
694
|
startOptions.bypassInputSurgeGuard = bypassInputSurgeGuard;
|
|
@@ -551,7 +713,7 @@ export class ConversationAdapter {
|
|
|
551
713
|
}
|
|
552
714
|
finally {
|
|
553
715
|
this.#subagentEventSinkHost?.cancelSubagentRuns?.();
|
|
554
|
-
this.#subagentEventSinkHost?.setSubagentEventSink(null);
|
|
716
|
+
await this.#subagentEventSinkHost?.setSubagentEventSink(null);
|
|
555
717
|
}
|
|
556
718
|
if (result.type === 'response') {
|
|
557
719
|
this.#logger.debug('sendMessage returning response', {
|
|
@@ -638,14 +800,24 @@ export class ConversationAdapter {
|
|
|
638
800
|
return null;
|
|
639
801
|
}
|
|
640
802
|
const result = await this.#withTrafficContext(undefined, async () => {
|
|
641
|
-
const wrappedOnEvent = (event) => {
|
|
803
|
+
const wrappedOnEvent = async (event) => {
|
|
804
|
+
if (event.type === 'approval_required') {
|
|
805
|
+
// Install the authoritative session snapshot before any gateway/UI
|
|
806
|
+
// sink sees the approval event. The runtime retains the private
|
|
807
|
+
// interruption in SessionApprovalQuery; this public event carries
|
|
808
|
+
// only its already-sanitized descriptor shape.
|
|
809
|
+
this.#pendingInteraction?.present({
|
|
810
|
+
...event.approval,
|
|
811
|
+
rawInterruption: null,
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
await this.#eventSink?.(event);
|
|
642
815
|
this.#logs.dispatchEventToLog(event);
|
|
643
|
-
|
|
644
|
-
onEvent?.(event);
|
|
816
|
+
await onEvent?.(event);
|
|
645
817
|
};
|
|
646
|
-
this.#subagentEventSinkHost?.setSubagentEventSink(wrappedOnEvent);
|
|
647
818
|
let result;
|
|
648
819
|
try {
|
|
820
|
+
await this.#subagentEventSinkHost?.setSubagentEventSink(wrappedOnEvent);
|
|
649
821
|
result = await this.#collectTerminalResult(postExecuteApproval
|
|
650
822
|
? this.#turnFlow.continueAfterPostExecuteApproval()
|
|
651
823
|
: this.#turnFlow.continueAfterApproval({
|
|
@@ -669,7 +841,7 @@ export class ConversationAdapter {
|
|
|
669
841
|
}
|
|
670
842
|
finally {
|
|
671
843
|
this.#subagentEventSinkHost?.cancelSubagentRuns?.();
|
|
672
|
-
this.#subagentEventSinkHost?.setSubagentEventSink(null);
|
|
844
|
+
await this.#subagentEventSinkHost?.setSubagentEventSink(null);
|
|
673
845
|
}
|
|
674
846
|
if (result && result.type === 'response') {
|
|
675
847
|
this.#logger.debug('handleApprovalDecision returning response', {
|
|
@@ -705,7 +877,7 @@ export class ConversationAdapter {
|
|
|
705
877
|
}
|
|
706
878
|
}
|
|
707
879
|
if (result)
|
|
708
|
-
this.#recordPendingInteraction(result);
|
|
880
|
+
await this.#recordPendingInteraction(result);
|
|
709
881
|
return result;
|
|
710
882
|
}
|
|
711
883
|
catch (error) {
|
|
@@ -719,9 +891,18 @@ export class ConversationAdapter {
|
|
|
719
891
|
throw error;
|
|
720
892
|
}
|
|
721
893
|
}
|
|
722
|
-
#recordPendingInteraction(result) {
|
|
894
|
+
async #recordPendingInteraction(result) {
|
|
723
895
|
if (result.type === 'approval_required') {
|
|
724
|
-
|
|
896
|
+
// The event bridge presents before publication. Keep a fallback for
|
|
897
|
+
// terminal/test paths that return an approval without emitting its event,
|
|
898
|
+
// but never replace an already-live snapshot (which would change its
|
|
899
|
+
// optimistic-concurrency ID).
|
|
900
|
+
if (!this.#pendingInteraction?.getSnapshot?.()) {
|
|
901
|
+
const safeApproval = { ...result.approval, rawInterruption: null };
|
|
902
|
+
this.#pendingInteraction?.present(safeApproval);
|
|
903
|
+
const approvalEvent = { type: 'approval_required', approval: safeApproval };
|
|
904
|
+
await this.#eventSink?.(approvalEvent);
|
|
905
|
+
}
|
|
725
906
|
}
|
|
726
907
|
else {
|
|
727
908
|
this.#pendingInteraction?.clear();
|