@ottocode/web-sdk 0.1.226 → 0.1.228
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 +25158 -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 +4821 -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 +25928 -7
- package/dist/index.js.map +185 -1
- package/dist/lib/api-client/approval.d.ts.map +1 -1
- package/dist/lib/api-client/utils.d.ts.map +1 -1
- package/dist/lib/index.js +1016 -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,108 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { GitCommit, CheckSquare, AlertTriangle } from 'lucide-react';
|
|
3
|
-
import { Button } from '../ui/Button';
|
|
4
|
-
import { GitFileItem } from './GitFileItem';
|
|
5
|
-
import { useGitStore } from '../../stores/gitStore';
|
|
6
|
-
import { useStageFiles, useUnstageFiles } from '../../hooks/useGit';
|
|
7
|
-
import { useFocusStore } from '../../stores/focusStore';
|
|
8
|
-
import { useEffect, useRef, useMemo } from 'react';
|
|
9
|
-
export function GitFileList({ status }) {
|
|
10
|
-
const { openCommitModal, openDiff } = useGitStore();
|
|
11
|
-
const stageFiles = useStageFiles();
|
|
12
|
-
const unstageFiles = useUnstageFiles();
|
|
13
|
-
const { currentFocus, gitFileIndex } = useFocusStore();
|
|
14
|
-
const itemRefs = useRef(new Map());
|
|
15
|
-
const hasConflicts = (status.conflicted?.length ?? 0) > 0;
|
|
16
|
-
const hasStaged = status.staged.length > 0;
|
|
17
|
-
const hasUnstaged = status.unstaged.length > 0 || status.untracked.length > 0;
|
|
18
|
-
const unstagedFiles = [...status.unstaged, ...status.untracked];
|
|
19
|
-
const hasUnstagedFiles = unstagedFiles.length > 0;
|
|
20
|
-
const _allFiles = useMemo(() => {
|
|
21
|
-
return [
|
|
22
|
-
...(status.conflicted ?? []),
|
|
23
|
-
...status.staged,
|
|
24
|
-
...status.unstaged,
|
|
25
|
-
...status.untracked,
|
|
26
|
-
];
|
|
27
|
-
}, [status]);
|
|
28
|
-
const unstagedPaths = new Set(status.unstaged.map((f) => f.path));
|
|
29
|
-
const handleStageAll = () => {
|
|
30
|
-
const filesToStage = unstagedFiles.map((f) => f.path);
|
|
31
|
-
if (filesToStage.length > 0) {
|
|
32
|
-
stageFiles.mutate(filesToStage);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const _handleUnstageAll = () => {
|
|
36
|
-
const filesToUnstage = status.staged.map((f) => f.path);
|
|
37
|
-
if (filesToUnstage.length > 0) {
|
|
38
|
-
unstageFiles.mutate(filesToUnstage);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
const conflictedLength = status.conflicted?.length ?? 0;
|
|
42
|
-
useEffect(() => {
|
|
43
|
-
if (currentFocus === 'git' && gitFileIndex >= 0) {
|
|
44
|
-
const element = itemRefs.current.get(gitFileIndex);
|
|
45
|
-
element?.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
|
|
46
|
-
const allFiles = [
|
|
47
|
-
...(status.conflicted ?? []),
|
|
48
|
-
...status.staged,
|
|
49
|
-
...status.unstaged,
|
|
50
|
-
...status.untracked,
|
|
51
|
-
];
|
|
52
|
-
const focusedFile = allFiles[gitFileIndex];
|
|
53
|
-
if (focusedFile) {
|
|
54
|
-
const isStaged = status.staged.includes(focusedFile);
|
|
55
|
-
openDiff(focusedFile.path, isStaged);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}, [
|
|
59
|
-
currentFocus,
|
|
60
|
-
gitFileIndex,
|
|
61
|
-
status.conflicted,
|
|
62
|
-
status.staged,
|
|
63
|
-
status.unstaged,
|
|
64
|
-
status.untracked,
|
|
65
|
-
openDiff,
|
|
66
|
-
]);
|
|
67
|
-
return (_jsxs("div", { className: "flex flex-col", children: [hasConflicts && (_jsxs("div", { className: "border-b border-border", children: [_jsx("div", { className: "px-3 py-2 bg-red-500/10 flex items-center justify-between", children: _jsxs("span", { className: "text-xs font-semibold text-red-500 uppercase flex items-center gap-1.5", children: [_jsx(AlertTriangle, { className: "w-3.5 h-3.5" }), "Conflicts (", conflictedLength, ")"] }) }), _jsx("div", { className: "divide-y divide-border", children: status.conflicted?.map((file, index) => {
|
|
68
|
-
const globalIndex = index;
|
|
69
|
-
const isFocused = currentFocus === 'git' && gitFileIndex === globalIndex;
|
|
70
|
-
return (_jsx("div", { ref: (el) => {
|
|
71
|
-
if (el)
|
|
72
|
-
itemRefs.current.set(globalIndex, el);
|
|
73
|
-
else
|
|
74
|
-
itemRefs.current.delete(globalIndex);
|
|
75
|
-
}, className: isFocused ? 'ring-1 ring-inset ring-primary/40' : '', children: _jsx(GitFileItem, { file: file, staged: false }) }, file.path));
|
|
76
|
-
}) })] })), hasStaged && (_jsxs("div", { className: "border-b border-border", children: [_jsxs("div", { className: "px-3 py-2 bg-muted/50 flex items-center justify-between", children: [_jsxs("span", { className: "text-xs font-semibold text-foreground uppercase", children: ["Staged Changes (", status.staged.length, ")"] }), _jsxs("div", { className: "flex items-center gap-1", children: [status.staged.length > 0 && !hasConflicts && (_jsxs(Button, { variant: "primary", size: "sm", onClick: openCommitModal, className: "h-6 text-xs", children: [_jsx(GitCommit, { className: "w-3 h-3 mr-1" }), "Commit"] })), status.staged.length > 0 && hasConflicts && (_jsx("span", { className: "text-xs text-muted-foreground", children: "Resolve conflicts first" }))] })] }), _jsx("div", { className: "divide-y divide-border", children: status.staged.map((file, index) => {
|
|
77
|
-
const globalIndex = conflictedLength + index;
|
|
78
|
-
const isFocused = currentFocus === 'git' && gitFileIndex === globalIndex;
|
|
79
|
-
return (_jsx("div", { ref: (el) => {
|
|
80
|
-
if (el)
|
|
81
|
-
itemRefs.current.set(globalIndex, el);
|
|
82
|
-
else
|
|
83
|
-
itemRefs.current.delete(globalIndex);
|
|
84
|
-
}, className: isFocused ? 'ring-1 ring-inset ring-primary/40' : '', children: _jsx(GitFileItem, { file: file, staged: true, showModifiedIndicator: unstagedPaths.has(file.path) }) }, file.path));
|
|
85
|
-
}) })] })), hasUnstaged && (_jsxs("div", { children: [_jsxs("div", { className: "px-3 py-2 bg-muted/50 flex items-center justify-between", children: [_jsxs("span", { className: "text-xs font-semibold text-foreground uppercase", children: ["Changes (", status.unstaged.length + status.untracked.length, ")"] }), hasUnstagedFiles && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleStageAll, title: "Stage all changes", className: "h-6 text-xs", children: [_jsx(CheckSquare, { className: "w-3 h-3 mr-1" }), "Stage All"] }))] }), _jsxs("div", { className: "divide-y divide-border", children: [status.unstaged.map((file, index) => {
|
|
86
|
-
const globalIndex = conflictedLength + status.staged.length + index;
|
|
87
|
-
const isFocused = currentFocus === 'git' && gitFileIndex === globalIndex;
|
|
88
|
-
return (_jsx("div", { ref: (el) => {
|
|
89
|
-
if (el)
|
|
90
|
-
itemRefs.current.set(globalIndex, el);
|
|
91
|
-
else
|
|
92
|
-
itemRefs.current.delete(globalIndex);
|
|
93
|
-
}, className: isFocused ? 'ring-1 ring-inset ring-primary/40' : '', children: _jsx(GitFileItem, { file: file, staged: false }) }, file.path));
|
|
94
|
-
}), status.untracked.map((file, index) => {
|
|
95
|
-
const globalIndex = conflictedLength +
|
|
96
|
-
status.staged.length +
|
|
97
|
-
status.unstaged.length +
|
|
98
|
-
index;
|
|
99
|
-
const isFocused = currentFocus === 'git' && gitFileIndex === globalIndex;
|
|
100
|
-
return (_jsx("div", { ref: (el) => {
|
|
101
|
-
if (el)
|
|
102
|
-
itemRefs.current.set(globalIndex, el);
|
|
103
|
-
else
|
|
104
|
-
itemRefs.current.delete(globalIndex);
|
|
105
|
-
}, className: isFocused ? 'ring-1 ring-inset ring-primary/40' : '', children: _jsx(GitFileItem, { file: file, staged: false }) }, file.path));
|
|
106
|
-
})] })] })), !hasConflicts && !hasStaged && !hasUnstaged && (_jsx("div", { className: "p-4 text-sm text-muted-foreground text-center", children: "No changes" }))] }));
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=GitFileList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitFileList.js","sourceRoot":"","sources":["../../../src/components/git/GitFileList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useCallback, useEffect, useState } from 'react';
|
|
3
|
-
import { FolderGit2, ChevronRight, ChevronDown, Download, GitBranch, Globe, Plus, RefreshCw, Sparkles, Trash2, Upload, X, } from 'lucide-react';
|
|
4
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
5
|
-
import { useGitStore } from '../../stores/gitStore';
|
|
6
|
-
import { usePanelWidthStore } from '../../stores/panelWidthStore';
|
|
7
|
-
import { useGitStatus, usePullChanges, usePushCommits, useGitInit, useGitRemotes, useAddRemote, useRemoveRemote, } from '../../hooks/useGit';
|
|
8
|
-
import { Button } from '../ui/Button';
|
|
9
|
-
import { GitFileList } from './GitFileList';
|
|
10
|
-
import { ResizeHandle } from '../ui/ResizeHandle';
|
|
11
|
-
const PANEL_KEY = 'git';
|
|
12
|
-
const DEFAULT_WIDTH = 320;
|
|
13
|
-
const MIN_WIDTH = 320;
|
|
14
|
-
const MAX_WIDTH = 600;
|
|
15
|
-
export const GitSidebar = memo(function GitSidebar({ onFixWithAI, }) {
|
|
16
|
-
const isExpanded = useGitStore((state) => state.isExpanded);
|
|
17
|
-
const collapseSidebar = useGitStore((state) => state.collapseSidebar);
|
|
18
|
-
const panelWidth = usePanelWidthStore((s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH);
|
|
19
|
-
const { data: status, isLoading, error, refetch } = useGitStatus();
|
|
20
|
-
const { data: remotes } = useGitRemotes();
|
|
21
|
-
const queryClient = useQueryClient();
|
|
22
|
-
const pushMutation = usePushCommits();
|
|
23
|
-
const pullMutation = usePullChanges();
|
|
24
|
-
const initMutation = useGitInit();
|
|
25
|
-
const addRemoteMutation = useAddRemote();
|
|
26
|
-
const removeRemoteMutation = useRemoveRemote();
|
|
27
|
-
const [errors, setErrors] = useState([]);
|
|
28
|
-
const [showRemotes, setShowRemotes] = useState(false);
|
|
29
|
-
const [showAddRemote, setShowAddRemote] = useState(false);
|
|
30
|
-
const [remoteName, setRemoteName] = useState('origin');
|
|
31
|
-
const [remoteUrl, setRemoteUrl] = useState('');
|
|
32
|
-
const [confirmRemoveRemote, setConfirmRemoveRemote] = useState(null);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
if (isExpanded) {
|
|
35
|
-
queryClient.invalidateQueries({ queryKey: ['git', 'status'] });
|
|
36
|
-
}
|
|
37
|
-
}, [isExpanded, queryClient]);
|
|
38
|
-
const handleRefresh = () => {
|
|
39
|
-
refetch();
|
|
40
|
-
};
|
|
41
|
-
const addError = useCallback((message, context) => {
|
|
42
|
-
const id = `${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
|
|
43
|
-
setErrors((prev) => [...prev, { id, message, context }]);
|
|
44
|
-
}, []);
|
|
45
|
-
const dismissError = useCallback((id) => {
|
|
46
|
-
setErrors((prev) => prev.filter((e) => e.id !== id));
|
|
47
|
-
}, []);
|
|
48
|
-
const handlePush = async () => {
|
|
49
|
-
try {
|
|
50
|
-
await pushMutation.mutateAsync();
|
|
51
|
-
}
|
|
52
|
-
catch (err) {
|
|
53
|
-
addError(err instanceof Error ? err.message : 'Failed to push', 'git push');
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
const handlePull = async () => {
|
|
57
|
-
try {
|
|
58
|
-
await pullMutation.mutateAsync();
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
addError(err instanceof Error ? err.message : 'Failed to pull', 'git pull');
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
const handleAddRemote = async () => {
|
|
65
|
-
if (!remoteName.trim() || !remoteUrl.trim())
|
|
66
|
-
return;
|
|
67
|
-
try {
|
|
68
|
-
await addRemoteMutation.mutateAsync({
|
|
69
|
-
name: remoteName.trim(),
|
|
70
|
-
url: remoteUrl.trim(),
|
|
71
|
-
});
|
|
72
|
-
setRemoteName('origin');
|
|
73
|
-
setRemoteUrl('');
|
|
74
|
-
setShowAddRemote(false);
|
|
75
|
-
}
|
|
76
|
-
catch (err) {
|
|
77
|
-
addError(err instanceof Error ? err.message : 'Failed to add remote', 'git remote add');
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const handleRemoveRemote = async (name) => {
|
|
81
|
-
if (confirmRemoveRemote !== name) {
|
|
82
|
-
setConfirmRemoveRemote(name);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
setConfirmRemoveRemote(null);
|
|
86
|
-
try {
|
|
87
|
-
await removeRemoteMutation.mutateAsync(name);
|
|
88
|
-
}
|
|
89
|
-
catch (err) {
|
|
90
|
-
addError(err instanceof Error ? err.message : 'Failed to remove remote', 'git remote remove');
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
const handleFixWithAI = useCallback((gitError) => {
|
|
94
|
-
const prompt = gitError.context
|
|
95
|
-
? `I got a git error during ${gitError.context}:\n\n${gitError.message}\n\nPlease help me fix this.`
|
|
96
|
-
: `I got a git error:\n\n${gitError.message}\n\nPlease help me fix this.`;
|
|
97
|
-
dismissError(gitError.id);
|
|
98
|
-
onFixWithAI?.(prompt);
|
|
99
|
-
}, [onFixWithAI, dismissError]);
|
|
100
|
-
if (!isExpanded)
|
|
101
|
-
return null;
|
|
102
|
-
const allFiles = [
|
|
103
|
-
...(status?.conflicted || []),
|
|
104
|
-
...(status?.staged || []),
|
|
105
|
-
...(status?.unstaged || []),
|
|
106
|
-
...(status?.untracked || []),
|
|
107
|
-
];
|
|
108
|
-
const totalChanges = allFiles.length;
|
|
109
|
-
const hasRemotes = status?.remotes && status.remotes.length > 0;
|
|
110
|
-
const hasUpstream = status?.hasUpstream ?? false;
|
|
111
|
-
const canPush = status && hasRemotes && (status.ahead > 0 || !hasUpstream);
|
|
112
|
-
const _canPull = !!status;
|
|
113
|
-
const hasPendingPulls = status && status.behind > 0;
|
|
114
|
-
const isActing = pushMutation.isPending || pullMutation.isPending;
|
|
115
|
-
const isNotGitRepo = error instanceof Error &&
|
|
116
|
-
error.message.toLowerCase().includes('not a git repository');
|
|
117
|
-
const pushTitle = !hasRemotes
|
|
118
|
-
? 'No remote configured'
|
|
119
|
-
: !hasUpstream
|
|
120
|
-
? 'Publish branch to remote'
|
|
121
|
-
: canPush
|
|
122
|
-
? `Push ${status?.ahead} commit(s) to remote`
|
|
123
|
-
: 'Nothing to push';
|
|
124
|
-
return (_jsxs("div", { className: "border-l border-border bg-background flex h-full relative", style: { width: panelWidth }, children: [_jsx(ResizeHandle, { panelKey: PANEL_KEY, side: "right", minWidth: MIN_WIDTH, maxWidth: MAX_WIDTH, defaultWidth: DEFAULT_WIDTH }), _jsxs("div", { className: "flex-1 flex flex-col h-full min-w-0 w-full", children: [_jsxs("div", { className: "h-14 border-b border-border px-3 flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 flex-1", children: [_jsx(GitBranch, { className: "w-4 h-4 text-muted-foreground" }), _jsxs("span", { className: "font-medium text-foreground", children: ["Git Changes", totalChanges > 0 && (_jsxs("span", { className: "ml-2 text-xs text-muted-foreground", children: ["(", totalChanges, ")"] }))] })] }), _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: isLoading ? (_jsx("div", { className: "p-4 text-sm text-muted-foreground", children: "Loading git status..." })) : isNotGitRepo ? (_jsxs("div", { className: "p-4 flex flex-col items-center justify-center gap-3 text-center", children: [_jsx(FolderGit2, { className: "w-10 h-10 text-muted-foreground" }), _jsx("div", { className: "text-sm text-muted-foreground", children: "No git repository found in this directory." }), _jsxs(Button, { variant: "secondary", size: "sm", onClick: () => initMutation.mutate(), disabled: initMutation.isPending, className: "gap-1.5", children: [_jsx(GitBranch, { className: `w-3.5 h-3.5 ${initMutation.isPending ? 'animate-spin' : ''}` }), initMutation.isPending
|
|
125
|
-
? 'Initializing...'
|
|
126
|
-
: 'Initialize Repository'] }), initMutation.isError && (_jsx("span", { className: "text-xs text-orange-500", children: initMutation.error instanceof Error
|
|
127
|
-
? initMutation.error.message
|
|
128
|
-
: 'Failed to initialize' }))] })) : error ? (_jsx("div", { className: "p-3 text-sm text-muted-foreground", children: _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-orange-500", children: error instanceof Error
|
|
129
|
-
? error.message
|
|
130
|
-
: 'Failed to load git status' }), _jsx(Button, { variant: "secondary", size: "sm", onClick: handleRefresh, children: "Retry" })] }) })) : !status || totalChanges === 0 ? (_jsx("div", { className: "p-3 text-sm text-muted-foreground", children: "No changes detected" })) : (_jsx(GitFileList, { status: status })) }), status && !isNotGitRepo && !error && (_jsxs("div", { className: "border-t border-border", children: [_jsxs("button", { type: "button", onClick: () => setShowRemotes(!showRemotes), className: "w-full px-3 py-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors", children: [showRemotes ? (_jsx(ChevronDown, { className: "w-3 h-3" })) : (_jsx(ChevronRight, { className: "w-3 h-3" })), _jsx(Globe, { className: "w-3 h-3" }), _jsx("span", { children: "Remotes" }), status.remotes && (_jsx("span", { className: "ml-auto text-[10px] opacity-60", children: status.remotes.length }))] }), showRemotes && (_jsxs("div", { className: "px-3 pb-2 space-y-1", children: [remotes && remotes.length > 0 ? (remotes
|
|
131
|
-
.filter((r) => r.type === 'fetch')
|
|
132
|
-
.map((remote) => (_jsxs("div", { className: "flex items-center gap-2 text-xs group", children: [_jsx("span", { className: "font-medium text-foreground", children: remote.name }), _jsx("span", { className: "truncate text-muted-foreground flex-1 min-w-0", children: remote.url }), _jsx("button", { type: "button", onClick: () => {
|
|
133
|
-
if (confirmRemoveRemote === remote.name) {
|
|
134
|
-
handleRemoveRemote(remote.name);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
setConfirmRemoveRemote(remote.name);
|
|
138
|
-
}
|
|
139
|
-
}, onBlur: () => setConfirmRemoveRemote(null), disabled: removeRemoteMutation.isPending, className: `${confirmRemoveRemote === remote.name ? 'opacity-100 text-red-500' : 'opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500'} transition-all p-0.5`, title: confirmRemoveRemote === remote.name
|
|
140
|
-
? `Click again to confirm removing ${remote.name}`
|
|
141
|
-
: `Remove ${remote.name}`, children: confirmRemoveRemote === remote.name ? (_jsx("span", { className: "text-[10px] font-medium", children: "Remove?" })) : (_jsx(Trash2, { className: "w-3 h-3" })) })] }, remote.name)))) : (_jsx("div", { className: "text-xs text-muted-foreground py-1", children: "No remotes configured" })), showAddRemote ? (_jsxs("div", { className: "space-y-1.5 pt-1", children: [_jsx("input", { type: "text", value: remoteName, onChange: (e) => setRemoteName(e.target.value), placeholder: "Name (e.g. origin)", className: "w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary" }), _jsx("input", { type: "text", value: remoteUrl, onChange: (e) => setRemoteUrl(e.target.value), placeholder: "URL (e.g. https://github.com/...)", className: "w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary", onKeyDown: (e) => {
|
|
142
|
-
if (e.key === 'Enter')
|
|
143
|
-
handleAddRemote();
|
|
144
|
-
if (e.key === 'Escape')
|
|
145
|
-
setShowAddRemote(false);
|
|
146
|
-
} }), _jsxs("div", { className: "flex gap-1", children: [_jsx(Button, { variant: "secondary", size: "sm", onClick: handleAddRemote, disabled: addRemoteMutation.isPending ||
|
|
147
|
-
!remoteName.trim() ||
|
|
148
|
-
!remoteUrl.trim(), className: "flex-1 h-6 text-[10px]", children: addRemoteMutation.isPending ? 'Adding...' : 'Add' }), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => setShowAddRemote(false), className: "h-6 text-[10px]", children: "Cancel" })] })] })) : (_jsxs("button", { type: "button", onClick: () => setShowAddRemote(true), className: "flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors pt-1", children: [_jsx(Plus, { className: "w-3 h-3" }), _jsx("span", { children: "Add remote" })] }))] }))] })), errors.length > 0 && (_jsx("div", { className: "border-t border-border", children: errors.map((gitError) => (_jsxs("div", { className: "px-3 py-2 text-xs border-b border-border last:border-b-0 bg-orange-50 dark:bg-orange-950/20 flex items-start gap-2", children: [_jsx("span", { className: "text-orange-500 flex-1 min-w-0 break-words", children: gitError.message }), _jsxs("div", { className: "flex items-center gap-1 flex-shrink-0", children: [onFixWithAI && (_jsxs("button", { type: "button", onClick: () => handleFixWithAI(gitError), className: "flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-primary/10 text-primary hover:bg-primary/20 transition-colors", title: "Fix with AI", children: [_jsx(Sparkles, { className: "w-3 h-3" }), "Fix"] })), _jsx("button", { type: "button", onClick: () => dismissError(gitError.id), className: "text-muted-foreground hover:text-foreground transition-colors p-0.5", title: "Dismiss", children: _jsx(X, { className: "w-3 h-3" }) })] })] }, gitError.id))) })), _jsxs("div", { className: "h-12 border-t border-border flex items-center gap-1 px-2", children: [_jsxs(Button, { variant: "secondary", size: "sm", onClick: handlePull, disabled: isActing || !hasRemotes || !hasUpstream, title: !hasRemotes
|
|
149
|
-
? 'No remote configured'
|
|
150
|
-
: !hasUpstream
|
|
151
|
-
? 'Branch not published yet'
|
|
152
|
-
: hasPendingPulls
|
|
153
|
-
? `Pull ${status?.behind} commit(s) from remote`
|
|
154
|
-
: 'Pull from remote', className: "flex-1 h-8 text-xs gap-1.5", children: [_jsx(Download, { className: `w-3.5 h-3.5 ${pullMutation.isPending ? 'animate-pulse' : ''}` }), "Pull", hasPendingPulls && (_jsxs("span", { className: "text-orange-500", children: ["\u2193", status?.behind] }))] }), _jsxs(Button, { variant: "secondary", size: "sm", onClick: handlePush, disabled: !canPush || isActing, title: pushTitle, className: "flex-1 h-8 text-xs gap-1.5", children: [_jsx(Upload, { className: `w-3.5 h-3.5 ${pushMutation.isPending ? 'animate-pulse' : ''}` }), !hasUpstream && hasRemotes ? 'Publish' : 'Push', hasUpstream && status && status.ahead > 0 && (_jsxs("span", { className: "text-green-500", children: ["\u2191", status.ahead] }))] })] }), _jsxs("div", { className: "h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [_jsx(GitBranch, { className: "w-3 h-3 flex-shrink-0" }), status?.branch && (_jsx("span", { className: "truncate", children: status.branch })), status && !hasUpstream && hasRemotes && (_jsx("span", { className: "text-[10px] text-orange-500 flex-shrink-0", children: "unpublished" }))] }), _jsx(Button, { variant: "ghost", size: "icon", onClick: handleRefresh, title: "Refresh git status", className: "h-6 w-6 flex-shrink-0", disabled: isLoading, children: _jsx(RefreshCw, { className: `w-3 h-3 ${isLoading ? 'animate-spin' : ''}` }) })] })] })] }));
|
|
155
|
-
});
|
|
156
|
-
//# sourceMappingURL=GitSidebar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitSidebar.js","sourceRoot":"","sources":["../../../src/components/git/GitSidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from 'react';
|
|
3
|
-
import { GitBranch } from 'lucide-react';
|
|
4
|
-
import { useGitStore } from '../../stores/gitStore';
|
|
5
|
-
import { useGitStatus } from '../../hooks/useGit';
|
|
6
|
-
export const GitSidebarToggle = memo(function GitSidebarToggle() {
|
|
7
|
-
// Use selectors to only subscribe to needed state
|
|
8
|
-
const isExpanded = useGitStore((state) => state.isExpanded);
|
|
9
|
-
const toggleSidebar = useGitStore((state) => state.toggleSidebar);
|
|
10
|
-
const { data: status } = useGitStatus();
|
|
11
|
-
const totalChanges = (status?.staged?.length ?? 0) +
|
|
12
|
-
(status?.unstaged?.length ?? 0) +
|
|
13
|
-
(status?.untracked?.length ?? 0);
|
|
14
|
-
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
|
|
15
|
-
? 'bg-muted border-primary'
|
|
16
|
-
: 'border-transparent hover:bg-muted/50'}`, title: "Git", children: [_jsx(GitBranch, { className: "w-5 h-5 text-muted-foreground mx-auto" }), totalChanges > 0 && (_jsx("span", { className: "absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold", children: totalChanges > 9 ? '9+' : totalChanges }))] }));
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=GitSidebarToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/git/GitSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,gBAAgB;IAC7D,kDAAkD;IAClD,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,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAExC,MAAM,YAAY,GACjB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QAC7B,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IAElC,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,KAAK,aAEX,KAAC,SAAS,IAAC,SAAS,EAAC,uCAAuC,GAAG,EAC9D,YAAY,GAAG,CAAC,IAAI,CACpB,eAAM,SAAS,EAAC,uIAAuI,YACrJ,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GACjC,CACP,IACO,CACT,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useState, useCallback, useRef, useEffect } from 'react';
|
|
3
|
-
import { Globe, Laptop, Loader2, FolderDot, Terminal } from 'lucide-react';
|
|
4
|
-
import { Modal } from '../ui/Modal';
|
|
5
|
-
import { Button } from '../ui/Button';
|
|
6
|
-
import { Input } from '../ui/Input';
|
|
7
|
-
import { useAddMCPServer } from '../../hooks/useMCP';
|
|
8
|
-
function parseCommandString(input) {
|
|
9
|
-
const parts = input.trim().split(/\s+/);
|
|
10
|
-
return { command: parts[0] ?? '', args: parts.slice(1) };
|
|
11
|
-
}
|
|
12
|
-
function parseEnv(envStr) {
|
|
13
|
-
const trimmed = envStr.trim();
|
|
14
|
-
if (!trimmed)
|
|
15
|
-
return undefined;
|
|
16
|
-
const env = {};
|
|
17
|
-
for (const line of trimmed.split('\n')) {
|
|
18
|
-
const eq = line.indexOf('=');
|
|
19
|
-
if (eq > 0) {
|
|
20
|
-
env[line.slice(0, eq).trim()] = line.slice(eq + 1).trim();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return Object.keys(env).length > 0 ? env : undefined;
|
|
24
|
-
}
|
|
25
|
-
function parseHeaders(headerStr) {
|
|
26
|
-
const trimmed = headerStr.trim();
|
|
27
|
-
if (!trimmed)
|
|
28
|
-
return undefined;
|
|
29
|
-
const headers = {};
|
|
30
|
-
for (const line of trimmed.split('\n')) {
|
|
31
|
-
const colon = line.indexOf(':');
|
|
32
|
-
if (colon > 0) {
|
|
33
|
-
headers[line.slice(0, colon).trim()] = line.slice(colon + 1).trim();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return Object.keys(headers).length > 0 ? headers : undefined;
|
|
37
|
-
}
|
|
38
|
-
export const AddMCPServerModal = memo(function AddMCPServerModal({ isOpen, onClose, }) {
|
|
39
|
-
const [serverMode, setServerMode] = useState('local');
|
|
40
|
-
const [name, setName] = useState('');
|
|
41
|
-
const [commandStr, setCommandStr] = useState('');
|
|
42
|
-
const [url, setUrl] = useState('');
|
|
43
|
-
const [transport, setTransport] = useState('http');
|
|
44
|
-
const [headersStr, setHeadersStr] = useState('');
|
|
45
|
-
const [envStr, setEnvStr] = useState('');
|
|
46
|
-
const [scope, setScope] = useState('global');
|
|
47
|
-
const [error, setError] = useState(null);
|
|
48
|
-
const addServer = useAddMCPServer();
|
|
49
|
-
const reset = useCallback(() => {
|
|
50
|
-
setName('');
|
|
51
|
-
setCommandStr('');
|
|
52
|
-
setUrl('');
|
|
53
|
-
setTransport('http');
|
|
54
|
-
setHeadersStr('');
|
|
55
|
-
setEnvStr('');
|
|
56
|
-
setScope('global');
|
|
57
|
-
setError(null);
|
|
58
|
-
setServerMode('local');
|
|
59
|
-
}, []);
|
|
60
|
-
const handleClose = useCallback(() => {
|
|
61
|
-
reset();
|
|
62
|
-
onClose();
|
|
63
|
-
}, [reset, onClose]);
|
|
64
|
-
const handleSubmit = useCallback(async () => {
|
|
65
|
-
setError(null);
|
|
66
|
-
const trimmedName = name.trim();
|
|
67
|
-
if (!trimmedName) {
|
|
68
|
-
setError('Server name is required');
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
try {
|
|
72
|
-
if (serverMode === 'local') {
|
|
73
|
-
const trimmedCmd = commandStr.trim();
|
|
74
|
-
if (!trimmedCmd) {
|
|
75
|
-
setError('Command is required');
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
if (/^https?:\/\//i.test(trimmedCmd)) {
|
|
79
|
-
setError('Local commands cannot be URLs. Switch to Remote (HTTP) for remote servers.');
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
const { command, args } = parseCommandString(trimmedCmd);
|
|
83
|
-
await addServer.mutateAsync({
|
|
84
|
-
name: trimmedName,
|
|
85
|
-
transport: 'stdio',
|
|
86
|
-
command,
|
|
87
|
-
args,
|
|
88
|
-
env: parseEnv(envStr),
|
|
89
|
-
scope,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
const trimmedUrl = url.trim();
|
|
94
|
-
if (!trimmedUrl) {
|
|
95
|
-
setError('URL is required');
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
await addServer.mutateAsync({
|
|
99
|
-
name: trimmedName,
|
|
100
|
-
transport,
|
|
101
|
-
url: trimmedUrl,
|
|
102
|
-
headers: parseHeaders(headersStr),
|
|
103
|
-
scope,
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
handleClose();
|
|
107
|
-
}
|
|
108
|
-
catch (err) {
|
|
109
|
-
setError(err instanceof Error ? err.message : 'Failed to add server');
|
|
110
|
-
}
|
|
111
|
-
}, [
|
|
112
|
-
name,
|
|
113
|
-
serverMode,
|
|
114
|
-
commandStr,
|
|
115
|
-
envStr,
|
|
116
|
-
url,
|
|
117
|
-
transport,
|
|
118
|
-
headersStr,
|
|
119
|
-
scope,
|
|
120
|
-
addServer,
|
|
121
|
-
handleClose,
|
|
122
|
-
]);
|
|
123
|
-
const contentRef = useRef(null);
|
|
124
|
-
const [contentHeight, setContentHeight] = useState(undefined);
|
|
125
|
-
useEffect(() => {
|
|
126
|
-
const el = contentRef.current;
|
|
127
|
-
if (!el)
|
|
128
|
-
return;
|
|
129
|
-
const observer = new ResizeObserver(() => {
|
|
130
|
-
setContentHeight(el.scrollHeight);
|
|
131
|
-
});
|
|
132
|
-
observer.observe(el);
|
|
133
|
-
return () => observer.disconnect();
|
|
134
|
-
}, []);
|
|
135
|
-
return (_jsx(Modal, { isOpen: isOpen, onClose: handleClose, title: "Add MCP Server", children: _jsx("div", { className: "overflow-hidden transition-[height] duration-200 ease-in-out", style: { height: contentHeight !== undefined ? contentHeight : 'auto' }, children: _jsxs("div", { ref: contentRef, className: "space-y-4", children: [_jsxs("div", { className: "relative flex w-full rounded-lg bg-muted p-1", children: [_jsx("div", { className: "absolute top-1 bottom-1 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out", style: {
|
|
136
|
-
left: serverMode === 'local' ? '4px' : '50%',
|
|
137
|
-
right: serverMode === 'remote' ? '4px' : '50%',
|
|
138
|
-
} }), _jsxs("button", { type: "button", onClick: () => setServerMode('local'), className: `relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${serverMode === 'local'
|
|
139
|
-
? 'text-foreground'
|
|
140
|
-
: 'text-muted-foreground/50'}`, children: [_jsx(Terminal, { className: "w-4 h-4" }), "Local (stdio)"] }), _jsxs("button", { type: "button", onClick: () => setServerMode('remote'), className: `relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${serverMode === 'remote'
|
|
141
|
-
? 'text-foreground'
|
|
142
|
-
: 'text-muted-foreground/50'}`, children: [_jsx(Globe, { className: "w-4 h-4" }), "Remote (HTTP)"] })] }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium mb-1", children: "Name" }), _jsx(Input, { value: name, onChange: (e) => setName(e.target.value), placeholder: "e.g. github, linear, helius", autoFocus: true })] }), serverMode === 'local' ? (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium mb-1", children: "Command" }), _jsx(Input, { value: commandStr, onChange: (e) => setCommandStr(e.target.value), placeholder: "e.g. npx -y @modelcontextprotocol/server-github", onKeyDown: (e) => {
|
|
143
|
-
if (e.key === 'Enter')
|
|
144
|
-
handleSubmit();
|
|
145
|
-
} }), _jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: ["Like", ' ', _jsx("code", { className: "bg-muted px-1 rounded", children: "npx -y helius-mcp@latest" })] })] }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium mb-1", children: "Environment Variables" }), _jsx("textarea", { value: envStr, onChange: (e) => setEnvStr(e.target.value), placeholder: 'GITHUB_TOKEN=ghp_xxx\nAPI_KEY=sk-xxx', rows: 2, className: "w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary" }), _jsx("p", { className: "text-xs text-muted-foreground mt-1", children: "One per line: KEY=VALUE" })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium mb-1", children: "URL" }), _jsx(Input, { value: url, onChange: (e) => setUrl(e.target.value), placeholder: "e.g. https://mcp.linear.app/mcp", onKeyDown: (e) => {
|
|
146
|
-
if (e.key === 'Enter')
|
|
147
|
-
handleSubmit();
|
|
148
|
-
} })] }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium mb-1", children: "Transport" }), _jsxs("div", { className: "relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5", children: [_jsx("div", { className: "absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out", style: {
|
|
149
|
-
left: transport === 'http' ? '2px' : '50%',
|
|
150
|
-
right: transport === 'sse' ? '2px' : '50%',
|
|
151
|
-
} }), _jsx("button", { type: "button", onClick: () => setTransport('http'), className: `relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${transport === 'http'
|
|
152
|
-
? 'text-foreground'
|
|
153
|
-
: 'text-muted-foreground/50'}`, children: "HTTP (recommended)" }), _jsx("button", { type: "button", onClick: () => setTransport('sse'), className: `relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${transport === 'sse'
|
|
154
|
-
? 'text-foreground'
|
|
155
|
-
: 'text-muted-foreground/50'}`, children: "SSE (legacy)" })] })] }), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium mb-1", children: "Headers" }), _jsx("textarea", { value: headersStr, onChange: (e) => setHeadersStr(e.target.value), placeholder: 'Authorization: Bearer xxx', rows: 2, className: "w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary" }), _jsx("p", { className: "text-xs text-muted-foreground mt-1", children: "One per line: Header-Name: value" })] }), _jsx("p", { className: "text-xs text-muted-foreground", children: "For OAuth servers (Linear, Notion, etc.), leave headers empty and authenticate after adding." })] })), _jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium mb-1", children: "Scope" }), _jsxs("div", { className: "relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5", children: [_jsx("div", { className: "absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out", style: {
|
|
156
|
-
left: scope === 'global' ? '2px' : '50%',
|
|
157
|
-
right: scope === 'project' ? '2px' : '50%',
|
|
158
|
-
} }), _jsxs("button", { type: "button", onClick: () => setScope('global'), className: `relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${scope === 'global'
|
|
159
|
-
? 'text-foreground'
|
|
160
|
-
: 'text-muted-foreground/50'}`, children: [_jsx(Laptop, { className: "w-3 h-3" }), "All projects"] }), _jsxs("button", { type: "button", onClick: () => setScope('project'), className: `relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${scope === 'project'
|
|
161
|
-
? 'text-foreground'
|
|
162
|
-
: 'text-muted-foreground/50'}`, children: [_jsx(FolderDot, { className: "w-3 h-3" }), "This project only"] })] }), _jsx("p", { className: "text-xs text-muted-foreground mt-1", children: scope === 'global'
|
|
163
|
-
? 'Saved to ~/.config/otto/config.json'
|
|
164
|
-
: 'Saved to .otto/config.json (project-local)' })] }), error && (_jsx("div", { className: "text-sm text-red-400 bg-red-500/10 px-3 py-2 rounded", children: error })), _jsxs("div", { className: "flex justify-end gap-2 pt-2", children: [_jsx(Button, { variant: "ghost", onClick: handleClose, children: "Cancel" }), _jsx(Button, { variant: "primary", onClick: handleSubmit, disabled: addServer.isPending, children: addServer.isPending ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { className: "w-3 h-3 animate-spin mr-1" }), "Adding..."] })) : ('Add Server') })] })] }) }) }));
|
|
165
|
-
});
|
|
166
|
-
//# sourceMappingURL=AddMCPServerModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddMCPServerModal.js","sourceRoot":"","sources":["../../../src/components/mcp/AddMCPServerModal.tsx"],"names":[],"mappings":"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"}
|