@qduc/term2 0.11.1 → 0.12.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 -4
- package/dist/agent.d.ts +21 -24
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +73 -21
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +3 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +283 -128
- package/dist/app.js.map +1 -1
- package/dist/cli.js +91 -27
- package/dist/cli.js.map +1 -1
- package/dist/commands/auto-approve-command.js.map +1 -1
- package/dist/commands/mode-commands.js.map +1 -1
- package/dist/commands/retry-tool-command.d.ts +13 -0
- package/dist/commands/retry-tool-command.d.ts.map +1 -0
- package/dist/commands/retry-tool-command.js +20 -0
- package/dist/commands/retry-tool-command.js.map +1 -0
- package/dist/commands/rewind-command.d.ts +37 -0
- package/dist/commands/rewind-command.d.ts.map +1 -0
- package/dist/commands/rewind-command.js +97 -0
- package/dist/commands/rewind-command.js.map +1 -0
- package/dist/commands/sandbox-command.js.map +1 -1
- package/dist/components/InputBox.d.ts +18 -32
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +178 -579
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/input/ApplicationInputSurface.d.ts +37 -0
- package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -0
- package/dist/components/input/ApplicationInputSurface.js +78 -0
- package/dist/components/input/ApplicationInputSurface.js.map +1 -0
- package/dist/components/input/MenuStackHost.d.ts +12 -0
- package/dist/components/input/MenuStackHost.d.ts.map +1 -0
- package/dist/components/input/MenuStackHost.js +13 -0
- package/dist/components/input/MenuStackHost.js.map +1 -0
- package/dist/components/input/MenuSurface.d.ts +13 -0
- package/dist/components/input/MenuSurface.d.ts.map +1 -0
- package/dist/components/input/MenuSurface.js +86 -0
- package/dist/components/input/MenuSurface.js.map +1 -0
- package/dist/components/input/ModelMenuSession.d.ts +19 -0
- package/dist/components/input/ModelMenuSession.d.ts.map +1 -0
- package/dist/components/input/ModelMenuSession.js +144 -0
- package/dist/components/input/ModelMenuSession.js.map +1 -0
- package/dist/components/input/PathMenuSession.d.ts +16 -0
- package/dist/components/input/PathMenuSession.d.ts.map +1 -0
- package/dist/components/input/PathMenuSession.js +68 -0
- package/dist/components/input/PathMenuSession.js.map +1 -0
- package/dist/components/input/PendingQueueList.d.ts +20 -0
- package/dist/components/input/PendingQueueList.d.ts.map +1 -0
- package/dist/components/input/PendingQueueList.js +26 -0
- package/dist/components/input/PendingQueueList.js.map +1 -0
- package/dist/components/input/ProviderMenuSession.d.ts +16 -0
- package/dist/components/input/ProviderMenuSession.d.ts.map +1 -0
- package/dist/components/input/ProviderMenuSession.js +93 -0
- package/dist/components/input/ProviderMenuSession.js.map +1 -0
- package/dist/components/input/RewindMenuSession.d.ts +14 -0
- package/dist/components/input/RewindMenuSession.d.ts.map +1 -0
- package/dist/components/input/RewindMenuSession.js +77 -0
- package/dist/components/input/RewindMenuSession.js.map +1 -0
- package/dist/components/input/SettingsMenuSession.d.ts +17 -0
- package/dist/components/input/SettingsMenuSession.d.ts.map +1 -0
- package/dist/components/input/SettingsMenuSession.js +136 -0
- package/dist/components/input/SettingsMenuSession.js.map +1 -0
- package/dist/components/input/SettingsValueMenuSession.d.ts +19 -0
- package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -0
- package/dist/components/input/SettingsValueMenuSession.js +113 -0
- package/dist/components/input/SettingsValueMenuSession.js.map +1 -0
- package/dist/components/input/SkillsMenuSession.d.ts +16 -0
- package/dist/components/input/SkillsMenuSession.d.ts.map +1 -0
- package/dist/components/input/SkillsMenuSession.js +64 -0
- package/dist/components/input/SkillsMenuSession.js.map +1 -0
- package/dist/components/input/SlashMenuSession.d.ts +17 -0
- package/dist/components/input/SlashMenuSession.d.ts.map +1 -0
- package/dist/components/input/SlashMenuSession.js +57 -0
- package/dist/components/input/SlashMenuSession.js.map +1 -0
- package/dist/components/input/determine-active-menu.d.ts +2 -0
- package/dist/components/input/determine-active-menu.d.ts.map +1 -1
- package/dist/components/input/determine-active-menu.js +12 -4
- package/dist/components/input/determine-active-menu.js.map +1 -1
- package/dist/components/input/insertions.d.ts +0 -13
- package/dist/components/input/insertions.d.ts.map +1 -1
- package/dist/components/input/insertions.js +0 -26
- package/dist/components/input/insertions.js.map +1 -1
- package/dist/components/input/menu-controller.d.ts +52 -0
- package/dist/components/input/menu-controller.d.ts.map +1 -0
- package/dist/components/input/menu-controller.js +690 -0
- package/dist/components/input/menu-controller.js.map +1 -0
- package/dist/components/input/menu-editor.d.ts +9 -0
- package/dist/components/input/menu-editor.d.ts.map +1 -0
- package/dist/components/input/menu-editor.js +45 -0
- package/dist/components/input/menu-editor.js.map +1 -0
- package/dist/components/input/menu-registry.d.ts +20 -0
- package/dist/components/input/menu-registry.d.ts.map +1 -0
- package/dist/components/input/menu-registry.js +25 -0
- package/dist/components/input/menu-registry.js.map +1 -0
- package/dist/components/input/menu-types.d.ts +320 -0
- package/dist/components/input/menu-types.d.ts.map +1 -0
- package/dist/components/input/menu-types.js +2 -0
- package/dist/components/input/menu-types.js.map +1 -0
- package/dist/components/input/settings-intent-host.d.ts +22 -0
- package/dist/components/input/settings-intent-host.d.ts.map +1 -0
- package/dist/components/input/settings-intent-host.js +69 -0
- package/dist/components/input/settings-intent-host.js.map +1 -0
- package/dist/components/input/triggers.d.ts +3 -0
- package/dist/components/input/triggers.d.ts.map +1 -1
- package/dist/components/input/triggers.js +258 -0
- package/dist/components/input/triggers.js.map +1 -1
- package/dist/components/layout/BackgroundTaskManager.d.ts +16 -0
- package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -0
- package/dist/components/layout/BackgroundTaskManager.js +236 -0
- package/dist/components/layout/BackgroundTaskManager.js.map +1 -0
- package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
- package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
- package/dist/components/layout/BackgroundTasksPanel.js +54 -33
- package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts +23 -19
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +74 -48
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +3 -1
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +102 -83
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/menu/RewindMenu.d.ts +18 -0
- package/dist/components/menu/RewindMenu.d.ts.map +1 -0
- package/dist/components/menu/RewindMenu.js +59 -0
- package/dist/components/menu/RewindMenu.js.map +1 -0
- package/dist/components/message/ChatMessage.d.ts +2 -1
- package/dist/components/message/ChatMessage.d.ts.map +1 -1
- 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 +138 -17
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
- package/dist/components/message/MemoryRenderer.js +16 -10
- package/dist/components/message/MemoryRenderer.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +20 -3
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +1 -1
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/SubagentActivityMessage.d.ts +5 -1
- package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
- package/dist/components/message/SubagentActivityMessage.js +12 -4
- package/dist/components/message/SubagentActivityMessage.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts +37 -0
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +49 -8
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts +1 -0
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +136 -59
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/context/InputContext.d.ts +15 -8
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js +92 -15
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/application-stream.d.ts +38 -0
- package/dist/contracts/application-stream.d.ts.map +1 -0
- package/dist/contracts/application-stream.js +2 -0
- package/dist/contracts/application-stream.js.map +1 -0
- package/dist/contracts/continuation-handle.d.ts +18 -0
- package/dist/contracts/continuation-handle.d.ts.map +1 -0
- package/dist/contracts/continuation-handle.js +22 -0
- package/dist/contracts/continuation-handle.js.map +1 -0
- package/dist/contracts/conversation-items.d.ts +47 -0
- package/dist/contracts/conversation-items.d.ts.map +1 -0
- package/dist/contracts/conversation-items.js +2 -0
- package/dist/contracts/conversation-items.js.map +1 -0
- package/dist/contracts/conversation.d.ts +44 -4
- package/dist/contracts/conversation.d.ts.map +1 -1
- package/dist/contracts/conversation.js +9 -0
- package/dist/contracts/conversation.js.map +1 -1
- package/dist/contracts/model-errors.d.ts +10 -0
- package/dist/contracts/model-errors.d.ts.map +1 -0
- package/dist/contracts/model-errors.js +15 -0
- package/dist/contracts/model-errors.js.map +1 -0
- package/dist/contracts/model-types.d.ts +16 -0
- package/dist/contracts/model-types.d.ts.map +1 -0
- package/dist/contracts/model-types.js +2 -0
- package/dist/contracts/model-types.js.map +1 -0
- package/dist/contracts/patch.d.ts +17 -0
- package/dist/contracts/patch.d.ts.map +1 -0
- package/dist/contracts/patch.js +2 -0
- package/dist/contracts/patch.js.map +1 -0
- package/dist/contracts/provider-input.d.ts +34 -0
- package/dist/contracts/provider-input.d.ts.map +1 -0
- package/dist/contracts/provider-input.js +2 -0
- package/dist/contracts/provider-input.js.map +1 -0
- package/dist/contracts/streamed-model-turn.d.ts +230 -0
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -0
- package/dist/contracts/streamed-model-turn.js +2 -0
- package/dist/contracts/streamed-model-turn.js.map +1 -0
- package/dist/env-setup.js +1 -1
- package/dist/hooks/conversation-ui-reducer.d.ts +22 -4
- package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
- package/dist/hooks/conversation-ui-reducer.js +43 -4
- package/dist/hooks/conversation-ui-reducer.js.map +1 -1
- package/dist/hooks/handoff-flow-reducer.d.ts +1 -36
- package/dist/hooks/handoff-flow-reducer.d.ts.map +1 -1
- package/dist/hooks/handoff-flow-reducer.js +3 -57
- package/dist/hooks/handoff-flow-reducer.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts +1 -0
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +30 -6
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +13 -11
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +90 -63
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts +18 -1
- package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
- package/dist/hooks/use-app-keyboard-shortcuts.js +77 -8
- package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +30 -13
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +84 -18
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-escape-key.d.ts +4 -32
- package/dist/hooks/use-escape-key.d.ts.map +1 -1
- package/dist/hooks/use-escape-key.js +27 -68
- package/dist/hooks/use-escape-key.js.map +1 -1
- package/dist/hooks/use-handoff-flow.d.ts +6 -6
- package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
- package/dist/hooks/use-handoff-flow.js +110 -118
- package/dist/hooks/use-handoff-flow.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +50 -59
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +20 -11
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-provider-selection.d.ts.map +1 -1
- package/dist/hooks/use-provider-selection.js +19 -16
- package/dist/hooks/use-provider-selection.js.map +1 -1
- package/dist/hooks/use-rewind-selection.d.ts +30 -0
- package/dist/hooks/use-rewind-selection.d.ts.map +1 -0
- package/dist/hooks/{use-undo-selection.js → use-rewind-selection.js} +37 -28
- package/dist/hooks/use-rewind-selection.js.map +1 -0
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
- package/dist/hooks/use-runtime-settings.js +4 -3
- package/dist/hooks/use-runtime-settings.js.map +1 -1
- package/dist/hooks/use-selection.d.ts +1 -0
- package/dist/hooks/use-selection.d.ts.map +1 -1
- package/dist/hooks/use-selection.js +1 -1
- package/dist/hooks/use-selection.js.map +1 -1
- package/dist/hooks/use-setting.d.ts +3 -2
- package/dist/hooks/use-setting.d.ts.map +1 -1
- package/dist/hooks/use-setting.js +1 -1
- package/dist/hooks/use-setting.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts +1 -0
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +22 -15
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +40 -28
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-shell-mode.d.ts +3 -13
- package/dist/hooks/use-shell-mode.d.ts.map +1 -1
- package/dist/hooks/use-shell-mode.js +14 -53
- package/dist/hooks/use-shell-mode.js.map +1 -1
- package/dist/hooks/use-skill-selection.d.ts.map +1 -1
- package/dist/hooks/use-skill-selection.js +17 -11
- package/dist/hooks/use-skill-selection.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +11 -10
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-terminal-focus-notifier.js.map +1 -1
- package/dist/lib/agent-chat-service.d.ts +12 -8
- package/dist/lib/agent-chat-service.d.ts.map +1 -1
- package/dist/lib/agent-chat-service.js +79 -44
- package/dist/lib/agent-chat-service.js.map +1 -1
- package/dist/lib/agent-client.d.ts +93 -17
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +398 -37
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +33 -15
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +104 -9
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +22 -4
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +137 -101
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/lib/chained-input-filter.d.ts +7 -1
- package/dist/lib/chained-input-filter.d.ts.map +1 -1
- package/dist/lib/chained-input-filter.js +46 -62
- package/dist/lib/chained-input-filter.js.map +1 -1
- package/dist/lib/continuation-projection-mode.d.ts +3 -0
- package/dist/lib/continuation-projection-mode.d.ts.map +1 -0
- package/dist/lib/continuation-projection-mode.js +2 -0
- package/dist/lib/continuation-projection-mode.js.map +1 -0
- package/dist/lib/editor-impl.d.ts +1 -1
- package/dist/lib/editor-impl.d.ts.map +1 -1
- package/dist/lib/editor-impl.js +1 -1
- package/dist/lib/editor-impl.js.map +1 -1
- package/dist/lib/harness-invariant-error.d.ts +22 -0
- package/dist/lib/harness-invariant-error.d.ts.map +1 -0
- package/dist/lib/harness-invariant-error.js +30 -0
- package/dist/lib/harness-invariant-error.js.map +1 -0
- package/dist/lib/input-owner.d.ts +64 -0
- package/dist/lib/input-owner.d.ts.map +1 -0
- package/dist/lib/input-owner.js +34 -0
- package/dist/lib/input-owner.js.map +1 -0
- package/dist/lib/openai-strict-tool-schema.d.ts +7 -4
- package/dist/lib/openai-strict-tool-schema.d.ts.map +1 -1
- package/dist/lib/openai-strict-tool-schema.js +8 -0
- package/dist/lib/openai-strict-tool-schema.js.map +1 -1
- package/dist/lib/subagent-bridge.d.ts +36 -4
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +92 -20
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts +18 -10
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +92 -44
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/non-interactive.d.ts +14 -4
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +91 -84
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/async-subagent-delegation.d.ts +1 -4
- package/dist/prompts/async-subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/async-subagent-delegation.js +9 -47
- package/dist/prompts/async-subagent-delegation.js.map +1 -1
- package/dist/prompts/async-subagent-delegation.ts +9 -58
- package/dist/prompts/memory.md +1 -1
- package/dist/prompts/orchestrator-prompt.test.ts +15 -0
- package/dist/prompts/orchestrator.md +7 -5
- package/dist/prompts/plan-mode-info.md +1 -1
- 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 -7
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +9 -8
- package/dist/prompts/prompt-constructor.ts +6 -7
- 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 +20 -5
- package/dist/prompts/shell-auto-approval.js.map +1 -1
- package/dist/prompts/shell-auto-approval.ts +20 -5
- package/dist/prompts/steering-notice.d.ts +16 -0
- package/dist/prompts/steering-notice.d.ts.map +1 -0
- package/dist/prompts/steering-notice.js +24 -0
- package/dist/prompts/steering-notice.js.map +1 -0
- package/dist/prompts/steering-notice.ts +24 -0
- package/dist/prompts/subagent-delegation.d.ts +6 -5
- package/dist/prompts/subagent-delegation.d.ts.map +1 -1
- package/dist/prompts/subagent-delegation.js +36 -13
- package/dist/prompts/subagent-delegation.js.map +1 -1
- package/dist/prompts/subagent-delegation.test.ts +9 -2
- package/dist/prompts/subagent-delegation.ts +54 -14
- package/dist/prompts/subagents/explorer.md +24 -14
- package/dist/prompts/subagents/worker-prompt.test.ts +2 -2
- package/dist/prompts/worktree-hygiene.md +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts +3 -3
- package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-anthropic.provider.js +8 -4
- package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -1
- package/dist/providers/ai-sdk-google.provider.d.ts +5 -4
- package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-google.provider.js +23 -3
- package/dist/providers/ai-sdk-google.provider.js.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.d.ts +3 -7
- package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.js +27 -11
- package/dist/providers/ai-sdk-message-normalizer.js.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.d.ts +5 -4
- package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.js +25 -3
- package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
- package/dist/providers/ai-sdk-provider-settings.d.ts +10 -0
- package/dist/providers/ai-sdk-provider-settings.d.ts.map +1 -0
- package/dist/providers/ai-sdk-provider-settings.js +37 -0
- package/dist/providers/ai-sdk-provider-settings.js.map +1 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts +5 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -0
- package/dist/providers/ai-sdk-streamed-model.js +338 -0
- package/dist/providers/ai-sdk-streamed-model.js.map +1 -0
- package/dist/providers/codex-responses-model.d.ts +39 -12
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +656 -155
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/codex-turn-converter.d.ts +12 -0
- package/dist/providers/codex-turn-converter.d.ts.map +1 -0
- package/dist/providers/codex-turn-converter.js +168 -0
- package/dist/providers/codex-turn-converter.js.map +1 -0
- package/dist/providers/codex.provider.d.ts +21 -0
- package/dist/providers/codex.provider.d.ts.map +1 -1
- package/dist/providers/codex.provider.js +57 -27
- package/dist/providers/codex.provider.js.map +1 -1
- package/dist/providers/common/openai-compatible-message-contract.d.ts +8 -0
- package/dist/providers/common/openai-compatible-message-contract.d.ts.map +1 -0
- package/dist/providers/common/openai-compatible-message-contract.js +23 -0
- package/dist/providers/common/openai-compatible-message-contract.js.map +1 -0
- package/dist/providers/common/openai-compatible-messages.d.ts +0 -4
- package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
- package/dist/providers/common/openai-compatible-messages.js +0 -288
- package/dist/providers/common/openai-compatible-messages.js.map +1 -1
- package/dist/providers/fetch/composer.d.ts.map +1 -1
- package/dist/providers/fetch/composer.js +1 -0
- package/dist/providers/fetch/composer.js.map +1 -1
- package/dist/providers/model-catalog/catalog.d.ts +31 -0
- package/dist/providers/model-catalog/catalog.d.ts.map +1 -0
- package/dist/providers/model-catalog/catalog.generated.d.ts +3010 -0
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -0
- package/dist/providers/model-catalog/catalog.generated.js +3004 -0
- package/dist/providers/model-catalog/catalog.generated.js.map +1 -0
- package/dist/providers/model-catalog/catalog.js +62 -0
- package/dist/providers/model-catalog/catalog.js.map +1 -0
- package/dist/providers/model-catalog/generate-catalog.d.ts +42 -0
- package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -0
- package/dist/providers/model-catalog/generate-catalog.js +96 -0
- package/dist/providers/model-catalog/generate-catalog.js.map +1 -0
- package/dist/providers/openai-chained-input-compatibility.d.ts +36 -0
- package/dist/providers/openai-chained-input-compatibility.d.ts.map +1 -0
- package/dist/providers/openai-chained-input-compatibility.js +60 -0
- package/dist/providers/openai-chained-input-compatibility.js.map +1 -0
- package/dist/providers/openai-chat-completions-model.d.ts +12 -0
- package/dist/providers/openai-chat-completions-model.d.ts.map +1 -0
- package/dist/providers/openai-chat-completions-model.js +271 -0
- package/dist/providers/openai-chat-completions-model.js.map +1 -0
- package/dist/providers/openai-compatible-lazy.d.ts +1 -1
- package/dist/providers/openai-compatible-lazy.d.ts.map +1 -1
- package/dist/providers/openai-compatible-lazy.js +24 -36
- package/dist/providers/openai-compatible-lazy.js.map +1 -1
- package/dist/providers/openai-compatible-middleware.d.ts +4 -1
- package/dist/providers/openai-compatible-middleware.d.ts.map +1 -1
- package/dist/providers/openai-compatible-middleware.js +15 -14
- package/dist/providers/openai-compatible-middleware.js.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.d.ts +10 -1
- package/dist/providers/openai-compatible-response-normalizer.d.ts.map +1 -1
- package/dist/providers/openai-compatible-response-normalizer.js +15 -4
- package/dist/providers/openai-compatible-response-normalizer.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts +7 -10
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +80 -78
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-request-prefix-binding.d.ts +28 -0
- package/dist/providers/openai-request-prefix-binding.d.ts.map +1 -0
- package/dist/providers/openai-request-prefix-binding.js +78 -0
- package/dist/providers/openai-request-prefix-binding.js.map +1 -0
- package/dist/providers/openai-responses-model.d.ts +43 -0
- package/dist/providers/openai-responses-model.d.ts.map +1 -0
- package/dist/providers/openai-responses-model.js +564 -0
- package/dist/providers/openai-responses-model.js.map +1 -0
- package/dist/providers/openai.provider.d.ts +11 -8
- package/dist/providers/openai.provider.d.ts.map +1 -1
- package/dist/providers/openai.provider.js +43 -91
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/opencode-routing.d.ts +1 -1
- package/dist/providers/opencode-routing.d.ts.map +1 -1
- package/dist/providers/opencode-routing.js +4 -2
- package/dist/providers/opencode-routing.js.map +1 -1
- package/dist/providers/opencode-session.d.ts.map +1 -1
- package/dist/providers/opencode-session.js +28 -3
- package/dist/providers/opencode-session.js.map +1 -1
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +33 -33
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/provider-request-capture.d.ts +35 -0
- package/dist/providers/provider-request-capture.d.ts.map +1 -0
- package/dist/providers/provider-request-capture.js +22 -0
- package/dist/providers/provider-request-capture.js.map +1 -0
- package/dist/providers/provider-service.d.ts +9 -7
- package/dist/providers/provider-service.d.ts.map +1 -1
- package/dist/providers/provider-service.js +29 -28
- package/dist/providers/provider-service.js.map +1 -1
- package/dist/providers/registry.d.ts +14 -9
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/retrying-model.d.ts +8 -6
- package/dist/providers/retrying-model.d.ts.map +1 -1
- package/dist/providers/retrying-model.js +7 -20
- package/dist/providers/retrying-model.js.map +1 -1
- package/dist/providers/web-search/exa.provider.js.map +1 -1
- package/dist/providers/web-search/registry.js.map +1 -1
- package/dist/providers/web-search/tavily.provider.js.map +1 -1
- package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -1
- package/dist/providers/websocket-receive-watchdog.js +9 -1
- package/dist/providers/websocket-receive-watchdog.js.map +1 -1
- package/dist/scripts/eval-auto-approval/runner.js +2 -0
- package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +205 -0
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -0
- package/dist/services/agent-runtime/application-run-loop.js +1236 -0
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -0
- package/dist/services/agent-runtime/compose-agent-runtime.d.ts +3 -0
- package/dist/services/agent-runtime/compose-agent-runtime.d.ts.map +1 -1
- package/dist/services/agent-runtime/compose-agent-runtime.js +4 -0
- package/dist/services/agent-runtime/compose-agent-runtime.js.map +1 -1
- package/dist/services/agent-runtime/generation-guard.d.ts +69 -0
- package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -0
- package/dist/services/agent-runtime/generation-guard.js +270 -0
- package/dist/services/agent-runtime/generation-guard.js.map +1 -0
- package/dist/services/agent-runtime/model-resolver.d.ts.map +1 -1
- package/dist/services/agent-runtime/model-resolver.js +7 -6
- package/dist/services/agent-runtime/model-resolver.js.map +1 -1
- package/dist/services/agent-runtime/structured-output.d.ts.map +1 -1
- package/dist/services/agent-runtime/structured-output.js +1 -21
- package/dist/services/agent-runtime/structured-output.js.map +1 -1
- package/dist/services/agent-runtime/tool-invocation-context.d.ts +73 -0
- package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -0
- package/dist/services/agent-runtime/tool-invocation-context.js +66 -0
- package/dist/services/agent-runtime/tool-invocation-context.js.map +1 -0
- package/dist/services/agent-stream.d.ts +41 -2
- package/dist/services/agent-stream.d.ts.map +1 -1
- package/dist/services/agent-stream.js +46 -1
- package/dist/services/agent-stream.js.map +1 -1
- package/dist/services/approval/approval-decision-executor.d.ts +42 -0
- package/dist/services/approval/approval-decision-executor.d.ts.map +1 -0
- package/dist/services/approval/approval-decision-executor.js +207 -0
- package/dist/services/approval/approval-decision-executor.js.map +1 -0
- package/dist/services/approval/approval-flow-coordinator.d.ts +25 -8
- package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.js +34 -167
- package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval/approval-replay.d.ts +52 -0
- package/dist/services/approval/approval-replay.d.ts.map +1 -0
- package/dist/services/approval/approval-replay.js +68 -0
- package/dist/services/approval/approval-replay.js.map +1 -0
- package/dist/services/approval/approval-state.d.ts +3 -6
- package/dist/services/approval/approval-state.d.ts.map +1 -1
- package/dist/services/approval/approval-state.js +0 -10
- package/dist/services/approval/approval-state.js.map +1 -1
- package/dist/services/approval/background-subagent-approval-controller.d.ts +25 -0
- package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -0
- package/dist/services/approval/background-subagent-approval-controller.js +65 -0
- package/dist/services/approval/background-subagent-approval-controller.js.map +1 -0
- package/dist/services/approval/background-subagent-approval-queue.d.ts +137 -0
- package/dist/services/approval/background-subagent-approval-queue.d.ts.map +1 -0
- package/dist/services/approval/background-subagent-approval-queue.js +200 -0
- package/dist/services/approval/background-subagent-approval-queue.js.map +1 -0
- package/dist/services/approval/non-interactive-approval-policy.d.ts +33 -0
- package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -0
- package/dist/services/approval/non-interactive-approval-policy.js +85 -0
- package/dist/services/approval/non-interactive-approval-policy.js.map +1 -0
- package/dist/services/approval/session-read-access.d.ts +10 -0
- package/dist/services/approval/session-read-access.d.ts.map +1 -1
- package/dist/services/approval/session-read-access.js +12 -0
- package/dist/services/approval/session-read-access.js.map +1 -1
- package/dist/services/approval/session-read-grant-target.d.ts +7 -0
- package/dist/services/approval/session-read-grant-target.d.ts.map +1 -0
- package/dist/services/approval/session-read-grant-target.js +36 -0
- package/dist/services/approval/session-read-grant-target.js.map +1 -0
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts +11 -3
- package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-evaluator.js +140 -46
- package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.d.ts +13 -0
- package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
- package/dist/services/approval/shell-auto-approval-resolver.js +74 -6
- package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
- package/dist/services/approval/shell-sandbox-approval.d.ts +22 -1
- package/dist/services/approval/shell-sandbox-approval.d.ts.map +1 -1
- package/dist/services/approval/shell-sandbox-approval.js +31 -4
- package/dist/services/approval/shell-sandbox-approval.js.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts +9 -0
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +20 -4
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/approval/tool-owner.d.ts +5 -2
- package/dist/services/approval/tool-owner.d.ts.map +1 -1
- package/dist/services/approval/tool-owner.js +0 -56
- package/dist/services/approval/tool-owner.js.map +1 -1
- package/dist/services/approval/tool-ownership-registry.d.ts +25 -0
- package/dist/services/approval/tool-ownership-registry.d.ts.map +1 -0
- package/dist/services/approval/tool-ownership-registry.js +63 -0
- package/dist/services/approval/tool-ownership-registry.js.map +1 -0
- package/dist/services/command-message-streaming.d.ts +8 -4
- package/dist/services/command-message-streaming.d.ts.map +1 -1
- package/dist/services/command-message-streaming.js +13 -52
- package/dist/services/command-message-streaming.js.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter-factory.js +1 -0
- package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +112 -13
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +270 -47
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-admission-workflow.d.ts +69 -0
- package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -0
- package/dist/services/conversation/conversation-admission-workflow.js +110 -0
- package/dist/services/conversation/conversation-admission-workflow.js.map +1 -0
- package/dist/services/conversation/conversation-decoder.d.ts +14 -0
- package/dist/services/conversation/conversation-decoder.d.ts.map +1 -0
- package/dist/services/conversation/conversation-decoder.js +149 -0
- package/dist/services/conversation/conversation-decoder.js.map +1 -0
- package/dist/services/conversation/conversation-events.d.ts +50 -26
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-history-repair.d.ts.map +1 -1
- package/dist/services/conversation/conversation-history-repair.js +34 -37
- package/dist/services/conversation/conversation-history-repair.js.map +1 -1
- package/dist/services/conversation/conversation-message-projection.d.ts +27 -0
- package/dist/services/conversation/conversation-message-projection.d.ts.map +1 -0
- package/dist/services/conversation/conversation-message-projection.js +59 -0
- package/dist/services/conversation/conversation-message-projection.js.map +1 -0
- package/dist/services/conversation/conversation-orchestrator.d.ts +23 -14
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +358 -159
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.types.d.ts +14 -11
- package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence-types.d.ts +15 -38
- package/dist/services/conversation/conversation-persistence-types.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.d.ts +3 -10
- package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation/conversation-persistence.js +66 -15
- package/dist/services/conversation/conversation-persistence.js.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts +7 -5
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +127 -66
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-result-builder.d.ts +16 -2
- package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-result-builder.js +51 -15
- package/dist/services/conversation/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.d.ts +18 -0
- package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
- package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +65 -12
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +129 -16
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-state-projector.d.ts +3 -3
- package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-projector.js +18 -0
- package/dist/services/conversation/conversation-state-projector.js.map +1 -1
- package/dist/services/conversation/conversation-store.d.ts +69 -12
- package/dist/services/conversation/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation/conversation-store.js +216 -119
- package/dist/services/conversation/conversation-store.js.map +1 -1
- package/dist/services/conversation/conversation-turn-items.d.ts +8 -2
- package/dist/services/conversation/conversation-turn-items.d.ts.map +1 -1
- package/dist/services/conversation/conversation-turn-items.js +96 -275
- package/dist/services/conversation/conversation-turn-items.js.map +1 -1
- package/dist/services/conversation/journal-to-ledger.d.ts.map +1 -1
- package/dist/services/conversation/journal-to-ledger.js +4 -24
- package/dist/services/conversation/journal-to-ledger.js.map +1 -1
- package/dist/services/conversation/run-item-normalizer.d.ts +5 -0
- package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -0
- package/dist/services/conversation/run-item-normalizer.js +245 -0
- package/dist/services/conversation/run-item-normalizer.js.map +1 -0
- package/dist/services/conversation/user-turn-item.d.ts +14 -0
- package/dist/services/conversation/user-turn-item.d.ts.map +1 -0
- package/dist/services/conversation/user-turn-item.js +27 -0
- package/dist/services/conversation/user-turn-item.js.map +1 -0
- package/dist/services/conversation-agent-client.d.ts +77 -6
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/cost/model-cost.d.ts +147 -0
- package/dist/services/cost/model-cost.d.ts.map +1 -0
- package/dist/services/cost/model-cost.js +217 -0
- package/dist/services/cost/model-cost.js.map +1 -0
- package/dist/services/cost/pricing-overlay.d.ts +26 -0
- package/dist/services/cost/pricing-overlay.d.ts.map +1 -0
- package/dist/services/cost/pricing-overlay.js +39 -0
- package/dist/services/cost/pricing-overlay.js.map +1 -0
- package/dist/services/cost/pricing.d.ts +13 -0
- package/dist/services/cost/pricing.d.ts.map +1 -0
- package/dist/services/cost/pricing.js +76 -0
- package/dist/services/cost/pricing.js.map +1 -0
- package/dist/services/handoff/handoff-flow-reducer.d.ts +27 -0
- package/dist/services/handoff/handoff-flow-reducer.d.ts.map +1 -0
- package/dist/services/handoff/handoff-flow-reducer.js +26 -0
- package/dist/services/handoff/handoff-flow-reducer.js.map +1 -0
- package/dist/services/handoff/handoff-session.d.ts +35 -0
- package/dist/services/handoff/handoff-session.d.ts.map +1 -0
- package/dist/services/handoff/handoff-session.js +136 -0
- package/dist/services/handoff/handoff-session.js.map +1 -0
- package/dist/services/hooks/hook-contracts.d.ts +124 -0
- package/dist/services/hooks/hook-contracts.d.ts.map +1 -0
- package/dist/services/hooks/hook-contracts.js +92 -0
- package/dist/services/hooks/hook-contracts.js.map +1 -0
- package/dist/services/hooks/hook-discovery.d.ts +45 -0
- package/dist/services/hooks/hook-discovery.d.ts.map +1 -0
- package/dist/services/hooks/hook-discovery.js +255 -0
- package/dist/services/hooks/hook-discovery.js.map +1 -0
- package/dist/services/hooks/hook-editor-shim.d.ts +6 -0
- package/dist/services/hooks/hook-editor-shim.d.ts.map +1 -0
- package/dist/services/hooks/hook-editor-shim.js +190 -0
- package/dist/services/hooks/hook-editor-shim.js.map +1 -0
- package/dist/services/hooks/hook-event-factory.d.ts +19 -0
- package/dist/services/hooks/hook-event-factory.d.ts.map +1 -0
- package/dist/services/hooks/hook-event-factory.js +45 -0
- package/dist/services/hooks/hook-event-factory.js.map +1 -0
- package/dist/services/hooks/hook-module-loader.d.ts +38 -0
- package/dist/services/hooks/hook-module-loader.d.ts.map +1 -0
- package/dist/services/hooks/hook-module-loader.js +69 -0
- package/dist/services/hooks/hook-module-loader.js.map +1 -0
- package/dist/services/hooks/hook-registry.d.ts +47 -0
- package/dist/services/hooks/hook-registry.d.ts.map +1 -0
- package/dist/services/hooks/hook-registry.js +185 -0
- package/dist/services/hooks/hook-registry.js.map +1 -0
- package/dist/services/hooks/hook-service.d.ts +44 -0
- package/dist/services/hooks/hook-service.d.ts.map +1 -0
- package/dist/services/hooks/hook-service.js +138 -0
- package/dist/services/hooks/hook-service.js.map +1 -0
- package/dist/services/hooks/hook-tool-lifecycle.d.ts +6 -0
- package/dist/services/hooks/hook-tool-lifecycle.d.ts.map +1 -0
- package/dist/services/hooks/hook-tool-lifecycle.js +33 -0
- package/dist/services/hooks/hook-tool-lifecycle.js.map +1 -0
- package/dist/services/hooks/index.d.ts +2 -0
- package/dist/services/hooks/index.d.ts.map +1 -0
- package/dist/services/hooks/index.js +2 -0
- package/dist/services/hooks/index.js.map +1 -0
- package/dist/services/input-surge-guard.d.ts.map +1 -1
- package/dist/services/input-surge-guard.js +13 -34
- package/dist/services/input-surge-guard.js.map +1 -1
- package/dist/services/logging/assistant-turn-journal.d.ts +1 -1
- package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
- package/dist/services/logging/assistant-turn-journal.js +21 -36
- package/dist/services/logging/assistant-turn-journal.js.map +1 -1
- package/dist/services/logging/conversation-log-events.d.ts +62 -7
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js +9 -0
- package/dist/services/logging/conversation-log-events.js.map +1 -1
- package/dist/services/logging/conversation-log-writer.d.ts +9 -4
- package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-writer.js +183 -56
- package/dist/services/logging/conversation-log-writer.js.map +1 -1
- package/dist/services/logging/conversation-logger.d.ts.map +1 -1
- package/dist/services/logging/conversation-logger.js +24 -1
- package/dist/services/logging/conversation-logger.js.map +1 -1
- 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 +2 -1
- package/dist/services/logging/provider-traffic.d.ts.map +1 -1
- package/dist/services/logging/provider-traffic.js +81 -5
- 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 +13 -8
- package/dist/services/memory/memory-capabilities.js.map +1 -1
- package/dist/services/model-service.d.ts +3 -0
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +3 -1
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/models/model-catalog-session.d.ts +24 -0
- package/dist/services/models/model-catalog-session.d.ts.map +1 -0
- package/dist/services/models/model-catalog-session.js +70 -0
- package/dist/services/models/model-catalog-session.js.map +1 -0
- package/dist/services/openai-candidate-observer.d.ts +18 -0
- package/dist/services/openai-candidate-observer.d.ts.map +1 -0
- package/dist/services/openai-candidate-observer.js +56 -0
- package/dist/services/openai-candidate-observer.js.map +1 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.d.ts +20 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.d.ts.map +1 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.js +21 -0
- package/dist/services/openai-root-checkpoint-lifecycle-observer.js.map +1 -0
- package/dist/services/openai-root-provider-identity.d.ts +11 -0
- package/dist/services/openai-root-provider-identity.d.ts.map +1 -0
- package/dist/services/openai-root-provider-identity.js +16 -0
- package/dist/services/openai-root-provider-identity.js.map +1 -0
- package/dist/services/openai-root-selector-parity-observer.d.ts +53 -0
- package/dist/services/openai-root-selector-parity-observer.d.ts.map +1 -0
- package/dist/services/openai-root-selector-parity-observer.js +62 -0
- package/dist/services/openai-root-selector-parity-observer.js.map +1 -0
- package/dist/services/plan-mode-interceptor.js +2 -2
- package/dist/services/plan-mode-interceptor.js.map +1 -1
- package/dist/services/provider-continuity.d.ts +79 -0
- package/dist/services/provider-continuity.d.ts.map +1 -1
- package/dist/services/provider-continuity.js +170 -0
- package/dist/services/provider-continuity.js.map +1 -1
- package/dist/services/providers/provider-management-session.d.ts +12 -0
- package/dist/services/providers/provider-management-session.d.ts.map +1 -0
- package/dist/services/providers/provider-management-session.js +21 -0
- package/dist/services/providers/provider-management-session.js.map +1 -0
- package/dist/services/queue/queue-controller.d.ts +9 -14
- package/dist/services/queue/queue-controller.d.ts.map +1 -1
- package/dist/services/queue/queue-controller.js +75 -60
- package/dist/services/queue/queue-controller.js.map +1 -1
- package/dist/services/retry/conversation-retry-policy.js +3 -3
- package/dist/services/retry/conversation-retry-policy.js.map +1 -1
- package/dist/services/retry/recovery-executor.d.ts.map +1 -1
- package/dist/services/retry/recovery-executor.js +7 -8
- package/dist/services/retry/recovery-executor.js.map +1 -1
- package/dist/services/retry/recovery-policy.d.ts.map +1 -1
- package/dist/services/retry/recovery-policy.js +4 -1
- package/dist/services/retry/recovery-policy.js.map +1 -1
- package/dist/services/retry/retry-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +2 -1
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-contracts.d.ts +3 -5
- package/dist/services/retry/retry-contracts.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts +1 -0
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +28 -0
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/retry/retry-event-presenter.d.ts.map +1 -1
- package/dist/services/retry/retry-event-presenter.js +4 -1
- package/dist/services/retry/retry-event-presenter.js.map +1 -1
- package/dist/services/retry/upstream-retry-policy.js +3 -3
- package/dist/services/rtk-service.d.ts.map +1 -1
- package/dist/services/rtk-service.js +3 -15
- package/dist/services/rtk-service.js.map +1 -1
- package/dist/services/runtime-setting-router.d.ts +19 -0
- package/dist/services/runtime-setting-router.d.ts.map +1 -1
- package/dist/services/runtime-setting-router.js +33 -0
- package/dist/services/runtime-setting-router.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +19 -2
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/session/background-task-control.d.ts +123 -0
- package/dist/services/session/background-task-control.d.ts.map +1 -0
- package/dist/services/session/background-task-control.js +183 -0
- package/dist/services/session/background-task-control.js.map +1 -0
- package/dist/services/session/continuation-call-id-resolver.d.ts +16 -9
- package/dist/services/session/continuation-call-id-resolver.d.ts.map +1 -1
- package/dist/services/session/continuation-call-id-resolver.js +34 -48
- package/dist/services/session/continuation-call-id-resolver.js.map +1 -1
- package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
- package/dist/services/session/continuation-plan-applier.js +1 -3
- package/dist/services/session/continuation-plan-applier.js.map +1 -1
- package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/continuation-recovery-handler.js +0 -2
- package/dist/services/session/continuation-recovery-handler.js.map +1 -1
- package/dist/services/session/continuation-state.d.ts +9 -5
- package/dist/services/session/continuation-state.d.ts.map +1 -1
- package/dist/services/session/continuation-state.js +1 -1
- package/dist/services/session/continuation-state.js.map +1 -1
- package/dist/services/session/live-run.d.ts +29 -0
- package/dist/services/session/live-run.d.ts.map +1 -0
- package/dist/services/session/live-run.js +111 -0
- package/dist/services/session/live-run.js.map +1 -0
- package/dist/services/session/nested-tool-compatibility-state.d.ts +20 -0
- package/dist/services/session/nested-tool-compatibility-state.d.ts.map +1 -0
- package/dist/services/session/nested-tool-compatibility-state.js +29 -0
- package/dist/services/session/nested-tool-compatibility-state.js.map +1 -0
- package/dist/services/session/pending-interaction-state.d.ts +60 -0
- package/dist/services/session/pending-interaction-state.d.ts.map +1 -0
- package/dist/services/session/pending-interaction-state.js +132 -0
- package/dist/services/session/pending-interaction-state.js.map +1 -0
- package/dist/services/session/post-execute-pause-capability.d.ts +17 -0
- package/dist/services/session/post-execute-pause-capability.d.ts.map +1 -0
- package/dist/services/session/post-execute-pause-capability.js +27 -0
- package/dist/services/session/post-execute-pause-capability.js.map +1 -0
- package/dist/services/session/post-execute-pause-policy.d.ts +20 -0
- package/dist/services/session/post-execute-pause-policy.d.ts.map +1 -0
- package/dist/services/session/post-execute-pause-policy.js +34 -0
- package/dist/services/session/post-execute-pause-policy.js.map +1 -0
- package/dist/services/session/post-execute-pending-registry.d.ts +63 -0
- package/dist/services/session/post-execute-pending-registry.d.ts.map +1 -0
- package/dist/services/session/post-execute-pending-registry.js +123 -0
- package/dist/services/session/post-execute-pending-registry.js.map +1 -0
- package/dist/services/session/session-access-state.d.ts +24 -0
- package/dist/services/session/session-access-state.d.ts.map +1 -0
- package/dist/services/session/session-access-state.js +91 -0
- package/dist/services/session/session-access-state.js.map +1 -0
- package/dist/services/session/session-client-factory.d.ts +61 -0
- package/dist/services/session/session-client-factory.d.ts.map +1 -0
- package/dist/services/session/session-client-factory.js +103 -0
- package/dist/services/session/session-client-factory.js.map +1 -0
- package/dist/services/session/session-composition.d.ts +58 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +178 -13
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +6 -2
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +4 -0
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/session/session-lifecycle.d.ts +5 -0
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +16 -6
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-manager.d.ts +11 -1
- package/dist/services/session/session-manager.d.ts.map +1 -1
- package/dist/services/session/session-manager.js +16 -3
- package/dist/services/session/session-manager.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts +5 -0
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +164 -35
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/session-tool-tracker.d.ts +10 -21
- package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
- package/dist/services/session/session-tool-tracker.js +12 -52
- package/dist/services/session/session-tool-tracker.js.map +1 -1
- package/dist/services/session/terminal-result-collector.d.ts +8 -0
- package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/session/terminal-result-collector.js +18 -4
- package/dist/services/session/terminal-result-collector.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 +8 -1
- package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
- package/dist/services/session/turn-attempt-factory.d.ts +2 -2
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.d.ts +4 -2
- package/dist/services/session/turn-attempt.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.js +5 -0
- package/dist/services/session/turn-attempt.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +32 -2
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-coordinator.js +180 -9
- package/dist/services/session/turn-coordinator.js.map +1 -1
- package/dist/services/session/turn-status-machine.d.ts +21 -6
- package/dist/services/session/turn-status-machine.d.ts.map +1 -1
- package/dist/services/session/turn-status-machine.js +50 -13
- package/dist/services/session/turn-status-machine.js.map +1 -1
- package/dist/services/session/turn-workflow.d.ts +35 -0
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +373 -27
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/ancillary-settings-migration.js +3 -3
- package/dist/services/settings/ancillary-settings-migration.js.map +1 -1
- package/dist/services/settings/custom-provider-normalization.d.ts +10 -0
- package/dist/services/settings/custom-provider-normalization.d.ts.map +1 -1
- package/dist/services/settings/custom-provider-normalization.js +35 -2
- package/dist/services/settings/custom-provider-normalization.js.map +1 -1
- package/dist/services/settings/settings-env.d.ts +3 -0
- package/dist/services/settings/settings-env.d.ts.map +1 -1
- package/dist/services/settings/settings-env.js +3 -3
- package/dist/services/settings/settings-env.js.map +1 -1
- package/dist/services/settings/settings-merger.d.ts +6 -5
- package/dist/services/settings/settings-merger.d.ts.map +1 -1
- package/dist/services/settings/settings-merger.js +9 -4
- package/dist/services/settings/settings-merger.js.map +1 -1
- package/dist/services/settings/settings-persistence.d.ts +17 -6
- package/dist/services/settings/settings-persistence.d.ts.map +1 -1
- package/dist/services/settings/settings-persistence.js +155 -28
- package/dist/services/settings/settings-persistence.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +100 -4
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +78 -8
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +34 -5
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +200 -8
- 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 +6 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/shell/background-shell-registry.d.ts +110 -0
- package/dist/services/shell/background-shell-registry.d.ts.map +1 -0
- package/dist/services/shell/background-shell-registry.js +326 -0
- package/dist/services/shell/background-shell-registry.js.map +1 -0
- package/dist/services/shell/shell-interaction-session.d.ts +43 -0
- package/dist/services/shell/shell-interaction-session.d.ts.map +1 -0
- package/dist/services/shell/shell-interaction-session.js +113 -0
- package/dist/services/shell/shell-interaction-session.js.map +1 -0
- package/dist/services/stream-event-processor.d.ts +11 -12
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +115 -352
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-snapshot.d.ts +0 -1
- package/dist/services/stream-snapshot.d.ts.map +1 -1
- package/dist/services/stream-snapshot.js +0 -1
- package/dist/services/stream-snapshot.js.map +1 -1
- package/dist/services/subagents/codename-run-id.d.ts +43 -0
- package/dist/services/subagents/codename-run-id.d.ts.map +1 -0
- package/dist/services/subagents/codename-run-id.js +683 -0
- package/dist/services/subagents/codename-run-id.js.map +1 -0
- package/dist/services/subagents/execution-runner.d.ts +2 -0
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +13 -3
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/foreground-subagent-lease.d.ts +77 -0
- package/dist/services/subagents/foreground-subagent-lease.d.ts.map +1 -0
- package/dist/services/subagents/foreground-subagent-lease.js +156 -0
- package/dist/services/subagents/foreground-subagent-lease.js.map +1 -0
- package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
- package/dist/services/subagents/mentor-runner.js +43 -31
- package/dist/services/subagents/mentor-runner.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts +47 -23
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +263 -64
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/subagents/role-loader.d.ts +3 -3
- package/dist/services/subagents/role-loader.d.ts.map +1 -1
- package/dist/services/subagents/role-loader.js +6 -7
- package/dist/services/subagents/role-loader.js.map +1 -1
- package/dist/services/subagents/runtime.d.ts +10 -0
- package/dist/services/subagents/runtime.d.ts.map +1 -1
- package/dist/services/subagents/runtime.js +15 -1
- package/dist/services/subagents/runtime.js.map +1 -1
- package/dist/services/subagents/subagent-async-registry.d.ts +21 -2
- package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -1
- package/dist/services/subagents/subagent-async-registry.js +156 -10
- package/dist/services/subagents/subagent-async-registry.js.map +1 -1
- package/dist/services/subagents/subagent-client-types.d.ts +2 -0
- package/dist/services/subagents/subagent-client-types.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts +26 -7
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +31 -1
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-notification-store.d.ts +72 -6
- package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
- package/dist/services/subagents/subagent-notification-store.js +118 -10
- package/dist/services/subagents/subagent-notification-store.js.map +1 -1
- package/dist/services/subagents/subagent-session.d.ts +12 -7
- package/dist/services/subagents/subagent-session.d.ts.map +1 -1
- package/dist/services/subagents/subagent-session.js +13 -14
- package/dist/services/subagents/subagent-session.js.map +1 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts +4 -5
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +66 -65
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
- package/dist/services/subagents/tool-policy.d.ts +19 -17
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +89 -53
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/subagents/types.d.ts +22 -3
- package/dist/services/subagents/types.d.ts.map +1 -1
- package/dist/services/subagents/types.js +2 -2
- package/dist/services/subagents/types.js.map +1 -1
- package/dist/services/subagents/utils.d.ts +8 -1
- package/dist/services/subagents/utils.d.ts.map +1 -1
- package/dist/services/subagents/utils.js +43 -16
- package/dist/services/subagents/utils.js.map +1 -1
- package/dist/services/test-helpers/mock-stream.d.ts +3 -0
- package/dist/services/test-helpers/mock-stream.d.ts.map +1 -1
- package/dist/services/test-helpers/mock-stream.js +8 -0
- package/dist/services/test-helpers/mock-stream.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts +2 -0
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +59 -81
- package/dist/services/tool-execution-ledger.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 +5 -1
- package/dist/test-helpers/conversation-session-with-adapter.js.map +1 -1
- package/dist/test-helpers/ink-testing.d.ts.map +1 -1
- package/dist/test-helpers/ink-testing.js +2 -1
- package/dist/test-helpers/ink-testing.js.map +1 -1
- package/dist/tools/agent/activate-skill.d.ts +6 -1
- package/dist/tools/agent/activate-skill.d.ts.map +1 -1
- package/dist/tools/agent/activate-skill.js.map +1 -1
- package/dist/tools/agent/ask-mentor.d.ts +1 -1
- package/dist/tools/agent/ask-mentor.d.ts.map +1 -1
- package/dist/tools/agent/ask-mentor.js.map +1 -1
- package/dist/tools/agent/ask-orchestrator.d.ts +1 -1
- package/dist/tools/agent/ask-orchestrator.d.ts.map +1 -1
- package/dist/tools/agent/ask-user-constants.d.ts +6 -0
- package/dist/tools/agent/ask-user-constants.d.ts.map +1 -1
- package/dist/tools/agent/ask-user-constants.js +6 -0
- package/dist/tools/agent/ask-user-constants.js.map +1 -1
- package/dist/tools/agent/run-subagent-async.d.ts +6 -6
- package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent-async.js +16 -52
- package/dist/tools/agent/run-subagent-async.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts +28 -14
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +173 -68
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/file/apply-patch.d.ts +3 -1
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +34 -10
- package/dist/tools/file/apply-patch.js.map +1 -1
- package/dist/tools/file/code-context.d.ts +2 -2
- package/dist/tools/file/code-context.d.ts.map +1 -1
- package/dist/tools/file/code-context.js +1 -1
- package/dist/tools/file/code-context.js.map +1 -1
- package/dist/tools/file/create-file.d.ts +4 -2
- package/dist/tools/file/create-file.d.ts.map +1 -1
- package/dist/tools/file/create-file.js +10 -7
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/file/edit-healing.d.ts.map +1 -1
- package/dist/tools/file/edit-healing.js +54 -35
- package/dist/tools/file/edit-healing.js.map +1 -1
- package/dist/tools/file/glob-target.d.ts +12 -0
- package/dist/tools/file/glob-target.d.ts.map +1 -0
- package/dist/tools/file/glob-target.js +22 -0
- package/dist/tools/file/glob-target.js.map +1 -0
- package/dist/tools/file/glob.d.ts +9 -2
- package/dist/tools/file/glob.d.ts.map +1 -1
- package/dist/tools/file/glob.js +12 -16
- package/dist/tools/file/glob.js.map +1 -1
- package/dist/tools/file/grep.d.ts +8 -1
- package/dist/tools/file/grep.d.ts.map +1 -1
- package/dist/tools/file/grep.js +60 -4
- package/dist/tools/file/grep.js.map +1 -1
- package/dist/tools/file/read-file.d.ts +7 -1
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +3 -4
- package/dist/tools/file/read-file.js.map +1 -1
- package/dist/tools/file/search-replace.d.ts +5 -3
- package/dist/tools/file/search-replace.d.ts.map +1 -1
- package/dist/tools/file/search-replace.js +29 -19
- package/dist/tools/file/search-replace.js.map +1 -1
- package/dist/tools/format-helpers.d.ts +4 -3
- package/dist/tools/format-helpers.d.ts.map +1 -1
- package/dist/tools/format-helpers.js +16 -17
- 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 +61 -49
- package/dist/tools/memory/memory-tools.js.map +1 -1
- package/dist/tools/run-agent-workflow.d.ts +1 -1
- package/dist/tools/run-agent-workflow.d.ts.map +1 -1
- package/dist/tools/system/shell.d.ts +39 -3
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +380 -149
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +102 -5
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +4 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/utils.d.ts +18 -0
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +78 -0
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/web/web-fetch.d.ts +1 -1
- package/dist/tools/web/web-fetch.d.ts.map +1 -1
- package/dist/tools/web/web-fetch.js.map +1 -1
- package/dist/tools/web/web-search.d.ts +1 -1
- package/dist/tools/web/web-search.d.ts.map +1 -1
- package/dist/tools/web/web-search.js.map +1 -1
- package/dist/types/message.d.ts +2 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js.map +1 -1
- package/dist/utils/ai/model-settings.d.ts.map +1 -1
- package/dist/utils/ai/model-settings.js +0 -6
- package/dist/utils/ai/model-settings.js.map +1 -1
- package/dist/utils/ai/token-usage.d.ts +10 -5
- package/dist/utils/ai/token-usage.d.ts.map +1 -1
- package/dist/utils/ai/token-usage.js +48 -35
- package/dist/utils/ai/token-usage.js.map +1 -1
- package/dist/utils/apply-diff.d.ts +3 -0
- package/dist/utils/apply-diff.d.ts.map +1 -0
- package/dist/utils/apply-diff.js +192 -0
- package/dist/utils/apply-diff.js.map +1 -0
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +72 -16
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation/conversation-utils.d.ts +5 -0
- package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-utils.js +1 -0
- package/dist/utils/conversation/conversation-utils.js.map +1 -1
- package/dist/utils/conversation/message-utils.d.ts +6 -0
- package/dist/utils/conversation/message-utils.d.ts.map +1 -1
- package/dist/utils/conversation/message-utils.js +17 -14
- package/dist/utils/conversation/message-utils.js.map +1 -1
- package/dist/utils/conversation/rewind-items.d.ts +32 -0
- package/dist/utils/conversation/rewind-items.d.ts.map +1 -0
- package/dist/utils/conversation/rewind-items.js +33 -0
- package/dist/utils/conversation/rewind-items.js.map +1 -0
- package/dist/utils/inject-warning-into-tool-output.d.ts +10 -0
- package/dist/utils/inject-warning-into-tool-output.d.ts.map +1 -1
- package/dist/utils/inject-warning-into-tool-output.js +17 -0
- package/dist/utils/inject-warning-into-tool-output.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +41 -4
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/command-logger.js.map +1 -1
- package/dist/utils/shell/command-safety/find-helpers.d.ts +3 -2
- package/dist/utils/shell/command-safety/find-helpers.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/find-helpers.js +34 -17
- package/dist/utils/shell/command-safety/find-helpers.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/find-handler.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/handlers/find-handler.js +0 -2
- package/dist/utils/shell/command-safety/handlers/find-handler.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/git-handler.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/handlers/git-handler.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/sed-handler.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/handlers/sed-handler.js +14 -9
- package/dist/utils/shell/command-safety/handlers/sed-handler.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/types.d.ts +5 -4
- package/dist/utils/shell/command-safety/handlers/types.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/index.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/index.js +212 -88
- package/dist/utils/shell/command-safety/index.js.map +1 -1
- package/dist/utils/shell/command-safety/utils.d.ts +2 -1
- package/dist/utils/shell/command-safety/utils.d.ts.map +1 -1
- package/dist/utils/shell/command-safety/utils.js +5 -5
- package/dist/utils/shell/command-safety/utils.js.map +1 -1
- package/dist/utils/shell/execute-shell.d.ts +24 -3
- package/dist/utils/shell/execute-shell.d.ts.map +1 -1
- package/dist/utils/shell/execute-shell.js +228 -28
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/shell/sandbox/denied-read-stores.d.ts +1 -8
- package/dist/utils/shell/sandbox/denied-read-stores.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/denied-read-stores.js +1 -8
- package/dist/utils/shell/sandbox/denied-read-stores.js.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts +36 -6
- package/dist/utils/shell/sandbox/docker-host-control-grants.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/docker-host-control-grants.js +47 -17
- package/dist/utils/shell/sandbox/docker-host-control-grants.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.d.ts +21 -0
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.js +66 -0
- package/dist/utils/shell/sandbox/sandbox-network-approval-coordinator.js.map +1 -0
- package/dist/utils/shell/shell-session.js.map +1 -1
- package/dist/utils/slash-command-dispatch.d.ts +21 -0
- package/dist/utils/slash-command-dispatch.d.ts.map +1 -0
- package/dist/utils/slash-command-dispatch.js +34 -0
- package/dist/utils/slash-command-dispatch.js.map +1 -0
- package/dist/utils/streaming/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/streaming/extract-command-messages.js +29 -51
- package/dist/utils/streaming/extract-command-messages.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +0 -8
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +21 -19
- package/dist/commands/retry-command.d.ts +0 -20
- package/dist/commands/retry-command.d.ts.map +0 -1
- package/dist/commands/retry-command.js +0 -39
- package/dist/commands/retry-command.js.map +0 -1
- package/dist/commands/undo-command.d.ts +0 -15
- package/dist/commands/undo-command.d.ts.map +0 -1
- package/dist/commands/undo-command.js +0 -28
- package/dist/commands/undo-command.js.map +0 -1
- package/dist/components/input/PopupManager.d.ts +0 -88
- package/dist/components/input/PopupManager.d.ts.map +0 -1
- package/dist/components/input/PopupManager.js +0 -21
- package/dist/components/input/PopupManager.js.map +0 -1
- package/dist/components/input/popup-key-navigation.d.ts +0 -18
- package/dist/components/input/popup-key-navigation.d.ts.map +0 -1
- package/dist/components/input/popup-key-navigation.js +0 -16
- package/dist/components/input/popup-key-navigation.js.map +0 -1
- package/dist/components/input/popup-props.d.ts +0 -24
- package/dist/components/input/popup-props.d.ts.map +0 -1
- package/dist/components/input/popup-props.js +0 -72
- package/dist/components/input/popup-props.js.map +0 -1
- package/dist/components/menu/UndoSelectionMenu.d.ts +0 -12
- package/dist/components/menu/UndoSelectionMenu.d.ts.map +0 -1
- package/dist/components/menu/UndoSelectionMenu.js +0 -19
- package/dist/components/menu/UndoSelectionMenu.js.map +0 -1
- package/dist/hooks/use-mode-handlers.d.ts +0 -79
- package/dist/hooks/use-mode-handlers.d.ts.map +0 -1
- package/dist/hooks/use-mode-handlers.js +0 -183
- package/dist/hooks/use-mode-handlers.js.map +0 -1
- package/dist/hooks/use-pending-turn-guards.d.ts +0 -43
- package/dist/hooks/use-pending-turn-guards.d.ts.map +0 -1
- package/dist/hooks/use-pending-turn-guards.js +0 -120
- package/dist/hooks/use-pending-turn-guards.js.map +0 -1
- package/dist/hooks/use-trigger-detection.d.ts +0 -49
- package/dist/hooks/use-trigger-detection.d.ts.map +0 -1
- package/dist/hooks/use-trigger-detection.js +0 -104
- package/dist/hooks/use-trigger-detection.js.map +0 -1
- package/dist/hooks/use-undo-selection.d.ts +0 -23
- package/dist/hooks/use-undo-selection.d.ts.map +0 -1
- package/dist/hooks/use-undo-selection.js.map +0 -1
- package/dist/lib/agent-run-orchestrator.d.ts +0 -38
- package/dist/lib/agent-run-orchestrator.d.ts.map +0 -1
- package/dist/lib/agent-run-orchestrator.js +0 -266
- package/dist/lib/agent-run-orchestrator.js.map +0 -1
- package/dist/lib/retry-executor.d.ts +0 -16
- package/dist/lib/retry-executor.d.ts.map +0 -1
- package/dist/lib/retry-executor.js +0 -53
- package/dist/lib/retry-executor.js.map +0 -1
- package/dist/lib/runner-manager.d.ts +0 -22
- package/dist/lib/runner-manager.d.ts.map +0 -1
- package/dist/lib/runner-manager.js +0 -56
- package/dist/lib/runner-manager.js.map +0 -1
- package/dist/prompts/shell-sandbox.md +0 -18
- package/dist/prompts/simple.md +0 -53
- package/dist/prompts/simple_prev.md +0 -33
- package/dist/prompts/simple_v2.md +0 -84
- package/dist/prompts/simple_v3.md +0 -267
- package/dist/prompts/subagents/researcher.md +0 -46
- package/dist/providers/ai-sdk-agents-adapter.d.ts +0 -7
- package/dist/providers/ai-sdk-agents-adapter.d.ts.map +0 -1
- package/dist/providers/ai-sdk-agents-adapter.js +0 -80
- package/dist/providers/ai-sdk-agents-adapter.js.map +0 -1
- package/dist/providers/fallback-responses-model.d.ts +0 -46
- package/dist/providers/fallback-responses-model.d.ts.map +0 -1
- package/dist/providers/fallback-responses-model.js +0 -296
- package/dist/providers/fallback-responses-model.js.map +0 -1
- package/dist/services/stream-event-parsing.d.ts +0 -4
- package/dist/services/stream-event-parsing.d.ts.map +0 -1
- package/dist/services/stream-event-parsing.js +0 -79
- package/dist/services/stream-event-parsing.js.map +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { getCallIdFromObject, getToolInfoFromInterruption } from '../interruption-info.js';
|
|
2
|
+
import { ApprovalDecisionExecutor } from './approval-decision-executor.js';
|
|
3
|
+
import { BackgroundSubagentApprovalQueue, } from './background-subagent-approval-queue.js';
|
|
4
|
+
/**
|
|
5
|
+
* Session-owned policy/control boundary for approvals paused by adopted child
|
|
6
|
+
* leases. Root ApprovalState is deliberately not involved: its continuation
|
|
7
|
+
* belongs to the foreground turn, while this controller only touches the
|
|
8
|
+
* continuation retained by the matching lease.
|
|
9
|
+
*/
|
|
10
|
+
export class BackgroundSubagentApprovalController {
|
|
11
|
+
#queue = new BackgroundSubagentApprovalQueue();
|
|
12
|
+
#executor;
|
|
13
|
+
constructor({ logger, sessionId, nestedCompatibility, }) {
|
|
14
|
+
this.#executor = new ApprovalDecisionExecutor({ logger, sessionId, nestedCompatibility });
|
|
15
|
+
}
|
|
16
|
+
getSnapshot() {
|
|
17
|
+
return this.#queue.getSnapshot();
|
|
18
|
+
}
|
|
19
|
+
subscribe(listener) {
|
|
20
|
+
return this.#queue.subscribe(listener);
|
|
21
|
+
}
|
|
22
|
+
close() {
|
|
23
|
+
return this.#queue.close();
|
|
24
|
+
}
|
|
25
|
+
resolve(request) {
|
|
26
|
+
return this.#queue.resolve(request);
|
|
27
|
+
}
|
|
28
|
+
/** Sink installed on the subagent runtime for pauses after a successful move. */
|
|
29
|
+
publish = (pause) => {
|
|
30
|
+
const { toolName, rawArguments } = getToolInfoFromInterruption(pause.interruption);
|
|
31
|
+
const toolCallId = getCallIdFromObject(pause.interruption) ?? `${pause.runId}:${pause.generation}`;
|
|
32
|
+
const entry = {
|
|
33
|
+
runId: pause.runId,
|
|
34
|
+
generation: pause.generation,
|
|
35
|
+
toolCallId,
|
|
36
|
+
toolName,
|
|
37
|
+
argumentsText: typeof rawArguments === 'string' ? rawArguments : JSON.stringify(rawArguments ?? null),
|
|
38
|
+
};
|
|
39
|
+
this.#queue.enqueue(entry, {
|
|
40
|
+
onResolve: (_entry, decision) => pause.apply((application) => this.#apply(application, pause.role, decision))
|
|
41
|
+
? { kind: 'applied' }
|
|
42
|
+
: { kind: 'rejected' },
|
|
43
|
+
onRelease: () => {
|
|
44
|
+
// Queue closure/removal is a terminal ownership event. The lease owns
|
|
45
|
+
// cancellation and will release its own pending continuation.
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
#apply(application, role, decision) {
|
|
50
|
+
const pending = {
|
|
51
|
+
state: application.handle,
|
|
52
|
+
interruption: application.interruption,
|
|
53
|
+
emittedCommandIds: new Set(),
|
|
54
|
+
toolCallArgumentsById: new Map(),
|
|
55
|
+
owner: { kind: 'subagent', agentId: application.runId, role },
|
|
56
|
+
};
|
|
57
|
+
this.#executor.resolve({
|
|
58
|
+
pendingApprovalContext: pending,
|
|
59
|
+
answer: decision.answer,
|
|
60
|
+
rejectionReason: decision.rejectionReason,
|
|
61
|
+
});
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=background-subagent-approval-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-subagent-approval-controller.js","sourceRoot":"","sources":["../../../source/services/approval/background-subagent-approval-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAG3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,+BAA+B,GAIhC,MAAM,yCAAyC,CAAC;AAIjD;;;;;GAKG;AACH,MAAM,OAAO,oCAAoC;IACtC,MAAM,GAAG,IAAI,+BAA+B,EAAE,CAAC;IAC/C,SAAS,CAA2B;IAE7C,YAAY,EACV,MAAM,EACN,SAAS,EACT,mBAAmB,GAKpB;QACC,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAwB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,OAAoD;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,iFAAiF;IACjF,OAAO,GAAG,CAAC,KAAsC,EAAQ,EAAE;QACzD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnG,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU;YACV,QAAQ;YACR,aAAa,EAAE,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC;SACtG,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;YACzB,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAC9B,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC1E,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE;gBAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE;YACnC,SAAS,EAAE,GAAG,EAAE;gBACd,sEAAsE;gBACtE,8DAA8D;YAChE,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,CACJ,WAES,EACT,IAAY,EACZ,QAA4C;QAE5C,MAAM,OAAO,GAA2B;YACtC,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,iBAAiB,EAAE,IAAI,GAAG,EAAE;YAC5B,qBAAqB,EAAE,IAAI,GAAG,EAAE;YAChC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;SAC9D,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACrB,sBAAsB,EAAE,OAAO;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable identity for one approval pause in an adopted subagent run.
|
|
3
|
+
*
|
|
4
|
+
* A generation is necessary because one live run can pause again after its
|
|
5
|
+
* earlier continuation resumes. Tool name and arguments are included in the
|
|
6
|
+
* identity checked against UI requests, so a delayed action cannot approve a
|
|
7
|
+
* different tool call that happens to share a call id.
|
|
8
|
+
*/
|
|
9
|
+
export type BackgroundSubagentApprovalMetadataValue = string | number | boolean | null | readonly BackgroundSubagentApprovalMetadataValue[] | {
|
|
10
|
+
readonly [key: string]: BackgroundSubagentApprovalMetadataValue;
|
|
11
|
+
};
|
|
12
|
+
export type BackgroundSubagentApprovalEntry = {
|
|
13
|
+
readonly runId: string;
|
|
14
|
+
readonly generation: number;
|
|
15
|
+
readonly toolCallId: string;
|
|
16
|
+
readonly toolName: string;
|
|
17
|
+
readonly argumentsText: string;
|
|
18
|
+
/** Presentation or policy data retained without interpretation by this queue. */
|
|
19
|
+
readonly metadata?: Readonly<Record<string, BackgroundSubagentApprovalMetadataValue>>;
|
|
20
|
+
};
|
|
21
|
+
/** Raw UI input; approval policy and lease resumption interpret it elsewhere. */
|
|
22
|
+
export type BackgroundSubagentApprovalDecision = {
|
|
23
|
+
readonly answer: string;
|
|
24
|
+
readonly rejectionReason?: string;
|
|
25
|
+
readonly approvalAnswer?: string;
|
|
26
|
+
};
|
|
27
|
+
export type BackgroundSubagentApprovalSnapshot = {
|
|
28
|
+
/** Monotonic. A notification is only a hint to read this authoritative state. */
|
|
29
|
+
readonly revision: number;
|
|
30
|
+
/** Only this FIFO head may be resolved. Later entries intentionally stay hidden. */
|
|
31
|
+
readonly current: BackgroundSubagentApprovalEntry | null;
|
|
32
|
+
readonly pendingCount: number;
|
|
33
|
+
readonly closed: boolean;
|
|
34
|
+
};
|
|
35
|
+
export type BackgroundSubagentApprovalResolutionRequest = {
|
|
36
|
+
readonly revision: number;
|
|
37
|
+
readonly entry: BackgroundSubagentApprovalEntry;
|
|
38
|
+
readonly decision: BackgroundSubagentApprovalDecision;
|
|
39
|
+
};
|
|
40
|
+
export type BackgroundSubagentApprovalUpdateRequest = {
|
|
41
|
+
readonly revision: number;
|
|
42
|
+
readonly expected: BackgroundSubagentApprovalEntry;
|
|
43
|
+
readonly entry: BackgroundSubagentApprovalEntry;
|
|
44
|
+
};
|
|
45
|
+
export type BackgroundSubagentApprovalRemovalRequest = {
|
|
46
|
+
readonly revision: number;
|
|
47
|
+
readonly entry: BackgroundSubagentApprovalEntry;
|
|
48
|
+
};
|
|
49
|
+
export type BackgroundSubagentApprovalRelease = {
|
|
50
|
+
readonly kind: 'removed' | 'closed';
|
|
51
|
+
};
|
|
52
|
+
export type BackgroundSubagentApprovalApplyResult = {
|
|
53
|
+
readonly kind: 'applied';
|
|
54
|
+
} | {
|
|
55
|
+
readonly kind: 'rejected';
|
|
56
|
+
};
|
|
57
|
+
export type BackgroundSubagentApprovalCallbacks = {
|
|
58
|
+
/** Applies the raw answer while this entry still owns the visible head. */
|
|
59
|
+
readonly onResolve: (entry: BackgroundSubagentApprovalEntry, decision: BackgroundSubagentApprovalDecision) => BackgroundSubagentApprovalApplyResult;
|
|
60
|
+
/**
|
|
61
|
+
* The run owner is told that this queue no longer owns its pause. It decides
|
|
62
|
+
* how to release the lease; this primitive never manufactures a rejection.
|
|
63
|
+
*/
|
|
64
|
+
readonly onRelease?: (entry: BackgroundSubagentApprovalEntry, release: BackgroundSubagentApprovalRelease) => void;
|
|
65
|
+
};
|
|
66
|
+
export type BackgroundSubagentApprovalEnqueueResult = {
|
|
67
|
+
readonly kind: 'enqueued';
|
|
68
|
+
readonly revision: number;
|
|
69
|
+
} | {
|
|
70
|
+
readonly kind: 'closed';
|
|
71
|
+
};
|
|
72
|
+
export type BackgroundSubagentApprovalResolveResult = {
|
|
73
|
+
readonly kind: 'resolved';
|
|
74
|
+
readonly entry: BackgroundSubagentApprovalEntry;
|
|
75
|
+
readonly decision: BackgroundSubagentApprovalDecision;
|
|
76
|
+
} | {
|
|
77
|
+
readonly kind: 'apply_rejected';
|
|
78
|
+
readonly entry: BackgroundSubagentApprovalEntry;
|
|
79
|
+
} | {
|
|
80
|
+
readonly kind: 'stale';
|
|
81
|
+
readonly reason: 'revision_mismatch' | 'identity_mismatch';
|
|
82
|
+
} | {
|
|
83
|
+
readonly kind: 'closed';
|
|
84
|
+
};
|
|
85
|
+
export type BackgroundSubagentApprovalUpdateResult = {
|
|
86
|
+
readonly kind: 'updated';
|
|
87
|
+
readonly revision: number;
|
|
88
|
+
} | {
|
|
89
|
+
readonly kind: 'stale';
|
|
90
|
+
readonly reason: 'revision_mismatch' | 'identity_mismatch';
|
|
91
|
+
} | {
|
|
92
|
+
readonly kind: 'closed';
|
|
93
|
+
};
|
|
94
|
+
export type BackgroundSubagentApprovalRemoveResult = {
|
|
95
|
+
readonly kind: 'removed';
|
|
96
|
+
readonly revision: number;
|
|
97
|
+
readonly releaseErrors?: readonly unknown[];
|
|
98
|
+
} | {
|
|
99
|
+
readonly kind: 'stale';
|
|
100
|
+
readonly reason: 'revision_mismatch' | 'identity_mismatch';
|
|
101
|
+
} | {
|
|
102
|
+
readonly kind: 'closed';
|
|
103
|
+
};
|
|
104
|
+
type Listener = () => void;
|
|
105
|
+
/**
|
|
106
|
+
* Session-owned FIFO arbitration for approvals emitted by adopted subagent
|
|
107
|
+
* leases. It owns ordering, immutable external-store snapshots, and stale
|
|
108
|
+
* action rejection. It deliberately does not know approval policy, Ink, or a
|
|
109
|
+
* child continuation: callers take a successful claim to the lease that owns
|
|
110
|
+
* resumption.
|
|
111
|
+
*/
|
|
112
|
+
export declare class BackgroundSubagentApprovalQueue {
|
|
113
|
+
#private;
|
|
114
|
+
getSnapshot(): BackgroundSubagentApprovalSnapshot;
|
|
115
|
+
subscribe(listener: Listener): () => void;
|
|
116
|
+
enqueue(entry: BackgroundSubagentApprovalEntry, callbacks: BackgroundSubagentApprovalCallbacks): BackgroundSubagentApprovalEnqueueResult;
|
|
117
|
+
/**
|
|
118
|
+
* Resolves exactly the visible FIFO head. Its callback applies the raw
|
|
119
|
+
* decision while the head and snapshot remain authoritative. Only a
|
|
120
|
+
* successful application promotes and publishes the next entry.
|
|
121
|
+
*/
|
|
122
|
+
resolve(request: BackgroundSubagentApprovalResolutionRequest): BackgroundSubagentApprovalResolveResult;
|
|
123
|
+
/**
|
|
124
|
+
* Replaces opaque presentation metadata for one still-pending pause. The
|
|
125
|
+
* execution identity may not change; a replacement is not a transfer.
|
|
126
|
+
*/
|
|
127
|
+
update(request: BackgroundSubagentApprovalUpdateRequest): BackgroundSubagentApprovalUpdateResult;
|
|
128
|
+
/** Removes an exact pause after its owning run settles or is cancelled. */
|
|
129
|
+
remove(request: BackgroundSubagentApprovalRemovalRequest): BackgroundSubagentApprovalRemoveResult;
|
|
130
|
+
/**
|
|
131
|
+
* Terminal and idempotent. Closing never interprets an answer: each run
|
|
132
|
+
* owner gets an explicit release callback and can cancel its own lease.
|
|
133
|
+
*/
|
|
134
|
+
close(): readonly unknown[];
|
|
135
|
+
}
|
|
136
|
+
export {};
|
|
137
|
+
//# sourceMappingURL=background-subagent-approval-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-subagent-approval-queue.d.ts","sourceRoot":"","sources":["../../../source/services/approval/background-subagent-approval-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
function sameIdentity(left, right) {
|
|
2
|
+
return (left.runId === right.runId &&
|
|
3
|
+
left.generation === right.generation &&
|
|
4
|
+
left.toolCallId === right.toolCallId &&
|
|
5
|
+
left.toolName === right.toolName &&
|
|
6
|
+
left.argumentsText === right.argumentsText);
|
|
7
|
+
}
|
|
8
|
+
function cloneAndFreezeMetadataValue(value, ancestors) {
|
|
9
|
+
if (value === null || typeof value !== 'object')
|
|
10
|
+
return value;
|
|
11
|
+
if (ancestors.has(value))
|
|
12
|
+
throw new TypeError('Background subagent approval metadata must not contain cycles.');
|
|
13
|
+
ancestors.add(value);
|
|
14
|
+
try {
|
|
15
|
+
if (Array.isArray(value)) {
|
|
16
|
+
return Object.freeze(value.map((item) => cloneAndFreezeMetadataValue(item, ancestors)));
|
|
17
|
+
}
|
|
18
|
+
const prototype = Object.getPrototypeOf(value);
|
|
19
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
20
|
+
throw new TypeError('Background subagent approval metadata must contain only plain data.');
|
|
21
|
+
}
|
|
22
|
+
return Object.freeze(Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneAndFreezeMetadataValue(item, ancestors)])));
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
ancestors.delete(value);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function freezeEntry(entry) {
|
|
29
|
+
const metadata = entry.metadata
|
|
30
|
+
? cloneAndFreezeMetadataValue(entry.metadata, new Set())
|
|
31
|
+
: undefined;
|
|
32
|
+
return Object.freeze({ ...entry, ...(metadata ? { metadata } : {}) });
|
|
33
|
+
}
|
|
34
|
+
function freezeSnapshot(revision, pending, closed) {
|
|
35
|
+
return Object.freeze({
|
|
36
|
+
revision,
|
|
37
|
+
current: pending[0]?.entry ?? null,
|
|
38
|
+
pendingCount: pending.length,
|
|
39
|
+
closed,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Session-owned FIFO arbitration for approvals emitted by adopted subagent
|
|
44
|
+
* leases. It owns ordering, immutable external-store snapshots, and stale
|
|
45
|
+
* action rejection. It deliberately does not know approval policy, Ink, or a
|
|
46
|
+
* child continuation: callers take a successful claim to the lease that owns
|
|
47
|
+
* resumption.
|
|
48
|
+
*/
|
|
49
|
+
export class BackgroundSubagentApprovalQueue {
|
|
50
|
+
#pending = [];
|
|
51
|
+
/** Last revision each listener was notified about. */
|
|
52
|
+
#listeners = new Map();
|
|
53
|
+
#revision = 0;
|
|
54
|
+
#closed = false;
|
|
55
|
+
#snapshot = freezeSnapshot(0, [], false);
|
|
56
|
+
#notifying = false;
|
|
57
|
+
#resolving;
|
|
58
|
+
getSnapshot() {
|
|
59
|
+
return this.#snapshot;
|
|
60
|
+
}
|
|
61
|
+
subscribe(listener) {
|
|
62
|
+
// A subscription begins after the consumer has read the current snapshot.
|
|
63
|
+
// Using the current revision also prevents unsubscribe/resubscribe inside a
|
|
64
|
+
// notification from resetting progress and spinning the dispatch loop.
|
|
65
|
+
this.#listeners.set(listener, this.#revision);
|
|
66
|
+
return () => this.#listeners.delete(listener);
|
|
67
|
+
}
|
|
68
|
+
enqueue(entry, callbacks) {
|
|
69
|
+
if (this.#closed)
|
|
70
|
+
return { kind: 'closed' };
|
|
71
|
+
const immutableEntry = freezeEntry(entry);
|
|
72
|
+
if (this.#pending.some((pending) => sameIdentity(pending.entry, immutableEntry))) {
|
|
73
|
+
throw new Error(`Duplicate background subagent approval: ${immutableEntry.runId}:${immutableEntry.generation}:${immutableEntry.toolCallId}`);
|
|
74
|
+
}
|
|
75
|
+
this.#pending.push({
|
|
76
|
+
entry: immutableEntry,
|
|
77
|
+
callbacks: { onResolve: callbacks.onResolve, ...(callbacks.onRelease ? { onRelease: callbacks.onRelease } : {}) },
|
|
78
|
+
});
|
|
79
|
+
this.#changed();
|
|
80
|
+
return { kind: 'enqueued', revision: this.#revision };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolves exactly the visible FIFO head. Its callback applies the raw
|
|
84
|
+
* decision while the head and snapshot remain authoritative. Only a
|
|
85
|
+
* successful application promotes and publishes the next entry.
|
|
86
|
+
*/
|
|
87
|
+
resolve(request) {
|
|
88
|
+
if (this.#closed)
|
|
89
|
+
return { kind: 'closed' };
|
|
90
|
+
if (request.revision !== this.#revision)
|
|
91
|
+
return { kind: 'stale', reason: 'revision_mismatch' };
|
|
92
|
+
const current = this.#pending[0];
|
|
93
|
+
if (!current || !sameIdentity(current.entry, request.entry))
|
|
94
|
+
return { kind: 'stale', reason: 'identity_mismatch' };
|
|
95
|
+
if (current === this.#resolving)
|
|
96
|
+
return { kind: 'stale', reason: 'identity_mismatch' };
|
|
97
|
+
const decision = Object.freeze({ ...request.decision });
|
|
98
|
+
this.#resolving = current;
|
|
99
|
+
let application;
|
|
100
|
+
try {
|
|
101
|
+
application = current.callbacks.onResolve(current.entry, decision);
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
this.#resolving = undefined;
|
|
105
|
+
}
|
|
106
|
+
if (application.kind !== 'applied')
|
|
107
|
+
return { kind: 'apply_rejected', entry: current.entry };
|
|
108
|
+
this.#pending.shift();
|
|
109
|
+
this.#changed();
|
|
110
|
+
return { kind: 'resolved', entry: current.entry, decision };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Replaces opaque presentation metadata for one still-pending pause. The
|
|
114
|
+
* execution identity may not change; a replacement is not a transfer.
|
|
115
|
+
*/
|
|
116
|
+
update(request) {
|
|
117
|
+
if (this.#closed)
|
|
118
|
+
return { kind: 'closed' };
|
|
119
|
+
if (request.revision !== this.#revision)
|
|
120
|
+
return { kind: 'stale', reason: 'revision_mismatch' };
|
|
121
|
+
if (!sameIdentity(request.expected, request.entry))
|
|
122
|
+
return { kind: 'stale', reason: 'identity_mismatch' };
|
|
123
|
+
const index = this.#pending.findIndex((pending) => sameIdentity(pending.entry, request.expected));
|
|
124
|
+
if (index < 0)
|
|
125
|
+
return { kind: 'stale', reason: 'identity_mismatch' };
|
|
126
|
+
if (this.#pending[index] === this.#resolving)
|
|
127
|
+
return { kind: 'stale', reason: 'identity_mismatch' };
|
|
128
|
+
this.#pending[index] = { entry: freezeEntry(request.entry), callbacks: this.#pending[index].callbacks };
|
|
129
|
+
this.#changed();
|
|
130
|
+
return { kind: 'updated', revision: this.#revision };
|
|
131
|
+
}
|
|
132
|
+
/** Removes an exact pause after its owning run settles or is cancelled. */
|
|
133
|
+
remove(request) {
|
|
134
|
+
if (this.#closed)
|
|
135
|
+
return { kind: 'closed' };
|
|
136
|
+
if (request.revision !== this.#revision)
|
|
137
|
+
return { kind: 'stale', reason: 'revision_mismatch' };
|
|
138
|
+
const index = this.#pending.findIndex((pending) => sameIdentity(pending.entry, request.entry));
|
|
139
|
+
if (index < 0)
|
|
140
|
+
return { kind: 'stale', reason: 'identity_mismatch' };
|
|
141
|
+
if (this.#pending[index] === this.#resolving)
|
|
142
|
+
return { kind: 'stale', reason: 'identity_mismatch' };
|
|
143
|
+
const [removed] = this.#pending.splice(index, 1);
|
|
144
|
+
this.#changed();
|
|
145
|
+
const releaseErrors = this.#release([removed], { kind: 'removed' });
|
|
146
|
+
return {
|
|
147
|
+
kind: 'removed',
|
|
148
|
+
revision: this.#revision,
|
|
149
|
+
...(releaseErrors.length > 0 ? { releaseErrors } : {}),
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Terminal and idempotent. Closing never interprets an answer: each run
|
|
154
|
+
* owner gets an explicit release callback and can cancel its own lease.
|
|
155
|
+
*/
|
|
156
|
+
close() {
|
|
157
|
+
if (this.#closed)
|
|
158
|
+
return Object.freeze([]);
|
|
159
|
+
this.#closed = true;
|
|
160
|
+
const pending = this.#pending;
|
|
161
|
+
this.#pending = [];
|
|
162
|
+
this.#changed();
|
|
163
|
+
return this.#release(pending, { kind: 'closed' });
|
|
164
|
+
}
|
|
165
|
+
#release(pending, release) {
|
|
166
|
+
const errors = [];
|
|
167
|
+
for (const item of pending) {
|
|
168
|
+
try {
|
|
169
|
+
item.callbacks.onRelease?.(item.entry, release);
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
errors.push(error);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return Object.freeze(errors);
|
|
176
|
+
}
|
|
177
|
+
#changed() {
|
|
178
|
+
this.#revision += 1;
|
|
179
|
+
this.#snapshot = freezeSnapshot(this.#revision, this.#pending, this.#closed);
|
|
180
|
+
if (this.#notifying)
|
|
181
|
+
return;
|
|
182
|
+
this.#notifying = true;
|
|
183
|
+
try {
|
|
184
|
+
while ([...this.#listeners.values()].some((revision) => revision < this.#revision)) {
|
|
185
|
+
for (const listener of [...this.#listeners.keys()]) {
|
|
186
|
+
if (this.#listeners.get(listener) === undefined || this.#listeners.get(listener) >= this.#revision)
|
|
187
|
+
continue;
|
|
188
|
+
// Mark before invoking so reentrant changes cannot notify this
|
|
189
|
+
// listener twice for the same externally visible revision.
|
|
190
|
+
this.#listeners.set(listener, this.#revision);
|
|
191
|
+
listener();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
this.#notifying = false;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=background-subagent-approval-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-subagent-approval-queue.js","sourceRoot":"","sources":["../../../source/services/approval/background-subagent-approval-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ApprovalDescriptor } from '../../contracts/conversation.js';
|
|
2
|
+
import type { ConversationAgentClient } from '../conversation-agent-client.js';
|
|
3
|
+
import type { ILoggingService, ISettingsService, ISessionContextService } from '../service-interfaces.js';
|
|
4
|
+
export declare const NON_INTERACTIVE_REJECTION_REASON = "Non-interactive mode: use --auto-approve to allow tool execution";
|
|
5
|
+
export type NonInteractiveApprovalDecision = {
|
|
6
|
+
answer: 'y';
|
|
7
|
+
} | {
|
|
8
|
+
answer: 'n';
|
|
9
|
+
rejectionReason: string;
|
|
10
|
+
/** Whether the non-interactive presenter should print the rejection. */
|
|
11
|
+
reportRejection: boolean;
|
|
12
|
+
};
|
|
13
|
+
export interface NonInteractiveApprovalPolicyDeps {
|
|
14
|
+
settingsService?: ISettingsService;
|
|
15
|
+
agentClient?: ConversationAgentClient;
|
|
16
|
+
logger?: ILoggingService;
|
|
17
|
+
sessionContextService: ISessionContextService;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Decides whether a tool approval paused in a non-interactive session can be
|
|
21
|
+
* resumed. This is deliberately policy-only: callers retain the continuation
|
|
22
|
+
* loop and their own output handling.
|
|
23
|
+
*/
|
|
24
|
+
export declare class NonInteractiveApprovalPolicy {
|
|
25
|
+
private readonly deps;
|
|
26
|
+
constructor(deps: NonInteractiveApprovalPolicyDeps);
|
|
27
|
+
decide(input: {
|
|
28
|
+
autoApprove: boolean;
|
|
29
|
+
approval: ApprovalDescriptor;
|
|
30
|
+
getHistory?: () => unknown[];
|
|
31
|
+
}): Promise<NonInteractiveApprovalDecision>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=non-interactive-approval-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"non-interactive-approval-policy.d.ts","sourceRoot":"","sources":["../../../source/services/approval/non-interactive-approval-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAK1G,eAAO,MAAM,gCAAgC,qEAAqE,CAAC;AAEnH,MAAM,MAAM,8BAA8B,GACtC;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GACf;IACE,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,gCAAgC;IAC/C,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,qBAAqB,EAAE,sBAAsB,CAAC;CAC/C;AAaD;;;;GAIG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,gCAAgC,EAAI;IAEjE,MAAM,CAAC,KAAK,EAAE;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC;KAC9B,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAiE1C;CACF"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { classifyCommandDetailed } from '../../utils/shell/command-safety/index.js';
|
|
2
|
+
import { SafetyStatus } from '../../utils/shell/command-safety/constants.js';
|
|
3
|
+
import { evaluateShellAutoApprovalAdvisories } from './shell-auto-approval-evaluator.js';
|
|
4
|
+
export const NON_INTERACTIVE_REJECTION_REASON = 'Non-interactive mode: use --auto-approve to allow tool execution';
|
|
5
|
+
const noOpLogger = {
|
|
6
|
+
debug: () => { },
|
|
7
|
+
info: () => { },
|
|
8
|
+
warn: () => { },
|
|
9
|
+
error: () => { },
|
|
10
|
+
security: () => { },
|
|
11
|
+
setCorrelationId: () => { },
|
|
12
|
+
getCorrelationId: () => undefined,
|
|
13
|
+
clearCorrelationId: () => { },
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Decides whether a tool approval paused in a non-interactive session can be
|
|
17
|
+
* resumed. This is deliberately policy-only: callers retain the continuation
|
|
18
|
+
* loop and their own output handling.
|
|
19
|
+
*/
|
|
20
|
+
export class NonInteractiveApprovalPolicy {
|
|
21
|
+
deps;
|
|
22
|
+
constructor(deps) {
|
|
23
|
+
this.deps = deps;
|
|
24
|
+
}
|
|
25
|
+
async decide(input) {
|
|
26
|
+
if (!input.autoApprove) {
|
|
27
|
+
return { answer: 'n', rejectionReason: NON_INTERACTIVE_REJECTION_REASON, reportRejection: false };
|
|
28
|
+
}
|
|
29
|
+
const { approval } = input;
|
|
30
|
+
if (approval.toolName !== 'shell' && approval.toolName !== 'bash') {
|
|
31
|
+
return { answer: 'y' };
|
|
32
|
+
}
|
|
33
|
+
const command = approval.argumentsText;
|
|
34
|
+
const classification = classifyCommandDetailed(command, this.deps.logger);
|
|
35
|
+
if (classification.status === SafetyStatus.RED) {
|
|
36
|
+
return {
|
|
37
|
+
answer: 'n',
|
|
38
|
+
rejectionReason: `Heuristic validation failed: command is RED (dangerous) and cannot be executed automatically: ${command}`,
|
|
39
|
+
reportRejection: true,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
if (classification.status !== SafetyStatus.YELLOW) {
|
|
43
|
+
return { answer: 'y' };
|
|
44
|
+
}
|
|
45
|
+
const autoApproveModel = this.deps.settingsService && this.deps.agentClient
|
|
46
|
+
? this.deps.settingsService.get('agent.choreModel') ?? this.deps.settingsService.get('agent.autoApproveModel')
|
|
47
|
+
: undefined;
|
|
48
|
+
if (!autoApproveModel) {
|
|
49
|
+
return {
|
|
50
|
+
answer: 'n',
|
|
51
|
+
rejectionReason: `Heuristic validation failed: command is YELLOW (suspicious) and no auto-approve model is configured: ${command}`,
|
|
52
|
+
reportRejection: true,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const history = (input.getHistory?.() ?? []);
|
|
56
|
+
try {
|
|
57
|
+
const callId = approval.callId || '__single__';
|
|
58
|
+
const advisories = await evaluateShellAutoApprovalAdvisories({
|
|
59
|
+
commands: [{ id: callId, command }],
|
|
60
|
+
history,
|
|
61
|
+
settingsService: this.deps.settingsService,
|
|
62
|
+
agentClient: this.deps.agentClient,
|
|
63
|
+
logger: this.deps.logger ?? noOpLogger,
|
|
64
|
+
sessionContextService: this.deps.sessionContextService,
|
|
65
|
+
});
|
|
66
|
+
const advisory = advisories.get(callId);
|
|
67
|
+
if (advisory?.approved) {
|
|
68
|
+
return { answer: 'y' };
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
answer: 'n',
|
|
72
|
+
rejectionReason: `LLM evaluation rejected the command: ${advisory?.reasoning ?? 'No reasoning provided'}`,
|
|
73
|
+
reportRejection: true,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
return {
|
|
78
|
+
answer: 'n',
|
|
79
|
+
rejectionReason: `LLM auto-approval evaluation failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
80
|
+
reportRejection: true,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=non-interactive-approval-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"non-interactive-approval-policy.js","sourceRoot":"","sources":["../../../source/services/approval/non-interactive-approval-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { SessionAccessState } from '../session/session-access-state.js';
|
|
2
|
+
import type { NestedToolCompatibilityState } from '../session/nested-tool-compatibility-state.js';
|
|
1
3
|
/** Session-scoped allowlist for read-only access outside the workspace. */
|
|
2
4
|
export declare class SessionReadAccess {
|
|
3
5
|
#private;
|
|
@@ -6,5 +8,13 @@ export declare class SessionReadAccess {
|
|
|
6
8
|
clear(sessionId: string): void;
|
|
7
9
|
}
|
|
8
10
|
export declare const sessionReadAccess: SessionReadAccess;
|
|
11
|
+
/**
|
|
12
|
+
* Shared read-approval bypass for the read-only file tools. Root clients own a
|
|
13
|
+
* SessionAccessState; nested tools fall back to the session-keyed legacy state.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isSessionReadGranted(resolvedPath: string, cwd: string, context: unknown, deps: {
|
|
16
|
+
sessionAccess?: SessionAccessState;
|
|
17
|
+
nestedCompatibility?: NestedToolCompatibilityState;
|
|
18
|
+
}): boolean;
|
|
9
19
|
export declare function getSessionIdFromToolContext(context: unknown): string | null;
|
|
10
20
|
//# sourceMappingURL=session-read-access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-read-access.d.ts","sourceRoot":"","sources":["../../../source/services/approval/session-read-access.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-read-access.d.ts","sourceRoot":"","sources":["../../../source/services/approval/session-read-access.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAElG,2EAA2E;AAC3E,qBAAa,iBAAiB;;IAG5B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAInD;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAStF;IAED,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE7B;CACF;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE;IACJ,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;CACpD,GACA,OAAO,CAOT;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM3E"}
|
|
@@ -22,6 +22,18 @@ export class SessionReadAccess {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
export const sessionReadAccess = new SessionReadAccess();
|
|
25
|
+
/**
|
|
26
|
+
* Shared read-approval bypass for the read-only file tools. Root clients own a
|
|
27
|
+
* SessionAccessState; nested tools fall back to the session-keyed legacy state.
|
|
28
|
+
*/
|
|
29
|
+
export function isSessionReadGranted(resolvedPath, cwd, context, deps) {
|
|
30
|
+
const { sessionAccess, nestedCompatibility } = deps;
|
|
31
|
+
if (sessionAccess) {
|
|
32
|
+
return sessionAccess.allowsRead(resolvedPath, cwd);
|
|
33
|
+
}
|
|
34
|
+
const sessionId = getSessionIdFromToolContext(context);
|
|
35
|
+
return !!sessionId && !!nestedCompatibility?.allowsRead(sessionId, resolvedPath, cwd);
|
|
36
|
+
}
|
|
25
37
|
export function getSessionIdFromToolContext(context) {
|
|
26
38
|
if (!context || typeof context !== 'object')
|
|
27
39
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-read-access.js","sourceRoot":"","sources":["../../../source/services/approval/session-read-access.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"session-read-access.js","sourceRoot":"","sources":["../../../source/services/approval/session-read-access.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,2EAA2E;AAC3E,MAAM,OAAO,iBAAiB;IACnB,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE5D,WAAW,CAAC,SAAiB,EAAE,MAAc;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,SAAiB,EAAE,UAAkB,EAAE,OAAO,GAAW,OAAO,CAAC,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,OAAO,MAAM,KAAK,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,GAAW,EACX,OAAgB,EAChB,IAGC;IAED,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACpD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,SAAS,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,mBAAmB,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,UAAU,GAAG,OAAgC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,SAAS,GAAI,UAAU,CAAC,OAAmC,CAAC,SAAS,CAAC;IAC5E,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The folder a "allow for this session" answer should grant, or null when the
|
|
3
|
+
* arguments carry no usable target. read_file names a file, so its folder is the
|
|
4
|
+
* parent; grep and glob name a directory unless the target is an existing file.
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolveSessionReadFolder(toolName: string | undefined, args: unknown): string | null;
|
|
7
|
+
//# sourceMappingURL=session-read-grant-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-read-grant-target.d.ts","sourceRoot":"","sources":["../../../source/services/approval/session-read-grant-target.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmBnG"}
|