@qduc/term2 0.20.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 +176 -102
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +144 -41
- package/dist/app.js.map +1 -1
- package/dist/cli.js +197 -38
- package/dist/cli.js.map +1 -1
- package/dist/commands/guarded-settings-command.d.ts.map +1 -1
- package/dist/commands/guarded-settings-command.js +33 -5
- package/dist/commands/guarded-settings-command.js.map +1 -1
- package/dist/commands/mode-commands.d.ts +17 -12
- package/dist/commands/mode-commands.d.ts.map +1 -1
- package/dist/commands/mode-commands.js +68 -44
- package/dist/commands/mode-commands.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/ApplicationInputSurface.d.ts.map +1 -1
- package/dist/components/input/ApplicationInputSurface.js +4 -0
- package/dist/components/input/ApplicationInputSurface.js.map +1 -1
- package/dist/components/input/MenuSurface.d.ts.map +1 -1
- package/dist/components/input/MenuSurface.js +13 -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/ProfileMenuSession.d.ts +16 -0
- package/dist/components/input/ProfileMenuSession.d.ts.map +1 -0
- package/dist/components/input/ProfileMenuSession.js +64 -0
- package/dist/components/input/ProfileMenuSession.js.map +1 -0
- 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/determine-active-menu.d.ts +3 -0
- package/dist/components/input/determine-active-menu.d.ts.map +1 -1
- package/dist/components/input/determine-active-menu.js +6 -1
- package/dist/components/input/determine-active-menu.js.map +1 -1
- package/dist/components/input/menu-registry.d.ts.map +1 -1
- package/dist/components/input/menu-registry.js +2 -0
- package/dist/components/input/menu-registry.js.map +1 -1
- package/dist/components/input/menu-types.d.ts +5 -1
- package/dist/components/input/menu-types.d.ts.map +1 -1
- package/dist/components/input/triggers.d.ts +1 -0
- package/dist/components/input/triggers.d.ts.map +1 -1
- package/dist/components/input/triggers.js +28 -2
- package/dist/components/input/triggers.js.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.js +6 -2
- package/dist/components/layout/BackgroundTaskManager.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 -104
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/Banner.d.ts.map +1 -1
- package/dist/components/layout/Banner.js +10 -5
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +25 -12
- package/dist/components/layout/StatusBar.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 +12 -0
- package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -0
- package/dist/components/menu/ProfileSelectionMenu.js +49 -0
- package/dist/components/menu/ProfileSelectionMenu.js.map +1 -0
- package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ResumeSelectionMenu.js +9 -19
- 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/ChatMessage.js +1 -1
- package/dist/components/message/ChatMessage.js.map +1 -1
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +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 +28 -11
- 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 +35 -5
- 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/context/InputContext.d.ts +1 -1
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js +8 -0
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/session-rollover.d.ts +9 -1
- package/dist/contracts/session-rollover.d.ts.map +1 -1
- package/dist/contracts/streamed-model-turn.d.ts +26 -2
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
- package/dist/gateway/gateway.d.ts.map +1 -1
- package/dist/gateway/gateway.js +19 -23
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/launcher-seam.d.ts.map +1 -1
- package/dist/gateway/launcher-seam.js +2 -19
- package/dist/gateway/launcher-seam.js.map +1 -1
- package/dist/gateway/settings-rpc.d.ts +1 -1
- package/dist/gateway/settings-rpc.d.ts.map +1 -1
- package/dist/gateway/settings-rpc.js +2 -0
- package/dist/gateway/settings-rpc.js.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 +16 -110
- 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-commands.d.ts +3 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +21 -14
- package/dist/hooks/use-app-commands.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 +5 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +108 -17
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-handoff-flow.d.ts +1 -0
- package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
- package/dist/hooks/use-handoff-flow.js +19 -12
- package/dist/hooks/use-handoff-flow.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-profile-selection.d.ts +34 -0
- package/dist/hooks/use-profile-selection.d.ts.map +1 -0
- package/dist/hooks/use-profile-selection.js +103 -0
- package/dist/hooks/use-profile-selection.js.map +1 -0
- package/dist/hooks/use-resume-selection.d.ts +2 -0
- package/dist/hooks/use-resume-selection.d.ts.map +1 -1
- package/dist/hooks/use-resume-selection.js +11 -9
- package/dist/hooks/use-resume-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 +20 -94
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-skill-selection.d.ts +5 -3
- package/dist/hooks/use-skill-selection.d.ts.map +1 -1
- package/dist/hooks/use-skill-selection.js +8 -6
- package/dist/hooks/use-skill-selection.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 +211 -55
- 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 +27 -11
- 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 +110 -46
- 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/harness-input-idle.d.ts +10 -0
- package/dist/lib/harness-input-idle.d.ts.map +1 -1
- package/dist/lib/harness-input-idle.js +47 -5
- package/dist/lib/harness-input-idle.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 +231 -37
- 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/prefix-quality.test.ts +8 -5
- package/dist/prompts/prompt-constructor.d.ts +7 -6
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +17 -7
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +250 -52
- package/dist/prompts/prompt-constructor.ts +27 -13
- 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 +5 -1
- package/dist/prompts/shell-auto-approval.d.ts +2 -2
- package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
- package/dist/prompts/shell-auto-approval.js +19 -16
- package/dist/prompts/shell-auto-approval.js.map +1 -1
- package/dist/prompts/shell-auto-approval.ts +19 -16
- 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/aborted-stream-recorder.js +2 -1
- package/dist/providers/aborted-stream-recorder.js.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.js +7 -0
- package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
- 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 +193 -44
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex-turn-converter.d.ts.map +1 -1
- package/dist/providers/codex-turn-converter.js +21 -4
- package/dist/providers/codex-turn-converter.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 +4 -2
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
- package/dist/providers/fetch/logging-middleware.js +22 -2
- package/dist/providers/fetch/logging-middleware.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/openai-chat-completions-model.js +119 -50
- package/dist/providers/openai-chat-completions-model.js.map +1 -1
- package/dist/providers/openai-responses-model.d.ts.map +1 -1
- package/dist/providers/openai-responses-model.js +131 -15
- package/dist/providers/openai-responses-model.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/registry.d.ts +1 -1
- package/dist/providers/registry.d.ts.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 +14 -2
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +11 -2
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +128 -24
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts +2 -3
- package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts.map +1 -1
- package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +18 -9
- package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.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/generation-guard.d.ts +25 -1
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
- package/dist/services/agent-runtime/generation-guard.js +105 -1
- package/dist/services/agent-runtime/generation-guard.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/agent-stream.d.ts +2 -0
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/agent-stream.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-decision-policy.js +2 -2
- package/dist/services/approval/approval-decision-policy.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 +5 -1
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-evaluator.js +44 -22
- package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +121 -20
- 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 +36 -8
- 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 +34 -32
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-decoder.js +6 -2
- package/dist/services/conversation/conversation-decoder.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 +79 -43
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +35 -0
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +162 -19
- package/dist/services/conversation/conversation-persistence.js.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts +2 -0
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +71 -57
- package/dist/services/conversation/conversation-replay.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 +48 -27
- 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 +14 -3
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +104 -32
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/session-browser.d.ts +35 -23
- package/dist/services/conversation/session-browser.d.ts.map +1 -1
- package/dist/services/conversation/session-browser.js +338 -67
- 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/handoff/handoff-session.d.ts +2 -0
- package/dist/services/handoff/handoff-session.d.ts.map +1 -1
- package/dist/services/handoff/handoff-session.js +19 -3
- package/dist/services/handoff/handoff-session.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-events.d.ts +30 -3
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js +1 -4
- package/dist/services/logging/conversation-log-events.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 +1 -0
- package/dist/services/logging/logging-service.d.ts.map +1 -1
- package/dist/services/logging/logging-service.js +6 -2
- package/dist/services/logging/logging-service.js.map +1 -1
- package/dist/services/logging/provider-traffic.d.ts +29 -2
- package/dist/services/logging/provider-traffic.d.ts.map +1 -1
- package/dist/services/logging/provider-traffic.js +251 -21
- package/dist/services/logging/provider-traffic.js.map +1 -1
- package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
- package/dist/services/memory/memory-capabilities.js +17 -5
- package/dist/services/memory/memory-capabilities.js.map +1 -1
- package/dist/services/memory/memory-store.d.ts +17 -0
- package/dist/services/memory/memory-store.d.ts.map +1 -1
- package/dist/services/memory/memory-store.js +71 -26
- package/dist/services/memory/memory-store.js.map +1 -1
- package/dist/services/mode-notices.d.ts +12 -9
- package/dist/services/mode-notices.d.ts.map +1 -1
- package/dist/services/mode-notices.js +83 -54
- package/dist/services/mode-notices.js.map +1 -1
- package/dist/services/model-service.d.ts +64 -4
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +303 -21
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/models/model-catalog-session.d.ts +6 -0
- package/dist/services/models/model-catalog-session.d.ts.map +1 -1
- package/dist/services/models/model-catalog-session.js +18 -10
- 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 +97 -0
- package/dist/services/models/model-listing.d.ts.map +1 -0
- package/dist/services/models/model-listing.js +129 -0
- package/dist/services/models/model-listing.js.map +1 -0
- 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 +120 -0
- package/dist/services/models/model-resolution.d.ts.map +1 -0
- package/dist/services/models/model-resolution.js +521 -0
- package/dist/services/models/model-resolution.js.map +1 -0
- 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/plan-mode-interceptor.d.ts.map +1 -1
- package/dist/services/plan-mode-interceptor.js +5 -6
- package/dist/services/plan-mode-interceptor.js.map +1 -1
- package/dist/services/profiles/active-profile.d.ts +5 -0
- package/dist/services/profiles/active-profile.d.ts.map +1 -0
- package/dist/services/profiles/active-profile.js +33 -0
- package/dist/services/profiles/active-profile.js.map +1 -0
- package/dist/services/profiles/index.d.ts +9 -0
- package/dist/services/profiles/index.d.ts.map +1 -0
- package/dist/services/profiles/index.js +9 -0
- package/dist/services/profiles/index.js.map +1 -0
- package/dist/services/profiles/labels.d.ts +7 -0
- package/dist/services/profiles/labels.d.ts.map +1 -0
- package/dist/services/profiles/labels.js +22 -0
- package/dist/services/profiles/labels.js.map +1 -0
- package/dist/services/profiles/legacy-adapter.d.ts +28 -0
- package/dist/services/profiles/legacy-adapter.d.ts.map +1 -0
- package/dist/services/profiles/legacy-adapter.js +69 -0
- package/dist/services/profiles/legacy-adapter.js.map +1 -0
- package/dist/services/profiles/profile-transition.d.ts +48 -0
- package/dist/services/profiles/profile-transition.d.ts.map +1 -0
- package/dist/services/profiles/profile-transition.js +109 -0
- package/dist/services/profiles/profile-transition.js.map +1 -0
- package/dist/services/profiles/registry.d.ts +17 -0
- package/dist/services/profiles/registry.d.ts.map +1 -0
- package/dist/services/profiles/registry.js +147 -0
- package/dist/services/profiles/registry.js.map +1 -0
- package/dist/services/profiles/resolver.d.ts +10 -0
- package/dist/services/profiles/resolver.d.ts.map +1 -0
- package/dist/services/profiles/resolver.js +573 -0
- package/dist/services/profiles/resolver.js.map +1 -0
- package/dist/services/profiles/schema.d.ts +960 -0
- package/dist/services/profiles/schema.d.ts.map +1 -0
- package/dist/services/profiles/schema.js +196 -0
- package/dist/services/profiles/schema.js.map +1 -0
- package/dist/services/profiles/types.d.ts +224 -0
- package/dist/services/profiles/types.d.ts.map +1 -0
- package/dist/services/profiles/types.js +9 -0
- package/dist/services/profiles/types.js.map +1 -0
- package/dist/services/retry/committed-tool-continuation.d.ts +5 -0
- package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
- package/dist/services/retry/committed-tool-continuation.js +6 -3
- package/dist/services/retry/committed-tool-continuation.js.map +1 -1
- 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-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +13 -10
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts +7 -0
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +32 -9
- package/dist/services/retry/retry-error-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/runtime-setting-router.d.ts.map +1 -1
- package/dist/services/runtime-setting-router.js +76 -23
- package/dist/services/runtime-setting-router.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 +55 -20
- 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-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +2 -9
- package/dist/services/session/session-input-planner.js.map +1 -1
- 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-manager.d.ts.map +1 -1
- package/dist/services/session/session-manager.js +4 -1
- package/dist/services/session/session-manager.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 +9 -1
- package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
- package/dist/services/session-rollover/session-rollover-brief.js +18 -3
- 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-persistence.js +1 -1
- package/dist/services/settings/settings-persistence.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +132 -15
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +133 -32
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +3 -1
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +88 -91
- package/dist/services/settings/settings-service.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 +61 -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 +12 -2
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +61 -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/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +5 -2
- package/dist/services/subagents/mentor-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 +12 -2
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +14 -5
- 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 +299 -56
- 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/services/tool-toggles.d.ts +20 -0
- package/dist/services/tool-toggles.d.ts.map +1 -0
- package/dist/services/tool-toggles.js +115 -0
- package/dist/services/tool-toggles.js.map +1 -0
- package/dist/slash-commands.d.ts +3 -0
- package/dist/slash-commands.d.ts.map +1 -1
- package/dist/slash-commands.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 +2 -0
- package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
- package/dist/tools/agent/configure-task-check-in.js +15 -6
- 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 +2 -15
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +171 -108
- 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 +31 -0
- package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -0
- package/dist/tools/file/upstream-apply-patch.js +126 -0
- package/dist/tools/file/upstream-apply-patch.js.map +1 -0
- package/dist/tools/format-helpers.d.ts +2 -0
- package/dist/tools/format-helpers.d.ts.map +1 -1
- package/dist/tools/format-helpers.js.map +1 -1
- package/dist/tools/memory/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory/memory-tools.js +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 +33 -7
- 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 +18 -3
- 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 +66 -11
- 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 +39 -2
- 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/ai/token-usage.d.ts +7 -0
- package/dist/utils/ai/token-usage.d.ts.map +1 -1
- package/dist/utils/ai/token-usage.js +6 -2
- package/dist/utils/ai/token-usage.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 +54 -1
- package/dist/utils/conversation/conversation-utils.js.map +1 -1
- package/dist/utils/conversation/message-buffer.d.ts +16 -0
- package/dist/utils/conversation/message-buffer.d.ts.map +1 -1
- package/dist/utils/conversation/message-buffer.js +33 -0
- package/dist/utils/conversation/message-buffer.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/output/trim-tool-output.d.ts +1 -1
- package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
- package/dist/utils/output/trim-tool-output.js +20 -0
- package/dist/utils/output/trim-tool-output.js.map +1 -1
- package/dist/utils/resume-list.d.ts +2 -0
- package/dist/utils/resume-list.d.ts.map +1 -1
- package/dist/utils/resume-list.js +7 -14
- package/dist/utils/resume-list.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 +138 -37
- 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 +13 -1
- package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
- package/dist/utils/streaming/streaming-speed-tracker.d.ts +15 -0
- package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
- package/dist/utils/streaming/streaming-speed-tracker.js +18 -1
- package/dist/utils/streaming/streaming-speed-tracker.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 +7 -4
- 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
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ProviderInputItem } from '../contracts/provider-input.js';
|
|
2
|
+
/** Explicit compact-endpoint incompatibility, not a transient or history error. */
|
|
3
|
+
export declare function isCodexCompactionIncompatible(error: unknown): boolean;
|
|
2
4
|
/**
|
|
3
5
|
* Codex (chatgpt.com) does not accept Responses `context_management` on ordinary
|
|
4
6
|
* turns. Compaction uses the Responses endpoint with a trailing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-compact.d.ts","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAc9F"}
|
|
1
|
+
{"version":3,"file":"codex-compact.d.ts","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,mFAAmF;AACnF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWrE;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAc9F"}
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { OPENAI_RESPONSES_OPAQUE_TAG } from './provider-opaque-compatibility.js';
|
|
2
|
+
/** Explicit compact-endpoint incompatibility, not a transient or history error. */
|
|
3
|
+
export function isCodexCompactionIncompatible(error) {
|
|
4
|
+
if (!error || typeof error !== 'object')
|
|
5
|
+
return false;
|
|
6
|
+
const record = error;
|
|
7
|
+
const status = record.status ?? record.statusCode;
|
|
8
|
+
if (status === 404 || status === 405)
|
|
9
|
+
return true;
|
|
10
|
+
if (status !== 400 && status !== 422)
|
|
11
|
+
return false;
|
|
12
|
+
const message = [record.message, record.error?.message].filter((value) => typeof value === 'string').join(' ');
|
|
13
|
+
return (/compaction_trigger|context_management|parallel_tool_calls|reasoning\.context/i.test(message) &&
|
|
14
|
+
/unsupported|not support|requires|unknown (?:field|parameter)|unrecognized/i.test(message));
|
|
15
|
+
}
|
|
2
16
|
/**
|
|
3
17
|
* Codex (chatgpt.com) does not accept Responses `context_management` on ordinary
|
|
4
18
|
* turns. Compaction uses the Responses endpoint with a trailing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-compact.js","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAA0B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAA2B,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"codex-compact.js","sourceRoot":"","sources":["../../source/providers/codex-compact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,mFAAmF;AACnF,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,MAAM,GAAG,KAAmG,CAAC;IACnH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC;IAClD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/G,OAAO,CACL,+EAA+E,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7F,4EAA4E,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3F,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAA0B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE;aAC1D,CAAC;QACJ,CAAC;QACD,OAAO,MAA2B,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContextCompactionSessionState, StreamedModelTurn, StreamedModelTurnEvent, StreamedModelTurnInput, StreamedModelTurnRequest } from '../contracts/streamed-model-turn.js';
|
|
1
|
+
import type { ContextCompactionSessionState, StreamedModelConversationResetOptions, StreamedModelTurn, StreamedModelTurnEvent, StreamedModelTurnInput, StreamedModelTurnRequest } from '../contracts/streamed-model-turn.js';
|
|
2
2
|
import type { ISessionContextService, IProviderTraffic } from '../services/service-interfaces.js';
|
|
3
3
|
import { type ProviderRequestCapture } from './provider-request-capture.js';
|
|
4
4
|
import { type WebSocketReceiveTimeouts } from './websocket-receive-watchdog.js';
|
|
@@ -7,6 +7,13 @@ export type CodexResponsesTransportOptions = {
|
|
|
7
7
|
supportsContextCompaction?: boolean;
|
|
8
8
|
contextCompactionSessionState?: ContextCompactionSessionState;
|
|
9
9
|
};
|
|
10
|
+
export type CodexTransportRequestContext = {
|
|
11
|
+
onConnectionAcquired?: (details: {
|
|
12
|
+
connectionId: string;
|
|
13
|
+
reused: boolean;
|
|
14
|
+
affinityKey?: string;
|
|
15
|
+
}) => void;
|
|
16
|
+
};
|
|
10
17
|
/** Provider-owned transport seam used by Codex's HTTP and WebSocket models. */
|
|
11
18
|
export declare class CodexResponsesTransport {
|
|
12
19
|
#private;
|
|
@@ -24,7 +31,7 @@ export declare class CodexResponsesTransport {
|
|
|
24
31
|
history: ReturnType<typeof compactOutputToProviderHistory>;
|
|
25
32
|
}>;
|
|
26
33
|
buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
|
|
27
|
-
fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestData: any): Promise<any>;
|
|
34
|
+
fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestData: any, requestContext?: CodexTransportRequestContext): Promise<any>;
|
|
28
35
|
}
|
|
29
36
|
export declare class OpenAIResponsesModel implements StreamedModelTurn {
|
|
30
37
|
protected readonly client: any;
|
|
@@ -40,7 +47,7 @@ export declare class OpenAIResponsesModel implements StreamedModelTurn {
|
|
|
40
47
|
history: ReturnType<typeof compactOutputToProviderHistory>;
|
|
41
48
|
}>;
|
|
42
49
|
protected buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
|
|
43
|
-
protected fetchResponse(request: StreamedModelTurnRequest, stream: boolean): Promise<any>;
|
|
50
|
+
protected fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestContext?: CodexTransportRequestContext): Promise<any>;
|
|
44
51
|
protected fetchUnaryResponse(request: StreamedModelTurnRequest): Promise<any>;
|
|
45
52
|
protected rawStream(request: StreamedModelTurnRequest): AsyncIterable<any>;
|
|
46
53
|
stream(request: StreamedModelTurnRequest): AsyncIterable<StreamedModelTurnEvent>;
|
|
@@ -70,6 +77,19 @@ export declare class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
70
77
|
private readonly requestTokens;
|
|
71
78
|
private readonly websocketReceiveTimeouts;
|
|
72
79
|
constructor(client: any, modelId: string, tokenManager: any, diagnosticLogger?: DiagnosticLogger | CodexResponsesTransport, providerTraffic?: IProviderTraffic | CodexResponsesTransport, sessionContextService?: ISessionContextService | CodexResponsesTransport, websocketReceiveTimeouts?: WebSocketReceiveTimeouts | CodexResponsesTransport, requestCapture?: ProviderRequestCapture | CodexResponsesTransport, transport?: CodexResponsesTransport);
|
|
80
|
+
/**
|
|
81
|
+
* Drop server-history bookkeeping for one logical scope while leaving the
|
|
82
|
+
* provider transport pool alive. Rollover supplies the predecessor key;
|
|
83
|
+
* refusing an unscoped reset protects live nested scopes sharing this model.
|
|
84
|
+
*/
|
|
85
|
+
resetConversationState(options?: StreamedModelConversationResetOptions): void;
|
|
86
|
+
compactHistory(request: {
|
|
87
|
+
input: readonly StreamedModelTurnInput[];
|
|
88
|
+
instructions?: string;
|
|
89
|
+
signal?: AbortSignal;
|
|
90
|
+
}): Promise<{
|
|
91
|
+
history: ReturnType<typeof compactOutputToProviderHistory>;
|
|
92
|
+
}>;
|
|
73
93
|
protected fetchUnaryResponse(request: StreamedModelTurnRequest): Promise<any>;
|
|
74
94
|
protected rawStream(request: StreamedModelTurnRequest): AsyncIterable<any>;
|
|
75
95
|
buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-responses-model.d.ts","sourceRoot":"","sources":["../../source/providers/codex-responses-model.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6BAA6B,EAC7B,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"codex-responses-model.d.ts","sourceRoot":"","sources":["../../source/providers/codex-responses-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -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';
|
|
@@ -32,6 +33,30 @@ function toCodexToolChoice(choice) {
|
|
|
32
33
|
}
|
|
33
34
|
throw new Error('Unsupported Codex tool choice.');
|
|
34
35
|
}
|
|
36
|
+
function toCodexResponsesTool(tool) {
|
|
37
|
+
if (tool.type === 'custom') {
|
|
38
|
+
return {
|
|
39
|
+
type: 'custom',
|
|
40
|
+
name: tool.name,
|
|
41
|
+
...(tool.description ? { description: tool.description } : {}),
|
|
42
|
+
format: tool.format,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
type: 'function',
|
|
47
|
+
name: tool.name,
|
|
48
|
+
...(tool.description ? { description: tool.description } : {}),
|
|
49
|
+
parameters: tool.parameters,
|
|
50
|
+
...(tool.strict !== undefined ? { strict: tool.strict } : {}),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function toCodexToolChoiceForTools(choice, tools) {
|
|
54
|
+
if (choice && typeof choice === 'object' && typeof choice.name === 'string') {
|
|
55
|
+
const selected = tools.find((tool) => tool.name === choice.name);
|
|
56
|
+
return { type: selected?.type === 'custom' ? 'custom' : 'function', name: choice.name };
|
|
57
|
+
}
|
|
58
|
+
return toCodexToolChoice(choice);
|
|
59
|
+
}
|
|
35
60
|
const TERMINAL_RESPONSE_EVENT_TYPES = new Set([
|
|
36
61
|
'response.completed',
|
|
37
62
|
'response.failed',
|
|
@@ -64,10 +89,15 @@ export class CodexResponsesTransport {
|
|
|
64
89
|
const stream = await this.client.responses.create({
|
|
65
90
|
model: this.model,
|
|
66
91
|
input: [...request.input, { type: 'compaction_trigger' }],
|
|
67
|
-
parallel_tool_calls:
|
|
92
|
+
parallel_tool_calls: !isCodexResponsesLiteModel(this.model),
|
|
68
93
|
stream: true,
|
|
69
94
|
store: false,
|
|
70
95
|
include: ['reasoning.encrypted_content'],
|
|
96
|
+
// The Responses-Lite lane rejects compaction without an explicit
|
|
97
|
+
// reasoning context (400 `requires reasoning.context all_turns`);
|
|
98
|
+
// ordinary turns already carry this via request normalization, but
|
|
99
|
+
// the compaction call builds its own body and must set it itself.
|
|
100
|
+
...(isCodexResponsesLiteModel(this.model) ? { reasoning: { context: 'all_turns' } } : {}),
|
|
71
101
|
...(request.instructions !== undefined ? { instructions: request.instructions } : {}),
|
|
72
102
|
}, request.signal ? { signal: request.signal } : undefined);
|
|
73
103
|
let compactionItem;
|
|
@@ -102,8 +132,10 @@ export class CodexResponsesTransport {
|
|
|
102
132
|
input: toCodexResponsesInput(request.input),
|
|
103
133
|
stream,
|
|
104
134
|
...(request.instructions !== undefined ? { instructions: request.instructions } : {}),
|
|
105
|
-
...(request.tools.length > 0 ? { tools: request.tools.map(
|
|
106
|
-
...(request.toolChoice !== undefined
|
|
135
|
+
...(request.tools.length > 0 ? { tools: request.tools.map(toCodexResponsesTool) } : {}),
|
|
136
|
+
...(request.toolChoice !== undefined
|
|
137
|
+
? { tool_choice: toCodexToolChoiceForTools(request.toolChoice, request.tools) }
|
|
138
|
+
: {}),
|
|
107
139
|
...(request.temperature !== undefined ? { temperature: request.temperature } : {}),
|
|
108
140
|
...(request.topP !== undefined ? { top_p: request.topP } : {}),
|
|
109
141
|
...(request.frequencyPenalty !== undefined ? { frequency_penalty: request.frequencyPenalty } : {}),
|
|
@@ -118,14 +150,23 @@ export class CodexResponsesTransport {
|
|
|
118
150
|
},
|
|
119
151
|
};
|
|
120
152
|
}
|
|
121
|
-
async fetchResponse(request, stream, requestData) {
|
|
153
|
+
async fetchResponse(request, stream, requestData, requestContext) {
|
|
122
154
|
try {
|
|
123
155
|
if (stream && this.websocket) {
|
|
124
156
|
if (!(this.client instanceof OpenAI) && typeof this.client?.responses?.create === 'function') {
|
|
125
157
|
return this.client.responses.create(requestData);
|
|
126
158
|
}
|
|
127
159
|
const headers = request.providerOptions?.extraHeaders;
|
|
128
|
-
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
|
+
});
|
|
129
170
|
const messages = socket.stream();
|
|
130
171
|
const requestEvent = { type: 'response.create', ...requestData };
|
|
131
172
|
// Until the frame is written to an OPEN socket it is still ours, so a
|
|
@@ -177,6 +218,12 @@ export class CodexResponsesTransport {
|
|
|
177
218
|
const event = message.message;
|
|
178
219
|
if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
|
|
179
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);
|
|
180
227
|
}
|
|
181
228
|
yield event;
|
|
182
229
|
}
|
|
@@ -184,6 +231,7 @@ export class CodexResponsesTransport {
|
|
|
184
231
|
const event = message.event;
|
|
185
232
|
if (TERMINAL_RESPONSE_EVENT_TYPES.has(event?.type) || event?.type === 'response.completed') {
|
|
186
233
|
terminalReceived = true;
|
|
234
|
+
release(true);
|
|
187
235
|
}
|
|
188
236
|
yield event;
|
|
189
237
|
}
|
|
@@ -254,9 +302,9 @@ export class OpenAIResponsesModel {
|
|
|
254
302
|
}
|
|
255
303
|
return built;
|
|
256
304
|
}
|
|
257
|
-
async fetchResponse(request, stream) {
|
|
305
|
+
async fetchResponse(request, stream, requestContext) {
|
|
258
306
|
const built = this.buildResponsesCreateRequest(request, stream);
|
|
259
|
-
return this.transport.fetchResponse(request, stream, built.requestData);
|
|
307
|
+
return this.transport.fetchResponse(request, stream, built.requestData, requestContext);
|
|
260
308
|
}
|
|
261
309
|
async fetchUnaryResponse(request) {
|
|
262
310
|
return this.fetchResponse(request, false);
|
|
@@ -349,7 +397,8 @@ async function* convertCodexRawStream(source) {
|
|
|
349
397
|
else if (event?.type === 'response.output_item.added' && event.output_item?.type === 'compaction') {
|
|
350
398
|
yield { type: 'context_compaction_started', provider: OPENAI_RESPONSES_OPAQUE_TAG };
|
|
351
399
|
}
|
|
352
|
-
else if (event?.type === 'response.output_item.added' &&
|
|
400
|
+
else if (event?.type === 'response.output_item.added' &&
|
|
401
|
+
(event.output_item?.type === 'function_call' || event.output_item?.type === 'custom_tool_call')) {
|
|
353
402
|
const index = typeof event.output_index === 'number' ? event.output_index : event.output_item.id ?? 0;
|
|
354
403
|
if (typeof event.output_item.name === 'string')
|
|
355
404
|
toolNamesByIndex.set(index, event.output_item.name);
|
|
@@ -366,7 +415,8 @@ async function* convertCodexRawStream(source) {
|
|
|
366
415
|
const toolName = toolNamesByIndex.get(index);
|
|
367
416
|
yield { type: 'tool_call_streaming_delta', ...(toolName ? { toolName } : {}), argumentCharCount };
|
|
368
417
|
}
|
|
369
|
-
else if (event?.type === 'response.output_item.done' &&
|
|
418
|
+
else if (event?.type === 'response.output_item.done' &&
|
|
419
|
+
(event.item?.type === 'function_call' || event.item?.type === 'custom_tool_call')) {
|
|
370
420
|
const call = toCodexToolCallOutput(event.item);
|
|
371
421
|
output.push(call);
|
|
372
422
|
pendingToolCalls.push(call);
|
|
@@ -422,12 +472,24 @@ function toCodexToolCallOutput(item) {
|
|
|
422
472
|
const name = codexString(item?.name);
|
|
423
473
|
if (!id || !name)
|
|
424
474
|
throw new Error('Codex function call output is missing its call id or name.');
|
|
425
|
-
return {
|
|
475
|
+
return {
|
|
476
|
+
type: 'tool_call',
|
|
477
|
+
id,
|
|
478
|
+
name,
|
|
479
|
+
arguments: item.type === 'custom_tool_call'
|
|
480
|
+
? typeof item.input === 'string'
|
|
481
|
+
? item.input
|
|
482
|
+
: ''
|
|
483
|
+
: typeof item.arguments === 'string'
|
|
484
|
+
? item.arguments
|
|
485
|
+
: '{}',
|
|
486
|
+
...(item.type === 'custom_tool_call' ? { toolType: 'custom' } : {}),
|
|
487
|
+
};
|
|
426
488
|
}
|
|
427
489
|
function toCodexOutputItem(item) {
|
|
428
490
|
if (!item || typeof item !== 'object')
|
|
429
491
|
throw new Error('Unsupported Codex response output item.');
|
|
430
|
-
if (item.type === 'function_call')
|
|
492
|
+
if (item.type === 'function_call' || item.type === 'custom_tool_call')
|
|
431
493
|
return toCodexToolCallOutput(item);
|
|
432
494
|
if (item.type === 'message') {
|
|
433
495
|
const content = Array.isArray(item.content) ? item.content : [];
|
|
@@ -485,11 +547,15 @@ function toCodexUsage(rawUsage) {
|
|
|
485
547
|
return undefined;
|
|
486
548
|
const cachedInputTokens = rawUsage.input_tokens_details?.cached_tokens ?? rawUsage.inputTokensDetails?.cachedTokens;
|
|
487
549
|
const cacheWriteTokens = rawUsage.input_tokens_details?.cache_write_tokens ?? rawUsage.inputTokensDetails?.cacheWriteTokens;
|
|
550
|
+
const reasoningTokens = rawUsage.output_tokens_details?.reasoning_tokens ??
|
|
551
|
+
rawUsage.outputTokensDetails?.reasoningTokens ??
|
|
552
|
+
rawUsage.outputTokensDetails?.reasoning_tokens;
|
|
488
553
|
return {
|
|
489
554
|
...(inputTokens !== undefined ? { inputTokens } : {}),
|
|
490
555
|
...(outputTokens !== undefined ? { outputTokens } : {}),
|
|
491
556
|
...(cachedInputTokens !== undefined ? { cachedInputTokens } : {}),
|
|
492
557
|
...(cacheWriteTokens !== undefined ? { cacheWriteTokens } : {}),
|
|
558
|
+
...(reasoningTokens !== undefined ? { reasoningTokens } : {}),
|
|
493
559
|
};
|
|
494
560
|
}
|
|
495
561
|
function codexString(value) {
|
|
@@ -677,6 +743,7 @@ const CODEX_SERVER_HISTORY_TOOL_RESULT_TYPES = new Set([
|
|
|
677
743
|
'computer_call_output',
|
|
678
744
|
'computer_call_result',
|
|
679
745
|
'apply_patch_call_output',
|
|
746
|
+
'custom_tool_call_output',
|
|
680
747
|
]);
|
|
681
748
|
const normalizeCodexServerHistoryItem = (item) => {
|
|
682
749
|
const record = asRecord(item);
|
|
@@ -690,7 +757,7 @@ const normalizeCodexServerHistoryItem = (item) => {
|
|
|
690
757
|
type,
|
|
691
758
|
itemId,
|
|
692
759
|
callId,
|
|
693
|
-
isFunctionCall: type === 'function_call' || type === 'tool_call',
|
|
760
|
+
isFunctionCall: type === 'function_call' || type === 'tool_call' || type === 'custom_tool_call',
|
|
694
761
|
isToolResult: type === 'tool_result' || (typeof type === 'string' && CODEX_SERVER_HISTORY_TOOL_RESULT_TYPES.has(type)),
|
|
695
762
|
};
|
|
696
763
|
};
|
|
@@ -965,6 +1032,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
965
1032
|
#lastSentChainFingerprint;
|
|
966
1033
|
#lastRejectedChainFingerprint;
|
|
967
1034
|
#lastLogicalRequestByKey = new Map();
|
|
1035
|
+
#transportDiagnosticsByRequest = new WeakMap();
|
|
968
1036
|
providerTraffic;
|
|
969
1037
|
diagnosticLogger;
|
|
970
1038
|
sessionContextService;
|
|
@@ -998,10 +1066,31 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
998
1066
|
: websocketReceiveTimeouts;
|
|
999
1067
|
this.requestCapture = requestCapture instanceof CodexResponsesTransport ? undefined : requestCapture;
|
|
1000
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
|
+
}
|
|
1001
1090
|
#modelNameFallback() {
|
|
1002
1091
|
return this.modelId;
|
|
1003
1092
|
}
|
|
1004
|
-
#logTrafficStarted(requestId, requestData, headers) {
|
|
1093
|
+
#logTrafficStarted(requestId, requestData, headers, transportDiagnostics) {
|
|
1005
1094
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1006
1095
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1007
1096
|
const sanitizedHeaders = headers ? sanitizeHeaders(headers) : undefined;
|
|
@@ -1011,11 +1100,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1011
1100
|
model,
|
|
1012
1101
|
sentBody: requestData,
|
|
1013
1102
|
headers: sanitizedHeaders,
|
|
1103
|
+
transportDiagnostics,
|
|
1014
1104
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1015
1105
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1016
1106
|
});
|
|
1017
1107
|
}
|
|
1018
|
-
#logTrafficReceived(requestId, requestData, response, receiveTiming) {
|
|
1108
|
+
#logTrafficReceived(requestId, requestData, response, receiveTiming, transportDiagnostics) {
|
|
1019
1109
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1020
1110
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1021
1111
|
providerTraffic.recordResponseReceived({
|
|
@@ -1026,11 +1116,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1026
1116
|
response: response,
|
|
1027
1117
|
transport: 'websocket',
|
|
1028
1118
|
...(receiveTiming ? { receiveTiming } : {}),
|
|
1119
|
+
transportDiagnostics,
|
|
1029
1120
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1030
1121
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1031
1122
|
});
|
|
1032
1123
|
}
|
|
1033
|
-
#logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics) {
|
|
1124
|
+
#logTrafficFailed(requestId, requestData, error, receiveTiming, diagnostics, transportDiagnostics) {
|
|
1034
1125
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1035
1126
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1036
1127
|
providerTraffic.recordRequestFailed({
|
|
@@ -1040,11 +1131,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1040
1131
|
error,
|
|
1041
1132
|
...(receiveTiming ? { receiveTiming } : {}),
|
|
1042
1133
|
...(diagnostics ? { diagnostics } : {}),
|
|
1134
|
+
transportDiagnostics,
|
|
1043
1135
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1044
1136
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1045
1137
|
});
|
|
1046
1138
|
}
|
|
1047
|
-
#logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics) {
|
|
1139
|
+
#logTrafficClosed(requestId, requestData, outcome, eventCount, diagnostics, transportDiagnostics) {
|
|
1048
1140
|
const providerTraffic = this.providerTraffic ?? DUMMY_PROVIDER_TRAFFIC;
|
|
1049
1141
|
const model = typeof requestData.model === 'string' ? requestData.model : this.#modelNameFallback();
|
|
1050
1142
|
providerTraffic.recordResponseClosed({
|
|
@@ -1054,11 +1146,12 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1054
1146
|
outcome,
|
|
1055
1147
|
eventCount,
|
|
1056
1148
|
...(diagnostics ? { diagnostics } : {}),
|
|
1149
|
+
transportDiagnostics,
|
|
1057
1150
|
modelClass: WS_RESPONSE_MODEL_CLASS,
|
|
1058
1151
|
modelWrapperClass: WS_RESPONSE_WRAPPER_CLASS,
|
|
1059
1152
|
});
|
|
1060
1153
|
}
|
|
1061
|
-
async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent) {
|
|
1154
|
+
async #withTrafficLogging(responseStream, requestId, requestData, wireStateKey, wireStateToken, signal, receiveTiming, asProvablyUnsent, transportDiagnostics) {
|
|
1062
1155
|
const logReceived = this.#logTrafficReceived.bind(this);
|
|
1063
1156
|
const logFailed = this.#logTrafficFailed.bind(this);
|
|
1064
1157
|
const logClosed = this.#logTrafficClosed.bind(this);
|
|
@@ -1091,7 +1184,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1091
1184
|
if (wireStateKey && wireStateToken && typeof response.id === 'string' && response.id.length > 0) {
|
|
1092
1185
|
wireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
|
|
1093
1186
|
}
|
|
1094
|
-
logReceived(requestId, requestData, response, receiveTiming?.());
|
|
1187
|
+
logReceived(requestId, requestData, response, receiveTiming?.(), transportDiagnostics);
|
|
1095
1188
|
}
|
|
1096
1189
|
yield event;
|
|
1097
1190
|
}
|
|
@@ -1106,11 +1199,22 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1106
1199
|
// reached the wire; the wire-state decision above still keys off the
|
|
1107
1200
|
// error as thrown.
|
|
1108
1201
|
const failure = asProvablyUnsent?.(error) ?? error;
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1202
|
+
if (signal?.aborted && eventCount > 0 && isClassifiedCancellation(failure)) {
|
|
1203
|
+
// An active request can reject from the provider as soon as the
|
|
1204
|
+
// application's abort reaches the socket. Preserve the partial raw
|
|
1205
|
+
// transcript in the same aborted outcome used when the consumer
|
|
1206
|
+
// closes the iterator explicitly; otherwise a guard-triggered abort
|
|
1207
|
+
// would be reduced to bounded counters before the recorder's
|
|
1208
|
+
// finally block can retain it.
|
|
1209
|
+
logClosed(requestId, requestData, 'aborted', eventCount, recorder.diagnostics(), transportDiagnostics);
|
|
1210
|
+
}
|
|
1211
|
+
else {
|
|
1212
|
+
// Bounded evidence of whatever progress the recorder observed before
|
|
1213
|
+
// the failure (category/counter/timing, no raw frame payload) — a
|
|
1214
|
+
// stream that fails after thousands of frames (e.g. an abrupt close)
|
|
1215
|
+
// must not lose that evidence the way an unrecorded failure would.
|
|
1216
|
+
logFailed(requestId, requestData, failure, receiveTiming?.(), recorder.boundedDiagnostics(), transportDiagnostics);
|
|
1217
|
+
}
|
|
1114
1218
|
throw failure;
|
|
1115
1219
|
}
|
|
1116
1220
|
finally {
|
|
@@ -1128,7 +1232,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1128
1232
|
? recorder.diagnostics()
|
|
1129
1233
|
: outcome === 'failed'
|
|
1130
1234
|
? recorder.boundedDiagnostics()
|
|
1131
|
-
: undefined);
|
|
1235
|
+
: undefined, transportDiagnostics);
|
|
1132
1236
|
}
|
|
1133
1237
|
recorder.release();
|
|
1134
1238
|
if (wireStateKey && wireStateToken) {
|
|
@@ -1286,6 +1390,23 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1286
1390
|
if (previousResponseId)
|
|
1287
1391
|
this.codexConsumedToolResultCallIdsByResponseId.set(previousResponseId, consumed);
|
|
1288
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
|
+
}
|
|
1289
1410
|
#forgetCodexResponseId() {
|
|
1290
1411
|
this.#serverHistoryReuseDisabled = true;
|
|
1291
1412
|
this.codexPreviousResponseIds.clear();
|
|
@@ -1362,39 +1483,47 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1362
1483
|
return undefined;
|
|
1363
1484
|
}
|
|
1364
1485
|
const sessionContext = this.sessionContextService?.getContext();
|
|
1365
|
-
const
|
|
1366
|
-
|
|
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;
|
|
1367
1494
|
const hasPreviousResponseId = typeof request?.previousResponseId === 'string' && request.previousResponseId.length > 0;
|
|
1368
|
-
const turnId = hasPreviousResponseId
|
|
1369
|
-
|
|
1495
|
+
const turnId = hasPreviousResponseId
|
|
1496
|
+
? this.codexTurnIdsBySession.get(logicalSessionId) ?? randomUUID()
|
|
1497
|
+
: randomUUID();
|
|
1498
|
+
this.codexTurnIdsBySession.set(logicalSessionId, turnId);
|
|
1370
1499
|
const windowId = `${threadId}:1`;
|
|
1371
1500
|
const turnMetadata = JSON.stringify({
|
|
1372
1501
|
installation_id: installationId,
|
|
1373
|
-
session_id:
|
|
1502
|
+
session_id: logicalSessionId,
|
|
1374
1503
|
thread_id: threadId,
|
|
1375
1504
|
turn_id: turnId,
|
|
1376
1505
|
window_id: windowId,
|
|
1377
1506
|
request_kind: 'turn',
|
|
1378
1507
|
});
|
|
1379
1508
|
return {
|
|
1380
|
-
sessionId,
|
|
1509
|
+
sessionId: logicalSessionId,
|
|
1381
1510
|
threadId,
|
|
1382
1511
|
turnId,
|
|
1383
1512
|
windowId,
|
|
1384
1513
|
turnMetadata,
|
|
1385
1514
|
clientMetadata: {
|
|
1386
1515
|
'x-codex-installation-id': installationId,
|
|
1387
|
-
session_id:
|
|
1516
|
+
session_id: logicalSessionId,
|
|
1388
1517
|
thread_id: threadId,
|
|
1389
1518
|
'x-codex-window-id': windowId,
|
|
1390
1519
|
turn_id: turnId,
|
|
1391
1520
|
'x-codex-turn-metadata': turnMetadata,
|
|
1392
1521
|
},
|
|
1393
1522
|
headers: {
|
|
1394
|
-
'x-client-request-id':
|
|
1395
|
-
'session-id':
|
|
1396
|
-
'thread-id':
|
|
1397
|
-
'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',
|
|
1398
1527
|
'x-codex-turn-metadata': turnMetadata,
|
|
1399
1528
|
},
|
|
1400
1529
|
};
|
|
@@ -1615,14 +1744,28 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1615
1744
|
// transport's private fetch path. Capture it without changing the
|
|
1616
1745
|
// prepared request or wire state.
|
|
1617
1746
|
captureProviderRequest(this.requestCapture, { provider: 'codex', transport: 'websocket', requestData });
|
|
1618
|
-
|
|
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);
|
|
1619
1756
|
if (!stream) {
|
|
1620
1757
|
try {
|
|
1621
|
-
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);
|
|
1622
1765
|
if (wireStateKey && wireStateToken && typeof response?.id === 'string' && response.id.length > 0) {
|
|
1623
1766
|
this.chainedWireState.recordResponse(wireStateKey, wireStateToken, response.id, response.output);
|
|
1624
1767
|
}
|
|
1625
|
-
this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming());
|
|
1768
|
+
this.#logTrafficReceived(requestId, requestData, response, watchdog.receiveTiming(), this.#transportDiagnostics(updatedRequest));
|
|
1626
1769
|
return response;
|
|
1627
1770
|
}
|
|
1628
1771
|
catch (error) {
|
|
@@ -1639,15 +1782,21 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1639
1782
|
this.chainedWireState.invalidate(wireStateKey);
|
|
1640
1783
|
}
|
|
1641
1784
|
}
|
|
1642
|
-
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
|
|
1785
|
+
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
|
|
1643
1786
|
throw failure;
|
|
1644
1787
|
}
|
|
1645
1788
|
}
|
|
1646
1789
|
try {
|
|
1647
|
-
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
|
+
}));
|
|
1648
1797
|
const patched = wrapCodexStream(watchdog.wrap(response), this.diagnosticLogger);
|
|
1649
1798
|
return this.#withTrafficLogging(patched, requestId, requestData, wireStateKey, wireStateToken, updatedRequest.signal, () => watchdog.receiveTiming(), (error) => asProvablyUnsentTimeout(watchdog.timeoutError(), watchdog.receiveTiming(), updatedRequest) ??
|
|
1650
|
-
asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0));
|
|
1799
|
+
asProvablyUnsentConnectTimeout(error, updatedRequest, watchdog.receiveTiming().frameCount > 0), this.#transportDiagnostics(updatedRequest));
|
|
1651
1800
|
}
|
|
1652
1801
|
catch (error) {
|
|
1653
1802
|
const timeoutError = watchdog.timeoutError();
|
|
@@ -1663,7 +1812,7 @@ export class CodexResponsesWSModel extends OpenAIResponsesWSModel {
|
|
|
1663
1812
|
this.chainedWireState.invalidate(wireStateKey);
|
|
1664
1813
|
}
|
|
1665
1814
|
}
|
|
1666
|
-
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming);
|
|
1815
|
+
this.#logTrafficFailed(requestId, requestData, failure, receiveTiming, undefined, this.#transportDiagnostics(updatedRequest));
|
|
1667
1816
|
throw failure;
|
|
1668
1817
|
}
|
|
1669
1818
|
}
|
|
@@ -1730,7 +1879,7 @@ export async function* wrapCodexStream(source, logger) {
|
|
|
1730
1879
|
});
|
|
1731
1880
|
throw new Error(`Codex provider stream error: ${errMsg}`);
|
|
1732
1881
|
}
|
|
1733
|
-
if (type === 'response.function_call_arguments.done' &&
|
|
1882
|
+
if ((type === 'response.function_call_arguments.done' || type === 'response.custom_tool_call_input.done') &&
|
|
1734
1883
|
typeof event.call_id === 'string' &&
|
|
1735
1884
|
typeof event.item_id === 'string') {
|
|
1736
1885
|
// Capture the authoritative call_id from the arguments-done event.
|
|
@@ -1743,7 +1892,7 @@ export async function* wrapCodexStream(source, logger) {
|
|
|
1743
1892
|
// from the itemCallIds map so the inherited transport's
|
|
1744
1893
|
// convertToOutputItem picks up the correct identifier and the continuation
|
|
1745
1894
|
// request sends the right call_id.
|
|
1746
|
-
if (itemRecord?.type === 'function_call' &&
|
|
1895
|
+
if ((itemRecord?.type === 'function_call' || itemRecord?.type === 'custom_tool_call') &&
|
|
1747
1896
|
!stringValue(itemRecord?.call_id) &&
|
|
1748
1897
|
typeof itemRecord?.id === 'string') {
|
|
1749
1898
|
const knownCallId = itemCallIds.get(itemRecord.id);
|