@qduc/term2 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +397 -0
- package/dist/agent.d.ts +1 -9
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +15 -132
- package/dist/agent.js.map +1 -1
- package/dist/agent.lite-mode.test.d.ts +2 -0
- package/dist/agent.lite-mode.test.d.ts.map +1 -0
- package/dist/agent.lite-mode.test.js +39 -0
- package/dist/agent.lite-mode.test.js.map +1 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +28 -16
- package/dist/app.js.map +1 -1
- package/dist/app.large-uncached-warning.test.js +15 -0
- package/dist/app.large-uncached-warning.test.js.map +1 -1
- package/dist/commands/effort-command.d.ts +2 -2
- package/dist/commands/effort-command.d.ts.map +1 -1
- package/dist/commands/effort-command.js +3 -3
- package/dist/commands/effort-command.js.map +1 -1
- package/dist/commands/guarded-settings-command.d.ts +2 -2
- package/dist/commands/guarded-settings-command.d.ts.map +1 -1
- package/dist/commands/guarded-settings-command.js +2 -2
- package/dist/commands/guarded-settings-command.js.map +1 -1
- package/dist/commands/model-command.d.ts +2 -2
- package/dist/commands/model-command.d.ts.map +1 -1
- package/dist/commands/model-command.js +2 -2
- package/dist/commands/model-command.js.map +1 -1
- package/dist/commands/retry-command.d.ts +2 -1
- package/dist/commands/retry-command.d.ts.map +1 -1
- package/dist/commands/retry-command.js +12 -3
- package/dist/commands/retry-command.js.map +1 -1
- package/dist/commands/skills-command.d.ts +1 -1
- package/dist/commands/skills-command.d.ts.map +1 -1
- package/dist/commands/skills-command.js +1 -1
- package/dist/commands/skills-command.js.map +1 -1
- package/dist/commands/undo-command.d.ts +2 -2
- package/dist/commands/undo-command.d.ts.map +1 -1
- package/dist/commands/undo-command.js +2 -2
- package/dist/commands/undo-command.js.map +1 -1
- package/dist/components/ApprovalPrompt.test.d.ts +2 -0
- package/dist/components/ApprovalPrompt.test.d.ts.map +1 -0
- package/dist/components/ApprovalPrompt.test.js +23 -0
- package/dist/components/ApprovalPrompt.test.js.map +1 -0
- package/dist/components/Common/MenuContainer.d.ts.map +1 -1
- package/dist/components/Common/MenuContainer.js.map +1 -1
- package/dist/components/Common/MenuContainer.test.d.ts.map +1 -1
- package/dist/components/Common/MenuContainer.test.js +53 -24
- package/dist/components/Common/MenuContainer.test.js.map +1 -1
- package/dist/components/Common/ScrollableTabBar.d.ts.map +1 -1
- package/dist/components/Common/ScrollableTabBar.js.map +1 -1
- package/dist/components/Common/compute-visible-tabs.d.ts.map +1 -1
- package/dist/components/Common/compute-visible-tabs.js.map +1 -1
- package/dist/components/Common/compute-visible-tabs.test.d.ts.map +1 -1
- package/dist/components/Common/compute-visible-tabs.test.js +28 -28
- package/dist/components/Common/compute-visible-tabs.test.js.map +1 -1
- package/dist/components/Input/PopupManager.d.ts +1 -9
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js +8 -10
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/Input/determine-active-menu.d.ts +0 -3
- package/dist/components/Input/determine-active-menu.d.ts.map +1 -1
- package/dist/components/Input/determine-active-menu.js +2 -10
- package/dist/components/Input/determine-active-menu.js.map +1 -1
- package/dist/components/Input/input-width.d.ts.map +1 -1
- package/dist/components/Input/input-width.js.map +1 -1
- package/dist/components/Input/insertions.d.ts +0 -8
- package/dist/components/Input/insertions.d.ts.map +1 -1
- package/dist/components/Input/insertions.js +0 -12
- package/dist/components/Input/insertions.js.map +1 -1
- package/dist/components/Input/popup-key-navigation.d.ts.map +1 -1
- package/dist/components/Input/popup-key-navigation.js.map +1 -1
- package/dist/components/Input/popup-key-navigation.test.d.ts.map +1 -1
- package/dist/components/Input/popup-key-navigation.test.js +21 -21
- package/dist/components/Input/popup-key-navigation.test.js.map +1 -1
- package/dist/components/Input/popup-props.d.ts +1 -3
- package/dist/components/Input/popup-props.d.ts.map +1 -1
- package/dist/components/Input/popup-props.js +1 -8
- package/dist/components/Input/popup-props.js.map +1 -1
- package/dist/components/Input/popup-props.test.d.ts.map +1 -1
- package/dist/components/Input/popup-props.test.js +3 -10
- package/dist/components/Input/popup-props.test.js.map +1 -1
- package/dist/components/Input/triggers.d.ts +0 -1
- package/dist/components/Input/triggers.d.ts.map +1 -1
- package/dist/components/Input/triggers.js +0 -1
- package/dist/components/Input/triggers.js.map +1 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +41 -12
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/LiveResponse.test.d.ts +2 -0
- package/dist/components/LiveResponse.test.d.ts.map +1 -0
- package/dist/components/LiveResponse.test.js +13 -0
- package/dist/components/LiveResponse.test.js.map +1 -0
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +3 -2
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +2 -0
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +1 -0
- package/dist/components/ModelSelectionMenu.error-tabs.test.js +18 -0
- package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +1 -0
- package/dist/components/TextInput.d.ts +42 -0
- package/dist/components/TextInput.d.ts.map +1 -0
- package/dist/components/TextInput.js +398 -0
- package/dist/components/TextInput.js.map +1 -0
- package/dist/components/TextInput.test.d.ts +2 -0
- package/dist/components/TextInput.test.d.ts.map +1 -0
- package/dist/components/TextInput.test.js +75 -0
- package/dist/components/TextInput.test.js.map +1 -0
- package/dist/components/__test_act.test.d.ts +2 -0
- package/dist/components/__test_act.test.d.ts.map +1 -0
- package/dist/components/__test_act.test.js +22 -0
- package/dist/components/__test_act.test.js.map +1 -0
- package/dist/components/__test_act_test.d.ts +2 -0
- package/dist/components/__test_act_test.d.ts.map +1 -0
- package/dist/components/__test_act_test.js +22 -0
- package/dist/components/__test_act_test.js.map +1 -0
- package/dist/components/act-test.test.d.ts +2 -0
- package/dist/components/act-test.test.d.ts.map +1 -0
- package/dist/components/act-test.test.js +22 -0
- package/dist/components/act-test.test.js.map +1 -0
- package/dist/components/common/MenuContainer.d.ts +19 -0
- package/dist/components/common/MenuContainer.d.ts.map +1 -0
- package/dist/components/common/MenuContainer.js +52 -0
- package/dist/components/common/MenuContainer.js.map +1 -0
- package/dist/components/common/MenuContainer.test.d.ts +2 -0
- package/dist/components/common/MenuContainer.test.d.ts.map +1 -0
- package/dist/components/common/MenuContainer.test.js +37 -0
- package/dist/components/common/MenuContainer.test.js.map +1 -0
- package/dist/components/common/ScrollableTabBar.d.ts +26 -0
- package/dist/components/common/ScrollableTabBar.d.ts.map +1 -0
- package/dist/components/common/ScrollableTabBar.js +26 -0
- package/dist/components/common/ScrollableTabBar.js.map +1 -0
- package/dist/components/common/compute-visible-tabs.d.ts +16 -0
- package/dist/components/common/compute-visible-tabs.d.ts.map +1 -0
- package/dist/components/common/compute-visible-tabs.js +53 -0
- package/dist/components/common/compute-visible-tabs.js.map +1 -0
- package/dist/components/common/compute-visible-tabs.test.d.ts +2 -0
- package/dist/components/common/compute-visible-tabs.test.d.ts.map +1 -0
- package/dist/components/common/compute-visible-tabs.test.js +97 -0
- package/dist/components/common/compute-visible-tabs.test.js.map +1 -0
- package/dist/components/input/PopupManager.d.ts +88 -0
- package/dist/components/input/PopupManager.d.ts.map +1 -0
- package/dist/components/input/PopupManager.js +21 -0
- package/dist/components/input/PopupManager.js.map +1 -0
- package/dist/components/input/determine-active-menu.d.ts +27 -0
- package/dist/components/input/determine-active-menu.d.ts.map +1 -0
- package/dist/components/input/determine-active-menu.js +81 -0
- package/dist/components/input/determine-active-menu.js.map +1 -0
- package/dist/components/input/input-width.d.ts +8 -0
- package/dist/components/input/input-width.d.ts.map +1 -0
- package/dist/components/input/input-width.js +24 -0
- package/dist/components/input/input-width.js.map +1 -0
- package/dist/components/input/insertions.d.ts +44 -0
- package/dist/components/input/insertions.d.ts.map +1 -0
- package/dist/components/input/insertions.js +67 -0
- package/dist/components/input/insertions.js.map +1 -0
- package/dist/components/input/popup-key-navigation.d.ts +18 -0
- package/dist/components/input/popup-key-navigation.d.ts.map +1 -0
- package/dist/components/input/popup-key-navigation.js +16 -0
- package/dist/components/input/popup-key-navigation.js.map +1 -0
- package/dist/components/input/popup-key-navigation.test.d.ts +2 -0
- package/dist/components/input/popup-key-navigation.test.d.ts.map +1 -0
- package/dist/components/input/popup-key-navigation.test.js +75 -0
- package/dist/components/input/popup-key-navigation.test.js.map +1 -0
- package/dist/components/input/popup-props.d.ts +24 -0
- package/dist/components/input/popup-props.d.ts.map +1 -0
- package/dist/components/input/popup-props.js +72 -0
- package/dist/components/input/popup-props.js.map +1 -0
- package/dist/components/input/popup-props.test.d.ts +2 -0
- package/dist/components/input/popup-props.test.d.ts.map +1 -0
- package/dist/components/input/popup-props.test.js +86 -0
- package/dist/components/input/popup-props.test.js.map +1 -0
- package/dist/components/input/triggers.d.ts +11 -0
- package/dist/components/input/triggers.d.ts.map +1 -0
- package/dist/components/input/triggers.js +27 -0
- package/dist/components/input/triggers.js.map +1 -0
- package/dist/components/layout/BottomArea.d.ts +2 -0
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +4 -2
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/layout/DiffView.d.ts.map +1 -1
- package/dist/components/layout/DiffView.js +33 -26
- package/dist/components/layout/DiffView.js.map +1 -1
- package/dist/components/layout/StatusBar.d.ts +2 -0
- package/dist/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/components/layout/StatusBar.js +29 -8
- package/dist/components/layout/StatusBar.js.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/menu/ModelSelectionMenu.js +1 -1
- package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
- package/dist/components/message/CommandMessage.d.ts +2 -1
- package/dist/components/message/CommandMessage.d.ts.map +1 -1
- package/dist/components/message/CommandMessage.js +203 -227
- package/dist/components/message/CommandMessage.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +16 -0
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +45 -1
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/command-message-helpers.d.ts +1 -1
- package/dist/components/message/command-message-helpers.d.ts.map +1 -1
- package/dist/components/message/command-message-helpers.js +17 -17
- package/dist/components/message/command-message-helpers.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.ask-user.test.js +35 -12
- package/dist/components/prompt/ApprovalPrompt.ask-user.test.js.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/prompt/ApprovalPrompt.js +124 -14
- package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
- package/dist/context/InputContext.d.ts +4 -0
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js +5 -1
- package/dist/context/InputContext.js.map +1 -1
- package/dist/contracts/conversation.d.ts +22 -0
- package/dist/contracts/conversation.d.ts.map +1 -1
- package/dist/contracts/conversation.js +11 -1
- package/dist/contracts/conversation.js.map +1 -1
- package/dist/debug_ask_mentor.d.ts +2 -0
- package/dist/debug_ask_mentor.d.ts.map +1 -0
- package/dist/debug_ask_mentor.js +73 -0
- package/dist/debug_ask_mentor.js.map +1 -0
- package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.js +7 -7
- package/dist/hooks/conversation-ui-reducer.ask-user-bugfix.test.js.map +1 -1
- package/dist/hooks/use-app-commands.d.ts +3 -2
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +16 -8
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +1 -0
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +92 -9
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +2 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.js +118 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.js.map +1 -0
- package/dist/hooks/use-handoff-flow.d.ts +3 -2
- package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
- package/dist/hooks/use-handoff-flow.js +28 -18
- package/dist/hooks/use-handoff-flow.js.map +1 -1
- package/dist/hooks/use-mode-handlers.d.ts +2 -0
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +2 -2
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts +1 -0
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +19 -5
- 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 +4 -2
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-path-completion.repro.test.d.ts +2 -0
- package/dist/hooks/use-path-completion.repro.test.d.ts.map +1 -0
- package/dist/hooks/use-path-completion.repro.test.js.map +1 -0
- package/dist/hooks/use-pending-turn-guards.d.ts +2 -2
- package/dist/hooks/use-pending-turn-guards.d.ts.map +1 -1
- package/dist/hooks/use-pending-turn-guards.js +8 -8
- package/dist/hooks/use-pending-turn-guards.js.map +1 -1
- package/dist/hooks/use-provider-selection.d.ts.map +1 -1
- package/dist/hooks/use-provider-selection.js +20 -18
- package/dist/hooks/use-provider-selection.js.map +1 -1
- package/dist/hooks/use-selection.d.ts.map +1 -1
- package/dist/hooks/use-selection.js +5 -1
- package/dist/hooks/use-selection.js.map +1 -1
- package/dist/hooks/use-setting.d.ts.map +1 -1
- package/dist/hooks/use-setting.js +3 -5
- package/dist/hooks/use-setting.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +19 -7
- 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 +13 -2
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-shell-mode.d.ts +2 -2
- package/dist/hooks/use-shell-mode.d.ts.map +1 -1
- package/dist/hooks/use-shell-mode.js +5 -3
- package/dist/hooks/use-shell-mode.js.map +1 -1
- package/dist/hooks/use-skill-selection.js +3 -3
- package/dist/hooks/use-skill-selection.js.map +1 -1
- package/dist/hooks/use-slash-commands.js +3 -3
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-terminal-width.js +2 -2
- package/dist/hooks/use-terminal-width.js.map +1 -1
- package/dist/hooks/use-undo-selection.d.ts.map +1 -1
- package/dist/hooks/use-undo-selection.js +3 -1
- package/dist/hooks/use-undo-selection.js.map +1 -1
- package/dist/lib/agent-chat-service.js +2 -2
- package/dist/lib/agent-chat-service.js.map +1 -1
- package/dist/lib/agent-factory.test.js +21 -0
- package/dist/lib/agent-factory.test.js.map +1 -1
- package/dist/lib/agent-run-orchestrator.js +1 -1
- package/dist/lib/agent-run-orchestrator.js.map +1 -1
- package/dist/lib/editor-impl.test.js +73 -29
- package/dist/lib/editor-impl.test.js.map +1 -1
- package/dist/lib/openai-agent-client.public-methods.test.js +9 -1
- package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
- package/dist/lib/shell.d.ts +7 -0
- package/dist/lib/shell.d.ts.map +1 -0
- package/dist/lib/shell.js +56 -0
- package/dist/lib/shell.js.map +1 -0
- package/dist/lib/subagent-bridge.d.ts.map +1 -1
- package/dist/lib/subagent-bridge.js +15 -3
- package/dist/lib/subagent-bridge.js.map +1 -1
- package/dist/modes/companion/command-index.d.ts +26 -0
- package/dist/modes/companion/command-index.d.ts.map +1 -0
- package/dist/modes/companion/command-index.js +50 -0
- package/dist/modes/companion/command-index.js.map +1 -0
- package/dist/modes/companion/command-index.test.d.ts +2 -0
- package/dist/modes/companion/command-index.test.d.ts.map +1 -0
- package/dist/modes/companion/command-index.test.js +86 -0
- package/dist/modes/companion/command-index.test.js.map +1 -0
- package/dist/modes/companion/companion-app.d.ts +12 -0
- package/dist/modes/companion/companion-app.d.ts.map +1 -0
- package/dist/modes/companion/companion-app.js +297 -0
- package/dist/modes/companion/companion-app.js.map +1 -0
- package/dist/modes/companion/companion-session.d.ts +63 -0
- package/dist/modes/companion/companion-session.d.ts.map +1 -0
- package/dist/modes/companion/companion-session.js +146 -0
- package/dist/modes/companion/companion-session.js.map +1 -0
- package/dist/modes/companion/companion-session.test.d.ts +2 -0
- package/dist/modes/companion/companion-session.test.d.ts.map +1 -0
- package/dist/modes/companion/companion-session.test.js +28 -0
- package/dist/modes/companion/companion-session.test.js.map +1 -0
- package/dist/modes/companion/components/status-bar.d.ts +13 -0
- package/dist/modes/companion/components/status-bar.d.ts.map +1 -0
- package/dist/modes/companion/components/status-bar.js +26 -0
- package/dist/modes/companion/components/status-bar.js.map +1 -0
- package/dist/modes/companion/context-buffer.d.ts +65 -0
- package/dist/modes/companion/context-buffer.d.ts.map +1 -0
- package/dist/modes/companion/context-buffer.js +156 -0
- package/dist/modes/companion/context-buffer.js.map +1 -0
- package/dist/modes/companion/context-buffer.test.d.ts +2 -0
- package/dist/modes/companion/context-buffer.test.d.ts.map +1 -0
- package/dist/modes/companion/context-buffer.test.js +154 -0
- package/dist/modes/companion/context-buffer.test.js.map +1 -0
- package/dist/modes/companion/event-detector.d.ts +46 -0
- package/dist/modes/companion/event-detector.d.ts.map +1 -0
- package/dist/modes/companion/event-detector.js +169 -0
- package/dist/modes/companion/event-detector.js.map +1 -0
- package/dist/modes/companion/event-detector.test.d.ts +2 -0
- package/dist/modes/companion/event-detector.test.d.ts.map +1 -0
- package/dist/modes/companion/event-detector.test.js +121 -0
- package/dist/modes/companion/event-detector.test.js.map +1 -0
- package/dist/modes/companion/index.d.ts +33 -0
- package/dist/modes/companion/index.d.ts.map +1 -0
- package/dist/modes/companion/index.js +21 -0
- package/dist/modes/companion/index.js.map +1 -0
- package/dist/modes/companion/input-key-mapper.d.ts +3 -0
- package/dist/modes/companion/input-key-mapper.d.ts.map +1 -0
- package/dist/modes/companion/input-key-mapper.js +31 -0
- package/dist/modes/companion/input-key-mapper.js.map +1 -0
- package/dist/modes/companion/input-key-mapper.test.d.ts +2 -0
- package/dist/modes/companion/input-key-mapper.test.d.ts.map +1 -0
- package/dist/modes/companion/input-key-mapper.test.js +26 -0
- package/dist/modes/companion/input-key-mapper.test.js.map +1 -0
- package/dist/modes/companion/input-parser.d.ts +53 -0
- package/dist/modes/companion/input-parser.d.ts.map +1 -0
- package/dist/modes/companion/input-parser.js +114 -0
- package/dist/modes/companion/input-parser.js.map +1 -0
- package/dist/modes/companion/input-parser.test.d.ts +2 -0
- package/dist/modes/companion/input-parser.test.d.ts.map +1 -0
- package/dist/modes/companion/input-parser.test.js +123 -0
- package/dist/modes/companion/input-parser.test.js.map +1 -0
- package/dist/modes/companion/mode-manager.d.ts +41 -0
- package/dist/modes/companion/mode-manager.d.ts.map +1 -0
- package/dist/modes/companion/mode-manager.js +56 -0
- package/dist/modes/companion/mode-manager.js.map +1 -0
- package/dist/modes/companion/mode-manager.test.d.ts +2 -0
- package/dist/modes/companion/mode-manager.test.d.ts.map +1 -0
- package/dist/modes/companion/mode-manager.test.js +65 -0
- package/dist/modes/companion/mode-manager.test.js.map +1 -0
- package/dist/modes/companion/output-classifier.d.ts +15 -0
- package/dist/modes/companion/output-classifier.d.ts.map +1 -0
- package/dist/modes/companion/output-classifier.js +77 -0
- package/dist/modes/companion/output-classifier.js.map +1 -0
- package/dist/modes/companion/output-classifier.test.d.ts +2 -0
- package/dist/modes/companion/output-classifier.test.d.ts.map +1 -0
- package/dist/modes/companion/output-classifier.test.js +133 -0
- package/dist/modes/companion/output-classifier.test.js.map +1 -0
- package/dist/modes/companion/pty-wrapper.d.ts +46 -0
- package/dist/modes/companion/pty-wrapper.d.ts.map +1 -0
- package/dist/modes/companion/pty-wrapper.js +143 -0
- package/dist/modes/companion/pty-wrapper.js.map +1 -0
- package/dist/modes/companion/safety-classifier.d.ts +31 -0
- package/dist/modes/companion/safety-classifier.d.ts.map +1 -0
- package/dist/modes/companion/safety-classifier.js +140 -0
- package/dist/modes/companion/safety-classifier.js.map +1 -0
- package/dist/modes/companion/safety-classifier.test.d.ts +2 -0
- package/dist/modes/companion/safety-classifier.test.d.ts.map +1 -0
- package/dist/modes/companion/safety-classifier.test.js +151 -0
- package/dist/modes/companion/safety-classifier.test.js.map +1 -0
- package/dist/modes/companion/summarizer.d.ts +24 -0
- package/dist/modes/companion/summarizer.d.ts.map +1 -0
- package/dist/modes/companion/summarizer.js +132 -0
- package/dist/modes/companion/summarizer.js.map +1 -0
- package/dist/modes/companion/terminal-history.d.ts +27 -0
- package/dist/modes/companion/terminal-history.d.ts.map +1 -0
- package/dist/modes/companion/terminal-history.js +142 -0
- package/dist/modes/companion/terminal-history.js.map +1 -0
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +0 -2
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/anthropic.md +1 -0
- package/dist/prompts/codex.md +1 -0
- package/dist/prompts/gpt-5-modern.md +1 -0
- package/dist/prompts/gpt-5.5.md +1 -0
- package/dist/prompts/gpt-5.md +4 -7
- package/dist/prompts/kimi.md +3 -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 +12 -38
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +15 -36
- package/dist/prompts/prompt-constructor.ts +19 -47
- package/dist/prompts/shell-sandbox.d.ts +2 -0
- package/dist/prompts/shell-sandbox.d.ts.map +1 -0
- package/dist/prompts/shell-sandbox.js +29 -0
- package/dist/prompts/shell-sandbox.js.map +1 -0
- package/dist/prompts/shell-sandbox.md +18 -0
- package/dist/prompts/shell-sandbox.ts +29 -0
- package/dist/prompts/simple-mentor.md +215 -0
- package/dist/prompts/subagent-delegation.js +1 -1
- package/dist/prompts/subagent-delegation.ts +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +2 -0
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.js +8 -4
- package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js +119 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/ai-sdk-openai.provider.d.ts +14 -0
- package/dist/providers/ai-sdk-openai.provider.d.ts.map +1 -0
- package/dist/providers/ai-sdk-openai.provider.js +18 -0
- package/dist/providers/ai-sdk-openai.provider.js.map +1 -0
- package/dist/providers/codex-responses-model.d.ts +1 -0
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +5 -4
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/github-copilot/converters.d.ts +45 -0
- package/dist/providers/github-copilot/converters.d.ts.map +1 -0
- package/dist/providers/github-copilot/converters.js +118 -0
- package/dist/providers/github-copilot/converters.js.map +1 -0
- package/dist/providers/github-copilot/converters.test.d.ts +2 -0
- package/dist/providers/github-copilot/converters.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/converters.test.js +162 -0
- package/dist/providers/github-copilot/converters.test.js.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.d.ts +2 -0
- package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.js +75 -0
- package/dist/providers/github-copilot/github-copilot.provider.js.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +2 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.js +26 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.js.map +1 -0
- package/dist/providers/github-copilot/index.d.ts +4 -0
- package/dist/providers/github-copilot/index.d.ts.map +1 -0
- package/dist/providers/github-copilot/index.js +4 -0
- package/dist/providers/github-copilot/index.js.map +1 -0
- package/dist/providers/github-copilot/model.d.ts +24 -0
- package/dist/providers/github-copilot/model.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.delta.test.d.ts +2 -0
- package/dist/providers/github-copilot/model.delta.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.delta.test.js +15 -0
- package/dist/providers/github-copilot/model.delta.test.js.map +1 -0
- package/dist/providers/github-copilot/model.js +498 -0
- package/dist/providers/github-copilot/model.js.map +1 -0
- package/dist/providers/github-copilot/model.test.d.ts +2 -0
- package/dist/providers/github-copilot/model.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.test.js +63 -0
- package/dist/providers/github-copilot/model.test.js.map +1 -0
- package/dist/providers/github-copilot/provider.d.ts +15 -0
- package/dist/providers/github-copilot/provider.d.ts.map +1 -0
- package/dist/providers/github-copilot/provider.js +25 -0
- package/dist/providers/github-copilot/provider.js.map +1 -0
- package/dist/providers/github-copilot/provider.test.d.ts +2 -0
- package/dist/providers/github-copilot/provider.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/provider.test.js +52 -0
- package/dist/providers/github-copilot/provider.test.js.map +1 -0
- package/dist/providers/github-copilot/utils.d.ts +20 -0
- package/dist/providers/github-copilot/utils.d.ts.map +1 -0
- package/dist/providers/github-copilot/utils.js +142 -0
- package/dist/providers/github-copilot/utils.js.map +1 -0
- package/dist/providers/github-copilot/utils.test.d.ts +2 -0
- package/dist/providers/github-copilot/utils.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/utils.test.js +21 -0
- package/dist/providers/github-copilot/utils.test.js.map +1 -0
- package/dist/providers/openai-compatible/api.d.ts +17 -0
- package/dist/providers/openai-compatible/api.d.ts.map +1 -0
- package/dist/providers/openai-compatible/api.js +58 -0
- package/dist/providers/openai-compatible/api.js.map +1 -0
- package/dist/providers/openai-compatible/model.d.ts +17 -0
- package/dist/providers/openai-compatible/model.d.ts.map +1 -0
- package/dist/providers/openai-compatible/model.js +473 -0
- package/dist/providers/openai-compatible/model.js.map +1 -0
- package/dist/providers/openai-compatible/provider.d.ts +22 -0
- package/dist/providers/openai-compatible/provider.d.ts.map +1 -0
- package/dist/providers/openai-compatible/provider.js +43 -0
- package/dist/providers/openai-compatible/provider.js.map +1 -0
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts +2 -0
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +1 -0
- package/dist/providers/openai-compatible/reasoning-content.test.js +258 -0
- package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -0
- package/dist/providers/openai-compatible/utils.d.ts +3 -0
- package/dist/providers/openai-compatible/utils.d.ts.map +1 -0
- package/dist/providers/openai-compatible/utils.js +11 -0
- package/dist/providers/openai-compatible/utils.js.map +1 -0
- package/dist/providers/openai-compatible-behavior-gate.test.js +42 -1
- package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
- package/dist/providers/openai-compatible-middleware.js +1 -1
- package/dist/providers/openai-compatible-middleware.js.map +1 -1
- package/dist/providers/openai-compatible.provider.js +1 -1
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openrouter/api.d.ts +39 -0
- package/dist/providers/openrouter/api.d.ts.map +1 -0
- package/dist/providers/openrouter/api.js +164 -0
- package/dist/providers/openrouter/api.js.map +1 -0
- package/dist/providers/openrouter/converters.d.ts +8 -0
- package/dist/providers/openrouter/converters.d.ts.map +1 -0
- package/dist/providers/openrouter/converters.js +391 -0
- package/dist/providers/openrouter/converters.js.map +1 -0
- package/dist/providers/openrouter/converters.test.d.ts +2 -0
- package/dist/providers/openrouter/converters.test.d.ts.map +1 -0
- package/dist/providers/openrouter/converters.test.js +179 -0
- package/dist/providers/openrouter/converters.test.js.map +1 -0
- package/dist/providers/openrouter/index.d.ts +4 -0
- package/dist/providers/openrouter/index.d.ts.map +1 -0
- package/dist/providers/openrouter/index.js +4 -0
- package/dist/providers/openrouter/index.js.map +1 -0
- package/dist/providers/openrouter/model.d.ts +14 -0
- package/dist/providers/openrouter/model.d.ts.map +1 -0
- package/dist/providers/openrouter/model.js +457 -0
- package/dist/providers/openrouter/model.js.map +1 -0
- package/dist/providers/openrouter/provider.d.ts +15 -0
- package/dist/providers/openrouter/provider.d.ts.map +1 -0
- package/dist/providers/openrouter/provider.js +21 -0
- package/dist/providers/openrouter/provider.js.map +1 -0
- package/dist/providers/openrouter/reasoning-content.test.d.ts +2 -0
- package/dist/providers/openrouter/reasoning-content.test.d.ts.map +1 -0
- package/dist/providers/openrouter/reasoning-content.test.js +122 -0
- package/dist/providers/openrouter/reasoning-content.test.js.map +1 -0
- package/dist/providers/openrouter/utils.d.ts +11 -0
- package/dist/providers/openrouter/utils.d.ts.map +1 -0
- package/dist/providers/openrouter/utils.js +29 -0
- package/dist/providers/openrouter/utils.js.map +1 -0
- package/dist/providers/openrouter.api.retry.test.d.ts +2 -0
- package/dist/providers/openrouter.api.retry.test.d.ts.map +1 -0
- package/dist/providers/openrouter.api.retry.test.js +148 -0
- package/dist/providers/openrouter.api.retry.test.js.map +1 -0
- package/dist/providers/openrouter.test.d.ts +2 -0
- package/dist/providers/openrouter.test.d.ts.map +1 -0
- package/dist/providers/openrouter.test.js +1449 -0
- package/dist/providers/openrouter.test.js.map +1 -0
- package/dist/providers/protocol-client.d.ts +17 -0
- package/dist/providers/protocol-client.d.ts.map +1 -0
- package/dist/providers/protocol-client.js +57 -0
- package/dist/providers/protocol-client.js.map +1 -0
- package/dist/providers/protocol-client.test.d.ts +2 -0
- package/dist/providers/protocol-client.test.d.ts.map +1 -0
- package/dist/providers/protocol-client.test.js +55 -0
- package/dist/providers/protocol-client.test.js.map +1 -0
- package/dist/safety-checker.js +57 -0
- package/dist/scripts/eval-auto-approval/runner.js +1 -1
- package/dist/scripts/eval-auto-approval/runner.js.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
- package/dist/services/approval/approval-flow-coordinator.js +43 -3
- package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval/shell-sandbox-approval.d.ts +2 -0
- package/dist/services/approval/shell-sandbox-approval.d.ts.map +1 -0
- package/dist/services/approval/shell-sandbox-approval.js +7 -0
- package/dist/services/approval/shell-sandbox-approval.js.map +1 -0
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +4 -2
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/approval-flow-coordinator.js +1 -1
- package/dist/services/approval-flow-coordinator.js.map +1 -1
- package/dist/services/approval-state.d.ts +1 -1
- package/dist/services/approval-state.d.ts.map +1 -1
- package/dist/services/check_mock.d.ts +2 -0
- package/dist/services/check_mock.d.ts.map +1 -0
- package/dist/services/check_mock.js +22 -0
- package/dist/services/check_mock.js.map +1 -0
- package/dist/services/continuation-driver.js +1 -1
- package/dist/services/continuation-driver.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +2 -1
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +4 -1
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-replay.js +1 -1
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-result-builder.d.ts +2 -0
- package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation/conversation-result-builder.js +31 -2
- package/dist/services/conversation/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +8 -0
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +14 -0
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-store.d.ts +13 -0
- package/dist/services/conversation/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation/conversation-store.js +72 -13
- package/dist/services/conversation/conversation-store.js.map +1 -1
- package/dist/services/conversation-adapter.d.ts +3 -2
- package/dist/services/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation-adapter.js +10 -8
- package/dist/services/conversation-adapter.js.map +1 -1
- package/dist/services/conversation-events.d.ts +1 -1
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-log-events.d.ts +1 -1
- package/dist/services/conversation-log-events.d.ts.map +1 -1
- package/dist/services/conversation-replay.d.ts +1 -1
- package/dist/services/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation-replay.js +1 -1
- package/dist/services/conversation-replay.js.map +1 -1
- package/dist/services/conversation-result-builder.d.ts +1 -1
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +2 -2
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +3 -3
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-service.test.js +2 -2
- package/dist/services/conversation-service.test.js.map +1 -1
- package/dist/services/conversation-session-composition.d.ts +3 -1
- package/dist/services/conversation-session-composition.d.ts.map +1 -1
- package/dist/services/conversation-session-composition.js +3 -2
- package/dist/services/conversation-session-composition.js.map +1 -1
- package/dist/services/conversation-session-factory.d.ts +3 -1
- package/dist/services/conversation-session-factory.d.ts.map +1 -1
- package/dist/services/conversation-session-factory.js +7 -1
- package/dist/services/conversation-session-factory.js.map +1 -1
- package/dist/services/conversation-session.characterization.test.js +23 -13
- package/dist/services/conversation-session.characterization.test.js.map +1 -1
- package/dist/services/conversation-store.merge-modes.removed.d.ts +2 -0
- package/dist/services/conversation-store.merge-modes.removed.d.ts.map +1 -0
- package/dist/services/conversation-store.merge-modes.removed.js +2 -0
- package/dist/services/conversation-store.merge-modes.removed.js.map +1 -0
- package/dist/services/conversation-store.merge-modes.test.d.ts.map +1 -1
- package/dist/services/conversation-store.merge-modes.test.js +1 -160
- package/dist/services/conversation-store.merge-modes.test.js.map +1 -1
- package/dist/services/conversation-turn-runner.d.ts +2 -1
- package/dist/services/conversation-turn-runner.d.ts.map +1 -1
- package/dist/services/logging/logging-service.d.ts.map +1 -1
- package/dist/services/logging/logging-service.js +4 -2
- package/dist/services/logging/logging-service.js.map +1 -1
- package/dist/services/logging-service.js +1 -1
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/model-service.d.ts +1 -1
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +7 -2
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/repro-error.test.d.ts +2 -0
- package/dist/services/repro-error.test.d.ts.map +1 -0
- package/dist/services/repro-error.test.js +38 -0
- package/dist/services/repro-error.test.js.map +1 -0
- package/dist/services/rtk-service.d.ts.map +1 -1
- package/dist/services/rtk-service.js +6 -2
- package/dist/services/rtk-service.js.map +1 -1
- package/dist/services/session/continuation-driver.test.js +169 -7
- package/dist/services/session/continuation-driver.test.js.map +1 -1
- package/dist/services/session/continuation-recovery-handler.test.js +3 -4
- package/dist/services/session/continuation-recovery-handler.test.js.map +1 -1
- package/dist/services/session/conversation-session.d.ts +1 -0
- package/dist/services/session/conversation-session.d.ts.map +1 -1
- package/dist/services/session/conversation-session.js.map +1 -1
- package/dist/services/session/initial-input-preparer.d.ts +1 -0
- package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
- package/dist/services/session/initial-input-preparer.js +2 -1
- package/dist/services/session/initial-input-preparer.js.map +1 -1
- package/dist/services/session/initial-turn-runner.d.ts.map +1 -1
- package/dist/services/session/initial-turn-runner.js +11 -3
- package/dist/services/session/initial-turn-runner.js.map +1 -1
- package/dist/services/session/session-adapter-bridge.d.ts +1 -11
- package/dist/services/session/session-adapter-bridge.d.ts.map +1 -1
- package/dist/services/session/session-adapter-bridge.js +1 -10
- package/dist/services/session/session-adapter-bridge.js.map +1 -1
- package/dist/services/session/session-composition.d.ts +1 -0
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +1 -0
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-factory.d.ts +46 -3
- package/dist/services/session/session-factory.d.ts.map +1 -1
- package/dist/services/session/session-factory.js +44 -3
- package/dist/services/session/session-factory.js.map +1 -1
- package/dist/services/session/session-factory.test.js +17 -18
- package/dist/services/session/session-factory.test.js.map +1 -1
- package/dist/services/session/session-input-planner.d.ts +1 -0
- package/dist/services/session/session-input-planner.d.ts.map +1 -1
- package/dist/services/session/session-input-planner.js +30 -2
- package/dist/services/session/session-input-planner.js.map +1 -1
- package/dist/services/session/session-lifecycle.d.ts +4 -0
- package/dist/services/session/session-lifecycle.d.ts.map +1 -1
- package/dist/services/session/session-lifecycle.js +10 -0
- package/dist/services/session/session-lifecycle.js.map +1 -1
- package/dist/services/session/session-manager.d.ts +14 -0
- package/dist/services/session/session-manager.d.ts.map +1 -1
- package/dist/services/session/session-manager.js +21 -0
- package/dist/services/session/session-manager.js.map +1 -1
- package/dist/services/session/session-stream-processor.d.ts.map +1 -1
- package/dist/services/session/session-stream-processor.js +13 -0
- package/dist/services/session/session-stream-processor.js.map +1 -1
- package/dist/services/session/session-tool-tracker.d.ts +14 -1
- package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
- package/dist/services/session/session-tool-tracker.js +20 -5
- package/dist/services/session/session-tool-tracker.js.map +1 -1
- package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts +12 -0
- package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -0
- package/dist/services/session/test-helpers/conversation-session-fixtures.js +29 -0
- package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -0
- package/dist/services/session/turn-attempt-factory.d.ts +1 -0
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt-factory.js +1 -1
- package/dist/services/session/turn-attempt-factory.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +3 -0
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-coordinator.js +6 -6
- package/dist/services/session/turn-coordinator.js.map +1 -1
- package/dist/services/session/turn-executor.d.ts.map +1 -1
- package/dist/services/session/turn-executor.js +1 -0
- package/dist/services/session/turn-executor.js.map +1 -1
- package/dist/services/session-state-facade.d.ts +2 -2
- package/dist/services/session-state-facade.d.ts.map +1 -1
- package/dist/services/session-state-facade.js.map +1 -1
- package/dist/services/settings/settings-merger.d.ts.map +1 -1
- package/dist/services/settings/settings-merger.js +7 -5
- package/dist/services/settings/settings-merger.js.map +1 -1
- package/dist/services/settings/settings-persistence.js +1 -1
- package/dist/services/settings/settings-persistence.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +25 -0
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +23 -2
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +5 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.js +1 -1
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/skills/skills-service.d.ts.map +1 -1
- package/dist/services/skills/skills-service.js +12 -19
- package/dist/services/skills/skills-service.js.map +1 -1
- package/dist/services/skills/skills-service.test.js +19 -0
- package/dist/services/skills/skills-service.test.js.map +1 -1
- package/dist/services/subagents/reasoning-inheritance.test.d.ts +2 -0
- package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +1 -0
- package/dist/services/subagents/reasoning-inheritance.test.js +73 -0
- package/dist/services/subagents/reasoning-inheritance.test.js.map +1 -0
- package/dist/services/subagents/role-loader.js +3 -3
- package/dist/services/subagents/role-loader.js.map +1 -1
- package/dist/services/subagents/subagent-manager-abort-state.test.d.ts +2 -0
- package/dist/services/subagents/subagent-manager-abort-state.test.d.ts.map +1 -0
- package/dist/services/subagents/subagent-manager-abort-state.test.js +36 -0
- package/dist/services/subagents/subagent-manager-abort-state.test.js.map +1 -0
- package/dist/services/subagents/subagent-manager-abort.test.d.ts +2 -0
- package/dist/services/subagents/subagent-manager-abort.test.d.ts.map +1 -0
- package/dist/services/subagents/subagent-manager-abort.test.js +3 -0
- package/dist/services/subagents/subagent-manager-abort.test.js.map +1 -0
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts +35 -0
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -0
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +174 -0
- package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -0
- package/dist/services/subagents/tool-policy.d.ts.map +1 -1
- package/dist/services/subagents/tool-policy.js +22 -3
- package/dist/services/subagents/tool-policy.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts +42 -1
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +117 -1
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/services/turn-item-accumulator.d.ts +1 -1
- package/dist/services/turn-item-accumulator.d.ts.map +1 -1
- package/dist/tools/agent/activate-skill.js +1 -1
- package/dist/tools/agent/activate-skill.js.map +1 -1
- package/dist/tools/agent/ask-user.d.ts.map +1 -1
- package/dist/tools/agent/ask-user.js +4 -15
- package/dist/tools/agent/ask-user.js.map +1 -1
- package/dist/tools/agent/ask-user.test.js +50 -11
- package/dist/tools/agent/ask-user.test.js.map +1 -1
- package/dist/tools/agent/run-subagent.d.ts.map +1 -1
- package/dist/tools/agent/run-subagent.js +2 -5
- package/dist/tools/agent/run-subagent.js.map +1 -1
- package/dist/tools/bash.d.ts +10 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +55 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/file/apply-patch.js +2 -2
- package/dist/tools/file/apply-patch.js.map +1 -1
- package/dist/tools/file/apply-patch.test.js +27 -0
- package/dist/tools/file/apply-patch.test.js.map +1 -1
- package/dist/tools/file/code-context.d.ts +27 -0
- package/dist/tools/file/code-context.d.ts.map +1 -0
- package/dist/tools/file/code-context.js +542 -0
- package/dist/tools/file/code-context.js.map +1 -0
- package/dist/tools/file/create-file.d.ts.map +1 -1
- package/dist/tools/file/create-file.js +2 -5
- package/dist/tools/file/create-file.js.map +1 -1
- package/dist/tools/file/create-file.test.js +24 -0
- package/dist/tools/file/create-file.test.js.map +1 -1
- package/dist/tools/file/find-files.d.ts.map +1 -1
- package/dist/tools/file/find-files.js +53 -28
- package/dist/tools/file/find-files.js.map +1 -1
- package/dist/tools/file/glob.d.ts +18 -0
- package/dist/tools/file/glob.d.ts.map +1 -0
- package/dist/tools/file/glob.js +216 -0
- package/dist/tools/file/glob.js.map +1 -0
- package/dist/tools/file/grep.d.ts +21 -0
- package/dist/tools/file/grep.d.ts.map +1 -0
- package/dist/tools/file/grep.js +221 -0
- package/dist/tools/file/grep.js.map +1 -0
- package/dist/tools/file/read-file.d.ts.map +1 -1
- package/dist/tools/file/read-file.js +24 -6
- package/dist/tools/file/read-file.js.map +1 -1
- package/dist/tools/file/search-replace.d.ts.map +1 -1
- package/dist/tools/file/search-replace.js +4 -6
- package/dist/tools/file/search-replace.js.map +1 -1
- package/dist/tools/file/search-replace.test.js +30 -0
- package/dist/tools/file/search-replace.test.js.map +1 -1
- package/dist/tools/format-helpers.js +0 -2
- package/dist/tools/format-helpers.js.map +1 -1
- package/dist/tools/language-providers.d.ts.map +1 -1
- package/dist/tools/language-providers.js +0 -379
- package/dist/tools/language-providers.js.map +1 -1
- package/dist/tools/languages/csharp.js +1 -1
- package/dist/tools/languages/csharp.js.map +1 -1
- package/dist/tools/languages/java.js +1 -1
- package/dist/tools/languages/java.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +2 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/system/code-context.d.ts.map +1 -1
- package/dist/tools/system/code-context.js +28 -10
- package/dist/tools/system/code-context.js.map +1 -1
- package/dist/tools/system/grep.d.ts +4 -6
- package/dist/tools/system/grep.d.ts.map +1 -1
- package/dist/tools/system/grep.js +83 -50
- package/dist/tools/system/grep.js.map +1 -1
- package/dist/tools/system/shell.d.ts +10 -1
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +136 -10
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/utils.d.ts +4 -0
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +17 -5
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/web/web-fetch.js +1 -1
- package/dist/tools/web/web-fetch.js.map +1 -1
- package/dist/utils/command-safety/handlers/script-handler.d.ts +3 -0
- package/dist/utils/command-safety/handlers/script-handler.d.ts.map +1 -0
- package/dist/utils/command-safety/handlers/script-handler.js +92 -0
- package/dist/utils/command-safety/handlers/script-handler.js.map +1 -0
- package/dist/utils/command-safety/handlers/script-handler.test.d.ts +2 -0
- package/dist/utils/command-safety/handlers/script-handler.test.d.ts.map +1 -0
- package/dist/utils/command-safety/handlers/script-handler.test.js +44 -0
- package/dist/utils/command-safety/handlers/script-handler.test.js.map +1 -0
- package/dist/utils/command-safety/index.test.d.ts +2 -0
- package/dist/utils/command-safety/index.test.d.ts.map +1 -0
- package/dist/utils/command-safety/index.test.js +22 -0
- package/dist/utils/command-safety/index.test.js.map +1 -0
- package/dist/utils/command-safety.d.ts +21 -0
- package/dist/utils/command-safety.d.ts.map +1 -0
- package/dist/utils/command-safety.devnull.test.d.ts +2 -0
- package/dist/utils/command-safety.devnull.test.d.ts.map +1 -0
- package/dist/utils/command-safety.devnull.test.js +13 -0
- package/dist/utils/command-safety.devnull.test.js.map +1 -0
- package/dist/utils/command-safety.js +348 -0
- package/dist/utils/command-safety.js.map +1 -0
- package/dist/utils/conversation/conversation-event-handler.js +1 -1
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation/message-utils.d.ts +5 -0
- package/dist/utils/conversation/message-utils.d.ts.map +1 -1
- package/dist/utils/conversation/message-utils.js +20 -0
- package/dist/utils/conversation/message-utils.js.map +1 -1
- package/dist/utils/conversation/test-helpers/event-handler-fixtures.d.ts +31 -0
- package/dist/utils/conversation/test-helpers/event-handler-fixtures.d.ts.map +1 -0
- package/dist/utils/conversation/test-helpers/event-handler-fixtures.js +42 -0
- package/dist/utils/conversation/test-helpers/event-handler-fixtures.js.map +1 -0
- package/dist/utils/extract-command-messages.test.js +6 -6
- package/dist/utils/extract-command-messages.test.js.map +1 -1
- package/dist/utils/output/output-trim.d.ts +1 -1
- package/dist/utils/output/output-trim.js +1 -1
- package/dist/utils/project-tree.d.ts +7 -12
- package/dist/utils/project-tree.d.ts.map +1 -1
- package/dist/utils/project-tree.js +184 -83
- package/dist/utils/project-tree.js.map +1 -1
- package/dist/utils/provider-traffic-extractor.repro.test.d.ts +2 -0
- package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +1 -0
- package/dist/utils/provider-traffic-extractor.repro.test.js.map +1 -0
- package/dist/utils/settings-command.d.ts +2 -2
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +2 -2
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/shell/command-safety/find-helpers.js +1 -1
- package/dist/utils/shell/command-safety/find-helpers.js.map +1 -1
- package/dist/utils/shell/command-safety/handlers/git-handler.js +1 -1
- package/dist/utils/shell/command-safety/handlers/git-handler.js.map +1 -1
- package/dist/utils/shell/execute-shell.d.ts +2 -0
- package/dist/utils/shell/execute-shell.d.ts.map +1 -1
- package/dist/utils/shell/execute-shell.js +9 -6
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/shell/sandbox/denied-read-detector.d.ts +39 -0
- package/dist/utils/shell/sandbox/denied-read-detector.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/denied-read-detector.js +250 -0
- package/dist/utils/shell/sandbox/denied-read-detector.js.map +1 -0
- package/dist/utils/shell/sandbox/denied-read-stores.d.ts +74 -0
- package/dist/utils/shell/sandbox/denied-read-stores.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/denied-read-stores.js +166 -0
- package/dist/utils/shell/sandbox/denied-read-stores.js.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-env.d.ts +7 -0
- package/dist/utils/shell/sandbox/sandbox-env.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-env.js +40 -0
- package/dist/utils/shell/sandbox/sandbox-env.js.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts +41 -0
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/sandbox-policy.js +217 -0
- package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -0
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +18 -0
- package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -0
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js +58 -0
- package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -0
- package/dist/utils/shell/shell-output.d.ts.map +1 -1
- package/dist/utils/shell/shell-output.js +8 -6
- package/dist/utils/shell/shell-output.js.map +1 -1
- package/dist/utils/shell/temp-dir.d.ts +10 -0
- package/dist/utils/shell/temp-dir.d.ts.map +1 -0
- package/dist/utils/shell/temp-dir.js +68 -0
- package/dist/utils/shell/temp-dir.js.map +1 -0
- package/dist/utils/skill-discovery-paths.d.ts +5 -0
- package/dist/utils/skill-discovery-paths.d.ts.map +1 -0
- package/dist/utils/skill-discovery-paths.js +18 -0
- package/dist/utils/skill-discovery-paths.js.map +1 -0
- package/package.json +10 -16
- package/dist/components/ModelSelectionMenu.debug.test.d.ts +0 -2
- package/dist/components/ModelSelectionMenu.debug.test.d.ts.map +0 -1
- package/dist/components/ModelSelectionMenu.debug.test.js.map +0 -1
- package/dist/hooks/conversation-ui-reducer.multi-select.test.d.ts +0 -2
- package/dist/hooks/conversation-ui-reducer.multi-select.test.d.ts.map +0 -1
- package/dist/hooks/conversation-ui-reducer.multi-select.test.js +0 -123
- package/dist/hooks/conversation-ui-reducer.multi-select.test.js.map +0 -1
- package/dist/hooks/use-conversation.ask-user-multi-select.test.d.ts +0 -2
- package/dist/hooks/use-conversation.ask-user-multi-select.test.d.ts.map +0 -1
- package/dist/hooks/use-conversation.ask-user-multi-select.test.js +0 -159
- package/dist/hooks/use-conversation.ask-user-multi-select.test.js.map +0 -1
- package/dist/inspect_zod.d.ts +0 -2
- package/dist/inspect_zod.d.ts.map +0 -1
- package/dist/inspect_zod.js +0 -16
- package/dist/inspect_zod.js.map +0 -1
- package/dist/prompts/simple_prev2.md +0 -33
- package/dist/services/conversation-result-resolver.d.ts +0 -25
- package/dist/services/conversation-result-resolver.d.ts.map +0 -1
- package/dist/services/conversation-result-resolver.js +0 -79
- package/dist/services/conversation-result-resolver.js.map +0 -1
- package/dist/services/conversation-result-resolver.test.d.ts +0 -2
- package/dist/services/conversation-result-resolver.test.d.ts.map +0 -1
- package/dist/services/conversation-result-resolver.test.js +0 -186
- package/dist/services/conversation-result-resolver.test.js.map +0 -1
- package/dist/services/session-state-controller.test.d.ts +0 -2
- package/dist/services/session-state-controller.test.d.ts.map +0 -1
- package/dist/services/session-state-controller.test.js +0 -125
- package/dist/services/session-state-controller.test.js.map +0 -1
- package/dist/services/turn-execution-orchestrator.d.ts +0 -79
- package/dist/services/turn-execution-orchestrator.d.ts.map +0 -1
- package/dist/services/turn-execution-orchestrator.js +0 -687
- package/dist/services/turn-execution-orchestrator.js.map +0 -1
- package/dist/services/turn-execution-orchestrator.test.d.ts +0 -2
- package/dist/services/turn-execution-orchestrator.test.d.ts.map +0 -1
- package/dist/services/turn-execution-orchestrator.test.js +0 -236
- package/dist/services/turn-execution-orchestrator.test.js.map +0 -1
- package/dist/utils/command-safety/_scratch-classify.test.d.ts +0 -2
- package/dist/utils/command-safety/_scratch-classify.test.d.ts.map +0 -1
- package/dist/utils/command-safety/_scratch-classify.test.js +0 -22
- package/dist/utils/command-safety/_scratch-classify.test.js.map +0 -1
- package/dist/utils/command-safety/scratch-classify.test.d.ts +0 -2
- package/dist/utils/command-safety/scratch-classify.test.d.ts.map +0 -1
- package/dist/utils/command-safety/scratch-classify.test.js +0 -22
- package/dist/utils/command-safety/scratch-classify.test.js.map +0 -1
- package/dist/utils/command-safety/scratch-tally.test.d.ts +0 -2
- package/dist/utils/command-safety/scratch-tally.test.d.ts.map +0 -1
- package/dist/utils/command-safety/scratch-tally.test.js +0 -68
- package/dist/utils/command-safety/scratch-tally.test.js.map +0 -1
- package/dist/utils/project-tree.test.d.ts +0 -2
- package/dist/utils/project-tree.test.d.ts.map +0 -1
- package/dist/utils/project-tree.test.js +0 -149
- package/dist/utils/project-tree.test.js.map +0 -1
- package/dist/utils/terminal-clear.d.ts +0 -7
- package/dist/utils/terminal-clear.d.ts.map +0 -1
- package/dist/utils/terminal-clear.js +0 -5
- package/dist/utils/terminal-clear.js.map +0 -1
- package/dist/utils/terminal-clear.test.d.ts +0 -2
- package/dist/utils/terminal-clear.test.d.ts.map +0 -1
- package/dist/utils/terminal-clear.test.js +0 -13
- package/dist/utils/terminal-clear.test.js.map +0 -1
- package/dist/utils/test-render.d.ts +0 -14
- package/dist/utils/test-render.d.ts.map +0 -1
- package/dist/utils/test-render.js +0 -44
- package/dist/utils/test-render.js.map +0 -1
- package/readme.md +0 -887
- /package/dist/components/{Input → input}/input-width.test.d.ts +0 -0
- /package/dist/components/{Input → input}/input-width.test.d.ts.map +0 -0
- /package/dist/components/{Input → input}/input-width.test.js +0 -0
- /package/dist/components/{Input → input}/input-width.test.js.map +0 -0
- /package/dist/components/{Input → input}/insertions.test.d.ts +0 -0
- /package/dist/components/{Input → input}/insertions.test.d.ts.map +0 -0
- /package/dist/components/{Input → input}/insertions.test.js +0 -0
- /package/dist/components/{Input → input}/insertions.test.js.map +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate command safety using an AST parser.
|
|
3
|
+
* Returns true when a command requires user approval.
|
|
4
|
+
* Throws for invalid/empty inputs.
|
|
5
|
+
*/
|
|
6
|
+
export declare enum SafetyStatus {
|
|
7
|
+
GREEN = "GREEN",
|
|
8
|
+
YELLOW = "YELLOW",
|
|
9
|
+
RED = "RED"
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Classify command into a SafetyStatus (GREEN/YELLOW/RED)
|
|
13
|
+
*/
|
|
14
|
+
export declare function classifyCommand(commandString: string): SafetyStatus;
|
|
15
|
+
/**
|
|
16
|
+
* Validate command safety using an AST parser.
|
|
17
|
+
* Returns true when a command requires user approval.
|
|
18
|
+
* Throws for invalid/empty inputs OR hard-blocked RED classifications.
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateCommandSafety(command: string): boolean;
|
|
21
|
+
//# sourceMappingURL=command-safety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-safety.d.ts","sourceRoot":"","sources":["../../source/utils/command-safety.ts"],"names":[],"mappings":"AAuDA;;;;GAIG;AACH,oBAAY,YAAY;IACpB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,GAAG,QAAQ;CACd;AAyGD;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAyMnE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyB9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-safety.devnull.test.d.ts","sourceRoot":"","sources":["../../source/utils/command-safety.devnull.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { analyzePathRisk } from './command-safety/path-analysis.js';
|
|
3
|
+
import { SafetyStatus, classifyCommand } from './command-safety/index.js';
|
|
4
|
+
test('analyzePathRisk - /dev/null should be GREEN', t => {
|
|
5
|
+
const result = analyzePathRisk('/dev/null');
|
|
6
|
+
t.is(result, SafetyStatus.GREEN, '/dev/null should be considered safe');
|
|
7
|
+
});
|
|
8
|
+
test('classifyCommand - cat prod.sh 2>/dev/null | head -200 should be GREEN', t => {
|
|
9
|
+
const command = 'cat prod.sh 2>/dev/null | head -200';
|
|
10
|
+
const status = classifyCommand(command);
|
|
11
|
+
t.is(status, SafetyStatus.GREEN, 'command with /dev/null redirection should be GREEN');
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=command-safety.devnull.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-safety.devnull.test.js","sourceRoot":"","sources":["../../source/utils/command-safety.devnull.test.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAC,YAAY,EAAE,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAExE,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uEAAuE,EAAE,CAAC,CAAC,EAAE;IAC9E,MAAM,OAAO,GAAG,qCAAqC,CAAC;IACtD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,oDAAoD,CAAC,CAAC;AAC3F,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import parse from 'bash-parser';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { loggingService } from '../services/logging-service.js';
|
|
4
|
+
// 1. CONSTANTS
|
|
5
|
+
// Note: 'sed' is useful for read-only transformations. We allow it by default
|
|
6
|
+
// but add guards below to prevent in-place edits (-i) and unapproved redirections.
|
|
7
|
+
const ALLOWED_COMMANDS = new Set([
|
|
8
|
+
'ls',
|
|
9
|
+
'pwd',
|
|
10
|
+
'grep',
|
|
11
|
+
'cat',
|
|
12
|
+
'echo',
|
|
13
|
+
'head',
|
|
14
|
+
'tail',
|
|
15
|
+
'sed',
|
|
16
|
+
]);
|
|
17
|
+
const BLOCKED_COMMANDS = new Set([
|
|
18
|
+
// Filesystem
|
|
19
|
+
'rm',
|
|
20
|
+
'rmdir',
|
|
21
|
+
'mkfs',
|
|
22
|
+
'dd',
|
|
23
|
+
'mv',
|
|
24
|
+
'cp',
|
|
25
|
+
// System
|
|
26
|
+
'sudo',
|
|
27
|
+
'su',
|
|
28
|
+
'chmod',
|
|
29
|
+
'chown',
|
|
30
|
+
'shutdown',
|
|
31
|
+
'reboot',
|
|
32
|
+
// Network/Web
|
|
33
|
+
'curl',
|
|
34
|
+
'wget',
|
|
35
|
+
'ssh',
|
|
36
|
+
'scp',
|
|
37
|
+
'netstat',
|
|
38
|
+
// Package Managers / installers
|
|
39
|
+
'apt',
|
|
40
|
+
'yum',
|
|
41
|
+
'npm',
|
|
42
|
+
'yarn',
|
|
43
|
+
'pnpm',
|
|
44
|
+
'pip',
|
|
45
|
+
'gem',
|
|
46
|
+
// Dangerous wrappers / misc
|
|
47
|
+
'eval',
|
|
48
|
+
'exec',
|
|
49
|
+
'kill',
|
|
50
|
+
'killall',
|
|
51
|
+
]);
|
|
52
|
+
/* legacy containsDangerousCommand removed — replaced by classifyCommand + path analysis */
|
|
53
|
+
/**
|
|
54
|
+
* Validate command safety using an AST parser.
|
|
55
|
+
* Returns true when a command requires user approval.
|
|
56
|
+
* Throws for invalid/empty inputs.
|
|
57
|
+
*/
|
|
58
|
+
export var SafetyStatus;
|
|
59
|
+
(function (SafetyStatus) {
|
|
60
|
+
SafetyStatus["GREEN"] = "GREEN";
|
|
61
|
+
SafetyStatus["YELLOW"] = "YELLOW";
|
|
62
|
+
SafetyStatus["RED"] = "RED";
|
|
63
|
+
})(SafetyStatus || (SafetyStatus = {}));
|
|
64
|
+
// Extract a best-effort string for a word/arg node, including expansions.
|
|
65
|
+
function extractWordText(word) {
|
|
66
|
+
if (!word)
|
|
67
|
+
return undefined;
|
|
68
|
+
if (typeof word === 'string')
|
|
69
|
+
return word;
|
|
70
|
+
if (typeof word.text === 'string')
|
|
71
|
+
return word.text;
|
|
72
|
+
if (typeof word.value === 'string')
|
|
73
|
+
return word.value;
|
|
74
|
+
if (typeof word.content === 'string')
|
|
75
|
+
return word.content;
|
|
76
|
+
if (word.parameter)
|
|
77
|
+
return `$${word.parameter}`;
|
|
78
|
+
if (Array.isArray(word.parts)) {
|
|
79
|
+
return word.parts
|
|
80
|
+
.map((part) => extractWordText(part) ?? '')
|
|
81
|
+
.join('');
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
// 2. PATH ANALYSIS HELPER
|
|
86
|
+
function analyzePathRisk(inputPath) {
|
|
87
|
+
const candidate = inputPath?.trim();
|
|
88
|
+
if (!candidate)
|
|
89
|
+
return SafetyStatus.GREEN;
|
|
90
|
+
// RED: Explicit home-dotfiles (.ssh, .env, etc.) even before expansion
|
|
91
|
+
if (candidate.startsWith('~') ||
|
|
92
|
+
candidate.startsWith('$HOME') ||
|
|
93
|
+
candidate.startsWith('${HOME}')) {
|
|
94
|
+
const sliced = candidate.replace(/^~/, '').replace(/^\$\{?HOME\}?/, '');
|
|
95
|
+
// Check for dotfiles after home prefix
|
|
96
|
+
if (/^\/\.\w+/.test(sliced) ||
|
|
97
|
+
sliced.includes('/.ssh') ||
|
|
98
|
+
sliced.includes('/.env')) {
|
|
99
|
+
loggingService.security('Path risk: home dotfile', {
|
|
100
|
+
path: candidate,
|
|
101
|
+
});
|
|
102
|
+
return SafetyStatus.RED;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// RED: Absolute System Paths
|
|
106
|
+
if (path.isAbsolute(candidate)) {
|
|
107
|
+
const SYSTEM_PATHS = [
|
|
108
|
+
'/etc',
|
|
109
|
+
'/dev',
|
|
110
|
+
'/proc',
|
|
111
|
+
'/var',
|
|
112
|
+
'/usr',
|
|
113
|
+
'/boot',
|
|
114
|
+
'/bin',
|
|
115
|
+
];
|
|
116
|
+
if (SYSTEM_PATHS.some(sys => candidate.startsWith(sys))) {
|
|
117
|
+
loggingService.security('Path risk: absolute system path', {
|
|
118
|
+
path: candidate,
|
|
119
|
+
});
|
|
120
|
+
return SafetyStatus.RED;
|
|
121
|
+
}
|
|
122
|
+
// Home dotfiles when absolute
|
|
123
|
+
if (/^\/(home|Users)\/[^/]+\/\.\w+/.test(candidate) ||
|
|
124
|
+
candidate.includes('/.ssh') ||
|
|
125
|
+
candidate.includes('/.gitconfig')) {
|
|
126
|
+
loggingService.security('Path risk: absolute home dotfile', {
|
|
127
|
+
path: candidate,
|
|
128
|
+
});
|
|
129
|
+
return SafetyStatus.RED;
|
|
130
|
+
}
|
|
131
|
+
// Other absolute paths are suspicious -> audit
|
|
132
|
+
loggingService.security('Path risk: absolute non-system path', {
|
|
133
|
+
path: candidate,
|
|
134
|
+
});
|
|
135
|
+
return SafetyStatus.YELLOW;
|
|
136
|
+
}
|
|
137
|
+
// RED: Directory Traversal
|
|
138
|
+
if (candidate.includes('..')) {
|
|
139
|
+
loggingService.security('Path risk: directory traversal detected', {
|
|
140
|
+
path: candidate,
|
|
141
|
+
});
|
|
142
|
+
return SafetyStatus.RED;
|
|
143
|
+
}
|
|
144
|
+
// Hidden files -> YELLOW
|
|
145
|
+
const filename = path.basename(candidate);
|
|
146
|
+
if (filename.startsWith('.')) {
|
|
147
|
+
loggingService.security('Path risk: hidden file', { path: candidate });
|
|
148
|
+
return SafetyStatus.YELLOW;
|
|
149
|
+
}
|
|
150
|
+
// Sensitive extensions
|
|
151
|
+
const SENSITIVE_EXTENSIONS = ['.env', '.pem', '.key', '.json'];
|
|
152
|
+
if (SENSITIVE_EXTENSIONS.some(ext => filename.endsWith(ext))) {
|
|
153
|
+
loggingService.security('Path risk: sensitive extension', {
|
|
154
|
+
path: candidate,
|
|
155
|
+
});
|
|
156
|
+
return SafetyStatus.YELLOW;
|
|
157
|
+
}
|
|
158
|
+
return SafetyStatus.GREEN;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Classify command into a SafetyStatus (GREEN/YELLOW/RED)
|
|
162
|
+
*/
|
|
163
|
+
export function classifyCommand(commandString) {
|
|
164
|
+
try {
|
|
165
|
+
const reasons = [];
|
|
166
|
+
const truncatedCommand = commandString.substring(0, 200);
|
|
167
|
+
loggingService.security('Classifying command safety', {
|
|
168
|
+
command: truncatedCommand,
|
|
169
|
+
});
|
|
170
|
+
const ast = parse(commandString, { mode: 'bash' });
|
|
171
|
+
let worstStatus = SafetyStatus.GREEN;
|
|
172
|
+
function upgradeStatus(s, reason) {
|
|
173
|
+
if (worstStatus === SafetyStatus.RED)
|
|
174
|
+
return;
|
|
175
|
+
if (s === SafetyStatus.RED)
|
|
176
|
+
worstStatus = SafetyStatus.RED;
|
|
177
|
+
else if (s === SafetyStatus.YELLOW &&
|
|
178
|
+
worstStatus === SafetyStatus.GREEN)
|
|
179
|
+
worstStatus = SafetyStatus.YELLOW;
|
|
180
|
+
if (reason)
|
|
181
|
+
reasons.push(`${s}: ${reason}`);
|
|
182
|
+
}
|
|
183
|
+
function traverse(node) {
|
|
184
|
+
if (!node)
|
|
185
|
+
return;
|
|
186
|
+
if (Array.isArray(node))
|
|
187
|
+
return node.forEach(traverse);
|
|
188
|
+
if (node.type === 'Command') {
|
|
189
|
+
const name = node.name?.text ||
|
|
190
|
+
(node.name &&
|
|
191
|
+
node.name.parts &&
|
|
192
|
+
node.name.parts.map((p) => p.text).join(''));
|
|
193
|
+
if (typeof name === 'string') {
|
|
194
|
+
if (BLOCKED_COMMANDS.has(name)) {
|
|
195
|
+
upgradeStatus(SafetyStatus.RED, `blocked command: ${name}`);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (!ALLOWED_COMMANDS.has(name)) {
|
|
199
|
+
upgradeStatus(SafetyStatus.YELLOW, `unknown or unlisted command: ${name}`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
const cmdName = typeof name === 'string' ? name : undefined;
|
|
203
|
+
if (node.suffix) {
|
|
204
|
+
let hasOutputRedirect = false;
|
|
205
|
+
let hasInPlaceEdit = false;
|
|
206
|
+
// First pass: detect dangerous sed patterns
|
|
207
|
+
for (const arg of node.suffix) {
|
|
208
|
+
if (arg?.type === 'Redirect') {
|
|
209
|
+
// Check if it's an output redirect (>, >>)
|
|
210
|
+
const op = arg.op?.text || arg.op;
|
|
211
|
+
if (op === '>' || op === '>>') {
|
|
212
|
+
hasOutputRedirect = true;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
const argText = extractWordText(arg);
|
|
216
|
+
if (argText && argText.startsWith('-')) {
|
|
217
|
+
if (cmdName === 'sed' && argText.startsWith('-i')) {
|
|
218
|
+
hasInPlaceEdit = true;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Second pass: classify arguments
|
|
223
|
+
for (const arg of node.suffix) {
|
|
224
|
+
// Redirects: analyze path risk. For `sed`, only mark output redirects as YELLOW
|
|
225
|
+
if (arg?.type === 'Redirect') {
|
|
226
|
+
const fileText = extractWordText(arg.file ?? arg);
|
|
227
|
+
const op = arg.op?.text || arg.op;
|
|
228
|
+
if (cmdName === 'sed' &&
|
|
229
|
+
(op === '>' || op === '>>')) {
|
|
230
|
+
upgradeStatus(SafetyStatus.YELLOW, `sed with output redirection to ${fileText ?? '<unknown>'}`);
|
|
231
|
+
}
|
|
232
|
+
const pathStatus = analyzePathRisk(fileText);
|
|
233
|
+
upgradeStatus(pathStatus, `redirect to ${fileText ?? '<unknown>'}`);
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
const argText = extractWordText(arg);
|
|
237
|
+
// Flags are normally ignored, but for `sed` the -i flag is dangerous
|
|
238
|
+
// because it performs in-place edits. Detect -i and variants (e.g. -i, -i.bak, -i'')
|
|
239
|
+
if (argText && argText.startsWith('-')) {
|
|
240
|
+
if (cmdName === 'sed' && argText.startsWith('-i')) {
|
|
241
|
+
upgradeStatus(SafetyStatus.RED, `sed in-place edit detected: ${argText}`);
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
244
|
+
continue; // other flags ignored
|
|
245
|
+
}
|
|
246
|
+
const pathStatus = analyzePathRisk(argText);
|
|
247
|
+
// For `sed`, file arguments are only risky if combined with dangerous operations
|
|
248
|
+
if (cmdName === 'sed' && argText) {
|
|
249
|
+
// If there's an in-place edit or output redirect, path risk matters
|
|
250
|
+
// Otherwise, reading files with sed is safe (GREEN)
|
|
251
|
+
if (hasInPlaceEdit || hasOutputRedirect) {
|
|
252
|
+
if (pathStatus === SafetyStatus.RED)
|
|
253
|
+
upgradeStatus(pathStatus, `sed file argument ${argText}`);
|
|
254
|
+
else
|
|
255
|
+
upgradeStatus(SafetyStatus.YELLOW, `sed file argument ${argText}`);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// Read-only sed: only escalate if path itself is risky
|
|
259
|
+
if (pathStatus !== SafetyStatus.GREEN) {
|
|
260
|
+
upgradeStatus(pathStatus, `sed file argument ${argText}`);
|
|
261
|
+
}
|
|
262
|
+
// Otherwise GREEN - read-only sed is safe
|
|
263
|
+
}
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
// Unknown/opaque args fall back to YELLOW
|
|
267
|
+
if (!argText)
|
|
268
|
+
upgradeStatus(SafetyStatus.YELLOW, 'opaque or unparseable argument');
|
|
269
|
+
else
|
|
270
|
+
upgradeStatus(pathStatus, `argument ${argText}`);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// recurse common shapes
|
|
275
|
+
if (node.type === 'LogicalExpression') {
|
|
276
|
+
traverse(node.left);
|
|
277
|
+
traverse(node.right);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
if (node.type === 'Pipeline') {
|
|
281
|
+
(node.commands || []).forEach(traverse);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
if (node.type === 'Subshell') {
|
|
285
|
+
traverse(node.list);
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
if (node.type === 'CommandSubstitution') {
|
|
289
|
+
(node.commands || []).forEach(traverse);
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
if (node.type === 'Script' || node.type === 'Program') {
|
|
293
|
+
(node.commands || []).forEach(traverse);
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
for (const k of Object.keys(node)) {
|
|
297
|
+
const v = node[k];
|
|
298
|
+
if (v && typeof v === 'object')
|
|
299
|
+
traverse(v);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
if (ast && ast.commands) {
|
|
303
|
+
ast.commands.forEach(traverse);
|
|
304
|
+
}
|
|
305
|
+
loggingService.security('Command classification result', {
|
|
306
|
+
command: truncatedCommand,
|
|
307
|
+
status: worstStatus,
|
|
308
|
+
reasons,
|
|
309
|
+
});
|
|
310
|
+
return worstStatus;
|
|
311
|
+
}
|
|
312
|
+
catch (e) {
|
|
313
|
+
// Fail-safe: unparsable -> audit
|
|
314
|
+
loggingService.warn('Failed to parse command, classifying as YELLOW', {
|
|
315
|
+
command: commandString.substring(0, 200),
|
|
316
|
+
error: e instanceof Error ? e.message : String(e),
|
|
317
|
+
});
|
|
318
|
+
return SafetyStatus.YELLOW;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Validate command safety using an AST parser.
|
|
323
|
+
* Returns true when a command requires user approval.
|
|
324
|
+
* Throws for invalid/empty inputs OR hard-blocked RED classifications.
|
|
325
|
+
*/
|
|
326
|
+
export function validateCommandSafety(command) {
|
|
327
|
+
if (!command ||
|
|
328
|
+
typeof command !== 'string' ||
|
|
329
|
+
command.trim().length === 0) {
|
|
330
|
+
throw new Error('Command cannot be empty');
|
|
331
|
+
}
|
|
332
|
+
loggingService.security('Validating command safety', {
|
|
333
|
+
command: command.substring(0, 200),
|
|
334
|
+
});
|
|
335
|
+
const status = classifyCommand(command);
|
|
336
|
+
if (status === SafetyStatus.RED) {
|
|
337
|
+
loggingService.security('Command validation failed: RED (forbidden)', {
|
|
338
|
+
command: command.substring(0, 200),
|
|
339
|
+
});
|
|
340
|
+
throw new Error('Command classified as RED (forbidden)');
|
|
341
|
+
}
|
|
342
|
+
loggingService.security('Validation result', {
|
|
343
|
+
command: command.substring(0, 200),
|
|
344
|
+
status,
|
|
345
|
+
});
|
|
346
|
+
return status === SafetyStatus.YELLOW;
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=command-safety.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-safety.js","sourceRoot":"","sources":["../../source/utils/command-safety.ts"],"names":[],"mappings":"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"}
|
|
@@ -370,7 +370,7 @@ export function createConversationEventHandler(deps, state) {
|
|
|
370
370
|
suffix = ' (Failed)';
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
|
-
else if (toolName === 'grep' || toolName === '
|
|
373
|
+
else if (toolName === 'grep' || toolName === 'glob') {
|
|
374
374
|
const lines = countOutputLines(event.message?.output);
|
|
375
375
|
suffix = ` (${lines} match${lines !== 1 ? 'es' : ''})`;
|
|
376
376
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-event-handler.js","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversation-event-handler.js","sourceRoot":"","sources":["../../../source/utils/conversation/conversation-event-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ import type { Message } from '../../types/message.js';
|
|
|
5
5
|
* bot messages into a single string. Returns null if no bot messages exist.
|
|
6
6
|
*/
|
|
7
7
|
export declare function getLastFinalAssistantText(messages: Message[]): string | null;
|
|
8
|
+
/**
|
|
9
|
+
* Remove trailing assistant-visible messages so a retry can replace the last
|
|
10
|
+
* assistant response in place.
|
|
11
|
+
*/
|
|
12
|
+
export declare function trimTrailingAssistantMessages(messages: Message[]): Message[];
|
|
8
13
|
/**
|
|
9
14
|
* Deduplicate new command messages against existing UI messages and clean up
|
|
10
15
|
* stale running/pending messages that are about to be replaced by completed ones.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-utils.d.ts","sourceRoot":"","sources":["../../../source/utils/conversation/message-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CA2B5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE,CAsB9F;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAQvE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAS1F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CASnG"}
|
|
1
|
+
{"version":3,"file":"message-utils.d.ts","sourceRoot":"","sources":["../../../source/utils/conversation/message-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CA2B5E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAkB5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE,CAsB9F;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAQvE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAS1F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CASnG"}
|
|
@@ -29,6 +29,26 @@ export function getLastFinalAssistantText(messages) {
|
|
|
29
29
|
}
|
|
30
30
|
return texts.join('').trim() || null;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Remove trailing assistant-visible messages so a retry can replace the last
|
|
34
|
+
* assistant response in place.
|
|
35
|
+
*/
|
|
36
|
+
export function trimTrailingAssistantMessages(messages) {
|
|
37
|
+
let end = messages.length;
|
|
38
|
+
while (end > 0) {
|
|
39
|
+
const message = messages[end - 1];
|
|
40
|
+
if (message?.sender === 'command' ||
|
|
41
|
+
message?.sender === 'bot' ||
|
|
42
|
+
message?.sender === 'reasoning' ||
|
|
43
|
+
message?.sender === 'system' ||
|
|
44
|
+
message?.sender === 'subagent') {
|
|
45
|
+
end--;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
return end === messages.length ? messages : messages.slice(0, end);
|
|
51
|
+
}
|
|
32
52
|
/**
|
|
33
53
|
* Deduplicate new command messages against existing UI messages and clean up
|
|
34
54
|
* stale running/pending messages that are about to be replaced by completed ones.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-utils.js","sourceRoot":"","sources":["../../../source/utils/conversation/message-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAmB;IAC3D,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,EAAE,MAAM,KAAK,KAAK,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7F,YAAY,GAAG,KAAK,CAAC;YACrB,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,YAAY,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,EAAE,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AACvC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAe,EAAE,WAA6B;IACjF,mDAAmD;IACnD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACxC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpG,uEAAuE;IACvE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAmB;IAC7D,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC5C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAmB,EAAE,UAAkB;IAChF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC5C,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAmB;IACvD,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"message-utils.js","sourceRoot":"","sources":["../../../source/utils/conversation/message-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ConversationEventHandlerDeps } from '../conversation-event-handler.js';
|
|
2
|
+
export interface MockDeps extends ConversationEventHandlerDeps {
|
|
3
|
+
botResponseUpdater: {
|
|
4
|
+
push: (text: string) => void;
|
|
5
|
+
cancel: () => void;
|
|
6
|
+
flush: () => void;
|
|
7
|
+
};
|
|
8
|
+
reasoningUpdater: {
|
|
9
|
+
push: (text: string) => void;
|
|
10
|
+
cancel: () => void;
|
|
11
|
+
flush: () => void;
|
|
12
|
+
};
|
|
13
|
+
appendMessages: (messages: any[]) => void;
|
|
14
|
+
setMessages: (updater: (prev: any[]) => any[]) => void;
|
|
15
|
+
createMessageId: () => string;
|
|
16
|
+
trimMessages: (messages: any[]) => any[];
|
|
17
|
+
annotateCommandMessage: (msg: any) => any;
|
|
18
|
+
}
|
|
19
|
+
export declare function createMockDeps(): MockDeps & {
|
|
20
|
+
calls: {
|
|
21
|
+
botResponsePushes: string[];
|
|
22
|
+
botResponseCancelled: boolean;
|
|
23
|
+
botResponseFlushed: boolean;
|
|
24
|
+
reasoningPushes: string[];
|
|
25
|
+
reasoningFlushed: boolean;
|
|
26
|
+
reasoningCancelled: boolean;
|
|
27
|
+
appendedMessages: any[][];
|
|
28
|
+
setMessagesCalls: Array<(prev: any[]) => any[]>;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=event-handler-fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-handler-fixtures.d.ts","sourceRoot":"","sources":["../../../../source/utils/conversation/test-helpers/event-handler-fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAErF,MAAM,WAAW,QAAS,SAAQ,4BAA4B;IAC5D,kBAAkB,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC5F,gBAAgB,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC1F,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC1C,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,YAAY,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC;IACzC,sBAAsB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3C;AAED,wBAAgB,cAAc,IAAI,QAAQ,GAAG;IAC3C,KAAK,EAAE;QACL,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,oBAAoB,EAAE,OAAO,CAAC;QAC9B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gBAAgB,EAAE,GAAG,EAAE,EAAE,CAAC;QAC1B,gBAAgB,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;KACjD,CAAC;CACH,CAyCA"}
|