@qduc/term2 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +11 -9
- 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.js +17 -4
- package/dist/agent.test.js.map +1 -1
- package/dist/app.d.ts +4 -2
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +24 -1
- package/dist/app.js.map +1 -1
- package/dist/cli.js +53 -24
- package/dist/cli.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/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/ModelSelectionMenu.error-tabs.test.d.ts +2 -0
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +1 -0
- package/dist/components/ModelSelectionMenu.error-tabs.test.js +18 -0
- package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +1 -0
- package/dist/components/TextInput.d.ts +42 -0
- package/dist/components/TextInput.d.ts.map +1 -0
- package/dist/components/TextInput.js +398 -0
- package/dist/components/TextInput.js.map +1 -0
- package/dist/components/TextInput.test.d.ts +2 -0
- package/dist/components/TextInput.test.d.ts.map +1 -0
- package/dist/components/TextInput.test.js +75 -0
- package/dist/components/TextInput.test.js.map +1 -0
- package/dist/debug_ask_mentor.d.ts +2 -0
- package/dist/debug_ask_mentor.d.ts.map +1 -0
- package/dist/debug_ask_mentor.js +73 -0
- package/dist/debug_ask_mentor.js.map +1 -0
- package/dist/hooks/use-conversation.clear.test.d.ts +2 -0
- package/dist/hooks/use-conversation.clear.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.clear.test.js +49 -0
- package/dist/hooks/use-conversation.clear.test.js.map +1 -0
- package/dist/hooks/use-conversation.d.ts +5 -2
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +10 -4
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts +2 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.d.ts.map +1 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.js +118 -0
- package/dist/hooks/use-conversation.max-turns-undo.test.js.map +1 -0
- package/dist/lib/openai-agent-client.chat.test.js +40 -0
- package/dist/lib/openai-agent-client.chat.test.js.map +1 -1
- package/dist/lib/openai-agent-client.d.ts +8 -1
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +43 -1
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/retry-executor.js +45 -7
- package/dist/lib/retry-executor.js.map +1 -1
- package/dist/lib/retry-executor.test.js +63 -0
- package/dist/lib/retry-executor.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/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 +1 -0
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +3 -1
- package/dist/non-interactive.js.map +1 -1
- package/dist/non-interactive.test.js +8 -1
- package/dist/non-interactive.test.js.map +1 -1
- package/dist/prompts/gpt-5.md +4 -7
- package/dist/prompts/simple-mentor.md +215 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts +1 -1
- package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.js +67 -44
- package/dist/providers/ai-sdk-logging-fetch.js.map +1 -1
- package/dist/providers/ai-sdk-logging-fetch.test.js +59 -5
- package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +2 -0
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.js +8 -4
- package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js +119 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/ai-sdk-openai.provider.d.ts +14 -0
- package/dist/providers/ai-sdk-openai.provider.d.ts.map +1 -0
- package/dist/providers/ai-sdk-openai.provider.js +18 -0
- package/dist/providers/ai-sdk-openai.provider.js.map +1 -0
- package/dist/providers/github-copilot/converters.d.ts +45 -0
- package/dist/providers/github-copilot/converters.d.ts.map +1 -0
- package/dist/providers/github-copilot/converters.js +118 -0
- package/dist/providers/github-copilot/converters.js.map +1 -0
- package/dist/providers/github-copilot/converters.test.d.ts +2 -0
- package/dist/providers/github-copilot/converters.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/converters.test.js +162 -0
- package/dist/providers/github-copilot/converters.test.js.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.d.ts +2 -0
- package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.js +75 -0
- package/dist/providers/github-copilot/github-copilot.provider.js.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +2 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.js +26 -0
- package/dist/providers/github-copilot/github-copilot.provider.test.js.map +1 -0
- package/dist/providers/github-copilot/index.d.ts +4 -0
- package/dist/providers/github-copilot/index.d.ts.map +1 -0
- package/dist/providers/github-copilot/index.js +4 -0
- package/dist/providers/github-copilot/index.js.map +1 -0
- package/dist/providers/github-copilot/model.d.ts +24 -0
- package/dist/providers/github-copilot/model.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.delta.test.d.ts +2 -0
- package/dist/providers/github-copilot/model.delta.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.delta.test.js +15 -0
- package/dist/providers/github-copilot/model.delta.test.js.map +1 -0
- package/dist/providers/github-copilot/model.js +498 -0
- package/dist/providers/github-copilot/model.js.map +1 -0
- package/dist/providers/github-copilot/model.test.d.ts +2 -0
- package/dist/providers/github-copilot/model.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/model.test.js +63 -0
- package/dist/providers/github-copilot/model.test.js.map +1 -0
- package/dist/providers/github-copilot/provider.d.ts +15 -0
- package/dist/providers/github-copilot/provider.d.ts.map +1 -0
- package/dist/providers/github-copilot/provider.js +25 -0
- package/dist/providers/github-copilot/provider.js.map +1 -0
- package/dist/providers/github-copilot/provider.test.d.ts +2 -0
- package/dist/providers/github-copilot/provider.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/provider.test.js +52 -0
- package/dist/providers/github-copilot/provider.test.js.map +1 -0
- package/dist/providers/github-copilot/utils.d.ts +20 -0
- package/dist/providers/github-copilot/utils.d.ts.map +1 -0
- package/dist/providers/github-copilot/utils.js +142 -0
- package/dist/providers/github-copilot/utils.js.map +1 -0
- package/dist/providers/github-copilot/utils.test.d.ts +2 -0
- package/dist/providers/github-copilot/utils.test.d.ts.map +1 -0
- package/dist/providers/github-copilot/utils.test.js +21 -0
- package/dist/providers/github-copilot/utils.test.js.map +1 -0
- package/dist/providers/openai-compatible/api.d.ts +17 -0
- package/dist/providers/openai-compatible/api.d.ts.map +1 -0
- package/dist/providers/openai-compatible/api.js +58 -0
- package/dist/providers/openai-compatible/api.js.map +1 -0
- package/dist/providers/openai-compatible/model.d.ts +17 -0
- package/dist/providers/openai-compatible/model.d.ts.map +1 -0
- package/dist/providers/openai-compatible/model.js +473 -0
- package/dist/providers/openai-compatible/model.js.map +1 -0
- package/dist/providers/openai-compatible/provider.d.ts +22 -0
- package/dist/providers/openai-compatible/provider.d.ts.map +1 -0
- package/dist/providers/openai-compatible/provider.js +43 -0
- package/dist/providers/openai-compatible/provider.js.map +1 -0
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts +2 -0
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +1 -0
- package/dist/providers/openai-compatible/reasoning-content.test.js +258 -0
- package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -0
- package/dist/providers/openai-compatible/utils.d.ts +3 -0
- package/dist/providers/openai-compatible/utils.d.ts.map +1 -0
- package/dist/providers/openai-compatible/utils.js +11 -0
- package/dist/providers/openai-compatible/utils.js.map +1 -0
- package/dist/providers/openai-compatible-behavior-gate.test.js +42 -1
- package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -1
- package/dist/providers/openai.provider.js +21 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openrouter/api.d.ts +39 -0
- package/dist/providers/openrouter/api.d.ts.map +1 -0
- package/dist/providers/openrouter/api.js +164 -0
- package/dist/providers/openrouter/api.js.map +1 -0
- package/dist/providers/openrouter/converters.d.ts +8 -0
- package/dist/providers/openrouter/converters.d.ts.map +1 -0
- package/dist/providers/openrouter/converters.js +391 -0
- package/dist/providers/openrouter/converters.js.map +1 -0
- package/dist/providers/openrouter/converters.test.d.ts +2 -0
- package/dist/providers/openrouter/converters.test.d.ts.map +1 -0
- package/dist/providers/openrouter/converters.test.js +179 -0
- package/dist/providers/openrouter/converters.test.js.map +1 -0
- package/dist/providers/openrouter/index.d.ts +4 -0
- package/dist/providers/openrouter/index.d.ts.map +1 -0
- package/dist/providers/openrouter/index.js +4 -0
- package/dist/providers/openrouter/index.js.map +1 -0
- package/dist/providers/openrouter/model.d.ts +14 -0
- package/dist/providers/openrouter/model.d.ts.map +1 -0
- package/dist/providers/openrouter/model.js +457 -0
- package/dist/providers/openrouter/model.js.map +1 -0
- package/dist/providers/openrouter/provider.d.ts +15 -0
- package/dist/providers/openrouter/provider.d.ts.map +1 -0
- package/dist/providers/openrouter/provider.js +21 -0
- package/dist/providers/openrouter/provider.js.map +1 -0
- package/dist/providers/openrouter/reasoning-content.test.d.ts +2 -0
- package/dist/providers/openrouter/reasoning-content.test.d.ts.map +1 -0
- package/dist/providers/openrouter/reasoning-content.test.js +122 -0
- package/dist/providers/openrouter/reasoning-content.test.js.map +1 -0
- package/dist/providers/openrouter/utils.d.ts +11 -0
- package/dist/providers/openrouter/utils.d.ts.map +1 -0
- package/dist/providers/openrouter/utils.js +29 -0
- package/dist/providers/openrouter/utils.js.map +1 -0
- package/dist/providers/openrouter.api.retry.test.d.ts +2 -0
- package/dist/providers/openrouter.api.retry.test.d.ts.map +1 -0
- package/dist/providers/openrouter.api.retry.test.js +148 -0
- package/dist/providers/openrouter.api.retry.test.js.map +1 -0
- package/dist/providers/openrouter.provider.d.ts +2 -0
- package/dist/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/providers/openrouter.provider.js +20 -2
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts +2 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.d.ts.map +1 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js +48 -0
- package/dist/providers/openrouter.provider.request-preprocessing.test.js.map +1 -0
- package/dist/providers/openrouter.test.d.ts +2 -0
- package/dist/providers/openrouter.test.d.ts.map +1 -0
- package/dist/providers/openrouter.test.js +1449 -0
- package/dist/providers/openrouter.test.js.map +1 -0
- package/dist/providers/registry.test.js +27 -2
- package/dist/providers/registry.test.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/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-clear-save.test.d.ts +2 -0
- package/dist/services/conversation-clear-save.test.d.ts.map +1 -0
- package/dist/services/conversation-clear-save.test.js +85 -0
- package/dist/services/conversation-clear-save.test.js.map +1 -0
- package/dist/services/conversation-history-repair.d.ts +25 -0
- package/dist/services/conversation-history-repair.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.js +227 -0
- package/dist/services/conversation-history-repair.js.map +1 -0
- package/dist/services/conversation-history-repair.test.d.ts +2 -0
- package/dist/services/conversation-history-repair.test.d.ts.map +1 -0
- package/dist/services/conversation-history-repair.test.js +76 -0
- package/dist/services/conversation-history-repair.test.js.map +1 -0
- package/dist/services/conversation-persistence.d.ts +7 -4
- package/dist/services/conversation-persistence.d.ts.map +1 -1
- package/dist/services/conversation-persistence.js +68 -15
- package/dist/services/conversation-persistence.js.map +1 -1
- package/dist/services/conversation-persistence.test.js +297 -2
- package/dist/services/conversation-persistence.test.js.map +1 -1
- package/dist/services/conversation-retry-policy.d.ts +7 -0
- package/dist/services/conversation-retry-policy.d.ts.map +1 -1
- package/dist/services/conversation-retry-policy.js +34 -0
- package/dist/services/conversation-retry-policy.js.map +1 -1
- package/dist/services/conversation-retry-policy.test.js +44 -2
- package/dist/services/conversation-retry-policy.test.js.map +1 -1
- package/dist/services/conversation-service.d.ts +3 -2
- package/dist/services/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation-service.js +11 -3
- package/dist/services/conversation-service.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 +2 -1
- package/dist/services/conversation-session.auto-approval.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +3 -1
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +160 -89
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/conversation-store.d.ts.map +1 -1
- package/dist/services/conversation-store.js +6 -5
- package/dist/services/conversation-store.js.map +1 -1
- package/dist/services/conversation-store.test.js +34 -0
- package/dist/services/conversation-store.test.js.map +1 -1
- package/dist/services/logging-contract.d.ts +1 -1
- package/dist/services/logging-service.d.ts +4 -0
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +91 -33
- 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 +0 -1
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/provider-traffic.d.ts +87 -0
- package/dist/services/provider-traffic.d.ts.map +1 -0
- package/dist/services/provider-traffic.js +545 -0
- package/dist/services/provider-traffic.js.map +1 -0
- package/dist/services/provider-traffic.test.d.ts +2 -0
- package/dist/services/provider-traffic.test.d.ts.map +1 -0
- package/dist/services/provider-traffic.test.js +383 -0
- package/dist/services/provider-traffic.test.js.map +1 -0
- package/dist/services/service-interfaces.d.ts +16 -0
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/settings-service.js +6 -6
- package/dist/services/settings-service.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 +284 -81
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.test.js +215 -15
- package/dist/services/shell-auto-approval-evaluator.test.js.map +1 -1
- package/dist/services/subagents/reasoning-inheritance.test.d.ts +2 -0
- package/dist/services/subagents/reasoning-inheritance.test.d.ts.map +1 -0
- package/dist/services/subagents/reasoning-inheritance.test.js +73 -0
- package/dist/services/subagents/reasoning-inheritance.test.js.map +1 -0
- package/dist/services/subagents/subagent-manager.d.ts +2 -0
- package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
- package/dist/services/subagents/subagent-manager.js +36 -5
- package/dist/services/subagents/subagent-manager.js.map +1 -1
- package/dist/services/subagents/subagent-manager.test.js +99 -0
- package/dist/services/subagents/subagent-manager.test.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/utils/command-safety/path-analysis.d.ts.map +1 -1
- package/dist/utils/command-safety/path-analysis.js +143 -35
- package/dist/utils/command-safety/path-analysis.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.js +348 -0
- package/dist/utils/command-safety.js.map +1 -0
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +19 -3
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +72 -0
- package/dist/utils/conversation-event-handler.test.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/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/package.json +1 -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 -54
- package/dist/hooks/use-path-completion.test.js.map +0 -1
- package/dist/providers/openai.provider.test.d.ts +0 -2
- package/dist/providers/openai.provider.test.d.ts.map +0 -1
- package/dist/providers/openai.provider.test.js +0 -22
- package/dist/providers/openai.provider.test.js.map +0 -1
- package/dist/utils/project-tree.d.ts +0 -14
- package/dist/utils/project-tree.d.ts.map +0 -1
- package/dist/utils/project-tree.js +0 -111
- package/dist/utils/project-tree.js.map +0 -1
- package/dist/utils/project-tree.test.d.ts +0 -2
- package/dist/utils/project-tree.test.d.ts.map +0 -1
- package/dist/utils/project-tree.test.js +0 -149
- package/dist/utils/project-tree.test.js.map +0 -1
- package/dist/utils/terminal-clear.d.ts +0 -7
- package/dist/utils/terminal-clear.d.ts.map +0 -1
- package/dist/utils/terminal-clear.js +0 -5
- package/dist/utils/terminal-clear.js.map +0 -1
- package/dist/utils/terminal-clear.test.d.ts +0 -2
- package/dist/utils/terminal-clear.test.d.ts.map +0 -1
- package/dist/utils/terminal-clear.test.js +0 -13
- package/dist/utils/terminal-clear.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openrouter.test.js","sourceRoot":"","sources":["../../source/providers/openrouter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,9 +51,34 @@ test('provider definitions have required properties', (t) => {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
test('openai provider has createRunner
|
|
54
|
+
test('openai provider has createRunner function', (t) => {
|
|
55
55
|
const provider = getProvider('openai');
|
|
56
|
-
t.is(provider?.createRunner,
|
|
56
|
+
t.is(typeof provider?.createRunner, 'function');
|
|
57
|
+
});
|
|
58
|
+
test('openai provider createRunner returns a runner instance', (t) => {
|
|
59
|
+
const provider = getProvider('openai');
|
|
60
|
+
const runner = provider?.createRunner?.({
|
|
61
|
+
settingsService: {
|
|
62
|
+
get: (key) => {
|
|
63
|
+
if (key === 'agent.model')
|
|
64
|
+
return 'gpt-5';
|
|
65
|
+
return undefined;
|
|
66
|
+
},
|
|
67
|
+
set: () => { },
|
|
68
|
+
},
|
|
69
|
+
loggingService: {
|
|
70
|
+
info: () => { },
|
|
71
|
+
warn: () => { },
|
|
72
|
+
error: () => { },
|
|
73
|
+
debug: () => { },
|
|
74
|
+
security: () => { },
|
|
75
|
+
setCorrelationId: () => { },
|
|
76
|
+
getCorrelationId: () => undefined,
|
|
77
|
+
clearCorrelationId: () => { },
|
|
78
|
+
getTrafficContext: () => null,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
t.truthy(runner);
|
|
57
82
|
});
|
|
58
83
|
test('openrouter provider has createRunner function', (t) => {
|
|
59
84
|
const provider = getProvider('openrouter');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../source/providers/registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC,CAAC;IAC3D,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC,OAAO,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,kCAAkC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;IAC/D,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACpC,CAAC,CAAC,EAAE,CAAC,OAAO,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,kCAAkC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,CAAC,CAAC,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAE5E,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,CAAC,CAAC,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;IACtE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,CAAC,CAAC,EAAE,EAAE;IAC1D,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IAEpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,CAAC,CAAC,EAAE,CAAC,OAAO,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAChF,CAAC,CAAC,EAAE,CAAC,OAAO,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,EAAE,kCAAkC,CAAC,CAAC;QAEhG,sBAAsB;QACtB,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,CAAC,CAAC,EAAE,CAAC,OAAO,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,EAAE,8CAA8C,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,QAAQ,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC9C,CAAC,CAAC,EAAE,CACF,OAAO,QAAQ,CAAC,kBAAkB,EAClC,UAAU,EACV,GAAG,QAAQ,CAAC,EAAE,oDAAoD,CACnE,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAChD,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAC5C,GAAG,QAAQ,CAAC,EAAE,mDAAmD,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../source/providers/registry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { OpenAI } from 'openai';
|
|
2
|
+
const client = new OpenAI();
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Evaluates if a bash command is safe to execute automatically
|
|
6
|
+
* @param {string} command - The bash command to evaluate
|
|
7
|
+
* @returns {Promise<{safe: boolean, reason: string}>}
|
|
8
|
+
*/
|
|
9
|
+
export async function isSafeCommand(command) {
|
|
10
|
+
try {
|
|
11
|
+
const response = await client.chat.completions.create({
|
|
12
|
+
model: 'gpt-4.1-mini',
|
|
13
|
+
messages: [{
|
|
14
|
+
role: 'system',
|
|
15
|
+
content: `You are a security expert evaluating bash commands for safety.
|
|
16
|
+
Analyze if the command is safe to execute automatically without user approval.
|
|
17
|
+
|
|
18
|
+
Consider DANGEROUS:
|
|
19
|
+
- Commands that delete, remove, or modify files/directories (rm, rmdir, mv to overwrite, >)
|
|
20
|
+
- Commands that change system configuration (chmod, chown, systemctl, etc.)
|
|
21
|
+
- Commands that install/uninstall software (apt, yum, npm install -g, pip install, etc.)
|
|
22
|
+
- Commands that modify user accounts or permissions
|
|
23
|
+
- Commands that interact with network in destructive ways (curl with -X DELETE, wget with -O to system files)
|
|
24
|
+
- Commands that execute arbitrary code from network sources
|
|
25
|
+
- Commands with sudo or elevated privileges
|
|
26
|
+
- Commands that shut down or reboot the system
|
|
27
|
+
- Commands that modify environment permanently (.bashrc, .profile, etc.)
|
|
28
|
+
- Commands that access sensitive files (/etc/passwd, ~/.ssh/, etc.)
|
|
29
|
+
|
|
30
|
+
Consider SAFE:
|
|
31
|
+
- Read-only commands (ls, cat, head, tail, grep, find without -exec, pwd, echo, etc.)
|
|
32
|
+
- Non-destructive information gathering (ps, top, df, du, whoami, uname, date, etc.)
|
|
33
|
+
- Simple calculations or text processing (wc, sort, uniq, awk for display, sed for display)
|
|
34
|
+
- Git read operations (git status, git log, git diff, git branch without creation)
|
|
35
|
+
- Package queries without installation (npm list, pip list, apt list)
|
|
36
|
+
- Commands that create new files in user directories (touch, echo >, mkdir in ~/)
|
|
37
|
+
|
|
38
|
+
Respond with ONLY a JSON object: {"safe": true/false, "reason": "brief explanation"}`
|
|
39
|
+
}, {
|
|
40
|
+
role: 'user',
|
|
41
|
+
content: `Evaluate this command: ${command}`
|
|
42
|
+
}],
|
|
43
|
+
temperature: 0,
|
|
44
|
+
response_format: {
|
|
45
|
+
type: 'json_object'
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const result = JSON.parse(response.choices[0].message.content);
|
|
49
|
+
return result;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
// If safety check fails, default to requiring approval (safe fallback)
|
|
52
|
+
return {
|
|
53
|
+
safe: false,
|
|
54
|
+
reason: `Safety check failed: ${error.message}`
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -7,9 +7,9 @@ export declare const CaseSchema: z.ZodObject<{
|
|
|
7
7
|
command: z.ZodString;
|
|
8
8
|
history: z.ZodArray<z.ZodObject<{
|
|
9
9
|
role: z.ZodEnum<{
|
|
10
|
+
system: "system";
|
|
10
11
|
assistant: "assistant";
|
|
11
12
|
user: "user";
|
|
12
|
-
system: "system";
|
|
13
13
|
}>;
|
|
14
14
|
content: z.ZodString;
|
|
15
15
|
}, z.core.$strip>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check_mock.d.ts","sourceRoot":"","sources":["../../source/services/check_mock.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createMockSettingsService } from './settings-service.mock.js';
|
|
2
|
+
console.log('--- Tesing MockSettingsService ---');
|
|
3
|
+
try {
|
|
4
|
+
// Test 1: Check if overrides work with nested object (expected to work)
|
|
5
|
+
const service1 = createMockSettingsService({
|
|
6
|
+
agent: { model: 'nested-model' }
|
|
7
|
+
});
|
|
8
|
+
console.log(`Nested override 'agent.model': ${service1.get('agent.model')}`);
|
|
9
|
+
// Test 2: Check if overrides work with dot notation (likely to fail based on my analysis)
|
|
10
|
+
const service2 = createMockSettingsService({
|
|
11
|
+
'agent.model': 'flat-model'
|
|
12
|
+
});
|
|
13
|
+
console.log(`Dot-notation override 'agent.model': ${service2.get('agent.model')}`);
|
|
14
|
+
// Test 3: Check directory creation
|
|
15
|
+
// We need to inspect the settingsDir of the service.
|
|
16
|
+
// We can't access private 'settingsDir', but we can check the known path if we know tmpdir
|
|
17
|
+
// actually, let's just see if we can infer anything or just rely on code analysis for that part.
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
console.error(err);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=check_mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check_mock.js","sourceRoot":"","sources":["../../source/services/check_mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAElD,IAAI,CAAC;IACH,wEAAwE;IACxE,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QACvC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;KACnC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE7E,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QACvC,aAAa,EAAE,YAAY;KAC9B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAEnF,mCAAmC;IACnC,qDAAqD;IACrD,2FAA2F;IAC3F,iGAAiG;AAEnG,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-clear-save.test.d.ts","sourceRoot":"","sources":["../../source/services/conversation-clear-save.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import os from 'node:os';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import * as persistenceModule from './conversation-persistence.js';
|
|
6
|
+
import { hasConversationContent } from '../app.js';
|
|
7
|
+
let testDir = '';
|
|
8
|
+
test.beforeEach(() => {
|
|
9
|
+
testDir = fs.mkdtempSync(path.join(os.tmpdir(), 'term2-cli-clear-test-'));
|
|
10
|
+
persistenceModule.setConversationsDirForTest(testDir);
|
|
11
|
+
});
|
|
12
|
+
test.afterEach.always(() => {
|
|
13
|
+
if (testDir && fs.existsSync(testDir)) {
|
|
14
|
+
fs.rmSync(testDir, { recursive: true, force: true });
|
|
15
|
+
}
|
|
16
|
+
persistenceModule.setConversationsDirForTest(null);
|
|
17
|
+
testDir = '';
|
|
18
|
+
});
|
|
19
|
+
test.serial('CLI clear behavior: saves old conversation, starts new in-memory, avoids empty save on exit', async (t) => {
|
|
20
|
+
// 1. Initial State
|
|
21
|
+
let effectiveSessionId = 'session-old';
|
|
22
|
+
let effectiveCreatedAt = new Date().toISOString();
|
|
23
|
+
let pendingMessages = [{ id: '1', sender: 'user', text: 'hello in old session' }];
|
|
24
|
+
const savedSessionIds = new Set();
|
|
25
|
+
const saveAndPrintResume = async (messages, overrideSessionId, overrideCreatedAt) => {
|
|
26
|
+
const sessionIdToSave = overrideSessionId || effectiveSessionId;
|
|
27
|
+
const createdAtToSave = overrideCreatedAt || effectiveCreatedAt;
|
|
28
|
+
if (savedSessionIds.has(sessionIdToSave)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (!hasConversationContent(messages)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
savedSessionIds.add(sessionIdToSave);
|
|
35
|
+
persistenceModule.saveConversation({
|
|
36
|
+
id: sessionIdToSave,
|
|
37
|
+
createdAt: createdAtToSave,
|
|
38
|
+
updatedAt: new Date().toISOString(),
|
|
39
|
+
projectPath: '/test/project',
|
|
40
|
+
model: 'gpt-4o',
|
|
41
|
+
provider: 'openai',
|
|
42
|
+
previousResponseId: null,
|
|
43
|
+
history: [],
|
|
44
|
+
messages: messages,
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
// 2. Perform Clear Action
|
|
48
|
+
// Simulating: onClear / handleClearConversation
|
|
49
|
+
if (hasConversationContent(pendingMessages)) {
|
|
50
|
+
await saveAndPrintResume(pendingMessages, effectiveSessionId, effectiveCreatedAt);
|
|
51
|
+
}
|
|
52
|
+
// Verify old session is saved to disk
|
|
53
|
+
const oldSessionFile = path.join(testDir, 'session-old.json');
|
|
54
|
+
t.true(fs.existsSync(oldSessionFile));
|
|
55
|
+
t.true(savedSessionIds.has('session-old'));
|
|
56
|
+
// Simulate parent onSessionIdChange callback
|
|
57
|
+
const onSessionIdChange = (newId, createdAt) => {
|
|
58
|
+
effectiveSessionId = newId;
|
|
59
|
+
effectiveCreatedAt = createdAt;
|
|
60
|
+
pendingMessages = []; // Reset pending messages immediately!
|
|
61
|
+
};
|
|
62
|
+
const newId = 'session-new';
|
|
63
|
+
const newCreatedAt = new Date().toISOString();
|
|
64
|
+
onSessionIdChange(newId, newCreatedAt);
|
|
65
|
+
// 3. Verify new session is only in-memory (not written to disk yet)
|
|
66
|
+
const newSessionFile = path.join(testDir, 'session-new.json');
|
|
67
|
+
t.false(fs.existsSync(newSessionFile));
|
|
68
|
+
t.is(effectiveSessionId, 'session-new');
|
|
69
|
+
t.deepEqual(pendingMessages, []);
|
|
70
|
+
// 4. Simulate exit without sending messages in new session
|
|
71
|
+
await saveAndPrintResume(pendingMessages);
|
|
72
|
+
// Verify new session file STILL does not exist (not saved because empty)
|
|
73
|
+
t.false(fs.existsSync(newSessionFile));
|
|
74
|
+
t.false(savedSessionIds.has('session-new'));
|
|
75
|
+
// 5. Send message in new session
|
|
76
|
+
pendingMessages = [{ id: '2', sender: 'user', text: 'first message in new session' }];
|
|
77
|
+
// Simulate exit now that new session has content
|
|
78
|
+
await saveAndPrintResume(pendingMessages);
|
|
79
|
+
// Verify new session is saved to disk
|
|
80
|
+
t.true(fs.existsSync(newSessionFile));
|
|
81
|
+
t.true(savedSessionIds.has('session-new'));
|
|
82
|
+
const savedData = JSON.parse(fs.readFileSync(newSessionFile, 'utf-8'));
|
|
83
|
+
t.is(savedData.messages[0].text, 'first message in new session');
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=conversation-clear-save.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-clear-save.test.js","sourceRoot":"","sources":["../../source/services/conversation-clear-save.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGnD,IAAI,OAAO,GAAG,EAAE,CAAC;AAEjB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1E,iBAAiB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE;IACzB,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,iBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,GAAG,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CACT,6FAA6F,EAC7F,KAAK,EAAE,CAAC,EAAE,EAAE;IACV,mBAAmB;IACnB,IAAI,kBAAkB,GAAG,aAAa,CAAC;IACvC,IAAI,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,eAAe,GAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAE7F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAmB,EAAE,iBAA0B,EAAE,iBAA0B,EAAE,EAAE;QAC/G,MAAM,eAAe,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;QAChE,MAAM,eAAe,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;QAEhE,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAErC,iBAAiB,CAAC,gBAAgB,CAAC;YACjC,EAAE,EAAE,eAAe;YACnB,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,kBAAkB,EAAE,IAAI;YACxB,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,QAAiB;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,0BAA0B;IAC1B,gDAAgD;IAChD,IAAI,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5C,MAAM,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACpF,CAAC;IAED,sCAAsC;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC9D,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,SAAiB,EAAE,EAAE;QAC7D,kBAAkB,GAAG,KAAK,CAAC;QAC3B,kBAAkB,GAAG,SAAS,CAAC;QAC/B,eAAe,GAAG,EAAE,CAAC,CAAC,sCAAsC;IAC9D,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,aAAa,CAAC;IAC5B,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAEvC,oEAAoE;IACpE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC9D,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEjC,2DAA2D;IAC3D,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAE1C,yEAAyE;IACzE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5C,iCAAiC;IACjC,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAEtF,iDAAiD;IACjD,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAE1C,sCAAsC;IACtC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;AACnE,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface ConversationHistoryRepairStats {
|
|
2
|
+
count: number;
|
|
3
|
+
duplicatePairs: number;
|
|
4
|
+
maxCopies: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ConversationHistoryRepair {
|
|
7
|
+
kind: 'replayed_full_history_prefix' | 'duplicated_tool_call_result_pair';
|
|
8
|
+
removedItems: number;
|
|
9
|
+
beforeCount: number;
|
|
10
|
+
afterCount: number;
|
|
11
|
+
duplicatePairsBefore: number;
|
|
12
|
+
maxCopiesBefore: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ConversationHistoryRepairSummary {
|
|
15
|
+
repaired: boolean;
|
|
16
|
+
removedItems: number;
|
|
17
|
+
repairs: ConversationHistoryRepair[];
|
|
18
|
+
statsBefore: ConversationHistoryRepairStats;
|
|
19
|
+
statsAfter: ConversationHistoryRepairStats;
|
|
20
|
+
}
|
|
21
|
+
export interface ConversationHistoryRepairResult extends ConversationHistoryRepairSummary {
|
|
22
|
+
history: unknown[];
|
|
23
|
+
}
|
|
24
|
+
export declare function repairConversationHistory(history: unknown[]): ConversationHistoryRepairResult;
|
|
25
|
+
//# sourceMappingURL=conversation-history-repair.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-history-repair.d.ts","sourceRoot":"","sources":["../../source/services/conversation-history-repair.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,8BAA8B,GAAG,kCAAkC,CAAC;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,WAAW,EAAE,8BAA8B,CAAC;IAC5C,UAAU,EAAE,8BAA8B,CAAC;CAC5C;AAED,MAAM,WAAW,+BAAgC,SAAQ,gCAAgC;IACvF,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AA0PD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,+BAA+B,CAsB7F"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
const asRecord = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : null;
|
|
2
|
+
const rawItem = (item) => {
|
|
3
|
+
const record = asRecord(item);
|
|
4
|
+
if (!record) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
return asRecord(record.rawItem) ?? record;
|
|
8
|
+
};
|
|
9
|
+
const callIdOf = (raw) => {
|
|
10
|
+
const callId = raw?.callId ?? raw?.call_id ?? raw?.tool_call_id;
|
|
11
|
+
return typeof callId === 'string' && callId ? callId : null;
|
|
12
|
+
};
|
|
13
|
+
const typeOf = (raw) => {
|
|
14
|
+
const type = raw?.type;
|
|
15
|
+
return typeof type === 'string' ? type : '';
|
|
16
|
+
};
|
|
17
|
+
const cloneHistory = (history) => {
|
|
18
|
+
try {
|
|
19
|
+
return structuredClone(history);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return history.slice();
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const itemSignature = (item) => {
|
|
26
|
+
const raw = rawItem(item);
|
|
27
|
+
const callId = callIdOf(raw);
|
|
28
|
+
const type = typeOf(raw);
|
|
29
|
+
if (callId) {
|
|
30
|
+
return `call:${callId}:${type}`;
|
|
31
|
+
}
|
|
32
|
+
const id = raw?.id;
|
|
33
|
+
if (typeof id === 'string' && id) {
|
|
34
|
+
return `id:${id}`;
|
|
35
|
+
}
|
|
36
|
+
const role = raw?.role;
|
|
37
|
+
let text = '';
|
|
38
|
+
const content = raw?.content;
|
|
39
|
+
if (typeof content === 'string') {
|
|
40
|
+
text = content;
|
|
41
|
+
}
|
|
42
|
+
else if (Array.isArray(content)) {
|
|
43
|
+
text = content
|
|
44
|
+
.filter((part) => typeof part?.text === 'string')
|
|
45
|
+
.map((part) => part.text)
|
|
46
|
+
.join('');
|
|
47
|
+
}
|
|
48
|
+
if (typeof role === 'string' && role) {
|
|
49
|
+
return `msg:${role}:${type}:${text}`;
|
|
50
|
+
}
|
|
51
|
+
const name = raw?.name;
|
|
52
|
+
return `item:${type}:${typeof name === 'string' ? name : ''}`;
|
|
53
|
+
};
|
|
54
|
+
const collectCallSignatures = (items) => {
|
|
55
|
+
const signatures = new Set();
|
|
56
|
+
for (const item of items) {
|
|
57
|
+
const signature = itemSignature(item);
|
|
58
|
+
if (signature.startsWith('call:')) {
|
|
59
|
+
signatures.add(signature);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return signatures;
|
|
63
|
+
};
|
|
64
|
+
const countDuplicatePairs = (items) => {
|
|
65
|
+
const calls = new Map();
|
|
66
|
+
const results = new Map();
|
|
67
|
+
for (const item of items) {
|
|
68
|
+
const raw = rawItem(item);
|
|
69
|
+
const callId = callIdOf(raw);
|
|
70
|
+
if (!callId) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const type = typeOf(raw);
|
|
74
|
+
if (type === 'function_call') {
|
|
75
|
+
calls.set(callId, (calls.get(callId) ?? 0) + 1);
|
|
76
|
+
}
|
|
77
|
+
else if (type === 'function_call_result') {
|
|
78
|
+
results.set(callId, (results.get(callId) ?? 0) + 1);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
let duplicatePairs = 0;
|
|
82
|
+
let maxCopies = 0;
|
|
83
|
+
for (const [callId, callCount] of calls) {
|
|
84
|
+
const copies = Math.min(callCount, results.get(callId) ?? 0);
|
|
85
|
+
if (copies < 2) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
duplicatePairs++;
|
|
89
|
+
maxCopies = Math.max(maxCopies, copies);
|
|
90
|
+
}
|
|
91
|
+
return { duplicatePairs, maxCopies };
|
|
92
|
+
};
|
|
93
|
+
const collectStats = (items) => ({
|
|
94
|
+
count: items.length,
|
|
95
|
+
...countDuplicatePairs(items),
|
|
96
|
+
});
|
|
97
|
+
const repairMetadata = (kind, before, after) => {
|
|
98
|
+
const beforeStats = collectStats(before);
|
|
99
|
+
return {
|
|
100
|
+
kind,
|
|
101
|
+
removedItems: before.length - after.length,
|
|
102
|
+
beforeCount: before.length,
|
|
103
|
+
afterCount: after.length,
|
|
104
|
+
duplicatePairsBefore: beforeStats.duplicatePairs,
|
|
105
|
+
maxCopiesBefore: beforeStats.maxCopies,
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
const collapseReplayedHistoryPrefixes = (input) => {
|
|
109
|
+
let collapsed = input;
|
|
110
|
+
const repairs = [];
|
|
111
|
+
while (collapsed.length > 1) {
|
|
112
|
+
const firstSignature = itemSignature(collapsed[0]);
|
|
113
|
+
let replayStart = -1;
|
|
114
|
+
for (let i = collapsed.length - 1; i > 0; i--) {
|
|
115
|
+
if (itemSignature(collapsed[i]) !== firstSignature) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const prefixCallSignatures = collectCallSignatures(collapsed.slice(0, i));
|
|
119
|
+
if (prefixCallSignatures.size === 0) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
const suffixCallSignatures = collectCallSignatures(collapsed.slice(i));
|
|
123
|
+
let allPrefixCallsReplayed = true;
|
|
124
|
+
for (const signature of prefixCallSignatures) {
|
|
125
|
+
if (!suffixCallSignatures.has(signature)) {
|
|
126
|
+
allPrefixCallsReplayed = false;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (allPrefixCallsReplayed) {
|
|
131
|
+
replayStart = i;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (replayStart === -1) {
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
const before = collapsed;
|
|
139
|
+
collapsed = collapsed.slice(replayStart);
|
|
140
|
+
repairs.push(repairMetadata('replayed_full_history_prefix', before, collapsed));
|
|
141
|
+
}
|
|
142
|
+
return { history: collapsed, repairs };
|
|
143
|
+
};
|
|
144
|
+
const repairDuplicatedToolPairs = (input) => {
|
|
145
|
+
const pairCounts = countDuplicatePairs(input);
|
|
146
|
+
if (pairCounts.duplicatePairs === 0) {
|
|
147
|
+
return { history: input, repairs: [] };
|
|
148
|
+
}
|
|
149
|
+
const calls = new Map();
|
|
150
|
+
const results = new Map();
|
|
151
|
+
for (const item of input) {
|
|
152
|
+
const raw = rawItem(item);
|
|
153
|
+
const callId = callIdOf(raw);
|
|
154
|
+
if (!callId) {
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
const type = typeOf(raw);
|
|
158
|
+
if (type === 'function_call') {
|
|
159
|
+
calls.set(callId, (calls.get(callId) ?? 0) + 1);
|
|
160
|
+
}
|
|
161
|
+
else if (type === 'function_call_result') {
|
|
162
|
+
results.set(callId, (results.get(callId) ?? 0) + 1);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
const duplicatedPairCallIds = new Set();
|
|
166
|
+
for (const [callId, callCount] of calls) {
|
|
167
|
+
if (callCount > 1 && (results.get(callId) ?? 0) > 1) {
|
|
168
|
+
duplicatedPairCallIds.add(callId);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (duplicatedPairCallIds.size === 0) {
|
|
172
|
+
return { history: input, repairs: [] };
|
|
173
|
+
}
|
|
174
|
+
const keptCalls = new Set();
|
|
175
|
+
const keptResults = new Set();
|
|
176
|
+
const repaired = input.filter((item) => {
|
|
177
|
+
const raw = rawItem(item);
|
|
178
|
+
const callId = callIdOf(raw);
|
|
179
|
+
if (!callId || !duplicatedPairCallIds.has(callId)) {
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
const type = typeOf(raw);
|
|
183
|
+
if (type === 'function_call') {
|
|
184
|
+
if (keptCalls.has(callId)) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
keptCalls.add(callId);
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
if (type === 'function_call_result') {
|
|
191
|
+
if (keptResults.has(callId)) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
keptResults.add(callId);
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
return true;
|
|
198
|
+
});
|
|
199
|
+
if (repaired.length === input.length) {
|
|
200
|
+
return { history: input, repairs: [] };
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
history: repaired,
|
|
204
|
+
repairs: [repairMetadata('duplicated_tool_call_result_pair', input, repaired)],
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
export function repairConversationHistory(history) {
|
|
208
|
+
const statsBefore = collectStats(history);
|
|
209
|
+
let repairedHistory = cloneHistory(history);
|
|
210
|
+
const repairs = [];
|
|
211
|
+
const prefixRepair = collapseReplayedHistoryPrefixes(repairedHistory);
|
|
212
|
+
repairedHistory = prefixRepair.history;
|
|
213
|
+
repairs.push(...prefixRepair.repairs);
|
|
214
|
+
const pairRepair = repairDuplicatedToolPairs(repairedHistory);
|
|
215
|
+
repairedHistory = pairRepair.history;
|
|
216
|
+
repairs.push(...pairRepair.repairs);
|
|
217
|
+
const statsAfter = collectStats(repairedHistory);
|
|
218
|
+
return {
|
|
219
|
+
history: repairedHistory,
|
|
220
|
+
repaired: repairedHistory.length !== history.length,
|
|
221
|
+
removedItems: history.length - repairedHistory.length,
|
|
222
|
+
repairs,
|
|
223
|
+
statsBefore,
|
|
224
|
+
statsAfter,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=conversation-history-repair.js.map
|