@qduc/term2 0.21.0 → 0.22.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 +32 -10
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +83 -6
- package/dist/app.js.map +1 -1
- package/dist/cli.js +84 -2
- package/dist/cli.js.map +1 -1
- package/dist/components/InputBox.js +2 -3
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/common/MenuContainer.d.ts +5 -0
- package/dist/components/common/MenuContainer.d.ts.map +1 -1
- package/dist/components/common/MenuContainer.js +13 -3
- package/dist/components/common/MenuContainer.js.map +1 -1
- package/dist/components/input/MenuSurface.d.ts.map +1 -1
- package/dist/components/input/MenuSurface.js +12 -2
- package/dist/components/input/MenuSurface.js.map +1 -1
- package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
- package/dist/components/input/ModelMenuSession.js +67 -16
- package/dist/components/input/ModelMenuSession.js.map +1 -1
- package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
- package/dist/components/input/SettingsMenuSession.js +56 -17
- 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 +33 -3
- package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
- package/dist/components/input/menu-types.d.ts +1 -1
- package/dist/components/input/menu-types.d.ts.map +1 -1
- package/dist/components/input/triggers.js +2 -2
- package/dist/components/input/triggers.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +0 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +4 -112
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.d.ts +10 -0
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +85 -16
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProfileSelectionMenu.js +5 -4
- package/dist/components/menu/ProfileSelectionMenu.js.map +1 -1
- package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ResumeSelectionMenu.js +3 -5
- package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsSelectionMenu.js +4 -32
- package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SettingsValueSelectionMenu.js +12 -5
- package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/SkillSelectionMenu.js +3 -6
- package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
- package/dist/components/menu/SlashCommandMenu.d.ts +8 -0
- package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/menu/SlashCommandMenu.js +16 -6
- package/dist/components/menu/SlashCommandMenu.js.map +1 -1
- package/dist/components/menu/StandaloneModelPickerApp.d.ts +40 -0
- package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -0
- package/dist/components/menu/StandaloneModelPickerApp.js +106 -0
- package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -0
- package/dist/components/menu/settings-value-formatter.d.ts +11 -0
- package/dist/components/menu/settings-value-formatter.d.ts.map +1 -0
- package/dist/components/menu/settings-value-formatter.js +214 -0
- package/dist/components/menu/settings-value-formatter.js.map +1 -0
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +22 -17
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +13 -2
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/RunCodeRenderer.d.ts +16 -0
- package/dist/components/message/RunCodeRenderer.d.ts.map +1 -0
- package/dist/components/message/RunCodeRenderer.js +25 -0
- package/dist/components/message/RunCodeRenderer.js.map +1 -0
- package/dist/components/message/command-message-helpers.d.ts +30 -0
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +85 -0
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +12 -21
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/components/theme.d.ts +1 -0
- package/dist/components/theme.d.ts.map +1 -1
- package/dist/components/theme.js +1 -0
- package/dist/components/theme.js.map +1 -1
- package/dist/contracts/streamed-model-turn.d.ts +6 -0
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +5 -2
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +4 -122
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/settings-completion-logic.d.ts +1 -1
- package/dist/hooks/settings-completion-logic.d.ts.map +1 -1
- package/dist/hooks/settings-completion-logic.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +33 -20
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +3 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +107 -16
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts +33 -4
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +204 -114
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +1 -6
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +1 -8
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +10 -100
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-standalone-model-picker.d.ts +64 -0
- package/dist/hooks/use-standalone-model-picker.d.ts.map +1 -0
- package/dist/hooks/use-standalone-model-picker.js +310 -0
- package/dist/hooks/use-standalone-model-picker.js.map +1 -0
- package/dist/lib/agent-client.d.ts +17 -1
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +173 -53
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +12 -3
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +26 -7
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +3 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +49 -7
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/ask-user-answer-store.d.ts +1 -0
- package/dist/lib/ask-user-answer-store.d.ts.map +1 -1
- package/dist/lib/ask-user-answer-store.js +3 -0
- package/dist/lib/ask-user-answer-store.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts +1 -0
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +1 -0
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/non-interactive.d.ts +23 -0
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +225 -31
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/background-shell.d.ts.map +1 -1
- package/dist/prompts/background-shell.js +4 -2
- package/dist/prompts/background-shell.js.map +1 -1
- package/dist/prompts/background-shell.ts +4 -2
- package/dist/prompts/codex.md +1 -3
- package/dist/prompts/fragments/gpt-6-astra.md +13 -0
- package/dist/prompts/gpt-5-modern.md +1 -3
- package/dist/prompts/gpt-5.4-mini.md +0 -2
- package/dist/prompts/gpt-5.5.md +0 -2
- package/dist/prompts/gpt-5.6.md +0 -1
- package/dist/prompts/lite.md +1 -6
- package/dist/prompts/memory.md +2 -2
- package/dist/prompts/orchestrator.md +4 -4
- package/dist/prompts/prompt-constructor.d.ts +2 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +4 -2
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +178 -5
- package/dist/prompts/prompt-constructor.ts +7 -1
- package/dist/prompts/prompt-profiles.d.ts.map +1 -1
- package/dist/prompts/prompt-profiles.js +6 -0
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.test.ts +6 -4
- package/dist/prompts/prompt-profiles.ts +6 -0
- package/dist/prompts/session-browser.md +4 -2
- package/dist/prompts/shell-auto-approval.d.ts +1 -1
- package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
- package/dist/prompts/shell-auto-approval.js +2 -2
- package/dist/prompts/shell-auto-approval.ts +2 -2
- package/dist/prompts/subagent-delegation.js +3 -3
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +3 -3
- package/dist/prompts/subagent-delegation.ts +3 -3
- package/dist/prompts/subagents/librarian.md +4 -4
- package/dist/prompts/subagents/worker-prompt.test.ts +7 -0
- package/dist/prompts/tool-surface-guidance.d.ts +4 -0
- package/dist/prompts/tool-surface-guidance.d.ts.map +1 -0
- package/dist/prompts/tool-surface-guidance.js +19 -0
- package/dist/prompts/tool-surface-guidance.js.map +1 -0
- package/dist/prompts/tool-surface-guidance.ts +20 -0
- package/dist/providers/codex-compact.d.ts +2 -0
- package/dist/providers/codex-compact.d.ts.map +1 -1
- package/dist/providers/codex-compact.js +14 -0
- package/dist/providers/codex-compact.js.map +1 -1
- package/dist/providers/codex-responses-model.d.ts +23 -3
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +121 -33
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex.provider.d.ts +2 -0
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +3 -2
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/grok.provider.d.ts.map +1 -1
- package/dist/providers/grok.provider.js +5 -2
- package/dist/providers/grok.provider.js.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.d.ts +453 -309
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.js +453 -309
- package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
- package/dist/providers/opencode-session.d.ts.map +1 -1
- package/dist/providers/opencode-session.js +5 -0
- package/dist/providers/opencode-session.js.map +1 -1
- package/dist/providers/openrouter.provider.js +8 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/responses-websocket-sessions.d.ts +10 -0
- package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
- package/dist/providers/responses-websocket-sessions.js +9 -4
- package/dist/providers/responses-websocket-sessions.js.map +1 -1
- package/dist/providers/retrying-model.d.ts +2 -1
- package/dist/providers/retrying-model.d.ts.map +1 -1
- package/dist/providers/retrying-model.js +3 -0
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +8 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +30 -6
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/index.d.ts +2 -0
- package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
- package/dist/services/agent-runtime/context-compaction/index.js +30 -4
- package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +3 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +15 -9
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
- 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/workflow/workflow-evaluator.d.ts +7 -1
- package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts.map +1 -1
- package/dist/services/agent-runtime/workflow/workflow-evaluator.js +78 -183
- package/dist/services/agent-runtime/workflow/workflow-evaluator.js.map +1 -1
- package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts +4 -3
- package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts.map +1 -1
- package/dist/services/agent-runtime/workflow/workflow-sandbox.js +9 -7
- package/dist/services/agent-runtime/workflow/workflow-sandbox.js.map +1 -1
- package/dist/services/agent-runtime/workflow/workflow-types.d.ts +1 -1
- package/dist/services/agent-runtime/workflow/workflow-types.d.ts.map +1 -1
- package/dist/services/agent-runtime/workflow/workflow-types.js.map +1 -1
- package/dist/services/approval/approval-decision-executor.d.ts +2 -1
- package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
- package/dist/services/approval/approval-decision-executor.js +22 -116
- package/dist/services/approval/approval-decision-executor.js.map +1 -1
- package/dist/services/approval/approval-descriptor.d.ts +10 -0
- package/dist/services/approval/approval-descriptor.d.ts.map +1 -0
- package/dist/services/approval/approval-descriptor.js +23 -0
- package/dist/services/approval/approval-descriptor.js.map +1 -0
- package/dist/services/approval/approval-flow-coordinator.d.ts +2 -1
- package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.js +2 -1
- package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval/approval-grant-executor.d.ts +25 -0
- package/dist/services/approval/approval-grant-executor.d.ts.map +1 -0
- package/dist/services/approval/approval-grant-executor.js +125 -0
- package/dist/services/approval/approval-grant-executor.js.map +1 -0
- package/dist/services/approval/background-subagent-approval-controller.d.ts +2 -1
- package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
- package/dist/services/approval/nested-approval-owner.d.ts +52 -0
- package/dist/services/approval/nested-approval-owner.d.ts.map +1 -0
- package/dist/services/approval/nested-approval-owner.js +194 -0
- package/dist/services/approval/nested-approval-owner.js.map +1 -0
- package/dist/services/approval/non-interactive-approval-policy.js +1 -1
- package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-evaluator.js +2 -4
- package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +4 -0
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts +10 -3
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +16 -5
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/approval/tool-approval-policy-registry.d.ts +13 -0
- package/dist/services/approval/tool-approval-policy-registry.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-policy-registry.js +16 -1
- package/dist/services/approval/tool-approval-policy-registry.js.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts +3 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.js +3 -3
- package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +3 -2
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +32 -23
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts +11 -0
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +65 -42
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +6 -1
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +68 -19
- package/dist/services/conversation/conversation-persistence.js.map +1 -1
- package/dist/services/conversation/conversation-result-builder.d.ts +3 -0
- package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-result-builder.js +27 -23
- package/dist/services/conversation/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts +5 -0
- package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js +1 -0
- package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +11 -1
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +68 -17
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/session-browser.d.ts +34 -27
- package/dist/services/conversation/session-browser.d.ts.map +1 -1
- package/dist/services/conversation/session-browser.js +221 -60
- package/dist/services/conversation/session-browser.js.map +1 -1
- package/dist/services/conversation/session-index/session-index-database.d.ts +138 -0
- package/dist/services/conversation/session-index/session-index-database.d.ts.map +1 -0
- package/dist/services/conversation/session-index/session-index-database.js +684 -0
- package/dist/services/conversation/session-index/session-index-database.js.map +1 -0
- package/dist/services/conversation/session-index/session-index-schema.d.ts +35 -0
- package/dist/services/conversation/session-index/session-index-schema.d.ts.map +1 -0
- package/dist/services/conversation/session-index/session-index-schema.js +156 -0
- package/dist/services/conversation/session-index/session-index-schema.js.map +1 -0
- package/dist/services/conversation/session-index/session-index-service.d.ts +30 -0
- package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -0
- package/dist/services/conversation/session-index/session-index-service.js +234 -0
- package/dist/services/conversation/session-index/session-index-service.js.map +1 -0
- package/dist/services/conversation/session-index/session-index-worker-client.d.ts +36 -0
- package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -0
- package/dist/services/conversation/session-index/session-index-worker-client.js +143 -0
- package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -0
- package/dist/services/conversation/session-index/session-index-worker.d.ts +56 -0
- package/dist/services/conversation/session-index/session-index-worker.d.ts.map +1 -0
- package/dist/services/conversation/session-index/session-index-worker.js +96 -0
- package/dist/services/conversation/session-index/session-index-worker.js.map +1 -0
- package/dist/services/conversation/session-search-helpers.d.ts +4 -0
- package/dist/services/conversation/session-search-helpers.d.ts.map +1 -0
- package/dist/services/conversation/session-search-helpers.js +13 -0
- package/dist/services/conversation/session-search-helpers.js.map +1 -0
- package/dist/services/conversation-agent-client.d.ts +8 -0
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/execution-context.js +2 -2
- package/dist/services/execution-context.js.map +1 -1
- package/dist/services/hooks/hook-event-factory.d.ts +2 -1
- package/dist/services/hooks/hook-event-factory.d.ts.map +1 -1
- package/dist/services/hooks/hook-event-factory.js +2 -1
- package/dist/services/hooks/hook-event-factory.js.map +1 -1
- package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-writer.js +50 -26
- package/dist/services/logging/conversation-log-writer.js.map +1 -1
- package/dist/services/logging/logging-service.d.ts.map +1 -1
- package/dist/services/logging/logging-service.js +1 -0
- package/dist/services/logging/logging-service.js.map +1 -1
- package/dist/services/logging/provider-traffic.d.ts +22 -2
- package/dist/services/logging/provider-traffic.d.ts.map +1 -1
- package/dist/services/logging/provider-traffic.js +147 -12
- package/dist/services/logging/provider-traffic.js.map +1 -1
- package/dist/services/model-service.d.ts +42 -0
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +161 -26
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/models/model-catalog-session.d.ts.map +1 -1
- package/dist/services/models/model-catalog-session.js +11 -7
- package/dist/services/models/model-catalog-session.js.map +1 -1
- package/dist/services/models/model-favorites.d.ts +56 -0
- package/dist/services/models/model-favorites.d.ts.map +1 -0
- package/dist/services/models/model-favorites.js +93 -0
- package/dist/services/models/model-favorites.js.map +1 -0
- package/dist/services/models/model-listing.d.ts +40 -0
- package/dist/services/models/model-listing.d.ts.map +1 -1
- package/dist/services/models/model-listing.js +35 -2
- package/dist/services/models/model-listing.js.map +1 -1
- package/dist/services/models/model-nicknames.d.ts +113 -0
- package/dist/services/models/model-nicknames.d.ts.map +1 -0
- package/dist/services/models/model-nicknames.js +182 -0
- package/dist/services/models/model-nicknames.js.map +1 -0
- package/dist/services/models/model-picker-host.d.ts +72 -0
- package/dist/services/models/model-picker-host.d.ts.map +1 -0
- package/dist/services/models/model-picker-host.js +83 -0
- package/dist/services/models/model-picker-host.js.map +1 -0
- package/dist/services/models/model-resolution.d.ts +35 -3
- package/dist/services/models/model-resolution.d.ts.map +1 -1
- package/dist/services/models/model-resolution.js +276 -47
- package/dist/services/models/model-resolution.js.map +1 -1
- package/dist/services/models/reasoning-effort.d.ts +20 -0
- package/dist/services/models/reasoning-effort.d.ts.map +1 -0
- package/dist/services/models/reasoning-effort.js +28 -0
- package/dist/services/models/reasoning-effort.js.map +1 -0
- package/dist/services/models/unified-model-catalog.d.ts +4 -0
- package/dist/services/models/unified-model-catalog.d.ts.map +1 -0
- package/dist/services/models/unified-model-catalog.js +54 -0
- package/dist/services/models/unified-model-catalog.js.map +1 -0
- package/dist/services/retry/provider-failure-classification.d.ts +16 -0
- package/dist/services/retry/provider-failure-classification.d.ts.map +1 -1
- package/dist/services/retry/provider-failure-classification.js +45 -0
- package/dist/services/retry/provider-failure-classification.js.map +1 -1
- package/dist/services/retry/retry-recovery-budget.d.ts +26 -1
- package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -1
- package/dist/services/retry/retry-recovery-budget.js +33 -1
- package/dist/services/retry/retry-recovery-budget.js.map +1 -1
- package/dist/services/sandboxed-code-host/host-types.d.ts +135 -0
- package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -0
- package/dist/services/sandboxed-code-host/host-types.js +6 -0
- package/dist/services/sandboxed-code-host/host-types.js.map +1 -0
- package/dist/services/sandboxed-code-host/host-worker.d.ts +9 -0
- package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -0
- package/dist/services/sandboxed-code-host/host-worker.js +351 -0
- package/dist/services/sandboxed-code-host/host-worker.js.map +1 -0
- package/dist/services/sandboxed-code-host/sandbox.d.ts +16 -0
- package/dist/services/sandboxed-code-host/sandbox.d.ts.map +1 -0
- package/dist/services/sandboxed-code-host/sandbox.js +21 -0
- package/dist/services/sandboxed-code-host/sandbox.js.map +1 -0
- package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts +17 -0
- package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts.map +1 -0
- package/dist/services/sandboxed-code-host/sandboxed-code-host.js +347 -0
- package/dist/services/sandboxed-code-host/sandboxed-code-host.js.map +1 -0
- package/dist/services/service-interfaces.d.ts +32 -0
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/session/background-task-control.d.ts +3 -1
- package/dist/services/session/background-task-control.d.ts.map +1 -1
- package/dist/services/session/background-task-control.js +4 -0
- package/dist/services/session/background-task-control.js.map +1 -1
- package/dist/services/session/continuation-plan-applier.d.ts +2 -1
- package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
- package/dist/services/session/continuation-plan-applier.js.map +1 -1
- package/dist/services/session/continuation-recovery-handler.d.ts +2 -1
- package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/continuation-recovery-handler.js +49 -5
- package/dist/services/session/continuation-recovery-handler.js.map +1 -1
- package/dist/services/session/initial-input-preparer.d.ts +2 -1
- package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
- package/dist/services/session/initial-input-preparer.js +2 -1
- package/dist/services/session/initial-input-preparer.js.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.d.ts +2 -1
- package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.js +51 -16
- package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
- package/dist/services/session/post-execute-pending-registry.d.ts +2 -1
- package/dist/services/session/post-execute-pending-registry.d.ts.map +1 -1
- package/dist/services/session/post-execute-pending-registry.js +3 -2
- package/dist/services/session/post-execute-pending-registry.js.map +1 -1
- package/dist/services/session/session-client-factory.d.ts +4 -0
- package/dist/services/session/session-client-factory.d.ts.map +1 -1
- package/dist/services/session/session-client-factory.js +12 -4
- package/dist/services/session/session-client-factory.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +26 -2
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +97 -18
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-continuity-reset.d.ts +2 -1
- package/dist/services/session/session-continuity-reset.d.ts.map +1 -1
- package/dist/services/session/session-continuity-reset.js +5 -2
- package/dist/services/session/session-continuity-reset.js.map +1 -1
- package/dist/services/session/session-identity.d.ts +20 -0
- package/dist/services/session/session-identity.d.ts.map +1 -0
- package/dist/services/session/session-identity.js +43 -0
- package/dist/services/session/session-identity.js.map +1 -0
- package/dist/services/session/session-lifecycle.d.ts +5 -1
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +5 -1
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts +2 -1
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +5 -4
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -1
- package/dist/services/session/test-helpers/conversation-session-fixtures.js +14 -9
- package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +2 -1
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-coordinator.js +3 -0
- 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 +58 -21
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/session-rollover/session-rollover-brief.d.ts +8 -1
- package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
- package/dist/services/session-rollover/session-rollover-brief.js +14 -1
- package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
- package/dist/services/settings/setting-schema-utils.d.ts +2 -0
- package/dist/services/settings/setting-schema-utils.d.ts.map +1 -1
- package/dist/services/settings/setting-schema-utils.js +15 -27
- package/dist/services/settings/setting-schema-utils.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +8 -0
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +23 -6
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts +207 -0
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +48 -1
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/settings-ui-metadata.d.ts +27 -0
- package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -0
- package/dist/services/settings/settings-ui-metadata.js +283 -0
- package/dist/services/settings/settings-ui-metadata.js.map +1 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +10 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +46 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +8 -0
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/role-loader.d.ts.map +1 -1
- package/dist/services/subagents/role-loader.js +4 -0
- package/dist/services/subagents/role-loader.js.map +1 -1
- package/dist/services/subagents/subagent-client-types.d.ts +7 -0
- package/dist/services/subagents/subagent-client-types.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +4 -1
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +2 -0
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +4 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +2 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts +8 -0
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +289 -41
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +2 -1
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/test-helpers/conversation-session-with-adapter.d.ts +1 -1
- package/dist/test-helpers/conversation-session-with-adapter.d.ts.map +1 -1
- package/dist/test-helpers/conversation-session-with-adapter.js +6 -1
- package/dist/test-helpers/conversation-session-with-adapter.js.map +1 -1
- package/dist/test-helpers/vitest-cache-isolation.d.ts +2 -0
- package/dist/test-helpers/vitest-cache-isolation.d.ts.map +1 -0
- package/dist/test-helpers/vitest-cache-isolation.js +17 -0
- package/dist/test-helpers/vitest-cache-isolation.js.map +1 -0
- package/dist/tools/agent/activate-skill.d.ts.map +1 -1
- package/dist/tools/agent/activate-skill.js +1 -0
- package/dist/tools/agent/activate-skill.js.map +1 -1
- package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
- package/dist/tools/agent/configure-task-check-in.js +1 -0
- package/dist/tools/agent/configure-task-check-in.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +16 -12
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +9 -11
- package/dist/tools/file/apply-patch.js.map +1 -1
- package/dist/tools/file/code-context.d.ts.map +1 -1
- package/dist/tools/file/code-context.js +40 -5
- 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 +13 -8
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/file/glob.d.ts.map +1 -1
- package/dist/tools/file/glob.js +49 -11
- package/dist/tools/file/glob.js.map +1 -1
- package/dist/tools/file/grep.d.ts.map +1 -1
- package/dist/tools/file/grep.js +32 -8
- package/dist/tools/file/grep.js.map +1 -1
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +109 -6
- package/dist/tools/file/read-file.js.map +1 -1
- package/dist/tools/file/search-replace.js +4 -4
- package/dist/tools/file/search-replace.js.map +1 -1
- package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
- package/dist/tools/file/upstream-apply-patch.js +4 -1
- package/dist/tools/file/upstream-apply-patch.js.map +1 -1
- package/dist/tools/memory/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory/memory-tools.js +19 -1
- package/dist/tools/memory/memory-tools.js.map +1 -1
- package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
- package/dist/tools/session-browser/session-browser-tools.js +24 -8
- package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
- package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
- package/dist/tools/session-rollover/session-rollover-tool.js +8 -2
- package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
- package/dist/tools/system/run-code/index.d.ts +2 -0
- package/dist/tools/system/run-code/index.d.ts.map +1 -0
- package/dist/tools/system/run-code/index.js +2 -0
- package/dist/tools/system/run-code/index.js.map +1 -0
- package/dist/tools/system/run-code/run-code-telemetry.d.ts +92 -0
- package/dist/tools/system/run-code/run-code-telemetry.d.ts.map +1 -0
- package/dist/tools/system/run-code/run-code-telemetry.js +189 -0
- package/dist/tools/system/run-code/run-code-telemetry.js.map +1 -0
- package/dist/tools/system/run-code/run-code.d.ts +98 -0
- package/dist/tools/system/run-code/run-code.d.ts.map +1 -0
- package/dist/tools/system/run-code/run-code.js +1078 -0
- package/dist/tools/system/run-code/run-code.js.map +1 -0
- package/dist/tools/system/run-code/tools-header.d.ts +25 -0
- package/dist/tools/system/run-code/tools-header.d.ts.map +1 -0
- package/dist/tools/system/run-code/tools-header.js +136 -0
- package/dist/tools/system/run-code/tools-header.js.map +1 -0
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +58 -9
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/system/worktree.js +2 -2
- package/dist/tools/system/worktree.js.map +1 -1
- package/dist/tools/types.d.ts +24 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/utils.d.ts +10 -0
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +13 -0
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/web/web-fetch.d.ts.map +1 -1
- package/dist/tools/web/web-fetch.js +14 -6
- package/dist/tools/web/web-fetch.js.map +1 -1
- package/dist/tools/web/web-search.d.ts.map +1 -1
- package/dist/tools/web/web-search.js +2 -1
- package/dist/tools/web/web-search.js.map +1 -1
- package/dist/utils/ai/model-settings.d.ts.map +1 -1
- package/dist/utils/ai/model-settings.js +0 -47
- package/dist/utils/ai/model-settings.js.map +1 -1
- package/dist/utils/conversation/apply-conversation-result.d.ts.map +1 -1
- package/dist/utils/conversation/apply-conversation-result.js +13 -0
- package/dist/utils/conversation/apply-conversation-result.js.map +1 -1
- package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-utils.js +14 -0
- package/dist/utils/conversation/conversation-utils.js.map +1 -1
- package/dist/utils/output/bound-tool-result.d.ts +23 -0
- package/dist/utils/output/bound-tool-result.d.ts.map +1 -1
- package/dist/utils/output/bound-tool-result.js +27 -0
- package/dist/utils/output/bound-tool-result.js.map +1 -1
- package/dist/utils/settings-command.d.ts +8 -0
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +45 -30
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/execute-shell.d.ts +18 -0
- package/dist/utils/shell/execute-shell.d.ts.map +1 -1
- package/dist/utils/shell/execute-shell.js +48 -6
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/shell/shell-output.d.ts +7 -1
- package/dist/utils/shell/shell-output.d.ts.map +1 -1
- package/dist/utils/shell/shell-output.js +37 -7
- package/dist/utils/shell/shell-output.js.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.d.ts +9 -0
- package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming/streaming-session-factory.js +1 -1
- package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
- package/dist/utils/tool-args-display.d.ts +21 -0
- package/dist/utils/tool-args-display.d.ts.map +1 -0
- package/dist/utils/tool-args-display.js +34 -0
- package/dist/utils/tool-args-display.js.map +1 -0
- package/dist/utils/value-suggestions.d.ts +4 -10
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +77 -144
- package/dist/utils/value-suggestions.js.map +1 -1
- package/dist/utils/worker-bootstrap.d.ts +3 -0
- package/dist/utils/worker-bootstrap.d.ts.map +1 -0
- package/dist/utils/worker-bootstrap.js +7 -0
- package/dist/utils/worker-bootstrap.js.map +1 -0
- package/dist/utils/worker-cwd-preload.cjs +23 -0
- package/dist/utils/worker-cwd-preload.cjs.map +1 -0
- package/dist/utils/worker-cwd-preload.d.cts +2 -0
- package/dist/utils/worker-cwd-preload.d.cts.map +1 -0
- package/package.json +5 -2
- package/dist/services/agent-runtime/workflow/workflow-worker.d.ts +0 -4
- package/dist/services/agent-runtime/workflow/workflow-worker.d.ts.map +0 -1
- package/dist/services/agent-runtime/workflow/workflow-worker.js +0 -55
- package/dist/services/agent-runtime/workflow/workflow-worker.js.map +0 -1
|
@@ -6,6 +6,7 @@ import { sanitizeHeaders } from '../utils/header-sanitizer.js';
|
|
|
6
6
|
import { AbortedStreamRecorder } from './aborted-stream-recorder.js';
|
|
7
7
|
import { isOrphanedChainedToolOutputError, OrphanedChainedToolOutputError } from '../lib/chained-input-filter.js';
|
|
8
8
|
import { AmbiguousModelOutcomeError, ConversationStateNoProgressError } from '../services/retry/retry-errors.js';
|
|
9
|
+
import { isClassifiedCancellation } from '../services/retry/provider-failure-classification.js';
|
|
9
10
|
import { fingerprintChainRequest } from '../services/retry/chain-recovery-fingerprint.js';
|
|
10
11
|
import { ChainedWireState } from './chained-wire-state.js';
|
|
11
12
|
import { LunaResponsesLiteWireProtocol } from './luna-responses-lite-wire-protocol.js';
|
|
@@ -88,7 +89,7 @@ export class CodexResponsesTransport {
|
|
|
88
89
|
const stream = await this.client.responses.create({
|
|
89
90
|
model: this.model,
|
|
90
91
|
input: [...request.input, { type: 'compaction_trigger' }],
|
|
91
|
-
parallel_tool_calls:
|
|
92
|
+
parallel_tool_calls: !isCodexResponsesLiteModel(this.model),
|
|
92
93
|
stream: true,
|
|
93
94
|
store: false,
|
|
94
95
|
include: ['reasoning.encrypted_content'],
|
|
@@ -149,14 +150,23 @@ export class CodexResponsesTransport {
|
|
|
149
150
|
},
|
|
150
151
|
};
|
|
151
152
|
}
|
|
152
|
-
async fetchResponse(request, stream, requestData) {
|
|
153
|
+
async fetchResponse(request, stream, requestData, requestContext) {
|
|
153
154
|
try {
|
|
154
155
|
if (stream && this.websocket) {
|
|
155
156
|
if (!(this.client instanceof OpenAI) && typeof this.client?.responses?.create === 'function') {
|
|
156
157
|
return this.client.responses.create(requestData);
|
|
157
158
|
}
|
|
158
159
|
const headers = request.providerOptions?.extraHeaders;
|
|
159
|
-
const
|
|
160
|
+
const affinityKey = typeof request.codex?.promptCacheKey === 'string' && request.codex.promptCacheKey.length > 0
|
|
161
|
+
? request.codex.promptCacheKey
|
|
162
|
+
: undefined;
|
|
163
|
+
const acquisition = this.#sessions.acquireWithMetadata(headers, { affinityKey });
|
|
164
|
+
const socket = acquisition.socket;
|
|
165
|
+
requestContext?.onConnectionAcquired?.({
|
|
166
|
+
connectionId: acquisition.connectionId,
|
|
167
|
+
reused: acquisition.reused,
|
|
168
|
+
...(affinityKey ? { affinityKey } : {}),
|
|
169
|
+
});
|
|
160
170
|
const messages = socket.stream();
|
|
161
171
|
const requestEvent = { type: 'response.create', ...requestData };
|
|
162
172
|
// Until the frame is written to an OPEN socket it is still ours, so a
|
|
@@ -208,6 +218,12 @@ export class CodexResponsesTransport {
|
|
|
208
218
|
const event = message.message;
|
|
209
219
|
if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
|
|
210
220
|
terminalReceived = true;
|
|
221
|
+
// The terminal frame proves this lease is no longer in
|
|
222
|
+
// flight. Release before yielding it: the application can
|
|
223
|
+
// settle a rollover immediately after observing the
|
|
224
|
+
// terminal event, before this generator is resumed for its
|
|
225
|
+
// finally block.
|
|
226
|
+
release(true);
|
|
211
227
|
}
|
|
212
228
|
yield event;
|
|
213
229
|
}
|
|
@@ -215,6 +231,7 @@ export class CodexResponsesTransport {
|
|
|
215
231
|
const event = message.event;
|
|
216
232
|
if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
|
|
217
233
|
terminalReceived = true;
|
|
234
|
+
release(true);
|
|
218
235
|
}
|
|
219
236
|
yield event;
|
|
220
237
|
}
|
|
@@ -285,9 +302,9 @@ export class OpenAIResponsesModel {
|
|
|
285
302
|
}
|
|
286
303
|
return built;
|
|
287
304
|
}
|
|
288
|
-
async fetchResponse(request, stream) {
|
|
305
|
+
async fetchResponse(request, stream, requestContext) {
|
|
289
306
|
const built = this.buildResponsesCreateRequest(request, stream);
|
|
290
|
-
return this.transport.fetchResponse(request, stream, built.requestData);
|
|
307
|
+
return this.transport.fetchResponse(request, stream, built.requestData, requestContext);
|
|
291
308
|
}
|
|
292
309
|
async fetchUnaryResponse(request) {
|
|
293
310
|
return this.fetchResponse(request, false);
|
|
@@ -1015,6 +1032,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1015
1032
|
#lastSentChainFingerprint;
|
|
1016
1033
|
#lastRejectedChainFingerprint;
|
|
1017
1034
|
#lastLogicalRequestByKey = new Map();
|
|
1035
|
+
#transportDiagnosticsByRequest = new WeakMap();
|
|
1018
1036
|
providerTraffic;
|
|
1019
1037
|
diagnosticLogger;
|
|
1020
1038
|
sessionContextService;
|
|
@@ -1048,10 +1066,31 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1048
1066
|
: websocketReceiveTimeouts;
|
|
1049
1067
|
this.requestCapture = requestCapture instanceof CodexResponsesTransport ? undefined : requestCapture;
|
|
1050
1068
|
}
|
|
1069
|
+
/**
|
|
1070
|
+
* Drop server-history bookkeeping for one logical scope while leaving the
|
|
1071
|
+
* provider transport pool alive. Rollover supplies the predecessor key;
|
|
1072
|
+
* refusing an unscoped reset protects live nested scopes sharing this model.
|
|
1073
|
+
*/
|
|
1074
|
+
resetConversationState(options) {
|
|
1075
|
+
if (!options?.providerHistoryKey)
|
|
1076
|
+
return;
|
|
1077
|
+
this.#forgetCodexServerHistoryForKey(options.providerHistoryKey);
|
|
1078
|
+
}
|
|
1079
|
+
#transportDiagnostics(request) {
|
|
1080
|
+
return this.#transportDiagnosticsByRequest.get(request);
|
|
1081
|
+
}
|
|
1082
|
+
async compactHistory(request) {
|
|
1083
|
+
const result = await super.compactHistory(request);
|
|
1084
|
+
// A native compaction item replaces the provider's prior transcript. The
|
|
1085
|
+
// old Responses-Lite chain may still contain an unfinished function call,
|
|
1086
|
+
// so retaining it would combine the checkpoint with stale server debt.
|
|
1087
|
+
this.#forgetCodexServerHistoryForCurrentKey();
|
|
1088
|
+
return result;
|
|
1089
|
+
}
|
|
1051
1090
|
#modelNameFallback() {
|
|
1052
1091
|
return this.modelId;
|
|
1053
1092
|
}
|
|
1054
|
-
#logTrafficStarted(requestId, requestData, headers) {
|
|
1093
|
+
#logTrafficStarted(requestId, requestData, headers, transportDiagnostics) {
|
|
1055
1094
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1056
1095
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1057
1096
|
const sanitizedHeaders = headers ? sanitizeHeaders(headers) : undefined;
|
|
@@ -1061,11 +1100,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1061
1100
|
model,
|
|
1062
1101
|
sentBody: requestData,
|
|
1063
1102
|
headers: sanitizedHeaders,
|
|
1103
|
+
transportDiagnostics,
|
|
1064
1104
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1065
1105
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1066
1106
|
});
|
|
1067
1107
|
}
|
|
1068
|
-
#logTrafficReceived(requestId, requestData, response, receiveTiming) {
|
|
1108
|
+
#logTrafficReceived(requestId, requestData, response, receiveTiming, transportDiagnostics) {
|
|
1069
1109
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1070
1110
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1071
1111
|
providerTraffic.recordResponseReceived({
|
|
@@ -1076,11 +1116,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1076
1116
|
response: response,
|
|
1077
1117
|
transport: 'websocket',
|
|
1078
1118
|
...(receiveTiming ? { receiveTiming } : {}),
|
|
1119
|
+
transportDiagnostics,
|
|
1079
1120
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1080
1121
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1081
1122
|
});
|
|
1082
1123
|
}
|
|
1083
|
-
#logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics) {
|
|
1124
|
+
#logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics, transportDiagnostics) {
|
|
1084
1125
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1085
1126
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1086
1127
|
providerTraffic.recordRequestFailed({
|
|
@@ -1090,11 +1131,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1090
1131
|
error,
|
|
1091
1132
|
...(receiveTiming ? { receiveTiming } : {}),
|
|
1092
1133
|
...(diagnostics ? { diagnostics } : {}),
|
|
1134
|
+
transportDiagnostics,
|
|
1093
1135
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1094
1136
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1095
1137
|
});
|
|
1096
1138
|
}
|
|
1097
|
-
#logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics) {
|
|
1139
|
+
#logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics, transportDiagnostics) {
|
|
1098
1140
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1099
1141
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1100
1142
|
providerTraffic.recordResponseClosed({
|
|
@@ -1104,11 +1146,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1104
1146
|
outcome,
|
|
1105
1147
|
eventCount,
|
|
1106
1148
|
...(diagnostics ? { diagnostics } : {}),
|
|
1149
|
+
transportDiagnostics,
|
|
1107
1150
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1108
1151
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1109
1152
|
});
|
|
1110
1153
|
}
|
|
1111
|
-
async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent) {
|
|
1154
|
+
async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent, transportDiagnostics) {
|
|
1112
1155
|
const logReceived = this.#logTrafficReceived.bind(this);
|
|
1113
1156
|
const logFailed = this.#logTrafficFailed.bind(this);
|
|
1114
1157
|
const logClosed = this.#logTrafficClosed.bind(this);
|
|
@@ -1141,7 +1184,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1141
1184
|
if (wireStateKey && wireStateToken && typeof response.id === 'string' && response.id.length > 0) {
|
|
1142
1185
|
wireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
|
|
1143
1186
|
}
|
|
1144
|
-
logReceived(requestId, requestData, response, receiveTiming?.());
|
|
1187
|
+
logReceived(requestId, requestData, response, receiveTiming?.(), transportDiagnostics);
|
|
1145
1188
|
}
|
|
1146
1189
|
yield event;
|
|
1147
1190
|
}
|
|
@@ -1156,21 +1199,21 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1156
1199
|
// reached the wire; the wire-state decision above still keys off the
|
|
1157
1200
|
// error as thrown.
|
|
1158
1201
|
const failure = asProvablyUnsent?.(error) ?? error;
|
|
1159
|
-
if (signal?.aborted && eventCount > 0) {
|
|
1202
|
+
if (signal?.aborted && eventCount > 0 && isClassifiedCancellation(failure)) {
|
|
1160
1203
|
// An active request can reject from the provider as soon as the
|
|
1161
1204
|
// application's abort reaches the socket. Preserve the partial raw
|
|
1162
1205
|
// transcript in the same aborted outcome used when the consumer
|
|
1163
1206
|
// closes the iterator explicitly; otherwise a guard-triggered abort
|
|
1164
1207
|
// would be reduced to bounded counters before the recorder's
|
|
1165
1208
|
// finally block can retain it.
|
|
1166
|
-
logClosed(requestId, requestData, 'aborted', eventCount, recorder.diagnostics());
|
|
1209
|
+
logClosed(requestId, requestData, 'aborted', eventCount, recorder.diagnostics(), transportDiagnostics);
|
|
1167
1210
|
}
|
|
1168
1211
|
else {
|
|
1169
1212
|
// Bounded evidence of whatever progress the recorder observed before
|
|
1170
1213
|
// the failure (category/counter/timing, no raw frame payload) — a
|
|
1171
1214
|
// stream that fails after thousands of frames (e.g. an abrupt close)
|
|
1172
1215
|
// must not lose that evidence the way an unrecorded failure would.
|
|
1173
|
-
logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics());
|
|
1216
|
+
logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics(), transportDiagnostics);
|
|
1174
1217
|
}
|
|
1175
1218
|
throw failure;
|
|
1176
1219
|
}
|
|
@@ -1189,7 +1232,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1189
1232
|
? recorder.diagnostics()
|
|
1190
1233
|
: outcome === 'failed'
|
|
1191
1234
|
? recorder.boundedDiagnostics()
|
|
1192
|
-
: undefined);
|
|
1235
|
+
: undefined, transportDiagnostics);
|
|
1193
1236
|
}
|
|
1194
1237
|
recorder.release();
|
|
1195
1238
|
if (wireStateKey && wireStateToken) {
|
|
@@ -1347,6 +1390,23 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1347
1390
|
if (previousResponseId)
|
|
1348
1391
|
this.codexConsumedToolResultCallIdsByResponseId.set(previousResponseId, consumed);
|
|
1349
1392
|
}
|
|
1393
|
+
#forgetCodexServerHistoryForCurrentKey() {
|
|
1394
|
+
this.#forgetCodexServerHistoryForKey(this.#getCodexServerHistoryKey());
|
|
1395
|
+
}
|
|
1396
|
+
#forgetCodexServerHistoryForKey(key) {
|
|
1397
|
+
if (!key)
|
|
1398
|
+
return;
|
|
1399
|
+
const responseId = this.chainedWireState.getStoredResponseId(key);
|
|
1400
|
+
this.chainedWireState.invalidate(key);
|
|
1401
|
+
this.codexPreviousResponseIds.delete(key);
|
|
1402
|
+
this.codexTurnIdsBySession.delete(key);
|
|
1403
|
+
this.#lastLogicalRequestByKey.delete(key);
|
|
1404
|
+
if (responseId) {
|
|
1405
|
+
this.codexConsumedToolResultCallIdsByResponseId.delete(responseId);
|
|
1406
|
+
this.codexFunctionCallIdsByResponseId.delete(responseId);
|
|
1407
|
+
}
|
|
1408
|
+
this.#lastSentChainFingerprint = undefined;
|
|
1409
|
+
}
|
|
1350
1410
|
#forgetCodexResponseId() {
|
|
1351
1411
|
this.#serverHistoryReuseDisabled = true;
|
|
1352
1412
|
this.codexPreviousResponseIds.clear();
|
|
@@ -1423,39 +1483,47 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1423
1483
|
return undefined;
|
|
1424
1484
|
}
|
|
1425
1485
|
const sessionContext = this.sessionContextService?.getContext();
|
|
1426
|
-
const
|
|
1427
|
-
|
|
1486
|
+
const logicalSessionId = sessionContext?.providerHistoryKey ?? sessionContext?.sessionId ?? requestId;
|
|
1487
|
+
// WebSocket handshake headers cannot change after a socket is opened. Use
|
|
1488
|
+
// the root cache affinity for that physical identity, while the per-frame
|
|
1489
|
+
// client metadata below continues to identify the current logical scope.
|
|
1490
|
+
// The backend's treatment of these two identity channels is not assumed;
|
|
1491
|
+
// the distinction is kept explicit in tests and telemetry.
|
|
1492
|
+
const transportSessionId = request.codex?.promptCacheKey ?? sessionContext?.promptCacheKey ?? logicalSessionId;
|
|
1493
|
+
const threadId = logicalSessionId;
|
|
1428
1494
|
const hasPreviousResponseId = typeof request?.previousResponseId === 'string' && request.previousResponseId.length > 0;
|
|
1429
|
-
const turnId = hasPreviousResponseId
|
|
1430
|
-
|
|
1495
|
+
const turnId = hasPreviousResponseId
|
|
1496
|
+
? this.codexTurnIdsBySession.get(logicalSessionId) ?? randomUUID()
|
|
1497
|
+
: randomUUID();
|
|
1498
|
+
this.codexTurnIdsBySession.set(logicalSessionId, turnId);
|
|
1431
1499
|
const windowId = `${threadId}:1`;
|
|
1432
1500
|
const turnMetadata = JSON.stringify({
|
|
1433
1501
|
installation_id: installationId,
|
|
1434
|
-
session_id:
|
|
1502
|
+
session_id: logicalSessionId,
|
|
1435
1503
|
thread_id: threadId,
|
|
1436
1504
|
turn_id: turnId,
|
|
1437
1505
|
window_id: windowId,
|
|
1438
1506
|
request_kind: 'turn',
|
|
1439
1507
|
});
|
|
1440
1508
|
return {
|
|
1441
|
-
sessionId,
|
|
1509
|
+
sessionId: logicalSessionId,
|
|
1442
1510
|
threadId,
|
|
1443
1511
|
turnId,
|
|
1444
1512
|
windowId,
|
|
1445
1513
|
turnMetadata,
|
|
1446
1514
|
clientMetadata: {
|
|
1447
1515
|
'x-codex-installation-id': installationId,
|
|
1448
|
-
session_id:
|
|
1516
|
+
session_id: logicalSessionId,
|
|
1449
1517
|
thread_id: threadId,
|
|
1450
1518
|
'x-codex-window-id': windowId,
|
|
1451
1519
|
turn_id: turnId,
|
|
1452
1520
|
'x-codex-turn-metadata': turnMetadata,
|
|
1453
1521
|
},
|
|
1454
1522
|
headers: {
|
|
1455
|
-
'x-client-request-id':
|
|
1456
|
-
'session-id':
|
|
1457
|
-
'thread-id':
|
|
1458
|
-
'x-codex-window-id':
|
|
1523
|
+
'x-client-request-id': transportSessionId,
|
|
1524
|
+
'session-id': transportSessionId,
|
|
1525
|
+
'thread-id': transportSessionId,
|
|
1526
|
+
'x-codex-window-id': transportSessionId + ':1',
|
|
1459
1527
|
'x-codex-turn-metadata': turnMetadata,
|
|
1460
1528
|
},
|
|
1461
1529
|
};
|
|
@@ -1676,14 +1744,28 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1676
1744
|
// transport's private fetch path. Capture it without changing the
|
|
1677
1745
|
// prepared request or wire state.
|
|
1678
1746
|
captureProviderRequest(this.requestCapture, { provider: 'codex', transport: 'websocket', requestData });
|
|
1679
|
-
|
|
1747
|
+
const transportDiagnostics = {
|
|
1748
|
+
...(request.codex?.promptCacheKey ?? this.sessionContextService?.getContext()?.promptCacheKey
|
|
1749
|
+
? {
|
|
1750
|
+
affinityKey: request.codex?.promptCacheKey ?? this.sessionContextService?.getContext()?.promptCacheKey,
|
|
1751
|
+
}
|
|
1752
|
+
: {}),
|
|
1753
|
+
...(this.#getCodexServerHistoryKey() ? { logicalHistoryKey: this.#getCodexServerHistoryKey() } : {}),
|
|
1754
|
+
};
|
|
1755
|
+
this.#logTrafficStarted(requestId, requestData, extraHeaders, transportDiagnostics);
|
|
1680
1756
|
if (!stream) {
|
|
1681
1757
|
try {
|
|
1682
|
-
const response = await fetchAndReconstructUnaryResponse(async () => watchdog.wrap(await super.fetchResponse(updatedRequest, true
|
|
1758
|
+
const response = await fetchAndReconstructUnaryResponse(async () => watchdog.wrap(await super.fetchResponse(updatedRequest, true, {
|
|
1759
|
+
onConnectionAcquired: (details) => this.#transportDiagnosticsByRequest.set(updatedRequest, {
|
|
1760
|
+
...transportDiagnostics,
|
|
1761
|
+
connectionId: details.connectionId,
|
|
1762
|
+
reused: details.reused,
|
|
1763
|
+
}),
|
|
1764
|
+
})), this.diagnosticLogger);
|
|
1683
1765
|
if (wireStateKey && wireStateToken && typeof response?.id === 'string' && response.id.length > 0) {
|
|
1684
1766
|
this.chainedWireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
|
|
1685
1767
|
}
|
|
1686
|
-
this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming());
|
|
1768
|
+
this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming(), this.#transportDiagnostics(updatedRequest));
|
|
1687
1769
|
return response;
|
|
1688
1770
|
}
|
|
1689
1771
|
catch (error) {
|
|
@@ -1700,15 +1782,21 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1700
1782
|
this.chainedWireState.invalidate(wireStateKey);
|
|
1701
1783
|
}
|
|
1702
1784
|
}
|
|
1703
|
-
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
|
|
1785
|
+
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
|
|
1704
1786
|
throw failure;
|
|
1705
1787
|
}
|
|
1706
1788
|
}
|
|
1707
1789
|
try {
|
|
1708
|
-
const response = (await super.fetchResponse(updatedRequest, stream
|
|
1790
|
+
const response = (await super.fetchResponse(updatedRequest, stream, {
|
|
1791
|
+
onConnectionAcquired: (details) => this.#transportDiagnosticsByRequest.set(updatedRequest, {
|
|
1792
|
+
...transportDiagnostics,
|
|
1793
|
+
connectionId: details.connectionId,
|
|
1794
|
+
reused: details.reused,
|
|
1795
|
+
}),
|
|
1796
|
+
}));
|
|
1709
1797
|
const patched = wrapCodexStream(watchdog.wrap(response), this.diagnosticLogger);
|
|
1710
1798
|
return this.#withTrafficLogging(patched, requestId, requestData, wireStateKey, wireStateToken, updatedRequest.signal, () => watchdog.receiveTiming(), (error) => asProvablyUnsentTimeout(watchdog.timeoutError(), watchdog.receiveTiming(), updatedRequest) ??
|
|
1711
|
-
asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0));
|
|
1799
|
+
asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0), this.#transportDiagnostics(updatedRequest));
|
|
1712
1800
|
}
|
|
1713
1801
|
catch (error) {
|
|
1714
1802
|
const timeoutError = watchdog.timeoutError();
|
|
@@ -1724,7 +1812,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1724
1812
|
this.chainedWireState.invalidate(wireStateKey);
|
|
1725
1813
|
}
|
|
1726
1814
|
}
|
|
1727
|
-
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
|
|
1815
|
+
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
|
|
1728
1816
|
throw failure;
|
|
1729
1817
|
}
|
|
1730
1818
|
}
|