@qduc/term2 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/agent.d.ts +3 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +38 -14
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +91 -17
- package/dist/app.js.map +1 -1
- package/dist/cli.js +34 -23
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-approve-command.d.ts.map +1 -1
- package/dist/commands/auto-approve-command.js +12 -4
- package/dist/commands/auto-approve-command.js.map +1 -1
- package/dist/commands/compact-command.d.ts +6 -0
- package/dist/commands/compact-command.d.ts.map +1 -0
- package/dist/commands/compact-command.js +12 -0
- package/dist/commands/compact-command.js.map +1 -0
- package/dist/commands/copy-command.d.ts +3 -1
- package/dist/commands/copy-command.d.ts.map +1 -1
- package/dist/commands/copy-command.js +36 -9
- package/dist/commands/copy-command.js.map +1 -1
- package/dist/commands/sandbox-command.d.ts.map +1 -1
- package/dist/commands/sandbox-command.js +6 -1
- package/dist/commands/sandbox-command.js.map +1 -1
- package/dist/components/InputBox.d.ts +1 -2
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +5 -1
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/input/ApplicationInputSurface.d.ts +7 -2
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
- package/dist/components/input/ApplicationInputSurface.js +7 -1
- package/dist/components/input/ApplicationInputSurface.js.map +1 -1
- package/dist/components/input/CopyMenuSession.d.ts +16 -0
- package/dist/components/input/CopyMenuSession.d.ts.map +1 -0
- package/dist/components/input/CopyMenuSession.js +49 -0
- package/dist/components/input/CopyMenuSession.js.map +1 -0
- package/dist/components/input/FirstRunSetupPrompt.d.ts +9 -0
- package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -0
- package/dist/components/input/FirstRunSetupPrompt.js +20 -0
- package/dist/components/input/FirstRunSetupPrompt.js.map +1 -0
- package/dist/components/input/MentorPoolMenuSession.d.ts +9 -0
- package/dist/components/input/MentorPoolMenuSession.d.ts.map +1 -0
- package/dist/components/input/MentorPoolMenuSession.js +131 -0
- package/dist/components/input/MentorPoolMenuSession.js.map +1 -0
- package/dist/components/input/MenuSurface.d.ts.map +1 -1
- package/dist/components/input/MenuSurface.js +16 -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 +11 -1
- package/dist/components/input/ModelMenuSession.js.map +1 -1
- package/dist/components/input/ProviderMenuSession.d.ts.map +1 -1
- package/dist/components/input/ProviderMenuSession.js +8 -2
- package/dist/components/input/ProviderMenuSession.js.map +1 -1
- package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
- package/dist/components/input/SettingsMenuSession.js +35 -22
- package/dist/components/input/SettingsMenuSession.js.map +1 -1
- package/dist/components/input/SkillsMenuSession.d.ts +3 -0
- package/dist/components/input/SkillsMenuSession.d.ts.map +1 -1
- package/dist/components/input/SkillsMenuSession.js +6 -12
- package/dist/components/input/SkillsMenuSession.js.map +1 -1
- package/dist/components/input/SlashMenuSession.d.ts +11 -3
- package/dist/components/input/SlashMenuSession.d.ts.map +1 -1
- package/dist/components/input/SlashMenuSession.js +54 -42
- package/dist/components/input/SlashMenuSession.js.map +1 -1
- package/dist/components/input/menu-controller.d.ts.map +1 -1
- package/dist/components/input/menu-controller.js +18 -1
- package/dist/components/input/menu-controller.js.map +1 -1
- package/dist/components/input/menu-registry.d.ts.map +1 -1
- package/dist/components/input/menu-registry.js +4 -0
- package/dist/components/input/menu-registry.js.map +1 -1
- package/dist/components/input/menu-types.d.ts +12 -0
- package/dist/components/input/menu-types.d.ts.map +1 -1
- package/dist/components/input/triggers.d.ts.map +1 -1
- package/dist/components/input/triggers.js +33 -0
- package/dist/components/input/triggers.js.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.js +28 -10
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts +4 -1
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +58 -12
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts +16 -2
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +7 -4
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +66 -51
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/menu/CopyMenu.d.ts +10 -0
- package/dist/components/menu/CopyMenu.d.ts.map +1 -0
- package/dist/components/menu/CopyMenu.js +20 -0
- package/dist/components/menu/CopyMenu.js.map +1 -0
- package/dist/components/menu/MentorPoolSelectionMenu.d.ts +13 -0
- package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -0
- package/dist/components/menu/MentorPoolSelectionMenu.js +98 -0
- package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -0
- package/dist/components/menu/ModelSelectionMenu.d.ts +2 -0
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +26 -7
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.d.ts +1 -0
- package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ProviderSelectionMenu.js +12 -4
- package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
- package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/menu/SlashCommandMenu.js +12 -9
- package/dist/components/menu/SlashCommandMenu.js.map +1 -1
- package/dist/components/message/CommandMessage.js +4 -0
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +14 -1
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +0 -25
- package/dist/components/prompt/ApprovalPrompt.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 +4 -0
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/application-stream.d.ts +13 -0
- package/dist/contracts/application-stream.d.ts.map +1 -1
- package/dist/contracts/provider-input.d.ts +15 -0
- package/dist/contracts/provider-input.d.ts.map +1 -1
- package/dist/contracts/provider-input.js +6 -1
- package/dist/contracts/provider-input.js.map +1 -1
- package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +3 -0
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +12 -2
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +4 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +6 -2
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +7 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +77 -7
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +6 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +21 -4
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-debounced-value.d.ts +13 -0
- package/dist/hooks/use-debounced-value.d.ts.map +1 -0
- package/dist/hooks/use-debounced-value.js +27 -0
- package/dist/hooks/use-debounced-value.js.map +1 -0
- package/dist/hooks/use-first-run-setup.d.ts +24 -0
- package/dist/hooks/use-first-run-setup.d.ts.map +1 -0
- package/dist/hooks/use-first-run-setup.js +114 -0
- package/dist/hooks/use-first-run-setup.js.map +1 -0
- package/dist/hooks/use-mentor-pool-selection.d.ts +103 -0
- package/dist/hooks/use-mentor-pool-selection.d.ts.map +1 -0
- package/dist/hooks/use-mentor-pool-selection.js +642 -0
- package/dist/hooks/use-mentor-pool-selection.js.map +1 -0
- package/dist/hooks/use-model-selection.d.ts +1 -0
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +44 -1
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-provider-selection.d.ts +5 -1
- package/dist/hooks/use-provider-selection.d.ts.map +1 -1
- package/dist/hooks/use-provider-selection.js +37 -12
- package/dist/hooks/use-provider-selection.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +0 -1
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +1 -9
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/lib/agent-chat-service.d.ts +3 -6
- package/dist/lib/agent-chat-service.d.ts.map +1 -1
- package/dist/lib/agent-chat-service.js +20 -6
- package/dist/lib/agent-chat-service.js.map +1 -1
- package/dist/lib/agent-client.d.ts +20 -2
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +147 -3
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +3 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +5 -0
- 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 +15 -6
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/input-owner.d.ts +3 -0
- package/dist/lib/input-owner.d.ts.map +1 -1
- package/dist/lib/input-owner.js +5 -0
- package/dist/lib/input-owner.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +2 -0
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +4 -1
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/prompts/background-shell.d.ts +3 -0
- package/dist/prompts/background-shell.d.ts.map +1 -0
- package/dist/prompts/background-shell.js +11 -0
- package/dist/prompts/background-shell.js.map +1 -0
- package/dist/prompts/background-shell.ts +10 -0
- package/dist/prompts/context-compaction.d.ts +4 -0
- package/dist/prompts/context-compaction.d.ts.map +1 -0
- package/dist/prompts/context-compaction.js +18 -0
- package/dist/prompts/context-compaction.js.map +1 -0
- package/dist/prompts/context-compaction.ts +23 -0
- package/dist/prompts/explorer-delegation-contract.test.ts +22 -0
- package/dist/prompts/gpt-5.6.md +1 -1
- package/dist/prompts/kimi.md +1 -1
- package/dist/prompts/orchestrator-prompt.test.ts +7 -0
- package/dist/prompts/orchestrator.md +1 -1
- package/dist/prompts/plan-mode-info.md +2 -2
- package/dist/prompts/prompt-constructor.d.ts +1 -0
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +5 -1
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +16 -1
- package/dist/prompts/prompt-constructor.ts +7 -0
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +5 -3
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +10 -0
- package/dist/prompts/subagent-delegation.ts +5 -3
- package/dist/prompts/subagents/explorer.md +10 -5
- package/dist/prompts/subagents/librarian.md +1 -1
- package/dist/prompts/subagents/worker.md +2 -2
- package/dist/providers/aborted-stream-recorder.d.ts +20 -0
- package/dist/providers/aborted-stream-recorder.d.ts.map +1 -0
- package/dist/providers/aborted-stream-recorder.js +63 -0
- package/dist/providers/aborted-stream-recorder.js.map +1 -0
- package/dist/providers/codex-auth.d.ts +6 -0
- package/dist/providers/codex-auth.d.ts.map +1 -0
- package/dist/providers/codex-auth.js +35 -0
- package/dist/providers/codex-auth.js.map +1 -0
- package/dist/providers/codex-responses-model.d.ts +7 -2
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +88 -48
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex.provider.d.ts +5 -3
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +27 -39
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/model-catalog/catalog.d.ts +35 -2
- package/dist/providers/model-catalog/catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.d.ts +406 -166
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.js +406 -166
- package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
- package/dist/providers/model-catalog/catalog.js +93 -29
- package/dist/providers/model-catalog/catalog.js.map +1 -1
- package/dist/providers/openai-chat-completions-model.d.ts +2 -1
- package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
- package/dist/providers/openai-chat-completions-model.js +223 -53
- package/dist/providers/openai-chat-completions-model.js.map +1 -1
- package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
- package/dist/providers/openai-compatible-lazy.js +2 -1
- package/dist/providers/openai-compatible-lazy.js.map +1 -1
- package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
- package/dist/providers/openai-compatible-middleware.js +1 -13
- package/dist/providers/openai-compatible-middleware.js.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.d.ts +5 -4
- package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.js +6 -17
- package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts +1 -0
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +13 -4
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-responses-model.d.ts +9 -1
- package/dist/providers/openai-responses-model.d.ts.map +1 -1
- package/dist/providers/openai-responses-model.js +34 -12
- package/dist/providers/openai-responses-model.js.map +1 -1
- package/dist/providers/provider-service.d.ts +1 -0
- package/dist/providers/provider-service.d.ts.map +1 -1
- package/dist/providers/provider-service.js +4 -0
- package/dist/providers/provider-service.js.map +1 -1
- package/dist/scripts/eval-context-compaction/runner.d.ts +2 -0
- package/dist/scripts/eval-context-compaction/runner.d.ts.map +1 -0
- package/dist/scripts/eval-context-compaction/runner.js +159 -0
- package/dist/scripts/eval-context-compaction/runner.js.map +1 -0
- package/dist/services/agent-runtime/application-run-loop.d.ts +30 -0
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +251 -107
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/index.d.ts +56 -0
- package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -0
- package/dist/services/agent-runtime/context-compaction/index.js +131 -0
- package/dist/services/agent-runtime/context-compaction/index.js.map +1 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +76 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +146 -0
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -0
- package/dist/services/agent-runtime/generation-guard.d.ts +15 -1
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
- package/dist/services/agent-runtime/generation-guard.js +34 -2
- package/dist/services/agent-runtime/generation-guard.js.map +1 -1
- package/dist/services/agent-runtime/scope-resolver.d.ts.map +1 -1
- package/dist/services/agent-runtime/scope-resolver.js +2 -1
- package/dist/services/agent-runtime/scope-resolver.js.map +1 -1
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/agent-stream.js +2 -1
- package/dist/services/agent-stream.js.map +1 -1
- package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
- package/dist/services/approval/approval-decision-executor.js +5 -2
- package/dist/services/approval/approval-decision-executor.js.map +1 -1
- package/dist/services/approval/approval-decision-policy.d.ts.map +1 -1
- package/dist/services/approval/approval-decision-policy.js +0 -2
- package/dist/services/approval/approval-decision-policy.js.map +1 -1
- package/dist/services/approval/session-read-access.d.ts.map +1 -1
- package/dist/services/approval/session-read-access.js +2 -1
- package/dist/services/approval/session-read-access.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +9 -1
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +2 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.js +20 -18
- package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
- package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-decoder.js +6 -0
- package/dist/services/conversation/conversation-decoder.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +34 -1
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -1
- package/dist/services/conversation/conversation-message-projection.js +7 -3
- package/dist/services/conversation/conversation-message-projection.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts +2 -0
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +113 -1
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +45 -0
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-result-builder.js +14 -2
- package/dist/services/conversation/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +1 -0
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +74 -0
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-state-projector.d.ts +7 -1
- package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-projector.js +20 -3
- package/dist/services/conversation/conversation-state-projector.js.map +1 -1
- package/dist/services/conversation/conversation-state-schema.d.ts +8 -4
- package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-schema.js +24 -2
- package/dist/services/conversation/conversation-state-schema.js.map +1 -1
- package/dist/services/conversation/conversation-store.d.ts +11 -0
- package/dist/services/conversation/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation/conversation-store.js +23 -3
- package/dist/services/conversation/conversation-store.js.map +1 -1
- package/dist/services/conversation-agent-client.d.ts +9 -0
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/cost/model-cost.d.ts +13 -2
- package/dist/services/cost/model-cost.d.ts.map +1 -1
- package/dist/services/cost/model-cost.js +1 -0
- package/dist/services/cost/model-cost.js.map +1 -1
- package/dist/services/cost/pricing.d.ts.map +1 -1
- package/dist/services/cost/pricing.js +26 -20
- package/dist/services/cost/pricing.js.map +1 -1
- package/dist/services/execution-context.d.ts +31 -0
- package/dist/services/execution-context.d.ts.map +1 -1
- package/dist/services/execution-context.js +59 -0
- package/dist/services/execution-context.js.map +1 -1
- package/dist/services/file-service.d.ts.map +1 -1
- package/dist/services/file-service.js +12 -3
- package/dist/services/file-service.js.map +1 -1
- package/dist/services/large-uncached-input-guard.d.ts +26 -1
- package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
- package/dist/services/large-uncached-input-guard.js +73 -38
- package/dist/services/large-uncached-input-guard.js.map +1 -1
- package/dist/services/logging/conversation-log-events.d.ts +15 -2
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js.map +1 -1
- package/dist/services/logging/conversation-logger.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.js +11 -0
- package/dist/services/logging/conversation-logger.js.map +1 -1
- package/dist/services/logging/logging-contract.d.ts.map +1 -1
- package/dist/services/logging/logging-contract.js +4 -0
- package/dist/services/logging/logging-contract.js.map +1 -1
- package/dist/services/logging/provider-traffic.d.ts +1 -1
- package/dist/services/logging/provider-traffic.d.ts.map +1 -1
- package/dist/services/logging/provider-traffic.js +10 -3
- package/dist/services/logging/provider-traffic.js.map +1 -1
- package/dist/services/model-service.d.ts +7 -0
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +21 -0
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/models/model-catalog-session.d.ts +2 -0
- package/dist/services/models/model-catalog-session.d.ts.map +1 -1
- package/dist/services/models/model-catalog-session.js +9 -2
- package/dist/services/models/model-catalog-session.js.map +1 -1
- package/dist/services/provider-continuity.d.ts +15 -0
- package/dist/services/provider-continuity.d.ts.map +1 -1
- package/dist/services/provider-continuity.js +33 -0
- package/dist/services/provider-continuity.js.map +1 -1
- package/dist/services/retry/recovery-executor.d.ts.map +1 -1
- package/dist/services/retry/recovery-executor.js +12 -5
- package/dist/services/retry/recovery-executor.js.map +1 -1
- package/dist/services/retry/retry-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +2 -1
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts +19 -0
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +54 -0
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +15 -0
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/session/background-task-control.d.ts +7 -2
- package/dist/services/session/background-task-control.d.ts.map +1 -1
- package/dist/services/session/background-task-control.js +43 -9
- package/dist/services/session/background-task-control.js.map +1 -1
- package/dist/services/session/background-task-liveness.d.ts +24 -0
- package/dist/services/session/background-task-liveness.d.ts.map +1 -0
- package/dist/services/session/background-task-liveness.js +23 -0
- package/dist/services/session/background-task-liveness.js.map +1 -0
- package/dist/services/session/session-access-state.d.ts.map +1 -1
- package/dist/services/session/session-access-state.js +5 -4
- package/dist/services/session/session-access-state.js.map +1 -1
- package/dist/services/session/session-client-factory.d.ts +11 -1
- package/dist/services/session/session-client-factory.d.ts.map +1 -1
- package/dist/services/session/session-client-factory.js +28 -1
- package/dist/services/session/session-client-factory.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +7 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +80 -0
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +16 -0
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +117 -10
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/session/session-manager.d.ts +3 -0
- package/dist/services/session/session-manager.d.ts.map +1 -1
- package/dist/services/session/session-manager.js +6 -0
- package/dist/services/session/session-manager.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts +1 -0
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +16 -1
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/session-tool-tracker.d.ts +21 -4
- package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
- package/dist/services/session/session-tool-tracker.js +26 -5
- package/dist/services/session/session-tool-tracker.js.map +1 -1
- package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/session/terminal-result-collector.js +12 -0
- package/dist/services/session/terminal-result-collector.js.map +1 -1
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +4 -0
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/settings-path.d.ts +6 -0
- package/dist/services/settings/settings-path.d.ts.map +1 -0
- package/dist/services/settings/settings-path.js +15 -0
- package/dist/services/settings/settings-path.js.map +1 -0
- package/dist/services/settings/settings-schema.d.ts +59 -1
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +44 -3
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +8 -0
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +82 -4
- package/dist/services/settings/settings-service.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +3 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/shell/background-shell-output-store.d.ts +90 -0
- package/dist/services/shell/background-shell-output-store.d.ts.map +1 -0
- package/dist/services/shell/background-shell-output-store.js +207 -0
- package/dist/services/shell/background-shell-output-store.js.map +1 -0
- package/dist/services/shell/background-shell-registry.d.ts +18 -0
- package/dist/services/shell/background-shell-registry.d.ts.map +1 -1
- package/dist/services/shell/background-shell-registry.js +17 -2
- package/dist/services/shell/background-shell-registry.js.map +1 -1
- package/dist/services/shell/background-shell-watches.d.ts +141 -0
- package/dist/services/shell/background-shell-watches.d.ts.map +1 -0
- package/dist/services/shell/background-shell-watches.js +245 -0
- package/dist/services/shell/background-shell-watches.js.map +1 -0
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +31 -1
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +73 -4
- 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 +120 -15
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +106 -29
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/role-loader.d.ts +6 -0
- package/dist/services/subagents/role-loader.d.ts.map +1 -1
- package/dist/services/subagents/role-loader.js +6 -1
- package/dist/services/subagents/role-loader.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +39 -5
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +20 -1
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +22 -0
- package/dist/services/subagents/subagent-notification-store.js.map +1 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +6 -5
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts +3 -1
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +16 -12
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +15 -0
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/utils.d.ts +17 -0
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +39 -0
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/subagents/worker-worktree.d.ts +25 -0
- package/dist/services/subagents/worker-worktree.d.ts.map +1 -0
- package/dist/services/subagents/worker-worktree.js +74 -0
- package/dist/services/subagents/worker-worktree.js.map +1 -0
- package/dist/services/tool-execution-ledger.d.ts +26 -1
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +103 -33
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/services/workspace/active-workspace-root.d.ts +5 -0
- package/dist/services/workspace/active-workspace-root.d.ts.map +1 -0
- package/dist/services/workspace/active-workspace-root.js +24 -0
- package/dist/services/workspace/active-workspace-root.js.map +1 -0
- package/dist/services/workspace/parse-worktree-list.d.ts +24 -0
- package/dist/services/workspace/parse-worktree-list.d.ts.map +1 -0
- package/dist/services/workspace/parse-worktree-list.js +59 -0
- package/dist/services/workspace/parse-worktree-list.js.map +1 -0
- package/dist/services/workspace/worktree-inventory.d.ts +10 -0
- package/dist/services/workspace/worktree-inventory.d.ts.map +1 -0
- package/dist/services/workspace/worktree-inventory.js +28 -0
- package/dist/services/workspace/worktree-inventory.js.map +1 -0
- package/dist/services/workspace/worktree-transition.d.ts +85 -0
- package/dist/services/workspace/worktree-transition.d.ts.map +1 -0
- package/dist/services/workspace/worktree-transition.js +70 -0
- package/dist/services/workspace/worktree-transition.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/ask-mentor.d.ts.map +1 -1
- package/dist/tools/agent/ask-mentor.js +5 -1
- package/dist/tools/agent/ask-mentor.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +21 -4
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts +3 -1
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +34 -7
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +6 -3
- 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 +2 -0
- package/dist/tools/file/code-context.js.map +1 -1
- package/dist/tools/file/glob.d.ts.map +1 -1
- package/dist/tools/file/glob.js +1 -0
- 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 +1 -0
- package/dist/tools/file/grep.js.map +1 -1
- package/dist/tools/file/read-file.d.ts +2 -0
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +36 -15
- package/dist/tools/file/read-file.js.map +1 -1
- package/dist/tools/system/shell.d.ts +42 -1
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +285 -10
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/system/worktree.d.ts +22 -0
- package/dist/tools/system/worktree.d.ts.map +1 -0
- package/dist/tools/system/worktree.js +138 -0
- package/dist/tools/system/worktree.js.map +1 -0
- package/dist/tools/types.d.ts +5 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +3 -2
- 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 +10 -12
- 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 +1 -0
- package/dist/tools/web/web-search.js.map +1 -1
- package/dist/utils/ai/provider-credentials.d.ts +31 -2
- package/dist/utils/ai/provider-credentials.d.ts.map +1 -1
- package/dist/utils/ai/provider-credentials.js +119 -11
- package/dist/utils/ai/provider-credentials.js.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +13 -1
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation/message-utils.d.ts +8 -2
- package/dist/utils/conversation/message-utils.d.ts.map +1 -1
- package/dist/utils/conversation/message-utils.js +38 -21
- package/dist/utils/conversation/message-utils.js.map +1 -1
- package/dist/utils/copy-selections.d.ts +8 -0
- package/dist/utils/copy-selections.d.ts.map +1 -0
- package/dist/utils/copy-selections.js +42 -0
- package/dist/utils/copy-selections.js.map +1 -0
- package/dist/utils/output/bound-tool-result.d.ts +42 -0
- package/dist/utils/output/bound-tool-result.d.ts.map +1 -0
- package/dist/utils/output/bound-tool-result.js +81 -0
- package/dist/utils/output/bound-tool-result.js.map +1 -0
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +22 -2
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/path-analysis.js +5 -1
- package/dist/utils/shell/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/shell/execute-shell.d.ts +25 -0
- package/dist/utils/shell/execute-shell.d.ts.map +1 -1
- package/dist/utils/shell/execute-shell.js +22 -5
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-env.js +2 -1
- package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-store.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-store.js +3 -2
- package/dist/utils/shell/sandbox/sandbox-network-store.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js +2 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
- package/dist/utils/shell/shell-output.d.ts +11 -0
- package/dist/utils/shell/shell-output.d.ts.map +1 -1
- package/dist/utils/shell/shell-output.js +18 -8
- package/dist/utils/shell/shell-output.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +6 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +1 -1
|
@@ -123,6 +123,21 @@ it('buildPromptSpec excludes shell-sandbox when sandbox is disabled', () => {
|
|
|
123
123
|
expect(spec.fragmentFiles.includes('worktree-hygiene.md')).toBe(true);
|
|
124
124
|
});
|
|
125
125
|
|
|
126
|
+
it('buildPromptSpec tells the model to wait for background shell completion instead of polling', () => {
|
|
127
|
+
const spec = buildPromptSpec({
|
|
128
|
+
model: 'gpt-4o',
|
|
129
|
+
liteMode: false,
|
|
130
|
+
backgroundShellEnabled: true,
|
|
131
|
+
});
|
|
132
|
+
const guidance = spec.inlineSections.join('\n');
|
|
133
|
+
|
|
134
|
+
expect(guidance).toContain('Background shell jobs');
|
|
135
|
+
expect(guidance).toContain('`background: true`');
|
|
136
|
+
expect(guidance).toContain('Do NOT call `get_shell_job` as a polling loop');
|
|
137
|
+
expect(guidance.toLowerCase()).toContain('end the current turn and wait for the automatic completion notification');
|
|
138
|
+
expect(guidance.toLowerCase()).toContain('do not run `sleep` merely to wait');
|
|
139
|
+
});
|
|
140
|
+
|
|
126
141
|
it('adds persistent-memory guidance only when memory tools are enabled', () => {
|
|
127
142
|
expect(buildPromptSpec({ model: 'gpt-4o', liteMode: false, memoryEnabled: true }).fragmentFiles).toContain(
|
|
128
143
|
'memory.md',
|
|
@@ -163,7 +178,7 @@ it('buildPromptSpec tells orchestrators to trust successful delegation and wait
|
|
|
163
178
|
expect(guidance.toLowerCase()).toContain('end the current turn and wait for the completion notification');
|
|
164
179
|
expect(guidance).toContain('inlines the full result so you can continue directly');
|
|
165
180
|
expect(guidance).toContain('Do NOT call `get_subagent_result` immediately');
|
|
166
|
-
expect(guidance).toContain('
|
|
181
|
+
expect(guidance).toContain('Active runs are refused rather than awaited');
|
|
167
182
|
expect(guidance).not.toContain('Use `run_subagent` only');
|
|
168
183
|
});
|
|
169
184
|
|
|
@@ -3,6 +3,7 @@ import { selectPromptProfile } from './prompt-profiles.js';
|
|
|
3
3
|
import { getSearchViaShellAddendum } from './search-via-shell.js';
|
|
4
4
|
import { getSubagentDelegationAddendum } from './subagent-delegation.js';
|
|
5
5
|
import { getShellSandboxAddendum } from './shell-sandbox.js';
|
|
6
|
+
import { getBackgroundShellAddendum } from './background-shell.js';
|
|
6
7
|
|
|
7
8
|
export type PromptConstructorOptions = {
|
|
8
9
|
model: string;
|
|
@@ -16,6 +17,7 @@ export type PromptConstructorOptions = {
|
|
|
16
17
|
runSubagentForegroundEnabled?: boolean;
|
|
17
18
|
runSubagentAsyncEnabled?: boolean;
|
|
18
19
|
asyncSubagentControlsEnabled?: boolean;
|
|
20
|
+
backgroundShellEnabled?: boolean;
|
|
19
21
|
sandboxEnabled?: boolean;
|
|
20
22
|
memoryEnabled?: boolean;
|
|
21
23
|
memoryGuidance?: string;
|
|
@@ -39,6 +41,7 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
|
|
|
39
41
|
runSubagentForegroundEnabled = false,
|
|
40
42
|
runSubagentAsyncEnabled = false,
|
|
41
43
|
asyncSubagentControlsEnabled = false,
|
|
44
|
+
backgroundShellEnabled = false,
|
|
42
45
|
sandboxEnabled = true,
|
|
43
46
|
memoryEnabled = false,
|
|
44
47
|
memoryGuidance = '',
|
|
@@ -63,6 +66,10 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
|
|
|
63
66
|
inlineSections.push(getShellSandboxAddendum());
|
|
64
67
|
}
|
|
65
68
|
|
|
69
|
+
if (backgroundShellEnabled) {
|
|
70
|
+
inlineSections.push(getBackgroundShellAddendum());
|
|
71
|
+
}
|
|
72
|
+
|
|
66
73
|
if (mentorMode && isRegularMode) {
|
|
67
74
|
fragmentFiles.push('mentor-addon.md');
|
|
68
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,EACpB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,EACpB,iBAAwB,EACxB,iBAAyB,EACzB,eAAuB,GACxB,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAgEd"}
|
|
@@ -20,10 +20,12 @@ You have one \`run_subagent\` tool. A subagent runs in its own context and retur
|
|
|
20
20
|
|
|
21
21
|
${executions}`;
|
|
22
22
|
const triggers = `**Delegate when it provides meaningful leverage:**
|
|
23
|
-
- Need
|
|
23
|
+
- Need bounded evidence collection, context compression, or current external information (library docs, best practices, version-specific behavior) → \`explorer\`.
|
|
24
24
|
${backgroundEnabled
|
|
25
25
|
? '- About to commit to a non-trivial plan or tricky debugging direction and want it pressure-tested → `mentor`.\n'
|
|
26
|
-
: ''}${memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker
|
|
26
|
+
: ''}${memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
|
|
27
|
+
|
|
28
|
+
Explorer is an evidence collector, not a reasoning delegate. Ask it to locate and organize concrete facts, files, symbols, logs, tests, or sources for a bounded question. Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer. You retain responsibility for hypotheses, causal analysis, judgments, and recommendations.${orchestratorMode
|
|
27
29
|
? `
|
|
28
30
|
|
|
29
31
|
In Orchestrator mode, delegate for specialization, context compression, safe parallelism, or cohesive separable work. Delegation transfers execution, never outcome ownership: integrate results, follow up, correct errors, and finish the user outcome. Avoid concurrent overlapping edits; sequence coupled work and validate proportionately to its risk.`
|
|
@@ -33,7 +35,7 @@ Otherwise, just do it yourself — especially when the task needs mid-flight cou
|
|
|
33
35
|
const backgroundRules = backgroundEnabled
|
|
34
36
|
? `**Background execution rules:**
|
|
35
37
|
- A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit.
|
|
36
|
-
- Do NOT call \`get_subagent_result\` immediately after a background launch.
|
|
38
|
+
- Do NOT call \`get_subagent_result\` immediately after a background launch. Active runs are refused rather than awaited. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
|
|
37
39
|
- Fresh background runs support explorer, worker, mentor, and librarian. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
|
|
38
40
|
- Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor and librarian fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${controlsEnabled
|
|
39
41
|
? `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,EACpB,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,GACxB,GAMG,EAAE;IACJ,MAAM,UAAU,GAAG;QACjB,iBAAiB;YACf,CAAC,CAAC,uKAAuK;YACzK,CAAC,CAAC,EAAE;QACN,iBAAiB;YACf,CAAC,CAAC,+KAA+K;YACjL,CAAC,CAAC,EAAE;KACP;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG;;;;EAIf,UAAU,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG;;EAGjB,iBAAiB;QACf,CAAC,CAAC,iHAAiH;QACnH,CAAC,CAAC,EACN,GACI,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG,
|
|
1
|
+
{"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,EACpB,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,KAAK,EACzB,eAAe,GAAG,KAAK,GACxB,GAMG,EAAE;IACJ,MAAM,UAAU,GAAG;QACjB,iBAAiB;YACf,CAAC,CAAC,uKAAuK;YACzK,CAAC,CAAC,EAAE;QACN,iBAAiB;YACf,CAAC,CAAC,+KAA+K;YACjL,CAAC,CAAC,EAAE;KACP;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG;;;;EAIf,UAAU,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG;;EAGjB,iBAAiB;QACf,CAAC,CAAC,iHAAiH;QACnH,CAAC,CAAC,EACN,GACI,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG;;qWAGE,gBAAgB;QACd,CAAC,CAAC;;8VAEsV;QACxV,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC;;;;ubAKE,eAAe;YACb,CAAC,CAAC;;;;gHAIoG;YACtG,CAAC,CAAC,EACN,EAAE;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,GAC7B,eAAe,CAAC,CAAC,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC,EAC/C,OAAO,YAAY,OAAO,wBAAwB,CAAC;QACjD,gBAAgB,EAAE,aAAa;QAC/B,aAAa,EAAE,iBAAiB;KACjC,CAAC,EAAE,CAAC;AACP,CAAC"}
|
|
@@ -33,6 +33,16 @@ it('getSubagentDelegationAddendum includes self-service fallback when orchestrat
|
|
|
33
33
|
expect(result.includes('just do it yourself')).toBe(true);
|
|
34
34
|
});
|
|
35
35
|
|
|
36
|
+
it('keeps diagnosis and recommendations with the parent when delegating evidence collection', () => {
|
|
37
|
+
const result = getSubagentDelegationAddendum({ orchestratorMode: false });
|
|
38
|
+
|
|
39
|
+
expect(result).toContain('Explorer is an evidence collector, not a reasoning delegate');
|
|
40
|
+
expect(result).toContain(
|
|
41
|
+
"Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer",
|
|
42
|
+
);
|
|
43
|
+
expect(result).toContain('You retain responsibility for hypotheses, causal analysis, judgments, and recommendations');
|
|
44
|
+
});
|
|
45
|
+
|
|
36
46
|
it('orchestrator mode protects outcome ownership and safe coordination', () => {
|
|
37
47
|
const result = getSubagentDelegationAddendum({ orchestratorMode: true });
|
|
38
48
|
expect(result).toContain('Delegation transfers execution, never outcome ownership');
|
|
@@ -35,14 +35,16 @@ You have one \`run_subagent\` tool. A subagent runs in its own context and retur
|
|
|
35
35
|
${executions}`;
|
|
36
36
|
|
|
37
37
|
const triggers = `**Delegate when it provides meaningful leverage:**
|
|
38
|
-
- Need
|
|
38
|
+
- Need bounded evidence collection, context compression, or current external information (library docs, best practices, version-specific behavior) → \`explorer\`.
|
|
39
39
|
${
|
|
40
40
|
backgroundEnabled
|
|
41
41
|
? '- About to commit to a non-trivial plan or tricky debugging direction and want it pressure-tested → `mentor`.\n'
|
|
42
42
|
: ''
|
|
43
43
|
}${
|
|
44
44
|
memoryEnabled ? '- Need relevant persistent-memory context or memory maintenance → `librarian`.\n' : ''
|
|
45
|
-
}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker
|
|
45
|
+
}- Have a cohesive, separable implementation or review unit with a checkable done condition → \`worker\`.
|
|
46
|
+
|
|
47
|
+
Explorer is an evidence collector, not a reasoning delegate. Ask it to locate and organize concrete facts, files, symbols, logs, tests, or sources for a bounded question. Do not pass the user's entire investigation, diagnosis, review, or planning task to explorer. You retain responsibility for hypotheses, causal analysis, judgments, and recommendations.${
|
|
46
48
|
orchestratorMode
|
|
47
49
|
? `
|
|
48
50
|
|
|
@@ -55,7 +57,7 @@ Otherwise, just do it yourself — especially when the task needs mid-flight cou
|
|
|
55
57
|
const backgroundRules = backgroundEnabled
|
|
56
58
|
? `**Background execution rules:**
|
|
57
59
|
- A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit.
|
|
58
|
-
- Do NOT call \`get_subagent_result\` immediately after a background launch.
|
|
60
|
+
- Do NOT call \`get_subagent_result\` immediately after a background launch. Active runs are refused rather than awaited. End the current turn and wait for the completion notification, which inlines the full result so you can continue directly.
|
|
59
61
|
- Fresh background runs support explorer, worker, mentor, and librarian. They persist across ordinary parent-turn completion in process memory until the 30-minute sliding TTL expires or the 50-session cap evicts them.
|
|
60
62
|
- Use \`get_subagent_result\` only with the exact \`runId\` from a completed run when you need to re-fetch a result already received. Mentor and librarian fresh calls reuse their default session; explorer fresh calls start a new session. Worker runs are always fresh and cannot be continued. Only completed non-worker runs support \`continue_run_id\`; do not invent runIds or continue active, failed, cancelled, missing, or evicted runs.${
|
|
61
63
|
controlsEnabled
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Explorer
|
|
3
|
-
description: read-only
|
|
3
|
+
description: read-only evidence collection with safe shell commands and web search. Use for locating facts, files, symbols, logs, tests, and external sources for a bounded parent question.
|
|
4
4
|
model: inherit
|
|
5
5
|
provider: inherit
|
|
6
6
|
canRead: true
|
|
7
7
|
canWrite: false
|
|
8
8
|
canSearchWeb: true
|
|
9
9
|
canRunShell: true
|
|
10
|
-
maxTurns:
|
|
10
|
+
maxTurns: 200
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
You are an explorer subagent. Your job is to
|
|
13
|
+
You are an explorer subagent. Your job is to collect and organize concrete evidence for a bounded question from the parent agent.
|
|
14
|
+
|
|
15
|
+
Collect and organize evidence only. Do not diagnose root causes, make recommendations, choose an approach, or answer the parent task on its behalf. If the task asks for those judgments, return the evidence relevant to making them and leave the judgment to the parent.
|
|
14
16
|
|
|
15
17
|
## Capabilities
|
|
16
18
|
|
|
@@ -37,13 +39,16 @@ You have read-only access to the workspace, may run safe read-only shell command
|
|
|
37
39
|
4. Use safe shell commands only when they help with inspection or locating code.
|
|
38
40
|
5. Cross-reference external findings with workspace usage when the question involves how something is used in the codebase.
|
|
39
41
|
6. Provide specific file paths and line numbers in your answer when relevant.
|
|
40
|
-
7.
|
|
42
|
+
7. Separate direct observations from uncertainty; do not turn correlations or plausible explanations into conclusions.
|
|
43
|
+
8. Report what you found, not what you looked at.
|
|
41
44
|
|
|
42
45
|
## Final Report
|
|
43
46
|
|
|
44
|
-
Return a concise
|
|
47
|
+
Return a concise evidence report. Include:
|
|
45
48
|
- Key findings with source references
|
|
46
49
|
- Relevant file paths and code examples when applicable
|
|
47
50
|
- Any caveats or uncertainty
|
|
48
51
|
|
|
52
|
+
Do not include root-cause conclusions, recommended fixes, approach choices, or a final answer to the user's broader task.
|
|
53
|
+
|
|
49
54
|
Do not assume access to context the parent agent did not provide. Do not modify any files.
|
|
@@ -7,7 +7,7 @@ canRead: false
|
|
|
7
7
|
canWrite: false
|
|
8
8
|
canSearchWeb: false
|
|
9
9
|
canRunShell: false
|
|
10
|
-
maxTurns:
|
|
10
|
+
maxTurns: 200
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
You are the memory librarian — the specialist other agents consult when they encounter uncertainty about prior knowledge. Your job is to find, synthesize, and organize relevant memories efficiently.
|
|
@@ -7,14 +7,14 @@ canRead: true
|
|
|
7
7
|
canWrite: true
|
|
8
8
|
canSearchWeb: false
|
|
9
9
|
canRunShell: true
|
|
10
|
-
maxTurns:
|
|
10
|
+
maxTurns: 200
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
You are a worker subagent. Your job is to implement a bounded change in the assigned files or directories.
|
|
14
14
|
|
|
15
15
|
## Capabilities
|
|
16
16
|
|
|
17
|
-
You have read and write access to the workspace (within the assigned write boundary). You can run shell commands but cannot access the web.
|
|
17
|
+
You have read and write access to the workspace (within the assigned write boundary). You can run shell commands but cannot access the web. When the harness pins you into a worktree, that worktree root is your full workspace — treat it as the checkout to read and edit.
|
|
18
18
|
|
|
19
19
|
## Instructions
|
|
20
20
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ProviderTrafficStreamDiagnostics } from '../services/service-interfaces.js';
|
|
2
|
+
/**
|
|
3
|
+
* Retains a streaming response so a stream that ends without a terminal event
|
|
4
|
+
* can still be explained afterwards.
|
|
5
|
+
*
|
|
6
|
+
* A completed response is summarized from its payload, but an aborted one has
|
|
7
|
+
* no payload at all — previously only an event count survived, which cannot
|
|
8
|
+
* distinguish a runaway generation from a stalled socket. The transcript is
|
|
9
|
+
* held only until a terminal event arrives, at which point it is redundant and
|
|
10
|
+
* dropped.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AbortedStreamRecorder {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(now?: () => number);
|
|
15
|
+
observe(event: unknown): void;
|
|
16
|
+
/** Drop the transcript once a terminal event makes it redundant. */
|
|
17
|
+
release(): void;
|
|
18
|
+
diagnostics(): ProviderTrafficStreamDiagnostics;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=aborted-stream-recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aborted-stream-recorder.d.ts","sourceRoot":"","sources":["../../source/providers/aborted-stream-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAE1F;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;;IAUhC,YAAY,GAAG,GAAE,MAAM,MAAiB,EAGvC;IAED,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAa5B;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAEd;IAED,WAAW,IAAI,gCAAgC,CAU9C;CACF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retains a streaming response so a stream that ends without a terminal event
|
|
3
|
+
* can still be explained afterwards.
|
|
4
|
+
*
|
|
5
|
+
* A completed response is summarized from its payload, but an aborted one has
|
|
6
|
+
* no payload at all — previously only an event count survived, which cannot
|
|
7
|
+
* distinguish a runaway generation from a stalled socket. The transcript is
|
|
8
|
+
* held only until a terminal event arrives, at which point it is redundant and
|
|
9
|
+
* dropped.
|
|
10
|
+
*/
|
|
11
|
+
export class AbortedStreamRecorder {
|
|
12
|
+
#now;
|
|
13
|
+
#startedAtMs;
|
|
14
|
+
#eventTypeCounts = {};
|
|
15
|
+
#events = [];
|
|
16
|
+
#firstEventMs;
|
|
17
|
+
#lastEventMs;
|
|
18
|
+
#maxGapMs = 0;
|
|
19
|
+
#responseId;
|
|
20
|
+
constructor(now = Date.now) {
|
|
21
|
+
this.#now = now;
|
|
22
|
+
this.#startedAtMs = now();
|
|
23
|
+
}
|
|
24
|
+
observe(event) {
|
|
25
|
+
const elapsed = this.#now() - this.#startedAtMs;
|
|
26
|
+
if (this.#firstEventMs === undefined)
|
|
27
|
+
this.#firstEventMs = elapsed;
|
|
28
|
+
else
|
|
29
|
+
this.#maxGapMs = Math.max(this.#maxGapMs, elapsed - (this.#lastEventMs ?? 0));
|
|
30
|
+
this.#lastEventMs = elapsed;
|
|
31
|
+
const type = typeof event?.type === 'string' ? event.type : 'unknown';
|
|
32
|
+
this.#eventTypeCounts[type] = (this.#eventTypeCounts[type] ?? 0) + 1;
|
|
33
|
+
const responseId = readResponseId(event);
|
|
34
|
+
if (responseId)
|
|
35
|
+
this.#responseId = responseId;
|
|
36
|
+
this.#events?.push(event);
|
|
37
|
+
}
|
|
38
|
+
/** Drop the transcript once a terminal event makes it redundant. */
|
|
39
|
+
release() {
|
|
40
|
+
this.#events = undefined;
|
|
41
|
+
}
|
|
42
|
+
diagnostics() {
|
|
43
|
+
return {
|
|
44
|
+
durationMs: this.#now() - this.#startedAtMs,
|
|
45
|
+
...(this.#firstEventMs === undefined ? {} : { firstEventMs: this.#firstEventMs }),
|
|
46
|
+
...(this.#lastEventMs === undefined ? {} : { lastEventMs: this.#lastEventMs }),
|
|
47
|
+
...(this.#firstEventMs === undefined ? {} : { maxGapMs: this.#maxGapMs }),
|
|
48
|
+
...(this.#responseId ? { responseId: this.#responseId } : {}),
|
|
49
|
+
eventTypeCounts: { ...this.#eventTypeCounts },
|
|
50
|
+
events: this.#events ? [...this.#events] : [],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function readResponseId(event) {
|
|
55
|
+
if (!event || typeof event !== 'object')
|
|
56
|
+
return undefined;
|
|
57
|
+
const record = event;
|
|
58
|
+
if (typeof record.response_id === 'string' && record.response_id.length > 0)
|
|
59
|
+
return record.response_id;
|
|
60
|
+
const nested = record.response?.id;
|
|
61
|
+
return typeof nested === 'string' && nested.length > 0 ? nested : undefined;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=aborted-stream-recorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aborted-stream-recorder.js","sourceRoot":"","sources":["../../source/providers/aborted-stream-recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-auth.d.ts","sourceRoot":"","sources":["../../source/providers/codex-auth.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CA4BrD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the Codex auth file by presence only. Reading or validating the
|
|
6
|
+
* token contents belongs to the runtime request path.
|
|
7
|
+
*/
|
|
8
|
+
export function resolveCodexTokenPath() {
|
|
9
|
+
const candidates = [];
|
|
10
|
+
if (process.env.CHATGPT_LOCAL_HOME) {
|
|
11
|
+
candidates.push(path.join(process.env.CHATGPT_LOCAL_HOME, 'auth.json'));
|
|
12
|
+
candidates.push(process.env.CHATGPT_LOCAL_HOME);
|
|
13
|
+
}
|
|
14
|
+
if (process.env.CODEX_HOME) {
|
|
15
|
+
candidates.push(path.join(process.env.CODEX_HOME, 'auth.json'));
|
|
16
|
+
candidates.push(process.env.CODEX_HOME);
|
|
17
|
+
}
|
|
18
|
+
const home = os.homedir();
|
|
19
|
+
if (home) {
|
|
20
|
+
candidates.push(path.join(home, '.chatgpt-local', 'auth.json'));
|
|
21
|
+
candidates.push(path.join(home, '.codex', 'auth.json'));
|
|
22
|
+
}
|
|
23
|
+
for (const candidate of candidates) {
|
|
24
|
+
try {
|
|
25
|
+
if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) {
|
|
26
|
+
return candidate;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// Ignore inaccessible candidates and continue through the precedence list.
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=codex-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-auth.js","sourceRoot":"","sources":["../../source/providers/codex-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;QACxE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChE,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import type { StreamedModelTurn, StreamedModelTurnEvent, StreamedModelTurnRequest } from '../contracts/streamed-model-turn.js';
|
|
1
|
+
import type { ContextCompactionSessionState, StreamedModelTurn, StreamedModelTurnEvent, 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';
|
|
5
|
+
export type CodexResponsesTransportOptions = {
|
|
6
|
+
supportsContextCompaction?: boolean;
|
|
7
|
+
contextCompactionSessionState?: ContextCompactionSessionState;
|
|
8
|
+
};
|
|
5
9
|
/** Provider-owned transport seam used by Codex's HTTP and WebSocket models. */
|
|
6
10
|
export declare class CodexResponsesTransport {
|
|
7
11
|
private readonly client;
|
|
8
12
|
private readonly model;
|
|
9
13
|
private readonly websocket;
|
|
10
|
-
|
|
14
|
+
private readonly options;
|
|
15
|
+
constructor(client?: any, model?: string, websocket?: boolean, options?: CodexResponsesTransportOptions);
|
|
11
16
|
buildResponsesCreateRequest(request: StreamedModelTurnRequest, stream: boolean): any;
|
|
12
17
|
fetchResponse(request: StreamedModelTurnRequest, stream: boolean, requestData: any): Promise<any>;
|
|
13
18
|
}
|
|
@@ -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,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"codex-responses-model.d.ts","sourceRoot":"","sources":["../../source/providers/codex-responses-model.ts"],"names":[],"mappings":"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"}
|