@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,75 +0,0 @@
|
|
|
1
|
-
import { COMMANDS } from '../../lib/commands';
|
|
2
|
-
export function createChatInputKeyHandler(options) {
|
|
3
|
-
return (e) => {
|
|
4
|
-
const { showFileMention, showCommandSuggestions, mentionSelectedIndex, commandSelectedIndex, currentFileToSelect, currentCommandToSelect, isPlanMode, vimModeEnabled, vimMode, setMentionSelectedIndex, setCommandSelectedIndex, setShowFileMention, setShowCommandSuggestions, setIsPlanMode, setVimMode, handleFileSelect, handleCommandSelect, handleSend, handleVimNormalMode, onPlanModeToggle, } = options;
|
|
5
|
-
if (showCommandSuggestions) {
|
|
6
|
-
const count = COMMANDS.length;
|
|
7
|
-
if (e.key === 'ArrowDown' || (e.ctrlKey && e.key === 'j')) {
|
|
8
|
-
e.preventDefault();
|
|
9
|
-
setCommandSelectedIndex((commandSelectedIndex + 1) % count);
|
|
10
|
-
}
|
|
11
|
-
else if (e.key === 'ArrowUp' || (e.ctrlKey && e.key === 'k')) {
|
|
12
|
-
e.preventDefault();
|
|
13
|
-
setCommandSelectedIndex((commandSelectedIndex - 1 + count) % count);
|
|
14
|
-
}
|
|
15
|
-
else if (e.key === 'Enter') {
|
|
16
|
-
e.preventDefault();
|
|
17
|
-
if (currentCommandToSelect) {
|
|
18
|
-
handleCommandSelect(currentCommandToSelect);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else if (e.key === 'Escape') {
|
|
22
|
-
e.preventDefault();
|
|
23
|
-
setShowCommandSuggestions(false);
|
|
24
|
-
}
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (showFileMention) {
|
|
28
|
-
if (e.key === 'ArrowDown' || (e.ctrlKey && e.key === 'j')) {
|
|
29
|
-
e.preventDefault();
|
|
30
|
-
setMentionSelectedIndex((mentionSelectedIndex + 1) % 20);
|
|
31
|
-
}
|
|
32
|
-
else if (e.key === 'ArrowUp' || (e.ctrlKey && e.key === 'k')) {
|
|
33
|
-
e.preventDefault();
|
|
34
|
-
setMentionSelectedIndex((mentionSelectedIndex - 1 + 20) % 20);
|
|
35
|
-
}
|
|
36
|
-
else if (e.key === 'Enter') {
|
|
37
|
-
e.preventDefault();
|
|
38
|
-
if (currentFileToSelect) {
|
|
39
|
-
handleFileSelect(currentFileToSelect);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else if (e.key === 'Escape') {
|
|
43
|
-
e.preventDefault();
|
|
44
|
-
setShowFileMention(false);
|
|
45
|
-
if (vimModeEnabled) {
|
|
46
|
-
setVimMode('normal');
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (vimModeEnabled && vimMode === 'normal') {
|
|
52
|
-
const handled = handleVimNormalMode(e);
|
|
53
|
-
if (handled)
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (vimModeEnabled && vimMode === 'insert' && e.key === 'Escape') {
|
|
57
|
-
e.preventDefault();
|
|
58
|
-
setVimMode('normal');
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (e.key === 'Tab') {
|
|
62
|
-
e.preventDefault();
|
|
63
|
-
const newPlanMode = !isPlanMode;
|
|
64
|
-
setIsPlanMode(newPlanMode);
|
|
65
|
-
onPlanModeToggle?.(newPlanMode);
|
|
66
|
-
}
|
|
67
|
-
else if (e.key === 'Enter' &&
|
|
68
|
-
!e.shiftKey &&
|
|
69
|
-
(!vimModeEnabled || vimMode === 'normal')) {
|
|
70
|
-
e.preventDefault();
|
|
71
|
-
handleSend();
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=ChatInputKeyHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInputKeyHandler.js","sourceRoot":"","sources":["../../../src/components/chat/ChatInputKeyHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAyB9C,MAAM,UAAU,yBAAyB,CAAC,OAAmC;IAC5E,OAAO,CAAC,CAAqC,EAAE,EAAE;QAChD,MAAM,EACL,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,OAAO,EACP,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,gBAAgB,GAChB,GAAG,OAAO,CAAC;QAEZ,IAAI,sBAAsB,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3D,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,uBAAuB,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,uBAAuB,CAAC,CAAC,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,sBAAsB,EAAE,CAAC;oBAC5B,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBAC7C,CAAC;YACF,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,OAAO;QACR,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3D,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,uBAAuB,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,uBAAuB,CAAC,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,mBAAmB,EAAE,CAAC;oBACzB,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;YACF,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,cAAc,EAAE,CAAC;oBACpB,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;YACD,OAAO;QACR,CAAC;QAED,IAAI,cAAc,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,OAAO;QACrB,CAAC;QAED,IAAI,cAAc,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClE,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC;YAChC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC3B,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;aAAM,IACN,CAAC,CAAC,GAAG,KAAK,OAAO;YACjB,CAAC,CAAC,CAAC,QAAQ;YACX,CAAC,CAAC,cAAc,IAAI,OAAO,KAAK,QAAQ,CAAC,EACxC,CAAC;YACF,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;QACd,CAAC;IACF,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useMemo } from 'react';
|
|
3
|
-
import { useConfig } from '../../hooks/useConfig';
|
|
4
|
-
import { usePreferences } from '../../hooks/usePreferences';
|
|
5
|
-
import { useShareStatus } from '../../hooks/useShareStatus';
|
|
6
|
-
import { filterCommands, getCommandDescription } from '../../lib/commands';
|
|
7
|
-
export function CommandSuggestionsPopup({ query, selectedIndex, onSelect, onEnterSelect, onClose, sessionId, }) {
|
|
8
|
-
const { preferences } = usePreferences();
|
|
9
|
-
const { data: config } = useConfig();
|
|
10
|
-
const { data: shareStatus } = useShareStatus(sessionId);
|
|
11
|
-
const state = useMemo(() => ({
|
|
12
|
-
vimModeEnabled: preferences.vimMode,
|
|
13
|
-
reasoningEnabled: config?.defaults?.reasoningText ?? true,
|
|
14
|
-
isShared: shareStatus?.shared,
|
|
15
|
-
}), [preferences.vimMode, config?.defaults?.reasoningText, shareStatus?.shared]);
|
|
16
|
-
const results = useMemo(() => filterCommands(query, state), [query, state]);
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
const element = document.getElementById(`command-item-${selectedIndex}`);
|
|
19
|
-
element?.scrollIntoView({ block: 'nearest' });
|
|
20
|
-
}, [selectedIndex]);
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
onEnterSelect(results[selectedIndex]?.id);
|
|
23
|
-
}, [results, selectedIndex, onEnterSelect]);
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
const handleClickOutside = (e) => {
|
|
26
|
-
const target = e.target;
|
|
27
|
-
if (!target.closest('[data-command-popup]')) {
|
|
28
|
-
onClose();
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
32
|
-
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
33
|
-
}, [onClose]);
|
|
34
|
-
if (results.length === 0) {
|
|
35
|
-
return (_jsx("div", { "data-command-popup": true, className: "absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3", children: _jsx("span", { className: "text-muted-foreground text-sm", children: "No commands found" }) }));
|
|
36
|
-
}
|
|
37
|
-
return (_jsx("div", { "data-command-popup": true, className: "absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50", children: results.map((command, index) => {
|
|
38
|
-
const Icon = command.icon;
|
|
39
|
-
return (_jsx("button", { type: "button", id: `command-item-${index}`, onMouseDown: (e) => {
|
|
40
|
-
e.preventDefault();
|
|
41
|
-
onSelect(command.id);
|
|
42
|
-
}, className: `w-full text-left px-3 py-2 hover:bg-accent ${index === selectedIndex ? 'bg-accent' : ''}`, children: _jsxs("div", { className: "flex items-center gap-3 w-full", children: [_jsx(Icon, { className: "w-4 h-4 flex-shrink-0 text-primary" }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-mono text-sm font-medium text-foreground", children: command.label }), _jsx("div", { className: "text-xs text-muted-foreground truncate", children: getCommandDescription(command, state) })] })] }) }, command.id));
|
|
43
|
-
}) }));
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=CommandSuggestionsPopup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CommandSuggestionsPopup.js","sourceRoot":"","sources":["../../../src/components/chat/CommandSuggestionsPopup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef } from 'react';
|
|
3
|
-
import { useConfig, useUpdateDefaults } from '../../hooks/useConfig';
|
|
4
|
-
import { Modal } from '../ui/Modal';
|
|
5
|
-
import { UnifiedModelSelector, } from './UnifiedModelSelector';
|
|
6
|
-
import { UnifiedAgentSelector, } from './UnifiedAgentSelector';
|
|
7
|
-
export function ConfigModal({ isOpen, onClose, initialFocus, chatInputRef, agent, provider, model, modelSupportsReasoning, onAgentChange, onProviderChange, onModelChange, onModelSelectorChange, }) {
|
|
8
|
-
const { data: config, isLoading: configLoading } = useConfig();
|
|
9
|
-
const updateDefaults = useUpdateDefaults();
|
|
10
|
-
const reasoningEnabled = config?.defaults?.reasoningText ?? true;
|
|
11
|
-
const agentSelectorRef = useRef(null);
|
|
12
|
-
const modelSelectorRef = useRef(null);
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (isOpen && initialFocus) {
|
|
15
|
-
setTimeout(() => {
|
|
16
|
-
if (initialFocus === 'agent') {
|
|
17
|
-
agentSelectorRef.current?.openAndFocus();
|
|
18
|
-
}
|
|
19
|
-
else if (initialFocus === 'model') {
|
|
20
|
-
modelSelectorRef.current?.openAndFocus();
|
|
21
|
-
}
|
|
22
|
-
}, 100);
|
|
23
|
-
}
|
|
24
|
-
}, [isOpen, initialFocus]);
|
|
25
|
-
const handleClose = () => {
|
|
26
|
-
onClose();
|
|
27
|
-
// Focus chat input after modal closes
|
|
28
|
-
setTimeout(() => {
|
|
29
|
-
chatInputRef?.current?.focus();
|
|
30
|
-
}, 100);
|
|
31
|
-
};
|
|
32
|
-
const handleModelChange = (selectedProvider, selectedModel) => {
|
|
33
|
-
if (onModelSelectorChange) {
|
|
34
|
-
onModelSelectorChange(selectedProvider, selectedModel);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
onProviderChange(selectedProvider);
|
|
38
|
-
onModelChange(selectedModel);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
return (_jsx(Modal, { isOpen: isOpen, onClose: handleClose, title: "Configuration", closeOnEscape: true, closeOnBackdropClick: true, children: configLoading ? (_jsx("div", { className: "text-center text-muted-foreground py-8", children: "Loading configuration..." })) : config ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("div", { className: "block text-sm font-medium text-foreground mb-2", children: "Agent" }), _jsx(UnifiedAgentSelector, { ref: agentSelectorRef, agent: agent, agents: config.agents, onChange: onAgentChange })] }), _jsxs("div", { children: [_jsx("div", { className: "block text-sm font-medium text-foreground mb-2", children: "Provider / Model" }), _jsx(UnifiedModelSelector, { ref: modelSelectorRef, provider: provider, model: model, onChange: handleModelChange })] }), modelSupportsReasoning && (_jsxs("div", { className: "flex items-center justify-between py-2", children: [_jsxs("div", { children: [_jsx("div", { className: "text-sm font-medium text-foreground", children: "Extended Thinking" }), _jsx("div", { className: "text-xs text-muted-foreground", children: "Enable reasoning for deeper analysis" })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": reasoningEnabled, onClick: () => updateDefaults.mutate({
|
|
42
|
-
reasoningText: !reasoningEnabled,
|
|
43
|
-
scope: 'global',
|
|
44
|
-
}), className: `relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${reasoningEnabled ? 'bg-primary' : 'bg-muted'}`, children: _jsx("span", { className: `inline-block h-4 w-4 transform rounded-full transition-transform ${reasoningEnabled ? 'translate-x-6' : 'translate-x-1'} ${reasoningEnabled ? 'bg-primary-foreground' : 'bg-foreground'}` }) })] }))] })) : null }));
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=ConfigModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigModal.js","sourceRoot":"","sources":["../../../src/components/chat/ConfigModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
import { Settings } from 'lucide-react';
|
|
4
|
-
import { useConfig, useModels } from '../../hooks/useConfig';
|
|
5
|
-
export function ConfigSelector({ agent, provider, model, onAgentChange, onProviderChange, onModelChange, }) {
|
|
6
|
-
const { data: config, isLoading: configLoading } = useConfig();
|
|
7
|
-
const { data: modelsData, isLoading: modelsLoading } = useModels(provider);
|
|
8
|
-
console.log('ConfigSelector rendered', {
|
|
9
|
-
config,
|
|
10
|
-
configLoading,
|
|
11
|
-
agent,
|
|
12
|
-
provider,
|
|
13
|
-
model,
|
|
14
|
-
});
|
|
15
|
-
// Set defaults when config loads
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
if (config && !agent && !provider && !model) {
|
|
18
|
-
onAgentChange(config.defaults.agent);
|
|
19
|
-
onProviderChange(config.defaults.provider);
|
|
20
|
-
onModelChange(config.defaults.model);
|
|
21
|
-
}
|
|
22
|
-
}, [
|
|
23
|
-
config,
|
|
24
|
-
agent,
|
|
25
|
-
provider,
|
|
26
|
-
model,
|
|
27
|
-
onAgentChange,
|
|
28
|
-
onProviderChange,
|
|
29
|
-
onModelChange,
|
|
30
|
-
]);
|
|
31
|
-
// Update model when provider changes
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
if (modelsData && modelsData.models.length > 0) {
|
|
34
|
-
const currentModelExists = modelsData.models.some((m) => m.id === model);
|
|
35
|
-
if (!currentModelExists) {
|
|
36
|
-
onModelChange(modelsData.default || modelsData.models[0].id);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}, [modelsData, model, onModelChange]);
|
|
40
|
-
if (configLoading) {
|
|
41
|
-
return (_jsxs("div", { className: "flex items-center gap-2 px-4 py-2 border-t border-border bg-background/50", children: [_jsx(Settings, { className: "h-4 w-4 text-muted-foreground animate-spin" }), _jsx("span", { className: "text-xs text-muted-foreground", children: "Loading config..." })] }));
|
|
42
|
-
}
|
|
43
|
-
if (!config)
|
|
44
|
-
return null;
|
|
45
|
-
return (_jsx("div", { className: "absolute bottom-24 left-0 right-0 pb-2 px-4 pointer-events-none z-40", children: _jsx("div", { className: "max-w-3xl mx-auto pointer-events-auto", children: _jsxs("div", { className: "flex items-center gap-2 px-4 py-2 border border-border bg-background/95 backdrop-blur-sm rounded-lg", children: [_jsx(Settings, { className: "h-4 w-4 text-muted-foreground" }), _jsx("select", { value: agent, onChange: (e) => onAgentChange(e.target.value), className: "text-xs bg-background border border-border rounded px-2 py-1 outline-none", children: config.agents.map((a) => (_jsx("option", { value: a, children: a }, a))) }), _jsx("select", { value: provider, onChange: (e) => onProviderChange(e.target.value), className: "text-xs bg-background border border-border rounded px-2 py-1 outline-none", children: config.providers.map((p) => (_jsx("option", { value: p, children: p }, p))) }), _jsx("select", { value: model, onChange: (e) => onModelChange(e.target.value), disabled: modelsLoading || !modelsData, className: "text-xs bg-background border border-border rounded px-2 py-1 outline-none disabled:opacity-50", children: modelsData?.models.map((m) => (_jsx("option", { value: m.id, children: m.label }, m.id))) })] }) }) }));
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=ConfigSelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigSelector.js","sourceRoot":"","sources":["../../../src/components/chat/ConfigSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useMemo } from 'react';
|
|
3
|
-
import Fuse from 'fuse.js';
|
|
4
|
-
import { File, FileCode, FileJson, FileText, Image, Braces, FileType, Plus, Pencil, } from 'lucide-react';
|
|
5
|
-
function getFileIcon(filePath) {
|
|
6
|
-
const ext = filePath.split('.').pop()?.toLowerCase();
|
|
7
|
-
switch (ext) {
|
|
8
|
-
case 'ts':
|
|
9
|
-
case 'tsx':
|
|
10
|
-
case 'js':
|
|
11
|
-
case 'jsx':
|
|
12
|
-
case 'mjs':
|
|
13
|
-
case 'cjs':
|
|
14
|
-
case 'py':
|
|
15
|
-
case 'rb':
|
|
16
|
-
case 'go':
|
|
17
|
-
case 'rs':
|
|
18
|
-
case 'java':
|
|
19
|
-
case 'c':
|
|
20
|
-
case 'cpp':
|
|
21
|
-
case 'h':
|
|
22
|
-
case 'hpp':
|
|
23
|
-
return FileCode;
|
|
24
|
-
case 'json':
|
|
25
|
-
case 'yaml':
|
|
26
|
-
case 'yml':
|
|
27
|
-
case 'toml':
|
|
28
|
-
return FileJson;
|
|
29
|
-
case 'md':
|
|
30
|
-
case 'txt':
|
|
31
|
-
case 'log':
|
|
32
|
-
return FileText;
|
|
33
|
-
case 'png':
|
|
34
|
-
case 'jpg':
|
|
35
|
-
case 'jpeg':
|
|
36
|
-
case 'gif':
|
|
37
|
-
case 'svg':
|
|
38
|
-
case 'webp':
|
|
39
|
-
return Image;
|
|
40
|
-
case 'css':
|
|
41
|
-
case 'scss':
|
|
42
|
-
case 'sass':
|
|
43
|
-
case 'less':
|
|
44
|
-
return Braces;
|
|
45
|
-
case 'html':
|
|
46
|
-
case 'xml':
|
|
47
|
-
return FileType;
|
|
48
|
-
default:
|
|
49
|
-
return File;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function getGitStatusInfo(filePath, changedFilesMap) {
|
|
53
|
-
const status = changedFilesMap.get(filePath);
|
|
54
|
-
if (!status) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
const icons = {
|
|
58
|
-
added: { icon: Plus, label: 'Added', className: 'text-green-500' },
|
|
59
|
-
modified: { icon: Pencil, label: 'Modified', className: 'text-yellow-500' },
|
|
60
|
-
untracked: { icon: Plus, label: 'Untracked', className: 'text-blue-500' },
|
|
61
|
-
};
|
|
62
|
-
return (icons[status] || {
|
|
63
|
-
icon: Pencil,
|
|
64
|
-
label: 'Modified',
|
|
65
|
-
className: 'text-yellow-500',
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
export function FileMentionPopup({ files, changedFiles = [], query, selectedIndex, onSelect, onEnterSelect, onClose, }) {
|
|
69
|
-
const changedFilesMap = useMemo(() => new Map(changedFiles?.map((f) => [f.path, f.status]) || []), [changedFiles]);
|
|
70
|
-
const fuse = useMemo(() => new Fuse(files.map((f) => ({
|
|
71
|
-
path: f,
|
|
72
|
-
filename: f.split('/').pop() || f,
|
|
73
|
-
normalized: f.replace(/[.\-_/]/g, ''),
|
|
74
|
-
})), {
|
|
75
|
-
keys: [
|
|
76
|
-
{ name: 'filename', weight: 2 },
|
|
77
|
-
{ name: 'normalized', weight: 1.5 },
|
|
78
|
-
{ name: 'path', weight: 1 },
|
|
79
|
-
],
|
|
80
|
-
threshold: 0.3,
|
|
81
|
-
distance: 200,
|
|
82
|
-
ignoreLocation: true,
|
|
83
|
-
includeScore: true,
|
|
84
|
-
}), [files]);
|
|
85
|
-
const results = useMemo(() => {
|
|
86
|
-
if (!query) {
|
|
87
|
-
return files.slice(0, 20);
|
|
88
|
-
}
|
|
89
|
-
const normalizedQuery = query.replace(/[.\-_/]/g, '');
|
|
90
|
-
const searchResults = fuse.search(normalizedQuery);
|
|
91
|
-
searchResults.sort((a, b) => {
|
|
92
|
-
const scoreA = a.score ?? 1;
|
|
93
|
-
const scoreB = b.score ?? 1;
|
|
94
|
-
const scoreDiff = Math.abs(scoreA - scoreB);
|
|
95
|
-
if (scoreDiff < 0.05) {
|
|
96
|
-
const aChanged = changedFilesMap.has(a.item.path);
|
|
97
|
-
const bChanged = changedFilesMap.has(b.item.path);
|
|
98
|
-
if (aChanged && !bChanged)
|
|
99
|
-
return -1;
|
|
100
|
-
if (!aChanged && bChanged)
|
|
101
|
-
return 1;
|
|
102
|
-
}
|
|
103
|
-
return scoreA - scoreB;
|
|
104
|
-
});
|
|
105
|
-
return searchResults.slice(0, 20).map((r) => r.item.path);
|
|
106
|
-
}, [fuse, query, files, changedFilesMap]);
|
|
107
|
-
useEffect(() => {
|
|
108
|
-
const element = document.getElementById(`file-item-${selectedIndex}`);
|
|
109
|
-
element?.scrollIntoView({ block: 'nearest' });
|
|
110
|
-
}, [selectedIndex]);
|
|
111
|
-
useEffect(() => {
|
|
112
|
-
onEnterSelect(results[selectedIndex]);
|
|
113
|
-
}, [results, selectedIndex, onEnterSelect]);
|
|
114
|
-
useEffect(() => {
|
|
115
|
-
const handleClickOutside = (e) => {
|
|
116
|
-
const target = e.target;
|
|
117
|
-
if (!target.closest('[data-file-mention-popup]')) {
|
|
118
|
-
onClose();
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
122
|
-
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
123
|
-
}, [onClose]);
|
|
124
|
-
if (results.length === 0) {
|
|
125
|
-
return (_jsx("div", { "data-file-mention-popup": true, className: "absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3", children: _jsx("span", { className: "text-muted-foreground text-sm", children: "No files found" }) }));
|
|
126
|
-
}
|
|
127
|
-
return (_jsx("div", { "data-file-mention-popup": true, className: "absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50", children: results.map((filePath, index) => (_jsx("button", { type: "button", id: `file-item-${index}`, onMouseDown: (e) => {
|
|
128
|
-
e.preventDefault();
|
|
129
|
-
onSelect(filePath);
|
|
130
|
-
}, className: `w-full text-left px-3 py-2 hover:bg-accent ${index === selectedIndex ? 'bg-accent' : ''}`, children: _jsxs("div", { className: "flex items-center gap-2 w-full", children: [(() => {
|
|
131
|
-
const Icon = getFileIcon(filePath);
|
|
132
|
-
return (_jsx(Icon, { className: "w-4 h-4 flex-shrink-0 text-muted-foreground" }));
|
|
133
|
-
})(), _jsx("span", { className: "font-mono text-sm flex-1 truncate", children: filePath }), (() => {
|
|
134
|
-
const status = getGitStatusInfo(filePath, changedFilesMap);
|
|
135
|
-
return (status && (_jsx(status.icon, { className: `w-3.5 h-3.5 flex-shrink-0 ${status.className}`, title: status.label })));
|
|
136
|
-
})()] }) }, filePath))) }));
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=FileMentionPopup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileMentionPopup.js","sourceRoot":"","sources":["../../../src/components/chat/FileMentionPopup.tsx"],"names":[],"mappings":"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"}
|