@qduc/term2 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +4 -24
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +12 -33
- package/dist/app.js.map +1 -1
- package/dist/app.parseInput.test.js +4 -4
- package/dist/app.parseInput.test.js.map +1 -1
- package/dist/cli.js +44 -29
- package/dist/cli.js.map +1 -1
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +14 -11
- package/dist/components/ApprovalPrompt.js.map +1 -1
- package/dist/components/Banner.d.ts.map +1 -1
- package/dist/components/Banner.js +4 -12
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BottomArea.d.ts +2 -0
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +6 -9
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/BottomArea.test.js +4 -6
- package/dist/components/BottomArea.test.js.map +1 -1
- package/dist/components/ChatMessage.d.ts.map +1 -1
- package/dist/components/ChatMessage.js.map +1 -1
- package/dist/components/CommandMessage.d.ts.map +1 -1
- package/dist/components/CommandMessage.js +19 -30
- package/dist/components/CommandMessage.js.map +1 -1
- package/dist/components/CommandMessage.test.js +2 -2
- package/dist/components/CommandMessage.test.js.map +1 -1
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.js +3 -9
- package/dist/components/ErrorBoundary.js.map +1 -1
- package/dist/components/ErrorBoundary.test.js +2 -2
- package/dist/components/ErrorBoundary.test.js.map +1 -1
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +15 -33
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.menu-logic.test.js +6 -7
- package/dist/components/InputBox.menu-logic.test.js.map +1 -1
- package/dist/components/InputBox.test.js +7 -9
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/LiveResponse.d.ts.map +1 -1
- package/dist/components/LiveResponse.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +12 -12
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +1 -1
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/ModelSelectionMenu.js +35 -31
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/ModelSelectionMenu.test.js +9 -9
- package/dist/components/ModelSelectionMenu.test.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +1 -1
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +1 -1
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.test.js +4 -4
- package/dist/components/SettingsSelectionMenu.test.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.js +5 -6
- package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
- package/dist/components/SettingsValueSelectionMenu.test.js +5 -5
- package/dist/components/SettingsValueSelectionMenu.test.js.map +1 -1
- package/dist/components/SlashCommandMenu.d.ts.map +1 -1
- package/dist/components/SlashCommandMenu.js +1 -1
- package/dist/components/SlashCommandMenu.js.map +1 -1
- package/dist/components/StatusBar.d.ts +2 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +45 -41
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/StatusBar.test.d.ts +2 -0
- package/dist/components/StatusBar.test.d.ts.map +1 -0
- package/dist/components/StatusBar.test.js +19 -0
- package/dist/components/StatusBar.test.js.map +1 -0
- package/dist/context/InputContext.d.ts.map +1 -1
- package/dist/context/InputContext.js.map +1 -1
- package/dist/context/InputContext.stability.test.js +1 -1
- package/dist/context/InputContext.stability.test.js.map +1 -1
- package/dist/context/InputContext.test.js +15 -15
- package/dist/context/InputContext.test.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +5 -13
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +40 -148
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-input-history.d.ts.map +1 -1
- package/dist/hooks/use-input-history.js +1 -3
- package/dist/hooks/use-input-history.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +9 -35
- 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 +6 -6
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-setting.d.ts.map +1 -1
- package/dist/hooks/use-setting.js +3 -6
- 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 +10 -12
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.test.js +46 -46
- package/dist/hooks/use-settings-completion.test.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 -43
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.test.js +12 -18
- package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +1 -1
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +6 -11
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-slash-commands.test.js +24 -24
- package/dist/hooks/use-slash-commands.test.js.map +1 -1
- package/dist/lib/editor-impl.d.ts.map +1 -1
- package/dist/lib/editor-impl.js +6 -16
- package/dist/lib/editor-impl.js.map +1 -1
- package/dist/lib/editor-impl.test.js.map +1 -1
- package/dist/lib/mentor-client.d.ts +41 -0
- package/dist/lib/mentor-client.d.ts.map +1 -0
- package/dist/lib/mentor-client.js +146 -0
- package/dist/lib/mentor-client.js.map +1 -0
- package/dist/lib/mentor-client.test.d.ts +2 -0
- package/dist/lib/mentor-client.test.d.ts.map +1 -0
- package/dist/lib/mentor-client.test.js +440 -0
- package/dist/lib/mentor-client.test.js.map +1 -0
- package/dist/lib/openai-agent-client.chat.test.js +33 -8
- package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.flex-tier.test.js +5 -5
- package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
- package/dist/lib/openai-agent-client.js +99 -88
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.public-methods.test.js +186 -12
- package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +17 -17
- package/dist/lib/openai-agent-client.test.js.map +1 -1
- package/dist/lib/retry-strategy.d.ts +43 -0
- package/dist/lib/retry-strategy.d.ts.map +1 -0
- package/dist/lib/retry-strategy.js +93 -0
- package/dist/lib/retry-strategy.js.map +1 -0
- package/dist/lib/retry-strategy.test.d.ts +2 -0
- package/dist/lib/retry-strategy.test.d.ts.map +1 -0
- package/dist/lib/retry-strategy.test.js +200 -0
- package/dist/lib/retry-strategy.test.js.map +1 -0
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/lib/tool-invoke.test.js.map +1 -1
- package/dist/no-singleton-imports.test.js +1 -1
- package/dist/no-singleton-imports.test.js.map +1 -1
- package/dist/non-interactive.d.ts +20 -0
- package/dist/non-interactive.d.ts.map +1 -0
- package/dist/non-interactive.js +86 -0
- package/dist/non-interactive.js.map +1 -0
- package/dist/non-interactive.test.d.ts +2 -0
- package/dist/non-interactive.test.d.ts.map +1 -0
- package/dist/non-interactive.test.js +213 -0
- package/dist/non-interactive.test.js.map +1 -0
- package/dist/prompts/anthropic.md +11 -11
- package/dist/prompts/codex.md +63 -63
- package/dist/prompts/gpt-5.md +95 -95
- package/dist/prompts/mentor-addon.md +6 -5
- package/dist/prompts/prompt-selector.d.ts +8 -0
- package/dist/prompts/prompt-selector.d.ts.map +1 -0
- package/dist/prompts/prompt-selector.js +21 -0
- package/dist/prompts/prompt-selector.js.map +1 -0
- package/dist/prompts/prompt-selector.test.d.ts +2 -0
- package/dist/prompts/prompt-selector.test.d.ts.map +1 -0
- package/dist/prompts/prompt-selector.test.js +21 -0
- package/dist/prompts/prompt-selector.test.js.map +1 -0
- package/dist/prompts/prompt-selector.test.ts +32 -0
- package/dist/prompts/prompt-selector.ts +30 -0
- package/dist/prompts/simple.md +58 -58
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai-compatible/api.d.ts.map +1 -1
- package/dist/providers/openai-compatible/api.js.map +1 -1
- package/dist/providers/openai-compatible/model.d.ts.map +1 -1
- package/dist/providers/openai-compatible/model.js +19 -53
- package/dist/providers/openai-compatible/model.js.map +1 -1
- package/dist/providers/openai-compatible/provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible/provider.js.map +1 -1
- package/dist/providers/openai-compatible/reasoning-content.test.js +2 -2
- package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
- package/dist/providers/openai-compatible/utils.d.ts.map +1 -1
- package/dist/providers/openai-compatible/utils.js.map +1 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +5 -1
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai.provider.js +4 -0
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter/api.d.ts.map +1 -1
- package/dist/providers/openrouter/api.js +5 -13
- package/dist/providers/openrouter/api.js.map +1 -1
- package/dist/providers/openrouter/converters.d.ts.map +1 -1
- package/dist/providers/openrouter/converters.js +9 -28
- package/dist/providers/openrouter/converters.js.map +1 -1
- package/dist/providers/openrouter/converters.test.js +7 -11
- package/dist/providers/openrouter/converters.test.js.map +1 -1
- package/dist/providers/openrouter/index.d.ts.map +1 -1
- package/dist/providers/openrouter/index.js.map +1 -1
- package/dist/providers/openrouter/model.d.ts.map +1 -1
- package/dist/providers/openrouter/model.js +19 -55
- package/dist/providers/openrouter/model.js.map +1 -1
- package/dist/providers/openrouter/provider.d.ts.map +1 -1
- package/dist/providers/openrouter/provider.js.map +1 -1
- package/dist/providers/openrouter/reasoning-content.test.js +1 -1
- package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
- package/dist/providers/openrouter/utils.d.ts.map +1 -1
- package/dist/providers/openrouter/utils.js +2 -3
- package/dist/providers/openrouter/utils.js.map +1 -1
- package/dist/providers/openrouter.api.retry.test.js.map +1 -1
- package/dist/providers/openrouter.provider.createRunner.test.js +1 -1
- package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
- package/dist/providers/openrouter.provider.js +6 -4
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/openrouter.test.js +13 -17
- package/dist/providers/openrouter.test.js.map +1 -1
- package/dist/providers/registry.d.ts +5 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/registry.test.js +11 -11
- package/dist/providers/registry.test.js.map +1 -1
- package/dist/providers/web-search/index.d.ts +1 -1
- package/dist/providers/web-search/index.d.ts.map +1 -1
- package/dist/providers/web-search/index.js.map +1 -1
- package/dist/providers/web-search/registry.d.ts.map +1 -1
- package/dist/providers/web-search/registry.js.map +1 -1
- package/dist/providers/web-search/registry.test.js +14 -14
- package/dist/providers/web-search/registry.test.js.map +1 -1
- package/dist/providers/web-search/tavily.provider.d.ts.map +1 -1
- package/dist/providers/web-search/tavily.provider.js +4 -4
- package/dist/providers/web-search/tavily.provider.js.map +1 -1
- package/dist/providers/web-search/tavily.provider.test.js +7 -7
- package/dist/providers/web-search/tavily.provider.test.js.map +1 -1
- package/dist/providers/web-search/types.d.ts.map +1 -1
- package/dist/scripts/extract-provider-traffic.d.ts +3 -0
- package/dist/scripts/extract-provider-traffic.d.ts.map +1 -0
- package/dist/scripts/extract-provider-traffic.js +32 -0
- package/dist/scripts/extract-provider-traffic.js.map +1 -0
- package/dist/services/approval-state.d.ts +24 -0
- package/dist/services/approval-state.d.ts.map +1 -0
- package/dist/services/approval-state.js +41 -0
- package/dist/services/approval-state.js.map +1 -0
- package/dist/services/approval-state.test.d.ts +2 -0
- package/dist/services/approval-state.test.d.ts.map +1 -0
- package/dist/services/approval-state.test.js +59 -0
- package/dist/services/approval-state.test.js.map +1 -0
- package/dist/services/command-message-streaming.d.ts +12 -0
- package/dist/services/command-message-streaming.d.ts.map +1 -0
- package/dist/services/command-message-streaming.js +68 -0
- package/dist/services/command-message-streaming.js.map +1 -0
- package/dist/services/command-message-streaming.test.d.ts +2 -0
- package/dist/services/command-message-streaming.test.d.ts.map +1 -0
- package/dist/services/command-message-streaming.test.js +78 -0
- package/dist/services/command-message-streaming.test.js.map +1 -0
- package/dist/services/conversation-events.d.ts +5 -13
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-integration.test.d.ts +2 -0
- package/dist/services/conversation-integration.test.d.ts.map +1 -0
- package/dist/services/conversation-integration.test.js +155 -0
- package/dist/services/conversation-integration.test.js.map +1 -0
- package/dist/services/conversation-result-builder.d.ts +41 -0
- package/dist/services/conversation-result-builder.d.ts.map +1 -0
- package/dist/services/conversation-result-builder.js +110 -0
- package/dist/services/conversation-result-builder.js.map +1 -0
- package/dist/services/conversation-result-builder.test.d.ts +2 -0
- package/dist/services/conversation-result-builder.test.d.ts.map +1 -0
- package/dist/services/conversation-result-builder.test.js +76 -0
- package/dist/services/conversation-result-builder.test.js.map +1 -0
- package/dist/services/conversation-service.d.ts +1 -1
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js.map +1 -1
- package/dist/services/conversation-session-reasoning.test.js +3 -3
- package/dist/services/conversation-session-reasoning.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +7 -17
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +290 -278
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-session.usage.test.d.ts +2 -0
- package/dist/services/conversation-session.usage.test.d.ts.map +1 -0
- package/dist/services/conversation-session.usage.test.js +59 -0
- package/dist/services/conversation-session.usage.test.js.map +1 -0
- package/dist/services/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation-store.js +3 -9
- package/dist/services/conversation-store.js.map +1 -1
- package/dist/services/conversation-store.test.js +17 -14
- package/dist/services/conversation-store.test.js.map +1 -1
- package/dist/services/execution-context.d.ts.map +1 -1
- package/dist/services/execution-context.js.map +1 -1
- package/dist/services/execution-context.test.js +7 -7
- package/dist/services/execution-context.test.js.map +1 -1
- package/dist/services/file-service.d.ts.map +1 -1
- package/dist/services/file-service.js +5 -9
- package/dist/services/file-service.js.map +1 -1
- package/dist/services/history-service.d.ts.map +1 -1
- package/dist/services/history-service.js +3 -7
- package/dist/services/history-service.js.map +1 -1
- package/dist/services/logging-contract.d.ts +74 -0
- package/dist/services/logging-contract.d.ts.map +1 -0
- package/dist/services/logging-contract.js +157 -0
- package/dist/services/logging-contract.js.map +1 -0
- package/dist/services/logging-contract.test.d.ts +2 -0
- package/dist/services/logging-contract.test.d.ts.map +1 -0
- package/dist/services/logging-contract.test.js +66 -0
- package/dist/services/logging-contract.test.js.map +1 -0
- package/dist/services/logging-service.d.ts +5 -0
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +93 -21
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +2 -2
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/model-service.test.js +6 -6
- package/dist/services/model-service.test.js.map +1 -1
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/settings-env.d.ts +9 -0
- package/dist/services/settings-env.d.ts.map +1 -0
- package/dist/services/settings-env.js +75 -0
- package/dist/services/settings-env.js.map +1 -0
- package/dist/services/settings-env.test.d.ts +2 -0
- package/dist/services/settings-env.test.d.ts.map +1 -0
- package/dist/services/settings-env.test.js +32 -0
- package/dist/services/settings-env.test.js.map +1 -0
- package/dist/services/settings-merger.d.ts +26 -0
- package/dist/services/settings-merger.d.ts.map +1 -0
- package/dist/services/settings-merger.js +122 -0
- package/dist/services/settings-merger.js.map +1 -0
- package/dist/services/settings-merger.test.d.ts +2 -0
- package/dist/services/settings-merger.test.d.ts.map +1 -0
- package/dist/services/settings-merger.test.js +26 -0
- package/dist/services/settings-merger.test.js.map +1 -0
- package/dist/services/settings-persistence.d.ts +32 -0
- package/dist/services/settings-persistence.d.ts.map +1 -0
- package/dist/services/settings-persistence.js +134 -0
- package/dist/services/settings-persistence.js.map +1 -0
- package/dist/services/settings-persistence.test.d.ts +2 -0
- package/dist/services/settings-persistence.test.d.ts.map +1 -0
- package/dist/services/settings-persistence.test.js +51 -0
- package/dist/services/settings-persistence.test.js.map +1 -0
- package/dist/services/settings-schema.d.ts +320 -0
- package/dist/services/settings-schema.d.ts.map +1 -0
- package/dist/services/settings-schema.js +272 -0
- package/dist/services/settings-schema.js.map +1 -0
- package/dist/services/settings-service.d.ts +4 -248
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +45 -641
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-service.mock.d.ts.map +1 -1
- package/dist/services/settings-service.mock.js.map +1 -1
- package/dist/services/singleton-deprecation.test.js +2 -2
- package/dist/services/singleton-deprecation.test.js.map +1 -1
- package/dist/services/ssh-service.d.ts.map +1 -1
- package/dist/services/ssh-service.js +8 -7
- package/dist/services/ssh-service.js.map +1 -1
- package/dist/services/ssh-service.test.js +15 -13
- package/dist/services/ssh-service.test.js.map +1 -1
- package/dist/services/stream-event-parsing.d.ts +4 -0
- package/dist/services/stream-event-parsing.d.ts.map +1 -0
- package/dist/services/stream-event-parsing.js +76 -0
- package/dist/services/stream-event-parsing.js.map +1 -0
- package/dist/services/stream-event-parsing.test.d.ts +2 -0
- package/dist/services/stream-event-parsing.test.d.ts.map +1 -0
- package/dist/services/stream-event-parsing.test.js +59 -0
- package/dist/services/stream-event-parsing.test.js.map +1 -0
- package/dist/services/stream-event-processor.d.ts +32 -0
- package/dist/services/stream-event-processor.d.ts.map +1 -0
- package/dist/services/stream-event-processor.js +344 -0
- package/dist/services/stream-event-processor.js.map +1 -0
- package/dist/services/stream-event-processor.test.d.ts +2 -0
- package/dist/services/stream-event-processor.test.d.ts.map +1 -0
- package/dist/services/stream-event-processor.test.js +117 -0
- package/dist/services/stream-event-processor.test.js.map +1 -0
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +45 -35
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +23 -0
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/ask-mentor.d.ts.map +1 -1
- package/dist/tools/ask-mentor.js +5 -15
- package/dist/tools/ask-mentor.js.map +1 -1
- package/dist/tools/ask-mentor.test.js +1 -1
- package/dist/tools/ask-mentor.test.js.map +1 -1
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +2 -2
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/create-file.test.js.map +1 -1
- package/dist/tools/edit-healing.d.ts.map +1 -1
- package/dist/tools/edit-healing.js +5 -4
- package/dist/tools/edit-healing.js.map +1 -1
- package/dist/tools/edit-healing.test.js.map +1 -1
- package/dist/tools/find-files.d.ts +1 -0
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +93 -24
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/find-files.test.js +46 -2
- package/dist/tools/find-files.test.js.map +1 -1
- package/dist/tools/format-helpers.d.ts.map +1 -1
- package/dist/tools/format-helpers.js +2 -6
- package/dist/tools/format-helpers.js.map +1 -1
- package/dist/tools/grep.d.ts +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +6 -21
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +3 -7
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-file.test.js.map +1 -1
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +14 -31
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/search-replace.test.js.map +1 -1
- package/dist/tools/search.d.ts +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +6 -16
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/shell.d.ts +1 -1
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +25 -51
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/shell.test.d.ts +2 -0
- package/dist/tools/shell.test.d.ts.map +1 -0
- package/dist/tools/shell.test.js +70 -0
- package/dist/tools/shell.test.js.map +1 -0
- package/dist/tools/tool-names.d.ts +3 -0
- package/dist/tools/tool-names.d.ts.map +1 -0
- package/dist/tools/tool-names.js +3 -0
- package/dist/tools/tool-names.js.map +1 -0
- package/dist/tools/tool-names.test.d.ts +2 -0
- package/dist/tools/tool-names.test.d.ts.map +1 -0
- package/dist/tools/tool-names.test.js +7 -0
- package/dist/tools/tool-names.test.js.map +1 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +3 -8
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +4 -4
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +32 -249
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/web-fetch.test.js +3 -3
- package/dist/tools/web-fetch.test.js.map +1 -1
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +6 -10
- package/dist/tools/web-search.js.map +1 -1
- package/dist/tools/web-search.test.js +12 -14
- package/dist/tools/web-search.test.js.map +1 -1
- package/dist/types/messages.d.ts +29 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +2 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/utils/command-logger.d.ts.map +1 -1
- package/dist/utils/command-logger.js.map +1 -1
- package/dist/utils/command-safety/constants.d.ts.map +1 -1
- package/dist/utils/command-safety/constants.js +1 -9
- package/dist/utils/command-safety/constants.js.map +1 -1
- package/dist/utils/command-safety/find-helpers.d.ts.map +1 -1
- package/dist/utils/command-safety/find-helpers.js +4 -9
- package/dist/utils/command-safety/find-helpers.js.map +1 -1
- package/dist/utils/command-safety/handlers/find-handler.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/find-handler.js +3 -10
- package/dist/utils/command-safety/handlers/find-handler.js.map +1 -1
- package/dist/utils/command-safety/handlers/git-handler.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/git-handler.js +2 -4
- package/dist/utils/command-safety/handlers/git-handler.js.map +1 -1
- package/dist/utils/command-safety/handlers/index.d.ts +1 -1
- package/dist/utils/command-safety/handlers/index.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/index.js.map +1 -1
- package/dist/utils/command-safety/handlers/sed-handler.d.ts.map +1 -1
- package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
- package/dist/utils/command-safety/handlers/types.d.ts.map +1 -1
- package/dist/utils/command-safety/index.d.ts.map +1 -1
- package/dist/utils/command-safety/index.js +4 -10
- package/dist/utils/command-safety/index.js.map +1 -1
- package/dist/utils/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/command-safety/path-analysis.js +9 -20
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/command-safety/utils.d.ts.map +1 -1
- package/dist/utils/command-safety/utils.js +1 -3
- package/dist/utils/command-safety/utils.js.map +1 -1
- package/dist/utils/command-safety.find.test.js +44 -87
- package/dist/utils/command-safety.find.test.js.map +1 -1
- package/dist/utils/command-safety.path.test.js +32 -67
- package/dist/utils/command-safety.path.test.js.map +1 -1
- package/dist/utils/conversation-event-handler.d.ts +4 -16
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +4 -8
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +16 -18
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/conversation-utils.d.ts.map +1 -1
- package/dist/utils/conversation-utils.js +5 -8
- package/dist/utils/conversation-utils.js.map +1 -1
- package/dist/utils/conversation-utils.test.js +45 -44
- package/dist/utils/conversation-utils.test.js.map +1 -1
- package/dist/utils/diff.d.ts.map +1 -1
- package/dist/utils/diff.js +2 -4
- package/dist/utils/diff.js.map +1 -1
- package/dist/utils/diff.test.js +12 -12
- package/dist/utils/diff.test.js.map +1 -1
- package/dist/utils/error-helpers.d.ts.map +1 -1
- package/dist/utils/error-helpers.js +2 -6
- package/dist/utils/error-helpers.js.map +1 -1
- package/dist/utils/error-helpers.test.js +32 -32
- package/dist/utils/error-helpers.test.js.map +1 -1
- package/dist/utils/execute-shell.d.ts.map +1 -1
- package/dist/utils/execute-shell.js.map +1 -1
- package/dist/utils/execute-shell.test.js.map +1 -1
- package/dist/utils/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/extract-command-messages.js +16 -21
- package/dist/utils/extract-command-messages.js.map +1 -1
- package/dist/utils/ink-render-options.d.ts.map +1 -1
- package/dist/utils/ink-render-options.js.map +1 -1
- package/dist/utils/log-viewer-filters.d.ts +29 -0
- package/dist/utils/log-viewer-filters.d.ts.map +1 -0
- package/dist/utils/log-viewer-filters.js +49 -0
- package/dist/utils/log-viewer-filters.js.map +1 -0
- package/dist/utils/log-viewer-filters.test.d.ts +2 -0
- package/dist/utils/log-viewer-filters.test.d.ts.map +1 -0
- package/dist/utils/log-viewer-filters.test.js +48 -0
- package/dist/utils/log-viewer-filters.test.js.map +1 -0
- package/dist/utils/message-buffer.d.ts.map +1 -1
- package/dist/utils/message-buffer.js.map +1 -1
- package/dist/utils/message-buffer.test.js +4 -4
- package/dist/utils/message-buffer.test.js.map +1 -1
- package/dist/utils/output-trim.d.ts.map +1 -1
- package/dist/utils/output-trim.js.map +1 -1
- package/dist/utils/provider-credentials.d.ts.map +1 -1
- package/dist/utils/provider-credentials.js +1 -1
- package/dist/utils/provider-credentials.js.map +1 -1
- package/dist/utils/provider-traffic-extractor.d.ts +18 -0
- package/dist/utils/provider-traffic-extractor.d.ts.map +1 -0
- package/dist/utils/provider-traffic-extractor.js +121 -0
- package/dist/utils/provider-traffic-extractor.js.map +1 -0
- package/dist/utils/provider-traffic-extractor.test.d.ts +2 -0
- package/dist/utils/provider-traffic-extractor.test.d.ts.map +1 -0
- package/dist/utils/provider-traffic-extractor.test.js +84 -0
- package/dist/utils/provider-traffic-extractor.test.js.map +1 -0
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +5 -12
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/ssh-config-parser.d.ts.map +1 -1
- package/dist/utils/ssh-config-parser.js.map +1 -1
- package/dist/utils/ssh-config-parser.test.js.map +1 -1
- package/dist/utils/streaming-session-factory.d.ts +33 -0
- package/dist/utils/streaming-session-factory.d.ts.map +1 -0
- package/dist/utils/streaming-session-factory.js +75 -0
- package/dist/utils/streaming-session-factory.js.map +1 -0
- package/dist/utils/streaming-session-factory.test.d.ts +2 -0
- package/dist/utils/streaming-session-factory.test.d.ts.map +1 -0
- package/dist/utils/streaming-session-factory.test.js +74 -0
- package/dist/utils/streaming-session-factory.test.js.map +1 -0
- package/dist/utils/streaming-updater.d.ts.map +1 -1
- package/dist/utils/streaming-updater.js.map +1 -1
- package/dist/utils/throttle.d.ts.map +1 -1
- package/dist/utils/throttle.js.map +1 -1
- package/dist/utils/token-usage.d.ts +16 -0
- package/dist/utils/token-usage.d.ts.map +1 -0
- package/dist/utils/token-usage.js +109 -0
- package/dist/utils/token-usage.js.map +1 -0
- package/dist/utils/token-usage.test.d.ts +2 -0
- package/dist/utils/token-usage.test.d.ts.map +1 -0
- package/dist/utils/token-usage.test.js +38 -0
- package/dist/utils/token-usage.test.js.map +1 -0
- package/dist/utils/trim-tool-output.d.ts +2 -0
- package/dist/utils/trim-tool-output.d.ts.map +1 -0
- package/dist/utils/trim-tool-output.js +52 -0
- package/dist/utils/trim-tool-output.js.map +1 -0
- package/package.json +117 -110
- package/{README.md → readme.md} +208 -136
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import test from 'ava';
|
|
2
|
-
import { createWebSearchToolDefinition, formatResultsAsMarkdown, formatWebSearchCommandMessage
|
|
2
|
+
import { createWebSearchToolDefinition, formatResultsAsMarkdown, formatWebSearchCommandMessage } from './web-search.js';
|
|
3
3
|
// Helper to create a mock settings service
|
|
4
4
|
const createMockSettingsService = (settings = {}) => ({
|
|
5
5
|
get: (key) => settings[key],
|
|
@@ -20,7 +20,7 @@ const createMockLoggingService = () => {
|
|
|
20
20
|
getLogs: () => logs,
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
|
-
test('createWebSearchToolDefinition defines tool correctly', t => {
|
|
23
|
+
test('createWebSearchToolDefinition defines tool correctly', (t) => {
|
|
24
24
|
const settings = createMockSettingsService();
|
|
25
25
|
const logging = createMockLoggingService();
|
|
26
26
|
const tool = createWebSearchToolDefinition({
|
|
@@ -32,7 +32,7 @@ test('createWebSearchToolDefinition defines tool correctly', t => {
|
|
|
32
32
|
t.is(typeof tool.execute, 'function');
|
|
33
33
|
t.is(typeof tool.formatCommandMessage, 'function');
|
|
34
34
|
});
|
|
35
|
-
test('needsApproval returns false (read-only operation)', t => {
|
|
35
|
+
test('needsApproval returns false (read-only operation)', (t) => {
|
|
36
36
|
const settings = createMockSettingsService();
|
|
37
37
|
const logging = createMockLoggingService();
|
|
38
38
|
const tool = createWebSearchToolDefinition({
|
|
@@ -57,7 +57,7 @@ test('execute returns error when provider not configured', async (t) => {
|
|
|
57
57
|
t.true(result.includes('Error:'));
|
|
58
58
|
t.true(result.includes('not properly configured'));
|
|
59
59
|
});
|
|
60
|
-
test('formatResultsAsMarkdown formats results correctly', t => {
|
|
60
|
+
test('formatResultsAsMarkdown formats results correctly', (t) => {
|
|
61
61
|
const response = {
|
|
62
62
|
query: 'test query',
|
|
63
63
|
results: [
|
|
@@ -83,7 +83,7 @@ test('formatResultsAsMarkdown formats results correctly', t => {
|
|
|
83
83
|
t.true(markdown.includes('### 2. Test Result 2'));
|
|
84
84
|
t.true(markdown.includes('**Published:** 2024-01-15'));
|
|
85
85
|
});
|
|
86
|
-
test('formatResultsAsMarkdown handles empty results', t => {
|
|
86
|
+
test('formatResultsAsMarkdown handles empty results', (t) => {
|
|
87
87
|
const response = {
|
|
88
88
|
query: 'no results query',
|
|
89
89
|
results: [],
|
|
@@ -91,7 +91,7 @@ test('formatResultsAsMarkdown handles empty results', t => {
|
|
|
91
91
|
const markdown = formatResultsAsMarkdown(response);
|
|
92
92
|
t.true(markdown.includes('No results found'));
|
|
93
93
|
});
|
|
94
|
-
test('formatResultsAsMarkdown includes answer box when available', t => {
|
|
94
|
+
test('formatResultsAsMarkdown includes answer box when available', (t) => {
|
|
95
95
|
const response = {
|
|
96
96
|
query: 'what is the capital of France',
|
|
97
97
|
results: [],
|
|
@@ -101,7 +101,7 @@ test('formatResultsAsMarkdown includes answer box when available', t => {
|
|
|
101
101
|
t.true(markdown.includes('## Answer'));
|
|
102
102
|
t.true(markdown.includes('The capital of France is Paris.'));
|
|
103
103
|
});
|
|
104
|
-
test('formatResultsAsMarkdown includes both answer box and results', t => {
|
|
104
|
+
test('formatResultsAsMarkdown includes both answer box and results', (t) => {
|
|
105
105
|
const response = {
|
|
106
106
|
query: 'test',
|
|
107
107
|
results: [
|
|
@@ -119,7 +119,7 @@ test('formatResultsAsMarkdown includes both answer box and results', t => {
|
|
|
119
119
|
t.true(markdown.includes('## Search Results'));
|
|
120
120
|
t.true(markdown.includes('Result'));
|
|
121
121
|
});
|
|
122
|
-
test('formatWebSearchCommandMessage extracts query correctly', t => {
|
|
122
|
+
test('formatWebSearchCommandMessage extracts query correctly', (t) => {
|
|
123
123
|
const item = {
|
|
124
124
|
rawItem: {
|
|
125
125
|
arguments: JSON.stringify({ query: 'test search' }),
|
|
@@ -132,7 +132,7 @@ test('formatWebSearchCommandMessage extracts query correctly', t => {
|
|
|
132
132
|
t.is(messages[0].toolName, 'web_search');
|
|
133
133
|
t.is(messages[0].sender, 'command');
|
|
134
134
|
});
|
|
135
|
-
test('formatWebSearchCommandMessage handles missing query', t => {
|
|
135
|
+
test('formatWebSearchCommandMessage handles missing query', (t) => {
|
|
136
136
|
const item = {
|
|
137
137
|
rawItem: {},
|
|
138
138
|
output: 'Some output',
|
|
@@ -141,7 +141,7 @@ test('formatWebSearchCommandMessage handles missing query', t => {
|
|
|
141
141
|
t.is(messages.length, 1);
|
|
142
142
|
t.is(messages[0].command, 'web_search: "unknown query"');
|
|
143
143
|
});
|
|
144
|
-
test('formatWebSearchCommandMessage detects success from output', t => {
|
|
144
|
+
test('formatWebSearchCommandMessage detects success from output', (t) => {
|
|
145
145
|
const successItem = {
|
|
146
146
|
rawItem: {
|
|
147
147
|
arguments: JSON.stringify({ query: 'test' }),
|
|
@@ -159,7 +159,7 @@ test('formatWebSearchCommandMessage detects success from output', t => {
|
|
|
159
159
|
t.true(successMessages[0].success);
|
|
160
160
|
t.false(errorMessages[0].success);
|
|
161
161
|
});
|
|
162
|
-
test('formatWebSearchCommandMessage uses fallback args from map', t => {
|
|
162
|
+
test('formatWebSearchCommandMessage uses fallback args from map', (t) => {
|
|
163
163
|
const callId = 'call-123';
|
|
164
164
|
const item = {
|
|
165
165
|
rawItem: {
|
|
@@ -167,9 +167,7 @@ test('formatWebSearchCommandMessage uses fallback args from map', t => {
|
|
|
167
167
|
},
|
|
168
168
|
output: 'Results',
|
|
169
169
|
};
|
|
170
|
-
const argsMap = new Map([
|
|
171
|
-
[callId, { query: 'fallback query' }],
|
|
172
|
-
]);
|
|
170
|
+
const argsMap = new Map([[callId, { query: 'fallback query' }]]);
|
|
173
171
|
const messages = formatWebSearchCommandMessage(item, 0, argsMap);
|
|
174
172
|
t.is(messages[0].command, 'web_search: "fallback query"');
|
|
175
173
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.test.js","sourceRoot":"","sources":["../../source/tools/web-search.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"web-search.test.js","sourceRoot":"","sources":["../../source/tools/web-search.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CommandMessage } from '../tools/types.js';
|
|
2
|
+
export interface UserMessage {
|
|
3
|
+
id: number;
|
|
4
|
+
sender: 'user';
|
|
5
|
+
text: string;
|
|
6
|
+
}
|
|
7
|
+
export interface BotMessage {
|
|
8
|
+
id: number;
|
|
9
|
+
sender: 'bot';
|
|
10
|
+
text: string;
|
|
11
|
+
reasoningText?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface SystemMessage {
|
|
14
|
+
id: number;
|
|
15
|
+
sender: 'system';
|
|
16
|
+
text: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ReasoningMessage {
|
|
19
|
+
id: number;
|
|
20
|
+
sender: 'reasoning';
|
|
21
|
+
text: string;
|
|
22
|
+
}
|
|
23
|
+
export type Message = UserMessage | BotMessage | CommandMessage | SystemMessage | ReasoningMessage;
|
|
24
|
+
export interface LiveResponse {
|
|
25
|
+
id: number;
|
|
26
|
+
sender: 'bot';
|
|
27
|
+
text: string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../source/types/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEnG,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../source/types/messages.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-logger.d.ts","sourceRoot":"","sources":["../../source/utils/command-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"command-logger.d.ts","sourceRoot":"","sources":["../../source/utils/command-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAiBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAS3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-logger.js","sourceRoot":"","sources":["../../source/utils/command-logger.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,
|
|
1
|
+
{"version":3,"file":"command-logger.js","sourceRoot":"","sources":["../../source/utils/command-logger.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAAiC,EACjC,OAAe,EACf,WAAoB,EACpB,QAAiB;IAEjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAU,qBAAqB,CAAC,EAAE,CAAC;QACzD,OAAO;IACT,CAAC;IACD,IAAI,eAAe,CAAC,GAAG,CAAU,+BAA+B,CAAC,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG;QACd,SAAS;QACT,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,sBAAsB;QAC1D,WAAW;QACX,QAAQ;QACR,GAAG,EAAE,eAAe,CAAC,GAAG,CAAS,qBAAqB,CAAC,IAAI,YAAY;KACxE,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,eAAiC,EAAE,OAAe;IACnF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAU,qBAAqB,CAAC,EAAE,CAAC;QACzD,OAAO;IACT,CAAC;IACD,IAAI,eAAe,CAAC,GAAG,CAAU,+BAA+B,CAAC,EAAE,CAAC;QAClE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,aAc3B,CAAC;AACH,eAAO,MAAM,gBAAgB,aAkC3B,CAAC;AAEH;;;;GAIG;AACH,oBAAY,YAAY;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,aAc3B,CAAC;AACH,eAAO,MAAM,gBAAgB,aAkC3B,CAAC;AAEH;;;;GAIG;AACH,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAGD,eAAO,MAAM,YAAY,UAA6D,CAAC;AAEvF,eAAO,MAAM,oBAAoB,UAA2B,CAAC;AAG7D,eAAO,MAAM,eAAe,aAqB1B,CAAC;AAGH,eAAO,MAAM,wBAAwB,UAkDpC,CAAC;AAEF,eAAO,MAAM,aAAa,UAUzB,CAAC;AAEF,eAAO,MAAM,eAAe,UAU3B,CAAC;AAGF,eAAO,MAAM,iBAAiB,aAmC5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,aAwCjC,CAAC"}
|
|
@@ -63,15 +63,7 @@ export var SafetyStatus;
|
|
|
63
63
|
SafetyStatus["RED"] = "RED";
|
|
64
64
|
})(SafetyStatus || (SafetyStatus = {}));
|
|
65
65
|
// Constants for path analysis
|
|
66
|
-
export const SYSTEM_PATHS = [
|
|
67
|
-
'/etc',
|
|
68
|
-
'/dev',
|
|
69
|
-
'/proc',
|
|
70
|
-
'/var',
|
|
71
|
-
'/usr',
|
|
72
|
-
'/boot',
|
|
73
|
-
'/bin',
|
|
74
|
-
];
|
|
66
|
+
export const SYSTEM_PATHS = ['/etc', '/dev', '/proc', '/var', '/usr', '/boot', '/bin'];
|
|
75
67
|
export const SENSITIVE_EXTENSIONS = ['.env', '.pem', '.key'];
|
|
76
68
|
// Safe JSON files that are common project configuration files
|
|
77
69
|
export const SAFE_JSON_FILES = new Set([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../source/utils/command-safety/constants.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,8EAA8E;AAC9E,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../source/utils/command-safety/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-helpers.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/find-helpers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"find-helpers.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/find-helpers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAkKA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CA+DA"}
|
|
@@ -20,10 +20,7 @@ export function hasFindDangerousExecution(args) {
|
|
|
20
20
|
let terminatorIndex = -1;
|
|
21
21
|
for (let j = i + 1; j < args.length; j++) {
|
|
22
22
|
const term = extractWordText(args[j]);
|
|
23
|
-
if (term === ';' ||
|
|
24
|
-
term === '+' ||
|
|
25
|
-
term === '\\;' ||
|
|
26
|
-
term === '\\+') {
|
|
23
|
+
if (term === ';' || term === '+' || term === '\\;' || term === '\\+') {
|
|
27
24
|
terminatorIndex = j;
|
|
28
25
|
break;
|
|
29
26
|
}
|
|
@@ -45,9 +42,7 @@ export function hasFindDangerousExecution(args) {
|
|
|
45
42
|
reason: `find ${argText} with shell redirection`,
|
|
46
43
|
};
|
|
47
44
|
}
|
|
48
|
-
const execCommand = execArgs
|
|
49
|
-
.map(a => extractWordText(a))
|
|
50
|
-
.filter(Boolean);
|
|
45
|
+
const execCommand = execArgs.map((a) => extractWordText(a)).filter(Boolean);
|
|
51
46
|
if (execCommand.length === 0) {
|
|
52
47
|
return {
|
|
53
48
|
dangerous: true,
|
|
@@ -136,7 +131,7 @@ export function hasFindDangerousExecution(args) {
|
|
|
136
131
|
'emacs',
|
|
137
132
|
];
|
|
138
133
|
// Handle both bare names and full paths like /usr/bin/python
|
|
139
|
-
const isDangerousInterpreter = dangerousInterpreters.some(interp => cmdName === interp || cmdName.endsWith(`/${interp}`));
|
|
134
|
+
const isDangerousInterpreter = dangerousInterpreters.some((interp) => cmdName === interp || cmdName.endsWith(`/${interp}`));
|
|
140
135
|
if (isDangerousInterpreter) {
|
|
141
136
|
return {
|
|
142
137
|
dangerous: true,
|
|
@@ -163,7 +158,7 @@ export function hasFindSuspiciousFlags(args) {
|
|
|
163
158
|
if (!argText)
|
|
164
159
|
continue;
|
|
165
160
|
// File output flags
|
|
166
|
-
if (['-fprint', '-fprint0', '-fprintf', '-fls'].some(flag => argText.startsWith(flag))) {
|
|
161
|
+
if (['-fprint', '-fprint0', '-fprintf', '-fls'].some((flag) => argText.startsWith(flag))) {
|
|
167
162
|
return {
|
|
168
163
|
suspicious: true,
|
|
169
164
|
reason: `find ${argText} (file output)`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-helpers.js","sourceRoot":"","sources":["../../../source/utils/command-safety/find-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"find-helpers.js","sourceRoot":"","sources":["../../../source/utils/command-safety/find-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAW;IAInD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,yBAAyB;QACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;QACnE,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QAE3C,uDAAuD;QACvD,+BAA+B;QAC/B,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrE,eAAe,GAAG,CAAC,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,kCAAkC;YAClC,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,qBAAqB;aAC7C,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpD,wDAAwD;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;QACtE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,yBAAyB;aACjD,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE5E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,qBAAqB;aAC7C,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,yBAAyB;aACjD,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,qCAAqC;aAC7D,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,MAAM,eAAe,GAAG;YACtB,IAAI;YACJ,OAAO;YACP,OAAO;YACP,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,UAAU;YACV,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,SAAS;YACT,OAAO;SACR,CAAC;QACF,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,IAAI,OAAO,gBAAgB;aACnD,CAAC;QACJ,CAAC;QAED,sDAAsD;QACtD,qDAAqD;QACrD,MAAM,qBAAqB,GAAG;YAC5B,SAAS;YACT,IAAI;YACJ,MAAM;YACN,KAAK;YACL,KAAK;YACL,MAAM;YACN,MAAM;YACN,MAAM;YACN,KAAK;YACL,sBAAsB;YACtB,MAAM;YACN,QAAQ;YACR,SAAS;YACT,SAAS;YACT,MAAM;YACN,MAAM;YACN,QAAQ;YACR,KAAK;YACL,KAAK;YACL,uCAAuC;YACvC,KAAK;YACL,OAAO;YACP,UAAU;YACV,OAAO;YACP,MAAM;YACN,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,mCAAmC;YACnC,KAAK;YACL,MAAM;YACN,MAAM;YACN,MAAM;YACN,KAAK;YACL,IAAI;YACJ,sCAAsC;YACtC,KAAK;YACL,MAAM;YACN,OAAO;SACR,CAAC;QAEF,6DAA6D;QAC7D,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,IAAI,CACvD,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CACjE,CAAC;QAEF,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,IAAI,OAAO,yBAAyB;aAC5D,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,QAAQ,OAAO,4BAA4B;aACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAW;IAIhD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,oBAAoB;QACpB,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzF,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,QAAQ,OAAO,gBAAgB;aACxC,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,QAAQ,OAAO,sBAAsB;aAC9C,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,4DAA4D;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjD,IAAI,SAAS,EAAE,CAAC;oBACd,kDAAkD;oBAClD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACzD,qDAAqD;oBACrD,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEnD,IAAI,cAAc,IAAI,eAAe,EAAE,CAAC;wBACtC,OAAO;4BACL,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,cAAc,SAAS,qBAAqB;yBACrD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,sDAAsD;aAC/D,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,uEAAuE;YACvE,6CAA6C;YAC7C,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,QAAQ,OAAO,sBAAsB;aAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-handler.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/find-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"find-handler.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/find-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA+C,MAAM,YAAY,CAAC;AAE9F;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cA6GzB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { SafetyStatus } from '../constants.js';
|
|
|
4
4
|
*/
|
|
5
5
|
export const findHandler = {
|
|
6
6
|
handle(node, helpers) {
|
|
7
|
-
const { extractWordText, analyzePathRisk, hasFindDangerousExecution, hasFindSuspiciousFlags
|
|
7
|
+
const { extractWordText, analyzePathRisk, hasFindDangerousExecution, hasFindSuspiciousFlags } = helpers;
|
|
8
8
|
const reasons = [];
|
|
9
9
|
let status = SafetyStatus.GREEN;
|
|
10
10
|
if (!node.suffix) {
|
|
@@ -34,14 +34,7 @@ export const findHandler = {
|
|
|
34
34
|
if (!argText)
|
|
35
35
|
continue;
|
|
36
36
|
// Track pattern flags
|
|
37
|
-
if ([
|
|
38
|
-
'-name',
|
|
39
|
-
'-iname',
|
|
40
|
-
'-path',
|
|
41
|
-
'-ipath',
|
|
42
|
-
'-regex',
|
|
43
|
-
'-iregex',
|
|
44
|
-
].includes(argText)) {
|
|
37
|
+
if (['-name', '-iname', '-path', '-ipath', '-regex', '-iregex'].includes(argText)) {
|
|
45
38
|
previousArgWasPatternFlag = true;
|
|
46
39
|
continue;
|
|
47
40
|
}
|
|
@@ -91,7 +84,7 @@ export const findHandler = {
|
|
|
91
84
|
/\/\.gnupg/, // GPG keys
|
|
92
85
|
/\.\./, // Directory traversal
|
|
93
86
|
];
|
|
94
|
-
const isHomeRelated = homeRelatedPatterns.some(pattern => pattern.test(argText));
|
|
87
|
+
const isHomeRelated = homeRelatedPatterns.some((pattern) => pattern.test(argText));
|
|
95
88
|
if (isHomeRelated) {
|
|
96
89
|
status = SafetyStatus.RED;
|
|
97
90
|
reasons.push(`find dangerous path: ${argText}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-handler.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/find-handler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"find-handler.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/find-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-handler.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/git-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git-handler.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/git-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA+C,MAAM,YAAY,CAAC;AAE9F;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAoExB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SafetyStatus, SAFE_GIT_COMMANDS, DANGEROUS_GIT_COMMANDS
|
|
1
|
+
import { SafetyStatus, SAFE_GIT_COMMANDS, DANGEROUS_GIT_COMMANDS } from '../constants.js';
|
|
2
2
|
/**
|
|
3
3
|
* Handler for git command safety analysis
|
|
4
4
|
*/
|
|
@@ -50,9 +50,7 @@ export const gitHandler = {
|
|
|
50
50
|
if (hasDangerousFlags) {
|
|
51
51
|
return {
|
|
52
52
|
status: SafetyStatus.YELLOW,
|
|
53
|
-
reasons: [
|
|
54
|
-
`git ${gitSubcommand} with potentially dangerous flags`,
|
|
55
|
-
],
|
|
53
|
+
reasons: [`git ${gitSubcommand} with potentially dangerous flags`],
|
|
56
54
|
};
|
|
57
55
|
}
|
|
58
56
|
// Otherwise stays GREEN - safe read-only git command
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-handler.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/git-handler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"git-handler.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/git-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAG1F;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,MAAM,CAAC,IAAS,EAAE,OAA8B;QAC9C,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QACpC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAiB,YAAY,CAAC,KAAK,CAAC;QAE9C,uDAAuD;QACvD,IAAI,aAAiC,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxC,aAAa,GAAG,OAAO,CAAC;oBACxB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,4DAA4D;YAC5D,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,CAAC,wBAAwB,CAAC;aACpC,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,IAAI,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,CAAC,OAAO,aAAa,oBAAoB,CAAC;aACpD,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,sDAAsD;YACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACtD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAC;gBAE3B,2CAA2C;gBAC3C,OAAO,CACL,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;oBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oBACxB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC5B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;oBAC9B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oBACxB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CACzB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO;oBACL,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,CAAC,OAAO,aAAa,mCAAmC,CAAC;iBACnE,CAAC;YACJ,CAAC;YACD,qDAAqD;YACrD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,yBAAyB;QACzB,OAAO;YACL,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,CAAC,OAAO,aAAa,uBAAuB,CAAC;SACvD,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -9,5 +9,5 @@ export declare const commandHandlers: Map<string, CommandHandler>;
|
|
|
9
9
|
* @returns The handler if one exists, undefined otherwise
|
|
10
10
|
*/
|
|
11
11
|
export declare function getCommandHandler(commandName: string): CommandHandler | undefined;
|
|
12
|
-
export type { CommandHandler, CommandHandlerHelpers, CommandHandlerResult
|
|
12
|
+
export type { CommandHandler, CommandHandlerHelpers, CommandHandlerResult } from './types.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD;;GAEG;AACH,eAAO,MAAM,eAAe,6BAI1B,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjF;AAGD,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAyB;IAC7D,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,KAAK,EAAE,UAAU,CAAC;CACpB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sed-handler.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/sed-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sed-handler.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/sed-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA+C,MAAM,YAAY,CAAC;AAE9F;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAiGxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sed-handler.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/sed-handler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sed-handler.js","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/sed-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../source/utils/command-safety/handlers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,YAAY,CAAC;IAC5D,yBAAyB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK;QAC5C,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,sBAAsB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK;QACzC,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;CACzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAsC,MAAM,gBAAgB,CAAC;AAMlF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAiB5E;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,eAAe,GAAG,YAAY,CAoIrG;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,eAAe,GAAG,OAAO,CAuBhG;AAGD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import parse from 'bash-parser';
|
|
2
2
|
import { SafetyStatus, ALLOWED_COMMANDS, BLOCKED_COMMANDS } from './constants.js';
|
|
3
3
|
import { extractWordText } from './utils.js';
|
|
4
|
-
import { hasFindDangerousExecution, hasFindSuspiciousFlags
|
|
4
|
+
import { hasFindDangerousExecution, hasFindSuspiciousFlags } from './find-helpers.js';
|
|
5
5
|
import { analyzePathRisk } from './path-analysis.js';
|
|
6
6
|
import { getCommandHandler } from './handlers/index.js';
|
|
7
7
|
const nullLoggingService = {
|
|
@@ -36,8 +36,7 @@ export function classifyCommand(commandString, loggingService) {
|
|
|
36
36
|
return;
|
|
37
37
|
if (s === SafetyStatus.RED)
|
|
38
38
|
worstStatus = SafetyStatus.RED;
|
|
39
|
-
else if (s === SafetyStatus.YELLOW &&
|
|
40
|
-
worstStatus === SafetyStatus.GREEN)
|
|
39
|
+
else if (s === SafetyStatus.YELLOW && worstStatus === SafetyStatus.GREEN)
|
|
41
40
|
worstStatus = SafetyStatus.YELLOW;
|
|
42
41
|
if (reason)
|
|
43
42
|
reasons.push(`${s}: ${reason}`);
|
|
@@ -48,10 +47,7 @@ export function classifyCommand(commandString, loggingService) {
|
|
|
48
47
|
if (Array.isArray(node))
|
|
49
48
|
return node.forEach(traverse);
|
|
50
49
|
if (node.type === 'Command') {
|
|
51
|
-
const name = node.name?.text ||
|
|
52
|
-
(node.name &&
|
|
53
|
-
node.name.parts &&
|
|
54
|
-
node.name.parts.map((p) => p.text).join(''));
|
|
50
|
+
const name = node.name?.text || (node.name && node.name.parts && node.name.parts.map((p) => p.text).join(''));
|
|
55
51
|
if (typeof name === 'string') {
|
|
56
52
|
if (BLOCKED_COMMANDS.has(name)) {
|
|
57
53
|
upgradeStatus(SafetyStatus.RED, `blocked command: ${name}`);
|
|
@@ -156,9 +152,7 @@ export function classifyCommand(commandString, loggingService) {
|
|
|
156
152
|
* Throws for invalid/empty inputs.
|
|
157
153
|
*/
|
|
158
154
|
export function validateCommandSafety(command, loggingService) {
|
|
159
|
-
if (!command ||
|
|
160
|
-
typeof command !== 'string' ||
|
|
161
|
-
command.trim().length === 0) {
|
|
155
|
+
if (!command || typeof command !== 'string' || command.trim().length === 0) {
|
|
162
156
|
throw new Error('Command cannot be empty');
|
|
163
157
|
}
|
|
164
158
|
const logger = getLogger(loggingService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/utils/command-safety/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/utils/command-safety/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-analysis.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/path-analysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"path-analysis.d.ts","sourceRoot":"","sources":["../../../source/utils/command-safety/path-analysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,YAAY,EAOb,MAAM,gBAAgB,CAAC;AAiBxB,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,CAAC,EAAE,eAAe,GAAG,YAAY,CAmJ7G"}
|