@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,192 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useState, useCallback, useMemo, useEffect, useRef } from 'react';
|
|
3
|
-
import { ChevronDown, ChevronRight, ClipboardCopy, ExternalLink, FolderDot, Globe, Laptop, Loader2, Lock, Plug, Plus, Trash2, Wrench, } from 'lucide-react';
|
|
4
|
-
import { Button } from '../ui/Button';
|
|
5
|
-
import { Modal } from '../ui/Modal';
|
|
6
|
-
import { useMCPStore } from '../../stores/mcpStore';
|
|
7
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
8
|
-
import { useMCPServers, useStartMCPServer, useStopMCPServer, useRemoveMCPServer, useAuthenticateMCPServer, useMCPAuthStatus, useCopilotDevicePoller, } from '../../hooks/useMCP';
|
|
9
|
-
import { openUrl } from '../../lib/open-url';
|
|
10
|
-
import { AddMCPServerModal } from './AddMCPServerModal';
|
|
11
|
-
const ToggleSwitch = memo(function ToggleSwitch({ checked, loading, onChange, disabled, }) {
|
|
12
|
-
return (_jsx("button", { type: "button", role: "switch", "aria-checked": checked, disabled: disabled || loading, onClick: (e) => {
|
|
13
|
-
e.stopPropagation();
|
|
14
|
-
onChange();
|
|
15
|
-
}, className: `relative inline-flex h-5 w-9 flex-shrink-0 items-center rounded-full transition-colors duration-200 focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed ${checked ? 'bg-green-500' : 'bg-muted-foreground/30'}`, children: _jsx("span", { className: `inline-block h-3.5 w-3.5 rounded-full transition-transform duration-200 ${checked ? 'translate-x-[18px]' : 'translate-x-[3px]'} ${loading ? 'bg-transparent' : 'bg-white'}`, children: loading && _jsx(Loader2, { className: "w-3.5 h-3.5 animate-spin text-white" }) }) }));
|
|
16
|
-
});
|
|
17
|
-
const CopilotDeviceAuth = memo(function CopilotDeviceAuth({ userCode, verificationUri, }) {
|
|
18
|
-
const [copied, setCopied] = useState(false);
|
|
19
|
-
const handleCopy = useCallback(() => {
|
|
20
|
-
navigator.clipboard.writeText(userCode).then(() => {
|
|
21
|
-
setCopied(true);
|
|
22
|
-
setTimeout(() => setCopied(false), 2000);
|
|
23
|
-
});
|
|
24
|
-
}, [userCode]);
|
|
25
|
-
return (_jsx("div", { className: "px-3 pb-2.5 pt-0", children: _jsxs("div", { className: "rounded-md bg-yellow-500/10 border border-yellow-500/20 p-2 space-y-1.5", children: [_jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(Loader2, { className: "w-3 h-3 animate-spin text-yellow-500 flex-shrink-0" }), _jsx("span", { className: "text-yellow-500/80", children: "Enter code at GitHub:" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("code", { className: "text-sm font-mono font-bold text-yellow-400 tracking-wider", children: userCode }), _jsx("button", { type: "button", onClick: handleCopy, className: "text-yellow-500/60 hover:text-yellow-400 transition-colors", title: "Copy code", children: _jsx(ClipboardCopy, { className: "w-3.5 h-3.5" }) }), copied && _jsx("span", { className: "text-xs text-green-400", children: "Copied!" })] }), _jsxs("a", { href: verificationUri, target: "_blank", rel: "noopener noreferrer", onClick: (e) => {
|
|
26
|
-
e.preventDefault();
|
|
27
|
-
openUrl(verificationUri);
|
|
28
|
-
}, className: "inline-flex items-center gap-1 text-xs text-yellow-400 hover:text-yellow-300 underline underline-offset-2", children: ["Open GitHub login", _jsx(ExternalLink, { className: "w-3 h-3" })] })] }) }));
|
|
29
|
-
});
|
|
30
|
-
const MCPServerCard = memo(function MCPServerCard({ server, isLoading, authUrl, copilotDevice, onStart, onStop, onRemove, onAuth, }) {
|
|
31
|
-
const [showTools, setShowTools] = useState(false);
|
|
32
|
-
const hasTools = server.connected && server.tools.length > 0;
|
|
33
|
-
const isRemote = server.transport === 'http' || server.transport === 'sse';
|
|
34
|
-
const isAwaitingAuth = (!!authUrl || !!copilotDevice) && !server.connected;
|
|
35
|
-
const handleToggle = useCallback(() => {
|
|
36
|
-
if (server.authRequired && !server.connected) {
|
|
37
|
-
onAuth();
|
|
38
|
-
}
|
|
39
|
-
else if (server.connected) {
|
|
40
|
-
onStop();
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
onStart();
|
|
44
|
-
}
|
|
45
|
-
}, [server.connected, server.authRequired, onAuth, onStop, onStart]);
|
|
46
|
-
const toggleTools = useCallback(() => {
|
|
47
|
-
if (hasTools)
|
|
48
|
-
setShowTools((prev) => !prev);
|
|
49
|
-
}, [hasTools]);
|
|
50
|
-
return (_jsxs("div", { className: `rounded-lg border transition-colors duration-200 group ${server.connected
|
|
51
|
-
? 'border-green-500/30 bg-green-500/5'
|
|
52
|
-
: isAwaitingAuth
|
|
53
|
-
? 'border-yellow-500/30 bg-yellow-500/5'
|
|
54
|
-
: 'border-border bg-transparent'}`, children: [_jsxs("div", { className: "flex items-center gap-3 px-3 py-2.5", children: [_jsx(ToggleSwitch, { checked: server.connected, loading: isLoading || isAwaitingAuth, onChange: handleToggle }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "text-sm font-medium truncate", children: server.name }), isRemote && (_jsx(Globe, { className: "w-3 h-3 text-muted-foreground flex-shrink-0" })), server.authRequired && !server.connected && (_jsx(Lock, { className: "w-3 h-3 text-yellow-500 flex-shrink-0" }))] }), _jsxs("div", { className: "flex items-center gap-1.5 mt-0.5", children: [_jsx("span", { className: "text-xs text-muted-foreground truncate", children: isRemote
|
|
55
|
-
? server.url
|
|
56
|
-
: `${server.command ?? ''} ${server.args.join(' ')}` }), _jsx("span", { className: "flex items-center flex-shrink-0 opacity-50", title: server.scope === 'project' ? 'Project-local' : 'Global', children: server.scope === 'project' ? (_jsx(FolderDot, { className: "w-3 h-3" })) : (_jsx(Laptop, { className: "w-3 h-3" })) })] })] }), _jsxs("div", { className: "flex items-center gap-0.5 flex-shrink-0", children: [hasTools && (_jsxs("button", { type: "button", onClick: toggleTools, className: "flex items-center gap-0.5 text-xs text-muted-foreground hover:text-foreground px-1.5 py-1 rounded transition-colors", children: [_jsx(Wrench, { className: "w-3 h-3" }), server.tools.length, showTools ? (_jsx(ChevronDown, { className: "w-3 h-3" })) : (_jsx(ChevronRight, { className: "w-3 h-3" }))] })), _jsx(Button, { variant: "ghost", size: "icon", onClick: onRemove, title: "Remove server", className: "h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity", children: _jsx(Trash2, { className: "w-3 h-3 text-muted-foreground hover:text-red-400" }) })] })] }), copilotDevice && !server.connected && (_jsx(CopilotDeviceAuth, { userCode: copilotDevice.userCode, verificationUri: copilotDevice.verificationUri })), !copilotDevice && isAwaitingAuth && authUrl && (_jsx("div", { className: "px-3 pb-2.5 pt-0", children: _jsxs("div", { className: "flex items-center gap-1.5 text-xs", children: [_jsx(Loader2, { className: "w-3 h-3 animate-spin text-yellow-500 flex-shrink-0" }), _jsx("span", { className: "text-yellow-500/80", children: "Waiting for auth..." }), _jsxs("a", { href: authUrl, target: "_blank", rel: "noopener noreferrer", onClick: (e) => {
|
|
57
|
-
e.preventDefault();
|
|
58
|
-
openUrl(authUrl);
|
|
59
|
-
}, className: "inline-flex items-center gap-0.5 text-yellow-400 hover:text-yellow-300 underline underline-offset-2", children: ["Open login", _jsx(ExternalLink, { className: "w-3 h-3" })] })] }) })), hasTools && showTools && (_jsx("div", { className: "px-3 pb-2.5 pt-0", children: _jsx("div", { className: "flex flex-wrap gap-1", children: server.tools.map((tool) => (_jsx("span", { className: "text-xs bg-muted px-1.5 py-0.5 rounded", title: tool, children: tool.split('__').pop() }, tool))) }) }))] }));
|
|
60
|
-
});
|
|
61
|
-
function useAuthPoller(name, onAuthenticated) {
|
|
62
|
-
const { data } = useMCPAuthStatus(name);
|
|
63
|
-
const prevAuth = useRef(false);
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
if (data?.authenticated && !prevAuth.current) {
|
|
66
|
-
onAuthenticated();
|
|
67
|
-
}
|
|
68
|
-
prevAuth.current = data?.authenticated ?? false;
|
|
69
|
-
}, [data?.authenticated, onAuthenticated]);
|
|
70
|
-
}
|
|
71
|
-
export const MCPSidebar = memo(function MCPSidebar() {
|
|
72
|
-
const isExpanded = useMCPStore((s) => s.isExpanded);
|
|
73
|
-
const collapseSidebar = useMCPStore((s) => s.collapseSidebar);
|
|
74
|
-
const servers = useMCPStore((s) => s.servers);
|
|
75
|
-
const loading = useMCPStore((s) => s.loading);
|
|
76
|
-
const authUrls = useMCPStore((s) => s.authUrls);
|
|
77
|
-
const setAuthUrl = useMCPStore((s) => s.setAuthUrl);
|
|
78
|
-
const setLoading = useMCPStore((s) => s.setLoading);
|
|
79
|
-
const setCopilotDevice = useMCPStore((s) => s.setCopilotDevice);
|
|
80
|
-
const { isLoading: isFetching } = useMCPServers();
|
|
81
|
-
const startServer = useStartMCPServer();
|
|
82
|
-
const stopServer = useStopMCPServer();
|
|
83
|
-
const removeServer = useRemoveMCPServer();
|
|
84
|
-
const authServer = useAuthenticateMCPServer();
|
|
85
|
-
const copilotDevice = useCopilotDevicePoller();
|
|
86
|
-
const [isAddModalOpen, setIsAddModalOpen] = useState(false);
|
|
87
|
-
const [pollingServer, setPollingServer] = useState(null);
|
|
88
|
-
const [deleteTarget, setDeleteTarget] = useState(null);
|
|
89
|
-
const queryClient = useQueryClient();
|
|
90
|
-
const handleAuthCompleted = useCallback(() => {
|
|
91
|
-
if (pollingServer) {
|
|
92
|
-
setAuthUrl(pollingServer, null);
|
|
93
|
-
setPollingServer(null);
|
|
94
|
-
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
95
|
-
}
|
|
96
|
-
}, [pollingServer, setAuthUrl, queryClient]);
|
|
97
|
-
useAuthPoller(pollingServer, handleAuthCompleted);
|
|
98
|
-
useEffect(() => {
|
|
99
|
-
for (const name of loading) {
|
|
100
|
-
const server = servers.find((s) => s.name === name);
|
|
101
|
-
if (server?.connected) {
|
|
102
|
-
setLoading(name, false);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}, [servers, loading, setLoading]);
|
|
106
|
-
const handleCopilotDeviceResponse = useCallback((name, result) => {
|
|
107
|
-
if (result.sessionId && result.userCode && result.verificationUri) {
|
|
108
|
-
setCopilotDevice({
|
|
109
|
-
sessionId: result.sessionId,
|
|
110
|
-
userCode: result.userCode,
|
|
111
|
-
verificationUri: result.verificationUri,
|
|
112
|
-
interval: result.interval ?? 5,
|
|
113
|
-
serverName: name,
|
|
114
|
-
});
|
|
115
|
-
openUrl(result.verificationUri);
|
|
116
|
-
}
|
|
117
|
-
}, [setCopilotDevice]);
|
|
118
|
-
const handleAuth = useCallback(async (name) => {
|
|
119
|
-
try {
|
|
120
|
-
setLoading(name, true);
|
|
121
|
-
const result = await authServer.mutateAsync(name);
|
|
122
|
-
if (result.authType === 'copilot-device') {
|
|
123
|
-
if (result.authenticated) {
|
|
124
|
-
setLoading(name, false);
|
|
125
|
-
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
handleCopilotDeviceResponse(name, result);
|
|
129
|
-
}
|
|
130
|
-
else if (result.authUrl) {
|
|
131
|
-
setAuthUrl(name, result.authUrl);
|
|
132
|
-
setPollingServer(name);
|
|
133
|
-
openUrl(result.authUrl);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
setLoading(name, false);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
catch {
|
|
140
|
-
setLoading(name, false);
|
|
141
|
-
setAuthUrl(name, null);
|
|
142
|
-
}
|
|
143
|
-
}, [
|
|
144
|
-
authServer,
|
|
145
|
-
setAuthUrl,
|
|
146
|
-
setLoading,
|
|
147
|
-
handleCopilotDeviceResponse,
|
|
148
|
-
queryClient,
|
|
149
|
-
]);
|
|
150
|
-
const handleStart = useCallback(async (name) => {
|
|
151
|
-
try {
|
|
152
|
-
setLoading(name, true);
|
|
153
|
-
const result = await startServer.mutateAsync(name);
|
|
154
|
-
if (result.authType === 'copilot-device' && !result.connected) {
|
|
155
|
-
handleCopilotDeviceResponse(name, result);
|
|
156
|
-
}
|
|
157
|
-
else if (result.authRequired && result.authUrl) {
|
|
158
|
-
setAuthUrl(name, result.authUrl);
|
|
159
|
-
setPollingServer(name);
|
|
160
|
-
openUrl(result.authUrl);
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
setLoading(name, false);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
catch {
|
|
167
|
-
setLoading(name, false);
|
|
168
|
-
setAuthUrl(name, null);
|
|
169
|
-
}
|
|
170
|
-
}, [startServer, setAuthUrl, setLoading, handleCopilotDeviceResponse]);
|
|
171
|
-
const sortedServers = useMemo(() => {
|
|
172
|
-
return [...servers].sort((a, b) => {
|
|
173
|
-
if (a.connected && !b.connected)
|
|
174
|
-
return -1;
|
|
175
|
-
if (!a.connected && b.connected)
|
|
176
|
-
return 1;
|
|
177
|
-
return a.name.localeCompare(b.name);
|
|
178
|
-
});
|
|
179
|
-
}, [servers]);
|
|
180
|
-
if (!isExpanded)
|
|
181
|
-
return null;
|
|
182
|
-
const connectedCount = servers.filter((s) => s.connected).length;
|
|
183
|
-
return (_jsxs("div", { className: "w-80 border-l border-border bg-background flex flex-col h-full", children: [_jsxs("div", { className: "h-14 flex items-center justify-between px-3 border-b border-border", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Plug, { className: "w-4 h-4 text-muted-foreground" }), _jsx("span", { className: "font-medium text-sm", children: "MCP Servers" }), connectedCount > 0 && (_jsxs("span", { className: "text-xs bg-green-500/20 text-green-400 px-1.5 py-0.5 rounded-full", children: [connectedCount, " active"] }))] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "ghost", size: "icon", onClick: () => setIsAddModalOpen(true), title: "Add MCP server", className: "h-7 w-7", children: _jsx(Plus, { className: "w-4 h-4" }) }), _jsx(Button, { variant: "ghost", size: "icon", onClick: collapseSidebar, title: "Close sidebar", children: _jsx(ChevronRight, { className: "w-4 h-4" }) })] })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: isFetching && servers.length === 0 ? (_jsxs("div", { className: "flex items-center justify-center h-32 text-muted-foreground", children: [_jsx(Loader2, { className: "w-4 h-4 animate-spin mr-2" }), "Loading..."] })) : servers.length === 0 ? (_jsxs("div", { className: "p-4 text-sm text-muted-foreground space-y-3", children: [_jsx("p", { children: "No MCP servers configured." }), _jsxs(Button, { variant: "primary", size: "sm", onClick: () => setIsAddModalOpen(true), className: "w-full", children: [_jsx(Plus, { className: "w-3 h-3 mr-1" }), "Add MCP Server"] }), _jsxs("p", { className: "text-xs", children: ["Or add servers to", ' ', _jsx("code", { className: "bg-muted px-1 py-0.5 rounded text-xs", children: ".otto/config.json" })] })] })) : (_jsx("div", { className: "p-2 space-y-1.5", children: sortedServers.map((server) => (_jsx(MCPServerCard, { server: server, isLoading: loading.has(server.name), authUrl: authUrls.get(server.name), copilotDevice: copilotDevice?.serverName === server.name
|
|
184
|
-
? copilotDevice
|
|
185
|
-
: null, onStart: () => handleStart(server.name), onStop: () => stopServer.mutate(server.name), onRemove: () => setDeleteTarget(server.name), onAuth: () => handleAuth(server.name) }, server.name))) })) }), _jsx(AddMCPServerModal, { isOpen: isAddModalOpen, onClose: () => setIsAddModalOpen(false) }), _jsxs(Modal, { isOpen: !!deleteTarget, onClose: () => setDeleteTarget(null), title: "Remove MCP Server", maxWidth: "sm", showCloseButton: false, children: [_jsxs("p", { className: "text-sm text-muted-foreground mb-4", children: ["Are you sure you want to remove", ' ', _jsx("span", { className: "font-medium text-foreground", children: deleteTarget }), "? This will stop the server and remove its configuration."] }), _jsxs("div", { className: "flex justify-end gap-2", children: [_jsx(Button, { variant: "secondary", size: "sm", onClick: () => setDeleteTarget(null), children: "Cancel" }), _jsx(Button, { variant: "primary", size: "sm", className: "bg-red-500 hover:bg-red-600 text-white", onClick: () => {
|
|
186
|
-
if (deleteTarget) {
|
|
187
|
-
removeServer.mutate(deleteTarget);
|
|
188
|
-
}
|
|
189
|
-
setDeleteTarget(null);
|
|
190
|
-
}, children: "Remove" })] })] })] }));
|
|
191
|
-
});
|
|
192
|
-
//# sourceMappingURL=MCPSidebar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MCPSidebar.js","sourceRoot":"","sources":["../../../src/components/mcp/MCPSidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from 'react';
|
|
3
|
-
import { Plug } from 'lucide-react';
|
|
4
|
-
import { useMCPStore } from '../../stores/mcpStore';
|
|
5
|
-
export const MCPSidebarToggle = memo(function MCPSidebarToggle() {
|
|
6
|
-
const isExpanded = useMCPStore((state) => state.isExpanded);
|
|
7
|
-
const toggleSidebar = useMCPStore((state) => state.toggleSidebar);
|
|
8
|
-
const servers = useMCPStore((state) => state.servers);
|
|
9
|
-
const connectedCount = servers.filter((s) => s.connected).length;
|
|
10
|
-
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${isExpanded
|
|
11
|
-
? 'bg-muted border-primary'
|
|
12
|
-
: 'border-transparent hover:bg-muted/50'}`, title: "MCP Servers", children: [_jsx(Plug, { className: "w-5 h-5 text-muted-foreground mx-auto" }), connectedCount > 0 && (_jsx("span", { className: "absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full" }))] }));
|
|
13
|
-
});
|
|
14
|
-
//# sourceMappingURL=MCPSidebarToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MCPSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/mcp/MCPSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,gBAAgB;IAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAEjE,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,yGACV,UAAU;YACT,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,sCACJ,EAAE,EACF,KAAK,EAAC,aAAa,aAEnB,KAAC,IAAI,IAAC,SAAS,EAAC,uCAAuC,GAAG,EACzD,cAAc,GAAG,CAAC,IAAI,CACtB,eAAM,SAAS,EAAC,0DAA0D,GAAG,CAC7E,IACO,CACT,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useState, useCallback, useMemo } from 'react';
|
|
3
|
-
import { Sparkles, GitBranch, Copy, Check, Shield, CheckCheck, } from 'lucide-react';
|
|
4
|
-
import { MessagePartItem } from './MessagePartItem';
|
|
5
|
-
import { useMessageQueuePosition } from '../../hooks/useQueueState';
|
|
6
|
-
import { BranchModal } from '../branch/BranchModal';
|
|
7
|
-
import { ProviderLogo } from '../common/ProviderLogo';
|
|
8
|
-
import { useToolApprovalStore } from '../../stores/toolApprovalStore';
|
|
9
|
-
import { apiClient } from '../../lib/api-client';
|
|
10
|
-
const loadingMessages = [
|
|
11
|
-
'Generating...',
|
|
12
|
-
'Cooking up something...',
|
|
13
|
-
'Thinking...',
|
|
14
|
-
'Processing...',
|
|
15
|
-
'Working on it...',
|
|
16
|
-
'Crafting response...',
|
|
17
|
-
'Brewing magic...',
|
|
18
|
-
'Computing...',
|
|
19
|
-
];
|
|
20
|
-
function getLoadingMessage(messageId) {
|
|
21
|
-
const hash = messageId
|
|
22
|
-
.split('')
|
|
23
|
-
.reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
24
|
-
return loadingMessages[hash % loadingMessages.length];
|
|
25
|
-
}
|
|
26
|
-
export const AssistantMessageGroup = memo(function AssistantMessageGroup({ sessionId, message, showHeader, hasNextAssistantMessage, onBranchCreated, compact, showBranchButton = true, onNavigateToSession, onRetry, onCompact, }) {
|
|
27
|
-
const { isQueued } = useMessageQueuePosition(sessionId, message.id);
|
|
28
|
-
const [isHovered, setIsHovered] = useState(false);
|
|
29
|
-
const [showBranchModal, setShowBranchModal] = useState(false);
|
|
30
|
-
const [copied, setCopied] = useState(false);
|
|
31
|
-
// Tool approval handling
|
|
32
|
-
const { pendingApprovals, removePendingApproval } = useToolApprovalStore();
|
|
33
|
-
const handleApprove = useCallback(async (callId) => {
|
|
34
|
-
if (!sessionId)
|
|
35
|
-
return;
|
|
36
|
-
try {
|
|
37
|
-
await apiClient.approveToolCall(sessionId, callId, true);
|
|
38
|
-
removePendingApproval(callId);
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
console.error('Failed to approve tool call:', error);
|
|
42
|
-
}
|
|
43
|
-
}, [sessionId, removePendingApproval]);
|
|
44
|
-
const handleReject = useCallback(async (callId) => {
|
|
45
|
-
if (!sessionId)
|
|
46
|
-
return;
|
|
47
|
-
try {
|
|
48
|
-
await apiClient.approveToolCall(sessionId, callId, false);
|
|
49
|
-
removePendingApproval(callId);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error('Failed to reject tool call:', error);
|
|
53
|
-
}
|
|
54
|
-
}, [sessionId, removePendingApproval]);
|
|
55
|
-
// Handle approving all pending approvals for this message
|
|
56
|
-
const messagePendingApprovals = useMemo(() => {
|
|
57
|
-
return pendingApprovals.filter((a) => a.messageId === message.id);
|
|
58
|
-
}, [pendingApprovals, message.id]);
|
|
59
|
-
const handleApproveAll = useCallback(async () => {
|
|
60
|
-
if (!sessionId)
|
|
61
|
-
return;
|
|
62
|
-
try {
|
|
63
|
-
await Promise.all(messagePendingApprovals.map((a) => apiClient.approveToolCall(sessionId, a.callId, true)));
|
|
64
|
-
for (const a of messagePendingApprovals) {
|
|
65
|
-
removePendingApproval(a.callId);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
console.error('Failed to approve all tool calls:', error);
|
|
70
|
-
}
|
|
71
|
-
}, [sessionId, messagePendingApprovals, removePendingApproval]);
|
|
72
|
-
// Sort parts by index to maintain correct order when tool results come in
|
|
73
|
-
const parts = useMemo(() => {
|
|
74
|
-
const rawParts = message.parts || [];
|
|
75
|
-
return [...rawParts].sort((a, b) => {
|
|
76
|
-
const indexDiff = (a.index ?? 0) - (b.index ?? 0);
|
|
77
|
-
if (indexDiff !== 0)
|
|
78
|
-
return indexDiff;
|
|
79
|
-
// Secondary sort by startedAt for parts with same index
|
|
80
|
-
return (a.startedAt ?? 0) - (b.startedAt ?? 0);
|
|
81
|
-
});
|
|
82
|
-
}, [message.parts]);
|
|
83
|
-
const hasFinish = parts.some((part) => part.toolName === 'finish');
|
|
84
|
-
const latestProgressUpdateIndex = parts.reduce((lastIndex, part, index) => part.type === 'tool_result' && part.toolName === 'progress_update'
|
|
85
|
-
? index
|
|
86
|
-
: lastIndex, -1);
|
|
87
|
-
const latestProgressUpdatePart = latestProgressUpdateIndex >= 0 ? parts[latestProgressUpdateIndex] : null;
|
|
88
|
-
const hasVisibleNonProgressParts = parts.some((part) => !(part.type === 'tool_result' && part.toolName === 'progress_update'));
|
|
89
|
-
const firstVisiblePartIndex = parts.findIndex((part) => !(part.type === 'tool_result' && part.toolName === 'progress_update'));
|
|
90
|
-
const shouldShowProgressUpdate = message.status === 'pending' &&
|
|
91
|
-
!hasFinish &&
|
|
92
|
-
Boolean(latestProgressUpdatePart);
|
|
93
|
-
const shouldShowLoadingFallback = message.status === 'pending' &&
|
|
94
|
-
!hasFinish &&
|
|
95
|
-
!latestProgressUpdatePart &&
|
|
96
|
-
!isQueued;
|
|
97
|
-
const formatTime = (ts) => {
|
|
98
|
-
if (!ts)
|
|
99
|
-
return '';
|
|
100
|
-
const date = new Date(ts);
|
|
101
|
-
return date.toLocaleTimeString([], {
|
|
102
|
-
hour: '2-digit',
|
|
103
|
-
minute: '2-digit',
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
const isComplete = message.status === 'complete';
|
|
107
|
-
const handleCopy = useCallback(() => {
|
|
108
|
-
const textParts = parts
|
|
109
|
-
.filter((p) => p.type === 'text')
|
|
110
|
-
.map((p) => {
|
|
111
|
-
try {
|
|
112
|
-
const parsed = JSON.parse(p.content || '{}');
|
|
113
|
-
return parsed?.text || '';
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
return p.content || '';
|
|
117
|
-
}
|
|
118
|
-
})
|
|
119
|
-
.join('\n');
|
|
120
|
-
navigator.clipboard.writeText(textParts);
|
|
121
|
-
setCopied(true);
|
|
122
|
-
setTimeout(() => setCopied(false), 2000);
|
|
123
|
-
}, [parts]);
|
|
124
|
-
const handleBranchClick = useCallback(() => {
|
|
125
|
-
setShowBranchModal(true);
|
|
126
|
-
}, []);
|
|
127
|
-
if (isQueued) {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
return (
|
|
131
|
-
// biome-ignore lint/a11y/noStaticElementInteractions: hover state for showing actions
|
|
132
|
-
_jsxs("div", { className: "relative group", onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [showHeader && (_jsxs("div", { className: "pb-2 flex items-center justify-between", children: [_jsxs("div", { className: "inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4 flex-shrink min-w-0", children: [_jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10", children: _jsx(Sparkles, { className: "h-3.5 w-3.5 text-violet-700 dark:text-violet-300" }) }), _jsxs("div", { className: "flex items-center gap-x-1.5 md:gap-x-2 text-xs md:text-sm text-muted-foreground pl-2 md:pl-3 min-w-0", children: [message.agent && !compact && (_jsx("span", { className: "font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap", children: message.agent })), message.provider && (_jsxs(_Fragment, { children: [!compact && message.agent && (_jsx("span", { className: "text-muted-foreground/50", children: "\u00B7" })), _jsx(ProviderLogo, { provider: message.provider, size: 14, className: "opacity-70" })] })), message.model && (_jsxs(_Fragment, { children: [_jsx("span", { className: "hidden md:inline text-muted-foreground/50", children: "\u00B7" }), _jsx("span", { className: `hidden md:inline text-muted-foreground ${compact ? 'truncate max-w-[120px]' : ''}`, title: message.model, children: message.model })] })), message.createdAt && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground/50", children: "\u00B7" }), _jsx("span", { className: "text-muted-foreground whitespace-nowrap", children: formatTime(message.createdAt) })] }))] })] }), isHovered && isComplete && sessionId && showBranchButton && (_jsx("button", { type: "button", onClick: handleBranchClick, className: "ml-4 p-1.5 text-muted-foreground hover:text-primary transition-colors flex-shrink-0", title: "Branch from this message", children: _jsx(GitBranch, { className: "h-4 w-4" }) }))] })), _jsxs("div", { className: "relative ml-1", children: [parts.map((part, index) => {
|
|
133
|
-
const isLastPart = index === parts.length - 1;
|
|
134
|
-
// Find pending approval for this part's tool call
|
|
135
|
-
const pendingApproval = part.type === 'tool_call' && part.toolCallId
|
|
136
|
-
? (pendingApprovals.find((a) => a.callId === part.toolCallId) ??
|
|
137
|
-
null)
|
|
138
|
-
: null;
|
|
139
|
-
const isFinishTool = part.type === 'tool_result' && part.toolName === 'finish';
|
|
140
|
-
const showLine = (!isLastPart || hasNextAssistantMessage) && !isFinishTool;
|
|
141
|
-
const isLastToolCall = part.type === 'tool_call' && isLastPart;
|
|
142
|
-
const isProgressUpdate = part.type === 'tool_result' &&
|
|
143
|
-
part.toolName === 'progress_update';
|
|
144
|
-
if (isProgressUpdate) {
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
return (_jsx(MessagePartItem, { part: part, showLine: showLine, isFirstPart: index === firstVisiblePartIndex && !showHeader, isLastToolCall: isLastToolCall, onNavigateToSession: onNavigateToSession, compact: compact, pendingApproval: pendingApproval, onApprove: handleApprove, onReject: handleReject, sessionId: sessionId, onRetry: onRetry, onCompact: onCompact }, part.id));
|
|
148
|
-
}), messagePendingApprovals.length > 1 && (_jsxs("div", { className: "flex items-center gap-3 py-2 px-3 my-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg", children: [_jsx(Shield, { className: "h-4 w-4 text-amber-600 dark:text-amber-400 flex-shrink-0" }), _jsxs("span", { className: "text-sm text-amber-800 dark:text-amber-200 flex-1", children: [messagePendingApprovals.length, " tools waiting for approval"] }), _jsxs("button", { type: "button", onClick: handleApproveAll, title: "Approve All (A)", 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", children: [_jsx(CheckCheck, { className: "w-3.5 h-3.5" }), "Approve All", _jsx("kbd", { className: "ml-1 text-[10px] opacity-70", children: "A" })] })] })), shouldShowProgressUpdate && latestProgressUpdatePart && (_jsx(MessagePartItem, { part: latestProgressUpdatePart, showLine: hasNextAssistantMessage, isFirstPart: !hasVisibleNonProgressParts && !showHeader, isLastProgressUpdate: true, compact: compact }, latestProgressUpdatePart.id)), shouldShowLoadingFallback && (_jsxs("div", { className: "flex gap-3 pb-2 relative", children: [_jsx("div", { className: "flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5", children: _jsx("div", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-card text-violet-700 dark:bg-background dark:text-violet-300", children: _jsx(Sparkles, { className: "h-4 w-4" }) }) }), _jsx("div", { className: "flex-1 pt-0.5", children: _jsx("div", { className: "text-base text-foreground animate-pulse", children: getLoadingMessage(message.id) }) })] }))] }), isComplete && sessionId && (_jsx("div", { className: "grid ml-7 transition-[grid-template-rows] duration-200 ease-out", style: { gridTemplateRows: isHovered ? '1fr' : '0fr' }, children: _jsx("div", { className: "overflow-hidden", children: _jsxs("div", { className: "flex gap-2 mt-2", children: [showBranchButton && (_jsxs("button", { type: "button", onClick: handleBranchClick, className: "flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors", children: [_jsx(GitBranch, { className: "h-3 w-3" }), "Branch"] })), _jsx("button", { type: "button", onClick: handleCopy, className: "flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors", children: copied ? (_jsxs(_Fragment, { children: [_jsx(Check, { className: "h-3 w-3 text-green-500" }), "Copied"] })) : (_jsxs(_Fragment, { children: [_jsx(Copy, { className: "h-3 w-3" }), "Copy"] })) })] }) }) })), showBranchModal && sessionId && (_jsx(BranchModal, { isOpen: showBranchModal, onClose: () => setShowBranchModal(false), sessionId: sessionId, message: message, onBranchCreated: onBranchCreated }))] }));
|
|
149
|
-
}, (prevProps, nextProps) => {
|
|
150
|
-
const prevParts = prevProps.message.parts || [];
|
|
151
|
-
const nextParts = nextProps.message.parts || [];
|
|
152
|
-
if (prevParts.length !== nextParts.length) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
for (let i = 0; i < prevParts.length; i++) {
|
|
156
|
-
const prevPart = prevParts[i];
|
|
157
|
-
const nextPart = nextParts[i];
|
|
158
|
-
if (prevPart.id !== nextPart.id ||
|
|
159
|
-
prevPart.content !== nextPart.content ||
|
|
160
|
-
prevPart.contentJson !== nextPart.contentJson ||
|
|
161
|
-
prevPart.ephemeral !== nextPart.ephemeral ||
|
|
162
|
-
prevPart.completedAt !== nextPart.completedAt) {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
return (prevProps.message.id === nextProps.message.id &&
|
|
167
|
-
prevProps.message.status === nextProps.message.status &&
|
|
168
|
-
prevProps.message.completedAt === nextProps.message.completedAt &&
|
|
169
|
-
prevProps.showHeader === nextProps.showHeader &&
|
|
170
|
-
prevProps.hasNextAssistantMessage === nextProps.hasNextAssistantMessage &&
|
|
171
|
-
prevProps.isLastMessage === nextProps.isLastMessage &&
|
|
172
|
-
prevProps.sessionId === nextProps.sessionId &&
|
|
173
|
-
prevProps.compact === nextProps.compact &&
|
|
174
|
-
prevProps.onNavigateToSession === nextProps.onNavigateToSession);
|
|
175
|
-
});
|
|
176
|
-
//# sourceMappingURL=AssistantMessageGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantMessageGroup.js","sourceRoot":"","sources":["../../../src/components/messages/AssistantMessageGroup.tsx"],"names":[],"mappings":"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"}
|