@dexto/tui 1.15.0-beta.0 → 1.15.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/InkCLIRefactored.cjs +30 -24
- package/dist/InkCLIRefactored.d.ts.map +1 -1
- package/dist/InkCLIRefactored.js +30 -24
- package/dist/components/ApprovalPrompt.cjs +128 -40
- package/dist/components/ApprovalPrompt.d.ts +2 -0
- package/dist/components/ApprovalPrompt.d.ts.map +1 -1
- package/dist/components/ApprovalPrompt.js +128 -41
- package/dist/components/CustomInput.cjs +4 -3
- package/dist/components/CustomInput.d.ts.map +1 -1
- package/dist/components/CustomInput.js +4 -3
- package/dist/components/DeckArea.cjs +43 -0
- package/dist/components/DeckArea.d.ts +14 -0
- package/dist/components/DeckArea.d.ts.map +1 -0
- package/dist/components/DeckArea.js +19 -0
- package/dist/components/EditableMultiLineInput.cjs +9 -8
- package/dist/components/EditableMultiLineInput.d.ts.map +1 -1
- package/dist/components/EditableMultiLineInput.js +9 -8
- package/dist/components/ElicitationForm.cjs +78 -18
- package/dist/components/ElicitationForm.d.ts.map +1 -1
- package/dist/components/ElicitationForm.js +78 -18
- package/dist/components/ErrorBoundary.cjs +15 -5
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/ErrorBoundary.js +15 -5
- package/dist/components/Footer.cjs +37 -113
- package/dist/components/Footer.d.ts +2 -2
- package/dist/components/Footer.d.ts.map +1 -1
- package/dist/components/Footer.js +40 -119
- package/dist/components/HistorySearchBar.cjs +6 -5
- package/dist/components/HistorySearchBar.d.ts.map +1 -1
- package/dist/components/HistorySearchBar.js +6 -5
- package/dist/components/MultiLineInput.cjs +6 -5
- package/dist/components/MultiLineInput.d.ts.map +1 -1
- package/dist/components/MultiLineInput.js +6 -5
- package/dist/components/ResourceAutocomplete.cjs +5 -4
- package/dist/components/ResourceAutocomplete.d.ts.map +1 -1
- package/dist/components/ResourceAutocomplete.js +5 -4
- package/dist/components/SignalGates.test.cjs +215 -0
- package/dist/components/SignalGates.test.d.ts +2 -0
- package/dist/components/SignalGates.test.d.ts.map +1 -0
- package/dist/components/SignalGates.test.js +217 -0
- package/dist/components/SlashCommandAutocomplete.cjs +4 -3
- package/dist/components/SlashCommandAutocomplete.d.ts.map +1 -1
- package/dist/components/SlashCommandAutocomplete.js +4 -3
- package/dist/components/StatusBar.cjs +13 -30
- package/dist/components/StatusBar.d.ts +1 -3
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/StatusBar.js +13 -30
- package/dist/components/TextBufferInput.cjs +13 -12
- package/dist/components/TextBufferInput.d.ts.map +1 -1
- package/dist/components/TextBufferInput.js +13 -12
- package/dist/components/TodoPanel.cjs +23 -16
- package/dist/components/TodoPanel.d.ts.map +1 -1
- package/dist/components/TodoPanel.js +23 -16
- package/dist/components/base/BaseAutocomplete.cjs +7 -6
- package/dist/components/base/BaseAutocomplete.d.ts.map +1 -1
- package/dist/components/base/BaseAutocomplete.js +7 -6
- package/dist/components/base/BaseSelector.cjs +5 -4
- package/dist/components/base/BaseSelector.d.ts.map +1 -1
- package/dist/components/base/BaseSelector.js +5 -4
- package/dist/components/chat/Footer.cjs +2 -1
- package/dist/components/chat/Footer.d.ts.map +1 -1
- package/dist/components/chat/Footer.js +2 -1
- package/dist/components/chat/Header.cjs +20 -16
- package/dist/components/chat/Header.d.ts.map +1 -1
- package/dist/components/chat/Header.js +20 -16
- package/dist/components/chat/MessageItem.cjs +47 -30
- package/dist/components/chat/MessageItem.d.ts.map +1 -1
- package/dist/components/chat/MessageItem.js +52 -29
- package/dist/components/chat/MessageList.cjs +3 -2
- package/dist/components/chat/MessageList.d.ts.map +1 -1
- package/dist/components/chat/MessageList.js +3 -2
- package/dist/components/chat/QueuedMessagesDisplay.cjs +17 -5
- package/dist/components/chat/QueuedMessagesDisplay.d.ts.map +1 -1
- package/dist/components/chat/QueuedMessagesDisplay.js +18 -6
- package/dist/components/chat/SignalMessage.cjs +116 -0
- package/dist/components/chat/SignalMessage.d.ts +18 -0
- package/dist/components/chat/SignalMessage.d.ts.map +1 -0
- package/dist/components/chat/SignalMessage.js +96 -0
- package/dist/components/chat/SignalMessage.test.cjs +112 -0
- package/dist/components/chat/SignalMessage.test.d.ts +2 -0
- package/dist/components/chat/SignalMessage.test.d.ts.map +1 -0
- package/dist/components/chat/SignalMessage.test.js +116 -0
- package/dist/components/chat/ToolIcon.cjs +6 -5
- package/dist/components/chat/ToolIcon.d.ts.map +1 -1
- package/dist/components/chat/ToolIcon.js +6 -5
- package/dist/components/chat/styled-boxes/ConfigBox.cjs +8 -7
- package/dist/components/chat/styled-boxes/ConfigBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/ConfigBox.js +8 -7
- package/dist/components/chat/styled-boxes/HelpBox.cjs +4 -3
- package/dist/components/chat/styled-boxes/HelpBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/HelpBox.js +4 -3
- package/dist/components/chat/styled-boxes/LogConfigBox.cjs +11 -3
- package/dist/components/chat/styled-boxes/LogConfigBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/LogConfigBox.js +11 -3
- package/dist/components/chat/styled-boxes/SessionHistoryBox.cjs +8 -7
- package/dist/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/SessionHistoryBox.js +8 -7
- package/dist/components/chat/styled-boxes/SessionListBox.cjs +19 -11
- package/dist/components/chat/styled-boxes/SessionListBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/SessionListBox.js +19 -11
- package/dist/components/chat/styled-boxes/ShortcutsBox.cjs +4 -3
- package/dist/components/chat/styled-boxes/ShortcutsBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/ShortcutsBox.js +4 -3
- package/dist/components/chat/styled-boxes/StatsBox.cjs +13 -5
- package/dist/components/chat/styled-boxes/StatsBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/StatsBox.js +13 -5
- package/dist/components/chat/styled-boxes/StyledBox.cjs +7 -6
- package/dist/components/chat/styled-boxes/StyledBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/StyledBox.js +7 -6
- package/dist/components/chat/styled-boxes/SyspromptBox.cjs +2 -1
- package/dist/components/chat/styled-boxes/SyspromptBox.d.ts.map +1 -1
- package/dist/components/chat/styled-boxes/SyspromptBox.js +2 -1
- package/dist/components/modes/AlternateBufferCLI.cjs +53 -43
- package/dist/components/modes/AlternateBufferCLI.d.ts.map +1 -1
- package/dist/components/modes/AlternateBufferCLI.js +53 -43
- package/dist/components/modes/StaticCLI.cjs +53 -42
- package/dist/components/modes/StaticCLI.d.ts.map +1 -1
- package/dist/components/modes/StaticCLI.js +53 -42
- package/dist/components/overlays/ApiKeyInput.cjs +12 -11
- package/dist/components/overlays/ApiKeyInput.d.ts.map +1 -1
- package/dist/components/overlays/ApiKeyInput.js +12 -11
- package/dist/components/overlays/ChatGPTUsageCapOverlay.cjs +7 -6
- package/dist/components/overlays/ChatGPTUsageCapOverlay.d.ts.map +1 -1
- package/dist/components/overlays/ChatGPTUsageCapOverlay.js +7 -6
- package/dist/components/overlays/CommandOutputOverlay.cjs +2 -1
- package/dist/components/overlays/CommandOutputOverlay.d.ts.map +1 -1
- package/dist/components/overlays/CommandOutputOverlay.js +2 -1
- package/dist/components/overlays/ConnectOverlay.cjs +10 -9
- package/dist/components/overlays/ConnectOverlay.d.ts.map +1 -1
- package/dist/components/overlays/ConnectOverlay.js +10 -9
- package/dist/components/overlays/ContextStatsOverlay.cjs +48 -37
- package/dist/components/overlays/ContextStatsOverlay.d.ts.map +1 -1
- package/dist/components/overlays/ContextStatsOverlay.js +48 -37
- package/dist/components/overlays/CustomModelWizard.cjs +5 -4
- package/dist/components/overlays/CustomModelWizard.d.ts.map +1 -1
- package/dist/components/overlays/CustomModelWizard.js +5 -4
- package/dist/components/overlays/ExportWizard.cjs +28 -27
- package/dist/components/overlays/ExportWizard.d.ts.map +1 -1
- package/dist/components/overlays/ExportWizard.js +28 -27
- package/dist/components/overlays/InsufficientCreditsOverlay.cjs +8 -7
- package/dist/components/overlays/InsufficientCreditsOverlay.d.ts.map +1 -1
- package/dist/components/overlays/InsufficientCreditsOverlay.js +8 -7
- package/dist/components/overlays/LogLevelSelector.cjs +6 -5
- package/dist/components/overlays/LogLevelSelector.d.ts.map +1 -1
- package/dist/components/overlays/LogLevelSelector.js +6 -5
- package/dist/components/overlays/LoginOverlay.cjs +7 -6
- package/dist/components/overlays/LoginOverlay.d.ts.map +1 -1
- package/dist/components/overlays/LoginOverlay.js +7 -6
- package/dist/components/overlays/LogoutOverlay.cjs +10 -9
- package/dist/components/overlays/LogoutOverlay.d.ts.map +1 -1
- package/dist/components/overlays/LogoutOverlay.js +10 -9
- package/dist/components/overlays/MarketplaceAddPrompt.cjs +12 -11
- package/dist/components/overlays/MarketplaceAddPrompt.d.ts.map +1 -1
- package/dist/components/overlays/MarketplaceAddPrompt.js +12 -11
- package/dist/components/overlays/MarketplaceBrowser.cjs +27 -26
- package/dist/components/overlays/MarketplaceBrowser.d.ts.map +1 -1
- package/dist/components/overlays/MarketplaceBrowser.js +27 -26
- package/dist/components/overlays/McpAddChoice.cjs +4 -3
- package/dist/components/overlays/McpAddChoice.d.ts.map +1 -1
- package/dist/components/overlays/McpAddChoice.js +4 -3
- package/dist/components/overlays/McpAddSelector.cjs +4 -3
- package/dist/components/overlays/McpAddSelector.d.ts.map +1 -1
- package/dist/components/overlays/McpAddSelector.js +4 -3
- package/dist/components/overlays/McpCustomTypeSelector.cjs +4 -3
- package/dist/components/overlays/McpCustomTypeSelector.d.ts.map +1 -1
- package/dist/components/overlays/McpCustomTypeSelector.js +4 -3
- package/dist/components/overlays/McpCustomWizard.cjs +9 -8
- package/dist/components/overlays/McpCustomWizard.d.ts.map +1 -1
- package/dist/components/overlays/McpCustomWizard.js +9 -8
- package/dist/components/overlays/McpRemoveSelector.cjs +5 -4
- package/dist/components/overlays/McpRemoveSelector.d.ts.map +1 -1
- package/dist/components/overlays/McpRemoveSelector.js +5 -4
- package/dist/components/overlays/McpSelector.cjs +4 -3
- package/dist/components/overlays/McpSelector.d.ts.map +1 -1
- package/dist/components/overlays/McpSelector.js +4 -3
- package/dist/components/overlays/McpServerActions.cjs +7 -6
- package/dist/components/overlays/McpServerActions.d.ts.map +1 -1
- package/dist/components/overlays/McpServerActions.js +7 -6
- package/dist/components/overlays/McpServerList.cjs +6 -5
- package/dist/components/overlays/McpServerList.d.ts.map +1 -1
- package/dist/components/overlays/McpServerList.js +6 -5
- package/dist/components/overlays/ModelSelectorRefactored.cjs +32 -17
- package/dist/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
- package/dist/components/overlays/ModelSelectorRefactored.js +32 -17
- package/dist/components/overlays/PermissionsSelector.cjs +6 -5
- package/dist/components/overlays/PermissionsSelector.d.ts.map +1 -1
- package/dist/components/overlays/PermissionsSelector.js +6 -5
- package/dist/components/overlays/PluginActions.cjs +7 -6
- package/dist/components/overlays/PluginActions.d.ts.map +1 -1
- package/dist/components/overlays/PluginActions.js +7 -6
- package/dist/components/overlays/PluginList.cjs +12 -11
- package/dist/components/overlays/PluginList.d.ts.map +1 -1
- package/dist/components/overlays/PluginList.js +12 -11
- package/dist/components/overlays/PluginManager.cjs +13 -5
- package/dist/components/overlays/PluginManager.d.ts.map +1 -1
- package/dist/components/overlays/PluginManager.js +13 -5
- package/dist/components/overlays/PromptAddChoice.cjs +5 -4
- package/dist/components/overlays/PromptAddChoice.d.ts.map +1 -1
- package/dist/components/overlays/PromptAddChoice.js +5 -4
- package/dist/components/overlays/PromptAddWizard.cjs +10 -9
- package/dist/components/overlays/PromptAddWizard.d.ts.map +1 -1
- package/dist/components/overlays/PromptAddWizard.js +10 -9
- package/dist/components/overlays/PromptDeleteSelector.cjs +6 -5
- package/dist/components/overlays/PromptDeleteSelector.d.ts.map +1 -1
- package/dist/components/overlays/PromptDeleteSelector.js +6 -5
- package/dist/components/overlays/PromptList.cjs +10 -9
- package/dist/components/overlays/PromptList.d.ts.map +1 -1
- package/dist/components/overlays/PromptList.js +10 -9
- package/dist/components/overlays/ReasoningOverlay.cjs +30 -23
- package/dist/components/overlays/ReasoningOverlay.d.ts.map +1 -1
- package/dist/components/overlays/ReasoningOverlay.js +30 -23
- package/dist/components/overlays/SearchOverlay.cjs +15 -14
- package/dist/components/overlays/SearchOverlay.d.ts.map +1 -1
- package/dist/components/overlays/SearchOverlay.js +15 -14
- package/dist/components/overlays/SessionRenameOverlay.cjs +9 -8
- package/dist/components/overlays/SessionRenameOverlay.d.ts.map +1 -1
- package/dist/components/overlays/SessionRenameOverlay.js +9 -8
- package/dist/components/overlays/SessionSelectorRefactored.cjs +4 -3
- package/dist/components/overlays/SessionSelectorRefactored.d.ts.map +1 -1
- package/dist/components/overlays/SessionSelectorRefactored.js +4 -3
- package/dist/components/overlays/SessionSubcommandSelector.cjs +4 -3
- package/dist/components/overlays/SessionSubcommandSelector.d.ts.map +1 -1
- package/dist/components/overlays/SessionSubcommandSelector.js +4 -3
- package/dist/components/overlays/SoundsSelector.cjs +15 -7
- package/dist/components/overlays/SoundsSelector.d.ts.map +1 -1
- package/dist/components/overlays/SoundsSelector.js +15 -7
- package/dist/components/overlays/StreamSelector.cjs +5 -4
- package/dist/components/overlays/StreamSelector.d.ts.map +1 -1
- package/dist/components/overlays/StreamSelector.js +5 -4
- package/dist/components/overlays/ToolBrowser.cjs +73 -56
- package/dist/components/overlays/ToolBrowser.d.ts.map +1 -1
- package/dist/components/overlays/ToolBrowser.js +73 -56
- package/dist/components/overlays/custom-model-wizard/LocalModelWizard.cjs +103 -69
- package/dist/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +1 -1
- package/dist/components/overlays/custom-model-wizard/LocalModelWizard.js +103 -69
- package/dist/components/overlays/custom-model-wizard/shared/ApiKeyStep.cjs +3 -2
- package/dist/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts.map +1 -1
- package/dist/components/overlays/custom-model-wizard/shared/ApiKeyStep.js +3 -2
- package/dist/components/overlays/custom-model-wizard/shared/ProviderSelector.cjs +5 -4
- package/dist/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts.map +1 -1
- package/dist/components/overlays/custom-model-wizard/shared/ProviderSelector.js +5 -4
- package/dist/components/overlays/custom-model-wizard/shared/SetupInfoBanner.cjs +4 -3
- package/dist/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts.map +1 -1
- package/dist/components/overlays/custom-model-wizard/shared/SetupInfoBanner.js +4 -3
- package/dist/components/overlays/custom-model-wizard/shared/WizardStepInput.cjs +7 -6
- package/dist/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts.map +1 -1
- package/dist/components/overlays/custom-model-wizard/shared/WizardStepInput.js +7 -6
- package/dist/components/renderers/DiffRenderer.cjs +5 -4
- package/dist/components/renderers/DiffRenderer.d.ts.map +1 -1
- package/dist/components/renderers/DiffRenderer.js +5 -4
- package/dist/components/renderers/FilePreviewRenderer.cjs +23 -13
- package/dist/components/renderers/FilePreviewRenderer.d.ts.map +1 -1
- package/dist/components/renderers/FilePreviewRenderer.js +23 -13
- package/dist/components/renderers/FileRenderer.cjs +9 -8
- package/dist/components/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/components/renderers/FileRenderer.js +9 -8
- package/dist/components/renderers/GenericRenderer.cjs +5 -4
- package/dist/components/renderers/GenericRenderer.d.ts.map +1 -1
- package/dist/components/renderers/GenericRenderer.js +5 -4
- package/dist/components/renderers/SearchRenderer.cjs +4 -3
- package/dist/components/renderers/SearchRenderer.d.ts.map +1 -1
- package/dist/components/renderers/SearchRenderer.js +4 -3
- package/dist/components/renderers/ShellRenderer.cjs +6 -5
- package/dist/components/renderers/ShellRenderer.d.ts.map +1 -1
- package/dist/components/renderers/ShellRenderer.js +6 -5
- package/dist/components/renderers/SignalDiff.cjs +139 -0
- package/dist/components/renderers/SignalDiff.d.ts +21 -0
- package/dist/components/renderers/SignalDiff.d.ts.map +1 -0
- package/dist/components/renderers/SignalDiff.js +106 -0
- package/dist/components/renderers/SignalDiff.test.cjs +78 -0
- package/dist/components/renderers/SignalDiff.test.d.ts +2 -0
- package/dist/components/renderers/SignalDiff.test.d.ts.map +1 -0
- package/dist/components/renderers/SignalDiff.test.js +77 -0
- package/dist/components/renderers/diff-shared.cjs +13 -7
- package/dist/components/renderers/diff-shared.d.ts +5 -0
- package/dist/components/renderers/diff-shared.d.ts.map +1 -1
- package/dist/components/renderers/diff-shared.js +12 -7
- package/dist/components/shared/FocusOverlayFrame.cjs +3 -2
- package/dist/components/shared/FocusOverlayFrame.d.ts.map +1 -1
- package/dist/components/shared/FocusOverlayFrame.js +3 -2
- package/dist/components/shared/HintBar.cjs +2 -1
- package/dist/components/shared/HintBar.d.ts.map +1 -1
- package/dist/components/shared/HintBar.js +2 -1
- package/dist/components/shared/MarkdownText.cjs +36 -53
- package/dist/components/shared/MarkdownText.d.ts +2 -0
- package/dist/components/shared/MarkdownText.d.ts.map +1 -1
- package/dist/components/shared/MarkdownText.js +36 -54
- package/dist/components/shared/VirtualizedList.cjs +2 -1
- package/dist/components/shared/VirtualizedList.d.ts.map +1 -1
- package/dist/components/shared/VirtualizedList.js +2 -1
- package/dist/containers/OverlayContainer.cjs +2 -4
- package/dist/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/containers/OverlayContainer.js +2 -4
- package/dist/contexts/KeypressContext.cjs +7 -1
- package/dist/contexts/KeypressContext.d.ts.map +1 -1
- package/dist/contexts/KeypressContext.js +7 -1
- package/dist/contexts/KeypressContext.test.cjs +82 -0
- package/dist/contexts/KeypressContext.test.d.ts +2 -0
- package/dist/contexts/KeypressContext.test.d.ts.map +1 -0
- package/dist/contexts/KeypressContext.test.js +81 -0
- package/dist/hooks/useAgentEvents.cjs +1 -74
- package/dist/hooks/useAgentEvents.d.ts.map +1 -1
- package/dist/hooks/useAgentEvents.js +1 -74
- package/dist/hooks/useCLIState.cjs +0 -3
- package/dist/hooks/useCLIState.d.ts.map +1 -1
- package/dist/hooks/useCLIState.js +0 -3
- package/dist/hooks/useContextStats.cjs +91 -0
- package/dist/hooks/useContextStats.d.ts +13 -0
- package/dist/hooks/useContextStats.d.ts.map +1 -0
- package/dist/hooks/useContextStats.js +67 -0
- package/dist/hooks/useDeckState.cjs +140 -0
- package/dist/hooks/useDeckState.d.ts +20 -0
- package/dist/hooks/useDeckState.d.ts.map +1 -0
- package/dist/hooks/useDeckState.js +123 -0
- package/dist/hooks/useDextoCredits.cjs +81 -0
- package/dist/hooks/useDextoCredits.d.ts +14 -0
- package/dist/hooks/useDextoCredits.d.ts.map +1 -0
- package/dist/hooks/useDextoCredits.js +56 -0
- package/dist/hooks/useDextoCredits.test.cjs +73 -0
- package/dist/hooks/useDextoCredits.test.d.ts +2 -0
- package/dist/hooks/useDextoCredits.test.d.ts.map +1 -0
- package/dist/hooks/useDextoCredits.test.js +72 -0
- package/dist/hooks/useElapsedTime.cjs +13 -24
- package/dist/hooks/useElapsedTime.d.ts +3 -1
- package/dist/hooks/useElapsedTime.d.ts.map +1 -1
- package/dist/hooks/useElapsedTime.js +13 -24
- package/dist/hooks/useElapsedTime.test.cjs +35 -0
- package/dist/hooks/useElapsedTime.test.d.ts +2 -0
- package/dist/hooks/useElapsedTime.test.d.ts.map +1 -0
- package/dist/hooks/useElapsedTime.test.js +34 -0
- package/dist/hooks/useGitDirtyFiles.cjs +59 -0
- package/dist/hooks/useGitDirtyFiles.d.ts +5 -0
- package/dist/hooks/useGitDirtyFiles.d.ts.map +1 -0
- package/dist/hooks/useGitDirtyFiles.js +34 -0
- package/dist/hooks/useGitDirtyFiles.test.cjs +9 -0
- package/dist/hooks/useGitDirtyFiles.test.d.ts +2 -0
- package/dist/hooks/useGitDirtyFiles.test.d.ts.map +1 -0
- package/dist/hooks/useGitDirtyFiles.test.js +8 -0
- package/dist/hooks/useHeldValue.cjs +33 -0
- package/dist/hooks/useHeldValue.d.ts +3 -0
- package/dist/hooks/useHeldValue.d.ts.map +1 -0
- package/dist/hooks/useHeldValue.js +9 -0
- package/dist/hooks/useHeldValue.test.cjs +31 -0
- package/dist/hooks/useHeldValue.test.d.ts +2 -0
- package/dist/hooks/useHeldValue.test.d.ts.map +1 -0
- package/dist/hooks/useHeldValue.test.js +30 -0
- package/dist/hooks/useInputOrchestrator.cjs +22 -30
- package/dist/hooks/useInputOrchestrator.d.ts +2 -0
- package/dist/hooks/useInputOrchestrator.d.ts.map +1 -1
- package/dist/hooks/useInputOrchestrator.js +21 -30
- package/dist/hooks/useInputOrchestrator.test.cjs +24 -0
- package/dist/hooks/useInputOrchestrator.test.d.ts +2 -0
- package/dist/hooks/useInputOrchestrator.test.d.ts.map +1 -0
- package/dist/hooks/useInputOrchestrator.test.js +23 -0
- package/dist/interactive-commands/command-parser.cjs +13 -21
- package/dist/interactive-commands/command-parser.d.ts.map +1 -1
- package/dist/interactive-commands/command-parser.js +13 -11
- package/dist/interactive-commands/general-commands.cjs +8 -7
- package/dist/interactive-commands/general-commands.d.ts.map +1 -1
- package/dist/interactive-commands/general-commands.js +8 -7
- package/dist/services/processStream.cjs +31 -19
- package/dist/services/processStream.d.ts.map +1 -1
- package/dist/services/processStream.js +32 -20
- package/dist/services/processStream.test.cjs +51 -3
- package/dist/services/processStream.test.js +51 -3
- package/dist/signal/background.cjs +154 -0
- package/dist/signal/background.d.ts +43 -0
- package/dist/signal/background.d.ts.map +1 -0
- package/dist/signal/background.js +124 -0
- package/dist/signal/background.test.cjs +186 -0
- package/dist/signal/background.test.d.ts +2 -0
- package/dist/signal/background.test.d.ts.map +1 -0
- package/dist/signal/background.test.js +192 -0
- package/dist/signal/caps.cjs +100 -0
- package/dist/signal/caps.d.ts +23 -0
- package/dist/signal/caps.d.ts.map +1 -0
- package/dist/signal/caps.js +73 -0
- package/dist/signal/caps.test.cjs +56 -0
- package/dist/signal/caps.test.d.ts +2 -0
- package/dist/signal/caps.test.d.ts.map +1 -0
- package/dist/signal/caps.test.js +55 -0
- package/dist/signal/components.cjs +257 -0
- package/dist/signal/components.d.ts +120 -0
- package/dist/signal/components.d.ts.map +1 -0
- package/dist/signal/components.js +226 -0
- package/dist/signal/components.test.cjs +156 -0
- package/dist/signal/components.test.d.ts +2 -0
- package/dist/signal/components.test.d.ts.map +1 -0
- package/dist/signal/components.test.js +133 -0
- package/dist/signal/cut.cjs +103 -0
- package/dist/signal/cut.d.ts +11 -0
- package/dist/signal/cut.d.ts.map +1 -0
- package/dist/signal/cut.js +77 -0
- package/dist/signal/cut.test.cjs +20 -0
- package/dist/signal/cut.test.d.ts +2 -0
- package/dist/signal/cut.test.d.ts.map +1 -0
- package/dist/signal/cut.test.js +19 -0
- package/dist/signal/deck-layout.cjs +57 -0
- package/dist/signal/deck-layout.d.ts +29 -0
- package/dist/signal/deck-layout.d.ts.map +1 -0
- package/dist/signal/deck-layout.js +30 -0
- package/dist/signal/deck-parts.cjs +243 -0
- package/dist/signal/deck-parts.d.ts +55 -0
- package/dist/signal/deck-parts.d.ts.map +1 -0
- package/dist/signal/deck-parts.js +205 -0
- package/dist/signal/deck.test.cjs +311 -0
- package/dist/signal/deck.test.d.ts +2 -0
- package/dist/signal/deck.test.d.ts.map +1 -0
- package/dist/signal/deck.test.js +288 -0
- package/dist/signal/glyphs.cjs +195 -0
- package/dist/signal/glyphs.d.ts +8 -0
- package/dist/signal/glyphs.d.ts.map +1 -0
- package/dist/signal/glyphs.js +171 -0
- package/dist/signal/glyphs.test.cjs +17 -0
- package/dist/signal/glyphs.test.d.ts +2 -0
- package/dist/signal/glyphs.test.d.ts.map +1 -0
- package/dist/signal/glyphs.test.js +16 -0
- package/dist/signal/harness.cjs +103 -0
- package/dist/signal/harness.d.ts +70 -0
- package/dist/signal/harness.d.ts.map +1 -0
- package/dist/signal/harness.js +67 -0
- package/dist/signal/harness.test.cjs +84 -0
- package/dist/signal/harness.test.d.ts +2 -0
- package/dist/signal/harness.test.d.ts.map +1 -0
- package/dist/signal/harness.test.js +61 -0
- package/dist/signal/index.cjs +76 -0
- package/dist/signal/index.d.ts +8 -0
- package/dist/signal/index.d.ts.map +1 -0
- package/dist/signal/index.js +45 -0
- package/dist/signal/kit.snapshot.test.cjs +56 -0
- package/dist/signal/kit.snapshot.test.d.ts +2 -0
- package/dist/signal/kit.snapshot.test.d.ts.map +1 -0
- package/dist/signal/kit.snapshot.test.js +55 -0
- package/dist/signal/no-raw-colours.test.cjs +32 -0
- package/dist/signal/no-raw-colours.test.d.ts +2 -0
- package/dist/signal/no-raw-colours.test.d.ts.map +1 -0
- package/dist/signal/no-raw-colours.test.js +30 -0
- package/dist/signal/paint.cjs +76 -0
- package/dist/signal/paint.d.ts +15 -0
- package/dist/signal/paint.d.ts.map +1 -0
- package/dist/signal/paint.js +41 -0
- package/dist/signal/paint.test.cjs +98 -0
- package/dist/signal/paint.test.d.ts +2 -0
- package/dist/signal/paint.test.d.ts.map +1 -0
- package/dist/signal/paint.test.js +75 -0
- package/dist/signal/tone.cjs +109 -0
- package/dist/signal/tone.d.ts +17 -0
- package/dist/signal/tone.d.ts.map +1 -0
- package/dist/signal/tone.js +83 -0
- package/dist/signal/tone.test.cjs +70 -0
- package/dist/signal/tone.test.d.ts +2 -0
- package/dist/signal/tone.test.d.ts.map +1 -0
- package/dist/signal/tone.test.js +69 -0
- package/dist/signal/trace.cjs +142 -0
- package/dist/signal/trace.d.ts +41 -0
- package/dist/signal/trace.d.ts.map +1 -0
- package/dist/signal/trace.js +113 -0
- package/dist/signal/trace.test.cjs +50 -0
- package/dist/signal/trace.test.d.ts +2 -0
- package/dist/signal/trace.test.d.ts.map +1 -0
- package/dist/signal/trace.test.js +49 -0
- package/dist/signal/use-trace.cjs +73 -0
- package/dist/signal/use-trace.d.ts +5 -0
- package/dist/signal/use-trace.d.ts.map +1 -0
- package/dist/signal/use-trace.js +48 -0
- package/dist/signal/wordmark-art.generated.cjs +375 -0
- package/dist/signal/wordmark-art.generated.d.ts +3 -0
- package/dist/signal/wordmark-art.generated.d.ts.map +1 -0
- package/dist/signal/wordmark-art.generated.js +351 -0
- package/dist/signal/wordmark.cjs +60 -0
- package/dist/signal/wordmark.d.ts +23 -0
- package/dist/signal/wordmark.d.ts.map +1 -0
- package/dist/signal/wordmark.js +34 -0
- package/dist/signal/wordmark.test.cjs +71 -0
- package/dist/signal/wordmark.test.d.ts +2 -0
- package/dist/signal/wordmark.test.d.ts.map +1 -0
- package/dist/signal/wordmark.test.js +70 -0
- package/dist/state/initialState.cjs +0 -3
- package/dist/state/initialState.d.ts.map +1 -1
- package/dist/state/initialState.js +0 -3
- package/dist/state/types.d.ts +13 -7
- package/dist/state/types.d.ts.map +1 -1
- package/dist/utils/approval-response.cjs +45 -0
- package/dist/utils/approval-response.d.ts +14 -0
- package/dist/utils/approval-response.d.ts.map +1 -0
- package/dist/utils/approval-response.js +21 -0
- package/dist/utils/approval-response.test.cjs +49 -0
- package/dist/utils/approval-response.test.d.ts +2 -0
- package/dist/utils/approval-response.test.d.ts.map +1 -0
- package/dist/utils/approval-response.test.js +55 -0
- package/dist/utils/approvalScope.cjs +12 -0
- package/dist/utils/approvalScope.d.ts.map +1 -1
- package/dist/utils/approvalScope.js +12 -0
- package/dist/utils/approvalScope.test.cjs +23 -0
- package/dist/utils/approvalScope.test.d.ts +2 -0
- package/dist/utils/approvalScope.test.d.ts.map +1 -0
- package/dist/utils/approvalScope.test.js +22 -0
- package/dist/utils/background-failure.cjs +51 -0
- package/dist/utils/background-failure.d.ts +12 -0
- package/dist/utils/background-failure.d.ts.map +1 -0
- package/dist/utils/background-failure.js +26 -0
- package/dist/utils/chatgpt-rate-limit.cjs +10 -0
- package/dist/utils/chatgpt-rate-limit.d.ts +9 -0
- package/dist/utils/chatgpt-rate-limit.d.ts.map +1 -1
- package/dist/utils/chatgpt-rate-limit.js +9 -0
- package/dist/utils/chatgpt-rate-limit.test.cjs +10 -0
- package/dist/utils/chatgpt-rate-limit.test.js +11 -0
- package/dist/utils/deck-state.cjs +107 -0
- package/dist/utils/deck-state.d.ts +79 -0
- package/dist/utils/deck-state.d.ts.map +1 -0
- package/dist/utils/deck-state.js +76 -0
- package/dist/utils/deck-state.test.cjs +208 -0
- package/dist/utils/deck-state.test.d.ts +2 -0
- package/dist/utils/deck-state.test.d.ts.map +1 -0
- package/dist/utils/deck-state.test.js +216 -0
- package/dist/utils/fault-block.cjs +37 -0
- package/dist/utils/fault-block.d.ts +13 -0
- package/dist/utils/fault-block.d.ts.map +1 -0
- package/dist/utils/fault-block.js +13 -0
- package/dist/utils/fault-block.test.cjs +23 -0
- package/dist/utils/fault-block.test.d.ts +2 -0
- package/dist/utils/fault-block.test.d.ts.map +1 -0
- package/dist/utils/fault-block.test.js +22 -0
- package/dist/utils/messageFormatting.cjs +26 -23
- package/dist/utils/messageFormatting.d.ts +5 -2
- package/dist/utils/messageFormatting.d.ts.map +1 -1
- package/dist/utils/messageFormatting.js +25 -21
- package/dist/utils/messageFormatting.test.cjs +34 -0
- package/dist/utils/messageFormatting.test.js +35 -1
- package/dist/utils/reasoning-variant.cjs +35 -0
- package/dist/utils/reasoning-variant.d.ts +13 -0
- package/dist/utils/reasoning-variant.d.ts.map +1 -0
- package/dist/utils/reasoning-variant.js +11 -0
- package/dist/utils/resize-reflow.cjs +119 -0
- package/dist/utils/resize-reflow.d.ts +18 -0
- package/dist/utils/resize-reflow.d.ts.map +1 -0
- package/dist/utils/resize-reflow.js +83 -0
- package/dist/utils/resize-reflow.test.cjs +100 -0
- package/dist/utils/resize-reflow.test.d.ts +2 -0
- package/dist/utils/resize-reflow.test.d.ts.map +1 -0
- package/dist/utils/resize-reflow.test.js +99 -0
- package/dist/utils/tool-step.cjs +183 -0
- package/dist/utils/tool-step.d.ts +28 -0
- package/dist/utils/tool-step.d.ts.map +1 -0
- package/dist/utils/tool-step.js +156 -0
- package/dist/utils/tool-step.test.cjs +263 -0
- package/dist/utils/tool-step.test.d.ts +2 -0
- package/dist/utils/tool-step.test.d.ts.map +1 -0
- package/dist/utils/tool-step.test.js +262 -0
- package/package.json +7 -3
- package/dist/components/BackgroundTasksPanel.cjs +0 -117
- package/dist/components/BackgroundTasksPanel.d.ts +0 -18
- package/dist/components/BackgroundTasksPanel.d.ts.map +0 -1
- package/dist/components/BackgroundTasksPanel.js +0 -93
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
var command_parser_exports = {};
|
|
30
20
|
__export(command_parser_exports, {
|
|
@@ -35,7 +25,7 @@ __export(command_parser_exports, {
|
|
|
35
25
|
parseInput: () => parseInput
|
|
36
26
|
});
|
|
37
27
|
module.exports = __toCommonJS(command_parser_exports);
|
|
38
|
-
var
|
|
28
|
+
var import_signal = require("../signal/index.js");
|
|
39
29
|
const overlayOnlyHandler = async () => true;
|
|
40
30
|
function parseQuotedArguments(input) {
|
|
41
31
|
const args = [];
|
|
@@ -114,23 +104,23 @@ function getCommandSuggestions(partial, commands) {
|
|
|
114
104
|
return suggestions.sort();
|
|
115
105
|
}
|
|
116
106
|
function formatCommandHelp(cmd, detailed = false) {
|
|
117
|
-
let help =
|
|
107
|
+
let help = (0, import_signal.paint)("teal")(`/${cmd.name}`) + " - " + cmd.description;
|
|
118
108
|
if (detailed) {
|
|
119
|
-
help += "\n" +
|
|
109
|
+
help += "\n" + (0, import_signal.paint)("dim")(`Usage: ${cmd.usage}`);
|
|
120
110
|
if (cmd.aliases && cmd.aliases.length > 0) {
|
|
121
|
-
help += "\n" +
|
|
111
|
+
help += "\n" + (0, import_signal.paint)("dim")(`Aliases: ${cmd.aliases.map((a) => `/${a}`).join(", ")}`);
|
|
122
112
|
}
|
|
123
113
|
if (cmd.subcommands && cmd.subcommands.length > 0) {
|
|
124
|
-
help += "\n" +
|
|
114
|
+
help += "\n" + (0, import_signal.paint)("dim")("Subcommands:");
|
|
125
115
|
for (const sub of cmd.subcommands) {
|
|
126
|
-
help += "\n " +
|
|
116
|
+
help += "\n " + (0, import_signal.paint)("teal")(`/${cmd.name} ${sub.name}`) + " - " + sub.description;
|
|
127
117
|
}
|
|
128
118
|
}
|
|
129
119
|
}
|
|
130
120
|
return help;
|
|
131
121
|
}
|
|
132
122
|
function displayAllCommands(commands) {
|
|
133
|
-
console.log(
|
|
123
|
+
console.log((0, import_signal.paint)("add").bold("\n\u{1F4CB} Available Commands:\n"));
|
|
134
124
|
const categoryOrder = [
|
|
135
125
|
"General",
|
|
136
126
|
"Session Management",
|
|
@@ -156,7 +146,7 @@ function displayAllCommands(commands) {
|
|
|
156
146
|
for (const category of categoryOrder) {
|
|
157
147
|
const cmds = categories[category];
|
|
158
148
|
if (cmds && cmds.length > 0) {
|
|
159
|
-
console.log(
|
|
149
|
+
console.log((0, import_signal.paint)("amber").bold(`${category}:`));
|
|
160
150
|
for (const cmd of cmds) {
|
|
161
151
|
console.log(" " + formatCommandHelp(cmd));
|
|
162
152
|
}
|
|
@@ -165,15 +155,17 @@ function displayAllCommands(commands) {
|
|
|
165
155
|
}
|
|
166
156
|
for (const [category, cmds] of Object.entries(categories)) {
|
|
167
157
|
if (!categoryOrder.includes(category) && cmds.length > 0) {
|
|
168
|
-
console.log(
|
|
158
|
+
console.log((0, import_signal.paint)("amber").bold(`${category}:`));
|
|
169
159
|
for (const cmd of cmds) {
|
|
170
160
|
console.log(" " + formatCommandHelp(cmd));
|
|
171
161
|
}
|
|
172
162
|
console.log();
|
|
173
163
|
}
|
|
174
164
|
}
|
|
175
|
-
console.log(
|
|
176
|
-
console.log(
|
|
165
|
+
console.log((0, import_signal.paint)("dim")("\u{1F4A1} Tip: Use /help <command> for detailed help on any command"));
|
|
166
|
+
console.log(
|
|
167
|
+
(0, import_signal.paint)("dim")("\u{1F4A1} Tip: Type your message normally (without /) to chat with the AI\n")
|
|
168
|
+
);
|
|
177
169
|
}
|
|
178
170
|
// Annotate the CommonJS export names for ESM import in node:
|
|
179
171
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/command-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,OAAO,EAAE,CACL,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,cAAc,KAClB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,oBAAoB,CAAS,CAAC;AA4ClF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAiCvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoB9F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/command-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,OAAO,EAAE,CACL,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,cAAc,KAClB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,oBAAoB,CAAS,CAAC;AA4ClF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAiCvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoB9F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM,CAoB3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CA2DtE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { paint } from "../signal/index.js";
|
|
2
2
|
const overlayOnlyHandler = async () => true;
|
|
3
3
|
function parseQuotedArguments(input) {
|
|
4
4
|
const args = [];
|
|
@@ -77,23 +77,23 @@ function getCommandSuggestions(partial, commands) {
|
|
|
77
77
|
return suggestions.sort();
|
|
78
78
|
}
|
|
79
79
|
function formatCommandHelp(cmd, detailed = false) {
|
|
80
|
-
let help =
|
|
80
|
+
let help = paint("teal")(`/${cmd.name}`) + " - " + cmd.description;
|
|
81
81
|
if (detailed) {
|
|
82
|
-
help += "\n" +
|
|
82
|
+
help += "\n" + paint("dim")(`Usage: ${cmd.usage}`);
|
|
83
83
|
if (cmd.aliases && cmd.aliases.length > 0) {
|
|
84
|
-
help += "\n" +
|
|
84
|
+
help += "\n" + paint("dim")(`Aliases: ${cmd.aliases.map((a) => `/${a}`).join(", ")}`);
|
|
85
85
|
}
|
|
86
86
|
if (cmd.subcommands && cmd.subcommands.length > 0) {
|
|
87
|
-
help += "\n" +
|
|
87
|
+
help += "\n" + paint("dim")("Subcommands:");
|
|
88
88
|
for (const sub of cmd.subcommands) {
|
|
89
|
-
help += "\n " +
|
|
89
|
+
help += "\n " + paint("teal")(`/${cmd.name} ${sub.name}`) + " - " + sub.description;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
return help;
|
|
94
94
|
}
|
|
95
95
|
function displayAllCommands(commands) {
|
|
96
|
-
console.log(
|
|
96
|
+
console.log(paint("add").bold("\n\u{1F4CB} Available Commands:\n"));
|
|
97
97
|
const categoryOrder = [
|
|
98
98
|
"General",
|
|
99
99
|
"Session Management",
|
|
@@ -119,7 +119,7 @@ function displayAllCommands(commands) {
|
|
|
119
119
|
for (const category of categoryOrder) {
|
|
120
120
|
const cmds = categories[category];
|
|
121
121
|
if (cmds && cmds.length > 0) {
|
|
122
|
-
console.log(
|
|
122
|
+
console.log(paint("amber").bold(`${category}:`));
|
|
123
123
|
for (const cmd of cmds) {
|
|
124
124
|
console.log(" " + formatCommandHelp(cmd));
|
|
125
125
|
}
|
|
@@ -128,15 +128,17 @@ function displayAllCommands(commands) {
|
|
|
128
128
|
}
|
|
129
129
|
for (const [category, cmds] of Object.entries(categories)) {
|
|
130
130
|
if (!categoryOrder.includes(category) && cmds.length > 0) {
|
|
131
|
-
console.log(
|
|
131
|
+
console.log(paint("amber").bold(`${category}:`));
|
|
132
132
|
for (const cmd of cmds) {
|
|
133
133
|
console.log(" " + formatCommandHelp(cmd));
|
|
134
134
|
}
|
|
135
135
|
console.log();
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
console.log(
|
|
139
|
-
console.log(
|
|
138
|
+
console.log(paint("dim")("\u{1F4A1} Tip: Use /help <command> for detailed help on any command"));
|
|
139
|
+
console.log(
|
|
140
|
+
paint("dim")("\u{1F4A1} Tip: Type your message normally (without /) to chat with the AI\n")
|
|
141
|
+
);
|
|
140
142
|
}
|
|
141
143
|
export {
|
|
142
144
|
displayAllCommands,
|
|
@@ -40,6 +40,7 @@ var import_command_output = require("./utils/command-output.js");
|
|
|
40
40
|
var import_clipboardUtils = require("../utils/clipboardUtils.js");
|
|
41
41
|
var import_exit_stats = require("./exit-stats.js");
|
|
42
42
|
var import_exit_handler = require("./exit-handler.js");
|
|
43
|
+
var import_signal = require("../signal/index.js");
|
|
43
44
|
function getShellRcFile(shell) {
|
|
44
45
|
const home = process.env.HOME;
|
|
45
46
|
if (!home) return null;
|
|
@@ -140,13 +141,13 @@ const generalCommands = [
|
|
|
140
141
|
lines.push(stdout.trim());
|
|
141
142
|
}
|
|
142
143
|
if (stderr.trim()) {
|
|
143
|
-
lines.push(
|
|
144
|
+
lines.push((0, import_signal.paint)("amberDim")(stderr.trim()));
|
|
144
145
|
}
|
|
145
146
|
if (exitCode !== 0) {
|
|
146
|
-
lines.push(
|
|
147
|
+
lines.push((0, import_signal.paint)("red")(`Exit code: ${exitCode}`));
|
|
147
148
|
}
|
|
148
149
|
if (lines.length === 0) {
|
|
149
|
-
return (0, import_format_output.formatForInkCli)(
|
|
150
|
+
return (0, import_format_output.formatForInkCli)((0, import_signal.paint)("dim")("(no output)"));
|
|
150
151
|
}
|
|
151
152
|
return (0, import_format_output.formatForInkCli)(lines.join("\n"));
|
|
152
153
|
}
|
|
@@ -299,9 +300,9 @@ const generalCommands = [
|
|
|
299
300
|
const filledWidth = Math.round(displayPercent / 100 * barWidth);
|
|
300
301
|
const emptyWidth = barWidth - filledWidth;
|
|
301
302
|
const progressBar = "\u2588".repeat(filledWidth) + "\u2591".repeat(emptyWidth);
|
|
302
|
-
let usageColor =
|
|
303
|
-
if (stats.usagePercent > 80) usageColor =
|
|
304
|
-
else if (stats.usagePercent > 60) usageColor =
|
|
303
|
+
let usageColor = (0, import_signal.paint)("add");
|
|
304
|
+
if (stats.usagePercent > 80) usageColor = (0, import_signal.paint)("red");
|
|
305
|
+
else if (stats.usagePercent > 60) usageColor = (0, import_signal.paint)("amberDim");
|
|
305
306
|
const formatTokens = (tokens) => {
|
|
306
307
|
if (tokens >= 1e3) {
|
|
307
308
|
return `${(tokens / 1e3).toFixed(1)}k`;
|
|
@@ -328,7 +329,7 @@ const generalCommands = [
|
|
|
328
329
|
` ${usageColor(progressBar)} ${stats.usagePercent}%${overflowWarning}`,
|
|
329
330
|
` ${import_chalk.default.dim(stats.modelDisplayName)} \xB7 ${tokenDisplay} / ${formatTokens(totalTokenSpace)} tokens`,
|
|
330
331
|
``,
|
|
331
|
-
` ${
|
|
332
|
+
` ${(0, import_signal.paint)("teal")("Breakdown:")} ${breakdownLabel}`,
|
|
332
333
|
` \u251C\u2500 System prompt: ${formatTokens(breakdown.systemPrompt)} (${pct(breakdown.systemPrompt)})`,
|
|
333
334
|
` \u251C\u2500 Tools: ${formatTokens(breakdown.tools.total)} (${pct(breakdown.tools.total)})`,
|
|
334
335
|
` \u251C\u2500 Messages: ${formatTokens(breakdown.messages)} (${pct(breakdown.messages)})`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general-commands.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/general-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAwC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"general-commands.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/general-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAwC,MAAM,qBAAqB,CAAC;AAQnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoG3D;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,4BAA4B,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,iBAAiB,EAAE,GAC9E,iBAAiB,CAgCnB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAwe9C,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { CommandOutputHelper } from "./utils/command-output.js";
|
|
|
6
6
|
import { writeToClipboard } from "../utils/clipboardUtils.js";
|
|
7
7
|
import { hasMeaningfulTokenUsage, setExitStats } from "./exit-stats.js";
|
|
8
8
|
import { triggerExit } from "./exit-handler.js";
|
|
9
|
+
import { paint } from "../signal/index.js";
|
|
9
10
|
function getShellRcFile(shell) {
|
|
10
11
|
const home = process.env.HOME;
|
|
11
12
|
if (!home) return null;
|
|
@@ -106,13 +107,13 @@ const generalCommands = [
|
|
|
106
107
|
lines.push(stdout.trim());
|
|
107
108
|
}
|
|
108
109
|
if (stderr.trim()) {
|
|
109
|
-
lines.push(
|
|
110
|
+
lines.push(paint("amberDim")(stderr.trim()));
|
|
110
111
|
}
|
|
111
112
|
if (exitCode !== 0) {
|
|
112
|
-
lines.push(
|
|
113
|
+
lines.push(paint("red")(`Exit code: ${exitCode}`));
|
|
113
114
|
}
|
|
114
115
|
if (lines.length === 0) {
|
|
115
|
-
return formatForInkCli(
|
|
116
|
+
return formatForInkCli(paint("dim")("(no output)"));
|
|
116
117
|
}
|
|
117
118
|
return formatForInkCli(lines.join("\n"));
|
|
118
119
|
}
|
|
@@ -265,9 +266,9 @@ const generalCommands = [
|
|
|
265
266
|
const filledWidth = Math.round(displayPercent / 100 * barWidth);
|
|
266
267
|
const emptyWidth = barWidth - filledWidth;
|
|
267
268
|
const progressBar = "\u2588".repeat(filledWidth) + "\u2591".repeat(emptyWidth);
|
|
268
|
-
let usageColor =
|
|
269
|
-
if (stats.usagePercent > 80) usageColor =
|
|
270
|
-
else if (stats.usagePercent > 60) usageColor =
|
|
269
|
+
let usageColor = paint("add");
|
|
270
|
+
if (stats.usagePercent > 80) usageColor = paint("red");
|
|
271
|
+
else if (stats.usagePercent > 60) usageColor = paint("amberDim");
|
|
271
272
|
const formatTokens = (tokens) => {
|
|
272
273
|
if (tokens >= 1e3) {
|
|
273
274
|
return `${(tokens / 1e3).toFixed(1)}k`;
|
|
@@ -294,7 +295,7 @@ const generalCommands = [
|
|
|
294
295
|
` ${usageColor(progressBar)} ${stats.usagePercent}%${overflowWarning}`,
|
|
295
296
|
` ${chalk.dim(stats.modelDisplayName)} \xB7 ${tokenDisplay} / ${formatTokens(totalTokenSpace)} tokens`,
|
|
296
297
|
``,
|
|
297
|
-
` ${
|
|
298
|
+
` ${paint("teal")("Breakdown:")} ${breakdownLabel}`,
|
|
298
299
|
` \u251C\u2500 System prompt: ${formatTokens(breakdown.systemPrompt)} (${pct(breakdown.systemPrompt)})`,
|
|
299
300
|
` \u251C\u2500 Tools: ${formatTokens(breakdown.tools.total)} (${pct(breakdown.tools.total)})`,
|
|
300
301
|
` \u251C\u2500 Messages: ${formatTokens(breakdown.messages)} (${pct(breakdown.messages)})`,
|
|
@@ -35,6 +35,7 @@ var import_debugLog = require("../utils/debugLog.js");
|
|
|
35
35
|
var import_core = require("@dexto/core");
|
|
36
36
|
var import_idGenerator = require("../utils/idGenerator.js");
|
|
37
37
|
var import_streamSplitter = require("../utils/streamSplitter.js");
|
|
38
|
+
var import_tool_step = require("../utils/tool-step.js");
|
|
38
39
|
var import_messageFormatting = require("../utils/messageFormatting.js");
|
|
39
40
|
var import_toolUtils = require("../utils/toolUtils.js");
|
|
40
41
|
var import_host = require("../host/index.js");
|
|
@@ -48,6 +49,11 @@ function buildErrorContent(error, prefix) {
|
|
|
48
49
|
}
|
|
49
50
|
return errorContent;
|
|
50
51
|
}
|
|
52
|
+
function isReportedError(error, reported) {
|
|
53
|
+
if (reported.has(error)) return true;
|
|
54
|
+
if (!(error instanceof Error)) return false;
|
|
55
|
+
return [...reported].some((each) => each instanceof Error && each.message === error.message);
|
|
56
|
+
}
|
|
51
57
|
function getErrorCode(error) {
|
|
52
58
|
if (typeof error !== "object" || error === null) {
|
|
53
59
|
return null;
|
|
@@ -106,6 +112,7 @@ async function processStream(iterator, setters, options) {
|
|
|
106
112
|
} = setters;
|
|
107
113
|
const useStreaming = options?.useStreaming ?? true;
|
|
108
114
|
const approvalIdToToolCallId = /* @__PURE__ */ new Map();
|
|
115
|
+
const reportedErrors = /* @__PURE__ */ new Set();
|
|
109
116
|
const state = {
|
|
110
117
|
messageId: null,
|
|
111
118
|
content: "",
|
|
@@ -477,9 +484,6 @@ async function processStream(iterator, setters, options) {
|
|
|
477
484
|
break;
|
|
478
485
|
}
|
|
479
486
|
case "llm:tool-call": {
|
|
480
|
-
if ((0, import_messageFormatting.shouldHideTool)(event.toolName)) {
|
|
481
|
-
break;
|
|
482
|
-
}
|
|
483
487
|
debug.log("TOOL-CALL: state check", {
|
|
484
488
|
toolName: event.toolName,
|
|
485
489
|
hasMessageId: !!state.messageId,
|
|
@@ -559,7 +563,7 @@ async function processStream(iterator, setters, options) {
|
|
|
559
563
|
}
|
|
560
564
|
}
|
|
561
565
|
const toolMessageId = event.callId ? `tool-${event.callId}` : (0, import_idGenerator.generateMessageId)("tool");
|
|
562
|
-
const { header: toolContent } = (0, import_messageFormatting.formatToolHeader)({
|
|
566
|
+
const { header: toolContent, argsFormatted: toolArgs } = (0, import_messageFormatting.formatToolHeader)({
|
|
563
567
|
toolName: event.toolName,
|
|
564
568
|
args: event.args || {},
|
|
565
569
|
...event.presentationSnapshot !== void 0 && {
|
|
@@ -577,6 +581,8 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
577
581
|
role: "tool",
|
|
578
582
|
content: finalToolContent,
|
|
579
583
|
timestamp: /* @__PURE__ */ new Date(),
|
|
584
|
+
toolName: event.toolName,
|
|
585
|
+
toolArgs,
|
|
580
586
|
toolStatus: "pending"
|
|
581
587
|
});
|
|
582
588
|
(0, import_host.captureAnalytics)("dexto_tool_called", {
|
|
@@ -587,9 +593,6 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
587
593
|
break;
|
|
588
594
|
}
|
|
589
595
|
case "llm:tool-result": {
|
|
590
|
-
if ((0, import_messageFormatting.shouldHideTool)(event.toolName)) {
|
|
591
|
-
break;
|
|
592
|
-
}
|
|
593
596
|
const sanitized = event.sanitized;
|
|
594
597
|
const toolDisplayData = sanitized?.meta?.display;
|
|
595
598
|
const toolContent = sanitized?.content;
|
|
@@ -628,6 +631,8 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
628
631
|
toolResult: resultPreview,
|
|
629
632
|
toolStatus: "finished",
|
|
630
633
|
isError: !event.success,
|
|
634
|
+
...(0, import_tool_step.backgroundFailure)(event.toolName, event.rawResult),
|
|
635
|
+
...!event.success && event.error !== void 0 && { toolFailureText: event.error },
|
|
631
636
|
...toolDisplayData && { toolDisplayData },
|
|
632
637
|
...toolContent && { toolContent }
|
|
633
638
|
});
|
|
@@ -654,6 +659,7 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
654
659
|
break;
|
|
655
660
|
}
|
|
656
661
|
case "llm:error": {
|
|
662
|
+
reportedErrors.add(event.error);
|
|
657
663
|
const insufficientCredits = getErrorCode(event.error) === import_core.LLMErrorCode.INSUFFICIENT_CREDITS;
|
|
658
664
|
const insufficientCreditsBalance = insufficientCredits ? extractInsufficientCreditsBalance(event.error) : null;
|
|
659
665
|
const errorContent = insufficientCredits ? buildInsufficientCreditsContent(insufficientCreditsBalance) : buildErrorContent(event.error, "Error: ");
|
|
@@ -663,7 +669,8 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
663
669
|
id: (0, import_idGenerator.generateMessageId)("error"),
|
|
664
670
|
role: "system",
|
|
665
671
|
content: errorContent,
|
|
666
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
672
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
673
|
+
systemKind: "fault"
|
|
667
674
|
}
|
|
668
675
|
]);
|
|
669
676
|
if (event.recoverable !== true) {
|
|
@@ -853,7 +860,8 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
853
860
|
finalizeMessage(`tool-${toolCallId}`, {
|
|
854
861
|
toolStatus: "finished",
|
|
855
862
|
toolResult: "Cancelled",
|
|
856
|
-
isError: true
|
|
863
|
+
isError: true,
|
|
864
|
+
toolOutcome: event.status === import_core.ApprovalStatus.DENIED ? "denied" : "cancelled"
|
|
857
865
|
});
|
|
858
866
|
}
|
|
859
867
|
}
|
|
@@ -945,6 +953,7 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
945
953
|
break;
|
|
946
954
|
}
|
|
947
955
|
}
|
|
956
|
+
setUi((prev) => prev.isCancelling ? { ...prev, isCancelling: false } : prev);
|
|
948
957
|
} catch (error) {
|
|
949
958
|
if (error instanceof Error && error.name === "AbortError") {
|
|
950
959
|
clearPending();
|
|
@@ -956,16 +965,19 @@ ${import_chalk.default.dim(runningDescription)}`;
|
|
|
956
965
|
}));
|
|
957
966
|
} else {
|
|
958
967
|
clearPending();
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
968
|
+
if (!isReportedError(error, reportedErrors)) {
|
|
969
|
+
const errorContent = buildErrorContent(error, "Stream error: ");
|
|
970
|
+
setMessages((prev) => [
|
|
971
|
+
...prev,
|
|
972
|
+
{
|
|
973
|
+
id: (0, import_idGenerator.generateMessageId)("error"),
|
|
974
|
+
role: "system",
|
|
975
|
+
content: errorContent,
|
|
976
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
977
|
+
systemKind: "fault"
|
|
978
|
+
}
|
|
979
|
+
]);
|
|
980
|
+
}
|
|
969
981
|
setUi((prev) => ({
|
|
970
982
|
...prev,
|
|
971
983
|
isProcessing: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processStream.d.ts","sourceRoot":"","sources":["../../src/services/processStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"processStream.d.ts","sourceRoot":"","sources":["../../src/services/processStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AA2EvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2DAA2D;IAC3D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,oFAAoF;IACpF,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,iFAAiF;IACjF,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,kEAAkE;IAClE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3F,4CAA4C;IAC5C,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC9F,2CAA2C;IAC3C,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/F,4DAA4D;IAC5D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,uDAAuD;IACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,mBAAmB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,wFAAwF;IACxF,oBAAoB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,EAAE,IAAI,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5D,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,+BAA+B,EAAE,wBAAwB,CAAC;IAChF,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;CAC3F;AAgDD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAC/B,QAAQ,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAC/C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAmwCf"}
|
|
@@ -2,7 +2,8 @@ import { createDebugLogger } from "../utils/debugLog.js";
|
|
|
2
2
|
import { ApprovalType as ApprovalTypeEnum, ApprovalStatus, LLMErrorCode } from "@dexto/core";
|
|
3
3
|
import { generateMessageId } from "../utils/idGenerator.js";
|
|
4
4
|
import { checkForSplit } from "../utils/streamSplitter.js";
|
|
5
|
-
import {
|
|
5
|
+
import { backgroundFailure } from "../utils/tool-step.js";
|
|
6
|
+
import { formatToolHeader } from "../utils/messageFormatting.js";
|
|
6
7
|
import { isAutoApprovableInEditMode } from "../utils/toolUtils.js";
|
|
7
8
|
import { captureAnalytics } from "../host/index.js";
|
|
8
9
|
import chalk from "chalk";
|
|
@@ -15,6 +16,11 @@ function buildErrorContent(error, prefix) {
|
|
|
15
16
|
}
|
|
16
17
|
return errorContent;
|
|
17
18
|
}
|
|
19
|
+
function isReportedError(error, reported) {
|
|
20
|
+
if (reported.has(error)) return true;
|
|
21
|
+
if (!(error instanceof Error)) return false;
|
|
22
|
+
return [...reported].some((each) => each instanceof Error && each.message === error.message);
|
|
23
|
+
}
|
|
18
24
|
function getErrorCode(error) {
|
|
19
25
|
if (typeof error !== "object" || error === null) {
|
|
20
26
|
return null;
|
|
@@ -73,6 +79,7 @@ async function processStream(iterator, setters, options) {
|
|
|
73
79
|
} = setters;
|
|
74
80
|
const useStreaming = options?.useStreaming ?? true;
|
|
75
81
|
const approvalIdToToolCallId = /* @__PURE__ */ new Map();
|
|
82
|
+
const reportedErrors = /* @__PURE__ */ new Set();
|
|
76
83
|
const state = {
|
|
77
84
|
messageId: null,
|
|
78
85
|
content: "",
|
|
@@ -444,9 +451,6 @@ async function processStream(iterator, setters, options) {
|
|
|
444
451
|
break;
|
|
445
452
|
}
|
|
446
453
|
case "llm:tool-call": {
|
|
447
|
-
if (shouldHideTool(event.toolName)) {
|
|
448
|
-
break;
|
|
449
|
-
}
|
|
450
454
|
debug.log("TOOL-CALL: state check", {
|
|
451
455
|
toolName: event.toolName,
|
|
452
456
|
hasMessageId: !!state.messageId,
|
|
@@ -526,7 +530,7 @@ async function processStream(iterator, setters, options) {
|
|
|
526
530
|
}
|
|
527
531
|
}
|
|
528
532
|
const toolMessageId = event.callId ? `tool-${event.callId}` : generateMessageId("tool");
|
|
529
|
-
const { header: toolContent } = formatToolHeader({
|
|
533
|
+
const { header: toolContent, argsFormatted: toolArgs } = formatToolHeader({
|
|
530
534
|
toolName: event.toolName,
|
|
531
535
|
args: event.args || {},
|
|
532
536
|
...event.presentationSnapshot !== void 0 && {
|
|
@@ -544,6 +548,8 @@ ${chalk.dim(runningDescription)}`;
|
|
|
544
548
|
role: "tool",
|
|
545
549
|
content: finalToolContent,
|
|
546
550
|
timestamp: /* @__PURE__ */ new Date(),
|
|
551
|
+
toolName: event.toolName,
|
|
552
|
+
toolArgs,
|
|
547
553
|
toolStatus: "pending"
|
|
548
554
|
});
|
|
549
555
|
captureAnalytics("dexto_tool_called", {
|
|
@@ -554,9 +560,6 @@ ${chalk.dim(runningDescription)}`;
|
|
|
554
560
|
break;
|
|
555
561
|
}
|
|
556
562
|
case "llm:tool-result": {
|
|
557
|
-
if (shouldHideTool(event.toolName)) {
|
|
558
|
-
break;
|
|
559
|
-
}
|
|
560
563
|
const sanitized = event.sanitized;
|
|
561
564
|
const toolDisplayData = sanitized?.meta?.display;
|
|
562
565
|
const toolContent = sanitized?.content;
|
|
@@ -595,6 +598,8 @@ ${chalk.dim(runningDescription)}`;
|
|
|
595
598
|
toolResult: resultPreview,
|
|
596
599
|
toolStatus: "finished",
|
|
597
600
|
isError: !event.success,
|
|
601
|
+
...backgroundFailure(event.toolName, event.rawResult),
|
|
602
|
+
...!event.success && event.error !== void 0 && { toolFailureText: event.error },
|
|
598
603
|
...toolDisplayData && { toolDisplayData },
|
|
599
604
|
...toolContent && { toolContent }
|
|
600
605
|
});
|
|
@@ -621,6 +626,7 @@ ${chalk.dim(runningDescription)}`;
|
|
|
621
626
|
break;
|
|
622
627
|
}
|
|
623
628
|
case "llm:error": {
|
|
629
|
+
reportedErrors.add(event.error);
|
|
624
630
|
const insufficientCredits = getErrorCode(event.error) === LLMErrorCode.INSUFFICIENT_CREDITS;
|
|
625
631
|
const insufficientCreditsBalance = insufficientCredits ? extractInsufficientCreditsBalance(event.error) : null;
|
|
626
632
|
const errorContent = insufficientCredits ? buildInsufficientCreditsContent(insufficientCreditsBalance) : buildErrorContent(event.error, "Error: ");
|
|
@@ -630,7 +636,8 @@ ${chalk.dim(runningDescription)}`;
|
|
|
630
636
|
id: generateMessageId("error"),
|
|
631
637
|
role: "system",
|
|
632
638
|
content: errorContent,
|
|
633
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
639
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
640
|
+
systemKind: "fault"
|
|
634
641
|
}
|
|
635
642
|
]);
|
|
636
643
|
if (event.recoverable !== true) {
|
|
@@ -820,7 +827,8 @@ ${chalk.dim(runningDescription)}`;
|
|
|
820
827
|
finalizeMessage(`tool-${toolCallId}`, {
|
|
821
828
|
toolStatus: "finished",
|
|
822
829
|
toolResult: "Cancelled",
|
|
823
|
-
isError: true
|
|
830
|
+
isError: true,
|
|
831
|
+
toolOutcome: event.status === ApprovalStatus.DENIED ? "denied" : "cancelled"
|
|
824
832
|
});
|
|
825
833
|
}
|
|
826
834
|
}
|
|
@@ -912,6 +920,7 @@ ${chalk.dim(runningDescription)}`;
|
|
|
912
920
|
break;
|
|
913
921
|
}
|
|
914
922
|
}
|
|
923
|
+
setUi((prev) => prev.isCancelling ? { ...prev, isCancelling: false } : prev);
|
|
915
924
|
} catch (error) {
|
|
916
925
|
if (error instanceof Error && error.name === "AbortError") {
|
|
917
926
|
clearPending();
|
|
@@ -923,16 +932,19 @@ ${chalk.dim(runningDescription)}`;
|
|
|
923
932
|
}));
|
|
924
933
|
} else {
|
|
925
934
|
clearPending();
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
935
|
+
if (!isReportedError(error, reportedErrors)) {
|
|
936
|
+
const errorContent = buildErrorContent(error, "Stream error: ");
|
|
937
|
+
setMessages((prev) => [
|
|
938
|
+
...prev,
|
|
939
|
+
{
|
|
940
|
+
id: generateMessageId("error"),
|
|
941
|
+
role: "system",
|
|
942
|
+
content: errorContent,
|
|
943
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
944
|
+
systemKind: "fault"
|
|
945
|
+
}
|
|
946
|
+
]);
|
|
947
|
+
}
|
|
936
948
|
setUi((prev) => ({
|
|
937
949
|
...prev,
|
|
938
950
|
isProcessing: false,
|
|
@@ -73,9 +73,6 @@ function createSetters({
|
|
|
73
73
|
promptAddWizard: null,
|
|
74
74
|
autoApproveEdits: false,
|
|
75
75
|
todoExpanded: true,
|
|
76
|
-
backgroundTasksRunning: 0,
|
|
77
|
-
backgroundTasksExpanded: false,
|
|
78
|
-
backgroundTasks: [],
|
|
79
76
|
chatgptRateLimitStatus: null,
|
|
80
77
|
insufficientCredits: null,
|
|
81
78
|
planModeActive: false,
|
|
@@ -477,6 +474,40 @@ function createSetters({
|
|
|
477
474
|
(0, import_vitest.expect)(assistantMessages[1]?.content).toBe("Final");
|
|
478
475
|
(0, import_vitest.expect)(assistantMessages[1]?.reasoning).toBeUndefined();
|
|
479
476
|
});
|
|
477
|
+
(0, import_vitest.it)("reports a fatal error once when the stream rethrows it", async () => {
|
|
478
|
+
const { getMessages, setters } = createSetters();
|
|
479
|
+
const error = new Error("Provider error 500");
|
|
480
|
+
async function* failing() {
|
|
481
|
+
yield { name: "llm:error", sessionId: "test-session", error };
|
|
482
|
+
throw new Error("Provider error 500");
|
|
483
|
+
}
|
|
484
|
+
await (0, import_processStream.processStream)(failing(), setters, {
|
|
485
|
+
useStreaming: true,
|
|
486
|
+
autoApproveEditsRef: { current: false },
|
|
487
|
+
bypassPermissionsRef: { current: false },
|
|
488
|
+
eventBus: { emit: import_vitest.vi.fn() }
|
|
489
|
+
});
|
|
490
|
+
const faults = getMessages().filter((each) => each.content.includes("Provider error 500"));
|
|
491
|
+
(0, import_vitest.expect)(faults).toHaveLength(1);
|
|
492
|
+
(0, import_vitest.expect)(faults[0]?.systemKind).toBe("fault");
|
|
493
|
+
});
|
|
494
|
+
(0, import_vitest.it)("still reports a stream failure nothing has reported", async () => {
|
|
495
|
+
const { getMessages, setters } = createSetters();
|
|
496
|
+
async function* failing() {
|
|
497
|
+
yield* [];
|
|
498
|
+
throw new Error("socket closed");
|
|
499
|
+
}
|
|
500
|
+
await (0, import_processStream.processStream)(failing(), setters, {
|
|
501
|
+
useStreaming: true,
|
|
502
|
+
autoApproveEditsRef: { current: false },
|
|
503
|
+
bypassPermissionsRef: { current: false },
|
|
504
|
+
eventBus: { emit: import_vitest.vi.fn() }
|
|
505
|
+
});
|
|
506
|
+
(0, import_vitest.expect)(getMessages().at(-1)).toMatchObject({
|
|
507
|
+
content: "Stream error: socket closed",
|
|
508
|
+
systemKind: "fault"
|
|
509
|
+
});
|
|
510
|
+
});
|
|
480
511
|
(0, import_vitest.it)("shows the billing recovery overlay for insufficient credits", async () => {
|
|
481
512
|
const { getMessages, getUi, setters } = createSetters();
|
|
482
513
|
const error = Object.assign(new Error("Insufficient Dexto credits. Balance: $0.00"), {
|
|
@@ -559,3 +590,20 @@ function createSetters({
|
|
|
559
590
|
);
|
|
560
591
|
});
|
|
561
592
|
});
|
|
593
|
+
(0, import_vitest.describe)("processStream (stop)", () => {
|
|
594
|
+
(0, import_vitest.it)("clears the stop state when a cancelled run ends its stream", async () => {
|
|
595
|
+
const { setters, getUi } = createSetters();
|
|
596
|
+
setters.setUi((prev) => ({ ...prev, isProcessing: false, isCancelling: true }));
|
|
597
|
+
await (0, import_processStream.processStream)(
|
|
598
|
+
eventStream([{ name: "llm:thinking", sessionId: "test-session" }]),
|
|
599
|
+
setters,
|
|
600
|
+
{
|
|
601
|
+
useStreaming: true,
|
|
602
|
+
autoApproveEditsRef: { current: false },
|
|
603
|
+
bypassPermissionsRef: { current: false },
|
|
604
|
+
eventBus: { emit: import_vitest.vi.fn() }
|
|
605
|
+
}
|
|
606
|
+
);
|
|
607
|
+
(0, import_vitest.expect)(getUi().isCancelling).toBe(false);
|
|
608
|
+
});
|
|
609
|
+
});
|