@ottocode/web-sdk 0.1.226 → 0.1.227
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/components/chat/FileMentionPopup.d.ts.map +1 -1
- package/dist/components/index.js +25148 -80
- package/dist/components/index.js.map +180 -1
- package/dist/components/messages/AssistantMessageGroup.d.ts.map +1 -1
- package/dist/components/messages/CompactActivityGroup.d.ts +10 -0
- package/dist/components/messages/CompactActivityGroup.d.ts.map +1 -0
- package/dist/components/messages/MessagePartItem.d.ts.map +1 -1
- package/dist/components/messages/MessageThread.d.ts +1 -0
- package/dist/components/messages/MessageThread.d.ts.map +1 -1
- package/dist/components/messages/MessageThreadContainer.d.ts.map +1 -1
- package/dist/components/messages/compactActivity.d.ts +34 -0
- package/dist/components/messages/compactActivity.d.ts.map +1 -0
- package/dist/components/messages/renderers/EditRenderer.d.ts +1 -1
- package/dist/components/messages/renderers/EditRenderer.d.ts.map +1 -1
- package/dist/components/messages/renderers/index.d.ts.map +1 -1
- package/dist/components/messages/renderers/types.d.ts +3 -1
- package/dist/components/messages/renderers/types.d.ts.map +1 -1
- package/dist/components/settings/SettingsSidebar.d.ts.map +1 -1
- package/dist/components/settings/SetuTopupModal.d.ts.map +1 -1
- package/dist/hooks/index.js +4812 -29
- package/dist/hooks/index.js.map +67 -1
- package/dist/hooks/useAuthStatus.d.ts.map +1 -1
- package/dist/hooks/useMCP.d.ts +9 -0
- package/dist/hooks/useMCP.d.ts.map +1 -1
- package/dist/hooks/usePreferences.d.ts +1 -0
- package/dist/hooks/usePreferences.d.ts.map +1 -1
- package/dist/hooks/useSessionStream.d.ts.map +1 -1
- package/dist/index.js +25918 -7
- package/dist/index.js.map +185 -1
- package/dist/lib/api-client/approval.d.ts.map +1 -1
- package/dist/lib/index.js +1007 -5
- package/dist/lib/index.js.map +22 -1
- package/dist/stores/index.js +693 -22
- package/dist/stores/index.js.map +30 -1
- package/dist/stores/toastStore.d.ts +1 -0
- package/dist/stores/toastStore.d.ts.map +1 -1
- package/dist/types/api.js +2 -2
- package/dist/types/api.js.map +9 -1
- package/package.json +4 -4
- package/dist/assets/provider-logos.js +0 -43
- package/dist/assets/provider-logos.js.map +0 -1
- package/dist/components/branch/BranchModal.js +0 -45
- package/dist/components/branch/BranchModal.js.map +0 -1
- package/dist/components/chat/ChatInput.js +0 -267
- package/dist/components/chat/ChatInput.js.map +0 -1
- package/dist/components/chat/ChatInputContainer.js +0 -295
- package/dist/components/chat/ChatInputContainer.js.map +0 -1
- package/dist/components/chat/ChatInputKeyHandler.js +0 -75
- package/dist/components/chat/ChatInputKeyHandler.js.map +0 -1
- package/dist/components/chat/CommandSuggestionsPopup.js +0 -45
- package/dist/components/chat/CommandSuggestionsPopup.js.map +0 -1
- package/dist/components/chat/ConfigModal.js +0 -46
- package/dist/components/chat/ConfigModal.js.map +0 -1
- package/dist/components/chat/ConfigSelector.js +0 -47
- package/dist/components/chat/ConfigSelector.js.map +0 -1
- package/dist/components/chat/FileMentionPopup.js +0 -138
- package/dist/components/chat/FileMentionPopup.js.map +0 -1
- package/dist/components/chat/ShortcutsModal.js +0 -275
- package/dist/components/chat/ShortcutsModal.js.map +0 -1
- package/dist/components/chat/StopButton.js +0 -25
- package/dist/components/chat/StopButton.js.map +0 -1
- package/dist/components/chat/UnifiedAgentSelector.js +0 -107
- package/dist/components/chat/UnifiedAgentSelector.js.map +0 -1
- package/dist/components/chat/UnifiedModelSelector.js +0 -209
- package/dist/components/chat/UnifiedModelSelector.js.map +0 -1
- package/dist/components/common/ProviderLogo.js +0 -30
- package/dist/components/common/ProviderLogo.js.map +0 -1
- package/dist/components/common/StatusIndicator.js +0 -54
- package/dist/components/common/StatusIndicator.js.map +0 -1
- package/dist/components/common/UsageModal.js +0 -55
- package/dist/components/common/UsageModal.js.map +0 -1
- package/dist/components/common/UsageRing.js +0 -22
- package/dist/components/common/UsageRing.js.map +0 -1
- package/dist/components/file-browser/FileBrowserSidebar.js +0 -50
- package/dist/components/file-browser/FileBrowserSidebar.js.map +0 -1
- package/dist/components/file-browser/FileBrowserSidebarToggle.js +0 -12
- package/dist/components/file-browser/FileBrowserSidebarToggle.js.map +0 -1
- package/dist/components/file-browser/FileViewerPanel.js +0 -85
- package/dist/components/file-browser/FileViewerPanel.js.map +0 -1
- package/dist/components/file-browser/QuickFilePicker.js +0 -118
- package/dist/components/file-browser/QuickFilePicker.js.map +0 -1
- package/dist/components/git/GitCommitModal.js +0 -70
- package/dist/components/git/GitCommitModal.js.map +0 -1
- package/dist/components/git/GitDiffPanel.js +0 -60
- package/dist/components/git/GitDiffPanel.js.map +0 -1
- package/dist/components/git/GitDiffViewer.js +0 -224
- package/dist/components/git/GitDiffViewer.js.map +0 -1
- package/dist/components/git/GitFileItem.js +0 -145
- package/dist/components/git/GitFileItem.js.map +0 -1
- package/dist/components/git/GitFileList.js +0 -108
- package/dist/components/git/GitFileList.js.map +0 -1
- package/dist/components/git/GitSidebar.js +0 -156
- package/dist/components/git/GitSidebar.js.map +0 -1
- package/dist/components/git/GitSidebarToggle.js +0 -18
- package/dist/components/git/GitSidebarToggle.js.map +0 -1
- package/dist/components/mcp/AddMCPServerModal.js +0 -166
- package/dist/components/mcp/AddMCPServerModal.js.map +0 -1
- package/dist/components/mcp/MCPSidebar.js +0 -192
- package/dist/components/mcp/MCPSidebar.js.map +0 -1
- package/dist/components/mcp/MCPSidebarToggle.js +0 -14
- package/dist/components/mcp/MCPSidebarToggle.js.map +0 -1
- package/dist/components/mcp/index.js +0 -4
- package/dist/components/mcp/index.js.map +0 -1
- package/dist/components/messages/AssistantMessageGroup.js +0 -176
- package/dist/components/messages/AssistantMessageGroup.js.map +0 -1
- package/dist/components/messages/MessagePartItem.js +0 -362
- package/dist/components/messages/MessagePartItem.js.map +0 -1
- package/dist/components/messages/MessageThread.js +0 -239
- package/dist/components/messages/MessageThread.js.map +0 -1
- package/dist/components/messages/MessageThreadContainer.js +0 -22
- package/dist/components/messages/MessageThreadContainer.js.map +0 -1
- package/dist/components/messages/ToolApprovalCard.js +0 -143
- package/dist/components/messages/ToolApprovalCard.js.map +0 -1
- package/dist/components/messages/TopupApprovalCard.js +0 -52
- package/dist/components/messages/TopupApprovalCard.js.map +0 -1
- package/dist/components/messages/UserMessageGroup.js +0 -132
- package/dist/components/messages/UserMessageGroup.js.map +0 -1
- package/dist/components/messages/renderers/ApplyPatchRenderer.js +0 -55
- package/dist/components/messages/renderers/ApplyPatchRenderer.js.map +0 -1
- package/dist/components/messages/renderers/BashRenderer.js +0 -55
- package/dist/components/messages/renderers/BashRenderer.js.map +0 -1
- package/dist/components/messages/renderers/DatabaseToolRenderer.js +0 -151
- package/dist/components/messages/renderers/DatabaseToolRenderer.js.map +0 -1
- package/dist/components/messages/renderers/DebugRenderer.js +0 -5
- package/dist/components/messages/renderers/DebugRenderer.js.map +0 -1
- package/dist/components/messages/renderers/DiffView.js +0 -206
- package/dist/components/messages/renderers/DiffView.js.map +0 -1
- package/dist/components/messages/renderers/EditRenderer.js +0 -25
- package/dist/components/messages/renderers/EditRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ErrorRenderer.js +0 -162
- package/dist/components/messages/renderers/ErrorRenderer.js.map +0 -1
- package/dist/components/messages/renderers/FinishRenderer.js +0 -7
- package/dist/components/messages/renderers/FinishRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GenericRenderer.js +0 -50
- package/dist/components/messages/renderers/GenericRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GitCommitRenderer.js +0 -21
- package/dist/components/messages/renderers/GitCommitRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GitDiffRenderer.js +0 -34
- package/dist/components/messages/renderers/GitDiffRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GitStatusRenderer.js +0 -60
- package/dist/components/messages/renderers/GitStatusRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ListRenderer.js +0 -28
- package/dist/components/messages/renderers/ListRenderer.js.map +0 -1
- package/dist/components/messages/renderers/LoadMcpToolsRenderer.js +0 -20
- package/dist/components/messages/renderers/LoadMcpToolsRenderer.js.map +0 -1
- package/dist/components/messages/renderers/McpToolRenderer.js +0 -68
- package/dist/components/messages/renderers/McpToolRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ProgressUpdateRenderer.js +0 -9
- package/dist/components/messages/renderers/ProgressUpdateRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ReadRenderer.js +0 -87
- package/dist/components/messages/renderers/ReadRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ReasoningRenderer.js +0 -34
- package/dist/components/messages/renderers/ReasoningRenderer.js.map +0 -1
- package/dist/components/messages/renderers/SearchRenderer.js +0 -52
- package/dist/components/messages/renderers/SearchRenderer.js.map +0 -1
- package/dist/components/messages/renderers/SkillRenderer.js +0 -36
- package/dist/components/messages/renderers/SkillRenderer.js.map +0 -1
- package/dist/components/messages/renderers/TerminalRenderer.js +0 -84
- package/dist/components/messages/renderers/TerminalRenderer.js.map +0 -1
- package/dist/components/messages/renderers/TodosRenderer.js +0 -15
- package/dist/components/messages/renderers/TodosRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ToolErrorDisplay.js +0 -10
- package/dist/components/messages/renderers/ToolErrorDisplay.js.map +0 -1
- package/dist/components/messages/renderers/TreeRenderer.js +0 -33
- package/dist/components/messages/renderers/TreeRenderer.js.map +0 -1
- package/dist/components/messages/renderers/WebSearchRenderer.js +0 -29
- package/dist/components/messages/renderers/WebSearchRenderer.js.map +0 -1
- package/dist/components/messages/renderers/WriteRenderer.js +0 -28
- package/dist/components/messages/renderers/WriteRenderer.js.map +0 -1
- package/dist/components/messages/renderers/index.js +0 -129
- package/dist/components/messages/renderers/index.js.map +0 -1
- package/dist/components/messages/renderers/shared/CopyButton.js +0 -27
- package/dist/components/messages/renderers/shared/CopyButton.js.map +0 -1
- package/dist/components/messages/renderers/shared/ImagePreview.js +0 -14
- package/dist/components/messages/renderers/shared/ImagePreview.js.map +0 -1
- package/dist/components/messages/renderers/shared/ToolContentBox.js +0 -9
- package/dist/components/messages/renderers/shared/ToolContentBox.js.map +0 -1
- package/dist/components/messages/renderers/shared/ToolHeader.js +0 -69
- package/dist/components/messages/renderers/shared/ToolHeader.js.map +0 -1
- package/dist/components/messages/renderers/shared/index.js +0 -5
- package/dist/components/messages/renderers/shared/index.js.map +0 -1
- package/dist/components/messages/renderers/types.js +0 -2
- package/dist/components/messages/renderers/types.js.map +0 -1
- package/dist/components/messages/renderers/utils.js +0 -60
- package/dist/components/messages/renderers/utils.js.map +0 -1
- package/dist/components/onboarding/OnboardingModal.js +0 -22
- package/dist/components/onboarding/OnboardingModal.js.map +0 -1
- package/dist/components/onboarding/index.js +0 -4
- package/dist/components/onboarding/index.js.map +0 -1
- package/dist/components/onboarding/steps/DefaultsStep.js +0 -104
- package/dist/components/onboarding/steps/DefaultsStep.js.map +0 -1
- package/dist/components/onboarding/steps/ProviderSetupStep.js +0 -398
- package/dist/components/onboarding/steps/ProviderSetupStep.js.map +0 -1
- package/dist/components/research/ResearchSidebar.js +0 -288
- package/dist/components/research/ResearchSidebar.js.map +0 -1
- package/dist/components/research/ResearchSidebarToggle.js +0 -15
- package/dist/components/research/ResearchSidebarToggle.js.map +0 -1
- package/dist/components/research/index.js +0 -3
- package/dist/components/research/index.js.map +0 -1
- package/dist/components/session-files/SessionFilesDiffPanel.js +0 -345
- package/dist/components/session-files/SessionFilesDiffPanel.js.map +0 -1
- package/dist/components/session-files/SessionFilesSidebar.js +0 -87
- package/dist/components/session-files/SessionFilesSidebar.js.map +0 -1
- package/dist/components/session-files/SessionFilesSidebarToggle.js +0 -15
- package/dist/components/session-files/SessionFilesSidebarToggle.js.map +0 -1
- package/dist/components/session-files/index.js +0 -4
- package/dist/components/session-files/index.js.map +0 -1
- package/dist/components/sessions/EditableTitle.js +0 -40
- package/dist/components/sessions/EditableTitle.js.map +0 -1
- package/dist/components/sessions/LeanHeader.js +0 -70
- package/dist/components/sessions/LeanHeader.js.map +0 -1
- package/dist/components/sessions/SessionHeader.js +0 -75
- package/dist/components/sessions/SessionHeader.js.map +0 -1
- package/dist/components/sessions/SessionItem.js +0 -28
- package/dist/components/sessions/SessionItem.js.map +0 -1
- package/dist/components/sessions/SessionListContainer.js +0 -86
- package/dist/components/sessions/SessionListContainer.js.map +0 -1
- package/dist/components/settings/SettingsSidebar.js +0 -212
- package/dist/components/settings/SettingsSidebar.js.map +0 -1
- package/dist/components/settings/SettingsSidebarToggle.js +0 -12
- package/dist/components/settings/SettingsSidebarToggle.js.map +0 -1
- package/dist/components/settings/SetuTopupModal.js +0 -306
- package/dist/components/settings/SetuTopupModal.js.map +0 -1
- package/dist/components/skills/SkillViewerPanel.js +0 -89
- package/dist/components/skills/SkillViewerPanel.js.map +0 -1
- package/dist/components/skills/SkillsSidebar.js +0 -59
- package/dist/components/skills/SkillsSidebar.js.map +0 -1
- package/dist/components/skills/SkillsSidebarToggle.js +0 -12
- package/dist/components/skills/SkillsSidebarToggle.js.map +0 -1
- package/dist/components/skills/index.js +0 -4
- package/dist/components/skills/index.js.map +0 -1
- package/dist/components/terminals/TerminalPanelToggle.js +0 -13
- package/dist/components/terminals/TerminalPanelToggle.js.map +0 -1
- package/dist/components/terminals/TerminalTabBar.js +0 -22
- package/dist/components/terminals/TerminalTabBar.js.map +0 -1
- package/dist/components/terminals/TerminalViewer.js +0 -371
- package/dist/components/terminals/TerminalViewer.js.map +0 -1
- package/dist/components/terminals/TerminalsPanel.js +0 -134
- package/dist/components/terminals/TerminalsPanel.js.map +0 -1
- package/dist/components/terminals/index.js +0 -11
- package/dist/components/terminals/index.js.map +0 -1
- package/dist/components/tunnel/TunnelSidebar.js +0 -55
- package/dist/components/tunnel/TunnelSidebar.js.map +0 -1
- package/dist/components/tunnel/TunnelSidebarToggle.js +0 -14
- package/dist/components/tunnel/TunnelSidebarToggle.js.map +0 -1
- package/dist/components/tunnel/index.js +0 -3
- package/dist/components/tunnel/index.js.map +0 -1
- package/dist/components/ui/Button.js +0 -19
- package/dist/components/ui/Button.js.map +0 -1
- package/dist/components/ui/Card.js +0 -7
- package/dist/components/ui/Card.js.map +0 -1
- package/dist/components/ui/ConfirmationDialog.js +0 -72
- package/dist/components/ui/ConfirmationDialog.js.map +0 -1
- package/dist/components/ui/Input.js +0 -7
- package/dist/components/ui/Input.js.map +0 -1
- package/dist/components/ui/Modal.js +0 -51
- package/dist/components/ui/Modal.js.map +0 -1
- package/dist/components/ui/ResizeHandle.js +0 -39
- package/dist/components/ui/ResizeHandle.js.map +0 -1
- package/dist/components/ui/Textarea.js +0 -7
- package/dist/components/ui/Textarea.js.map +0 -1
- package/dist/components/ui/Toaster.js +0 -41
- package/dist/components/ui/Toaster.js.map +0 -1
- package/dist/components/ui/ToolApprovalDialog.js +0 -57
- package/dist/components/ui/ToolApprovalDialog.js.map +0 -1
- package/dist/hooks/useAuthStatus.js +0 -287
- package/dist/hooks/useAuthStatus.js.map +0 -1
- package/dist/hooks/useBranch.js +0 -44
- package/dist/hooks/useBranch.js.map +0 -1
- package/dist/hooks/useCommandSuggestions.js +0 -86
- package/dist/hooks/useCommandSuggestions.js.map +0 -1
- package/dist/hooks/useConfig.js +0 -32
- package/dist/hooks/useConfig.js.map +0 -1
- package/dist/hooks/useFileBrowser.js +0 -30
- package/dist/hooks/useFileBrowser.js.map +0 -1
- package/dist/hooks/useFileMention.js +0 -56
- package/dist/hooks/useFileMention.js.map +0 -1
- package/dist/hooks/useFileUpload.js +0 -317
- package/dist/hooks/useFileUpload.js.map +0 -1
- package/dist/hooks/useFiles.js +0 -15
- package/dist/hooks/useFiles.js.map +0 -1
- package/dist/hooks/useGit.js +0 -149
- package/dist/hooks/useGit.js.map +0 -1
- package/dist/hooks/useImageUpload.js +0 -197
- package/dist/hooks/useImageUpload.js.map +0 -1
- package/dist/hooks/useKeyboardShortcuts.js +0 -249
- package/dist/hooks/useKeyboardShortcuts.js.map +0 -1
- package/dist/hooks/useMCP.js +0 -202
- package/dist/hooks/useMCP.js.map +0 -1
- package/dist/hooks/useMessages.js +0 -26
- package/dist/hooks/useMessages.js.map +0 -1
- package/dist/hooks/usePreferences.js +0 -61
- package/dist/hooks/usePreferences.js.map +0 -1
- package/dist/hooks/useProviderUsage.js +0 -44
- package/dist/hooks/useProviderUsage.js.map +0 -1
- package/dist/hooks/useQueueState.js +0 -31
- package/dist/hooks/useQueueState.js.map +0 -1
- package/dist/hooks/useResearch.js +0 -139
- package/dist/hooks/useResearch.js.map +0 -1
- package/dist/hooks/useSessionFiles.js +0 -15
- package/dist/hooks/useSessionFiles.js.map +0 -1
- package/dist/hooks/useSessionStream.js +0 -572
- package/dist/hooks/useSessionStream.js.map +0 -1
- package/dist/hooks/useSessions.js +0 -83
- package/dist/hooks/useSessions.js.map +0 -1
- package/dist/hooks/useSetuBalance.js +0 -71
- package/dist/hooks/useSetuBalance.js.map +0 -1
- package/dist/hooks/useSetuPayments.js +0 -171
- package/dist/hooks/useSetuPayments.js.map +0 -1
- package/dist/hooks/useShareStatus.js +0 -12
- package/dist/hooks/useShareStatus.js.map +0 -1
- package/dist/hooks/useSkills.js +0 -54
- package/dist/hooks/useSkills.js.map +0 -1
- package/dist/hooks/useTerminals.js +0 -67
- package/dist/hooks/useTerminals.js.map +0 -1
- package/dist/hooks/useTheme.js +0 -57
- package/dist/hooks/useTheme.js.map +0 -1
- package/dist/hooks/useToolApprovalShortcuts.js +0 -88
- package/dist/hooks/useToolApprovalShortcuts.js.map +0 -1
- package/dist/hooks/useTopupCallback.js +0 -74
- package/dist/hooks/useTopupCallback.js.map +0 -1
- package/dist/hooks/useTunnel.js +0 -158
- package/dist/hooks/useTunnel.js.map +0 -1
- package/dist/hooks/useVimMode.js +0 -298
- package/dist/hooks/useVimMode.js.map +0 -1
- package/dist/hooks/useWorkingDirectory.js +0 -34
- package/dist/hooks/useWorkingDirectory.js.map +0 -1
- package/dist/lib/api-client/approval.js +0 -25
- package/dist/lib/api-client/approval.js.map +0 -1
- package/dist/lib/api-client/auth.js +0 -139
- package/dist/lib/api-client/auth.js.map +0 -1
- package/dist/lib/api-client/branches.js +0 -45
- package/dist/lib/api-client/branches.js.map +0 -1
- package/dist/lib/api-client/config.js +0 -38
- package/dist/lib/api-client/config.js.map +0 -1
- package/dist/lib/api-client/files.js +0 -35
- package/dist/lib/api-client/files.js.map +0 -1
- package/dist/lib/api-client/git.js +0 -154
- package/dist/lib/api-client/git.js.map +0 -1
- package/dist/lib/api-client/index.js +0 -92
- package/dist/lib/api-client/index.js.map +0 -1
- package/dist/lib/api-client/sessions.js +0 -106
- package/dist/lib/api-client/sessions.js.map +0 -1
- package/dist/lib/api-client/setu.js +0 -144
- package/dist/lib/api-client/setu.js.map +0 -1
- package/dist/lib/api-client/skills.js +0 -31
- package/dist/lib/api-client/skills.js.map +0 -1
- package/dist/lib/api-client/utils.js +0 -65
- package/dist/lib/api-client/utils.js.map +0 -1
- package/dist/lib/commands.js +0 -124
- package/dist/lib/commands.js.map +0 -1
- package/dist/lib/config.js +0 -28
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/nerd-font.js +0 -55
- package/dist/lib/nerd-font.js.map +0 -1
- package/dist/lib/open-url.js +0 -9
- package/dist/lib/open-url.js.map +0 -1
- package/dist/lib/parseResearchContext.js +0 -30
- package/dist/lib/parseResearchContext.js.map +0 -1
- package/dist/lib/sse-client.js +0 -113
- package/dist/lib/sse-client.js.map +0 -1
- package/dist/stores/confirmationStore.js +0 -27
- package/dist/stores/confirmationStore.js.map +0 -1
- package/dist/stores/fileBrowserStore.js +0 -63
- package/dist/stores/fileBrowserStore.js.map +0 -1
- package/dist/stores/filePickerStore.js +0 -8
- package/dist/stores/filePickerStore.js.map +0 -1
- package/dist/stores/focusStore.js +0 -12
- package/dist/stores/focusStore.js.map +0 -1
- package/dist/stores/gitStore.js +0 -63
- package/dist/stores/gitStore.js.map +0 -1
- package/dist/stores/mcpStore.js +0 -63
- package/dist/stores/mcpStore.js.map +0 -1
- package/dist/stores/onboardingStore.js +0 -38
- package/dist/stores/onboardingStore.js.map +0 -1
- package/dist/stores/panelWidthStore.js +0 -12
- package/dist/stores/panelWidthStore.js.map +0 -1
- package/dist/stores/pendingResearchStore.js +0 -38
- package/dist/stores/pendingResearchStore.js.map +0 -1
- package/dist/stores/queueStore.js +0 -11
- package/dist/stores/queueStore.js.map +0 -1
- package/dist/stores/researchStore.js +0 -54
- package/dist/stores/researchStore.js.map +0 -1
- package/dist/stores/sessionFilesStore.js +0 -62
- package/dist/stores/sessionFilesStore.js.map +0 -1
- package/dist/stores/settingsStore.js +0 -29
- package/dist/stores/settingsStore.js.map +0 -1
- package/dist/stores/setuStore.js +0 -29
- package/dist/stores/setuStore.js.map +0 -1
- package/dist/stores/sidebarStore.js +0 -10
- package/dist/stores/sidebarStore.js.map +0 -1
- package/dist/stores/skillsStore.js +0 -46
- package/dist/stores/skillsStore.js.map +0 -1
- package/dist/stores/terminalStore.js +0 -32
- package/dist/stores/terminalStore.js.map +0 -1
- package/dist/stores/toastStore.js +0 -46
- package/dist/stores/toastStore.js.map +0 -1
- package/dist/stores/toolApprovalStore.js +0 -16
- package/dist/stores/toolApprovalStore.js.map +0 -1
- package/dist/stores/topupApprovalStore.js +0 -11
- package/dist/stores/topupApprovalStore.js.map +0 -1
- package/dist/stores/tunnelStore.js +0 -55
- package/dist/stores/tunnelStore.js.map +0 -1
- package/dist/stores/usageStore.js +0 -14
- package/dist/stores/usageStore.js.map +0 -1
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useMemo } from 'react';
|
|
3
|
-
import { useMessages } from '../../hooks/useMessages';
|
|
4
|
-
import { useSessionStream } from '../../hooks/useSessionStream';
|
|
5
|
-
import { useSessions } from '../../hooks/useSessions';
|
|
6
|
-
import { MessageThread } from './MessageThread';
|
|
7
|
-
import { useToolApprovalShortcuts } from '../../hooks/useToolApprovalShortcuts';
|
|
8
|
-
import { SetuTopupModal } from '../settings/SetuTopupModal';
|
|
9
|
-
export const MessageThreadContainer = memo(function MessageThreadContainer({ sessionId, onSelectSession, }) {
|
|
10
|
-
const { data: messages = [], isLoading } = useMessages(sessionId);
|
|
11
|
-
const { data: sessions = [] } = useSessions();
|
|
12
|
-
useSessionStream(sessionId);
|
|
13
|
-
// Enable keyboard shortcuts (Y/N/A) for tool approval in this session
|
|
14
|
-
useToolApprovalShortcuts(sessionId);
|
|
15
|
-
const session = useMemo(() => sessions.find((s) => s.id === sessionId), [sessions, sessionId]);
|
|
16
|
-
const isGenerating = useMemo(() => messages.some((m) => m.role === 'assistant' && m.status === 'pending'), [messages]);
|
|
17
|
-
if (isLoading) {
|
|
18
|
-
return (_jsx("div", { className: "flex-1 flex items-center justify-center text-muted-foreground", children: "Loading messages..." }));
|
|
19
|
-
}
|
|
20
|
-
return (_jsxs(_Fragment, { children: [_jsx(MessageThread, { messages: messages, sessionId: sessionId, session: session, isGenerating: isGenerating, onSelectSession: onSelectSession }), _jsx(SetuTopupModal, {})] }));
|
|
21
|
-
});
|
|
22
|
-
//# sourceMappingURL=MessageThreadContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageThreadContainer.js","sourceRoot":"","sources":["../../../src/components/messages/MessageThreadContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAO5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,sBAAsB,CAAC,EAC1E,SAAS,EACT,eAAe,GACc;IAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;IAE9C,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE5B,sEAAsE;IACtE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAC9C,CAAC,QAAQ,EAAE,SAAS,CAAC,CACrB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC3B,GAAG,EAAE,CACJ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EACvE,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,CACN,cAAK,SAAS,EAAC,+DAA+D,oCAExE,CACN,CAAC;IACH,CAAC;IAED,OAAO,CACN,8BACC,KAAC,aAAa,IACb,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAC/B,EACF,KAAC,cAAc,KAAG,IAChB,CACH,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useState } from 'react';
|
|
3
|
-
import { Shield, Check, X } from 'lucide-react';
|
|
4
|
-
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
5
|
-
import { prism, vscDarkPlus, } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
6
|
-
import { DiffView } from './renderers/DiffView';
|
|
7
|
-
function getLanguageFromPath(path) {
|
|
8
|
-
const ext = path.split('.').pop()?.toLowerCase();
|
|
9
|
-
const langMap = {
|
|
10
|
-
js: 'javascript',
|
|
11
|
-
jsx: 'jsx',
|
|
12
|
-
ts: 'typescript',
|
|
13
|
-
tsx: 'tsx',
|
|
14
|
-
py: 'python',
|
|
15
|
-
rb: 'ruby',
|
|
16
|
-
go: 'go',
|
|
17
|
-
rs: 'rust',
|
|
18
|
-
java: 'java',
|
|
19
|
-
c: 'c',
|
|
20
|
-
cpp: 'cpp',
|
|
21
|
-
h: 'c',
|
|
22
|
-
hpp: 'cpp',
|
|
23
|
-
cs: 'csharp',
|
|
24
|
-
php: 'php',
|
|
25
|
-
sh: 'bash',
|
|
26
|
-
bash: 'bash',
|
|
27
|
-
zsh: 'bash',
|
|
28
|
-
sql: 'sql',
|
|
29
|
-
json: 'json',
|
|
30
|
-
yaml: 'yaml',
|
|
31
|
-
yml: 'yaml',
|
|
32
|
-
xml: 'xml',
|
|
33
|
-
html: 'html',
|
|
34
|
-
css: 'css',
|
|
35
|
-
scss: 'scss',
|
|
36
|
-
md: 'markdown',
|
|
37
|
-
txt: 'text',
|
|
38
|
-
svelte: 'svelte',
|
|
39
|
-
};
|
|
40
|
-
return langMap[ext || ''] || 'javascript';
|
|
41
|
-
}
|
|
42
|
-
function normalizeToolTarget(toolName, args) {
|
|
43
|
-
if (!args)
|
|
44
|
-
return null;
|
|
45
|
-
const keyMap = {
|
|
46
|
-
read: ['path'],
|
|
47
|
-
write: ['path'],
|
|
48
|
-
edit: ['path'],
|
|
49
|
-
apply_patch: ['path'],
|
|
50
|
-
glob: ['pattern'],
|
|
51
|
-
grep: ['query', 'pattern'],
|
|
52
|
-
ripgrep: ['query', 'pattern'],
|
|
53
|
-
bash: ['cmd', 'command'],
|
|
54
|
-
terminal: ['command'],
|
|
55
|
-
git_commit: ['message'],
|
|
56
|
-
git_diff: ['file'],
|
|
57
|
-
tree: ['path'],
|
|
58
|
-
ls: ['path'],
|
|
59
|
-
web_search: ['query', 'url'],
|
|
60
|
-
skill: ['name'],
|
|
61
|
-
};
|
|
62
|
-
const keys = keyMap[toolName];
|
|
63
|
-
if (!keys) {
|
|
64
|
-
for (const [key, value] of Object.entries(args)) {
|
|
65
|
-
if (typeof value === 'string' && value.length > 0 && value.length < 200) {
|
|
66
|
-
return { key, value };
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
for (const key of keys) {
|
|
72
|
-
const value = args[key];
|
|
73
|
-
if (typeof value === 'string' && value.length > 0) {
|
|
74
|
-
return { key, value };
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
function getPrimaryCommand(args) {
|
|
80
|
-
if (!args)
|
|
81
|
-
return null;
|
|
82
|
-
const cmd = args.cmd ?? args.command;
|
|
83
|
-
if (typeof cmd === 'string' && cmd.length > 0) {
|
|
84
|
-
return cmd;
|
|
85
|
-
}
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
export const ToolApprovalCard = memo(function ToolApprovalCard({ toolName, args, pendingApproval, onApprove, onReject, }) {
|
|
89
|
-
const [isProcessing, setIsProcessing] = useState(false);
|
|
90
|
-
const toolLabel = toolName.replace(/_/g, ' ');
|
|
91
|
-
const primary = normalizeToolTarget(toolName, args);
|
|
92
|
-
const command = toolName === 'bash' ? getPrimaryCommand(args) : null;
|
|
93
|
-
const approvalTarget = command || primary?.value;
|
|
94
|
-
const filePath = typeof args?.path === 'string' ? args.path : '';
|
|
95
|
-
const language = getLanguageFromPath(filePath);
|
|
96
|
-
const syntaxTheme = document?.documentElement.classList.contains('dark')
|
|
97
|
-
? vscDarkPlus
|
|
98
|
-
: prism;
|
|
99
|
-
const handleApprove = () => {
|
|
100
|
-
setIsProcessing(true);
|
|
101
|
-
Promise.resolve(onApprove(pendingApproval.callId)).catch(() => {
|
|
102
|
-
setIsProcessing(false);
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
const handleReject = () => {
|
|
106
|
-
setIsProcessing(true);
|
|
107
|
-
Promise.resolve(onReject(pendingApproval.callId)).catch(() => {
|
|
108
|
-
setIsProcessing(false);
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
const renderContent = () => {
|
|
112
|
-
if (toolName === 'apply_patch' && args?.patch) {
|
|
113
|
-
return (_jsx("div", { className: "ml-6 max-w-full overflow-hidden", children: _jsx(DiffView, { patch: String(args.patch) }) }));
|
|
114
|
-
}
|
|
115
|
-
if (toolName === 'write' && args?.content) {
|
|
116
|
-
const content = String(args.content);
|
|
117
|
-
return (_jsx("div", { className: "ml-6 max-w-full overflow-hidden", children: _jsx("div", { className: "bg-emerald-500/10 border border-emerald-500/30 rounded-lg overflow-hidden max-h-96", children: _jsx("div", { className: "overflow-x-auto overflow-y-auto max-h-96 text-xs", children: _jsx(SyntaxHighlighter, { language: language, style: syntaxTheme, customStyle: {
|
|
118
|
-
margin: 0,
|
|
119
|
-
padding: '0.75rem',
|
|
120
|
-
background: 'transparent',
|
|
121
|
-
fontSize: 'inherit',
|
|
122
|
-
}, showLineNumbers: true, lineNumberStyle: {
|
|
123
|
-
minWidth: '2.5em',
|
|
124
|
-
paddingRight: '1em',
|
|
125
|
-
color: 'var(--muted-foreground)',
|
|
126
|
-
opacity: 0.4,
|
|
127
|
-
userSelect: 'none',
|
|
128
|
-
}, children: content }) }) }) }));
|
|
129
|
-
}
|
|
130
|
-
if (toolName === 'bash' && args?.cmd) {
|
|
131
|
-
const cmd = String(args.cmd);
|
|
132
|
-
return (_jsx("div", { className: "ml-6 max-w-full overflow-hidden", children: _jsx("div", { className: "bg-card/60 border border-border rounded-lg overflow-hidden", children: _jsx("div", { className: "overflow-x-auto text-xs", children: _jsx(SyntaxHighlighter, { language: "bash", style: syntaxTheme, customStyle: {
|
|
133
|
-
margin: 0,
|
|
134
|
-
padding: '0.75rem',
|
|
135
|
-
background: 'transparent',
|
|
136
|
-
fontSize: 'inherit',
|
|
137
|
-
}, children: cmd }) }) }) }));
|
|
138
|
-
}
|
|
139
|
-
return null;
|
|
140
|
-
};
|
|
141
|
-
return (_jsxs("div", { className: "flex flex-col gap-2 py-1", children: [_jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [_jsx(Shield, { className: "h-4 w-4 text-amber-500 flex-shrink-0" }), _jsx("span", { className: "font-medium text-foreground text-sm", children: toolLabel }), approvalTarget && toolName !== 'bash' && (_jsx("code", { className: "text-xs font-mono text-foreground/80 bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-xs", children: approvalTarget })), _jsx("span", { className: "text-amber-600 dark:text-amber-400 font-medium text-sm", children: "requires approval" })] }), renderContent(), _jsxs("div", { className: "flex items-center gap-2 ml-6", children: [_jsxs("button", { type: "button", onClick: handleReject, disabled: isProcessing, title: "Reject (N or Esc)", className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50", children: [_jsx(X, { className: "w-3 h-3" }), "Reject", _jsx("kbd", { className: "ml-1 text-[10px] text-muted-foreground opacity-70", children: "N" })] }), _jsxs("button", { type: "button", onClick: handleApprove, disabled: isProcessing, title: "Approve (Y)", className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50", children: [_jsx(Check, { className: "w-3 h-3" }), isProcessing ? 'Approving...' : 'Approve', !isProcessing && (_jsx("kbd", { className: "ml-1 text-[10px] opacity-70", children: "Y" }))] })] })] }));
|
|
142
|
-
});
|
|
143
|
-
//# sourceMappingURL=ToolApprovalCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolApprovalCard.js","sourceRoot":"","sources":["../../../src/components/messages/ToolApprovalCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useState } from 'react';
|
|
3
|
-
import { Wallet, CreditCard, AlertCircle, Loader2, X } from 'lucide-react';
|
|
4
|
-
import { apiClient } from '../../lib/api-client';
|
|
5
|
-
import { toast } from '../../stores/toastStore';
|
|
6
|
-
import { useSetuStore } from '../../stores/setuStore';
|
|
7
|
-
export const TopupApprovalCard = memo(function TopupApprovalCard({ pendingTopup, onMethodSelected, onCancel, }) {
|
|
8
|
-
const [isProcessing, setIsProcessing] = useState(false);
|
|
9
|
-
const [selectedMethod, setSelectedMethod] = useState(null);
|
|
10
|
-
const openTopupModal = useSetuStore((s) => s.openTopupModal);
|
|
11
|
-
const hasGoPlan = useSetuStore((s) => !!s.subscription?.active);
|
|
12
|
-
const handleSelectCrypto = async () => {
|
|
13
|
-
setSelectedMethod('crypto');
|
|
14
|
-
setIsProcessing(true);
|
|
15
|
-
try {
|
|
16
|
-
await apiClient.selectTopupMethod(pendingTopup.sessionId, 'crypto');
|
|
17
|
-
onMethodSelected('crypto');
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
toast.error(error instanceof Error ? error.message : 'Failed to process payment');
|
|
21
|
-
setIsProcessing(false);
|
|
22
|
-
setSelectedMethod(null);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const handleSelectFiat = async () => {
|
|
26
|
-
setSelectedMethod('fiat');
|
|
27
|
-
// Open modal immediately - don't wait for API
|
|
28
|
-
openTopupModal();
|
|
29
|
-
// Tell server fiat was selected (this will gracefully pause the request)
|
|
30
|
-
apiClient.selectTopupMethod(pendingTopup.sessionId, 'fiat').catch(() => {
|
|
31
|
-
// Ignore errors - the server handles fiat selection gracefully
|
|
32
|
-
});
|
|
33
|
-
onMethodSelected('fiat');
|
|
34
|
-
};
|
|
35
|
-
const handleCancel = async () => {
|
|
36
|
-
setIsProcessing(true);
|
|
37
|
-
try {
|
|
38
|
-
await apiClient.cancelTopup(pendingTopup.sessionId);
|
|
39
|
-
onCancel();
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
toast.error(error instanceof Error ? error.message : 'Failed to cancel');
|
|
43
|
-
setIsProcessing(false);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
return (_jsxs("div", { className: "flex flex-col gap-3 py-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(AlertCircle, { className: "h-4 w-4 text-amber-500 flex-shrink-0" }), _jsx("span", { className: "font-medium text-foreground text-sm", children: "Insufficient Balance" }), _jsx("span", { className: "text-amber-600 dark:text-amber-400 font-medium text-sm", children: "payment required" })] }), hasGoPlan && (_jsx("p", { className: "ml-6 text-xs text-muted-foreground", children: "GO credits may not apply to this request. Add balance to continue." })), _jsxs("div", { className: "ml-6 bg-muted/30 rounded-lg p-3 space-y-2 text-sm", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-muted-foreground", children: "Request cost" }), _jsxs("span", { className: "font-mono", children: ["~$", pendingTopup.amountUsd.toFixed(4)] })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-muted-foreground", children: "Current balance" }), _jsxs("span", { className: "font-mono", children: ["$", pendingTopup.currentBalance.toFixed(4)] })] })] }), _jsxs("div", { className: "ml-6 flex flex-wrap items-center gap-2", children: [_jsxs("button", { type: "button", onClick: handleCancel, disabled: isProcessing, title: "Cancel request", className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50", children: [_jsx(X, { className: "w-3 h-3" }), "Cancel"] }), _jsxs("button", { type: "button", onClick: handleSelectCrypto, disabled: isProcessing, title: "Pay with USDC from your wallet", className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-violet-600 text-white hover:bg-violet-700 transition-colors disabled:opacity-50", children: [selectedMethod === 'crypto' && isProcessing ? (_jsx(Loader2, { className: "w-3 h-3 animate-spin" })) : (_jsx(Wallet, { className: "w-3 h-3" })), "Pay with USDC"] }), _jsxs("button", { type: "button", onClick: handleSelectFiat, disabled: isProcessing, title: "Top up with card (min $5)", className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-violet-500 text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 transition-colors disabled:opacity-50", children: [selectedMethod === 'fiat' && isProcessing ? (_jsx(Loader2, { className: "w-3 h-3 animate-spin" })) : (_jsx(CreditCard, { className: "w-3 h-3" })), "Top up with Card", _jsx("span", { className: "text-[10px] opacity-70", children: "(min $5)" })] })] }), _jsx("p", { className: "ml-6 text-xs text-muted-foreground", children: selectedMethod === 'crypto'
|
|
47
|
-
? 'Processing USDC payment from your wallet...'
|
|
48
|
-
: selectedMethod === 'fiat'
|
|
49
|
-
? 'Opening checkout...'
|
|
50
|
-
: 'Select a payment method to continue your request.' })] }));
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=TopupApprovalCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TopupApprovalCard.js","sourceRoot":"","sources":["../../../src/components/messages/TopupApprovalCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useState } from 'react';
|
|
3
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { User, X, FileText, FileIcon, Clock, Trash2, RotateCcw, FlaskConical, } from 'lucide-react';
|
|
5
|
-
import ReactMarkdown from 'react-markdown';
|
|
6
|
-
import remarkGfm from 'remark-gfm';
|
|
7
|
-
import { useMessageQueuePosition } from '../../hooks/useQueueState';
|
|
8
|
-
import { useQueueStore } from '../../stores/queueStore';
|
|
9
|
-
import { apiClient } from '../../lib/api-client';
|
|
10
|
-
import { parseResearchContext } from '../../lib/parseResearchContext';
|
|
11
|
-
export const UserMessageGroup = memo(function UserMessageGroup({ sessionId, message, nextAssistantMessageId, }) {
|
|
12
|
-
const [expandedImage, setExpandedImage] = useState(null);
|
|
13
|
-
const parts = message.parts || [];
|
|
14
|
-
const queryClient = useQueryClient();
|
|
15
|
-
const { isQueued, position } = useMessageQueuePosition(sessionId, nextAssistantMessageId ?? '');
|
|
16
|
-
const setPendingRestoreText = useQueueStore((state) => state.setPendingRestoreText);
|
|
17
|
-
const textParts = parts.filter((p) => p.type === 'text');
|
|
18
|
-
const imageParts = parts.filter((p) => p.type === 'image');
|
|
19
|
-
const fileParts = parts.filter((p) => p.type === 'file');
|
|
20
|
-
const firstTextPart = textParts[0];
|
|
21
|
-
let rawContent = '';
|
|
22
|
-
if (firstTextPart) {
|
|
23
|
-
const data = firstTextPart.contentJson || firstTextPart.content;
|
|
24
|
-
if (data && typeof data === 'object' && 'text' in data) {
|
|
25
|
-
rawContent = String(data.text);
|
|
26
|
-
}
|
|
27
|
-
else if (typeof data === 'string') {
|
|
28
|
-
rawContent = data;
|
|
29
|
-
}
|
|
30
|
-
else if (data) {
|
|
31
|
-
rawContent = JSON.stringify(data, null, 2);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const { researchContexts: parsedResearchContexts, cleanContent: content } = parseResearchContext(rawContent);
|
|
35
|
-
const images = [];
|
|
36
|
-
for (const part of imageParts) {
|
|
37
|
-
try {
|
|
38
|
-
const data = part.contentJson || JSON.parse(part.content || '{}');
|
|
39
|
-
if (data && typeof data === 'object' && 'data' in data) {
|
|
40
|
-
const imgData = data;
|
|
41
|
-
const src = `data:${imgData.mediaType};base64,${imgData.data}`;
|
|
42
|
-
images.push({ id: part.id, src });
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
catch { }
|
|
46
|
-
}
|
|
47
|
-
const files = [];
|
|
48
|
-
for (const part of fileParts) {
|
|
49
|
-
try {
|
|
50
|
-
const data = part.contentJson || JSON.parse(part.content || '{}');
|
|
51
|
-
if (data && typeof data === 'object' && 'type' in data) {
|
|
52
|
-
const fileData = data;
|
|
53
|
-
if (fileData.type === 'image' && fileData.data) {
|
|
54
|
-
const src = `data:${fileData.mediaType};base64,${fileData.data}`;
|
|
55
|
-
images.push({ id: part.id, src });
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
files.push({
|
|
59
|
-
id: part.id,
|
|
60
|
-
type: fileData.type,
|
|
61
|
-
name: fileData.name,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch { }
|
|
67
|
-
}
|
|
68
|
-
const formatTime = (ts) => {
|
|
69
|
-
if (!ts)
|
|
70
|
-
return '';
|
|
71
|
-
const date = new Date(ts);
|
|
72
|
-
return date.toLocaleTimeString([], {
|
|
73
|
-
hour: '2-digit',
|
|
74
|
-
minute: '2-digit',
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
const hasContent = content.trim().length > 0;
|
|
78
|
-
const hasImages = images.length > 0;
|
|
79
|
-
const hasFiles = files.length > 0;
|
|
80
|
-
const hasResearchContexts = parsedResearchContexts.length > 0;
|
|
81
|
-
if (!hasContent && !hasImages && !hasFiles && !hasResearchContexts)
|
|
82
|
-
return null;
|
|
83
|
-
const handleCancel = async () => {
|
|
84
|
-
if (!sessionId || !nextAssistantMessageId)
|
|
85
|
-
return;
|
|
86
|
-
setPendingRestoreText(content);
|
|
87
|
-
try {
|
|
88
|
-
await apiClient.removeFromQueue(sessionId, nextAssistantMessageId);
|
|
89
|
-
// Invalidate messages to refresh UI
|
|
90
|
-
queryClient.invalidateQueries({ queryKey: ['messages', sessionId] });
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
console.error('Failed to cancel queued message:', err);
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
const handleDelete = async () => {
|
|
97
|
-
if (!sessionId || !nextAssistantMessageId)
|
|
98
|
-
return;
|
|
99
|
-
try {
|
|
100
|
-
await apiClient.removeFromQueue(sessionId, nextAssistantMessageId);
|
|
101
|
-
// Invalidate messages to refresh UI
|
|
102
|
-
queryClient.invalidateQueries({ queryKey: ['messages', sessionId] });
|
|
103
|
-
}
|
|
104
|
-
catch (err) {
|
|
105
|
-
console.error('Failed to delete queued message:', err);
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "relative pb-8 pt-6", children: _jsxs("div", { className: "flex gap-3 md:gap-4 justify-end", children: [_jsxs("div", { className: "flex flex-col items-end min-w-0 flex-1 max-w-[calc(100%-3rem)] md:max-w-2xl", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs text-muted-foreground pb-2 justify-end", children: [_jsx("span", { className: "font-medium text-emerald-700 dark:text-emerald-300", children: "You" }), message.createdAt && _jsx("span", { children: "\u00B7" }), message.createdAt && (_jsx("span", { children: formatTime(message.createdAt) })), isQueued && (_jsxs(_Fragment, { children: [_jsx("span", { children: "\u00B7" }), _jsxs("span", { className: "inline-flex items-center gap-1 text-amber-600 dark:text-amber-400", children: [_jsx(Clock, { className: "h-3 w-3" }), "Queued", position !== null && position > 0
|
|
109
|
-
? ` #${position + 1}`
|
|
110
|
-
: ''] })] }))] }), _jsxs("div", { className: "inline-block max-w-full text-sm text-foreground leading-relaxed bg-emerald-500/5 border border-emerald-500/20 rounded-xl px-4 py-3 [word-break:break-word] overflow-hidden", children: [hasImages && (_jsx("div", { className: "flex flex-wrap gap-2 mb-2", children: images.map((img) => (_jsx("button", { type: "button", onClick: () => setExpandedImage(img.src), className: "w-16 h-16 rounded-lg overflow-hidden bg-muted hover:ring-2 hover:ring-primary/50 transition-all", children: _jsx("img", { src: img.src, alt: "Attachment", className: "w-full h-full object-cover" }) }, img.id))) })), hasFiles && (_jsx("div", { className: "flex flex-wrap gap-2 mb-2", children: files.map((file) => (_jsxs("div", { className: "flex items-center gap-2 px-3 py-2 rounded-lg bg-muted/50 border border-border", children: [file.type === 'pdf' ? (_jsx(FileIcon, { className: "w-4 h-4 text-red-500 flex-shrink-0" })) : (_jsx(FileText, { className: "w-4 h-4 text-blue-500 flex-shrink-0" })), _jsx("span", { className: "text-xs truncate max-w-[150px]", children: file.name })] }, file.id))) })), hasResearchContexts && (_jsx("div", { className: "flex flex-wrap gap-2 mb-2", children: parsedResearchContexts.map((ctx) => (_jsxs("div", { className: "flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30", children: [_jsx(FlaskConical, { className: "w-4 h-4 text-teal-500 flex-shrink-0" }), _jsx("span", { className: "text-xs text-teal-600 dark:text-teal-400", children: ctx.label })] }, ctx.id))) })), hasContent && (_jsx("div", { className: "prose prose-invert prose-sm [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_*]:[word-break:break-word] [&_*]:overflow-wrap-anywhere whitespace-pre-wrap", children: _jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], components: {
|
|
111
|
-
a: ({ href, children, ...props }) => (_jsx("a", { href: href, target: "_blank", rel: "noopener noreferrer", onClick: (e) => {
|
|
112
|
-
if (window.self !== window.top && href) {
|
|
113
|
-
e.preventDefault();
|
|
114
|
-
window.parent.postMessage({
|
|
115
|
-
type: 'otto-open-url',
|
|
116
|
-
url: href,
|
|
117
|
-
}, '*');
|
|
118
|
-
}
|
|
119
|
-
}, ...props, children: children })),
|
|
120
|
-
}, children: content.replace(/\n/g, ' \n') }) }))] }), isQueued && (_jsxs("div", { className: "flex items-center gap-2 mt-2", children: [_jsxs("button", { type: "button", onClick: handleCancel, className: "inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors", title: "Cancel and restore to input", children: [_jsx(RotateCcw, { className: "h-3 w-3" }), "Cancel"] }), _jsxs("button", { type: "button", onClick: handleDelete, className: "inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors", title: "Delete from queue", children: [_jsx(Trash2, { className: "h-3 w-3" }), "Delete"] })] }))] }), _jsx("div", { className: "flex-shrink-0 w-8 flex items-start justify-center", children: _jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 border-emerald-500/50 bg-emerald-500/20 dark:bg-emerald-500/10 relative bg-background", children: _jsx(User, { className: "h-4 w-4 text-emerald-700 dark:text-emerald-300" }) }) })] }) }), expandedImage && (_jsxs("div", { role: "dialog", "aria-modal": "true", className: "fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4", onClick: () => setExpandedImage(null), onKeyDown: (e) => e.key === 'Escape' && setExpandedImage(null), tabIndex: -1, children: [_jsx("button", { type: "button", onClick: () => setExpandedImage(null), className: "absolute top-4 right-4 p-2 rounded-full bg-white/10 hover:bg-white/20 transition-colors", children: _jsx(X, { className: "w-6 h-6 text-white" }) }), _jsx("img", { src: expandedImage, alt: "Expanded attachment", className: "max-w-full max-h-full object-contain rounded-lg", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => e.key === 'Enter' && e.stopPropagation() })] }))] }));
|
|
121
|
-
}, (prevProps, nextProps) => {
|
|
122
|
-
const prevFirstPart = prevProps.message.parts?.[0];
|
|
123
|
-
const nextFirstPart = nextProps.message.parts?.[0];
|
|
124
|
-
return (prevProps.message.id === nextProps.message.id &&
|
|
125
|
-
prevFirstPart?.content === nextFirstPart?.content &&
|
|
126
|
-
prevFirstPart?.contentJson === nextFirstPart?.contentJson &&
|
|
127
|
-
prevProps.message.createdAt === nextProps.message.createdAt &&
|
|
128
|
-
prevProps.message.parts?.length === nextProps.message.parts?.length &&
|
|
129
|
-
prevProps.sessionId === nextProps.sessionId &&
|
|
130
|
-
prevProps.nextAssistantMessageId === nextProps.nextAssistantMessageId);
|
|
131
|
-
});
|
|
132
|
-
//# sourceMappingURL=UserMessageGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserMessageGroup.js","sourceRoot":"","sources":["../../../src/components/messages/UserMessageGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { ChevronRight } from 'lucide-react';
|
|
3
|
-
import { DiffView } from './DiffView';
|
|
4
|
-
import { formatDuration } from './utils';
|
|
5
|
-
import { ToolErrorDisplay } from './ToolErrorDisplay';
|
|
6
|
-
export function ApplyPatchRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, }) {
|
|
7
|
-
const artifact = contentJson.artifact;
|
|
8
|
-
const timeStr = formatDuration(toolDurationMs);
|
|
9
|
-
const formatSpan = (start, count) => {
|
|
10
|
-
if (count <= 1)
|
|
11
|
-
return `${start}`;
|
|
12
|
-
return `${start}-${start + count - 1}`;
|
|
13
|
-
};
|
|
14
|
-
const formatHunkLabel = (hunk) => {
|
|
15
|
-
const left = `-${formatSpan(hunk.oldStart, hunk.oldLines)}`;
|
|
16
|
-
const right = `+${formatSpan(hunk.newStart, hunk.newLines)}`;
|
|
17
|
-
const deltaParts = [];
|
|
18
|
-
if (hunk.additions > 0)
|
|
19
|
-
deltaParts.push(`+${hunk.additions}`);
|
|
20
|
-
if (hunk.deletions > 0)
|
|
21
|
-
deltaParts.push(`-${hunk.deletions}`);
|
|
22
|
-
const delta = deltaParts.length > 0 ? ` (${deltaParts.join(', ')})` : '';
|
|
23
|
-
return `${left} ${right}${delta}`;
|
|
24
|
-
};
|
|
25
|
-
const summary = artifact?.summary || {};
|
|
26
|
-
const files = Number(summary.files || 0);
|
|
27
|
-
const additions = Number(summary.additions || 0);
|
|
28
|
-
const deletions = Number(summary.deletions || 0);
|
|
29
|
-
const patch = artifact?.patch ? String(artifact.patch) : '';
|
|
30
|
-
const changes = Array.isArray(contentJson.result?.changes)
|
|
31
|
-
? contentJson.result?.changes
|
|
32
|
-
: [];
|
|
33
|
-
const singleFilePath = files === 1 && changes.length > 0 ? changes[0].filePath : null;
|
|
34
|
-
const hasError = contentJson.error ||
|
|
35
|
-
(contentJson.result &&
|
|
36
|
-
'ok' in contentJson.result &&
|
|
37
|
-
contentJson.result.ok === false);
|
|
38
|
-
const errorMessage = typeof contentJson.error === 'string'
|
|
39
|
-
? contentJson.error
|
|
40
|
-
: contentJson.result &&
|
|
41
|
-
'error' in contentJson.result &&
|
|
42
|
-
typeof contentJson.result.error === 'string'
|
|
43
|
-
? contentJson.result.error
|
|
44
|
-
: null;
|
|
45
|
-
const errorStack = contentJson.result &&
|
|
46
|
-
typeof contentJson.result === 'object' &&
|
|
47
|
-
'stack' in contentJson.result &&
|
|
48
|
-
typeof contentJson.result.stack === 'string'
|
|
49
|
-
? contentJson.result.stack
|
|
50
|
-
: undefined;
|
|
51
|
-
return (_jsxs("div", { className: "text-xs", children: [_jsxs("button", { type: "button", onClick: onToggle, className: `flex items-center gap-2 transition-colors w-full ${hasError
|
|
52
|
-
? 'text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200'
|
|
53
|
-
: 'text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200'}`, children: [_jsx(ChevronRight, { className: `h-3 w-3 flex-shrink-0 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), _jsxs("span", { className: "font-medium flex-shrink-0", children: ["apply patch", hasError ? ' error' : ''] }), _jsx("span", { className: "text-muted-foreground/70 flex-shrink-0", children: "\u00B7" }), singleFilePath ? (_jsx("span", { className: "text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap", dir: "rtl", title: singleFilePath, children: `\u2066${singleFilePath}\u2069` })) : (_jsxs("span", { className: "text-foreground/70 flex-shrink-0", children: [files, " ", files === 1 ? 'file' : 'files'] })), _jsxs("span", { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0", children: ["+", additions] }), _jsxs("span", { className: "text-red-600 dark:text-red-400 flex-shrink-0", children: ["-", deletions] }), _jsxs("span", { className: "text-muted-foreground/80 flex-shrink-0", children: ["\u00B7 ", timeStr] })] }), isExpanded && hasError && errorMessage && (_jsxs("div", { children: [_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true }), patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsxs("details", { children: [_jsx("summary", { className: "cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200", children: "Show patch that failed" }), _jsx("div", { className: "mt-2", children: _jsx(DiffView, { patch: patch }) })] }) }))] })), isExpanded && !hasError && changes.length > 0 && (_jsx("div", { className: "mt-2 ml-5 space-y-2", children: changes.map((change) => (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "font-mono text-foreground/80", children: change.filePath }), _jsx("div", { className: "flex flex-wrap gap-2", children: change.hunks.map((hunk, index) => (_jsx("span", { className: "rounded bg-muted px-2 py-0.5 text-[0.65rem] font-mono text-muted-foreground", children: formatHunkLabel(hunk) }, `apply-patch-${change.filePath}-hunk-${index}`))) })] }, `apply-patch-${change.filePath}-${change.kind}`))) })), isExpanded && !hasError && patch && (_jsx("div", { className: "mt-2 ml-5", children: _jsx(DiffView, { patch: patch }) }))] }));
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=ApplyPatchRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApplyPatchRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/ApplyPatchRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Terminal } from 'lucide-react';
|
|
3
|
-
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
4
|
-
import { prism, vscDarkPlus, } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
5
|
-
import { formatDuration } from './utils';
|
|
6
|
-
import { ToolErrorDisplay } from './ToolErrorDisplay';
|
|
7
|
-
import { ToolHeader, ToolHeaderSeparator, ToolHeaderMeta, ToolHeaderSuccess, ToolHeaderError, ToolContentBox, } from './shared';
|
|
8
|
-
export function BashRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, compact, }) {
|
|
9
|
-
const result = contentJson.result || {};
|
|
10
|
-
const args = contentJson.args || {};
|
|
11
|
-
const hasToolError = typeof result === 'object' && 'ok' in result && result.ok === false;
|
|
12
|
-
const errorMessage = hasToolError && 'error' in result && typeof result.error === 'string'
|
|
13
|
-
? result.error
|
|
14
|
-
: null;
|
|
15
|
-
const errorStack = hasToolError && 'stack' in result && typeof result.stack === 'string'
|
|
16
|
-
? result.stack
|
|
17
|
-
: undefined;
|
|
18
|
-
const stdout = String(result.stdout || '');
|
|
19
|
-
const stderr = String(result.stderr || '');
|
|
20
|
-
const exitCode = Number(result.exitCode ?? 0);
|
|
21
|
-
const cmd = String(args.cmd || '');
|
|
22
|
-
const cwd = args.cwd ? String(args.cwd) : undefined;
|
|
23
|
-
const timeStr = formatDuration(toolDurationMs);
|
|
24
|
-
const syntaxTheme = document?.documentElement.classList.contains('dark')
|
|
25
|
-
? vscDarkPlus
|
|
26
|
-
: prism;
|
|
27
|
-
const hasOutput = stdout.length > 0 || stderr.length > 0;
|
|
28
|
-
const isError = hasToolError || exitCode !== 0;
|
|
29
|
-
const hasStderr = stderr.length > 0;
|
|
30
|
-
const combinedOutput = stdout + (stdout && stderr ? '\n' : '') + stderr;
|
|
31
|
-
return (_jsxs("div", { className: "text-xs", children: [_jsxs(ToolHeader, { toolName: "bash", isExpanded: isExpanded, onToggle: onToggle, isError: isError, colorVariant: "default", canExpand: true, children: [!compact && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), _jsx("span", { className: "text-foreground/70 min-w-0 truncate font-mono text-[11px]", title: cmd, children: cmd })] })), !hasToolError && !compact && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), exitCode === 0 ? (_jsxs(ToolHeaderSuccess, { children: ["exit ", exitCode] })) : (_jsxs(ToolHeaderError, { children: ["exit ", exitCode] })), _jsx(ToolHeaderSeparator, {}), _jsx(ToolHeaderMeta, { children: timeStr })] })), hasToolError && !compact && (_jsxs(ToolHeaderMeta, { children: ["\u00B7 ", timeStr] }))] }), isExpanded && hasToolError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded && !hasToolError && (_jsxs("div", { className: "mt-2 ml-5 flex flex-col gap-2 max-w-full", children: [_jsx(ToolContentBox, { title: "command", icon: _jsx(Terminal, { className: "h-3 w-3" }), subtitle: cwd && cwd !== '.' ? `in ${cwd}` : undefined, copyText: cmd, maxHeight: "", children: _jsx("div", { className: "px-3 py-2 font-mono text-xs bg-muted/10 break-all", children: cmd }) }), hasOutput &&
|
|
32
|
-
(exitCode === 0 ? (_jsx(ToolContentBox, { title: "output", copyText: combinedOutput, maxHeight: "max-h-[30rem]", children: _jsx(SyntaxHighlighter, { language: "bash", style: syntaxTheme, customStyle: {
|
|
33
|
-
margin: 0,
|
|
34
|
-
padding: '0.75rem',
|
|
35
|
-
fontSize: '0.75rem',
|
|
36
|
-
lineHeight: '1.5',
|
|
37
|
-
background: 'transparent',
|
|
38
|
-
maxWidth: '100%',
|
|
39
|
-
}, wrapLines: true, wrapLongLines: true, children: combinedOutput }) })) : (_jsxs(_Fragment, { children: [stdout && (_jsx(ToolContentBox, { title: "stdout", copyText: stdout, maxHeight: "max-h-60", children: _jsx(SyntaxHighlighter, { language: "bash", style: syntaxTheme, customStyle: {
|
|
40
|
-
margin: 0,
|
|
41
|
-
padding: '0.75rem',
|
|
42
|
-
fontSize: '0.75rem',
|
|
43
|
-
lineHeight: '1.5',
|
|
44
|
-
background: 'transparent',
|
|
45
|
-
maxWidth: '100%',
|
|
46
|
-
}, wrapLines: true, wrapLongLines: true, children: stdout }) })), hasStderr && (_jsx(ToolContentBox, { title: "stderr", copyText: stderr, variant: "error", maxHeight: "max-h-60", children: _jsx(SyntaxHighlighter, { language: "bash", style: syntaxTheme, customStyle: {
|
|
47
|
-
margin: 0,
|
|
48
|
-
padding: '0.75rem',
|
|
49
|
-
fontSize: '0.75rem',
|
|
50
|
-
lineHeight: '1.5',
|
|
51
|
-
background: 'transparent',
|
|
52
|
-
maxWidth: '100%',
|
|
53
|
-
}, wrapLines: true, wrapLongLines: true, children: stderr }) }))] })))] }))] }));
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=BashRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BashRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/BashRenderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACN,KAAK,EACL,WAAW,GACX,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACN,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,cAAc,GACd,MAAM,UAAU,CAAC;AAElB,MAAM,UAAU,YAAY,CAAC,EAC5B,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,EACR,OAAO,GACQ;IACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;IAEpC,MAAM,YAAY,GACjB,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC;IACrE,MAAM,YAAY,GACjB,YAAY,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QACpE,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,UAAU,GACf,YAAY,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QACpE,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACvE,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,KAAK,CAAC;IAET,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,YAAY,IAAI,QAAQ,KAAK,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;IAExE,OAAO,CACN,eAAK,SAAS,EAAC,SAAS,aACvB,MAAC,UAAU,IACV,QAAQ,EAAC,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAC,SAAS,EACtB,SAAS,EAAE,IAAI,aAEd,CAAC,OAAO,IAAI,CACZ,8BACC,KAAC,mBAAmB,KAAG,EACvB,eACC,SAAS,EAAC,2DAA2D,EACrE,KAAK,EAAE,GAAG,YAET,GAAG,GACE,IACL,CACH,EACA,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,CAC7B,8BACC,KAAC,mBAAmB,KAAG,EACtB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CACjB,MAAC,iBAAiB,wBAAO,QAAQ,IAAqB,CACtD,CAAC,CAAC,CAAC,CACH,MAAC,eAAe,wBAAO,QAAQ,IAAmB,CAClD,EACD,KAAC,mBAAmB,KAAG,EACvB,KAAC,cAAc,cAAE,OAAO,GAAkB,IACxC,CACH,EACA,YAAY,IAAI,CAAC,OAAO,IAAI,CAC5B,MAAC,cAAc,0BAAI,OAAO,IAAkB,CAC5C,IACW,EAEZ,UAAU,IAAI,YAAY,IAAI,YAAY,IAAI,CAC9C,KAAC,gBAAgB,IAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,SAAG,CACtE,EAEA,UAAU,IAAI,CAAC,YAAY,IAAI,CAC/B,eAAK,SAAS,EAAC,0CAA0C,aACxD,KAAC,cAAc,IACd,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,EACtC,QAAQ,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,EACtD,QAAQ,EAAE,GAAG,EACb,SAAS,EAAC,EAAE,YAEZ,cAAK,SAAS,EAAC,mDAAmD,YAChE,GAAG,GACC,GACU,EAEhB,SAAS;wBACT,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CACjB,KAAC,cAAc,IACd,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAC,eAAe,YAEzB,KAAC,iBAAiB,IACjB,QAAQ,EAAC,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE;oCACZ,MAAM,EAAE,CAAC;oCACT,OAAO,EAAE,SAAS;oCAClB,QAAQ,EAAE,SAAS;oCACnB,UAAU,EAAE,KAAK;oCACjB,UAAU,EAAE,aAAa;oCACzB,QAAQ,EAAE,MAAM;iCAChB,EACD,SAAS,QACT,aAAa,kBAEZ,cAAc,GACI,GACJ,CACjB,CAAC,CAAC,CAAC,CACH,8BACE,MAAM,IAAI,CACV,KAAC,cAAc,IACd,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAC,UAAU,YAEpB,KAAC,iBAAiB,IACjB,QAAQ,EAAC,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE;4CACZ,MAAM,EAAE,CAAC;4CACT,OAAO,EAAE,SAAS;4CAClB,QAAQ,EAAE,SAAS;4CACnB,UAAU,EAAE,KAAK;4CACjB,UAAU,EAAE,aAAa;4CACzB,QAAQ,EAAE,MAAM;yCAChB,EACD,SAAS,QACT,aAAa,kBAEZ,MAAM,GACY,GACJ,CACjB,EACA,SAAS,IAAI,CACb,KAAC,cAAc,IACd,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAC,OAAO,EACf,SAAS,EAAC,UAAU,YAEpB,KAAC,iBAAiB,IACjB,QAAQ,EAAC,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE;4CACZ,MAAM,EAAE,CAAC;4CACT,OAAO,EAAE,SAAS;4CAClB,QAAQ,EAAE,SAAS;4CACnB,UAAU,EAAE,KAAK;4CACjB,UAAU,EAAE,aAAa;4CACzB,QAAQ,EAAE,MAAM;yCAChB,EACD,SAAS,QACT,aAAa,kBAEZ,MAAM,GACY,GACJ,CACjB,IACC,CACH,CAAC,IACE,CACN,IACI,CACN,CAAC;AACH,CAAC"}
|