@qduc/term2 0.1.8 → 0.2.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.map +1 -1
- package/dist/agent.js +5 -3
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +1 -5
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +31 -274
- package/dist/app.js.map +1 -1
- package/dist/app.parseInput.test.js +1 -9
- package/dist/app.parseInput.test.js.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/components/ApprovalPrompt.d.ts +2 -1
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +15 -0
- package/dist/components/ApprovalPrompt.js.map +1 -1
- package/dist/components/BottomArea.d.ts +1 -1
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/Input/determine-active-menu.d.ts +23 -0
- package/dist/components/Input/determine-active-menu.d.ts.map +1 -0
- package/dist/components/Input/determine-active-menu.js +57 -0
- package/dist/components/Input/determine-active-menu.js.map +1 -0
- package/dist/components/Input/input-width.d.ts +7 -0
- package/dist/components/Input/input-width.d.ts.map +1 -0
- package/dist/components/Input/input-width.js +20 -0
- package/dist/components/Input/input-width.js.map +1 -0
- package/dist/components/Input/insertions.d.ts +34 -0
- package/dist/components/Input/insertions.d.ts.map +1 -0
- package/dist/components/Input/insertions.js +52 -0
- package/dist/components/Input/insertions.js.map +1 -0
- package/dist/components/Input/popup-props.d.ts +18 -0
- package/dist/components/Input/popup-props.d.ts.map +1 -0
- package/dist/components/Input/popup-props.js +42 -0
- package/dist/components/Input/popup-props.js.map +1 -0
- package/dist/components/Input/triggers.d.ts +9 -0
- package/dist/components/Input/triggers.d.ts.map +1 -0
- package/dist/components/Input/triggers.js +25 -0
- package/dist/components/Input/triggers.js.map +1 -0
- package/dist/components/InputBox.d.ts +2 -6
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +118 -406
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.menu-logic.test.js +82 -99
- package/dist/components/InputBox.menu-logic.test.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +96 -23
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/MessageList.d.ts +8 -0
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +25 -7
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +48 -1
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/StatusBar.d.ts +1 -1
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +49 -38
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/contracts/conversation.d.ts +9 -0
- package/dist/contracts/conversation.d.ts.map +1 -1
- package/dist/hooks/message-id.d.ts +3 -0
- package/dist/hooks/message-id.d.ts.map +1 -0
- package/dist/hooks/message-id.js +17 -0
- package/dist/hooks/message-id.js.map +1 -0
- package/dist/hooks/message-id.test.d.ts +2 -0
- package/dist/hooks/message-id.test.d.ts.map +1 -0
- package/dist/hooks/message-id.test.js +17 -0
- package/dist/hooks/message-id.test.js.map +1 -0
- package/dist/hooks/use-app-commands.d.ts +20 -0
- package/dist/hooks/use-app-commands.d.ts.map +1 -0
- package/dist/hooks/use-app-commands.js +197 -0
- package/dist/hooks/use-app-commands.js.map +1 -0
- package/dist/hooks/use-app-commands.test.d.ts +2 -0
- package/dist/hooks/use-app-commands.test.d.ts.map +1 -0
- package/dist/hooks/use-app-commands.test.js +34 -0
- package/dist/hooks/use-app-commands.test.js.map +1 -0
- package/dist/hooks/use-conversation.d.ts +11 -11
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +13 -10
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-escape-key.d.ts +24 -0
- package/dist/hooks/use-escape-key.d.ts.map +1 -0
- package/dist/hooks/use-escape-key.js +60 -0
- package/dist/hooks/use-escape-key.js.map +1 -0
- package/dist/hooks/use-escape-key.test.d.ts +2 -0
- package/dist/hooks/use-escape-key.test.d.ts.map +1 -0
- package/dist/hooks/use-escape-key.test.js +49 -0
- package/dist/hooks/use-escape-key.test.js.map +1 -0
- package/dist/hooks/use-mode-handlers.d.ts +35 -0
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -0
- package/dist/hooks/use-mode-handlers.js +79 -0
- package/dist/hooks/use-mode-handlers.js.map +1 -0
- package/dist/hooks/use-model-selection.d.ts +6 -3
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +19 -16
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-model-selection.test.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.test.js +53 -22
- package/dist/hooks/use-model-selection.test.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +5 -36
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-runtime-settings.d.ts +12 -0
- package/dist/hooks/use-runtime-settings.d.ts.map +1 -0
- package/dist/hooks/use-runtime-settings.js +68 -0
- package/dist/hooks/use-runtime-settings.js.map +1 -0
- package/dist/hooks/use-selection.d.ts +8 -0
- package/dist/hooks/use-selection.d.ts.map +1 -0
- package/dist/hooks/use-selection.js +31 -0
- package/dist/hooks/use-selection.js.map +1 -0
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +15 -30
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.test.js +9 -9
- 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 +30 -28
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.test.js +13 -0
- package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
- package/dist/hooks/use-shell-mode.d.ts +31 -0
- package/dist/hooks/use-shell-mode.d.ts.map +1 -0
- package/dist/hooks/use-shell-mode.js +85 -0
- package/dist/hooks/use-shell-mode.js.map +1 -0
- package/dist/hooks/use-slash-commands.d.ts +1 -0
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +32 -23
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-terminal-width.d.ts +7 -0
- package/dist/hooks/use-terminal-width.d.ts.map +1 -0
- package/dist/hooks/use-terminal-width.js +33 -0
- package/dist/hooks/use-terminal-width.js.map +1 -0
- package/dist/hooks/use-trigger-detection.d.ts +40 -0
- package/dist/hooks/use-trigger-detection.d.ts.map +1 -0
- package/dist/hooks/use-trigger-detection.js +45 -0
- package/dist/hooks/use-trigger-detection.js.map +1 -0
- package/dist/lib/editor-impl.js +6 -6
- package/dist/lib/editor-impl.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts +2 -0
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +187 -191
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.public-methods.test.js +61 -13
- package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -1
- package/dist/lib/retry-executor.d.ts +16 -0
- package/dist/lib/retry-executor.d.ts.map +1 -0
- package/dist/lib/retry-executor.js +71 -0
- package/dist/lib/retry-executor.js.map +1 -0
- package/dist/lib/retry-executor.test.d.ts +2 -0
- package/dist/lib/retry-executor.test.d.ts.map +1 -0
- package/dist/lib/retry-executor.test.js +178 -0
- package/dist/lib/retry-executor.test.js.map +1 -0
- package/dist/lib/tool-selection-policy.d.ts +14 -0
- package/dist/lib/tool-selection-policy.d.ts.map +1 -0
- package/dist/lib/tool-selection-policy.js +17 -0
- package/dist/lib/tool-selection-policy.js.map +1 -0
- package/dist/lib/tool-selection-policy.test.d.ts +2 -0
- package/dist/lib/tool-selection-policy.test.d.ts.map +1 -0
- package/dist/lib/tool-selection-policy.test.js +69 -0
- package/dist/lib/tool-selection-policy.test.js.map +1 -0
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai-compatible/model.d.ts.map +1 -1
- package/dist/providers/openai-compatible/model.js +68 -7
- package/dist/providers/openai-compatible/model.js.map +1 -1
- package/dist/providers/openai-compatible/reasoning-content.test.js +107 -6
- package/dist/providers/openai-compatible/reasoning-content.test.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.provider.js +2 -0
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter/converters.d.ts.map +1 -1
- package/dist/providers/openrouter/converters.js +8 -6
- package/dist/providers/openrouter/converters.js.map +1 -1
- package/dist/providers/openrouter/converters.test.js +24 -0
- package/dist/providers/openrouter/converters.test.js.map +1 -1
- package/dist/providers/openrouter/model.d.ts.map +1 -1
- package/dist/providers/openrouter/model.js +13 -5
- package/dist/providers/openrouter/model.js.map +1 -1
- package/dist/providers/openrouter/reasoning-content.test.js +48 -2
- package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
- package/dist/providers/openrouter.provider.createRunner.test.js +17 -9
- package/dist/providers/openrouter.provider.createRunner.test.js.map +1 -1
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/openrouter.test.js +0 -2
- package/dist/providers/openrouter.test.js.map +1 -1
- package/dist/providers/registry.d.ts +17 -8
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +9 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/web-search/exa.provider.d.ts +15 -0
- package/dist/providers/web-search/exa.provider.d.ts.map +1 -0
- package/dist/providers/web-search/exa.provider.js +82 -0
- package/dist/providers/web-search/exa.provider.js.map +1 -0
- package/dist/providers/web-search/exa.provider.test.d.ts +2 -0
- package/dist/providers/web-search/exa.provider.test.d.ts.map +1 -0
- package/dist/providers/web-search/exa.provider.test.js +67 -0
- package/dist/providers/web-search/exa.provider.test.js.map +1 -0
- package/dist/providers/web-search/index.d.ts +1 -0
- package/dist/providers/web-search/index.d.ts.map +1 -1
- package/dist/providers/web-search/index.js +1 -0
- package/dist/providers/web-search/index.js.map +1 -1
- package/dist/scripts/eval-auto-approval/cache.d.ts +9 -0
- package/dist/scripts/eval-auto-approval/cache.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/cache.js +64 -0
- package/dist/scripts/eval-auto-approval/cache.js.map +1 -0
- package/dist/scripts/eval-auto-approval/dataset.d.ts +45 -0
- package/dist/scripts/eval-auto-approval/dataset.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/dataset.js +65 -0
- package/dist/scripts/eval-auto-approval/dataset.js.map +1 -0
- package/dist/scripts/eval-auto-approval/dataset.test.d.ts +2 -0
- package/dist/scripts/eval-auto-approval/dataset.test.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/dataset.test.js +88 -0
- package/dist/scripts/eval-auto-approval/dataset.test.js.map +1 -0
- package/dist/scripts/eval-auto-approval/leaderboard.d.ts +92 -0
- package/dist/scripts/eval-auto-approval/leaderboard.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/leaderboard.js +402 -0
- package/dist/scripts/eval-auto-approval/leaderboard.js.map +1 -0
- package/dist/scripts/eval-auto-approval/leaderboard.test.d.ts +2 -0
- package/dist/scripts/eval-auto-approval/leaderboard.test.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/leaderboard.test.js +689 -0
- package/dist/scripts/eval-auto-approval/leaderboard.test.js.map +1 -0
- package/dist/scripts/eval-auto-approval/metrics.d.ts +34 -0
- package/dist/scripts/eval-auto-approval/metrics.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/metrics.js +74 -0
- package/dist/scripts/eval-auto-approval/metrics.js.map +1 -0
- package/dist/scripts/eval-auto-approval/metrics.test.d.ts +2 -0
- package/dist/scripts/eval-auto-approval/metrics.test.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/metrics.test.js +79 -0
- package/dist/scripts/eval-auto-approval/metrics.test.js.map +1 -0
- package/dist/scripts/eval-auto-approval/report.d.ts +5 -0
- package/dist/scripts/eval-auto-approval/report.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/report.js +51 -0
- package/dist/scripts/eval-auto-approval/report.js.map +1 -0
- package/dist/scripts/eval-auto-approval/report.test.d.ts +2 -0
- package/dist/scripts/eval-auto-approval/report.test.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/report.test.js +23 -0
- package/dist/scripts/eval-auto-approval/report.test.js.map +1 -0
- package/dist/scripts/eval-auto-approval/runner-utils.d.ts +41 -0
- package/dist/scripts/eval-auto-approval/runner-utils.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/runner-utils.js +187 -0
- package/dist/scripts/eval-auto-approval/runner-utils.js.map +1 -0
- package/dist/scripts/eval-auto-approval/runner-utils.test.d.ts +2 -0
- package/dist/scripts/eval-auto-approval/runner-utils.test.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/runner-utils.test.js +135 -0
- package/dist/scripts/eval-auto-approval/runner-utils.test.js.map +1 -0
- package/dist/scripts/eval-auto-approval/runner.d.ts +2 -0
- package/dist/scripts/eval-auto-approval/runner.d.ts.map +1 -0
- package/dist/scripts/eval-auto-approval/runner.js +326 -0
- package/dist/scripts/eval-auto-approval/runner.js.map +1 -0
- package/dist/services/agent-stream.d.ts +11 -0
- package/dist/services/agent-stream.d.ts.map +1 -0
- package/dist/services/agent-stream.js +2 -0
- package/dist/services/agent-stream.js.map +1 -0
- package/dist/services/approval-flow-coordinator.d.ts +43 -0
- package/dist/services/approval-flow-coordinator.d.ts.map +1 -0
- package/dist/services/approval-flow-coordinator.js +120 -0
- package/dist/services/approval-flow-coordinator.js.map +1 -0
- package/dist/services/approval-flow-coordinator.test.d.ts +2 -0
- package/dist/services/approval-flow-coordinator.test.d.ts.map +1 -0
- package/dist/services/approval-flow-coordinator.test.js +168 -0
- package/dist/services/approval-flow-coordinator.test.js.map +1 -0
- package/dist/services/approval-rejection-interceptor.d.ts +16 -0
- package/dist/services/approval-rejection-interceptor.d.ts.map +1 -0
- package/dist/services/approval-rejection-interceptor.js +20 -0
- package/dist/services/approval-rejection-interceptor.js.map +1 -0
- package/dist/services/approval-rejection-interceptor.test.d.ts +2 -0
- package/dist/services/approval-rejection-interceptor.test.d.ts.map +1 -0
- package/dist/services/approval-rejection-interceptor.test.js +60 -0
- package/dist/services/approval-rejection-interceptor.test.js.map +1 -0
- package/dist/services/conversation-events.d.ts +4 -2
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.d.ts +34 -34
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +64 -76
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +145 -65
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-retry-policy.d.ts +37 -0
- package/dist/services/conversation-retry-policy.d.ts.map +1 -0
- package/dist/services/conversation-retry-policy.js +51 -0
- package/dist/services/conversation-retry-policy.js.map +1 -0
- package/dist/services/conversation-retry-policy.test.d.ts +2 -0
- package/dist/services/conversation-retry-policy.test.d.ts.map +1 -0
- package/dist/services/conversation-retry-policy.test.js +79 -0
- package/dist/services/conversation-retry-policy.test.js.map +1 -0
- package/dist/services/conversation-service.d.ts +2 -1
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-session.auto-approval.test.d.ts +2 -0
- package/dist/services/conversation-session.auto-approval.test.d.ts.map +1 -0
- package/dist/services/conversation-session.auto-approval.test.js +617 -0
- package/dist/services/conversation-session.auto-approval.test.js.map +1 -0
- package/dist/services/conversation-session.d.ts +6 -3
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +164 -696
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/interruption-info.d.ts +13 -0
- package/dist/services/interruption-info.d.ts.map +1 -0
- package/dist/services/interruption-info.js +89 -0
- package/dist/services/interruption-info.js.map +1 -0
- package/dist/services/interruption-info.test.d.ts +2 -0
- package/dist/services/interruption-info.test.d.ts.map +1 -0
- package/dist/services/interruption-info.test.js +84 -0
- package/dist/services/interruption-info.test.js.map +1 -0
- package/dist/services/logging-contract.d.ts +1 -1
- package/dist/services/logging-service.d.ts +6 -2
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +48 -91
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/settings-env.d.ts.map +1 -1
- package/dist/services/settings-env.js +3 -0
- package/dist/services/settings-env.js.map +1 -1
- package/dist/services/settings-schema.d.ts +34 -0
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +37 -0
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +12 -166
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-sources.d.ts +5 -0
- package/dist/services/settings-sources.d.ts.map +1 -0
- package/dist/services/settings-sources.js +92 -0
- package/dist/services/settings-sources.js.map +1 -0
- package/dist/services/settings-sources.test.d.ts +2 -0
- package/dist/services/settings-sources.test.d.ts.map +1 -0
- package/dist/services/settings-sources.test.js +34 -0
- package/dist/services/settings-sources.test.js.map +1 -0
- package/dist/services/shell-auto-approval-evaluator.d.ts +19 -0
- package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -0
- package/dist/services/shell-auto-approval-evaluator.js +207 -0
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -0
- package/dist/services/shell-auto-approval-evaluator.test.d.ts +2 -0
- package/dist/services/shell-auto-approval-evaluator.test.d.ts.map +1 -0
- package/dist/services/shell-auto-approval-evaluator.test.js +211 -0
- package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -0
- package/dist/services/shell-auto-approval-resolver.d.ts +24 -0
- package/dist/services/shell-auto-approval-resolver.d.ts.map +1 -0
- package/dist/services/shell-auto-approval-resolver.js +59 -0
- package/dist/services/shell-auto-approval-resolver.js.map +1 -0
- package/dist/services/shell-auto-approval-resolver.test.d.ts +2 -0
- package/dist/services/shell-auto-approval-resolver.test.d.ts.map +1 -0
- package/dist/services/shell-auto-approval-resolver.test.js +110 -0
- package/dist/services/shell-auto-approval-resolver.test.js.map +1 -0
- package/dist/services/ssh-service.test.js +2 -2
- package/dist/services/ssh-service.test.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts +18 -23
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +186 -325
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-event-processor.test.js +143 -90
- package/dist/services/stream-event-processor.test.js.map +1 -1
- package/dist/services/terminal-result-collector.d.ts +12 -0
- package/dist/services/terminal-result-collector.d.ts.map +1 -0
- package/dist/services/terminal-result-collector.js +64 -0
- package/dist/services/terminal-result-collector.js.map +1 -0
- package/dist/services/terminal-result-collector.test.d.ts +2 -0
- package/dist/services/terminal-result-collector.test.d.ts.map +1 -0
- package/dist/services/terminal-result-collector.test.js +93 -0
- package/dist/services/terminal-result-collector.test.js.map +1 -0
- package/dist/tools/apply-patch.js +5 -5
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/create-file.js +2 -2
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/edit-healing.d.ts.map +1 -1
- package/dist/tools/edit-healing.js +4 -1
- package/dist/tools/edit-healing.js.map +1 -1
- package/dist/tools/edit-healing.test.js +22 -0
- package/dist/tools/edit-healing.test.js.map +1 -1
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +114 -194
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/search-replace.test.js +38 -0
- package/dist/tools/search-replace.test.js.map +1 -1
- package/dist/tools/shell.js +2 -2
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/shell.test.js +0 -5
- package/dist/tools/shell.test.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/utils/clipboard.d.ts +16 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +55 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/clipboard.test.d.ts +2 -0
- package/dist/utils/clipboard.test.d.ts.map +1 -0
- package/dist/utils/clipboard.test.js +59 -0
- package/dist/utils/clipboard.test.js.map +1 -0
- package/dist/utils/command-safety/constants.d.ts.map +1 -1
- package/dist/utils/command-safety/constants.js +3 -21
- 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 +13 -95
- package/dist/utils/command-safety/find-helpers.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 +2 -4
- package/dist/utils/command-safety/handlers/sed-handler.js.map +1 -1
- package/dist/utils/command-safety/index.d.ts +9 -0
- package/dist/utils/command-safety/index.d.ts.map +1 -1
- package/dist/utils/command-safety/index.js +12 -2
- 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 +7 -6
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/command-safety.find.test.js +56 -39
- package/dist/utils/command-safety.find.test.js.map +1 -1
- package/dist/utils/command-safety.path.test.js +7 -7
- package/dist/utils/command-safety.path.test.js.map +1 -1
- package/dist/utils/command-safety.red-yellow-policy.test.d.ts +2 -0
- package/dist/utils/command-safety.red-yellow-policy.test.d.ts.map +1 -0
- package/dist/utils/command-safety.red-yellow-policy.test.js +36 -0
- package/dist/utils/command-safety.red-yellow-policy.test.js.map +1 -0
- package/dist/utils/conversation-event-handler.d.ts +4 -3
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +15 -5
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +24 -0
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/conversation-utils.d.ts +1 -1
- package/dist/utils/execute-shell.d.ts +10 -0
- package/dist/utils/execute-shell.d.ts.map +1 -1
- package/dist/utils/execute-shell.js +3 -3
- package/dist/utils/execute-shell.js.map +1 -1
- package/dist/utils/execute-shell.test.js +19 -3
- package/dist/utils/execute-shell.test.js.map +1 -1
- package/dist/utils/input-parser.d.ts +13 -0
- package/dist/utils/input-parser.d.ts.map +1 -0
- package/dist/utils/input-parser.js +10 -0
- package/dist/utils/input-parser.js.map +1 -0
- package/dist/utils/model-provider-arg.d.ts +5 -0
- package/dist/utils/model-provider-arg.d.ts.map +1 -0
- package/dist/utils/model-provider-arg.js +15 -0
- package/dist/utils/model-provider-arg.js.map +1 -0
- package/dist/utils/model-provider-arg.test.d.ts +2 -0
- package/dist/utils/model-provider-arg.test.d.ts.map +1 -0
- package/dist/utils/model-provider-arg.test.js +21 -0
- package/dist/utils/model-provider-arg.test.js.map +1 -0
- package/dist/utils/model-settings.d.ts +12 -0
- package/dist/utils/model-settings.d.ts.map +1 -0
- package/dist/utils/model-settings.js +35 -0
- package/dist/utils/model-settings.js.map +1 -0
- package/dist/utils/provider-traffic-extractor.d.ts +1 -0
- package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
- package/dist/utils/provider-traffic-extractor.js +90 -5
- package/dist/utils/provider-traffic-extractor.js.map +1 -1
- package/dist/utils/settings-command.d.ts.map +1 -1
- package/dist/utils/settings-command.js +10 -8
- package/dist/utils/settings-command.js.map +1 -1
- package/dist/utils/streaming-session-factory.d.ts +1 -1
- package/dist/utils/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming-session-factory.js +5 -2
- package/dist/utils/streaming-session-factory.js.map +1 -1
- package/dist/utils/streaming-session-factory.test.js +2 -2
- package/dist/utils/streaming-session-factory.test.js.map +1 -1
- package/dist/utils/streaming-updater.d.ts +2 -1
- package/dist/utils/streaming-updater.d.ts.map +1 -1
- package/dist/utils/streaming-updater.js +2 -2
- package/dist/utils/streaming-updater.js.map +1 -1
- package/dist/utils/throttle.d.ts +6 -1
- package/dist/utils/throttle.d.ts.map +1 -1
- package/dist/utils/throttle.js +11 -6
- package/dist/utils/throttle.js.map +1 -1
- package/dist/utils/viewport.d.ts +6 -0
- package/dist/utils/viewport.d.ts.map +1 -0
- package/dist/utils/viewport.js +20 -0
- package/dist/utils/viewport.js.map +1 -0
- package/dist/utils/viewport.test.d.ts +2 -0
- package/dist/utils/viewport.test.d.ts.map +1 -0
- package/dist/utils/viewport.test.js +43 -0
- package/dist/utils/viewport.test.js.map +1 -0
- package/package.json +5 -4
- package/dist/app.model-command-feedback.test.d.ts +0 -2
- package/dist/app.model-command-feedback.test.d.ts.map +0 -1
- package/dist/app.model-command-feedback.test.js +0 -19
- package/dist/app.model-command-feedback.test.js.map +0 -1
- package/dist/components/MentorMode.test.d.ts +0 -2
- package/dist/components/MentorMode.test.d.ts.map +0 -1
- package/dist/components/MentorMode.test.js.map +0 -1
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
- package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
- package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
- package/dist/components/StatusBar.test.d.ts +0 -2
- package/dist/components/StatusBar.test.d.ts.map +0 -1
- package/dist/components/StatusBar.test.js +0 -19
- package/dist/components/StatusBar.test.js.map +0 -1
- package/dist/components/TextInput.d.ts +0 -42
- package/dist/components/TextInput.d.ts.map +0 -1
- package/dist/components/TextInput.js +0 -397
- package/dist/components/TextInput.js.map +0 -1
- package/dist/components/TextInput.test.d.ts +0 -2
- package/dist/components/TextInput.test.d.ts.map +0 -1
- package/dist/components/TextInput.test.js +0 -75
- package/dist/components/TextInput.test.js.map +0 -1
- package/dist/debug-schema.d.ts +0 -2
- package/dist/debug-schema.d.ts.map +0 -1
- package/dist/debug-schema.js +0 -22
- package/dist/debug-schema.js.map +0 -1
- package/dist/hooks/use-path-completion.test.d.ts +0 -2
- package/dist/hooks/use-path-completion.test.d.ts.map +0 -1
- package/dist/hooks/use-path-completion.test.js +0 -29
- package/dist/hooks/use-path-completion.test.js.map +0 -1
- package/dist/lib/mentor-client.d.ts +0 -41
- package/dist/lib/mentor-client.d.ts.map +0 -1
- package/dist/lib/mentor-client.js +0 -146
- package/dist/lib/mentor-client.js.map +0 -1
- package/dist/lib/mentor-client.test.d.ts +0 -2
- package/dist/lib/mentor-client.test.d.ts.map +0 -1
- package/dist/lib/mentor-client.test.js +0 -440
- package/dist/lib/mentor-client.test.js.map +0 -1
- package/dist/lib/retry-strategy.d.ts +0 -43
- package/dist/lib/retry-strategy.d.ts.map +0 -1
- package/dist/lib/retry-strategy.js +0 -93
- package/dist/lib/retry-strategy.js.map +0 -1
- package/dist/lib/retry-strategy.test.d.ts +0 -2
- package/dist/lib/retry-strategy.test.d.ts.map +0 -1
- package/dist/lib/retry-strategy.test.js +0 -200
- package/dist/lib/retry-strategy.test.js.map +0 -1
- package/dist/lib/shell.d.ts +0 -7
- package/dist/lib/shell.d.ts.map +0 -1
- package/dist/lib/shell.js +0 -56
- package/dist/lib/shell.js.map +0 -1
- package/dist/prompts/default.md.bak +0 -77
- package/dist/prompts/simple-mentor.md +0 -207
- package/dist/providers/github-copilot/converters.d.ts +0 -45
- package/dist/providers/github-copilot/converters.d.ts.map +0 -1
- package/dist/providers/github-copilot/converters.js +0 -118
- package/dist/providers/github-copilot/converters.js.map +0 -1
- package/dist/providers/github-copilot/converters.test.d.ts +0 -2
- package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/converters.test.js +0 -162
- package/dist/providers/github-copilot/converters.test.js.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
- package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
- package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
- package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
- package/dist/providers/github-copilot/index.d.ts +0 -4
- package/dist/providers/github-copilot/index.d.ts.map +0 -1
- package/dist/providers/github-copilot/index.js +0 -4
- package/dist/providers/github-copilot/index.js.map +0 -1
- package/dist/providers/github-copilot/model-direct.d.ts +0 -34
- package/dist/providers/github-copilot/model-direct.d.ts.map +0 -1
- package/dist/providers/github-copilot/model-direct.js +0 -443
- package/dist/providers/github-copilot/model-direct.js.map +0 -1
- package/dist/providers/github-copilot/model.d.ts +0 -24
- package/dist/providers/github-copilot/model.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
- package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.delta.test.js +0 -15
- package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
- package/dist/providers/github-copilot/model.js +0 -581
- package/dist/providers/github-copilot/model.js.map +0 -1
- package/dist/providers/github-copilot/provider.d.ts +0 -20
- package/dist/providers/github-copilot/provider.d.ts.map +0 -1
- package/dist/providers/github-copilot/provider.js +0 -30
- package/dist/providers/github-copilot/provider.js.map +0 -1
- package/dist/providers/github-copilot/provider.test.d.ts +0 -2
- package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/provider.test.js +0 -52
- package/dist/providers/github-copilot/provider.test.js.map +0 -1
- package/dist/providers/github-copilot/utils.d.ts +0 -20
- package/dist/providers/github-copilot/utils.d.ts.map +0 -1
- package/dist/providers/github-copilot/utils.js +0 -142
- package/dist/providers/github-copilot/utils.js.map +0 -1
- package/dist/providers/github-copilot/utils.test.d.ts +0 -2
- package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/utils.test.js +0 -21
- package/dist/providers/github-copilot/utils.test.js.map +0 -1
- package/dist/providers/openrouter/merge-messages.test.d.ts +0 -2
- package/dist/providers/openrouter/merge-messages.test.d.ts.map +0 -1
- package/dist/providers/openrouter/merge-messages.test.js +0 -83
- package/dist/providers/openrouter/merge-messages.test.js.map +0 -1
- package/dist/providers/openrouter.history.test.d.ts +0 -2
- package/dist/providers/openrouter.history.test.d.ts.map +0 -1
- package/dist/providers/openrouter.history.test.js +0 -533
- package/dist/providers/openrouter.history.test.js.map +0 -1
- package/dist/reproduce_issue.test.d.ts +0 -2
- package/dist/reproduce_issue.test.d.ts.map +0 -1
- package/dist/reproduce_issue.test.js +0 -31
- package/dist/reproduce_issue.test.js.map +0 -1
- package/dist/safety-checker.js +0 -57
- package/dist/services/conversation-service.test.js +0 -190
- package/dist/services/conversation-session.usage.test.d.ts +0 -2
- package/dist/services/conversation-session.usage.test.d.ts.map +0 -1
- package/dist/services/conversation-session.usage.test.js +0 -59
- package/dist/services/conversation-session.usage.test.js.map +0 -1
- package/dist/test-search-tool.d.ts +0 -2
- package/dist/test-search-tool.d.ts.map +0 -1
- package/dist/test-search-tool.js +0 -36
- package/dist/test-search-tool.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -10
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -55
- package/dist/tools/bash.js.map +0 -1
- package/dist/types/messages.d.ts +0 -29
- package/dist/types/messages.d.ts.map +0 -1
- package/dist/types/messages.js +0 -2
- package/dist/types/messages.js.map +0 -1
- package/dist/utils/command-safety.d.ts +0 -21
- package/dist/utils/command-safety.d.ts.map +0 -1
- package/dist/utils/command-safety.js +0 -702
- package/dist/utils/command-safety.js.map +0 -1
- package/dist/utils/extract-command-messages.repro.test.d.ts +0 -2
- package/dist/utils/extract-command-messages.repro.test.d.ts.map +0 -1
- package/dist/utils/extract-command-messages.repro.test.js +0 -31
- package/dist/utils/extract-command-messages.repro.test.js.map +0 -1
- package/dist/utils/extract-command-messages.test.js +0 -57
- package/dist/utils/message-utils.d.ts +0 -17
- package/dist/utils/message-utils.d.ts.map +0 -1
- package/dist/utils/message-utils.js +0 -52
- package/dist/utils/message-utils.js.map +0 -1
- package/dist/utils/message-utils.test.d.ts +0 -2
- package/dist/utils/message-utils.test.d.ts.map +0 -1
- package/dist/utils/message-utils.test.js +0 -48
- package/dist/utils/message-utils.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../source/tools/create-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../source/tools/create-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG9G,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACrE,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,IAAS,EACT,KAAa,EACb,sBAA4C,EAC1B,EAAE;IACpB,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,IAAI,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,SAAS,CAAC;IACnE,MAAM,IAAI,GAAG,sBAAsB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAE1D,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,YAAY,EAAE,IAAI,IAAI,SAAS,CAAC;IAC/D,MAAM,OAAO,GAAG,gBAAgB,QAAQ,GAAG,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;IACpG,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEtE,OAAO;QACL,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;YACvC,OAAO;YACP,MAAM;YACN,OAAO;YACP,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,IAI9C;IACC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAEnE,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iFAAiF;QAC9F,UAAU,EAAE,0BAA0B;QACtC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAU,cAAc,CAAC,CAAC;YAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAClC,MAAM,GAAG,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAExD,mEAAmE;YACnE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAU,yBAAyB,CAAC,CAAC;YAClF,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;gBAC3C,MAAM,GAAG,GAAG,gBAAgB,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAEvD,MAAM,UAAU,GAAG,gBAAgB,EAAE,aAAa,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC;gBAE9D,IAAI,iBAAiB,EAAE,CAAC;oBACtB,cAAc,CAAC,KAAK,CAAC,qCAAqC,EAAE;wBAC1D,IAAI,EAAE,QAAQ;wBACd,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;gBAED,iCAAiC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAC3B,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,MAAM,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,uCAAuC;oBACvC,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,IAAI,iBAAiB,EAAE,CAAC;oBACtB,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAED,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,WAAW,QAAQ,EAAE;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,iBAAiB,EAAE,CAAC;oBACtB,cAAc,CAAC,KAAK,CAAC,oCAAoC,EAAE;wBACzD,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;qBACtC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,YAAY,GAAG,iCAAiC,MAAM,CAAC,IAAI,gDAAgD,CAAC;gBAC9G,CAAC;gBAED,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,oBAAoB,EAAE,8BAA8B;KACrD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-healing.d.ts","sourceRoot":"","sources":["../../source/tools/edit-healing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG3F,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AA0KF,wBAAsB,uBAAuB,CAC3C,cAAc,EAAE,uBAAuB,EACvC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"edit-healing.d.ts","sourceRoot":"","sources":["../../source/tools/edit-healing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG3F,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AA0KF,wBAAsB,uBAAuB,CAC3C,cAAc,EAAE,uBAAuB,EACvC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,aAAa,CAAC,CAoFxB"}
|
|
@@ -152,7 +152,10 @@ async function runHealingPrompt(prompt, model, apiKey, deps) {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
export async function healSearchReplaceParams(originalParams, fileContent, model, apiKey, deps = {}) {
|
|
155
|
-
const providerId = deps.providerId ??
|
|
155
|
+
const providerId = deps.providerId ??
|
|
156
|
+
deps.settingsService?.get('tools.editHealingProvider') ??
|
|
157
|
+
deps.settingsService?.get('agent.provider') ??
|
|
158
|
+
'openai';
|
|
156
159
|
const timeoutMs = deps.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
157
160
|
const confidenceThreshold = deps.confidenceThreshold ?? DEFAULT_CONFIDENCE_THRESHOLD;
|
|
158
161
|
const maxFileChars = deps.maxFileChars ?? DEFAULT_MAX_FILE_CHARS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-healing.js","sourceRoot":"","sources":["../../source/tools/edit-healing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"edit-healing.js","sourceRoot":"","sources":["../../source/tools/edit-healing.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,4 +31,26 @@ test('healSearchReplaceParams returns unmodified params for ambiguous matches',
|
|
|
31
31
|
t.is(result.params.search_content, baseParams.search_content);
|
|
32
32
|
t.is(result.confidence, 0);
|
|
33
33
|
});
|
|
34
|
+
test('healSearchReplaceParams uses tools.editHealingProvider before agent.provider', async (t) => {
|
|
35
|
+
const fileContent = 'const foo = 1;\n';
|
|
36
|
+
let providerId = '';
|
|
37
|
+
const runModel = async (_prompt, meta) => {
|
|
38
|
+
providerId = meta.providerId;
|
|
39
|
+
return 'const foo = 1;';
|
|
40
|
+
};
|
|
41
|
+
const settingsService = {
|
|
42
|
+
get: (key) => {
|
|
43
|
+
if (key === 'tools.editHealingProvider')
|
|
44
|
+
return 'openrouter';
|
|
45
|
+
if (key === 'agent.provider')
|
|
46
|
+
return 'openai';
|
|
47
|
+
return undefined;
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
await healSearchReplaceParams(baseParams, fileContent, 'fast-healer', 'fake-key', {
|
|
51
|
+
runModel,
|
|
52
|
+
settingsService: settingsService,
|
|
53
|
+
});
|
|
54
|
+
t.is(providerId, 'openrouter');
|
|
55
|
+
});
|
|
34
56
|
//# sourceMappingURL=edit-healing.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-healing.test.js","sourceRoot":"","sources":["../../source/tools/edit-healing.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,sDAAsD;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,UAAU,GAA4B;IAC1C,IAAI,EAAE,UAAU;IAChB,cAAc,EAAE,kBAAkB;IAClC,eAAe,EAAE,kBAAkB;IACnC,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,IAAI,CAAC,0EAA0E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC3F,MAAM,WAAW,GAAG,oCAAoC,CAAC;IACzD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAC,kCAAkC,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE/G,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,kCAAkC,CAAC,CAAC;IACvE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAChF,MAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE/G,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1F,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE/G,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"edit-healing.test.js","sourceRoot":"","sources":["../../source/tools/edit-healing.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-replace.d.ts","sourceRoot":"","sources":["../../source/tools/search-replace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAwEpE,QAAA,MAAM,6BAA6B;;;;;iBAajC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"search-replace.d.ts","sourceRoot":"","sources":["../../source/tools/search-replace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAwEpE,QAAA,MAAM,6BAA6B;;;;;iBAajC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAqbpF,eAAO,MAAM,iCAAiC,GAC5C,MAAM,GAAG,EACT,OAAO,MAAM,EACb,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3C,cAAc,EAgEhB,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,gBAAgB,CAAC;IAClC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,uBAAuB,CAAC;CAC9C,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAoY1C"}
|
|
@@ -90,7 +90,24 @@ const GAP_MARKER = '<...>';
|
|
|
90
90
|
function containsGapMarker(content) {
|
|
91
91
|
return content.includes(GAP_MARKER);
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
class SearchReplaceEditCache {
|
|
94
|
+
lastEditCache = null;
|
|
95
|
+
get(params, content) {
|
|
96
|
+
const key = getEditCacheKey(params);
|
|
97
|
+
if (this.lastEditCache && this.lastEditCache.key === key && this.lastEditCache.content === content) {
|
|
98
|
+
return this.lastEditCache;
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
set(params, matchInfo, content, eol) {
|
|
103
|
+
this.lastEditCache = {
|
|
104
|
+
key: getEditCacheKey(params),
|
|
105
|
+
matchInfo,
|
|
106
|
+
content,
|
|
107
|
+
eol,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
94
111
|
function getEditCacheKey(params) {
|
|
95
112
|
return JSON.stringify({
|
|
96
113
|
path: params.path,
|
|
@@ -299,6 +316,65 @@ function findMatchesInContent(content, searchContent) {
|
|
|
299
316
|
}
|
|
300
317
|
return { type: 'none' };
|
|
301
318
|
}
|
|
319
|
+
function replaceIndexedMatches(content, matches, replaceContent, replaceAll) {
|
|
320
|
+
if (!replaceAll) {
|
|
321
|
+
const match = matches[0];
|
|
322
|
+
return {
|
|
323
|
+
newContent: content.substring(0, match.startIndex) + replaceContent + content.substring(match.endIndex),
|
|
324
|
+
replacedCount: 1,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
let newContent = content;
|
|
328
|
+
const sortedMatches = [...matches].sort((a, b) => b.startIndex - a.startIndex);
|
|
329
|
+
for (const m of sortedMatches) {
|
|
330
|
+
newContent = newContent.substring(0, m.startIndex) + replaceContent + newContent.substring(m.endIndex);
|
|
331
|
+
}
|
|
332
|
+
return {
|
|
333
|
+
newContent,
|
|
334
|
+
replacedCount: matches.length,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
function executeReplacement(matchInfo, content, eol, options) {
|
|
338
|
+
const normalizedReplaceContent = normalizeToEOL(options.replaceContent, eol);
|
|
339
|
+
if (matchInfo.type === 'none') {
|
|
340
|
+
return {
|
|
341
|
+
success: false,
|
|
342
|
+
error: 'Search content not found. Try splitting the changes into smaller search pattern.',
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
if (matchInfo.type === 'exact') {
|
|
346
|
+
if (options.replaceAll) {
|
|
347
|
+
return {
|
|
348
|
+
success: true,
|
|
349
|
+
newContent: content.replaceAll(options.normalizedSearchContent, normalizedReplaceContent),
|
|
350
|
+
matchType: 'exact',
|
|
351
|
+
replacedCount: matchInfo.count,
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
const firstIndex = content.indexOf(options.normalizedSearchContent);
|
|
355
|
+
return {
|
|
356
|
+
success: true,
|
|
357
|
+
newContent: content.substring(0, firstIndex) +
|
|
358
|
+
normalizedReplaceContent +
|
|
359
|
+
content.substring(firstIndex + options.normalizedSearchContent.length),
|
|
360
|
+
matchType: 'exact',
|
|
361
|
+
replacedCount: 1,
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
if (!options.replaceAll && matchInfo.count > 1) {
|
|
365
|
+
return {
|
|
366
|
+
success: false,
|
|
367
|
+
error: `Found ${matchInfo.count} ${matchInfo.type} matches. Please provide more context or set replace_all to true.`,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
const replaced = replaceIndexedMatches(content, matchInfo.matches, normalizedReplaceContent, options.replaceAll);
|
|
371
|
+
return {
|
|
372
|
+
success: true,
|
|
373
|
+
newContent: replaced.newContent,
|
|
374
|
+
matchType: matchInfo.type,
|
|
375
|
+
replacedCount: replaced.replacedCount,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
302
378
|
export const formatSearchReplaceCommandMessage = (item, index, _toolCallArgumentsById) => {
|
|
303
379
|
const parsedOutput = safeJsonParse(getOutputText(item));
|
|
304
380
|
const replaceOutputItems = parsedOutput?.output ?? [];
|
|
@@ -359,6 +435,7 @@ export const formatSearchReplaceCommandMessage = (item, index, _toolCallArgument
|
|
|
359
435
|
};
|
|
360
436
|
export function createSearchReplaceToolDefinition(deps) {
|
|
361
437
|
const { loggingService, settingsService, executionContext, editHealing = healSearchReplaceParams } = deps;
|
|
438
|
+
const editCache = new SearchReplaceEditCache();
|
|
362
439
|
return {
|
|
363
440
|
name: 'search_replace',
|
|
364
441
|
description: 'Replace text in a file using exact or relaxed matching.\n' +
|
|
@@ -389,7 +466,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
389
466
|
}
|
|
390
467
|
catch (error) {
|
|
391
468
|
if (search_content === '' && error?.code === 'ENOENT') {
|
|
392
|
-
loggingService.
|
|
469
|
+
loggingService.debug('search_replace validation: creating new file because search_content is empty', {
|
|
393
470
|
path: filePath,
|
|
394
471
|
});
|
|
395
472
|
if (editMode && insideCwd) {
|
|
@@ -425,12 +502,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
425
502
|
// Find matches using shared logic with normalized content
|
|
426
503
|
const matchInfo = findMatchesInContent(content, normalizedSearchContent);
|
|
427
504
|
// Cache the result for execute phase
|
|
428
|
-
|
|
429
|
-
key: getEditCacheKey(params),
|
|
430
|
-
matchInfo,
|
|
431
|
-
content,
|
|
432
|
-
eol,
|
|
433
|
-
};
|
|
505
|
+
editCache.set(params, matchInfo, content, eol);
|
|
434
506
|
if (matchInfo.type === 'exact') {
|
|
435
507
|
if (!replace_all && matchInfo.count > 1) {
|
|
436
508
|
loggingService.warn('search_replace validation: multiple exact matches, replace_all=false', {
|
|
@@ -439,7 +511,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
439
511
|
});
|
|
440
512
|
return true;
|
|
441
513
|
}
|
|
442
|
-
loggingService.
|
|
514
|
+
loggingService.debug('search_replace validation: exact match(es) found', {
|
|
443
515
|
path: filePath,
|
|
444
516
|
count: matchInfo.count,
|
|
445
517
|
replace_all,
|
|
@@ -458,7 +530,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
458
530
|
// Auto-approve - execute will handle the error gracefully
|
|
459
531
|
return false;
|
|
460
532
|
}
|
|
461
|
-
loggingService.
|
|
533
|
+
loggingService.debug('search_replace validation: relaxed match(es) found', {
|
|
462
534
|
path: filePath,
|
|
463
535
|
count: matchInfo.count,
|
|
464
536
|
replace_all,
|
|
@@ -473,7 +545,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
473
545
|
});
|
|
474
546
|
return false;
|
|
475
547
|
}
|
|
476
|
-
loggingService.
|
|
548
|
+
loggingService.debug('search_replace validation: normalized match(es) found', {
|
|
477
549
|
path: filePath,
|
|
478
550
|
count: matchInfo.count,
|
|
479
551
|
replace_all,
|
|
@@ -488,7 +560,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
488
560
|
});
|
|
489
561
|
return false;
|
|
490
562
|
}
|
|
491
|
-
loggingService.
|
|
563
|
+
loggingService.debug('search_replace validation: gap match(es) found', {
|
|
492
564
|
path: filePath,
|
|
493
565
|
count: matchInfo.count,
|
|
494
566
|
replace_all,
|
|
@@ -531,7 +603,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
531
603
|
return writeFile(p, c, 'utf8');
|
|
532
604
|
};
|
|
533
605
|
if (enableFileLogging) {
|
|
534
|
-
loggingService.
|
|
606
|
+
loggingService.debug(`File operation started: search_replace`, {
|
|
535
607
|
path: filePath,
|
|
536
608
|
targetPath,
|
|
537
609
|
replace_all,
|
|
@@ -545,7 +617,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
545
617
|
if (search_content === '' && error?.code === 'ENOENT') {
|
|
546
618
|
await writeFileFn(targetPath, replace_content);
|
|
547
619
|
if (enableFileLogging) {
|
|
548
|
-
loggingService.
|
|
620
|
+
loggingService.debug('File created (search_content empty)', {
|
|
549
621
|
path: filePath,
|
|
550
622
|
});
|
|
551
623
|
}
|
|
@@ -585,28 +657,25 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
585
657
|
});
|
|
586
658
|
}
|
|
587
659
|
// Check cache first
|
|
588
|
-
const cacheKey = getEditCacheKey(params);
|
|
589
660
|
let matchInfo;
|
|
590
661
|
let eol;
|
|
591
662
|
let normalizedSearchContent;
|
|
592
|
-
let normalizedReplaceContent;
|
|
593
663
|
let usedHealing = false;
|
|
594
664
|
let healingAttempted = false;
|
|
595
665
|
let healingSucceeded = false;
|
|
596
666
|
let healedSearchLength = 0;
|
|
597
667
|
let matchTypeAfterHealing = 'none';
|
|
598
|
-
|
|
668
|
+
const cachedEdit = editCache.get(params, content);
|
|
669
|
+
if (cachedEdit) {
|
|
599
670
|
// Use cached results
|
|
600
|
-
matchInfo =
|
|
601
|
-
eol =
|
|
671
|
+
matchInfo = cachedEdit.matchInfo;
|
|
672
|
+
eol = cachedEdit.eol;
|
|
602
673
|
normalizedSearchContent = normalizeToEOL(removeLeadingFilepathComment(search_content, filePath), eol);
|
|
603
|
-
normalizedReplaceContent = normalizeToEOL(replace_content, eol);
|
|
604
674
|
}
|
|
605
675
|
else {
|
|
606
676
|
// Detect EOL and normalize content
|
|
607
677
|
eol = detectEOL(content);
|
|
608
678
|
normalizedSearchContent = normalizeToEOL(removeLeadingFilepathComment(search_content, filePath), eol);
|
|
609
|
-
normalizedReplaceContent = normalizeToEOL(replace_content, eol);
|
|
610
679
|
// Find matches using shared logic
|
|
611
680
|
matchInfo = findMatchesInContent(content, normalizedSearchContent);
|
|
612
681
|
}
|
|
@@ -630,7 +699,7 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
630
699
|
}
|
|
631
700
|
}
|
|
632
701
|
if (enableFileLogging) {
|
|
633
|
-
loggingService.
|
|
702
|
+
loggingService.debug('search_replace healing attempt', {
|
|
634
703
|
path: filePath,
|
|
635
704
|
healing_attempted: healingAttempted,
|
|
636
705
|
healing_succeeded: healingSucceeded,
|
|
@@ -651,190 +720,41 @@ export function createSearchReplaceToolDefinition(deps) {
|
|
|
651
720
|
}
|
|
652
721
|
}
|
|
653
722
|
}
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
const firstIndex = content.indexOf(normalizedSearchContent);
|
|
661
|
-
newContent =
|
|
662
|
-
content.substring(0, firstIndex) +
|
|
663
|
-
normalizedReplaceContent +
|
|
664
|
-
content.substring(firstIndex + normalizedSearchContent.length);
|
|
665
|
-
}
|
|
666
|
-
await writeFileFn(targetPath, newContent);
|
|
667
|
-
if (enableFileLogging) {
|
|
668
|
-
loggingService.info('File updated (exact match)', {
|
|
669
|
-
path: filePath,
|
|
670
|
-
replace_all,
|
|
671
|
-
count: replace_all ? matchInfo.count : 1,
|
|
672
|
-
healed: usedHealing,
|
|
673
|
-
});
|
|
674
|
-
}
|
|
675
|
-
const successMessage = usedHealing
|
|
676
|
-
? `Updated ${filePath} (healed match - original search had minor differences)`
|
|
677
|
-
: `Updated ${filePath} (${replace_all ? matchInfo.count : 1} exact match${replace_all && matchInfo.count > 1 ? 'es' : ''})`;
|
|
678
|
-
return JSON.stringify({
|
|
679
|
-
output: [
|
|
680
|
-
{
|
|
681
|
-
success: true,
|
|
682
|
-
operation: 'search_replace',
|
|
683
|
-
path: filePath,
|
|
684
|
-
message: successMessage,
|
|
685
|
-
healed: usedHealing,
|
|
686
|
-
},
|
|
687
|
-
],
|
|
688
|
-
});
|
|
689
|
-
}
|
|
690
|
-
if (matchInfo.type === 'relaxed') {
|
|
691
|
-
if (!replace_all && matchInfo.count > 1) {
|
|
692
|
-
return JSON.stringify({
|
|
693
|
-
output: [
|
|
694
|
-
{
|
|
695
|
-
success: false,
|
|
696
|
-
error: `Found ${matchInfo.count} relaxed matches. Please provide more context or set replace_all to true.`,
|
|
697
|
-
},
|
|
698
|
-
],
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
let newContent = content;
|
|
702
|
-
if (replace_all) {
|
|
703
|
-
// Sort matches by startIndex descending to replace from end
|
|
704
|
-
matchInfo.matches.sort((a, b) => b.startIndex - a.startIndex);
|
|
705
|
-
for (const m of matchInfo.matches) {
|
|
706
|
-
newContent =
|
|
707
|
-
newContent.substring(0, m.startIndex) + normalizedReplaceContent + newContent.substring(m.endIndex);
|
|
708
|
-
}
|
|
709
|
-
}
|
|
710
|
-
else {
|
|
711
|
-
const m = matchInfo.matches[0];
|
|
712
|
-
newContent = content.substring(0, m.startIndex) + normalizedReplaceContent + content.substring(m.endIndex);
|
|
713
|
-
}
|
|
714
|
-
await writeFileFn(targetPath, newContent);
|
|
715
|
-
if (enableFileLogging) {
|
|
716
|
-
loggingService.info('File updated (relaxed match)', {
|
|
717
|
-
path: filePath,
|
|
718
|
-
replace_all,
|
|
719
|
-
count: replace_all ? matchInfo.count : 1,
|
|
720
|
-
healed: usedHealing,
|
|
721
|
-
});
|
|
722
|
-
}
|
|
723
|
-
const successMessage = usedHealing
|
|
724
|
-
? `Updated ${filePath} (healed match - original search had minor differences)`
|
|
725
|
-
: `Updated ${filePath} (${replace_all ? matchInfo.count : 1} relaxed match${replace_all && matchInfo.count > 1 ? 'es' : ''})`;
|
|
726
|
-
return JSON.stringify({
|
|
727
|
-
output: [
|
|
728
|
-
{
|
|
729
|
-
success: true,
|
|
730
|
-
operation: 'search_replace',
|
|
731
|
-
path: filePath,
|
|
732
|
-
message: successMessage,
|
|
733
|
-
healed: usedHealing,
|
|
734
|
-
},
|
|
735
|
-
],
|
|
736
|
-
});
|
|
737
|
-
}
|
|
738
|
-
if (matchInfo.type === 'normalized') {
|
|
739
|
-
if (!replace_all && matchInfo.count > 1) {
|
|
740
|
-
return JSON.stringify({
|
|
741
|
-
output: [
|
|
742
|
-
{
|
|
743
|
-
success: false,
|
|
744
|
-
error: `Found ${matchInfo.count} normalized matches. Please provide more context or set replace_all to true.`,
|
|
745
|
-
},
|
|
746
|
-
],
|
|
747
|
-
});
|
|
748
|
-
}
|
|
749
|
-
let newContent = content;
|
|
750
|
-
if (replace_all) {
|
|
751
|
-
matchInfo.matches.sort((a, b) => b.startIndex - a.startIndex);
|
|
752
|
-
for (const m of matchInfo.matches) {
|
|
753
|
-
newContent =
|
|
754
|
-
newContent.substring(0, m.startIndex) + normalizedReplaceContent + newContent.substring(m.endIndex);
|
|
755
|
-
}
|
|
756
|
-
}
|
|
757
|
-
else {
|
|
758
|
-
const m = matchInfo.matches[0];
|
|
759
|
-
newContent = content.substring(0, m.startIndex) + normalizedReplaceContent + content.substring(m.endIndex);
|
|
760
|
-
}
|
|
761
|
-
await writeFileFn(targetPath, newContent);
|
|
762
|
-
if (enableFileLogging) {
|
|
763
|
-
loggingService.info('File updated (normalized match)', {
|
|
764
|
-
path: filePath,
|
|
765
|
-
replace_all,
|
|
766
|
-
count: replace_all ? matchInfo.count : 1,
|
|
767
|
-
healed: usedHealing,
|
|
768
|
-
});
|
|
769
|
-
}
|
|
770
|
-
const successMessage = usedHealing
|
|
771
|
-
? `Updated ${filePath} (healed match - original search had minor differences)`
|
|
772
|
-
: `Updated ${filePath} (${replace_all ? matchInfo.count : 1} normalized match${replace_all && matchInfo.count > 1 ? 'es' : ''})`;
|
|
723
|
+
const replacementResult = executeReplacement(matchInfo, content, eol, {
|
|
724
|
+
normalizedSearchContent,
|
|
725
|
+
replaceContent: replace_content,
|
|
726
|
+
replaceAll: replace_all,
|
|
727
|
+
});
|
|
728
|
+
if (!replacementResult.success) {
|
|
773
729
|
return JSON.stringify({
|
|
774
730
|
output: [
|
|
775
731
|
{
|
|
776
|
-
success:
|
|
777
|
-
|
|
778
|
-
path: filePath,
|
|
779
|
-
message: successMessage,
|
|
780
|
-
healed: usedHealing,
|
|
732
|
+
success: false,
|
|
733
|
+
error: replacementResult.error,
|
|
781
734
|
},
|
|
782
735
|
],
|
|
783
736
|
});
|
|
784
737
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
},
|
|
793
|
-
],
|
|
794
|
-
});
|
|
795
|
-
}
|
|
796
|
-
let newContent = content;
|
|
797
|
-
if (replace_all) {
|
|
798
|
-
matchInfo.matches.sort((a, b) => b.startIndex - a.startIndex);
|
|
799
|
-
for (const m of matchInfo.matches) {
|
|
800
|
-
newContent =
|
|
801
|
-
newContent.substring(0, m.startIndex) + normalizedReplaceContent + newContent.substring(m.endIndex);
|
|
802
|
-
}
|
|
803
|
-
}
|
|
804
|
-
else {
|
|
805
|
-
const m = matchInfo.matches[0];
|
|
806
|
-
newContent = content.substring(0, m.startIndex) + normalizedReplaceContent + content.substring(m.endIndex);
|
|
807
|
-
}
|
|
808
|
-
await writeFileFn(targetPath, newContent);
|
|
809
|
-
if (enableFileLogging) {
|
|
810
|
-
loggingService.info('File updated (gap match)', {
|
|
811
|
-
path: filePath,
|
|
812
|
-
replace_all,
|
|
813
|
-
count: replace_all ? matchInfo.count : 1,
|
|
814
|
-
healed: usedHealing,
|
|
815
|
-
});
|
|
816
|
-
}
|
|
817
|
-
const successMessage = usedHealing
|
|
818
|
-
? `Updated ${filePath} (healed match - original search had minor differences)`
|
|
819
|
-
: `Updated ${filePath} (${replace_all ? matchInfo.count : 1} gap match${replace_all && matchInfo.count > 1 ? 'es' : ''})`;
|
|
820
|
-
return JSON.stringify({
|
|
821
|
-
output: [
|
|
822
|
-
{
|
|
823
|
-
success: true,
|
|
824
|
-
operation: 'search_replace',
|
|
825
|
-
path: filePath,
|
|
826
|
-
message: successMessage,
|
|
827
|
-
healed: usedHealing,
|
|
828
|
-
},
|
|
829
|
-
],
|
|
738
|
+
await writeFileFn(targetPath, replacementResult.newContent);
|
|
739
|
+
if (enableFileLogging) {
|
|
740
|
+
loggingService.debug(`File updated (${replacementResult.matchType} match)`, {
|
|
741
|
+
path: filePath,
|
|
742
|
+
replace_all,
|
|
743
|
+
count: replacementResult.replacedCount,
|
|
744
|
+
healed: usedHealing,
|
|
830
745
|
});
|
|
831
746
|
}
|
|
832
|
-
|
|
747
|
+
const successMessage = usedHealing
|
|
748
|
+
? `Updated ${filePath} (healed match - original search had minor differences)`
|
|
749
|
+
: `Updated ${filePath} (${replacementResult.replacedCount} ${replacementResult.matchType} match${replacementResult.replacedCount > 1 ? 'es' : ''})`;
|
|
833
750
|
return JSON.stringify({
|
|
834
751
|
output: [
|
|
835
752
|
{
|
|
836
|
-
success:
|
|
837
|
-
|
|
753
|
+
success: true,
|
|
754
|
+
operation: 'search_replace',
|
|
755
|
+
path: filePath,
|
|
756
|
+
message: successMessage,
|
|
757
|
+
healed: usedHealing,
|
|
838
758
|
},
|
|
839
759
|
],
|
|
840
760
|
});
|