@qduc/term2 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +5 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +54 -7
- 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/agent.test.d.ts +2 -0
- package/dist/agent.test.d.ts.map +1 -0
- package/dist/agent.test.js +198 -0
- package/dist/agent.test.js.map +1 -0
- package/dist/app.d.ts +5 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +36 -14
- package/dist/app.js.map +1 -1
- package/dist/app.startup-banner.test.d.ts +2 -0
- package/dist/app.startup-banner.test.d.ts.map +1 -0
- package/dist/app.startup-banner.test.js +11 -0
- package/dist/app.startup-banner.test.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -3
- package/dist/cli.js.map +1 -1
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +13 -12
- package/dist/components/ApprovalPrompt.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/Banner.js +1 -1
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +3 -4
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/ChatMessage.d.ts +1 -0
- package/dist/components/ChatMessage.d.ts.map +1 -1
- package/dist/components/ChatMessage.js +3 -2
- package/dist/components/ChatMessage.js.map +1 -1
- package/dist/components/CommandMessage.d.ts.map +1 -1
- package/dist/components/CommandMessage.js +54 -8
- package/dist/components/CommandMessage.js.map +1 -1
- package/dist/components/CommandMessage.test.js +90 -0
- package/dist/components/CommandMessage.test.js.map +1 -1
- package/dist/components/Input/PopupManager.d.ts +3 -0
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js +2 -2
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/Input/insertions.d.ts.map +1 -1
- package/dist/components/Input/insertions.js +2 -2
- package/dist/components/Input/insertions.js.map +1 -1
- 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 +73 -0
- package/dist/components/Input/popup-key-navigation.test.js.map +1 -0
- package/dist/components/Input/popup-props.d.ts.map +1 -1
- package/dist/components/Input/popup-props.js +2 -0
- package/dist/components/Input/popup-props.js.map +1 -1
- package/dist/components/Input/triggers.d.ts +1 -0
- package/dist/components/Input/triggers.d.ts.map +1 -1
- package/dist/components/Input/triggers.js +1 -0
- package/dist/components/Input/triggers.js.map +1 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +130 -6
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.test.js +42 -1
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/LiveResponse.d.ts +1 -3
- package/dist/components/LiveResponse.d.ts.map +1 -1
- package/dist/components/LiveResponse.js +5 -6
- package/dist/components/LiveResponse.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 +5 -2
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +77 -49
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/MessageList.d.ts +7 -1
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +150 -23
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +289 -4
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/ModelSelectionMenu.d.ts.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/ModelSelectionMenu.js +54 -14
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts +2 -0
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +31 -12
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.d.ts +1 -0
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +32 -23
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.scroll.test.d.ts +2 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.d.ts.map +1 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.js +23 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +15 -15
- 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 +30 -0
- package/dist/components/StatusBar.test.js.map +1 -0
- package/dist/components/SubagentActivityMessage.d.ts +12 -0
- package/dist/components/SubagentActivityMessage.d.ts.map +1 -0
- package/dist/components/SubagentActivityMessage.js +15 -0
- package/dist/components/SubagentActivityMessage.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/theme.d.ts +8 -0
- package/dist/components/theme.d.ts.map +1 -0
- package/dist/components/theme.js +22 -0
- package/dist/components/theme.js.map +1 -0
- package/dist/contracts/conversation.d.ts +1 -0
- package/dist/contracts/conversation.d.ts.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/env-setup.d.ts +2 -0
- package/dist/env-setup.d.ts.map +1 -0
- package/dist/env-setup.js +7 -0
- package/dist/env-setup.js.map +1 -0
- package/dist/env-setup.test.d.ts +2 -0
- package/dist/env-setup.test.d.ts.map +1 -0
- package/dist/env-setup.test.js +6 -0
- package/dist/env-setup.test.js.map +1 -0
- package/dist/hooks/path-completion-filter.d.ts +4 -0
- package/dist/hooks/path-completion-filter.d.ts.map +1 -0
- package/dist/hooks/path-completion-filter.js +27 -0
- package/dist/hooks/path-completion-filter.js.map +1 -0
- package/dist/hooks/path-completion-filter.test.d.ts +2 -0
- package/dist/hooks/path-completion-filter.test.d.ts.map +1 -0
- package/dist/hooks/path-completion-filter.test.js +100 -0
- package/dist/hooks/path-completion-filter.test.js.map +1 -0
- package/dist/hooks/use-app-commands.d.ts +9 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +97 -26
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-commands.test.js +53 -3
- package/dist/hooks/use-app-commands.test.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +14 -8
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +59 -61
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-mode-handlers.d.ts +3 -1
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +8 -0
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts +1 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +31 -16
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-model-selection.test.js +66 -1
- package/dist/hooks/use-model-selection.test.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts +1 -0
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +22 -17
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts +2 -2
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +53 -18
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.scroll.test.d.ts +2 -0
- package/dist/hooks/use-settings-completion.scroll.test.d.ts.map +1 -0
- package/dist/hooks/use-settings-completion.scroll.test.js +55 -0
- package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -0
- package/dist/hooks/use-settings-completion.test.js +69 -79
- package/dist/hooks/use-settings-completion.test.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +1 -2
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +47 -19
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.test.js +5 -18
- package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +7 -0
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +20 -13
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-slash-commands.test.js +52 -1
- package/dist/hooks/use-slash-commands.test.js.map +1 -1
- package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
- package/dist/hooks/use-trigger-detection.js +7 -3
- package/dist/hooks/use-trigger-detection.js.map +1 -1
- package/dist/hooks/use-trigger-detection.test.d.ts +2 -0
- package/dist/hooks/use-trigger-detection.test.d.ts.map +1 -0
- package/dist/hooks/use-trigger-detection.test.js +59 -0
- package/dist/hooks/use-trigger-detection.test.js.map +1 -0
- package/dist/lib/editor-impl.test.js +63 -50
- package/dist/lib/editor-impl.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts +28 -0
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +82 -143
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +70 -0
- package/dist/lib/openai-agent-client.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/tool-invoke.d.ts +3 -2
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +69 -4
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/lib/tool-invoke.test.js +25 -0
- package/dist/lib/tool-invoke.test.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 +3 -0
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/gpt-5-modern.md +66 -0
- package/dist/prompts/gpt-5.md +7 -0
- package/dist/prompts/lite.md +10 -27
- package/dist/prompts/prompt-selector.js +2 -2
- package/dist/prompts/prompt-selector.js.map +1 -1
- package/dist/prompts/prompt-selector.test.js +7 -2
- package/dist/prompts/prompt-selector.test.js.map +1 -1
- package/dist/prompts/prompt-selector.test.ts +22 -2
- package/dist/prompts/prompt-selector.ts +2 -2
- package/dist/prompts/search-via-shell.d.ts +7 -0
- package/dist/prompts/search-via-shell.d.ts.map +1 -0
- package/dist/prompts/search-via-shell.js +59 -0
- package/dist/prompts/search-via-shell.js.map +1 -0
- package/dist/prompts/search-via-shell.test.d.ts +2 -0
- package/dist/prompts/search-via-shell.test.d.ts.map +1 -0
- package/dist/prompts/search-via-shell.test.js +40 -0
- package/dist/prompts/search-via-shell.test.js.map +1 -0
- package/dist/prompts/search-via-shell.test.ts +47 -0
- package/dist/prompts/search-via-shell.ts +71 -0
- package/dist/prompts/simple-mentor.md +215 -0
- package/dist/prompts/simple.md +40 -186
- package/dist/prompts/subagents/explorer.md +42 -0
- package/dist/prompts/subagents/mentor.md +16 -0
- package/dist/prompts/subagents/researcher.md +40 -0
- package/dist/prompts/subagents/worker.md +41 -0
- package/dist/providers/ai-sdk-agents-adapter.d.ts +7 -0
- package/dist/providers/ai-sdk-agents-adapter.d.ts.map +1 -0
- package/dist/providers/ai-sdk-agents-adapter.js +80 -0
- package/dist/providers/ai-sdk-agents-adapter.js.map +1 -0
- package/dist/providers/ai-sdk-agents-adapter.test.d.ts +2 -0
- package/dist/providers/ai-sdk-agents-adapter.test.d.ts.map +1 -0
- package/dist/providers/ai-sdk-agents-adapter.test.js +158 -0
- package/dist/providers/ai-sdk-agents-adapter.test.js.map +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts +14 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.js +18 -0
- package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -0
- package/dist/providers/ai-sdk-google.provider.d.ts +14 -0
- package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -0
- package/dist/providers/ai-sdk-google.provider.js +18 -0
- package/dist/providers/ai-sdk-google.provider.js.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts +11 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.js +127 -0
- package/dist/providers/ai-sdk-logging-fetch.js.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.test.d.ts +2 -0
- package/dist/providers/ai-sdk-logging-fetch.test.d.ts.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.test.js +107 -0
- package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -0
- package/dist/providers/ai-sdk-message-normalizer.d.ts +2 -2
- package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.js +92 -47
- package/dist/providers/ai-sdk-message-normalizer.js.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.test.js +256 -16
- package/dist/providers/ai-sdk-message-normalizer.test.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +4 -0
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.js +10 -6
- package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js +144 -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/ai-sdk-openrouter.provider.d.ts +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.js +2 -3
- package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.test.js +23 -0
- package/dist/providers/ai-sdk-openrouter.provider.test.js.map +1 -1
- package/dist/providers/common/openai-compatible-messages.d.ts +1 -2
- package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
- package/dist/providers/common/openai-compatible-messages.js +47 -48
- package/dist/providers/common/openai-compatible-messages.js.map +1 -1
- package/dist/providers/common/openai-compatible-messages.test.js +134 -1
- package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
- package/dist/providers/custom-provider-adapter.test.d.ts +2 -0
- package/dist/providers/custom-provider-adapter.test.d.ts.map +1 -0
- package/dist/providers/custom-provider-adapter.test.js +52 -0
- package/dist/providers/custom-provider-adapter.test.js.map +1 -0
- 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-behavior-gate.test.d.ts +2 -0
- package/dist/providers/openai-compatible-behavior-gate.test.d.ts.map +1 -0
- package/dist/providers/openai-compatible-behavior-gate.test.js +257 -0
- package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -0
- package/dist/providers/openai-compatible.provider.d.ts +10 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +341 -31
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-compatible.provider.test.d.ts +2 -0
- package/dist/providers/openai-compatible.provider.test.d.ts.map +1 -0
- package/dist/providers/openai-compatible.provider.test.js +462 -0
- package/dist/providers/openai-compatible.provider.test.js.map +1 -0
- package/dist/providers/openai.provider.js +2 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.js +28 -2
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/safety-checker.js +57 -0
- package/dist/scripts/eval-auto-approval/dataset.d.ts +1 -1
- package/dist/services/approval-rejection-interceptor.test.js +5 -0
- package/dist/services/approval-rejection-interceptor.test.js.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/conversation-events.d.ts +28 -1
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +11 -1
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +72 -0
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-service.test.d.ts +2 -0
- package/dist/services/conversation-service.test.d.ts.map +1 -0
- package/dist/services/conversation-service.test.js +156 -0
- package/dist/services/conversation-service.test.js.map +1 -0
- package/dist/services/conversation-session.auto-approval.test.js +52 -0
- package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +2 -1
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +94 -31
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/file-service.js +1 -1
- package/dist/services/file-service.js.map +1 -1
- package/dist/services/interruption-info.js +1 -1
- package/dist/services/interruption-info.js.map +1 -1
- package/dist/services/interruption-info.test.js +12 -0
- package/dist/services/interruption-info.test.js.map +1 -1
- package/dist/services/logging-contract.d.ts +3 -3
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +18 -1
- 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 +16 -8
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/model-service.test.js +67 -1
- package/dist/services/model-service.test.js.map +1 -1
- package/dist/services/rtk-service.d.ts +23 -0
- package/dist/services/rtk-service.d.ts.map +1 -0
- package/dist/services/rtk-service.js +260 -0
- package/dist/services/rtk-service.js.map +1 -0
- package/dist/services/rtk-service.test.d.ts +2 -0
- package/dist/services/rtk-service.test.d.ts.map +1 -0
- package/dist/services/rtk-service.test.js +274 -0
- package/dist/services/rtk-service.test.js.map +1 -0
- package/dist/services/settings-persistence.d.ts +1 -0
- package/dist/services/settings-persistence.d.ts.map +1 -1
- package/dist/services/settings-persistence.js +28 -5
- package/dist/services/settings-persistence.js.map +1 -1
- package/dist/services/settings-persistence.test.js +55 -3
- package/dist/services/settings-persistence.test.js.map +1 -1
- package/dist/services/settings-schema.d.ts +55 -16
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +35 -4
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-schema.test.d.ts +2 -0
- package/dist/services/settings-schema.test.d.ts.map +1 -0
- package/dist/services/settings-schema.test.js +77 -0
- package/dist/services/settings-schema.test.js.map +1 -0
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +7 -4
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-sources.d.ts.map +1 -1
- package/dist/services/settings-sources.js +1 -0
- package/dist/services/settings-sources.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.js +8 -2
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +27 -14
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-event-processor.test.js +32 -0
- package/dist/services/stream-event-processor.test.js.map +1 -1
- package/dist/services/subagents/subagent-manager.d.ts +16 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -0
- package/dist/services/subagents/subagent-manager.js +530 -0
- package/dist/services/subagents/subagent-manager.js.map +1 -0
- package/dist/services/subagents/subagent-manager.test.d.ts +2 -0
- package/dist/services/subagents/subagent-manager.test.d.ts.map +1 -0
- package/dist/services/subagents/subagent-manager.test.js +690 -0
- package/dist/services/subagents/subagent-manager.test.js.map +1 -0
- package/dist/services/subagents/subagent-session.d.ts +26 -0
- package/dist/services/subagents/subagent-session.d.ts.map +1 -0
- package/dist/services/subagents/subagent-session.js +86 -0
- package/dist/services/subagents/subagent-session.js.map +1 -0
- package/dist/services/subagents/subagent-session.test.d.ts +2 -0
- package/dist/services/subagents/subagent-session.test.d.ts.map +1 -0
- package/dist/services/subagents/subagent-session.test.js +118 -0
- package/dist/services/subagents/subagent-session.test.js.map +1 -0
- package/dist/services/subagents/types.d.ts +35 -0
- package/dist/services/subagents/types.d.ts.map +1 -0
- package/dist/services/subagents/types.js +2 -0
- package/dist/services/subagents/types.js.map +1 -0
- package/dist/services/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.js +30 -2
- package/dist/services/terminal-result-collector.js.map +1 -1
- package/dist/services/terminal-result-collector.test.js +103 -0
- package/dist/services/terminal-result-collector.test.js.map +1 -1
- package/dist/tools/apply-patch.d.ts +14 -6
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +204 -208
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +44 -0
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/ask-mentor.d.ts +2 -2
- package/dist/tools/ask-mentor.d.ts.map +1 -1
- package/dist/tools/ask-mentor.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/code-context.d.ts +27 -0
- package/dist/tools/code-context.d.ts.map +1 -0
- package/dist/tools/code-context.js +512 -0
- package/dist/tools/code-context.js.map +1 -0
- package/dist/tools/code-context.test.d.ts +2 -0
- package/dist/tools/code-context.test.d.ts.map +1 -0
- package/dist/tools/code-context.test.js +367 -0
- package/dist/tools/code-context.test.js.map +1 -0
- package/dist/tools/command-message-formatters.d.ts +5 -0
- package/dist/tools/command-message-formatters.d.ts.map +1 -0
- package/dist/tools/command-message-formatters.js +13 -0
- package/dist/tools/command-message-formatters.js.map +1 -0
- package/dist/tools/command-message-formatters.test.d.ts +2 -0
- package/dist/tools/command-message-formatters.test.d.ts.map +1 -0
- package/dist/tools/command-message-formatters.test.js +23 -0
- package/dist/tools/command-message-formatters.test.js.map +1 -0
- package/dist/tools/create-file.d.ts +2 -2
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +18 -11
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/create-file.test.js +11 -0
- package/dist/tools/create-file.test.js.map +1 -1
- package/dist/tools/edit-healing.d.ts +4 -3
- package/dist/tools/edit-healing.d.ts.map +1 -1
- package/dist/tools/edit-healing.js +50 -20
- package/dist/tools/edit-healing.js.map +1 -1
- package/dist/tools/edit-healing.test.js +62 -0
- package/dist/tools/edit-healing.test.js.map +1 -1
- package/dist/tools/file-locks.d.ts +3 -0
- package/dist/tools/file-locks.d.ts.map +1 -0
- package/dist/tools/file-locks.js +37 -0
- package/dist/tools/file-locks.js.map +1 -0
- package/dist/tools/find-files.d.ts +3 -2
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +59 -139
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/find-files.test.js +6 -12
- package/dist/tools/find-files.test.js.map +1 -1
- package/dist/tools/grep.d.ts +3 -2
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +10 -46
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/grep.test.d.ts +2 -0
- package/dist/tools/grep.test.d.ts.map +1 -0
- package/dist/tools/language-providers.d.ts +48 -0
- package/dist/tools/language-providers.d.ts.map +1 -0
- package/dist/tools/language-providers.js +244 -0
- package/dist/tools/language-providers.js.map +1 -0
- package/dist/tools/read-file.d.ts +2 -2
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-file.test.js +2 -3
- package/dist/tools/read-file.test.js.map +1 -1
- package/dist/tools/run-subagent.d.ts +14 -0
- package/dist/tools/run-subagent.d.ts.map +1 -0
- package/dist/tools/run-subagent.js +196 -0
- package/dist/tools/run-subagent.js.map +1 -0
- package/dist/tools/run-subagent.test.d.ts +2 -0
- package/dist/tools/run-subagent.test.d.ts.map +1 -0
- package/dist/tools/run-subagent.test.js +159 -0
- package/dist/tools/run-subagent.test.js.map +1 -0
- package/dist/tools/search-replace.d.ts +7 -4
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +248 -110
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/search-replace.test.js +189 -1
- package/dist/tools/search-replace.test.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +5 -15
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/shell.d.ts +4 -2
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +15 -7
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/shell.test.js +154 -0
- package/dist/tools/shell.test.js.map +1 -1
- package/dist/tools/tool-names.d.ts +3 -0
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +3 -0
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/tool-names.test.js +4 -1
- package/dist/tools/tool-names.test.js.map +1 -1
- package/dist/tools/tool-parameter-schema.test.js +18 -0
- package/dist/tools/tool-parameter-schema.test.js.map +1 -1
- package/dist/tools/types.d.ts +2 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +11 -1
- package/dist/tools/utils.js.map +1 -1
- package/dist/tools/utils.test.js +13 -0
- package/dist/tools/utils.test.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +2 -2
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/web-search.d.ts +2 -2
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js.map +1 -1
- package/dist/utils/clipboard.d.ts +2 -2
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +58 -22
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/clipboard.test.js +25 -6
- package/dist/utils/clipboard.test.js.map +1 -1
- package/dist/utils/command-safety/constants.d.ts.map +1 -1
- package/dist/utils/command-safety/constants.js +30 -5
- package/dist/utils/command-safety/constants.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 +10 -7
- package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
- package/dist/utils/command-safety/index.d.ts.map +1 -1
- package/dist/utils/command-safety/index.js +153 -114
- 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 +14 -2
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/command-safety/utils.js +2 -2
- package/dist/utils/command-safety/utils.js.map +1 -1
- 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.find.test.js +1 -1
- package/dist/utils/command-safety.find.test.js.map +1 -1
- package/dist/utils/command-safety.js +348 -0
- package/dist/utils/command-safety.js.map +1 -0
- package/dist/utils/command-safety.path.test.js +29 -1
- package/dist/utils/command-safety.path.test.js.map +1 -1
- package/dist/utils/command-safety.specialized-handlers.test.d.ts +2 -0
- package/dist/utils/command-safety.specialized-handlers.test.d.ts.map +1 -0
- package/dist/utils/command-safety.specialized-handlers.test.js +20 -0
- package/dist/utils/command-safety.specialized-handlers.test.js.map +1 -0
- package/dist/utils/conversation-event-handler.d.ts +23 -6
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +262 -46
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +576 -14
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/conversation-utils.d.ts +3 -0
- package/dist/utils/conversation-utils.d.ts.map +1 -1
- package/dist/utils/conversation-utils.js +3 -0
- package/dist/utils/conversation-utils.js.map +1 -1
- package/dist/utils/execute-shell.d.ts +5 -6
- package/dist/utils/execute-shell.d.ts.map +1 -1
- package/dist/utils/execute-shell.js +21 -11
- package/dist/utils/execute-shell.js.map +1 -1
- package/dist/utils/execute-shell.test.js +37 -6
- 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 +2 -18
- package/dist/utils/extract-command-messages.js.map +1 -1
- package/dist/utils/extract-command-messages.test.d.ts +2 -0
- package/dist/utils/extract-command-messages.test.d.ts.map +1 -0
- package/dist/utils/flex-service-tier.d.ts +2 -0
- package/dist/utils/flex-service-tier.d.ts.map +1 -0
- package/dist/utils/flex-service-tier.js +20 -0
- package/dist/utils/flex-service-tier.js.map +1 -0
- package/dist/utils/flex-service-tier.test.d.ts +2 -0
- package/dist/utils/flex-service-tier.test.d.ts.map +1 -0
- package/dist/utils/flex-service-tier.test.js +25 -0
- package/dist/utils/flex-service-tier.test.js.map +1 -0
- package/dist/utils/log-truncation.d.ts +4 -2
- package/dist/utils/log-truncation.d.ts.map +1 -1
- package/dist/utils/log-truncation.js +143 -41
- package/dist/utils/log-truncation.js.map +1 -1
- package/dist/utils/log-truncation.test.js +131 -1
- package/dist/utils/log-truncation.test.js.map +1 -1
- package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
- package/dist/utils/provider-traffic-extractor.js +0 -1
- package/dist/utils/provider-traffic-extractor.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/streaming-session-factory.d.ts +1 -3
- package/dist/utils/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming-session-factory.js +45 -11
- package/dist/utils/streaming-session-factory.js.map +1 -1
- package/dist/utils/streaming-session-factory.test.js +89 -15
- package/dist/utils/streaming-session-factory.test.js.map +1 -1
- package/dist/utils/subsequence-filter.d.ts +8 -0
- package/dist/utils/subsequence-filter.d.ts.map +1 -0
- package/dist/utils/subsequence-filter.js +47 -0
- package/dist/utils/subsequence-filter.js.map +1 -0
- package/dist/utils/token-usage.d.ts +26 -1
- package/dist/utils/token-usage.d.ts.map +1 -1
- package/dist/utils/token-usage.js +210 -28
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/utils/token-usage.test.js +196 -3
- package/dist/utils/token-usage.test.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import * as fs from 'fs/promises';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { execFile } from 'child_process';
|
|
5
|
+
import util from 'util';
|
|
6
|
+
import { resolveWorkspacePath, relaxedNumber } from './utils.js';
|
|
7
|
+
import { createBaseMessage, getCallIdFromItem, getOutputText, normalizeToolArguments } from './format-helpers.js';
|
|
8
|
+
import { TS_EXTENSIONS, JS_EXTENSIONS, CODE_EXTENSIONS, escapeRegExp, normalizeRelativePath, isLocalSpecifier, fileExists, getProvider, providers, } from './language-providers.js';
|
|
9
|
+
const execFilePromise = util.promisify(execFile);
|
|
10
|
+
const readCodeOutlineParametersSchema = z.object({
|
|
11
|
+
path: z.string().describe('File path relative to workspace root'),
|
|
12
|
+
});
|
|
13
|
+
const codeContextSearchParametersSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
query_type: z.enum(['related', 'symbol']).describe('Search mode: related files by path or declarations by symbol.'),
|
|
16
|
+
path: z.string().optional().describe('Target file path. Required when query_type is related.'),
|
|
17
|
+
symbol: z.string().optional().describe('Identifier to search for. Required when query_type is symbol.'),
|
|
18
|
+
max_results: relaxedNumber.int().positive().optional().describe('Maximum number of results. Defaults to 20.'),
|
|
19
|
+
})
|
|
20
|
+
.superRefine((value, context) => {
|
|
21
|
+
if (value.query_type === 'related' && !value.path) {
|
|
22
|
+
context.addIssue({
|
|
23
|
+
code: 'custom',
|
|
24
|
+
path: ['path'],
|
|
25
|
+
message: 'path is required when query_type is related',
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (value.query_type === 'symbol' && !value.symbol) {
|
|
29
|
+
context.addIssue({
|
|
30
|
+
code: 'custom',
|
|
31
|
+
path: ['symbol'],
|
|
32
|
+
message: 'symbol is required when query_type is symbol',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const IMPORTER_EXTENSIONS = [...TS_EXTENSIONS, ...JS_EXTENSIONS];
|
|
37
|
+
const SKIP_DIRS = ['.git', 'node_modules', 'dist', 'build', 'coverage', '.next', '.nuxt', '.cache', 'out', 'vendor'];
|
|
38
|
+
const MAX_TARGET_BYTES = 512 * 1024;
|
|
39
|
+
const MAX_FILES_SEARCHED = 10_000;
|
|
40
|
+
const DEFAULT_MAX_RESULTS = 20;
|
|
41
|
+
const RELATED_RANK = [
|
|
42
|
+
'likely_test',
|
|
43
|
+
'likely_source_for_test',
|
|
44
|
+
'imports_target',
|
|
45
|
+
'imported_by_target',
|
|
46
|
+
'barrel_export',
|
|
47
|
+
'package_entry',
|
|
48
|
+
'config_reference',
|
|
49
|
+
'same_directory',
|
|
50
|
+
];
|
|
51
|
+
const RELATION_DISPLAY_ORDER = [
|
|
52
|
+
'likely_test',
|
|
53
|
+
'likely_source_for_test',
|
|
54
|
+
'imports_target',
|
|
55
|
+
'barrel_export',
|
|
56
|
+
'imported_by_target',
|
|
57
|
+
'package_entry',
|
|
58
|
+
'config_reference',
|
|
59
|
+
'same_directory',
|
|
60
|
+
];
|
|
61
|
+
export const createReadCodeOutlineToolDefinition = (deps = {}) => {
|
|
62
|
+
const { executionContext } = deps;
|
|
63
|
+
return {
|
|
64
|
+
name: 'read_code_outline',
|
|
65
|
+
description: 'Compact outline of one file: imports, exports, declarations. No bodies.',
|
|
66
|
+
parameters: readCodeOutlineParametersSchema,
|
|
67
|
+
needsApproval: () => false,
|
|
68
|
+
execute: async ({ path: filePath }) => {
|
|
69
|
+
const cwd = executionContext?.getCwd() || process.cwd();
|
|
70
|
+
try {
|
|
71
|
+
const absolutePath = resolveWorkspacePath(filePath, cwd);
|
|
72
|
+
const stat = await fs.stat(absolutePath);
|
|
73
|
+
if (stat.size > MAX_TARGET_BYTES) {
|
|
74
|
+
return `WARNING target_too_large\n${formatEmptyOutline(filePath, 'unknown')}`;
|
|
75
|
+
}
|
|
76
|
+
const source = await fs.readFile(absolutePath, 'utf8');
|
|
77
|
+
const provider = getProvider(filePath);
|
|
78
|
+
if (!provider?.extractOutline) {
|
|
79
|
+
return formatEmptyOutline(filePath, provider?.language ?? 'unknown');
|
|
80
|
+
}
|
|
81
|
+
return formatOutline(filePath, provider.language, provider.extractOutline(source));
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
return formatFileError(error, filePath);
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
formatCommandMessage: formatReadCodeOutlineCommandMessage,
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
export const createCodeContextSearchToolDefinition = (deps = {}) => {
|
|
91
|
+
const { executionContext } = deps;
|
|
92
|
+
return {
|
|
93
|
+
name: 'code_context_search',
|
|
94
|
+
description: 'Bounded just-in-time search for related files (by path) or symbol declarations (by name). Plain text, fixed relation tokens.',
|
|
95
|
+
parameters: codeContextSearchParametersSchema,
|
|
96
|
+
needsApproval: () => false,
|
|
97
|
+
execute: async (params) => {
|
|
98
|
+
const cwd = executionContext?.getCwd() || process.cwd();
|
|
99
|
+
const maxResults = params.max_results ?? DEFAULT_MAX_RESULTS;
|
|
100
|
+
try {
|
|
101
|
+
if (!(await isRipgrepAvailable())) {
|
|
102
|
+
return params.query_type === 'related'
|
|
103
|
+
? `WARNING rg_unavailable\n${formatRelatedResults(params.path ?? '', [])}`
|
|
104
|
+
: `WARNING rg_unavailable\n${formatSymbolResults(params.symbol ?? '', [])}`;
|
|
105
|
+
}
|
|
106
|
+
if (params.query_type === 'related') {
|
|
107
|
+
const targetPath = params.path;
|
|
108
|
+
const absolutePath = resolveWorkspacePath(targetPath, cwd);
|
|
109
|
+
await assertReadableTarget(absolutePath);
|
|
110
|
+
const provider = getProvider(targetPath);
|
|
111
|
+
if (!provider?.extractOutline) {
|
|
112
|
+
return `WARNING unsupported_language\n${formatRelatedResults(targetPath, [])}`;
|
|
113
|
+
}
|
|
114
|
+
const { results, truncated, partial } = await findRelatedFiles({
|
|
115
|
+
root: cwd,
|
|
116
|
+
targetPath,
|
|
117
|
+
absolutePath,
|
|
118
|
+
maxResults,
|
|
119
|
+
});
|
|
120
|
+
return withWarnings(formatRelatedResults(targetPath, results), partial ? ['partial_search'] : [], truncated ? ['result_limit_reached'] : []);
|
|
121
|
+
}
|
|
122
|
+
const symbol = params.symbol;
|
|
123
|
+
if (!isSafeIdentifier(symbol)) {
|
|
124
|
+
return 'Error: symbol must be an identifier-safe name.';
|
|
125
|
+
}
|
|
126
|
+
const { matches, truncated, partial } = await findSymbolDeclarations({ root: cwd, symbol, maxResults });
|
|
127
|
+
return withWarnings(formatSymbolResults(symbol, matches), partial ? ['partial_search'] : [], truncated ? ['result_limit_reached'] : []);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
return formatSearchError(error);
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
formatCommandMessage: formatCodeContextSearchCommandMessage,
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
export const formatReadCodeOutlineCommandMessage = (item, index, toolCallArgumentsById) => {
|
|
137
|
+
const args = getFormatterArgs(item, toolCallArgumentsById);
|
|
138
|
+
const filePath = args?.path ?? 'unknown';
|
|
139
|
+
const output = getOutputText(item) || 'No output';
|
|
140
|
+
return [
|
|
141
|
+
createBaseMessage(item, index, 0, false, {
|
|
142
|
+
command: `read_code_outline "${filePath}"`,
|
|
143
|
+
output,
|
|
144
|
+
success: !output.startsWith('Error:'),
|
|
145
|
+
toolName: 'read_code_outline',
|
|
146
|
+
toolArgs: args,
|
|
147
|
+
}),
|
|
148
|
+
];
|
|
149
|
+
};
|
|
150
|
+
export const formatCodeContextSearchCommandMessage = (item, index, toolCallArgumentsById) => {
|
|
151
|
+
const args = getFormatterArgs(item, toolCallArgumentsById);
|
|
152
|
+
const output = getOutputText(item) || 'No output';
|
|
153
|
+
const command = args?.query_type === 'symbol'
|
|
154
|
+
? `code_context_search symbol "${args?.symbol ?? 'unknown'}"`
|
|
155
|
+
: `code_context_search related "${args?.path ?? 'unknown'}"`;
|
|
156
|
+
return [
|
|
157
|
+
createBaseMessage(item, index, 0, false, {
|
|
158
|
+
command,
|
|
159
|
+
output,
|
|
160
|
+
success: !output.startsWith('Error:'),
|
|
161
|
+
toolName: 'code_context_search',
|
|
162
|
+
toolArgs: args,
|
|
163
|
+
}),
|
|
164
|
+
];
|
|
165
|
+
};
|
|
166
|
+
function getFormatterArgs(item, toolCallArgumentsById) {
|
|
167
|
+
const callId = getCallIdFromItem(item);
|
|
168
|
+
const fallbackArgs = callId && toolCallArgumentsById.has(callId) ? toolCallArgumentsById.get(callId) : null;
|
|
169
|
+
const normalizedArgs = item?.rawItem?.arguments ?? item?.arguments;
|
|
170
|
+
return normalizeToolArguments(normalizedArgs) ?? normalizeToolArguments(fallbackArgs) ?? {};
|
|
171
|
+
}
|
|
172
|
+
function formatOutline(filePath, language, outline) {
|
|
173
|
+
return [
|
|
174
|
+
`FILE ${normalizeRelativePath(filePath)}`,
|
|
175
|
+
`LANG ${language}`,
|
|
176
|
+
'',
|
|
177
|
+
'IMPORTS',
|
|
178
|
+
formatImports(outline.imports),
|
|
179
|
+
'',
|
|
180
|
+
'EXPORTS',
|
|
181
|
+
formatExports(outline.exports),
|
|
182
|
+
'',
|
|
183
|
+
'DECLARATIONS',
|
|
184
|
+
formatDeclarations(outline.decls),
|
|
185
|
+
].join('\n');
|
|
186
|
+
}
|
|
187
|
+
function formatEmptyOutline(filePath, language) {
|
|
188
|
+
return formatOutline(filePath, language, { imports: [], exports: [], decls: [] });
|
|
189
|
+
}
|
|
190
|
+
function formatImports(imports) {
|
|
191
|
+
if (imports.length === 0)
|
|
192
|
+
return 'EMPTY';
|
|
193
|
+
return imports
|
|
194
|
+
.map((entry) => `${entry.specifier}: ${entry.names.join(' ') || 'side-effect'} line=${entry.line}`)
|
|
195
|
+
.join('\n');
|
|
196
|
+
}
|
|
197
|
+
function formatExports(exports) {
|
|
198
|
+
if (exports.length === 0)
|
|
199
|
+
return 'EMPTY';
|
|
200
|
+
return exports
|
|
201
|
+
.map((entry) => {
|
|
202
|
+
if (entry.source) {
|
|
203
|
+
return `${entry.source}: ${entry.name} line=${entry.line}`;
|
|
204
|
+
}
|
|
205
|
+
return `export ${entry.kind ?? 'unknown'} ${entry.name} line=${entry.line}`;
|
|
206
|
+
})
|
|
207
|
+
.join('\n');
|
|
208
|
+
}
|
|
209
|
+
function formatDeclarations(decls) {
|
|
210
|
+
if (decls.length === 0)
|
|
211
|
+
return 'EMPTY';
|
|
212
|
+
return decls
|
|
213
|
+
.map((decl) => `${decl.kind} ${decl.name} line=${decl.line}${decl.exported ? ' exported' : ''}`)
|
|
214
|
+
.join('\n');
|
|
215
|
+
}
|
|
216
|
+
async function assertReadableTarget(absolutePath) {
|
|
217
|
+
const stat = await fs.stat(absolutePath);
|
|
218
|
+
if (stat.size > MAX_TARGET_BYTES) {
|
|
219
|
+
throw new Error('target_too_large');
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
async function findRelatedFiles(options) {
|
|
223
|
+
const targetPath = normalizeRelativePath(path.relative(options.root, options.absolutePath));
|
|
224
|
+
const targetProvider = getProvider(targetPath);
|
|
225
|
+
const relations = new Map();
|
|
226
|
+
if (!targetProvider?.extractOutline) {
|
|
227
|
+
return { results: [], truncated: false, partial: false };
|
|
228
|
+
}
|
|
229
|
+
const targetSource = await fs.readFile(options.absolutePath, 'utf8');
|
|
230
|
+
const targetOutline = targetProvider.extractOutline(targetSource);
|
|
231
|
+
const targetIsTest = isTestFile(targetPath);
|
|
232
|
+
for (const importEntry of targetOutline.imports.filter((entry) => isLocalSpecifier(entry.specifier))) {
|
|
233
|
+
const resolved = await targetProvider.resolveImport?.(importEntry.specifier, targetPath, options.root);
|
|
234
|
+
if (resolved) {
|
|
235
|
+
addRelation(relations, resolved, 'imports_target');
|
|
236
|
+
if (targetIsTest) {
|
|
237
|
+
addRelation(relations, resolved, 'likely_source_for_test');
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
for (const patternPath of targetProvider.testPatterns?.(targetPath).forSource ?? []) {
|
|
242
|
+
if (await fileExists(path.join(options.root, patternPath))) {
|
|
243
|
+
addRelation(relations, patternPath, 'likely_test');
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// ripgrep narrows the candidate set; per-file import resolution confirms the
|
|
247
|
+
// relation so a same-named sibling module cannot produce a false positive.
|
|
248
|
+
const searchToken = path.basename(targetPath, path.extname(targetPath)) === 'index'
|
|
249
|
+
? path.basename(path.dirname(targetPath))
|
|
250
|
+
: path.basename(targetPath, path.extname(targetPath));
|
|
251
|
+
const candidatePattern = `(from|require\\(|import\\()[ \\t]*['"][^'"]*${escapeRegExp(searchToken)}`;
|
|
252
|
+
const { stdout: candidateOut, ok } = await runRipgrep([
|
|
253
|
+
'-l',
|
|
254
|
+
'--max-filesize',
|
|
255
|
+
String(MAX_TARGET_BYTES),
|
|
256
|
+
...skipGlobArgs(),
|
|
257
|
+
...IMPORTER_EXTENSIONS.flatMap((ext) => ['-g', `*${ext}`]),
|
|
258
|
+
'-e',
|
|
259
|
+
candidatePattern,
|
|
260
|
+
'.',
|
|
261
|
+
], options.root);
|
|
262
|
+
const candidates = ok
|
|
263
|
+
? candidateOut
|
|
264
|
+
.split('\n')
|
|
265
|
+
.map((entry) => normalizeRelativePath(entry.trim()))
|
|
266
|
+
.filter((entry) => entry && entry !== targetPath)
|
|
267
|
+
: [];
|
|
268
|
+
const partial = candidates.length > MAX_FILES_SEARCHED;
|
|
269
|
+
for (const candidate of candidates.slice(0, MAX_FILES_SEARCHED)) {
|
|
270
|
+
const candidateProvider = getProvider(candidate);
|
|
271
|
+
if (!candidateProvider?.extractOutline)
|
|
272
|
+
continue;
|
|
273
|
+
const source = await readSmallTextFile(path.join(options.root, candidate));
|
|
274
|
+
if (source === null)
|
|
275
|
+
continue;
|
|
276
|
+
const outline = candidateProvider.extractOutline(source);
|
|
277
|
+
let importsTarget = false;
|
|
278
|
+
let reExportsTarget = false;
|
|
279
|
+
for (const entry of outline.imports.filter((item) => isLocalSpecifier(item.specifier))) {
|
|
280
|
+
const resolved = await candidateProvider.resolveImport?.(entry.specifier, candidate, options.root);
|
|
281
|
+
if (resolved === targetPath)
|
|
282
|
+
importsTarget = true;
|
|
283
|
+
}
|
|
284
|
+
for (const entry of outline.exports.filter((item) => item.source && isLocalSpecifier(item.source))) {
|
|
285
|
+
const resolved = await candidateProvider.resolveImport?.(entry.source, candidate, options.root);
|
|
286
|
+
if (resolved === targetPath)
|
|
287
|
+
reExportsTarget = true;
|
|
288
|
+
}
|
|
289
|
+
if (importsTarget || reExportsTarget) {
|
|
290
|
+
addRelation(relations, candidate, 'imported_by_target');
|
|
291
|
+
if (reExportsTarget && isBarrelExportOnly(source)) {
|
|
292
|
+
addRelation(relations, candidate, 'barrel_export');
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
for (const sibling of await listSameDirectoryFiles(options.root, targetPath)) {
|
|
297
|
+
addRelation(relations, sibling, 'same_directory');
|
|
298
|
+
}
|
|
299
|
+
const ranked = [...relations.entries()]
|
|
300
|
+
.map(([filePath, tokens]) => ({ filePath, tokens: [...tokens].sort(sortRelationTokens) }))
|
|
301
|
+
.sort((a, b) => {
|
|
302
|
+
const rank = rankRelation(a.tokens) - rankRelation(b.tokens);
|
|
303
|
+
return rank === 0 ? a.filePath.localeCompare(b.filePath) : rank;
|
|
304
|
+
});
|
|
305
|
+
return {
|
|
306
|
+
results: ranked.slice(0, options.maxResults),
|
|
307
|
+
truncated: ranked.length > options.maxResults,
|
|
308
|
+
partial,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
async function findSymbolDeclarations(options) {
|
|
312
|
+
const byFile = new Map();
|
|
313
|
+
let partial = false;
|
|
314
|
+
for (const provider of providers) {
|
|
315
|
+
const patterns = provider.declarationPatterns(options.symbol);
|
|
316
|
+
const { stdout, ok } = await runRipgrep([
|
|
317
|
+
'--no-heading',
|
|
318
|
+
'--line-number',
|
|
319
|
+
'--color=never',
|
|
320
|
+
'--max-filesize',
|
|
321
|
+
String(MAX_TARGET_BYTES),
|
|
322
|
+
...skipGlobArgs(),
|
|
323
|
+
...provider.extensions.flatMap((ext) => ['-g', `*${ext}`]),
|
|
324
|
+
...patterns.flatMap((pattern) => ['-e', pattern]),
|
|
325
|
+
'.',
|
|
326
|
+
], options.root);
|
|
327
|
+
if (!ok)
|
|
328
|
+
continue;
|
|
329
|
+
const lines = stdout.split('\n').filter(Boolean);
|
|
330
|
+
if (lines.length > MAX_FILES_SEARCHED)
|
|
331
|
+
partial = true;
|
|
332
|
+
for (const rawLine of lines.slice(0, MAX_FILES_SEARCHED)) {
|
|
333
|
+
const parsed = parseRipgrepLine(rawLine);
|
|
334
|
+
if (!parsed)
|
|
335
|
+
continue;
|
|
336
|
+
if (byFile.has(parsed.filePath))
|
|
337
|
+
continue;
|
|
338
|
+
const classified = provider.classifyMatch(parsed.content, options.symbol);
|
|
339
|
+
byFile.set(parsed.filePath, {
|
|
340
|
+
filePath: parsed.filePath,
|
|
341
|
+
name: options.symbol,
|
|
342
|
+
kind: classified.kind,
|
|
343
|
+
line: parsed.line,
|
|
344
|
+
exported: classified.exported,
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
const sorted = [...byFile.values()].sort((a, b) => rankSymbolMatch(a, options.symbol) - rankSymbolMatch(b, options.symbol) || a.filePath.localeCompare(b.filePath));
|
|
349
|
+
return {
|
|
350
|
+
matches: sorted.slice(0, options.maxResults),
|
|
351
|
+
truncated: sorted.length > options.maxResults,
|
|
352
|
+
partial,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
function parseRipgrepLine(rawLine) {
|
|
356
|
+
const match = rawLine.match(/^(.*?):(\d+):(.*)$/);
|
|
357
|
+
if (!match)
|
|
358
|
+
return null;
|
|
359
|
+
return {
|
|
360
|
+
filePath: normalizeRelativePath(match[1]),
|
|
361
|
+
line: Number(match[2]),
|
|
362
|
+
content: match[3],
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
function withWarnings(body, ...warningGroups) {
|
|
366
|
+
const warnings = warningGroups.flat();
|
|
367
|
+
if (warnings.length === 0)
|
|
368
|
+
return body;
|
|
369
|
+
return `${warnings.map((code) => `WARNING ${code}`).join('\n')}\n${body}`;
|
|
370
|
+
}
|
|
371
|
+
function formatRelatedResults(targetPath, results) {
|
|
372
|
+
const header = [`QUERY related`, `TARGET ${normalizeRelativePath(targetPath)}`].join('\n');
|
|
373
|
+
if (results.length === 0) {
|
|
374
|
+
return `${header}\n\nNO_RESULTS`;
|
|
375
|
+
}
|
|
376
|
+
return `${header}\n\n${results.map((result) => `${result.filePath}\nREL ${result.tokens.join(' ')}`).join('\n\n')}`;
|
|
377
|
+
}
|
|
378
|
+
function formatSymbolResults(symbol, results) {
|
|
379
|
+
const header = [`QUERY symbol`, `SYMBOL ${symbol}`].join('\n');
|
|
380
|
+
if (results.length === 0) {
|
|
381
|
+
return `${header}\n\nNO_RESULTS`;
|
|
382
|
+
}
|
|
383
|
+
return `${header}\n\n${results
|
|
384
|
+
.map((match) => `${match.filePath}:${match.line} ${match.kind} ${match.name}${match.exported ? ' exported' : ''}`)
|
|
385
|
+
.join('\n')}`;
|
|
386
|
+
}
|
|
387
|
+
let ripgrepAvailable = null;
|
|
388
|
+
async function isRipgrepAvailable() {
|
|
389
|
+
if (ripgrepAvailable !== null)
|
|
390
|
+
return ripgrepAvailable;
|
|
391
|
+
try {
|
|
392
|
+
await execFilePromise('rg', ['--version']);
|
|
393
|
+
ripgrepAvailable = true;
|
|
394
|
+
}
|
|
395
|
+
catch {
|
|
396
|
+
ripgrepAvailable = false;
|
|
397
|
+
}
|
|
398
|
+
return ripgrepAvailable;
|
|
399
|
+
}
|
|
400
|
+
function skipGlobArgs() {
|
|
401
|
+
return SKIP_DIRS.flatMap((dir) => ['-g', `!**/${dir}/**`]);
|
|
402
|
+
}
|
|
403
|
+
async function runRipgrep(args, cwd) {
|
|
404
|
+
try {
|
|
405
|
+
const { stdout } = await execFilePromise('rg', args, {
|
|
406
|
+
cwd,
|
|
407
|
+
maxBuffer: 10 * 1024 * 1024,
|
|
408
|
+
});
|
|
409
|
+
return { stdout, ok: true };
|
|
410
|
+
}
|
|
411
|
+
catch (error) {
|
|
412
|
+
// rg exits 1 when there are no matches; that is a successful empty result.
|
|
413
|
+
if (error && error.code === 1) {
|
|
414
|
+
return { stdout: '', ok: true };
|
|
415
|
+
}
|
|
416
|
+
return { stdout: '', ok: false };
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
async function listSameDirectoryFiles(root, targetPath) {
|
|
420
|
+
const dir = path.dirname(targetPath);
|
|
421
|
+
const absoluteDir = path.join(root, dir);
|
|
422
|
+
const entries = await fs.readdir(absoluteDir, { withFileTypes: true }).catch(() => []);
|
|
423
|
+
return entries
|
|
424
|
+
.filter((entry) => entry.isFile())
|
|
425
|
+
.map((entry) => normalizeRelativePath(path.join(dir, entry.name)))
|
|
426
|
+
.filter((filePath) => filePath !== targetPath && [...CODE_EXTENSIONS, '.py', '.go', '.rs'].includes(path.extname(filePath)))
|
|
427
|
+
.sort()
|
|
428
|
+
.slice(0, 5);
|
|
429
|
+
}
|
|
430
|
+
async function readSmallTextFile(absolutePath) {
|
|
431
|
+
if (await isBinaryOrOversized(absolutePath))
|
|
432
|
+
return null;
|
|
433
|
+
return fs.readFile(absolutePath, 'utf8').catch(() => null);
|
|
434
|
+
}
|
|
435
|
+
async function isBinaryOrOversized(absolutePath) {
|
|
436
|
+
const stat = await fs.stat(absolutePath).catch(() => null);
|
|
437
|
+
if (!stat || stat.size > MAX_TARGET_BYTES)
|
|
438
|
+
return true;
|
|
439
|
+
const handle = await fs.open(absolutePath, 'r').catch(() => null);
|
|
440
|
+
if (!handle)
|
|
441
|
+
return true;
|
|
442
|
+
try {
|
|
443
|
+
const buffer = Buffer.alloc(Math.min(512, stat.size));
|
|
444
|
+
await handle.read(buffer, 0, buffer.length, 0);
|
|
445
|
+
return buffer.includes(0);
|
|
446
|
+
}
|
|
447
|
+
finally {
|
|
448
|
+
await handle.close();
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
function isBarrelExportOnly(source) {
|
|
452
|
+
const meaningfulLines = source
|
|
453
|
+
.split('\n')
|
|
454
|
+
.map((line) => line.trim())
|
|
455
|
+
.filter((line) => line && !line.startsWith('//'));
|
|
456
|
+
return (meaningfulLines.length > 0 &&
|
|
457
|
+
meaningfulLines.every((line) => /^export\s+(?:\*|\{[^}]*\})\s+from\s+['"][^'"]+['"];?$/.test(line)));
|
|
458
|
+
}
|
|
459
|
+
function isTestFile(filePath) {
|
|
460
|
+
return /\.(test|spec)\.[^.]+$/.test(filePath) || filePath.includes('/__tests__/') || filePath.startsWith('tests/');
|
|
461
|
+
}
|
|
462
|
+
function addRelation(relations, filePath, token) {
|
|
463
|
+
const normalized = normalizeRelativePath(filePath);
|
|
464
|
+
const current = relations.get(normalized) ?? new Set();
|
|
465
|
+
current.add(token);
|
|
466
|
+
relations.set(normalized, current);
|
|
467
|
+
}
|
|
468
|
+
function sortRelationTokens(a, b) {
|
|
469
|
+
return RELATION_DISPLAY_ORDER.indexOf(a) - RELATION_DISPLAY_ORDER.indexOf(b);
|
|
470
|
+
}
|
|
471
|
+
function rankRelation(tokens) {
|
|
472
|
+
return Math.min(...tokens.map((token) => RELATED_RANK.indexOf(token)));
|
|
473
|
+
}
|
|
474
|
+
function rankSymbolMatch(match, symbol) {
|
|
475
|
+
const exact = match.name === symbol;
|
|
476
|
+
if (exact && match.exported)
|
|
477
|
+
return 0;
|
|
478
|
+
if (exact)
|
|
479
|
+
return 1;
|
|
480
|
+
return 5;
|
|
481
|
+
}
|
|
482
|
+
function isSafeIdentifier(symbol) {
|
|
483
|
+
return /^[A-Za-z_$][\w$]*$/.test(symbol);
|
|
484
|
+
}
|
|
485
|
+
function formatFileError(error, filePath) {
|
|
486
|
+
if (error.message?.includes('outside workspace')) {
|
|
487
|
+
return `Error: ${error.message}`;
|
|
488
|
+
}
|
|
489
|
+
if (error.code === 'ENOENT') {
|
|
490
|
+
return `Error: File not found: ${filePath}`;
|
|
491
|
+
}
|
|
492
|
+
if (error.code === 'EACCES') {
|
|
493
|
+
return `Error: Permission denied: ${filePath}`;
|
|
494
|
+
}
|
|
495
|
+
if (error.code === 'EISDIR') {
|
|
496
|
+
return `Error: Path is a directory: ${filePath}`;
|
|
497
|
+
}
|
|
498
|
+
return `Error: ${error.message || String(error)}`;
|
|
499
|
+
}
|
|
500
|
+
function formatSearchError(error) {
|
|
501
|
+
if (error.message?.includes('outside workspace')) {
|
|
502
|
+
return `Error: ${error.message}`;
|
|
503
|
+
}
|
|
504
|
+
if (error.message === 'target_too_large') {
|
|
505
|
+
return 'WARNING target_too_large\nNO_RESULTS';
|
|
506
|
+
}
|
|
507
|
+
if (error.code === 'ENOENT') {
|
|
508
|
+
return 'Error: File not found';
|
|
509
|
+
}
|
|
510
|
+
return `Error: ${error.message || String(error)}`;
|
|
511
|
+
}
|
|
512
|
+
//# sourceMappingURL=code-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-context.js","sourceRoot":"","sources":["../../source/tools/code-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElH,OAAO,EAKL,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,yBAAyB,CAAC;AAEjC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAgBjD,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAClE,CAAC,CAAC;AAEH,MAAM,iCAAiC,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IACnH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IAC9F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IACvG,WAAW,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CAC9G,CAAC;KACD,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,6CAA6C;SACvD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,8CAA8C;SACxD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAKL,MAAM,mBAAmB,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC,CAAC;AACjE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrH,MAAM,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC;AACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,YAAY,GAAoB;IACpC,aAAa;IACb,wBAAwB;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,gBAAgB;CACjB,CAAC;AACF,MAAM,sBAAsB,GAAoB;IAC9C,aAAa;IACb,wBAAwB;IACxB,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,eAAe;IACf,kBAAkB;IAClB,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,OAAgD,EAAE,EACP,EAAE;IAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,yEAAyE;QACtF,UAAU,EAAE,+BAA+B;QAC3C,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;QAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAExD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACzD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,IAAI,GAAG,gBAAgB,EAAE,CAAC;oBACjC,OAAO,6BAA6B,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;gBAChF,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;oBAC9B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;gBACvE,CAAC;gBAED,OAAO,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,oBAAoB,EAAE,mCAAmC;KAC1D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG,CACnD,OAAgD,EAAE,EACL,EAAE;IAC/C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAClC,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,8HAA8H;QAChI,UAAU,EAAE,iCAAiC;QAC7C,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;QAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,mBAAmB,CAAC;YAE7D,IAAI,CAAC;gBACH,IAAI,CAAC,CAAC,MAAM,kBAAkB,EAAE,CAAC,EAAE,CAAC;oBAClC,OAAO,MAAM,CAAC,UAAU,KAAK,SAAS;wBACpC,CAAC,CAAC,2BAA2B,oBAAoB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;wBAC1E,CAAC,CAAC,2BAA2B,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBAED,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAK,CAAC;oBAChC,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;oBAC3D,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;oBACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;oBACzC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;wBAC9B,OAAO,iCAAiC,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;oBACjF,CAAC;oBACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC;wBAC7D,IAAI,EAAE,GAAG;wBACT,UAAU;wBACV,YAAY;wBACZ,UAAU;qBACX,CAAC,CAAC;oBACH,OAAO,YAAY,CACjB,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,EACzC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EACjC,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAC1C,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,gDAAgD,CAAC;gBAC1D,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAsB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBACxG,OAAO,YAAY,CACjB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EACjC,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAC1C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,oBAAoB,EAAE,qCAAqC;KAC5D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;IAC9G,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;IAElD,OAAO;QACL,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;YACvC,OAAO,EAAE,sBAAsB,QAAQ,GAAG;YAC1C,MAAM;YACN,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrC,QAAQ,EAAE,mBAAmB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;IAChH,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;IAClD,MAAM,OAAO,GACX,IAAI,EAAE,UAAU,KAAK,QAAQ;QAC3B,CAAC,CAAC,+BAA+B,IAAI,EAAE,MAAM,IAAI,SAAS,GAAG;QAC7D,CAAC,CAAC,gCAAgC,IAAI,EAAE,IAAI,IAAI,SAAS,GAAG,CAAC;IAEjE,OAAO;QACL,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;YACvC,OAAO;YACP,MAAM;YACN,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrC,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,gBAAgB,CAAC,IAAS,EAAE,qBAA2C;IAC9E,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5G,MAAM,cAAc,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,SAAS,CAAC;IACnE,OAAO,sBAAsB,CAAC,cAAc,CAAC,IAAI,sBAAsB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,QAAgB,EAAE,OAAgB;IACzE,OAAO;QACL,QAAQ,qBAAqB,CAAC,QAAQ,CAAC,EAAE;QACzC,QAAQ,QAAQ,EAAE;QAClB,EAAE;QACF,SAAS;QACT,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,EAAE;QACF,SAAS;QACT,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,EAAE;QACF,cAAc;QACd,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,QAAgB;IAC5D,OAAO,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,aAAa,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;SAClG,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,UAAU,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC/F,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,YAAoB;IACtD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,IAAI,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAK/B;IACC,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5F,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IAExD,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAE5C,KAAK,MAAM,WAAW,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACrG,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACvG,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACnD,IAAI,YAAY,EAAE,CAAC;gBACjB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACpF,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC3D,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,OAAO;QAC7D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,+CAA+C,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;IACpG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,MAAM,UAAU,CACnD;QACE,IAAI;QACJ,gBAAgB;QAChB,MAAM,CAAC,gBAAgB,CAAC;QACxB,GAAG,YAAY,EAAE;QACjB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1D,IAAI;QACJ,gBAAgB;QAChB,GAAG;KACJ,EACD,OAAO,CAAC,IAAI,CACb,CAAC;IAEF,MAAM,UAAU,GAAG,EAAE;QACnB,CAAC,CAAC,YAAY;aACT,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACnD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,KAAK,UAAU,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,kBAAkB,CAAC;IAEvD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAChE,MAAM,iBAAiB,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,EAAE,cAAc;YAAE,SAAS;QAEjD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3E,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAE9B,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACnG,IAAI,QAAQ,KAAK,UAAU;gBAAE,aAAa,GAAG,IAAI,CAAC;QACpD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACnG,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,MAAO,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,QAAQ,KAAK,UAAU;gBAAE,eAAe,GAAG,IAAI,CAAC;QACtD,CAAC;QAED,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;YACrC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;YACxD,IAAI,eAAe,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,MAAM,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QAC7E,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;SACzF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;QAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU;QAC7C,OAAO;KACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAIrC;IACC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,UAAU,CACrC;YACE,cAAc;YACd,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,MAAM,CAAC,gBAAgB,CAAC;YACxB,GAAG,YAAY,EAAE;YACjB,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1D,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,GAAG;SACJ,EACD,OAAO,CAAC,IAAI,CACb,CAAC;QACF,IAAI,CAAC,EAAE;YAAE,SAAS;QAElB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB;YAAE,OAAO,GAAG,IAAI,CAAC;QAEtD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAE1C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1E,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,OAAO,CAAC,MAAM;gBACpB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAClH,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;QAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU;QAC7C,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,GAAG,aAAyB;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAAkB,EAClB,OAA6D;IAE7D,MAAM,MAAM,GAAG,CAAC,eAAe,EAAE,UAAU,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,MAAM,gBAAgB,CAAC;IACnC,CAAC;IAED,OAAO,GAAG,MAAM,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACtH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,OAAsB;IACjE,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,MAAM,gBAAgB,CAAC;IACnC,CAAC;IAED,OAAO,GAAG,MAAM,OAAO,OAAO;SAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACjH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAClB,CAAC;AAED,IAAI,gBAAgB,GAAmB,IAAI,CAAC;AAE5C,KAAK,UAAU,kBAAkB;IAC/B,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3C,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAc,EAAE,GAAW;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE;YACnD,GAAG;YACH,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,2EAA2E;QAC3E,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,UAAkB;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACvF,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;SACjE,MAAM,CACL,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,KAAK,UAAU,IAAI,CAAC,GAAG,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CACxG;SACA,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,YAAoB;IACnD,IAAI,MAAM,mBAAmB,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,YAAoB;IACrD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,eAAe,GAAG,MAAM;SAC3B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,OAAO,CACL,eAAe,CAAC,MAAM,GAAG,CAAC;QAC1B,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uDAAuD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACpG,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,WAAW,CAAC,SAA0C,EAAE,QAAgB,EAAE,KAAoB;IACrG,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAiB,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAgB,EAAE,CAAgB;IAC5D,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB,EAAE,MAAc;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;IACpC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,KAAU,EAAE,QAAgB;IACnD,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjD,OAAO,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,0BAA0B,QAAQ,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,6BAA6B,QAAQ,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,+BAA+B,QAAQ,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,UAAU,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAU;IACnC,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjD,OAAO,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACzC,OAAO,sCAAsC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,OAAO,UAAU,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-context.test.d.ts","sourceRoot":"","sources":["../../source/tools/code-context.test.ts"],"names":[],"mappings":""}
|