@qduc/term2 0.5.0 → 0.6.1
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 +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +55 -7
- package/dist/agent.js.map +1 -1
- package/dist/agent.test.js +135 -10
- package/dist/agent.test.js.map +1 -1
- package/dist/app.d.ts +15 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +86 -16
- package/dist/app.js.map +1 -1
- package/dist/app.startup-banner.test.js +48 -1
- package/dist/app.startup-banner.test.js.map +1 -1
- package/dist/cli.js +226 -28
- package/dist/cli.js.map +1 -1
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +11 -35
- package/dist/components/ApprovalPrompt.js.map +1 -1
- package/dist/components/Banner.d.ts.map +1 -1
- package/dist/components/Banner.js +2 -7
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BottomArea.d.ts +7 -1
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +2 -2
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/CommandMessage.d.ts.map +1 -1
- package/dist/components/CommandMessage.js +38 -42
- package/dist/components/CommandMessage.js.map +1 -1
- package/dist/components/CommandMessage.test.js +69 -0
- package/dist/components/CommandMessage.test.js.map +1 -1
- package/dist/components/DiffView.d.ts +7 -0
- package/dist/components/DiffView.d.ts.map +1 -0
- package/dist/components/DiffView.js +80 -0
- package/dist/components/DiffView.js.map +1 -0
- package/dist/components/DiffView.test.d.ts +2 -0
- package/dist/components/DiffView.test.d.ts.map +1 -0
- package/dist/components/DiffView.test.js +45 -0
- package/dist/components/DiffView.test.js.map +1 -0
- package/dist/components/Input/PopupManager.d.ts +7 -0
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js +4 -2
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/Input/determine-active-menu.d.ts.map +1 -1
- package/dist/components/Input/determine-active-menu.js +4 -1
- package/dist/components/Input/determine-active-menu.js.map +1 -1
- package/dist/components/Input/popup-props.d.ts +3 -1
- package/dist/components/Input/popup-props.d.ts.map +1 -1
- package/dist/components/Input/popup-props.js +7 -1
- package/dist/components/Input/popup-props.js.map +1 -1
- package/dist/components/InputBox.d.ts +6 -0
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +74 -11
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.menu-logic.test.js +16 -1
- package/dist/components/InputBox.menu-logic.test.js.map +1 -1
- package/dist/components/InputBox.test.js +1 -0
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +52 -1
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +3 -2
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +16 -0
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.js +4 -1
- package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +5 -3
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/StatusBar.test.js +24 -0
- package/dist/components/StatusBar.test.js.map +1 -1
- package/dist/components/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/SubagentActivityMessage.js +16 -1
- package/dist/components/SubagentActivityMessage.js.map +1 -1
- package/dist/components/UndoSelectionMenu.d.ts +12 -0
- package/dist/components/UndoSelectionMenu.d.ts.map +1 -0
- package/dist/components/UndoSelectionMenu.js +46 -0
- package/dist/components/UndoSelectionMenu.js.map +1 -0
- package/dist/components/UndoSelectionMenu.test.d.ts +2 -0
- package/dist/components/UndoSelectionMenu.test.d.ts.map +1 -0
- package/dist/components/UndoSelectionMenu.test.js +40 -0
- package/dist/components/UndoSelectionMenu.test.js.map +1 -0
- package/dist/components/theme.d.ts +1 -1
- package/dist/components/theme.d.ts.map +1 -1
- package/dist/components/theme.js +1 -3
- package/dist/components/theme.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.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +14 -2
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +115 -32
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-commands.test.js +231 -1
- package/dist/hooks/use-app-commands.test.js.map +1 -1
- package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
- package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.clear.test.js +49 -0
- package/dist/hooks/use-conversation.clear.test.js.map +1 -0
- package/dist/hooks/use-conversation.d.ts +12 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +88 -5
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +2 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.js +118 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.js.map +1 -0
- package/dist/hooks/use-conversation.resume.test.d.ts +2 -0
- package/dist/hooks/use-conversation.resume.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.resume.test.js +26 -0
- package/dist/hooks/use-conversation.resume.test.js.map +1 -0
- package/dist/hooks/use-escape-key.d.ts.map +1 -1
- package/dist/hooks/use-escape-key.js +14 -7
- package/dist/hooks/use-escape-key.js.map +1 -1
- package/dist/hooks/use-escape-key.test.js +168 -4
- package/dist/hooks/use-escape-key.test.js.map +1 -1
- package/dist/hooks/use-input-history.d.ts +4 -3
- package/dist/hooks/use-input-history.d.ts.map +1 -1
- package/dist/hooks/use-input-history.js +10 -8
- package/dist/hooks/use-input-history.js.map +1 -1
- package/dist/hooks/use-input-history.test.d.ts +2 -0
- package/dist/hooks/use-input-history.test.d.ts.map +1 -0
- package/dist/hooks/use-input-history.test.js +43 -0
- package/dist/hooks/use-input-history.test.js.map +1 -0
- package/dist/hooks/use-mode-handlers.d.ts +10 -2
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +21 -2
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts +3 -0
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +3 -0
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
- package/dist/hooks/use-runtime-settings.js +15 -6
- package/dist/hooks/use-runtime-settings.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +0 -1
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +1 -0
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +25 -19
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-shell-mode.d.ts.map +1 -1
- package/dist/hooks/use-shell-mode.js +2 -1
- package/dist/hooks/use-shell-mode.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +1 -0
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +10 -1
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-undo-selection.d.ts +19 -0
- package/dist/hooks/use-undo-selection.d.ts.map +1 -0
- package/dist/hooks/use-undo-selection.js +76 -0
- package/dist/hooks/use-undo-selection.js.map +1 -0
- package/dist/lib/openai-agent-client.chat.test.js +40 -0
- package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts +10 -1
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +114 -6
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +23 -0
- package/dist/lib/openai-agent-client.test.js.map +1 -1
- package/dist/lib/retry-executor.js +45 -7
- package/dist/lib/retry-executor.js.map +1 -1
- package/dist/lib/retry-executor.test.js +63 -0
- package/dist/lib/retry-executor.test.js.map +1 -1
- package/dist/non-interactive.d.ts +7 -1
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +73 -5
- package/dist/non-interactive.js.map +1 -1
- package/dist/non-interactive.test.js +184 -2
- package/dist/non-interactive.test.js.map +1 -1
- package/dist/prompts/orchestrator.md +46 -0
- package/dist/prompts/plan-mode-info.md +17 -0
- package/dist/prompts/prompt-selector.d.ts +2 -1
- package/dist/prompts/prompt-selector.d.ts.map +1 -1
- package/dist/prompts/prompt-selector.js +5 -1
- package/dist/prompts/prompt-selector.js.map +1 -1
- package/dist/prompts/prompt-selector.test.js +7 -0
- package/dist/prompts/prompt-selector.test.js.map +1 -1
- package/dist/prompts/prompt-selector.test.ts +18 -0
- package/dist/prompts/prompt-selector.ts +7 -1
- package/dist/prompts/reasoning-efficiency.d.ts +7 -0
- package/dist/prompts/reasoning-efficiency.d.ts.map +1 -0
- package/dist/prompts/reasoning-efficiency.js +19 -0
- package/dist/prompts/reasoning-efficiency.js.map +1 -0
- package/dist/prompts/reasoning-efficiency.ts +18 -0
- package/dist/prompts/search-via-shell.test.js +17 -17
- package/dist/prompts/search-via-shell.test.js.map +1 -1
- package/dist/prompts/search-via-shell.test.ts +17 -17
- package/dist/prompts/shell-auto-approval.d.ts +3 -0
- package/dist/prompts/shell-auto-approval.d.ts.map +1 -0
- package/dist/prompts/shell-auto-approval.js +23 -0
- package/dist/prompts/shell-auto-approval.js.map +1 -0
- package/dist/prompts/shell-auto-approval.ts +23 -0
- package/dist/prompts/subagent-delegation.d.ts +10 -0
- package/dist/prompts/subagent-delegation.d.ts.map +1 -0
- package/dist/prompts/subagent-delegation.js +33 -0
- package/dist/prompts/subagent-delegation.js.map +1 -0
- package/dist/prompts/subagent-delegation.test.d.ts +2 -0
- package/dist/prompts/subagent-delegation.test.d.ts.map +1 -0
- package/dist/prompts/subagent-delegation.test.js +17 -0
- package/dist/prompts/subagent-delegation.test.js.map +1 -0
- package/dist/prompts/subagent-delegation.test.ts +21 -0
- package/dist/prompts/subagent-delegation.ts +40 -0
- package/dist/prompts/subagents/explorer.md +1 -2
- package/dist/prompts/subagents/mentor.md +0 -1
- package/dist/prompts/subagents/researcher.md +0 -1
- package/dist/prompts/subagents/worker.md +3 -4
- package/dist/providers/ai-sdk-anthropic.provider.d.ts +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.js +67 -1
- package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.test.d.ts +2 -0
- package/dist/providers/ai-sdk-anthropic.provider.test.d.ts.map +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.test.js +87 -0
- package/dist/providers/ai-sdk-anthropic.provider.test.js.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
- package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.js +67 -44
- package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.test.js +59 -5
- package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
- package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
- package/dist/providers/common/openai-compatible-messages.js +10 -4
- package/dist/providers/common/openai-compatible-messages.js.map +1 -1
- package/dist/providers/common/openai-compatible-messages.test.js +22 -0
- package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
- package/dist/providers/custom-provider-adapter.test.js +39 -1
- package/dist/providers/custom-provider-adapter.test.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts +11 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +122 -8
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-compatible.provider.test.js +61 -0
- package/dist/providers/openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/openai.provider.js +21 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.d.ts +2 -0
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +20 -2
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js +48 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
- package/dist/providers/registry.test.js +27 -2
- package/dist/providers/registry.test.js.map +1 -1
- package/dist/scripts/eval-auto-approval/dataset.d.ts +2 -2
- package/dist/services/agent-stream.d.ts +1 -0
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/approval-flow-coordinator.d.ts +2 -0
- package/dist/services/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval-flow-coordinator.js +45 -18
- package/dist/services/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval-flow-coordinator.test.js +87 -0
- package/dist/services/approval-flow-coordinator.test.js.map +1 -1
- package/dist/services/approval-state.d.ts +4 -0
- package/dist/services/approval-state.d.ts.map +1 -1
- package/dist/services/approval-state.js +2 -0
- package/dist/services/approval-state.js.map +1 -1
- package/dist/services/approval-state.test.js +21 -0
- package/dist/services/approval-state.test.js.map +1 -1
- package/dist/services/conversation-clear-save.test.d.ts +2 -0
- package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
- package/dist/services/conversation-clear-save.test.js +85 -0
- package/dist/services/conversation-clear-save.test.js.map +1 -0
- package/dist/services/conversation-history-repair.d.ts +25 -0
- package/dist/services/conversation-history-repair.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.js +227 -0
- package/dist/services/conversation-history-repair.js.map +1 -0
- package/dist/services/conversation-history-repair.test.d.ts +2 -0
- package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.test.js +76 -0
- package/dist/services/conversation-history-repair.test.js.map +1 -0
- package/dist/services/conversation-persistence.d.ts +55 -0
- package/dist/services/conversation-persistence.d.ts.map +1 -0
- package/dist/services/conversation-persistence.js +216 -0
- package/dist/services/conversation-persistence.js.map +1 -0
- package/dist/services/conversation-persistence.test.d.ts +2 -0
- package/dist/services/conversation-persistence.test.d.ts.map +1 -0
- package/dist/services/conversation-persistence.test.js +713 -0
- package/dist/services/conversation-persistence.test.js.map +1 -0
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +13 -0
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-retry-policy.d.ts +7 -0
- package/dist/services/conversation-retry-policy.d.ts.map +1 -1
- package/dist/services/conversation-retry-policy.js +34 -0
- package/dist/services/conversation-retry-policy.js.map +1 -1
- package/dist/services/conversation-retry-policy.test.js +44 -2
- package/dist/services/conversation-retry-policy.test.js.map +1 -1
- package/dist/services/conversation-service.d.ts +25 -2
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js +29 -3
- package/dist/services/conversation-service.js.map +1 -1
- package/dist/services/conversation-session.auto-approval.test.js +7 -10
- package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +28 -1
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +300 -95
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-store.d.ts +42 -0
- package/dist/services/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation-store.js +188 -6
- package/dist/services/conversation-store.js.map +1 -1
- package/dist/services/conversation-store.test.js +344 -1
- package/dist/services/conversation-store.test.js.map +1 -1
- package/dist/services/history-service.d.ts +6 -1
- package/dist/services/history-service.d.ts.map +1 -1
- package/dist/services/history-service.js +46 -6
- package/dist/services/history-service.js.map +1 -1
- package/dist/services/history-service.test.d.ts +2 -0
- package/dist/services/history-service.test.d.ts.map +1 -0
- package/dist/services/history-service.test.js +77 -0
- package/dist/services/history-service.test.js.map +1 -0
- package/dist/services/input-surge-guard.d.ts +37 -0
- package/dist/services/input-surge-guard.d.ts.map +1 -0
- package/dist/services/input-surge-guard.js +190 -0
- package/dist/services/input-surge-guard.js.map +1 -0
- package/dist/services/input-surge-guard.test.d.ts +2 -0
- package/dist/services/input-surge-guard.test.d.ts.map +1 -0
- package/dist/services/input-surge-guard.test.js +126 -0
- package/dist/services/input-surge-guard.test.js.map +1 -0
- package/dist/services/logging-contract.d.ts +1 -1
- package/dist/services/logging-service.d.ts +4 -0
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +91 -33
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/mode-notices.d.ts +11 -0
- package/dist/services/mode-notices.d.ts.map +1 -0
- package/dist/services/mode-notices.js +16 -0
- package/dist/services/mode-notices.js.map +1 -0
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +0 -1
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/plan-mode-interceptor.d.ts +10 -0
- package/dist/services/plan-mode-interceptor.d.ts.map +1 -0
- package/dist/services/plan-mode-interceptor.js +38 -0
- package/dist/services/plan-mode-interceptor.js.map +1 -0
- package/dist/services/plan-mode-interceptor.test.d.ts +2 -0
- package/dist/services/plan-mode-interceptor.test.d.ts.map +1 -0
- package/dist/services/plan-mode-interceptor.test.js +55 -0
- package/dist/services/plan-mode-interceptor.test.js.map +1 -0
- package/dist/services/provider-traffic.d.ts +87 -0
- package/dist/services/provider-traffic.d.ts.map +1 -0
- package/dist/services/provider-traffic.js +545 -0
- package/dist/services/provider-traffic.js.map +1 -0
- package/dist/services/provider-traffic.test.d.ts +2 -0
- package/dist/services/provider-traffic.test.d.ts.map +1 -0
- package/dist/services/provider-traffic.test.js +383 -0
- package/dist/services/provider-traffic.test.js.map +1 -0
- package/dist/services/service-interfaces.d.ts +20 -1
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/settings-persistence.js +1 -1
- package/dist/services/settings-schema.d.ts +107 -4
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +103 -5
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-schema.test.js +35 -1
- package/dist/services/settings-schema.test.js.map +1 -1
- package/dist/services/settings-service.d.ts +3 -1
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +40 -4
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-sources.d.ts.map +1 -1
- package/dist/services/settings-sources.js +2 -1
- package/dist/services/settings-sources.js.map +1 -1
- package/dist/services/settings-sources.test.js +4 -0
- package/dist/services/settings-sources.test.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts +3 -2
- package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.js +287 -101
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.test.js +216 -18
- package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
- package/dist/services/shell-auto-approval-resolver.test.js +1 -1
- package/dist/services/shell-auto-approval-resolver.test.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +5 -0
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-event-processor.test.js +27 -0
- package/dist/services/stream-event-processor.test.js.map +1 -1
- package/dist/services/subagents/reasoning-inheritance.test.d.ts +2 -0
- package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +1 -0
- package/dist/services/subagents/reasoning-inheritance.test.js +73 -0
- package/dist/services/subagents/reasoning-inheritance.test.js.map +1 -0
- package/dist/services/subagents/subagent-manager.d.ts +2 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +204 -33
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-manager.test.js +331 -42
- package/dist/services/subagents/subagent-manager.test.js.map +1 -1
- package/dist/services/subagents/types.d.ts +6 -0
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.js +1 -2
- package/dist/services/terminal-result-collector.js.map +1 -1
- package/dist/slash-commands.d.ts +1 -0
- package/dist/slash-commands.d.ts.map +1 -1
- package/dist/slash-commands.js +8 -1
- package/dist/slash-commands.js.map +1 -1
- package/dist/slash-commands.test.d.ts +2 -0
- package/dist/slash-commands.test.d.ts.map +1 -0
- package/dist/slash-commands.test.js +22 -0
- package/dist/slash-commands.test.js.map +1 -0
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +2 -6
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +2 -13
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/code-context.test.js +4 -3
- package/dist/tools/code-context.test.js.map +1 -1
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +2 -3
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/create-file.test.js +3 -14
- package/dist/tools/create-file.test.js.map +1 -1
- package/dist/tools/edit-healing.d.ts +3 -3
- package/dist/tools/edit-healing.d.ts.map +1 -1
- package/dist/tools/edit-healing.js.map +1 -1
- package/dist/tools/edit-healing.test.js +0 -1
- package/dist/tools/edit-healing.test.js.map +1 -1
- package/dist/tools/find-files.test.js +3 -2
- package/dist/tools/find-files.test.js.map +1 -1
- package/dist/tools/grep.d.ts +1 -0
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +65 -4
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/grep.test.js +39 -0
- package/dist/tools/grep.test.js.map +1 -0
- package/dist/tools/read-file.d.ts +1 -0
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +7 -5
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-file.test.js +3 -2
- package/dist/tools/read-file.test.js.map +1 -1
- package/dist/tools/run-subagent.d.ts +1 -1
- package/dist/tools/run-subagent.d.ts.map +1 -1
- package/dist/tools/run-subagent.js +27 -23
- package/dist/tools/run-subagent.js.map +1 -1
- package/dist/tools/run-subagent.test.js +55 -8
- package/dist/tools/run-subagent.test.js.map +1 -1
- package/dist/tools/search-replace.d.ts +13 -5
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +46 -115
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/search-replace.test.js +275 -240
- package/dist/tools/search-replace.test.js.map +1 -1
- package/dist/tools/shell.d.ts +1 -0
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +14 -6
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/shell.test.js +52 -0
- package/dist/tools/shell.test.js.map +1 -1
- package/dist/tools/tool-parameter-schema.test.js +13 -4
- package/dist/tools/tool-parameter-schema.test.js.map +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +29 -4
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/web-fetch.test.js +64 -0
- package/dist/tools/web-fetch.test.js.map +1 -1
- package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/command-safety/path-analysis.js +143 -35
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +23 -3
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +94 -0
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/execute-shell.d.ts +2 -0
- package/dist/utils/execute-shell.d.ts.map +1 -1
- package/dist/utils/execute-shell.js +25 -1
- package/dist/utils/execute-shell.js.map +1 -1
- package/dist/utils/execute-shell.test.js +22 -0
- package/dist/utils/execute-shell.test.js.map +1 -1
- package/dist/utils/model-settings.d.ts.map +1 -1
- package/dist/utils/model-settings.js +18 -0
- package/dist/utils/model-settings.js.map +1 -1
- package/dist/utils/output-trim.d.ts.map +1 -1
- package/dist/utils/output-trim.js +14 -6
- package/dist/utils/output-trim.js.map +1 -1
- package/dist/utils/token-usage.test.js +31 -0
- package/dist/utils/token-usage.test.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +271 -44
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConversationStore } from './conversation-store.js';
|
|
2
|
-
import { decideRetry, MAX_HALLUCINATION_RETRIES } from './conversation-retry-policy.js';
|
|
2
|
+
import { decideRetry, isTransientRetryableError, MAX_HALLUCINATION_RETRIES, MAX_TRANSIENT_RETRIES, } from './conversation-retry-policy.js';
|
|
3
3
|
import { getProvider } from '../providers/index.js';
|
|
4
4
|
import { ApprovalState } from './approval-state.js';
|
|
5
5
|
import { collectTerminalResult } from './terminal-result-collector.js';
|
|
@@ -9,12 +9,14 @@ import { ShellAutoApprovalResolver } from './shell-auto-approval-resolver.js';
|
|
|
9
9
|
import { ApprovalFlowCoordinator } from './approval-flow-coordinator.js';
|
|
10
10
|
import { buildConversationResult, toTerminalEvent } from './conversation-result-builder.js';
|
|
11
11
|
import { normalizeUserTurn } from '../types/user-turn.js';
|
|
12
|
+
import { InputSurgeGuard } from './input-surge-guard.js';
|
|
12
13
|
const supportsConversationChaining = (providerId) => {
|
|
13
14
|
const providerDef = getProvider(providerId);
|
|
14
15
|
return providerDef?.capabilities?.supportsConversationChaining ?? false;
|
|
15
16
|
};
|
|
16
17
|
export class ConversationSession {
|
|
17
18
|
id;
|
|
19
|
+
startedAt;
|
|
18
20
|
agentClient;
|
|
19
21
|
logger;
|
|
20
22
|
conversationStore;
|
|
@@ -24,9 +26,13 @@ export class ConversationSession {
|
|
|
24
26
|
emittedInvalidToolCallPackets = new Set();
|
|
25
27
|
shellAutoApproval;
|
|
26
28
|
approvalFlow;
|
|
29
|
+
inputSurgeGuard = new InputSurgeGuard();
|
|
30
|
+
generation = 0;
|
|
27
31
|
settingsService;
|
|
28
|
-
|
|
32
|
+
pendingModeNotice = null;
|
|
33
|
+
constructor(id, { agentClient, deps, sessionStartedAt, }) {
|
|
29
34
|
this.id = id;
|
|
35
|
+
this.startedAt = sessionStartedAt ?? new Date().toISOString();
|
|
30
36
|
this.agentClient = agentClient;
|
|
31
37
|
this.logger = deps.logger;
|
|
32
38
|
this.settingsService = deps.settingsService;
|
|
@@ -44,16 +50,79 @@ export class ConversationSession {
|
|
|
44
50
|
sessionId: this.id,
|
|
45
51
|
});
|
|
46
52
|
}
|
|
53
|
+
#getTrafficMode() {
|
|
54
|
+
if (!this.settingsService)
|
|
55
|
+
return 'standard';
|
|
56
|
+
if (this.settingsService.get('app.orchestratorMode'))
|
|
57
|
+
return 'orchestrator';
|
|
58
|
+
if (this.settingsService.get('app.liteMode'))
|
|
59
|
+
return 'lite';
|
|
60
|
+
if (this.settingsService.get('app.planMode'))
|
|
61
|
+
return 'plan';
|
|
62
|
+
if (this.settingsService.get('app.mentorMode'))
|
|
63
|
+
return 'mentor';
|
|
64
|
+
return 'standard';
|
|
65
|
+
}
|
|
66
|
+
#getFirstUserMessagePreview(currentTurn) {
|
|
67
|
+
const [firstTurn] = this.conversationStore.listUserTurns();
|
|
68
|
+
return firstTurn?.text ?? currentTurn ?? '';
|
|
69
|
+
}
|
|
70
|
+
#withTrafficContext(currentTurn, fn) {
|
|
71
|
+
const runner = this.logger.runWithTrafficContext;
|
|
72
|
+
if (!runner)
|
|
73
|
+
return fn();
|
|
74
|
+
return runner.call(this.logger, {
|
|
75
|
+
sessionId: this.id,
|
|
76
|
+
sessionStartedAt: this.startedAt,
|
|
77
|
+
firstUserMessagePreview: this.#getFirstUserMessagePreview(currentTurn),
|
|
78
|
+
mode: this.#getTrafficMode(),
|
|
79
|
+
traceId: this.logger.getCorrelationId(),
|
|
80
|
+
}, fn);
|
|
81
|
+
}
|
|
82
|
+
#isCurrentGeneration(gen) {
|
|
83
|
+
return gen === this.generation;
|
|
84
|
+
}
|
|
47
85
|
reset() {
|
|
86
|
+
this.generation++;
|
|
48
87
|
this.previousResponseId = null;
|
|
49
88
|
this.conversationStore.clear();
|
|
50
89
|
this.approvalState.clearPending();
|
|
51
90
|
this.approvalState.consumeAborted();
|
|
52
91
|
this.toolCallArgumentsById.clear();
|
|
53
92
|
this.shellAutoApproval.clearCache();
|
|
93
|
+
this.inputSurgeGuard.reset();
|
|
54
94
|
const clearConversations = getMethod(this.agentClient, 'clearConversations');
|
|
55
95
|
clearConversations?.call(this.agentClient);
|
|
56
96
|
}
|
|
97
|
+
undoLastUserTurn() {
|
|
98
|
+
const removed = this.conversationStore.removeLastUserTurn();
|
|
99
|
+
if (removed === null)
|
|
100
|
+
return null;
|
|
101
|
+
this.generation++;
|
|
102
|
+
this.previousResponseId = null;
|
|
103
|
+
this.approvalState.clearPending();
|
|
104
|
+
this.approvalState.consumeAborted();
|
|
105
|
+
this.toolCallArgumentsById.clear();
|
|
106
|
+
this.shellAutoApproval.clearCache();
|
|
107
|
+
this.inputSurgeGuard.reset();
|
|
108
|
+
return removed;
|
|
109
|
+
}
|
|
110
|
+
listUserTurns() {
|
|
111
|
+
return this.conversationStore.listUserTurns();
|
|
112
|
+
}
|
|
113
|
+
undoNUserTurns(n) {
|
|
114
|
+
const removed = this.conversationStore.removeNLastUserTurns(n);
|
|
115
|
+
if (removed === null)
|
|
116
|
+
return null;
|
|
117
|
+
this.generation++;
|
|
118
|
+
this.previousResponseId = null;
|
|
119
|
+
this.approvalState.clearPending();
|
|
120
|
+
this.approvalState.consumeAborted();
|
|
121
|
+
this.toolCallArgumentsById.clear();
|
|
122
|
+
this.shellAutoApproval.clearCache();
|
|
123
|
+
this.inputSurgeGuard.reset();
|
|
124
|
+
return removed;
|
|
125
|
+
}
|
|
57
126
|
setModel(model) {
|
|
58
127
|
this.agentClient.setModel(model);
|
|
59
128
|
}
|
|
@@ -74,9 +143,27 @@ export class ConversationSession {
|
|
|
74
143
|
this.agentClient.setRetryCallback(callback);
|
|
75
144
|
}
|
|
76
145
|
}
|
|
146
|
+
exportState() {
|
|
147
|
+
return {
|
|
148
|
+
history: this.conversationStore.getHistory(),
|
|
149
|
+
previousResponseId: this.previousResponseId,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
importState(state) {
|
|
153
|
+
this.conversationStore.clear();
|
|
154
|
+
for (const item of state.history) {
|
|
155
|
+
this.conversationStore.addImportedItem(item);
|
|
156
|
+
}
|
|
157
|
+
this.previousResponseId = state.previousResponseId;
|
|
158
|
+
this.inputSurgeGuard.reset();
|
|
159
|
+
this.generation++;
|
|
160
|
+
}
|
|
77
161
|
addShellContext(historyText) {
|
|
78
162
|
this.conversationStore.addShellContext(historyText);
|
|
79
163
|
}
|
|
164
|
+
queueModeNotice(text) {
|
|
165
|
+
this.pendingModeNotice = text;
|
|
166
|
+
}
|
|
80
167
|
/**
|
|
81
168
|
* Abort the current running operation
|
|
82
169
|
*/
|
|
@@ -89,9 +176,11 @@ export class ConversationSession {
|
|
|
89
176
|
* This is the transport-friendly primitive that can later be bridged to SSE/WebSockets.
|
|
90
177
|
*/
|
|
91
178
|
async *run(input, { hallucinationRetryCount = 0, flexServiceTierFallbackCount = 0, skipUserMessage = false, } = {}) {
|
|
179
|
+
const gen = this.generation;
|
|
92
180
|
let stream = null;
|
|
93
181
|
const turn = normalizeUserTurn(input);
|
|
94
182
|
const text = turn.text;
|
|
183
|
+
let addedUserMessage = false;
|
|
95
184
|
try {
|
|
96
185
|
this.logger.debug('Conversation stream start', {
|
|
97
186
|
eventType: 'stream.started',
|
|
@@ -105,6 +194,7 @@ export class ConversationSession {
|
|
|
105
194
|
// Maintain canonical local history regardless of provider.
|
|
106
195
|
if (shouldAddUserMessage) {
|
|
107
196
|
this.conversationStore.addUserTurn(turn);
|
|
197
|
+
addedUserMessage = true;
|
|
108
198
|
}
|
|
109
199
|
// If there's an aborted approval, we need to resolve it first.
|
|
110
200
|
// The user's message is a new input, but the agent is stuck waiting for tool output.
|
|
@@ -131,8 +221,10 @@ export class ConversationSession {
|
|
|
131
221
|
emittedInvalidToolCallPackets: this.emittedInvalidToolCallPackets,
|
|
132
222
|
preserveExistingToolArgs: true,
|
|
133
223
|
}, { logger: this.logger, sessionId: this.id });
|
|
134
|
-
this
|
|
135
|
-
|
|
224
|
+
if (this.#isCurrentGeneration(gen)) {
|
|
225
|
+
this.previousResponseId = continuedStream.lastResponseId ?? null;
|
|
226
|
+
this.conversationStore.updateFromResult(continuedStream);
|
|
227
|
+
}
|
|
136
228
|
// Check if another interruption occurred
|
|
137
229
|
if (continuedStream.interruptions && continuedStream.interruptions.length > 0) {
|
|
138
230
|
this.logger.warn('Another interruption occurred after fake execution - handling as approval');
|
|
@@ -163,9 +255,64 @@ export class ConversationSession {
|
|
|
163
255
|
const provider = getProvider ? getProvider.call(this.agentClient) : 'openai';
|
|
164
256
|
const supportsChaining = supportsConversationChaining(provider);
|
|
165
257
|
const history = this.conversationStore.getHistory();
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
258
|
+
// Use chaining mode only when the provider supports it AND either a valid
|
|
259
|
+
// chain exists (previousResponseId is set) or there is no prior history to
|
|
260
|
+
// resync (fresh start with just the current message). After undo the chain
|
|
261
|
+
// is severed (previousResponseId = null) while prior turns remain in the
|
|
262
|
+
// local store, so we fall back to full-history mode to re-establish context.
|
|
263
|
+
const useChaining = supportsChaining && (!!this.previousResponseId || history.length <= 1);
|
|
264
|
+
let streamInput;
|
|
265
|
+
if (this.pendingModeNotice) {
|
|
266
|
+
const notice = this.pendingModeNotice;
|
|
267
|
+
this.pendingModeNotice = null;
|
|
268
|
+
if (useChaining) {
|
|
269
|
+
const latestInput = history[history.length - 1] ?? text;
|
|
270
|
+
const chainedInput = turn.images?.length ? latestInput : text;
|
|
271
|
+
const userItem = typeof chainedInput === 'string' ? { role: 'user', type: 'message', content: chainedInput } : chainedInput;
|
|
272
|
+
const noticeItem = { role: 'system', type: 'message', content: notice };
|
|
273
|
+
streamInput = [noticeItem, userItem];
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
// Persist the notice at the tail (append-only) rather than splicing
|
|
277
|
+
// it before the last user turn or sending it as a one-shot item.
|
|
278
|
+
// Mid-history insertion adds a stray ephemeral cache breakpoint (see
|
|
279
|
+
// addCacheControlToLastTwoMessages) and a transient item makes
|
|
280
|
+
// consecutive requests diverge at the tail — both break the
|
|
281
|
+
// Claude/Qwen prompt cache. Appending keeps the cached prefix
|
|
282
|
+
// byte-identical and only growing.
|
|
283
|
+
this.conversationStore.addModeNotice(notice);
|
|
284
|
+
streamInput = this.conversationStore.getHistory();
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
const latestInput = history[history.length - 1] ?? text;
|
|
289
|
+
const chainedInput = turn.images?.length ? latestInput : text;
|
|
290
|
+
streamInput = useChaining ? (typeof chainedInput === 'string' ? chainedInput : [chainedInput]) : history;
|
|
291
|
+
}
|
|
292
|
+
const inputSurgeKind = useChaining ? 'delta' : 'full_history';
|
|
293
|
+
const surgeDecision = this.inputSurgeGuard.inspect(streamInput, { kind: inputSurgeKind });
|
|
294
|
+
if (surgeDecision.action === 'block') {
|
|
295
|
+
if (addedUserMessage && this.#isCurrentGeneration(gen)) {
|
|
296
|
+
this.conversationStore.removeLastUserMessage();
|
|
297
|
+
}
|
|
298
|
+
this.logger.warn('Input surge guard blocked provider request', {
|
|
299
|
+
eventType: 'input_surge.blocked',
|
|
300
|
+
category: 'provider',
|
|
301
|
+
phase: 'request_start',
|
|
302
|
+
sessionId: this.id,
|
|
303
|
+
traceId: this.logger.getCorrelationId(),
|
|
304
|
+
reason: surgeDecision.reason,
|
|
305
|
+
stats: surgeDecision.stats,
|
|
306
|
+
previousStats: surgeDecision.previousStats,
|
|
307
|
+
});
|
|
308
|
+
yield {
|
|
309
|
+
type: 'error',
|
|
310
|
+
kind: 'input_surge_guard',
|
|
311
|
+
message: `${surgeDecision.reason} Request blocked to prevent runaway context growth. Try /undo or /clear, or compact the conversation history.`,
|
|
312
|
+
};
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
stream = (await this.agentClient.startStream(streamInput, {
|
|
169
316
|
previousResponseId: this.previousResponseId,
|
|
170
317
|
}));
|
|
171
318
|
const acc = createStreamAccumulator();
|
|
@@ -174,9 +321,20 @@ export class ConversationSession {
|
|
|
174
321
|
emittedInvalidToolCallPackets: this.emittedInvalidToolCallPackets,
|
|
175
322
|
preserveExistingToolArgs: false,
|
|
176
323
|
}, { logger: this.logger, sessionId: this.id });
|
|
177
|
-
this
|
|
178
|
-
|
|
324
|
+
if (this.#isCurrentGeneration(gen)) {
|
|
325
|
+
this.previousResponseId = stream.lastResponseId ?? null;
|
|
326
|
+
this.conversationStore.updateFromResult(stream);
|
|
327
|
+
}
|
|
179
328
|
const resolvedResult = yield* this.#buildAndResolve(stream, acc.finalOutput || undefined, acc.reasoningOutput || undefined, acc.emittedCommandIds, acc.latestUsage);
|
|
329
|
+
if (useChaining) {
|
|
330
|
+
this.inputSurgeGuard.recordSuccessfulInput(streamInput, { kind: inputSurgeKind });
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
this.inputSurgeGuard.recordSuccessfulInput(this.conversationStore.getHistory(), {
|
|
334
|
+
kind: inputSurgeKind,
|
|
335
|
+
previousInput: streamInput,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
180
338
|
if (resolvedResult.type === 'approval_required') {
|
|
181
339
|
this.logger.debug('Tool approval required', {
|
|
182
340
|
eventType: 'approval.required',
|
|
@@ -238,8 +396,9 @@ export class ConversationSession {
|
|
|
238
396
|
errorMessage: decision.message,
|
|
239
397
|
});
|
|
240
398
|
yield decision.retryEvent;
|
|
399
|
+
if (!this.#isCurrentGeneration(gen))
|
|
400
|
+
return;
|
|
241
401
|
if (decision.hadStream && stream) {
|
|
242
|
-
this.conversationStore.updateFromResult(stream);
|
|
243
402
|
if (decision.shouldInjectErrorContext) {
|
|
244
403
|
this.conversationStore.addErrorContext(decision.errorContextMessage);
|
|
245
404
|
}
|
|
@@ -254,6 +413,9 @@ export class ConversationSession {
|
|
|
254
413
|
type: 'error',
|
|
255
414
|
message: error instanceof Error ? error.message : String(error),
|
|
256
415
|
};
|
|
416
|
+
if (addedUserMessage && !stream && this.#isCurrentGeneration(gen)) {
|
|
417
|
+
this.conversationStore.removeLastUserMessage();
|
|
418
|
+
}
|
|
257
419
|
this.logger.error('Conversation stream error', {
|
|
258
420
|
eventType: 'stream.failed',
|
|
259
421
|
category: 'stream',
|
|
@@ -271,6 +433,7 @@ export class ConversationSession {
|
|
|
271
433
|
* Named as a string-literal because `continue` is a keyword.
|
|
272
434
|
*/
|
|
273
435
|
async *['continue']({ answer, rejectionReason, }) {
|
|
436
|
+
const gen = this.generation;
|
|
274
437
|
const plan = this.approvalFlow.prepareContinuation(answer, rejectionReason);
|
|
275
438
|
if (!plan) {
|
|
276
439
|
return;
|
|
@@ -287,34 +450,71 @@ export class ConversationSession {
|
|
|
287
450
|
}
|
|
288
451
|
}
|
|
289
452
|
try {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
453
|
+
let transientRetryCount = 0;
|
|
454
|
+
while (true) {
|
|
455
|
+
try {
|
|
456
|
+
const stream = (await this.agentClient.continueRunStream(state, {
|
|
457
|
+
previousResponseId: this.previousResponseId,
|
|
458
|
+
}));
|
|
459
|
+
const acc = createStreamAccumulator();
|
|
460
|
+
yield* processStreamEvents(stream, acc, {
|
|
461
|
+
toolCallArgumentsById: this.toolCallArgumentsById,
|
|
462
|
+
emittedInvalidToolCallPackets: this.emittedInvalidToolCallPackets,
|
|
463
|
+
preserveExistingToolArgs: true,
|
|
464
|
+
}, { logger: this.logger, sessionId: this.id });
|
|
465
|
+
if (this.#isCurrentGeneration(gen)) {
|
|
466
|
+
this.previousResponseId = stream.lastResponseId ?? null;
|
|
467
|
+
this.conversationStore.updateFromResult(stream);
|
|
468
|
+
}
|
|
469
|
+
// Merge previously emitted command IDs with newly emitted ones
|
|
470
|
+
// This prevents duplicates when result.history contains commands from the initial stream
|
|
471
|
+
const allEmittedIds = new Set([...previouslyEmittedIds, ...acc.emittedCommandIds]);
|
|
472
|
+
const resolvedResult = yield* this.#buildAndResolve(stream, acc.finalOutput || undefined, acc.reasoningOutput || undefined, allEmittedIds, acc.latestUsage);
|
|
473
|
+
if (resolvedResult.type === 'approval_required') {
|
|
474
|
+
this.logger.debug('Tool approval required', {
|
|
475
|
+
eventType: 'approval.required',
|
|
476
|
+
category: 'approval',
|
|
477
|
+
phase: 'approval',
|
|
478
|
+
sessionId: this.id,
|
|
479
|
+
traceId: this.logger.getCorrelationId(),
|
|
480
|
+
toolName: resolvedResult.approval.toolName,
|
|
481
|
+
});
|
|
482
|
+
yield toTerminalEvent(resolvedResult);
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
yield toTerminalEvent(resolvedResult);
|
|
486
|
+
return;
|
|
487
|
+
}
|
|
488
|
+
catch (error) {
|
|
489
|
+
if (isTransientRetryableError(error) && transientRetryCount < MAX_TRANSIENT_RETRIES) {
|
|
490
|
+
transientRetryCount++;
|
|
491
|
+
const delay = Math.min(500 * Math.pow(2, transientRetryCount - 1), 30000);
|
|
492
|
+
this.logger.warn('Transient error in continuation, retrying', {
|
|
493
|
+
eventType: 'retry.transient',
|
|
494
|
+
category: 'retry',
|
|
495
|
+
phase: 'retry',
|
|
496
|
+
retryType: 'upstream',
|
|
497
|
+
retryAttempt: transientRetryCount,
|
|
498
|
+
maxRetries: MAX_TRANSIENT_RETRIES,
|
|
499
|
+
sessionId: this.id,
|
|
500
|
+
traceId: this.logger.getCorrelationId(),
|
|
501
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
502
|
+
delayMs: delay,
|
|
503
|
+
});
|
|
504
|
+
yield {
|
|
505
|
+
type: 'retry',
|
|
506
|
+
toolName: 'continuation',
|
|
507
|
+
attempt: transientRetryCount,
|
|
508
|
+
maxRetries: MAX_TRANSIENT_RETRIES,
|
|
509
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
510
|
+
retryType: 'upstream',
|
|
511
|
+
};
|
|
512
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
513
|
+
continue;
|
|
514
|
+
}
|
|
515
|
+
throw error;
|
|
516
|
+
}
|
|
316
517
|
}
|
|
317
|
-
yield toTerminalEvent(resolvedResult);
|
|
318
518
|
}
|
|
319
519
|
catch (error) {
|
|
320
520
|
yield {
|
|
@@ -329,69 +529,74 @@ export class ConversationSession {
|
|
|
329
529
|
}
|
|
330
530
|
}
|
|
331
531
|
async sendMessage(input, { onTextChunk, onReasoningChunk, onCommandMessage, onEvent, hallucinationRetryCount = 0, } = {}) {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
result
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
this.
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
532
|
+
const turn = normalizeUserTurn(input);
|
|
533
|
+
return this.#withTrafficContext(turn.text, async () => {
|
|
534
|
+
getMethod(this.agentClient, 'setSubagentEventSink')?.call(this.agentClient, onEvent ?? null);
|
|
535
|
+
let result;
|
|
536
|
+
try {
|
|
537
|
+
result = await collectTerminalResult(this.run(input, { hallucinationRetryCount }), {
|
|
538
|
+
onTextChunk,
|
|
539
|
+
onReasoningChunk,
|
|
540
|
+
onCommandMessage,
|
|
541
|
+
onEvent,
|
|
542
|
+
getRawInterruption: () => this.approvalFlow.getPendingInterruption(),
|
|
543
|
+
onFinalEvent: (event) => {
|
|
544
|
+
this.logger.debug('sendMessage received final event', {
|
|
545
|
+
sessionId: this.id,
|
|
546
|
+
hasUsage: Boolean(event.usage),
|
|
547
|
+
usage: event.usage,
|
|
548
|
+
});
|
|
549
|
+
},
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
finally {
|
|
553
|
+
getMethod(this.agentClient, 'setSubagentEventSink')?.call(this.agentClient, null);
|
|
554
|
+
}
|
|
555
|
+
if (result.type === 'response') {
|
|
556
|
+
this.logger.debug('sendMessage returning response', {
|
|
557
|
+
sessionId: this.id,
|
|
558
|
+
hasUsage: Boolean(result.usage),
|
|
559
|
+
usage: result.usage,
|
|
560
|
+
});
|
|
561
|
+
}
|
|
562
|
+
return result;
|
|
563
|
+
});
|
|
361
564
|
}
|
|
362
565
|
async handleApprovalDecision(answer, rejectionReason, { onTextChunk, onReasoningChunk, onCommandMessage, onEvent, } = {}) {
|
|
363
566
|
if (!this.approvalFlow.getPending()) {
|
|
364
567
|
return null;
|
|
365
568
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
569
|
+
return this.#withTrafficContext(undefined, async () => {
|
|
570
|
+
getMethod(this.agentClient, 'setSubagentEventSink')?.call(this.agentClient, onEvent ?? null);
|
|
571
|
+
let result;
|
|
572
|
+
try {
|
|
573
|
+
result = await collectTerminalResult(this['continue']({ answer, rejectionReason }), {
|
|
574
|
+
onTextChunk,
|
|
575
|
+
onReasoningChunk,
|
|
576
|
+
onCommandMessage,
|
|
577
|
+
onEvent,
|
|
578
|
+
getRawInterruption: () => this.approvalFlow.getPendingInterruption(),
|
|
579
|
+
onFinalEvent: (event) => {
|
|
580
|
+
this.logger.debug('handleApprovalDecision received final event', {
|
|
581
|
+
sessionId: this.id,
|
|
582
|
+
hasUsage: Boolean(event.usage),
|
|
583
|
+
usage: event.usage,
|
|
584
|
+
});
|
|
585
|
+
},
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
finally {
|
|
589
|
+
getMethod(this.agentClient, 'setSubagentEventSink')?.call(this.agentClient, null);
|
|
590
|
+
}
|
|
591
|
+
if (result.type === 'response') {
|
|
592
|
+
this.logger.debug('handleApprovalDecision returning response', {
|
|
593
|
+
sessionId: this.id,
|
|
594
|
+
hasUsage: Boolean(result.usage),
|
|
595
|
+
usage: result.usage,
|
|
596
|
+
});
|
|
597
|
+
}
|
|
598
|
+
return result;
|
|
599
|
+
});
|
|
395
600
|
}
|
|
396
601
|
async *#buildAndResolve(result, finalOutputOverride, reasoningOutputOverride, emittedCommandIds, usage) {
|
|
397
602
|
const outcome = await buildConversationResult({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-session.js","sourceRoot":"","sources":["../../source/services/conversation-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversation-session.js","sourceRoot":"","sources":["../../source/services/conversation-session.ts"],"names":[],"mappings":"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"}
|