@qduc/term2 0.3.1 → 0.4.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 +46 -6
- package/dist/agent.js.map +1 -1
- package/dist/agent.test.d.ts +2 -0
- package/dist/agent.test.d.ts.map +1 -0
- package/dist/agent.test.js +198 -0
- package/dist/agent.test.js.map +1 -0
- package/dist/app.d.ts +5 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +30 -14
- package/dist/app.js.map +1 -1
- package/dist/app.startup-banner.test.d.ts +2 -0
- package/dist/app.startup-banner.test.d.ts.map +1 -0
- package/dist/app.startup-banner.test.js +11 -0
- package/dist/app.startup-banner.test.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -3
- package/dist/cli.js.map +1 -1
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +10 -10
- package/dist/components/ApprovalPrompt.js.map +1 -1
- package/dist/components/Banner.js +1 -1
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BottomArea.d.ts.map +1 -1
- package/dist/components/BottomArea.js +3 -4
- package/dist/components/BottomArea.js.map +1 -1
- package/dist/components/ChatMessage.d.ts +1 -0
- package/dist/components/ChatMessage.d.ts.map +1 -1
- package/dist/components/ChatMessage.js +2 -2
- package/dist/components/ChatMessage.js.map +1 -1
- package/dist/components/CommandMessage.d.ts.map +1 -1
- package/dist/components/CommandMessage.js +48 -3
- package/dist/components/CommandMessage.js.map +1 -1
- package/dist/components/CommandMessage.test.js +90 -0
- package/dist/components/CommandMessage.test.js.map +1 -1
- package/dist/components/Input/PopupManager.d.ts +3 -0
- package/dist/components/Input/PopupManager.d.ts.map +1 -1
- package/dist/components/Input/PopupManager.js +2 -2
- package/dist/components/Input/PopupManager.js.map +1 -1
- package/dist/components/Input/insertions.d.ts.map +1 -1
- package/dist/components/Input/insertions.js +2 -2
- package/dist/components/Input/insertions.js.map +1 -1
- package/dist/components/Input/popup-key-navigation.d.ts +18 -0
- package/dist/components/Input/popup-key-navigation.d.ts.map +1 -0
- package/dist/components/Input/popup-key-navigation.js +16 -0
- package/dist/components/Input/popup-key-navigation.js.map +1 -0
- package/dist/components/Input/popup-key-navigation.test.d.ts +2 -0
- package/dist/components/Input/popup-key-navigation.test.d.ts.map +1 -0
- package/dist/components/Input/popup-key-navigation.test.js +73 -0
- package/dist/components/Input/popup-key-navigation.test.js.map +1 -0
- package/dist/components/Input/popup-props.d.ts.map +1 -1
- package/dist/components/Input/popup-props.js +2 -0
- package/dist/components/Input/popup-props.js.map +1 -1
- package/dist/components/Input/triggers.d.ts +1 -0
- package/dist/components/Input/triggers.d.ts.map +1 -1
- package/dist/components/Input/triggers.js +1 -0
- package/dist/components/Input/triggers.js.map +1 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +130 -6
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/InputBox.test.js +42 -1
- package/dist/components/InputBox.test.js.map +1 -1
- package/dist/components/LiveResponse.d.ts +1 -3
- package/dist/components/LiveResponse.d.ts.map +1 -1
- package/dist/components/LiveResponse.js +5 -6
- package/dist/components/LiveResponse.js.map +1 -1
- package/dist/components/MarkdownRenderer.d.ts +5 -2
- package/dist/components/MarkdownRenderer.d.ts.map +1 -1
- package/dist/components/MarkdownRenderer.js +66 -45
- package/dist/components/MarkdownRenderer.js.map +1 -1
- package/dist/components/MessageList.d.ts +7 -1
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +98 -23
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/MessageList.test.js +177 -4
- package/dist/components/MessageList.test.js.map +1 -1
- package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
- package/dist/components/ModelSelectionMenu.js +54 -14
- package/dist/components/ModelSelectionMenu.js.map +1 -1
- package/dist/components/PathSelectionMenu.d.ts +2 -0
- package/dist/components/PathSelectionMenu.d.ts.map +1 -1
- package/dist/components/PathSelectionMenu.js +31 -12
- package/dist/components/PathSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.d.ts +1 -0
- package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
- package/dist/components/SettingsSelectionMenu.js +32 -23
- package/dist/components/SettingsSelectionMenu.js.map +1 -1
- package/dist/components/SettingsSelectionMenu.scroll.test.d.ts +2 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.d.ts.map +1 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.js +23 -0
- package/dist/components/SettingsSelectionMenu.scroll.test.js.map +1 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +14 -14
- package/dist/components/StatusBar.js.map +1 -1
- package/dist/components/StatusBar.test.d.ts +2 -0
- package/dist/components/StatusBar.test.d.ts.map +1 -0
- package/dist/components/StatusBar.test.js +30 -0
- package/dist/components/StatusBar.test.js.map +1 -0
- package/dist/contracts/conversation.d.ts +1 -0
- package/dist/contracts/conversation.d.ts.map +1 -1
- package/dist/env-setup.d.ts +2 -0
- package/dist/env-setup.d.ts.map +1 -0
- package/dist/env-setup.js +7 -0
- package/dist/env-setup.js.map +1 -0
- package/dist/env-setup.test.d.ts +2 -0
- package/dist/env-setup.test.d.ts.map +1 -0
- package/dist/env-setup.test.js +6 -0
- package/dist/env-setup.test.js.map +1 -0
- package/dist/hooks/path-completion-filter.d.ts +4 -0
- package/dist/hooks/path-completion-filter.d.ts.map +1 -0
- package/dist/hooks/path-completion-filter.js +27 -0
- package/dist/hooks/path-completion-filter.js.map +1 -0
- package/dist/hooks/path-completion-filter.test.d.ts +2 -0
- package/dist/hooks/path-completion-filter.test.d.ts.map +1 -0
- package/dist/hooks/path-completion-filter.test.js +100 -0
- package/dist/hooks/path-completion-filter.test.js.map +1 -0
- package/dist/hooks/use-app-commands.d.ts +3 -1
- package/dist/hooks/use-app-commands.d.ts.map +1 -1
- package/dist/hooks/use-app-commands.js +74 -6
- package/dist/hooks/use-app-commands.js.map +1 -1
- package/dist/hooks/use-app-commands.test.js +20 -3
- package/dist/hooks/use-app-commands.test.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +4 -9
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +32 -57
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/hooks/use-mode-handlers.d.ts +3 -1
- package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
- package/dist/hooks/use-mode-handlers.js +8 -0
- package/dist/hooks/use-mode-handlers.js.map +1 -1
- package/dist/hooks/use-model-selection.d.ts +1 -1
- package/dist/hooks/use-model-selection.d.ts.map +1 -1
- package/dist/hooks/use-model-selection.js +31 -16
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-model-selection.test.js +66 -1
- package/dist/hooks/use-model-selection.test.js.map +1 -1
- package/dist/hooks/use-path-completion.d.ts +1 -0
- package/dist/hooks/use-path-completion.d.ts.map +1 -1
- package/dist/hooks/use-path-completion.js +22 -17
- package/dist/hooks/use-path-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.d.ts +2 -2
- package/dist/hooks/use-settings-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-completion.js +53 -18
- package/dist/hooks/use-settings-completion.js.map +1 -1
- package/dist/hooks/use-settings-completion.scroll.test.d.ts +2 -0
- package/dist/hooks/use-settings-completion.scroll.test.d.ts.map +1 -0
- package/dist/hooks/use-settings-completion.scroll.test.js +55 -0
- package/dist/hooks/use-settings-completion.scroll.test.js.map +1 -0
- package/dist/hooks/use-settings-completion.test.js +69 -79
- package/dist/hooks/use-settings-completion.test.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.d.ts +1 -2
- package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
- package/dist/hooks/use-settings-value-completion.js +47 -19
- package/dist/hooks/use-settings-value-completion.js.map +1 -1
- package/dist/hooks/use-settings-value-completion.test.js +5 -18
- package/dist/hooks/use-settings-value-completion.test.js.map +1 -1
- package/dist/hooks/use-slash-commands.d.ts +7 -0
- package/dist/hooks/use-slash-commands.d.ts.map +1 -1
- package/dist/hooks/use-slash-commands.js +20 -13
- package/dist/hooks/use-slash-commands.js.map +1 -1
- package/dist/hooks/use-slash-commands.test.js +52 -1
- package/dist/hooks/use-slash-commands.test.js.map +1 -1
- package/dist/hooks/use-trigger-detection.d.ts.map +1 -1
- package/dist/hooks/use-trigger-detection.js +7 -3
- package/dist/hooks/use-trigger-detection.js.map +1 -1
- package/dist/hooks/use-trigger-detection.test.d.ts +2 -0
- package/dist/hooks/use-trigger-detection.test.d.ts.map +1 -0
- package/dist/hooks/use-trigger-detection.test.js +59 -0
- package/dist/hooks/use-trigger-detection.test.js.map +1 -0
- package/dist/lib/openai-agent-client.d.ts +21 -0
- package/dist/lib/openai-agent-client.d.ts.map +1 -1
- package/dist/lib/openai-agent-client.js +52 -17
- package/dist/lib/openai-agent-client.js.map +1 -1
- package/dist/lib/openai-agent-client.test.js +63 -0
- package/dist/lib/openai-agent-client.test.js.map +1 -1
- package/dist/lib/tool-invoke.d.ts +3 -2
- package/dist/lib/tool-invoke.d.ts.map +1 -1
- package/dist/lib/tool-invoke.js +69 -4
- package/dist/lib/tool-invoke.js.map +1 -1
- package/dist/lib/tool-invoke.test.js +25 -0
- package/dist/lib/tool-invoke.test.js.map +1 -1
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +3 -0
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/gpt-5-modern.md +66 -0
- package/dist/prompts/gpt-5.md +10 -0
- package/dist/prompts/lite.md +10 -27
- package/dist/prompts/prompt-selector.js +2 -2
- package/dist/prompts/prompt-selector.js.map +1 -1
- package/dist/prompts/prompt-selector.test.js +7 -2
- package/dist/prompts/prompt-selector.test.js.map +1 -1
- package/dist/prompts/prompt-selector.test.ts +22 -2
- package/dist/prompts/prompt-selector.ts +2 -2
- package/dist/prompts/search-via-shell.d.ts +7 -0
- package/dist/prompts/search-via-shell.d.ts.map +1 -0
- package/dist/prompts/search-via-shell.js +59 -0
- package/dist/prompts/search-via-shell.js.map +1 -0
- package/dist/prompts/search-via-shell.test.d.ts +2 -0
- package/dist/prompts/search-via-shell.test.d.ts.map +1 -0
- package/dist/prompts/search-via-shell.test.js +40 -0
- package/dist/prompts/search-via-shell.test.js.map +1 -0
- package/dist/prompts/search-via-shell.test.ts +47 -0
- package/dist/prompts/search-via-shell.ts +71 -0
- package/dist/prompts/simple.md +40 -186
- package/dist/providers/ai-sdk-agents-adapter.d.ts +7 -0
- package/dist/providers/ai-sdk-agents-adapter.d.ts.map +1 -0
- package/dist/providers/ai-sdk-agents-adapter.js +80 -0
- package/dist/providers/ai-sdk-agents-adapter.js.map +1 -0
- package/dist/providers/ai-sdk-agents-adapter.test.d.ts +2 -0
- package/dist/providers/ai-sdk-agents-adapter.test.d.ts.map +1 -0
- package/dist/providers/ai-sdk-agents-adapter.test.js +158 -0
- package/dist/providers/ai-sdk-agents-adapter.test.js.map +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts +14 -0
- package/dist/providers/ai-sdk-anthropic.provider.d.ts.map +1 -0
- package/dist/providers/ai-sdk-anthropic.provider.js +18 -0
- package/dist/providers/ai-sdk-anthropic.provider.js.map +1 -0
- package/dist/providers/ai-sdk-google.provider.d.ts +14 -0
- package/dist/providers/ai-sdk-google.provider.d.ts.map +1 -0
- package/dist/providers/ai-sdk-google.provider.js +18 -0
- package/dist/providers/ai-sdk-google.provider.js.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts +11 -0
- package/dist/providers/ai-sdk-logging-fetch.d.ts.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.js +127 -0
- package/dist/providers/ai-sdk-logging-fetch.js.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.test.d.ts +2 -0
- package/dist/providers/ai-sdk-logging-fetch.test.d.ts.map +1 -0
- package/dist/providers/ai-sdk-logging-fetch.test.js +107 -0
- package/dist/providers/ai-sdk-logging-fetch.test.js.map +1 -0
- package/dist/providers/ai-sdk-message-normalizer.d.ts +2 -2
- package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.js +92 -47
- package/dist/providers/ai-sdk-message-normalizer.js.map +1 -1
- package/dist/providers/ai-sdk-message-normalizer.test.js +256 -16
- package/dist/providers/ai-sdk-message-normalizer.test.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts +2 -0
- package/dist/providers/ai-sdk-openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.js +3 -3
- package/dist/providers/ai-sdk-openai-compatible.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js +25 -0
- package/dist/providers/ai-sdk-openai-compatible.provider.test.js.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.d.ts +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.js +2 -3
- package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
- package/dist/providers/ai-sdk-openrouter.provider.test.js +23 -0
- package/dist/providers/ai-sdk-openrouter.provider.test.js.map +1 -1
- package/dist/providers/common/openai-compatible-messages.d.ts +1 -2
- package/dist/providers/common/openai-compatible-messages.d.ts.map +1 -1
- package/dist/providers/common/openai-compatible-messages.js +22 -48
- package/dist/providers/common/openai-compatible-messages.js.map +1 -1
- package/dist/providers/common/openai-compatible-messages.test.js +93 -1
- package/dist/providers/common/openai-compatible-messages.test.js.map +1 -1
- package/dist/providers/custom-provider-adapter.test.d.ts +2 -0
- package/dist/providers/custom-provider-adapter.test.d.ts.map +1 -0
- package/dist/providers/custom-provider-adapter.test.js +52 -0
- package/dist/providers/custom-provider-adapter.test.js.map +1 -0
- package/dist/providers/openai-compatible-behavior-gate.test.d.ts +2 -0
- package/dist/providers/openai-compatible-behavior-gate.test.d.ts.map +1 -0
- package/dist/providers/openai-compatible-behavior-gate.test.js +216 -0
- package/dist/providers/openai-compatible-behavior-gate.test.js.map +1 -0
- package/dist/providers/openai-compatible.provider.d.ts +10 -1
- package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
- package/dist/providers/openai-compatible.provider.js +341 -31
- package/dist/providers/openai-compatible.provider.js.map +1 -1
- package/dist/providers/openai-compatible.provider.test.d.ts +2 -0
- package/dist/providers/openai-compatible.provider.test.d.ts.map +1 -0
- package/dist/providers/openai-compatible.provider.test.js +462 -0
- package/dist/providers/openai-compatible.provider.test.js.map +1 -0
- package/dist/providers/openai.provider.js +2 -1
- package/dist/providers/openai.provider.js.map +1 -1
- package/dist/providers/openai.provider.test.d.ts +2 -0
- package/dist/providers/openai.provider.test.d.ts.map +1 -0
- package/dist/providers/openai.provider.test.js +22 -0
- package/dist/providers/openai.provider.test.js.map +1 -0
- package/dist/providers/openrouter.provider.js +28 -2
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/scripts/eval-auto-approval/dataset.d.ts +1 -1
- package/dist/services/conversation-events.d.ts +3 -0
- package/dist/services/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.d.ts.map +1 -1
- package/dist/services/conversation-result-builder.js +11 -1
- package/dist/services/conversation-result-builder.js.map +1 -1
- package/dist/services/conversation-result-builder.test.js +72 -0
- package/dist/services/conversation-result-builder.test.js.map +1 -1
- package/dist/services/conversation-session.d.ts +2 -1
- package/dist/services/conversation-session.d.ts.map +1 -1
- package/dist/services/conversation-session.js +30 -1
- package/dist/services/conversation-session.js.map +1 -1
- package/dist/services/file-service.js +1 -1
- package/dist/services/file-service.js.map +1 -1
- package/dist/services/logging-contract.d.ts +3 -3
- package/dist/services/logging-service.d.ts.map +1 -1
- package/dist/services/logging-service.js +18 -1
- package/dist/services/logging-service.js.map +1 -1
- package/dist/services/model-service.d.ts.map +1 -1
- package/dist/services/model-service.js +16 -8
- package/dist/services/model-service.js.map +1 -1
- package/dist/services/model-service.test.js +67 -1
- package/dist/services/model-service.test.js.map +1 -1
- package/dist/services/rtk-service.d.ts +23 -0
- package/dist/services/rtk-service.d.ts.map +1 -0
- package/dist/services/rtk-service.js +165 -0
- package/dist/services/rtk-service.js.map +1 -0
- package/dist/services/rtk-service.test.d.ts +2 -0
- package/dist/services/rtk-service.test.d.ts.map +1 -0
- package/dist/services/rtk-service.test.js +239 -0
- package/dist/services/rtk-service.test.js.map +1 -0
- package/dist/services/settings-persistence.d.ts +1 -0
- package/dist/services/settings-persistence.d.ts.map +1 -1
- package/dist/services/settings-persistence.js +28 -5
- package/dist/services/settings-persistence.js.map +1 -1
- package/dist/services/settings-persistence.test.js +55 -3
- package/dist/services/settings-persistence.test.js.map +1 -1
- package/dist/services/settings-schema.d.ts +55 -16
- package/dist/services/settings-schema.d.ts.map +1 -1
- package/dist/services/settings-schema.js +35 -4
- package/dist/services/settings-schema.js.map +1 -1
- package/dist/services/settings-schema.test.d.ts +2 -0
- package/dist/services/settings-schema.test.d.ts.map +1 -0
- package/dist/services/settings-schema.test.js +77 -0
- package/dist/services/settings-schema.test.js.map +1 -0
- package/dist/services/settings-service.d.ts.map +1 -1
- package/dist/services/settings-service.js +7 -4
- package/dist/services/settings-service.js.map +1 -1
- package/dist/services/settings-sources.d.ts.map +1 -1
- package/dist/services/settings-sources.js +1 -0
- package/dist/services/settings-sources.js.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts +1 -1
- package/dist/services/shell-auto-approval-evaluator.d.ts.map +1 -1
- package/dist/services/shell-auto-approval-evaluator.js +8 -2
- package/dist/services/shell-auto-approval-evaluator.js.map +1 -1
- package/dist/services/stream-event-processor.d.ts.map +1 -1
- package/dist/services/stream-event-processor.js +10 -8
- package/dist/services/stream-event-processor.js.map +1 -1
- package/dist/services/stream-event-processor.test.js +32 -0
- package/dist/services/stream-event-processor.test.js.map +1 -1
- package/dist/services/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/terminal-result-collector.js +1 -0
- package/dist/services/terminal-result-collector.js.map +1 -1
- package/dist/services/terminal-result-collector.test.js +22 -0
- package/dist/services/terminal-result-collector.test.js.map +1 -1
- package/dist/tools/apply-patch.d.ts +12 -4
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +204 -208
- package/dist/tools/apply-patch.js.map +1 -1
- package/dist/tools/apply-patch.test.js +44 -0
- package/dist/tools/apply-patch.test.js.map +1 -1
- package/dist/tools/code-context.d.ts +27 -0
- package/dist/tools/code-context.d.ts.map +1 -0
- package/dist/tools/code-context.js +512 -0
- package/dist/tools/code-context.js.map +1 -0
- package/dist/tools/code-context.test.d.ts +2 -0
- package/dist/tools/code-context.test.d.ts.map +1 -0
- package/dist/tools/code-context.test.js +368 -0
- package/dist/tools/code-context.test.js.map +1 -0
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +3 -2
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/edit-healing.d.ts +4 -3
- package/dist/tools/edit-healing.d.ts.map +1 -1
- package/dist/tools/edit-healing.js +50 -20
- package/dist/tools/edit-healing.js.map +1 -1
- package/dist/tools/edit-healing.test.js +62 -0
- package/dist/tools/edit-healing.test.js.map +1 -1
- package/dist/tools/file-locks.d.ts +2 -0
- package/dist/tools/file-locks.d.ts.map +1 -0
- package/dist/tools/file-locks.js +21 -0
- package/dist/tools/file-locks.js.map +1 -0
- package/dist/tools/find-files.d.ts +1 -0
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +59 -139
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/find-files.test.js +5 -10
- package/dist/tools/find-files.test.js.map +1 -1
- package/dist/tools/grep.d.ts +1 -0
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +10 -46
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/language-providers.d.ts +48 -0
- package/dist/tools/language-providers.d.ts.map +1 -0
- package/dist/tools/language-providers.js +244 -0
- package/dist/tools/language-providers.js.map +1 -0
- package/dist/tools/search-replace.d.ts +5 -2
- package/dist/tools/search-replace.d.ts.map +1 -1
- package/dist/tools/search-replace.js +201 -106
- package/dist/tools/search-replace.js.map +1 -1
- package/dist/tools/search-replace.test.js +111 -1
- package/dist/tools/search-replace.test.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +5 -15
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/shell.d.ts +2 -0
- package/dist/tools/shell.d.ts.map +1 -1
- package/dist/tools/shell.js +15 -7
- package/dist/tools/shell.js.map +1 -1
- package/dist/tools/shell.test.js +28 -0
- package/dist/tools/shell.test.js.map +1 -1
- package/dist/tools/tool-names.d.ts +3 -0
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +3 -0
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/tool-names.test.js +4 -1
- package/dist/tools/tool-names.test.js.map +1 -1
- package/dist/tools/tool-parameter-schema.test.js +18 -0
- package/dist/tools/tool-parameter-schema.test.js.map +1 -1
- package/dist/utils/command-safety/constants.d.ts.map +1 -1
- package/dist/utils/command-safety/constants.js +30 -5
- package/dist/utils/command-safety/constants.js.map +1 -1
- package/dist/utils/command-safety/index.d.ts.map +1 -1
- package/dist/utils/command-safety/index.js +3 -0
- 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 +8 -0
- package/dist/utils/command-safety/path-analysis.js.map +1 -1
- package/dist/utils/command-safety.find.test.js +1 -1
- package/dist/utils/command-safety.find.test.js.map +1 -1
- package/dist/utils/command-safety.path.test.js +14 -0
- package/dist/utils/command-safety.path.test.js.map +1 -1
- package/dist/utils/command-safety.specialized-handlers.test.d.ts +2 -0
- package/dist/utils/command-safety.specialized-handlers.test.d.ts.map +1 -0
- package/dist/utils/command-safety.specialized-handlers.test.js +20 -0
- package/dist/utils/command-safety.specialized-handlers.test.js.map +1 -0
- package/dist/utils/conversation-event-handler.d.ts +8 -6
- package/dist/utils/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation-event-handler.js +166 -46
- package/dist/utils/conversation-event-handler.js.map +1 -1
- package/dist/utils/conversation-event-handler.test.js +391 -12
- package/dist/utils/conversation-event-handler.test.js.map +1 -1
- package/dist/utils/conversation-utils.d.ts +2 -0
- package/dist/utils/conversation-utils.d.ts.map +1 -1
- package/dist/utils/conversation-utils.js +2 -0
- package/dist/utils/conversation-utils.js.map +1 -1
- package/dist/utils/execute-shell.d.ts +5 -6
- package/dist/utils/execute-shell.d.ts.map +1 -1
- package/dist/utils/execute-shell.js +21 -11
- package/dist/utils/execute-shell.js.map +1 -1
- package/dist/utils/execute-shell.test.js +37 -6
- package/dist/utils/execute-shell.test.js.map +1 -1
- package/dist/utils/extract-command-messages.d.ts.map +1 -1
- package/dist/utils/extract-command-messages.js +4 -1
- package/dist/utils/extract-command-messages.js.map +1 -1
- package/dist/utils/flex-service-tier.d.ts +2 -0
- package/dist/utils/flex-service-tier.d.ts.map +1 -0
- package/dist/utils/flex-service-tier.js +20 -0
- package/dist/utils/flex-service-tier.js.map +1 -0
- package/dist/utils/flex-service-tier.test.d.ts +2 -0
- package/dist/utils/flex-service-tier.test.d.ts.map +1 -0
- package/dist/utils/flex-service-tier.test.js +25 -0
- package/dist/utils/flex-service-tier.test.js.map +1 -0
- package/dist/utils/log-truncation.d.ts +4 -2
- package/dist/utils/log-truncation.d.ts.map +1 -1
- package/dist/utils/log-truncation.js +143 -41
- package/dist/utils/log-truncation.js.map +1 -1
- package/dist/utils/log-truncation.test.js +131 -1
- package/dist/utils/log-truncation.test.js.map +1 -1
- package/dist/utils/project-tree.d.ts +14 -0
- package/dist/utils/project-tree.d.ts.map +1 -0
- package/dist/utils/project-tree.js +111 -0
- package/dist/utils/project-tree.js.map +1 -0
- package/dist/utils/project-tree.test.d.ts +2 -0
- package/dist/utils/project-tree.test.d.ts.map +1 -0
- package/dist/utils/project-tree.test.js +149 -0
- package/dist/utils/project-tree.test.js.map +1 -0
- package/dist/utils/provider-traffic-extractor.d.ts.map +1 -1
- package/dist/utils/provider-traffic-extractor.js +0 -1
- package/dist/utils/provider-traffic-extractor.js.map +1 -1
- package/dist/utils/streaming-session-factory.d.ts +1 -3
- package/dist/utils/streaming-session-factory.d.ts.map +1 -1
- package/dist/utils/streaming-session-factory.js +29 -10
- package/dist/utils/streaming-session-factory.js.map +1 -1
- package/dist/utils/streaming-session-factory.test.js +47 -15
- package/dist/utils/streaming-session-factory.test.js.map +1 -1
- package/dist/utils/subsequence-filter.d.ts +8 -0
- package/dist/utils/subsequence-filter.d.ts.map +1 -0
- package/dist/utils/subsequence-filter.js +47 -0
- package/dist/utils/subsequence-filter.js.map +1 -0
- package/dist/utils/terminal-clear.d.ts +7 -0
- package/dist/utils/terminal-clear.d.ts.map +1 -0
- package/dist/utils/terminal-clear.js +5 -0
- package/dist/utils/terminal-clear.js.map +1 -0
- package/dist/utils/terminal-clear.test.d.ts +2 -0
- package/dist/utils/terminal-clear.test.d.ts.map +1 -0
- package/dist/utils/terminal-clear.test.js +13 -0
- package/dist/utils/terminal-clear.test.js.map +1 -0
- package/dist/utils/token-usage.d.ts +13 -1
- package/dist/utils/token-usage.d.ts.map +1 -1
- package/dist/utils/token-usage.js +119 -28
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/utils/token-usage.test.js +135 -3
- package/dist/utils/token-usage.test.js.map +1 -1
- package/package.json +4 -4
- package/dist/providers/openai-compatible/api.d.ts +0 -17
- package/dist/providers/openai-compatible/api.d.ts.map +0 -1
- package/dist/providers/openai-compatible/api.js +0 -58
- package/dist/providers/openai-compatible/api.js.map +0 -1
- package/dist/providers/openai-compatible/model.d.ts +0 -17
- package/dist/providers/openai-compatible/model.d.ts.map +0 -1
- package/dist/providers/openai-compatible/model.js +0 -473
- package/dist/providers/openai-compatible/model.js.map +0 -1
- package/dist/providers/openai-compatible/provider.d.ts +0 -22
- package/dist/providers/openai-compatible/provider.d.ts.map +0 -1
- package/dist/providers/openai-compatible/provider.js +0 -43
- package/dist/providers/openai-compatible/provider.js.map +0 -1
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts +0 -2
- package/dist/providers/openai-compatible/reasoning-content.test.d.ts.map +0 -1
- package/dist/providers/openai-compatible/reasoning-content.test.js +0 -258
- package/dist/providers/openai-compatible/reasoning-content.test.js.map +0 -1
- package/dist/providers/openai-compatible/utils.d.ts +0 -3
- package/dist/providers/openai-compatible/utils.d.ts.map +0 -1
- package/dist/providers/openai-compatible/utils.js +0 -11
- package/dist/providers/openai-compatible/utils.js.map +0 -1
- package/dist/providers/openrouter/api.d.ts +0 -39
- package/dist/providers/openrouter/api.d.ts.map +0 -1
- package/dist/providers/openrouter/api.js +0 -164
- package/dist/providers/openrouter/api.js.map +0 -1
- package/dist/providers/openrouter/converters.d.ts +0 -8
- package/dist/providers/openrouter/converters.d.ts.map +0 -1
- package/dist/providers/openrouter/converters.js +0 -391
- package/dist/providers/openrouter/converters.js.map +0 -1
- package/dist/providers/openrouter/converters.test.d.ts +0 -2
- package/dist/providers/openrouter/converters.test.d.ts.map +0 -1
- package/dist/providers/openrouter/converters.test.js +0 -179
- package/dist/providers/openrouter/converters.test.js.map +0 -1
- package/dist/providers/openrouter/index.d.ts +0 -4
- package/dist/providers/openrouter/index.d.ts.map +0 -1
- package/dist/providers/openrouter/index.js +0 -4
- package/dist/providers/openrouter/index.js.map +0 -1
- package/dist/providers/openrouter/model.d.ts +0 -14
- package/dist/providers/openrouter/model.d.ts.map +0 -1
- package/dist/providers/openrouter/model.js +0 -457
- package/dist/providers/openrouter/model.js.map +0 -1
- package/dist/providers/openrouter/provider.d.ts +0 -15
- package/dist/providers/openrouter/provider.d.ts.map +0 -1
- package/dist/providers/openrouter/provider.js +0 -21
- package/dist/providers/openrouter/provider.js.map +0 -1
- package/dist/providers/openrouter/reasoning-content.test.d.ts +0 -2
- package/dist/providers/openrouter/reasoning-content.test.d.ts.map +0 -1
- package/dist/providers/openrouter/reasoning-content.test.js +0 -122
- package/dist/providers/openrouter/reasoning-content.test.js.map +0 -1
- package/dist/providers/openrouter/utils.d.ts +0 -11
- package/dist/providers/openrouter/utils.d.ts.map +0 -1
- package/dist/providers/openrouter/utils.js +0 -29
- package/dist/providers/openrouter/utils.js.map +0 -1
- package/dist/providers/openrouter.api.retry.test.d.ts +0 -2
- package/dist/providers/openrouter.api.retry.test.d.ts.map +0 -1
- package/dist/providers/openrouter.api.retry.test.js +0 -148
- package/dist/providers/openrouter.api.retry.test.js.map +0 -1
- package/dist/providers/openrouter.test.d.ts +0 -2
- package/dist/providers/openrouter.test.d.ts.map +0 -1
- package/dist/providers/openrouter.test.js +0 -1449
- package/dist/providers/openrouter.test.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ConversationService } from '../services/conversation-service.js';
|
|
2
2
|
import type { ILoggingService } from '../services/service-interfaces.js';
|
|
3
3
|
import type { CommandMessage as BaseCommandMessage } from '../tools/types.js';
|
|
4
|
-
import type { NormalizedUsage } from '../utils/token-usage.js';
|
|
4
|
+
import type { NormalizedUsage, UsageAccumulator } from '../utils/token-usage.js';
|
|
5
5
|
import type { PendingApproval, ReasoningEffortSetting } from '../contracts/conversation.js';
|
|
6
6
|
import { type UserTurn } from '../types/user-turn.js';
|
|
7
7
|
export interface UserMessage {
|
|
@@ -13,6 +13,7 @@ export interface BotMessage {
|
|
|
13
13
|
id: string;
|
|
14
14
|
sender: 'bot';
|
|
15
15
|
text: string;
|
|
16
|
+
status?: 'streaming' | 'finalized';
|
|
16
17
|
reasoningText?: string;
|
|
17
18
|
}
|
|
18
19
|
export type CommandMessage = BaseCommandMessage & {
|
|
@@ -29,17 +30,12 @@ export interface ReasoningMessage {
|
|
|
29
30
|
text: string;
|
|
30
31
|
}
|
|
31
32
|
export type Message = UserMessage | BotMessage | CommandMessage | SystemMessage | ReasoningMessage;
|
|
32
|
-
|
|
33
|
-
id: string;
|
|
34
|
-
sender: 'bot';
|
|
35
|
-
text: string;
|
|
36
|
-
}
|
|
37
|
-
export declare const useConversation: ({ conversationService, loggingService, }: {
|
|
33
|
+
export declare const useConversation: ({ conversationService, loggingService, usageAccumulator, }: {
|
|
38
34
|
conversationService: ConversationService;
|
|
39
35
|
loggingService: ILoggingService;
|
|
36
|
+
usageAccumulator?: UsageAccumulator;
|
|
40
37
|
}) => {
|
|
41
38
|
messages: Message[];
|
|
42
|
-
liveResponse: LiveResponse | null;
|
|
43
39
|
lastUsage: NormalizedUsage | null;
|
|
44
40
|
pendingApproval: PendingApproval | null;
|
|
45
41
|
waitingForApproval: boolean;
|
|
@@ -56,5 +52,4 @@ export declare const useConversation: ({ conversationService, loggingService, }:
|
|
|
56
52
|
addSystemMessage: (text: string) => void;
|
|
57
53
|
addShellMessage: (command: string, output: string, exitCode: number | null, timedOut: boolean) => void;
|
|
58
54
|
};
|
|
59
|
-
export {};
|
|
60
55
|
//# sourceMappingURL=use-conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKzE,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAwB,eAAe,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMlH,OAAO,EAAmE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEvH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAKnG,eAAO,MAAM,eAAe,GAAI,4DAI7B;IACD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;;;;;;;;6BAuFiB,MAAM,GAAG,QAAQ;qCAwFhB,MAAM,oBAAoB,MAAM;;;sBA2KvC,MAAM;iCAOL,sBAAsB;mCAOhB,MAAM;6BAOd,MAAM;+BAaH,MAAM,UAAU,MAAM,YAAY,MAAM,GAAG,IAAI,YAAY,OAAO;CA4C/E,CAAC"}
|
|
@@ -1,33 +1,21 @@
|
|
|
1
1
|
import { useCallback, useRef, useState } from 'react';
|
|
2
2
|
import { isAbortLikeError } from '../utils/error-helpers.js';
|
|
3
|
-
import { createStreamingUpdateCoordinator } from '../utils/streaming-updater.js';
|
|
4
3
|
import { appendMessagesCapped } from '../utils/message-buffer.js';
|
|
5
4
|
import { createMessageId } from './message-id.js';
|
|
6
5
|
import { enhanceApiKeyError, isMaxTurnsError } from '../utils/conversation-utils.js';
|
|
7
6
|
import { createStreamingSession } from '../utils/streaming-session-factory.js';
|
|
8
7
|
import { annotateApprovedCommandMessage, filterPendingCommandMessagesForApproval, } from '../services/approval-presentation-policy.js';
|
|
9
8
|
import { formatUserTurnForDisplay, hasUserTurnContent, normalizeUserTurn } from '../types/user-turn.js';
|
|
10
|
-
const LIVE_RESPONSE_THROTTLE_MS = 150;
|
|
11
9
|
const REASONING_RESPONSE_THROTTLE_MS = 200;
|
|
12
10
|
const MAX_MESSAGE_COUNT = 300;
|
|
13
|
-
export const useConversation = ({ conversationService, loggingService, }) => {
|
|
11
|
+
export const useConversation = ({ conversationService, loggingService, usageAccumulator, }) => {
|
|
14
12
|
const [messages, setMessages] = useState([]);
|
|
15
13
|
const [waitingForApproval, setWaitingForApproval] = useState(false);
|
|
16
14
|
const [waitingForRejectionReason, setWaitingForRejectionReason] = useState(false);
|
|
17
15
|
const [pendingApproval, setPendingApproval] = useState(null);
|
|
18
16
|
const [isProcessing, setIsProcessing] = useState(false);
|
|
19
|
-
const [liveResponse, setLiveResponse] = useState(null);
|
|
20
17
|
const [lastUsage, setLastUsage] = useState(null);
|
|
21
18
|
const approvedContextRef = useRef(null);
|
|
22
|
-
const createLiveResponseUpdater = useCallback((liveMessageId) => createStreamingUpdateCoordinator((text) => {
|
|
23
|
-
setLiveResponse((prev) => prev && prev.id === liveMessageId
|
|
24
|
-
? { ...prev, text }
|
|
25
|
-
: {
|
|
26
|
-
id: liveMessageId,
|
|
27
|
-
sender: 'bot',
|
|
28
|
-
text,
|
|
29
|
-
});
|
|
30
|
-
}, LIVE_RESPONSE_THROTTLE_MS), []);
|
|
31
19
|
const trimMessages = useCallback((list) => appendMessagesCapped(list, [], MAX_MESSAGE_COUNT), []);
|
|
32
20
|
const appendMessages = useCallback((additions) => {
|
|
33
21
|
if (!additions.length)
|
|
@@ -45,22 +33,15 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
45
33
|
}
|
|
46
34
|
return approvedMessage;
|
|
47
35
|
}, []);
|
|
48
|
-
const applyServiceResult = useCallback((result,
|
|
36
|
+
const applyServiceResult = useCallback((result, textWasFlushed) => {
|
|
49
37
|
if (!result) {
|
|
50
38
|
return;
|
|
51
39
|
}
|
|
52
40
|
if (result.type === 'approval_required') {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const textMessage = {
|
|
57
|
-
id: createMessageId(),
|
|
58
|
-
sender: 'bot',
|
|
59
|
-
text: remainingText,
|
|
60
|
-
};
|
|
61
|
-
messagesToAdd.push(textMessage);
|
|
41
|
+
if (result.usage) {
|
|
42
|
+
usageAccumulator?.add(result.usage);
|
|
43
|
+
setLastUsage(result.usage);
|
|
62
44
|
}
|
|
63
|
-
appendMessages(messagesToAdd);
|
|
64
45
|
// Don't also show the transient pending/running command message.
|
|
65
46
|
setMessages((prev) => trimMessages(filterPendingCommandMessagesForApproval(prev, result.approval)));
|
|
66
47
|
setPendingApproval({
|
|
@@ -71,18 +52,18 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
71
52
|
setWaitingForApproval(true);
|
|
72
53
|
return;
|
|
73
54
|
}
|
|
74
|
-
|
|
75
|
-
// Only add final text if there's new text after the commands
|
|
76
|
-
const shouldAddBotMessage = !textWasFlushed || remainingText?.trim();
|
|
77
|
-
const finalText = remainingText?.trim() ? remainingText : result.finalText;
|
|
55
|
+
const finalText = result.finalText;
|
|
78
56
|
setMessages((prev) => {
|
|
79
|
-
const messagesToAdd = [];
|
|
80
57
|
const annotatedCommands = result.commandMessages.map(annotateCommandMessage);
|
|
81
|
-
let next = [...prev, ...
|
|
82
|
-
|
|
58
|
+
let next = [...prev, ...annotatedCommands];
|
|
59
|
+
// Append finalText only when streaming never pushed it via text_delta/final events.
|
|
60
|
+
// Providers that skip streaming (synchronous or non-interactive) may return text
|
|
61
|
+
// solely in result.finalText without emitting any text_delta events.
|
|
62
|
+
if (finalText?.trim() && !textWasFlushed) {
|
|
83
63
|
const botMessage = {
|
|
84
64
|
id: createMessageId(),
|
|
85
65
|
sender: 'bot',
|
|
66
|
+
status: 'finalized',
|
|
86
67
|
text: finalText,
|
|
87
68
|
};
|
|
88
69
|
next = [...next, botMessage];
|
|
@@ -92,9 +73,10 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
92
73
|
setWaitingForApproval(false);
|
|
93
74
|
setPendingApproval(null);
|
|
94
75
|
if (result.usage) {
|
|
76
|
+
usageAccumulator?.add(result.usage);
|
|
95
77
|
setLastUsage(result.usage);
|
|
96
78
|
}
|
|
97
|
-
}, [annotateCommandMessage,
|
|
79
|
+
}, [annotateCommandMessage, trimMessages, usageAccumulator]);
|
|
98
80
|
const sendUserMessage = useCallback(async (input) => {
|
|
99
81
|
const turn = normalizeUserTurn(input);
|
|
100
82
|
if (!hasUserTurnContent(turn)) {
|
|
@@ -107,22 +89,21 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
107
89
|
};
|
|
108
90
|
appendMessages([userMessage]);
|
|
109
91
|
setIsProcessing(true);
|
|
110
|
-
const {
|
|
92
|
+
const { botResponseUpdater, reasoningUpdater, applyConversationEvent, streamingState } = createStreamingSession({
|
|
111
93
|
appendMessages,
|
|
112
94
|
setMessages,
|
|
113
|
-
setLiveResponse,
|
|
114
95
|
trimMessages,
|
|
115
96
|
annotateCommandMessage,
|
|
116
97
|
loggingService,
|
|
117
98
|
setLastUsage,
|
|
118
|
-
createLiveResponseUpdater,
|
|
119
99
|
reasoningThrottleMs: REASONING_RESPONSE_THROTTLE_MS,
|
|
120
100
|
}, 'sendUserMessage');
|
|
121
101
|
try {
|
|
122
102
|
const result = await conversationService.sendMessage(turn, {
|
|
123
103
|
onEvent: applyConversationEvent,
|
|
124
104
|
});
|
|
125
|
-
|
|
105
|
+
applyConversationEvent({ type: 'final', finalText: '' });
|
|
106
|
+
applyServiceResult(result, streamingState.textWasFlushed);
|
|
126
107
|
}
|
|
127
108
|
catch (error) {
|
|
128
109
|
loggingService.error('Error in sendUserMessage', {
|
|
@@ -153,6 +134,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
153
134
|
const botErrorMessage = {
|
|
154
135
|
id: createMessageId(),
|
|
155
136
|
sender: 'bot',
|
|
137
|
+
status: 'finalized',
|
|
156
138
|
text: `Error: ${errorMessage}`,
|
|
157
139
|
};
|
|
158
140
|
appendMessages([botErrorMessage]);
|
|
@@ -165,13 +147,12 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
165
147
|
loggingService.debug('sendUserMessage finally block - resetting state');
|
|
166
148
|
// flushLog();
|
|
167
149
|
reasoningUpdater.flush();
|
|
168
|
-
|
|
169
|
-
setLiveResponse(null);
|
|
150
|
+
botResponseUpdater.cancel();
|
|
170
151
|
setIsProcessing(false);
|
|
171
152
|
// Don't reset waitingForApproval here - it's set by applyServiceResult
|
|
172
153
|
// and should only be cleared by handleApprovalDecision or stopProcessing
|
|
173
154
|
}
|
|
174
|
-
}, [conversationService, applyServiceResult, appendMessages, trimMessages, loggingService
|
|
155
|
+
}, [conversationService, applyServiceResult, appendMessages, trimMessages, loggingService]);
|
|
175
156
|
const handleApprovalDecision = useCallback(async (answer, rejectionReason) => {
|
|
176
157
|
if (!waitingForApproval || !pendingApproval) {
|
|
177
158
|
return;
|
|
@@ -194,15 +175,13 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
194
175
|
// Handle "y" answer for max turns - continue execution automatically
|
|
195
176
|
if (isMaxTurnsPrompt && answer === 'y') {
|
|
196
177
|
setIsProcessing(true);
|
|
197
|
-
const {
|
|
178
|
+
const { botResponseUpdater, reasoningUpdater, applyConversationEvent, streamingState } = createStreamingSession({
|
|
198
179
|
appendMessages,
|
|
199
180
|
setMessages,
|
|
200
|
-
setLiveResponse,
|
|
201
181
|
trimMessages,
|
|
202
182
|
annotateCommandMessage,
|
|
203
183
|
loggingService,
|
|
204
184
|
setLastUsage,
|
|
205
|
-
createLiveResponseUpdater,
|
|
206
185
|
reasoningThrottleMs: REASONING_RESPONSE_THROTTLE_MS,
|
|
207
186
|
}, 'maxTurnsContinuation');
|
|
208
187
|
try {
|
|
@@ -211,7 +190,8 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
211
190
|
const result = await conversationService.sendMessage(continuationMessage, {
|
|
212
191
|
onEvent: applyConversationEvent,
|
|
213
192
|
});
|
|
214
|
-
|
|
193
|
+
applyConversationEvent({ type: 'final', finalText: '' });
|
|
194
|
+
applyServiceResult(result, streamingState.textWasFlushed);
|
|
215
195
|
}
|
|
216
196
|
catch (error) {
|
|
217
197
|
loggingService.error('Error in continuation after max turns', {
|
|
@@ -228,6 +208,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
228
208
|
const botErrorMessage = {
|
|
229
209
|
id: createMessageId(),
|
|
230
210
|
sender: 'bot',
|
|
211
|
+
status: 'finalized',
|
|
231
212
|
text: `Error: ${errorMessage}`,
|
|
232
213
|
};
|
|
233
214
|
appendMessages([botErrorMessage]);
|
|
@@ -237,29 +218,27 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
237
218
|
finally {
|
|
238
219
|
// flushLog();
|
|
239
220
|
reasoningUpdater.flush();
|
|
240
|
-
|
|
241
|
-
setLiveResponse(null);
|
|
221
|
+
botResponseUpdater.cancel();
|
|
242
222
|
setIsProcessing(false);
|
|
243
223
|
}
|
|
244
224
|
return;
|
|
245
225
|
}
|
|
246
226
|
setIsProcessing(true);
|
|
247
|
-
const {
|
|
227
|
+
const { botResponseUpdater, reasoningUpdater, applyConversationEvent, streamingState } = createStreamingSession({
|
|
248
228
|
appendMessages,
|
|
249
229
|
setMessages,
|
|
250
|
-
setLiveResponse,
|
|
251
230
|
trimMessages,
|
|
252
231
|
annotateCommandMessage,
|
|
253
232
|
loggingService,
|
|
254
233
|
setLastUsage,
|
|
255
|
-
createLiveResponseUpdater,
|
|
256
234
|
reasoningThrottleMs: REASONING_RESPONSE_THROTTLE_MS,
|
|
257
235
|
}, 'approvalDecision');
|
|
258
236
|
try {
|
|
259
237
|
const result = await conversationService.handleApprovalDecision(answer, rejectionReason, {
|
|
260
238
|
onEvent: applyConversationEvent,
|
|
261
239
|
});
|
|
262
|
-
|
|
240
|
+
applyConversationEvent({ type: 'final', finalText: '' });
|
|
241
|
+
applyServiceResult(result, streamingState.textWasFlushed);
|
|
263
242
|
}
|
|
264
243
|
catch (error) {
|
|
265
244
|
loggingService.error('Error in handleApprovalDecision', {
|
|
@@ -276,6 +255,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
276
255
|
const botErrorMessage = {
|
|
277
256
|
id: createMessageId(),
|
|
278
257
|
sender: 'bot',
|
|
258
|
+
status: 'finalized',
|
|
279
259
|
text: `Error: ${errorMessage}`,
|
|
280
260
|
};
|
|
281
261
|
appendMessages([botErrorMessage]);
|
|
@@ -285,10 +265,8 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
285
265
|
}
|
|
286
266
|
finally {
|
|
287
267
|
loggingService.debug('handleApprovalDecision finally block - resetting state');
|
|
288
|
-
// flushLog();
|
|
289
268
|
reasoningUpdater.flush();
|
|
290
|
-
|
|
291
|
-
setLiveResponse(null);
|
|
269
|
+
botResponseUpdater.cancel();
|
|
292
270
|
setIsProcessing(false);
|
|
293
271
|
// Don't reset approval state here - if the result is another approval_required,
|
|
294
272
|
// applyServiceResult will set waitingForApproval=true, but this finally block
|
|
@@ -302,7 +280,6 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
302
280
|
appendMessages,
|
|
303
281
|
trimMessages,
|
|
304
282
|
loggingService,
|
|
305
|
-
createLiveResponseUpdater,
|
|
306
283
|
]);
|
|
307
284
|
const clearConversation = useCallback(() => {
|
|
308
285
|
conversationService.reset();
|
|
@@ -312,9 +289,9 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
312
289
|
setPendingApproval(null);
|
|
313
290
|
approvedContextRef.current = null;
|
|
314
291
|
setIsProcessing(false);
|
|
315
|
-
setLiveResponse(null);
|
|
316
292
|
setLastUsage(null);
|
|
317
|
-
|
|
293
|
+
usageAccumulator?.reset();
|
|
294
|
+
}, [conversationService, usageAccumulator]);
|
|
318
295
|
const stopProcessing = useCallback(() => {
|
|
319
296
|
conversationService.abort();
|
|
320
297
|
setWaitingForApproval(false);
|
|
@@ -322,7 +299,6 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
322
299
|
setPendingApproval(null);
|
|
323
300
|
approvedContextRef.current = null;
|
|
324
301
|
setIsProcessing(false);
|
|
325
|
-
setLiveResponse(null);
|
|
326
302
|
}, [conversationService]);
|
|
327
303
|
const setModel = useCallback((model) => {
|
|
328
304
|
conversationService.setModel(model);
|
|
@@ -366,7 +342,6 @@ export const useConversation = ({ conversationService, loggingService, }) => {
|
|
|
366
342
|
}, [appendMessages]);
|
|
367
343
|
return {
|
|
368
344
|
messages,
|
|
369
|
-
liveResponse,
|
|
370
345
|
lastUsage,
|
|
371
346
|
pendingApproval,
|
|
372
347
|
waitingForApproval,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-conversation.js","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAI/E,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,GAExC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAuCvH,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAC3C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,mBAAmB,EACnB,cAAc,GAIf,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7E,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3F,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACrF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IACpE,MAAM,yBAAyB,GAAG,WAAW,CAC3C,CAAC,aAAqB,EAAE,EAAE,CACxB,gCAAgC,CAAC,CAAC,IAAY,EAAE,EAAE;QAChD,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa;YAC/B,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;YACnB,CAAC,CAAC;gBACE,EAAE,EAAE,aAAa;gBACjB,MAAM,EAAE,KAAK;gBACb,IAAI;aACL,CACN,CAAC;IACJ,CAAC,EAAE,yBAAyB,CAAC,EAC/B,EAAE,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAAe,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7G,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,SAAoB,EAAE,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAC9B,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CAAC,CAAC,MAAsB,EAAkB,EAAE;QACpF,MAAM,eAAe,GAAG,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,iBAAiB,GACrB,eAAe,KAAK,MAAM;YAC1B,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM;YACnC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC7C,kBAAkB,CAAC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC;QAE3D,IAAI,iBAAiB,EAAE,CAAC;YACtB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAmC,EAAE,aAAsB,EAAE,cAAwB,EAAE,EAAE;QACxF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,qEAAqE;YACrE,MAAM,aAAa,GAAc,EAAE,CAAC;YAEpC,IAAI,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAe;oBAC9B,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,aAAa;iBACpB,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;YAED,cAAc,CAAC,aAAa,CAAC,CAAC;YAE9B,iEAAiE;YACjE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,uCAAuC,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpG,kBAAkB,CAAC;gBACjB,GAAG,MAAM,CAAC,QAAQ;gBAClB,WAAW,EAAG,MAAM,CAAC,QAAgB,CAAC,WAAW;aAClD,CAAC,CAAC;YACH,gFAAgF;YAChF,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,6DAA6D;QAC7D,MAAM,mBAAmB,GAAG,CAAC,cAAc,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAE3E,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,aAAa,GAAc,EAAE,CAAC;YACpC,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAE7E,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,iBAAiB,CAAC,CAAC;YAE7D,IAAI,mBAAmB,IAAI,SAAS,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAe;oBAC7B,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,SAAS;iBAChB,CAAC;gBACF,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,EACD,CAAC,sBAAsB,EAAE,cAAc,EAAE,YAAY,CAAC,CACvD,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,KAAwB,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAgB;YAC/B,EAAE,EAAE,eAAe,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC;SACrC,CAAC;QACF,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,GACrF,sBAAsB,CACpB;YACE,cAAc;YACd,WAAW;YACX,eAAe;YACf,YAAY;YACZ,sBAAsB;YACtB,cAAc;YACd,YAAY;YACZ,yBAAyB;YACzB,mBAAmB,EAAE,8BAA8B;SACpD,EACD,iBAAiB,CAClB,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE;gBACzD,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;YAEH,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBAC/C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBACnE,wCAAwC;gBACxC,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/E,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAEzD,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,uDAAuD;gBACvD,kBAAkB,CAAC;oBACjB,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE,oBAAoB;oBAC9B,aAAa,EAAE,YAAY;oBAC3B,eAAe,EAAE,IAAI;oBACrB,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;gBACH,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,MAAM,eAAe,GAAe;oBAClC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,UAAU,YAAY,EAAE;iBAC/B,CAAC;gBACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClC,0DAA0D;gBAC1D,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxE,cAAc;YACd,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,uEAAuE;YACvE,yEAAyE;QAC3E,CAAC;IACH,CAAC,EACD,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,yBAAyB,CAAC,CACnH,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CACxC,KAAK,EAAE,MAAc,EAAE,eAAwB,EAAE,EAAE;QACjD,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;QAE1D,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,kBAAkB,CAAC,OAAO,GAAG;gBAC3B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,QAAQ,EAAE,eAAe,CAAC,QAAQ;aACnC,CAAC;QACJ,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE7B,oDAAoD;QACpD,IAAI,gBAAgB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,IAAI,gBAAgB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,GACrF,sBAAsB,CACpB;gBACE,cAAc;gBACd,WAAW;gBACX,eAAe;gBACf,YAAY;gBACZ,sBAAsB;gBACtB,cAAc;gBACd,YAAY;gBACZ,yBAAyB;gBACzB,mBAAmB,EAAE,8BAA8B;aACpD,EACD,sBAAsB,CACvB,CAAC;YAEJ,IAAI,CAAC;gBACH,6CAA6C;gBAC7C,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;gBACvE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,mBAAmB,EAAE;oBACxE,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CAAC;gBAEH,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,KAAK,CAAC,uCAAuC,EAAE;oBAC5D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACxD,CAAC,CAAC;gBAEH,sDAAsD;gBACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBAC1E,wCAAwC;oBACxC,OAAO;gBACT,CAAC;gBAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,eAAe,GAAe;oBAClC,EAAE,EAAE,eAAe,EAAE;oBACrB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,UAAU,YAAY,EAAE;iBAC/B,CAAC;gBACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;oBAAS,CAAC;gBACT,cAAc;gBACd,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACzB,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,OAAO;QACT,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,GACrF,sBAAsB,CACpB;YACE,cAAc;YACd,WAAW;YACX,eAAe;YACf,YAAY;YACZ,sBAAsB;YACtB,cAAc;YACd,YAAY;YACZ,yBAAyB;YACzB,mBAAmB,EAAE,8BAA8B;SACpD,EACD,kBAAkB,CACnB,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE;gBACvF,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;YACH,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBACtD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxD,CAAC,CAAC;YAEH,sDAAsD;YACtD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBAC1E,wCAAwC;gBACxC,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAe;gBAClC,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU,YAAY,EAAE;aAC/B,CAAC;YACF,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAClC,0DAA0D;YAC1D,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC/E,cAAc;YACd,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAC7B,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,gFAAgF;YAChF,8EAA8E;YAC9E,gEAAgE;QAClE,CAAC;IACH,CAAC,EACD;QACE,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,YAAY;QACZ,cAAc;QACd,yBAAyB;KAC1B,CACF,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC5B,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAAa,EAAE,EAAE;QAChB,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAA8B,EAAE,EAAE;QACjC,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,WAAoB,EAAE,EAAE;QACvB,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAY,EAAE,EAAE;QACf,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAAe,EAAE,MAAc,EAAE,QAAuB,EAAE,QAAiB,EAAE,EAAE;QAC9E,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,QAAQ;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAClB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,KAAK,CAAC;oBAChB,CAAC,CAAC,QAAQ,QAAQ,EAAE;oBACpB,CAAC,CAAC,SAAS,CAAC;QAEd,cAAc,CAAC;YACb;gBACE,EAAE,EAAE,eAAe,EAAE;gBACrB,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBACxC,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,aAAa;gBACb,QAAQ,EAAE,OAAO;aAClB;SACF,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,SAAS;QACT,eAAe;QACf,kBAAkB;QAClB,yBAAyB;QACzB,4BAA4B;QAC5B,YAAY;QACZ,eAAe;QACf,sBAAsB;QACtB,iBAAiB;QACjB,cAAc;QACd,QAAQ;QACR,kBAAkB;QAClB,cAAc;QACd,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"use-conversation.js","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ export type SubmitResult = 'handled' | 'fallthrough';
|
|
|
3
3
|
export type ModeHandler = {
|
|
4
4
|
moveUp: () => void;
|
|
5
5
|
moveDown: () => void;
|
|
6
|
+
moveLeft?: () => void;
|
|
7
|
+
moveRight?: () => void;
|
|
6
8
|
onTab?: () => void;
|
|
7
9
|
onSubmit?: (submittedValue: string) => SubmitResult;
|
|
8
10
|
};
|
|
@@ -15,7 +17,7 @@ type Slash = Movable & {
|
|
|
15
17
|
};
|
|
16
18
|
type Models = Movable & {
|
|
17
19
|
canSwitchProvider: boolean;
|
|
18
|
-
toggleProvider: () => void;
|
|
20
|
+
toggleProvider: (direction?: 'next' | 'prev') => void;
|
|
19
21
|
};
|
|
20
22
|
type Options = {
|
|
21
23
|
slash: Slash;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mode-handlers.d.ts","sourceRoot":"","sources":["../../source/hooks/use-mode-handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,YAAY,CAAC;CACrD,CAAC;AAEF,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAC5D,KAAK,KAAK,GAAG,OAAO,GAAG;IAAE,eAAe,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AACvD,KAAK,MAAM,GAAG,OAAO,GAAG;IAAE,iBAAiB,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"use-mode-handlers.d.ts","sourceRoot":"","sources":["../../source/hooks/use-mode-handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,YAAY,CAAC;CACrD,CAAC;AAEF,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAC5D,KAAK,KAAK,GAAG,OAAO,GAAG;IAAE,eAAe,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AACvD,KAAK,MAAM,GAAG,OAAO,GAAG;IAAE,iBAAiB,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC;AAE9G,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,OAAO,KAAK,OAAO,CAAC;IAC9D,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,0BAA0B,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,OAAO,CAAC;IACpE,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,OAAO,CAAC;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qBAAqB,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,gLAY7B,OAAO,KAAG,MAAM,CAAC,SAAS,EAAE,WAAW,CAkFzC,CAAC"}
|
|
@@ -56,6 +56,14 @@ export const useModeHandlers = ({ slash, path, settings, settingsValue, models,
|
|
|
56
56
|
model_selection: {
|
|
57
57
|
moveUp: models.moveUp,
|
|
58
58
|
moveDown: models.moveDown,
|
|
59
|
+
moveLeft: () => {
|
|
60
|
+
if (models.canSwitchProvider)
|
|
61
|
+
models.toggleProvider('prev');
|
|
62
|
+
},
|
|
63
|
+
moveRight: () => {
|
|
64
|
+
if (models.canSwitchProvider)
|
|
65
|
+
models.toggleProvider('next');
|
|
66
|
+
},
|
|
59
67
|
onTab: () => {
|
|
60
68
|
if (models.canSwitchProvider)
|
|
61
69
|
models.toggleProvider();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mode-handlers.js","sourceRoot":"","sources":["../../source/hooks/use-mode-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"use-mode-handlers.js","sourceRoot":"","sources":["../../source/hooks/use-mode-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ export declare const useModelSelection: (deps: {
|
|
|
24
24
|
moveUp: () => void;
|
|
25
25
|
moveDown: () => void;
|
|
26
26
|
getSelectedItem: () => ModelInfo | undefined;
|
|
27
|
-
toggleProvider: () => void;
|
|
27
|
+
toggleProvider: (direction?: "next" | "prev") => void;
|
|
28
28
|
canSwitchProvider: boolean;
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=use-model-selection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-selection.d.ts","sourceRoot":"","sources":["../../source/hooks/use-model-selection.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAwD,MAAM,4BAA4B,CAAC;AAErH,eAAO,MAAM,aAAa,QAAmC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,eAAO,MAAM,cAAc,QAAmC,CAAC;AAC/D,eAAO,MAAM,0BAA0B,QAAmC,CAAC;AAC3E,eAAO,MAAM,0BAA0B,QAAmC,CAAC;AAE3E,eAAO,MAAM,iBAAiB,GAC5B,MAAM;IACJ,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,gBAAgB,CAAC;CACnC,EACD,gCAA8B;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-model-selection.d.ts","sourceRoot":"","sources":["../../source/hooks/use-model-selection.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzF,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAwD,MAAM,4BAA4B,CAAC;AAErH,eAAO,MAAM,aAAa,QAAmC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,eAAO,MAAM,cAAc,QAAmC,CAAC;AAC/D,eAAO,MAAM,0BAA0B,QAAmC,CAAC;AAC3E,eAAO,MAAM,0BAA0B,QAAmC,CAAC;AAE3E,eAAO,MAAM,iBAAiB,GAC5B,MAAM;IACJ,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,gBAAgB,CAAC;CACnC,EACD,gCAA8B;;;;;;;;;;uBA6Hf,MAAM;;;;;iCA0CP,MAAM,GAAG,MAAM;;CA8C9B,CAAC"}
|
|
@@ -18,6 +18,7 @@ export const useModelSelection = (deps, hasConversationHistory = false) => {
|
|
|
18
18
|
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
19
19
|
const [provider, setProvider] = useState(null);
|
|
20
20
|
const [scrollOffset, setScrollOffset] = useState(0);
|
|
21
|
+
const providerRef = useRef(null);
|
|
21
22
|
const failedProvidersRef = useRef(new Set());
|
|
22
23
|
const isInitialLoadRef = useRef(true);
|
|
23
24
|
const loadRequestIdRef = useRef(0);
|
|
@@ -31,17 +32,25 @@ export const useModelSelection = (deps, hasConversationHistory = false) => {
|
|
|
31
32
|
const end = Math.min(cursorOffset, input.length);
|
|
32
33
|
return parseModelProviderArg(input.slice(triggerIndex, end)).modelId;
|
|
33
34
|
}, [isOpen, triggerIndex, input, cursorOffset]);
|
|
35
|
+
const getInitialProvider = useCallback(() => {
|
|
36
|
+
return modelSettingConfig
|
|
37
|
+
? settingsService.get(modelSettingConfig.providerKey) ??
|
|
38
|
+
settingsService.get(modelSettingConfig.fallbackProviderKey ?? modelSettingConfig.providerKey)
|
|
39
|
+
: settingsService.get('agent.provider');
|
|
40
|
+
}, [modelSettingConfig, settingsService]);
|
|
41
|
+
const setCurrentProvider = useCallback((nextProvider) => {
|
|
42
|
+
providerRef.current = nextProvider;
|
|
43
|
+
setProvider(nextProvider);
|
|
44
|
+
}, []);
|
|
34
45
|
useEffect(() => {
|
|
35
46
|
if (isOpen) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
: settingsService.get('agent.provider');
|
|
40
|
-
setProvider(providerSetting);
|
|
47
|
+
if (providerRef.current === null) {
|
|
48
|
+
setCurrentProvider(getInitialProvider());
|
|
49
|
+
}
|
|
41
50
|
failedProvidersRef.current.clear();
|
|
42
51
|
isInitialLoadRef.current = true;
|
|
43
52
|
}
|
|
44
|
-
}, [isOpen,
|
|
53
|
+
}, [isOpen, getInitialProvider, setCurrentProvider]);
|
|
45
54
|
useEffect(() => {
|
|
46
55
|
if (!isOpen || !provider)
|
|
47
56
|
return;
|
|
@@ -76,9 +85,9 @@ export const useModelSelection = (deps, hasConversationHistory = false) => {
|
|
|
76
85
|
setError(message);
|
|
77
86
|
}
|
|
78
87
|
finally {
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
if (isCurrentRequest()) {
|
|
89
|
+
setLoading(false);
|
|
90
|
+
}
|
|
82
91
|
}
|
|
83
92
|
};
|
|
84
93
|
load().catch((err) => {
|
|
@@ -116,19 +125,21 @@ export const useModelSelection = (deps, hasConversationHistory = false) => {
|
|
|
116
125
|
const open = useCallback((startIndex) => {
|
|
117
126
|
if (mode === 'model_selection')
|
|
118
127
|
return;
|
|
128
|
+
setCurrentProvider(getInitialProvider());
|
|
119
129
|
setMode('model_selection');
|
|
120
130
|
setTriggerIndex(startIndex);
|
|
121
131
|
setSelectedIndex(0);
|
|
122
132
|
setScrollOffset(0);
|
|
123
|
-
}, [mode, setMode, setTriggerIndex]);
|
|
133
|
+
}, [mode, getInitialProvider, setCurrentProvider, setMode, setTriggerIndex]);
|
|
124
134
|
const close = useCallback(() => {
|
|
125
135
|
if (mode === 'model_selection') {
|
|
126
136
|
setMode('text');
|
|
127
137
|
setTriggerIndex(null);
|
|
138
|
+
setCurrentProvider(null);
|
|
128
139
|
setSelectedIndex(0);
|
|
129
140
|
setScrollOffset(0);
|
|
130
141
|
}
|
|
131
|
-
}, [mode, setMode, setTriggerIndex]);
|
|
142
|
+
}, [mode, setCurrentProvider, setMode, setTriggerIndex]);
|
|
132
143
|
const moveUp = useCallback(() => {
|
|
133
144
|
setSelectedIndex((prev) => {
|
|
134
145
|
if (filteredModels.length === 0)
|
|
@@ -149,13 +160,17 @@ export const useModelSelection = (deps, hasConversationHistory = false) => {
|
|
|
149
160
|
const safeIndex = Math.min(selectedIndex, filteredModels.length - 1);
|
|
150
161
|
return filteredModels[safeIndex];
|
|
151
162
|
}, [filteredModels, selectedIndex]);
|
|
152
|
-
const toggleProvider = useCallback(() => {
|
|
163
|
+
const toggleProvider = useCallback((direction = 'next') => {
|
|
153
164
|
const allProviderIds = getProviderIds();
|
|
154
165
|
// If no providers available, stay on current
|
|
155
166
|
if (allProviderIds.length === 0)
|
|
156
167
|
return;
|
|
157
|
-
const
|
|
158
|
-
const
|
|
168
|
+
const currentProvider = providerRef.current || getInitialProvider() || allProviderIds[0];
|
|
169
|
+
const currentIndex = allProviderIds.indexOf(currentProvider);
|
|
170
|
+
const safeCurrentIndex = currentIndex >= 0 ? currentIndex : 0;
|
|
171
|
+
const nextIndex = direction === 'prev'
|
|
172
|
+
? (safeCurrentIndex - 1 + allProviderIds.length) % allProviderIds.length
|
|
173
|
+
: (safeCurrentIndex + 1) % allProviderIds.length;
|
|
159
174
|
const nextProvider = allProviderIds[nextIndex];
|
|
160
175
|
const cachedModels = modelsByProviderRef.current.get(nextProvider);
|
|
161
176
|
// If the user manually selects it, we should allow retrying it
|
|
@@ -165,8 +180,8 @@ export const useModelSelection = (deps, hasConversationHistory = false) => {
|
|
|
165
180
|
setScrollOffset(0);
|
|
166
181
|
setLoading(!cachedModels);
|
|
167
182
|
setError(null);
|
|
168
|
-
|
|
169
|
-
}, [
|
|
183
|
+
setCurrentProvider(nextProvider);
|
|
184
|
+
}, [getInitialProvider, setCurrentProvider]);
|
|
170
185
|
return {
|
|
171
186
|
isOpen,
|
|
172
187
|
triggerIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-selection.js","sourceRoot":"","sources":["../../source/hooks/use-model-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAErH,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAE3E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAGC,EACD,sBAAsB,GAAG,KAAK,EAC9B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CAAC;IAEhG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,mBAAmB,GAAG,MAAM,CAA2B,IAAI,GAAG,EAAE,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAI,KAAK,iBAAiB,CAAC;IAC1C,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,iBAAiB,GACrB,OAAO,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,WAAW,KAAK,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAEhH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,MAAM,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhD,
|
|
1
|
+
{"version":3,"file":"use-model-selection.js","sourceRoot":"","sources":["../../source/hooks/use-model-selection.ts"],"names":[],"mappings":"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"}
|