@qduc/term2 0.3.0 → 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 +57 -21
- package/dist/hooks/use-model-selection.js.map +1 -1
- package/dist/hooks/use-model-selection.test.js +171 -9
- 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 +8 -0
- package/dist/providers/ai-sdk-message-normalizer.d.ts.map +1 -0
- package/dist/providers/ai-sdk-message-normalizer.js +115 -0
- package/dist/providers/ai-sdk-message-normalizer.js.map +1 -0
- package/dist/providers/ai-sdk-message-normalizer.test.d.ts +2 -0
- package/dist/providers/ai-sdk-message-normalizer.test.d.ts.map +1 -0
- package/dist/providers/ai-sdk-message-normalizer.test.js +435 -0
- package/dist/providers/ai-sdk-message-normalizer.test.js.map +1 -0
- 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 -2
- 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 +16 -0
- package/dist/providers/ai-sdk-openrouter.provider.d.ts.map +1 -0
- package/dist/providers/ai-sdk-openrouter.provider.js +21 -0
- package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -0
- package/dist/providers/ai-sdk-openrouter.provider.test.d.ts +2 -0
- package/dist/providers/ai-sdk-openrouter.provider.test.d.ts.map +1 -0
- package/dist/providers/ai-sdk-openrouter.provider.test.js +93 -0
- package/dist/providers/ai-sdk-openrouter.provider.test.js.map +1 -0
- 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 +32 -5
- package/dist/providers/openrouter.provider.js.map +1 -1
- package/dist/scripts/eval-auto-approval/dataset.d.ts +2 -2
- 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-parsing.js +1 -1
- package/dist/services/stream-event-parsing.js.map +1 -1
- package/dist/services/stream-event-parsing.test.js +13 -0
- package/dist/services/stream-event-parsing.test.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 +5 -4
- package/readme.md +29 -24
- package/dist/agent.lite-mode.test.d.ts +0 -2
- package/dist/agent.lite-mode.test.d.ts.map +0 -1
- package/dist/agent.lite-mode.test.js +0 -39
- package/dist/agent.lite-mode.test.js.map +0 -1
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +0 -2
- package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +0 -1
- package/dist/components/ModelSelectionMenu.error-tabs.test.js +0 -18
- package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +0 -1
- package/dist/components/TextInput.d.ts +0 -42
- package/dist/components/TextInput.d.ts.map +0 -1
- package/dist/components/TextInput.js +0 -398
- package/dist/components/TextInput.js.map +0 -1
- package/dist/components/TextInput.test.d.ts +0 -2
- package/dist/components/TextInput.test.d.ts.map +0 -1
- package/dist/components/TextInput.test.js +0 -75
- package/dist/components/TextInput.test.js.map +0 -1
- package/dist/debug_ask_mentor.d.ts +0 -2
- package/dist/debug_ask_mentor.d.ts.map +0 -1
- package/dist/debug_ask_mentor.js +0 -73
- package/dist/debug_ask_mentor.js.map +0 -1
- package/dist/lib/shell.d.ts +0 -7
- package/dist/lib/shell.d.ts.map +0 -1
- package/dist/lib/shell.js +0 -56
- package/dist/lib/shell.js.map +0 -1
- package/dist/modes/companion/command-index.d.ts +0 -26
- package/dist/modes/companion/command-index.d.ts.map +0 -1
- package/dist/modes/companion/command-index.js +0 -50
- package/dist/modes/companion/command-index.js.map +0 -1
- package/dist/modes/companion/command-index.test.d.ts +0 -2
- package/dist/modes/companion/command-index.test.d.ts.map +0 -1
- package/dist/modes/companion/command-index.test.js +0 -86
- package/dist/modes/companion/command-index.test.js.map +0 -1
- package/dist/modes/companion/companion-app.d.ts +0 -12
- package/dist/modes/companion/companion-app.d.ts.map +0 -1
- package/dist/modes/companion/companion-app.js +0 -297
- package/dist/modes/companion/companion-app.js.map +0 -1
- package/dist/modes/companion/companion-session.d.ts +0 -63
- package/dist/modes/companion/companion-session.d.ts.map +0 -1
- package/dist/modes/companion/companion-session.js +0 -146
- package/dist/modes/companion/companion-session.js.map +0 -1
- package/dist/modes/companion/companion-session.test.d.ts +0 -2
- package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
- package/dist/modes/companion/companion-session.test.js +0 -28
- package/dist/modes/companion/companion-session.test.js.map +0 -1
- package/dist/modes/companion/components/status-bar.d.ts +0 -13
- package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
- package/dist/modes/companion/components/status-bar.js +0 -26
- package/dist/modes/companion/components/status-bar.js.map +0 -1
- package/dist/modes/companion/context-buffer.d.ts +0 -65
- package/dist/modes/companion/context-buffer.d.ts.map +0 -1
- package/dist/modes/companion/context-buffer.js +0 -156
- package/dist/modes/companion/context-buffer.js.map +0 -1
- package/dist/modes/companion/context-buffer.test.d.ts +0 -2
- package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
- package/dist/modes/companion/context-buffer.test.js +0 -154
- package/dist/modes/companion/context-buffer.test.js.map +0 -1
- package/dist/modes/companion/event-detector.d.ts +0 -46
- package/dist/modes/companion/event-detector.d.ts.map +0 -1
- package/dist/modes/companion/event-detector.js +0 -169
- package/dist/modes/companion/event-detector.js.map +0 -1
- package/dist/modes/companion/event-detector.test.d.ts +0 -2
- package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
- package/dist/modes/companion/event-detector.test.js +0 -121
- package/dist/modes/companion/event-detector.test.js.map +0 -1
- package/dist/modes/companion/index.d.ts +0 -33
- package/dist/modes/companion/index.d.ts.map +0 -1
- package/dist/modes/companion/index.js +0 -21
- package/dist/modes/companion/index.js.map +0 -1
- package/dist/modes/companion/input-key-mapper.d.ts +0 -3
- package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
- package/dist/modes/companion/input-key-mapper.js +0 -31
- package/dist/modes/companion/input-key-mapper.js.map +0 -1
- package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
- package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
- package/dist/modes/companion/input-key-mapper.test.js +0 -26
- package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
- package/dist/modes/companion/input-parser.d.ts +0 -53
- package/dist/modes/companion/input-parser.d.ts.map +0 -1
- package/dist/modes/companion/input-parser.js +0 -114
- package/dist/modes/companion/input-parser.js.map +0 -1
- package/dist/modes/companion/input-parser.test.d.ts +0 -2
- package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
- package/dist/modes/companion/input-parser.test.js +0 -123
- package/dist/modes/companion/input-parser.test.js.map +0 -1
- package/dist/modes/companion/mode-manager.d.ts +0 -41
- package/dist/modes/companion/mode-manager.d.ts.map +0 -1
- package/dist/modes/companion/mode-manager.js +0 -56
- package/dist/modes/companion/mode-manager.js.map +0 -1
- package/dist/modes/companion/mode-manager.test.d.ts +0 -2
- package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
- package/dist/modes/companion/mode-manager.test.js +0 -65
- package/dist/modes/companion/mode-manager.test.js.map +0 -1
- package/dist/modes/companion/output-classifier.d.ts +0 -15
- package/dist/modes/companion/output-classifier.d.ts.map +0 -1
- package/dist/modes/companion/output-classifier.js +0 -77
- package/dist/modes/companion/output-classifier.js.map +0 -1
- package/dist/modes/companion/output-classifier.test.d.ts +0 -2
- package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
- package/dist/modes/companion/output-classifier.test.js +0 -133
- package/dist/modes/companion/output-classifier.test.js.map +0 -1
- package/dist/modes/companion/pty-wrapper.d.ts +0 -46
- package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
- package/dist/modes/companion/pty-wrapper.js +0 -143
- package/dist/modes/companion/pty-wrapper.js.map +0 -1
- package/dist/modes/companion/safety-classifier.d.ts +0 -31
- package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
- package/dist/modes/companion/safety-classifier.js +0 -140
- package/dist/modes/companion/safety-classifier.js.map +0 -1
- package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
- package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
- package/dist/modes/companion/safety-classifier.test.js +0 -151
- package/dist/modes/companion/safety-classifier.test.js.map +0 -1
- package/dist/modes/companion/summarizer.d.ts +0 -24
- package/dist/modes/companion/summarizer.d.ts.map +0 -1
- package/dist/modes/companion/summarizer.js +0 -132
- package/dist/modes/companion/summarizer.js.map +0 -1
- package/dist/modes/companion/terminal-history.d.ts +0 -27
- package/dist/modes/companion/terminal-history.d.ts.map +0 -1
- package/dist/modes/companion/terminal-history.js +0 -142
- package/dist/modes/companion/terminal-history.js.map +0 -1
- package/dist/prompts/simple-mentor.md +0 -215
- package/dist/providers/github-copilot/converters.d.ts +0 -45
- package/dist/providers/github-copilot/converters.d.ts.map +0 -1
- package/dist/providers/github-copilot/converters.js +0 -118
- package/dist/providers/github-copilot/converters.js.map +0 -1
- package/dist/providers/github-copilot/converters.test.d.ts +0 -2
- package/dist/providers/github-copilot/converters.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/converters.test.js +0 -162
- package/dist/providers/github-copilot/converters.test.js.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.d.ts +0 -2
- package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.js +0 -75
- package/dist/providers/github-copilot/github-copilot.provider.js.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +0 -2
- package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/github-copilot.provider.test.js +0 -26
- package/dist/providers/github-copilot/github-copilot.provider.test.js.map +0 -1
- package/dist/providers/github-copilot/index.d.ts +0 -4
- package/dist/providers/github-copilot/index.d.ts.map +0 -1
- package/dist/providers/github-copilot/index.js +0 -4
- package/dist/providers/github-copilot/index.js.map +0 -1
- package/dist/providers/github-copilot/model.d.ts +0 -24
- package/dist/providers/github-copilot/model.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.delta.test.d.ts +0 -2
- package/dist/providers/github-copilot/model.delta.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.delta.test.js +0 -15
- package/dist/providers/github-copilot/model.delta.test.js.map +0 -1
- package/dist/providers/github-copilot/model.js +0 -498
- package/dist/providers/github-copilot/model.js.map +0 -1
- package/dist/providers/github-copilot/model.test.d.ts +0 -2
- package/dist/providers/github-copilot/model.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/model.test.js +0 -63
- package/dist/providers/github-copilot/model.test.js.map +0 -1
- package/dist/providers/github-copilot/provider.d.ts +0 -15
- package/dist/providers/github-copilot/provider.d.ts.map +0 -1
- package/dist/providers/github-copilot/provider.js +0 -25
- package/dist/providers/github-copilot/provider.js.map +0 -1
- package/dist/providers/github-copilot/provider.test.d.ts +0 -2
- package/dist/providers/github-copilot/provider.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/provider.test.js +0 -52
- package/dist/providers/github-copilot/provider.test.js.map +0 -1
- package/dist/providers/github-copilot/utils.d.ts +0 -20
- package/dist/providers/github-copilot/utils.d.ts.map +0 -1
- package/dist/providers/github-copilot/utils.js +0 -142
- package/dist/providers/github-copilot/utils.js.map +0 -1
- package/dist/providers/github-copilot/utils.test.d.ts +0 -2
- package/dist/providers/github-copilot/utils.test.d.ts.map +0 -1
- package/dist/providers/github-copilot/utils.test.js +0 -21
- package/dist/providers/github-copilot/utils.test.js.map +0 -1
- package/dist/providers/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
- package/dist/safety-checker.js +0 -57
- package/dist/services/check_mock.d.ts +0 -2
- package/dist/services/check_mock.d.ts.map +0 -1
- package/dist/services/check_mock.js +0 -22
- package/dist/services/check_mock.js.map +0 -1
- package/dist/services/conversation-service.test.d.ts +0 -2
- package/dist/services/conversation-service.test.d.ts.map +0 -1
- package/dist/services/conversation-service.test.js +0 -156
- package/dist/services/conversation-service.test.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -10
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -55
- package/dist/tools/bash.js.map +0 -1
- package/dist/utils/command-safety.d.ts +0 -21
- package/dist/utils/command-safety.d.ts.map +0 -1
- package/dist/utils/command-safety.devnull.test.d.ts +0 -2
- package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
- package/dist/utils/command-safety.devnull.test.js +0 -13
- package/dist/utils/command-safety.devnull.test.js.map +0 -1
- package/dist/utils/command-safety.js +0 -348
- package/dist/utils/command-safety.js.map +0 -1
- package/dist/utils/extract-command-messages.test.d.ts +0 -2
- package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
- package/dist/utils/extract-command-messages.test.js +0 -64
- package/dist/utils/extract-command-messages.test.js.map +0 -1
- package/dist/utils/provider-traffic-extractor.repro.test.d.ts +0 -2
- package/dist/utils/provider-traffic-extractor.repro.test.d.ts.map +0 -1
- package/dist/utils/provider-traffic-extractor.repro.test.js.map +0 -1
|
@@ -114,10 +114,10 @@ const getCellTextLines = (cell, width) => {
|
|
|
114
114
|
return wrapCellText(cell?.text || '', contentWidth);
|
|
115
115
|
};
|
|
116
116
|
// Render cell content with inline formatting
|
|
117
|
-
const renderCellContent = (content, width, align, isHeader = false) => {
|
|
117
|
+
const renderCellContent = (content, width, align, isHeader = false, options = {}) => {
|
|
118
118
|
const contentWidth = Math.max(1, width - TABLE_CELL_PADDING * 2);
|
|
119
119
|
const paddedContent = padContent(content, contentWidth, align);
|
|
120
|
-
return (React.createElement(Text, { bold: isHeader },
|
|
120
|
+
return (React.createElement(Text, { bold: isHeader, color: options.defaultColor, dimColor: options.dimColor },
|
|
121
121
|
' '.repeat(TABLE_CELL_PADDING),
|
|
122
122
|
paddedContent,
|
|
123
123
|
' '.repeat(TABLE_CELL_PADDING)));
|
|
@@ -148,14 +148,17 @@ const generateBorder = (widths, style) => {
|
|
|
148
148
|
};
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
|
-
const TableRenderer = ({ token, style = 'ascii' }) => {
|
|
151
|
+
const TableRenderer = ({ token, style = 'ascii', options = {}, maxWidth }) => {
|
|
152
152
|
const { header, rows, align } = token;
|
|
153
153
|
const numCols = header.length;
|
|
154
154
|
const { stdout } = useStdout();
|
|
155
|
-
// Respect the real terminal width so the table never wraps
|
|
155
|
+
// Respect the real terminal width so the table never wraps.
|
|
156
|
+
// If a maxWidth is provided (e.g. from a parent with padding), use it
|
|
157
|
+
// instead of the raw terminal width.
|
|
156
158
|
const terminalColumns = stdout.columns || TABLE_MAX_WIDTH;
|
|
159
|
+
const containerWidth = maxWidth ?? terminalColumns;
|
|
157
160
|
const minimumTableWidth = numCols * (TABLE_CELL_PADDING * 2 + 1) + numCols + 1;
|
|
158
|
-
const effectiveMaxWidth = Math.max(minimumTableWidth, Math.min(TABLE_MAX_WIDTH,
|
|
161
|
+
const effectiveMaxWidth = Math.max(minimumTableWidth, Math.min(TABLE_MAX_WIDTH, containerWidth - TABLE_MARGIN_X * 2 - TABLE_TERMINAL_WRAP_SLACK));
|
|
159
162
|
// Calculate column widths
|
|
160
163
|
const columnWidths = calculateColumnWidths(header, rows, TABLE_CELL_PADDING, effectiveMaxWidth);
|
|
161
164
|
// Generate borders
|
|
@@ -179,35 +182,35 @@ const TableRenderer = ({ token, style = 'ascii' }) => {
|
|
|
179
182
|
const wrappedCells = columnWidths.map((width, index) => getCellTextLines(row[index], width));
|
|
180
183
|
const lineCount = Math.max(...wrappedCells.map((lines) => lines.length));
|
|
181
184
|
return Array.from({ length: lineCount }, (_, lineIndex) => (React.createElement(Box, { key: `${rowKey}-${lineIndex}`, flexDirection: "row" },
|
|
182
|
-
vertical.left ? React.createElement(Text, { color: "#64748b" }, vertical.left) : null,
|
|
185
|
+
vertical.left ? (React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, vertical.left)) : null,
|
|
183
186
|
columnWidths.map((width, index) => {
|
|
184
187
|
const content = wrappedCells[index][lineIndex] || '';
|
|
185
|
-
const cell = (React.createElement(Box, { width: width }, renderCellContent(content, width, columnAlignment[index] || 'left', isHeader)));
|
|
188
|
+
const cell = (React.createElement(Box, { width: width }, renderCellContent(content, width, columnAlignment[index] || 'left', isHeader, options)));
|
|
186
189
|
return (React.createElement(React.Fragment, { key: index },
|
|
187
190
|
cell,
|
|
188
|
-
index < numCols - 1 && React.createElement(Text, { color: "#64748b" }, vertical.middle)));
|
|
191
|
+
index < numCols - 1 && (React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, vertical.middle))));
|
|
189
192
|
}),
|
|
190
|
-
vertical.right ? React.createElement(Text, { color: "#64748b" }, vertical.right) : null)));
|
|
193
|
+
vertical.right ? (React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, vertical.right)) : null)));
|
|
191
194
|
};
|
|
192
195
|
// Separator between header and data (only for bordered styles)
|
|
193
196
|
const renderSeparator = () => {
|
|
194
197
|
return (React.createElement(Box, { marginX: TABLE_MARGIN_X },
|
|
195
|
-
React.createElement(Text, { color: "#64748b" }, borders.middle)));
|
|
198
|
+
React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, borders.middle)));
|
|
196
199
|
};
|
|
197
|
-
return (React.createElement(Box, { flexDirection: "column"
|
|
200
|
+
return (React.createElement(Box, { flexDirection: "column" },
|
|
198
201
|
React.createElement(Box, { marginX: TABLE_MARGIN_X },
|
|
199
|
-
React.createElement(Text, { color: "#64748b" }, borders.top)),
|
|
202
|
+
React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, borders.top)),
|
|
200
203
|
React.createElement(Box, { flexDirection: "column", marginX: TABLE_MARGIN_X }, renderTableRow(header, 'header', true)),
|
|
201
204
|
renderSeparator(),
|
|
202
205
|
rows.map((row, rowIndex) => (React.createElement(React.Fragment, { key: rowIndex },
|
|
203
206
|
React.createElement(Box, { flexDirection: "column", marginX: TABLE_MARGIN_X }, renderTableRow(row, `row-${rowIndex}`)),
|
|
204
207
|
rowIndex < rows.length - 1 ? renderSeparator() : null))),
|
|
205
208
|
React.createElement(Box, { marginX: TABLE_MARGIN_X },
|
|
206
|
-
React.createElement(Text, { color: "#64748b" }, borders.bottom))));
|
|
209
|
+
React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, borders.bottom))));
|
|
207
210
|
};
|
|
208
211
|
// --- Token Renderers ---
|
|
209
212
|
// recursively render inline content (bold, italic, links, etc.)
|
|
210
|
-
const InlineContent = ({ tokens }) => {
|
|
213
|
+
const InlineContent = ({ tokens, options = {} }) => {
|
|
211
214
|
if (!tokens)
|
|
212
215
|
return null;
|
|
213
216
|
return (React.createElement(React.Fragment, null, tokens.map((token, index) => {
|
|
@@ -217,21 +220,21 @@ const InlineContent = ({ tokens }) => {
|
|
|
217
220
|
case 'escape':
|
|
218
221
|
// Handle nested formatting inside text tokens if marked provides them
|
|
219
222
|
if (token.tokens) {
|
|
220
|
-
return React.createElement(InlineContent, { key: key, tokens: token.tokens });
|
|
223
|
+
return React.createElement(InlineContent, { key: key, tokens: token.tokens, options: options });
|
|
221
224
|
}
|
|
222
|
-
return React.createElement(Text, { key: key }, token.text);
|
|
225
|
+
return (React.createElement(Text, { key: key, color: options.defaultColor, dimColor: options.dimColor }, token.text));
|
|
223
226
|
case 'strong':
|
|
224
|
-
return (React.createElement(Text, { key: key, bold: true },
|
|
225
|
-
React.createElement(InlineContent, { tokens: token.tokens })));
|
|
227
|
+
return (React.createElement(Text, { key: key, bold: true, color: options.defaultColor, dimColor: options.dimColor },
|
|
228
|
+
React.createElement(InlineContent, { tokens: token.tokens, options: options })));
|
|
226
229
|
case 'em':
|
|
227
|
-
return (React.createElement(Text, { key: key, italic: true },
|
|
228
|
-
React.createElement(InlineContent, { tokens: token.tokens })));
|
|
230
|
+
return (React.createElement(Text, { key: key, italic: true, color: options.defaultColor, dimColor: options.dimColor },
|
|
231
|
+
React.createElement(InlineContent, { tokens: token.tokens, options: options })));
|
|
229
232
|
case 'codespan':
|
|
230
|
-
return (React.createElement(Text, { key: key, color: "yellow", backgroundColor: "#333" },
|
|
233
|
+
return (React.createElement(Text, { key: key, color: "yellow", backgroundColor: "#333", dimColor: options.dimColor }, `\u00A0${token.text}\u00A0`));
|
|
231
234
|
case 'link':
|
|
232
|
-
return (React.createElement(Text, { key: key, color: "#3b82f6", underline: true }, token.text));
|
|
235
|
+
return (React.createElement(Text, { key: key, color: "#3b82f6", underline: true, dimColor: options.dimColor }, token.text));
|
|
233
236
|
case 'image':
|
|
234
|
-
return (React.createElement(Text, { key: key, color: "#64748b" },
|
|
237
|
+
return (React.createElement(Text, { key: key, color: "#64748b", dimColor: options.dimColor },
|
|
235
238
|
' ',
|
|
236
239
|
"[Image: ",
|
|
237
240
|
token.text,
|
|
@@ -240,55 +243,72 @@ const InlineContent = ({ tokens }) => {
|
|
|
240
243
|
case 'br':
|
|
241
244
|
return React.createElement(Newline, { key: key });
|
|
242
245
|
default:
|
|
243
|
-
return React.createElement(Text, { key: key }, token.raw);
|
|
246
|
+
return (React.createElement(Text, { key: key, color: options.defaultColor, dimColor: options.dimColor }, token.raw));
|
|
244
247
|
}
|
|
245
248
|
})));
|
|
246
249
|
};
|
|
247
250
|
// Render Block elements (Headings, Paragraphs, Lists)
|
|
248
|
-
const BlockRenderer = ({ token }) => {
|
|
251
|
+
const BlockRenderer = ({ token, options = {}, maxWidth, }) => {
|
|
249
252
|
switch (token.type) {
|
|
250
253
|
case 'heading':
|
|
251
254
|
const isMain = token.depth === 1;
|
|
252
|
-
return (React.createElement(Box, { flexDirection: "column"
|
|
253
|
-
React.createElement(Text, { bold: true, underline: isMain, color: isMain ? 'green' : 'cyan' },
|
|
255
|
+
return (React.createElement(Box, { flexDirection: "column" },
|
|
256
|
+
React.createElement(Text, { bold: true, underline: isMain, color: isMain ? 'green' : 'cyan', dimColor: options.dimColor },
|
|
254
257
|
isMain ? '# ' : '## ',
|
|
255
|
-
React.createElement(InlineContent, { tokens: token.tokens }))));
|
|
258
|
+
React.createElement(InlineContent, { tokens: token.tokens, options: options }))));
|
|
256
259
|
case 'paragraph':
|
|
257
|
-
return (React.createElement(Box,
|
|
258
|
-
React.createElement(Text,
|
|
259
|
-
React.createElement(InlineContent, { tokens: token.tokens }))));
|
|
260
|
+
return (React.createElement(Box, null,
|
|
261
|
+
React.createElement(Text, { color: options.defaultColor, dimColor: options.dimColor },
|
|
262
|
+
React.createElement(InlineContent, { tokens: token.tokens, options: options }))));
|
|
260
263
|
case 'list':
|
|
261
|
-
return (React.createElement(Box, { flexDirection: "column"
|
|
264
|
+
return (React.createElement(Box, { flexDirection: "column" }, token.items.map((item, index) => (React.createElement(BlockRenderer, { key: index, token: item, options: options })))));
|
|
262
265
|
case 'list_item':
|
|
263
266
|
return (React.createElement(Box, { flexDirection: "row" },
|
|
264
267
|
React.createElement(Box, { marginRight: 1 },
|
|
265
|
-
React.createElement(Text, { color: "green" }, "\u2022")),
|
|
268
|
+
React.createElement(Text, { color: "green", dimColor: options.dimColor }, "\u2022")),
|
|
266
269
|
React.createElement(Box, { flexDirection: "column", flexGrow: 1 }, token.tokens.map((subToken, i) => {
|
|
267
270
|
// If it's just text inside the list item, marked might wrap it in a generic block
|
|
268
271
|
if (subToken.type === 'text') {
|
|
269
|
-
return (React.createElement(Text, { key: i },
|
|
270
|
-
React.createElement(InlineContent, { tokens: subToken.tokens })));
|
|
272
|
+
return (React.createElement(Text, { key: i, color: options.defaultColor, dimColor: options.dimColor },
|
|
273
|
+
React.createElement(InlineContent, { tokens: subToken.tokens, options: options })));
|
|
271
274
|
}
|
|
272
|
-
return React.createElement(BlockRenderer, { key: i, token: subToken });
|
|
275
|
+
return React.createElement(BlockRenderer, { key: i, token: subToken, options: options });
|
|
273
276
|
}))));
|
|
274
277
|
case 'code':
|
|
275
|
-
|
|
276
|
-
|
|
278
|
+
if (!token.text || !token.text.trim())
|
|
279
|
+
return null;
|
|
280
|
+
return (React.createElement(Box, { borderStyle: "round", borderColor: "#64748b", paddingX: 1, flexDirection: "column" },
|
|
281
|
+
React.createElement(Text, { color: "yellow", dimColor: options.dimColor }, token.text)));
|
|
277
282
|
case 'blockquote':
|
|
278
|
-
return (React.createElement(Box, { paddingLeft: 2, borderStyle: "classic", borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, borderColor: "magenta",
|
|
283
|
+
return (React.createElement(Box, { paddingLeft: 2, borderStyle: "classic", borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, borderColor: "magenta", flexDirection: "column" }, token.tokens.map((t, i) => (React.createElement(BlockRenderer, { key: i, token: t, options: options })))));
|
|
279
284
|
case 'space':
|
|
280
285
|
return null;
|
|
281
286
|
case 'hr':
|
|
282
|
-
return (React.createElement(Box,
|
|
283
|
-
React.createElement(Text, { color: "#64748b" }, "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")));
|
|
287
|
+
return (React.createElement(Box, null,
|
|
288
|
+
React.createElement(Text, { color: "#64748b", dimColor: options.dimColor }, "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")));
|
|
284
289
|
case 'table':
|
|
285
|
-
return React.createElement(TableRenderer, { token: token });
|
|
290
|
+
return React.createElement(TableRenderer, { token: token, options: options, maxWidth: maxWidth });
|
|
286
291
|
default:
|
|
287
292
|
// Fallback for unknown blocks
|
|
288
293
|
// console.log(`Unknown token type: ${token.type}`);
|
|
289
294
|
return null;
|
|
290
295
|
}
|
|
291
296
|
};
|
|
297
|
+
// Re-renders only when raw token content or render options change.
|
|
298
|
+
// During streaming, only the trailing (in-progress) block will ever change, so all
|
|
299
|
+
// prior blocks keep their existing React subtrees without reconciliation.
|
|
300
|
+
const MemoBlock = React.memo(({ token, options, maxWidth }) => (React.createElement(BlockRenderer, { token: token, options: options, maxWidth: maxWidth })), (prev, next) => {
|
|
301
|
+
if (prev.options !== next.options) {
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
if (prev.maxWidth !== next.maxWidth) {
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
if (typeof prev.token.raw !== 'string' || typeof next.token.raw !== 'string') {
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
return prev.token.raw === next.token.raw;
|
|
311
|
+
});
|
|
292
312
|
// Generate a stable key for a token based on its type and content
|
|
293
313
|
// This prevents unnecessary re-renders when the AST structure changes during streaming
|
|
294
314
|
const getTokenKey = (token, index) => {
|
|
@@ -300,10 +320,11 @@ const getTokenKey = (token, index) => {
|
|
|
300
320
|
const rawPreview = token.raw ? token.raw.slice(0, 30).replace(/\s+/g, ' ') : '';
|
|
301
321
|
return `${token.type}-${rawPreview}-${index}`;
|
|
302
322
|
};
|
|
303
|
-
const MarkdownRenderer = ({ children, tokens }) => {
|
|
323
|
+
const MarkdownRenderer = ({ children, tokens, defaultColor, dimColor, maxWidth }) => {
|
|
304
324
|
// Allow passing raw text (which we parse) OR pre-parsed tokens
|
|
305
325
|
const ast = useMemo(() => tokens || marked.lexer(String(children || '')), [tokens, children]);
|
|
306
|
-
|
|
326
|
+
const options = useMemo(() => ({ defaultColor, dimColor }), [defaultColor, dimColor]);
|
|
327
|
+
return (React.createElement(Box, { flexDirection: "column" }, ast.map((token, index) => (React.createElement(MemoBlock, { key: getTokenKey(token, index), token: token, options: options, maxWidth: maxWidth })))));
|
|
307
328
|
};
|
|
308
|
-
export default MarkdownRenderer;
|
|
329
|
+
export default React.memo(MarkdownRenderer);
|
|
309
330
|
//# sourceMappingURL=MarkdownRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../source/components/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../source/components/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { SettingsService } from '../services/settings-service.js';
|
|
2
3
|
type Props = {
|
|
3
4
|
messages: any[];
|
|
5
|
+
bannerItems?: string[];
|
|
6
|
+
settingsService?: SettingsService;
|
|
7
|
+
isShellMode?: boolean;
|
|
4
8
|
};
|
|
5
9
|
type MessageLike = {
|
|
10
|
+
id: string;
|
|
6
11
|
sender?: string;
|
|
7
12
|
status?: string;
|
|
8
13
|
};
|
|
9
|
-
export declare const
|
|
14
|
+
export declare const MESSAGE_HORIZONTAL_PADDING = 2;
|
|
15
|
+
export declare const splitStaticHistory: <T extends MessageLike>(messages: T[]) => {
|
|
10
16
|
history: T[];
|
|
11
17
|
active: T[];
|
|
12
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAeF,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAkB5C,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,WAAW,EAAE,UAAU,CAAC,EAAE;;;CAoBtE,CAAC;;AA6IF,wBAAuC"}
|
|
@@ -1,47 +1,122 @@
|
|
|
1
|
-
import React, { useMemo } from 'react';
|
|
2
|
-
import { Box, Static } from 'ink';
|
|
1
|
+
import React, { useMemo, useRef } from 'react';
|
|
2
|
+
import { Box, Static, useStdout } from 'ink';
|
|
3
3
|
import CommandMessage from './CommandMessage.js';
|
|
4
4
|
import ChatMessage from './ChatMessage.js';
|
|
5
|
-
|
|
5
|
+
import Banner from './Banner.js';
|
|
6
|
+
export const MESSAGE_HORIZONTAL_PADDING = 2;
|
|
6
7
|
const canRenderStatically = (message) => {
|
|
7
8
|
if (message.sender === 'reasoning') {
|
|
8
|
-
return
|
|
9
|
+
return message.status === 'finalized';
|
|
9
10
|
}
|
|
10
11
|
if (message.sender === 'command') {
|
|
11
12
|
return message.status !== 'pending' && message.status !== 'running';
|
|
12
13
|
}
|
|
14
|
+
if (message.sender === 'bot') {
|
|
15
|
+
return message.status !== 'streaming';
|
|
16
|
+
}
|
|
13
17
|
return true;
|
|
14
18
|
};
|
|
15
|
-
export const splitStaticHistory = (messages
|
|
16
|
-
const activeStart =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
export const splitStaticHistory = (messages) => {
|
|
20
|
+
const activeStart = messages.findIndex((message) => !canRenderStatically(message));
|
|
21
|
+
if (activeStart === -1) {
|
|
22
|
+
return { history: messages, active: [] };
|
|
23
|
+
}
|
|
24
|
+
const firstActiveMessage = messages[activeStart];
|
|
25
|
+
const previousMessage = activeStart > 0 ? messages[activeStart - 1] : undefined;
|
|
26
|
+
const activeStartWithToolLeadIn = firstActiveMessage?.sender === 'command' &&
|
|
27
|
+
(firstActiveMessage.status === 'pending' || firstActiveMessage.status === 'running') &&
|
|
28
|
+
previousMessage?.sender === 'bot' &&
|
|
29
|
+
previousMessage.status === 'finalized'
|
|
30
|
+
? activeStart - 1
|
|
31
|
+
: activeStart;
|
|
32
|
+
return {
|
|
33
|
+
history: messages.slice(0, activeStartWithToolLeadIn),
|
|
34
|
+
active: messages.slice(activeStartWithToolLeadIn),
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
const createStaticItems = (bannerItems, history) => [
|
|
38
|
+
...bannerItems.map((id) => ({ kind: 'banner', id })),
|
|
39
|
+
...history.map((message) => ({ kind: 'message', id: message.id, message })),
|
|
40
|
+
];
|
|
41
|
+
const createMessageSignature = (message) => {
|
|
42
|
+
try {
|
|
43
|
+
return JSON.stringify(message);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return `${message.id}:${message.sender ?? ''}:${message.status ?? ''}`;
|
|
47
|
+
}
|
|
27
48
|
};
|
|
28
|
-
const MessageList = ({ messages }) => {
|
|
49
|
+
const MessageList = ({ messages, bannerItems = [], settingsService, isShellMode = false }) => {
|
|
50
|
+
const { stdout } = useStdout();
|
|
51
|
+
const terminalColumns = stdout.columns || 80;
|
|
52
|
+
const contentWidth = Math.max(1, terminalColumns - MESSAGE_HORIZONTAL_PADDING * 2);
|
|
29
53
|
// Use useMemo to prevent array recreation on every render.
|
|
30
54
|
// This stabilizes the references passed to Static and the active Box,
|
|
31
55
|
// preventing unnecessary re-renders and fixing flickering in long sessions.
|
|
32
56
|
const { history, active } = useMemo(() => {
|
|
33
57
|
return splitStaticHistory(messages);
|
|
34
58
|
}, [messages]);
|
|
35
|
-
const
|
|
59
|
+
const staticItemsRef = useRef(createStaticItems(bannerItems, []));
|
|
60
|
+
const seenBannerIdsRef = useRef(new Set(bannerItems));
|
|
61
|
+
const committedMessageSignaturesRef = useRef(new Map());
|
|
62
|
+
const candidateMessageSignaturesRef = useRef(new Map());
|
|
63
|
+
const { staticItems, deferredHistory } = useMemo(() => {
|
|
64
|
+
const additions = [];
|
|
65
|
+
const deferred = [];
|
|
66
|
+
for (const bannerId of bannerItems) {
|
|
67
|
+
if (seenBannerIdsRef.current.has(bannerId)) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
seenBannerIdsRef.current.add(bannerId);
|
|
71
|
+
additions.push({ kind: 'banner', id: bannerId });
|
|
72
|
+
}
|
|
73
|
+
const historyIds = new Set(history.map((message) => message.id));
|
|
74
|
+
for (const messageId of candidateMessageSignaturesRef.current.keys()) {
|
|
75
|
+
if (!historyIds.has(messageId)) {
|
|
76
|
+
candidateMessageSignaturesRef.current.delete(messageId);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
for (const message of history) {
|
|
80
|
+
const signature = createMessageSignature(message);
|
|
81
|
+
const committedSignature = committedMessageSignaturesRef.current.get(message.id);
|
|
82
|
+
if (committedSignature === signature) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (committedSignature !== undefined) {
|
|
86
|
+
candidateMessageSignaturesRef.current.set(message.id, signature);
|
|
87
|
+
deferred.push(message);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (candidateMessageSignaturesRef.current.get(message.id) === signature) {
|
|
91
|
+
committedMessageSignaturesRef.current.set(message.id, signature);
|
|
92
|
+
additions.push({ kind: 'message', id: message.id, message });
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
candidateMessageSignaturesRef.current.set(message.id, signature);
|
|
96
|
+
deferred.push(message);
|
|
97
|
+
}
|
|
98
|
+
if (additions.length > 0) {
|
|
99
|
+
staticItemsRef.current = [...staticItemsRef.current, ...additions];
|
|
100
|
+
}
|
|
101
|
+
return { staticItems: staticItemsRef.current, deferredHistory: deferred };
|
|
102
|
+
}, [bannerItems, history]);
|
|
103
|
+
const dynamicItems = useMemo(() => [...deferredHistory, ...active], [deferredHistory, active]);
|
|
104
|
+
const renderMessage = (msg, idx, collection, maxWidth) => {
|
|
36
105
|
// Use consistent marginTop to prevent layout reflow.
|
|
37
106
|
// This ensures stable spacing regardless of message order or streaming updates.
|
|
38
107
|
// The first message in each collection has no top margin to avoid extra space.
|
|
39
|
-
const isFirst = idx === 0 && collection ===
|
|
40
|
-
return (React.createElement(Box, { key: msg.id, marginTop: isFirst ? 0 : 1 }, msg.sender === 'command' ? (React.createElement(CommandMessage, { command: msg.command, output: msg.output, status: msg.status, success: msg.success, failureReason: msg.failureReason, toolName: msg.toolName, toolArgs: msg.toolArgs, isApprovalRejection: msg.isApprovalRejection, hadApproval: msg.hadApproval })) : (React.createElement(ChatMessage, { msg: msg }))));
|
|
108
|
+
const isFirst = idx === 0 && collection === dynamicItems && staticItems.length === 0;
|
|
109
|
+
return (React.createElement(Box, { key: msg.id, marginTop: isFirst ? 0 : 1, width: maxWidth }, msg.sender === 'command' ? (React.createElement(CommandMessage, { command: msg.command, output: msg.output, status: msg.status, success: msg.success, failureReason: msg.failureReason, toolName: msg.toolName, toolArgs: msg.toolArgs, isApprovalRejection: msg.isApprovalRejection, hadApproval: msg.hadApproval })) : (React.createElement(ChatMessage, { msg: msg, maxWidth: maxWidth }))));
|
|
110
|
+
};
|
|
111
|
+
const renderStaticItem = (item, idx) => {
|
|
112
|
+
if (item.kind === 'banner') {
|
|
113
|
+
return (React.createElement(Box, { key: item.id }, settingsService && React.createElement(Banner, { settingsService: settingsService, isShellMode: isShellMode })));
|
|
114
|
+
}
|
|
115
|
+
return renderMessage(item.message, idx, staticItems, contentWidth);
|
|
41
116
|
};
|
|
42
|
-
return (React.createElement(Box, { flexDirection: "column" },
|
|
43
|
-
React.createElement(Static, { items:
|
|
44
|
-
React.createElement(Box, { flexDirection: "column" },
|
|
117
|
+
return (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
118
|
+
React.createElement(Static, { items: staticItems, style: { paddingLeft: MESSAGE_HORIZONTAL_PADDING, paddingRight: MESSAGE_HORIZONTAL_PADDING } }, renderStaticItem),
|
|
119
|
+
React.createElement(Box, { flexDirection: "column", paddingX: MESSAGE_HORIZONTAL_PADDING }, dynamicItems.map((msg, idx) => renderMessage(msg, idx, dynamicItems, contentWidth)))));
|
|
45
120
|
};
|
|
46
121
|
export default React.memo(MessageList);
|
|
47
122
|
//# sourceMappingURL=MessageList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../source/components/MessageList.tsx"],"names":[],"mappings":"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"}
|