@ottocode/web-sdk 0.1.245 → 0.1.246
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/assets/provider-logos.d.ts +1 -0
- package/dist/assets/provider-logos.d.ts.map +1 -1
- package/dist/components/chat/UnifiedModelSelector.d.ts.map +1 -1
- package/dist/components/common/ProviderLogo.d.ts.map +1 -1
- package/dist/components/index.js +620 -423
- package/dist/components/index.js.map +17 -16
- package/dist/components/mcp/MCPSidebar.d.ts.map +1 -1
- package/dist/components/messages/ActionToolBox.d.ts.map +1 -1
- package/dist/components/skills/SkillsSidebar.d.ts.map +1 -1
- package/dist/components/ui/ToggleSwitch.d.ts +7 -0
- package/dist/components/ui/ToggleSwitch.d.ts.map +1 -0
- package/dist/hooks/index.js +50 -8
- package/dist/hooks/index.js.map +8 -8
- package/dist/hooks/useConfig.d.ts +7 -0
- package/dist/hooks/useConfig.d.ts.map +1 -1
- package/dist/hooks/useSkills.d.ts +8 -3
- package/dist/hooks/useSkills.d.ts.map +1 -1
- package/dist/index.js +621 -423
- package/dist/index.js.map +17 -16
- package/dist/lib/api-client/config.d.ts +7 -0
- package/dist/lib/api-client/config.d.ts.map +1 -1
- package/dist/lib/api-client/index.d.ts +15 -0
- package/dist/lib/api-client/index.d.ts.map +1 -1
- package/dist/lib/api-client/skills.d.ts +15 -0
- package/dist/lib/api-client/skills.d.ts.map +1 -1
- package/dist/lib/index.js +17 -1
- package/dist/lib/index.js.map +5 -5
- package/dist/stores/index.js +5 -1
- package/dist/stores/index.js.map +3 -3
- package/dist/stores/skillsStore.d.ts +10 -0
- package/dist/stores/skillsStore.d.ts.map +1 -1
- package/dist/types/api.d.ts +2 -0
- package/dist/types/api.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/components/ui/Button.tsx", "../src/components/ui/Card.tsx", "../src/components/ui/Input.tsx", "../src/components/ui/Textarea.tsx", "../src/components/ui/ConfirmationDialog.tsx", "../src/stores/confirmationStore.ts", "../src/components/ui/Toaster.tsx", "../src/stores/toastStore.ts", "../src/lib/open-url.ts", "../src/components/ui/ToolApprovalDialog.tsx", "../src/stores/toolApprovalStore.ts", "../src/components/ui/ResizeHandle.tsx", "../src/stores/panelWidthStore.ts", "../src/components/chat/ChatInput.tsx", "../src/components/chat/FileMentionPopup.tsx", "../src/components/chat/CommandSuggestionsPopup.tsx", "../src/hooks/useConfig.ts", "../src/lib/api-client/sessions.ts", "../src/lib/api-client/utils.ts", "../src/lib/config.ts", "../src/lib/api-client/git.ts", "../src/lib/api-client/config.ts", "../src/lib/api-client/files.ts", "../src/lib/api-client/branches.ts", "../src/lib/api-client/approval.ts", "../src/lib/api-client/ottorouter.ts", "../src/lib/api-client/auth.ts", "../src/lib/api-client/skills.ts", "../src/lib/api-client/index.ts", "../src/hooks/usePreferences.ts", "../src/hooks/useShareStatus.ts", "../src/lib/commands.ts", "../src/components/chat/ShortcutsModal.tsx", "../src/components/ui/Modal.tsx", "../src/components/common/ProviderLogo.tsx", "../src/assets/provider-logos.ts", "../src/hooks/useFiles.ts", "../src/hooks/useVimMode.ts", "../src/hooks/useFileMention.ts", "../src/hooks/useCommandSuggestions.ts", "../src/components/chat/ChatInputKeyHandler.ts", "../src/stores/ottorouterStore.ts", "../src/components/chat/InputApprovalBar.tsx", "../src/components/chat/ChatInputContainer.tsx", "../src/hooks/useMessages.ts", "../src/hooks/useSessions.ts", "../src/hooks/useGit.ts", "../src/stores/gitStore.ts", "../src/stores/sessionFilesStore.ts", "../src/stores/researchStore.ts", "../src/stores/settingsStore.ts", "../src/stores/tunnelStore.ts", "../src/stores/fileBrowserStore.ts", "../src/stores/mcpStore.ts", "../src/stores/skillsStore.ts", "../src/hooks/useFileUpload.ts", "../src/stores/queueStore.ts", "../src/stores/pendingResearchStore.ts", "../src/lib/parseResearchContext.ts", "../src/components/chat/ConfigModal.tsx", "../src/components/chat/UnifiedModelSelector.tsx", "../src/components/chat/UnifiedAgentSelector.tsx", "../src/components/chat/ConfigSelector.tsx", "../src/components/chat/StopButton.tsx", "../src/components/chat/NewSessionLanding.tsx", "../src/components/messages/MessageThread.tsx", "../src/components/messages/AssistantMessageGroup.tsx", "../src/components/messages/MessagePartItem.tsx", "../src/components/messages/ToolApprovalCard.tsx", "../src/components/messages/renderers/DiffView.tsx", "../src/components/messages/renderers/index.tsx", "../src/components/messages/renderers/ReadRenderer.tsx", "../src/components/messages/renderers/utils.ts", "../src/components/messages/renderers/ToolErrorDisplay.tsx", "../src/components/messages/renderers/WriteRenderer.tsx", "../src/components/messages/renderers/BashRenderer.tsx", "../src/components/messages/renderers/shared/CopyButton.tsx", "../src/components/messages/renderers/shared/ToolContentBox.tsx", "../src/components/messages/renderers/shared/ImagePreview.tsx", "../src/components/messages/renderers/shared/ToolHeader.tsx", "../src/components/messages/renderers/GitStatusRenderer.tsx", "../src/components/messages/renderers/GitDiffRenderer.tsx", "../src/components/messages/renderers/GitCommitRenderer.tsx", "../src/components/messages/renderers/ApplyPatchRenderer.tsx", "../src/components/messages/renderers/ListRenderer.tsx", "../src/components/messages/renderers/TreeRenderer.tsx", "../src/components/messages/renderers/SearchRenderer.tsx", "../src/components/messages/renderers/FinishRenderer.tsx", "../src/components/messages/renderers/GenericRenderer.tsx", "../src/components/messages/renderers/DebugRenderer.tsx", "../src/components/messages/renderers/TodosRenderer.tsx", "../src/components/messages/renderers/ProgressUpdateRenderer.tsx", "../src/components/messages/renderers/WebSearchRenderer.tsx", "../src/components/messages/renderers/ErrorRenderer.tsx", "../src/components/messages/renderers/DatabaseToolRenderer.tsx", "../src/components/messages/renderers/TerminalRenderer.tsx", "../src/lib/nerd-font.ts", "../src/components/messages/renderers/McpToolRenderer.tsx", "../src/components/messages/renderers/LoadMcpToolsRenderer.tsx", "../src/components/messages/renderers/SkillRenderer.tsx", "../src/components/messages/renderers/ReasoningRenderer.tsx", "../src/components/messages/CompactActivityGroup.tsx", "../src/components/messages/compactActivity.ts", "../src/components/messages/ActionToolBox.tsx", "../src/hooks/useQueueState.ts", "../src/components/branch/BranchModal.tsx", "../src/hooks/useBranch.ts", "../src/components/messages/UserMessageGroup.tsx", "../src/components/sessions/SessionHeader.tsx", "../src/components/sessions/EditableTitle.tsx", "../src/components/sessions/LeanHeader.tsx", "../src/components/common/UsageRing.tsx", "../src/stores/usageStore.ts", "../src/components/common/UsageModal.tsx", "../src/hooks/useProviderUsage.ts", "../src/hooks/useOttoRouterBalance.ts", "../src/components/messages/TopupApprovalCard.tsx", "../src/stores/topupApprovalStore.ts", "../src/components/messages/MessageThreadContainer.tsx", "../src/hooks/useSessionStream.ts", "../src/lib/sse-client.ts", "../src/hooks/useToolApprovalShortcuts.ts", "../src/components/settings/OttoRouterTopupModal.tsx", "../src/components/common/StatusIndicator.tsx", "../src/components/sessions/SessionItem.tsx", "../src/components/sessions/session-time.ts", "../src/components/sessions/SessionListContainer.tsx", "../src/stores/focusStore.ts", "../src/components/git/GitDiffViewer.tsx", "../src/components/git/GitFileList.tsx", "../src/components/git/GitFileItem.tsx", "../src/components/git/GitSidebar.tsx", "../src/components/git/GitSidebarToggle.tsx", "../src/components/git/GitDiffPanel.tsx", "../src/stores/sidebarStore.ts", "../src/hooks/useFileBrowser.ts", "../src/components/git/GitCommitModal.tsx", "../src/components/terminals/TerminalsPanel.tsx", "../src/stores/terminalStore.ts", "../src/hooks/useTerminals.ts", "../src/components/terminals/TerminalTabBar.tsx", "../src/components/terminals/TerminalViewer.tsx", "../src/components/terminals/TerminalPanelToggle.tsx", "../src/components/session-files/SessionFilesSidebar.tsx", "../src/hooks/useSessionFiles.ts", "../src/components/session-files/SessionFilesSidebarToggle.tsx", "../src/components/session-files/SessionFilesDiffPanel.tsx", "../src/components/research/ResearchSidebar.tsx", "../src/hooks/useResearch.ts", "../src/components/research/ResearchSidebarToggle.tsx", "../src/components/settings/SettingsSidebar.tsx", "../src/stores/onboardingStore.ts", "../src/hooks/useAuthStatus.ts", "../src/hooks/useTopupCallback.ts", "../src/components/settings/SettingsSidebarToggle.tsx", "../src/components/tunnel/TunnelSidebar.tsx", "../src/hooks/useTunnel.ts", "../src/components/tunnel/TunnelSidebarToggle.tsx", "../src/components/mcp/MCPSidebar.tsx", "../src/hooks/useMCP.ts", "../src/components/mcp/AddMCPServerModal.tsx", "../src/components/mcp/MCPSidebarToggle.tsx", "../src/components/skills/SkillsSidebar.tsx", "../src/hooks/useSkills.ts", "../src/components/skills/SkillsSidebarToggle.tsx", "../src/components/skills/SkillViewerPanel.tsx", "../src/components/file-browser/FileBrowserSidebar.tsx", "../src/components/file-browser/FileBrowserSidebarToggle.tsx", "../src/components/file-browser/FileViewerPanel.tsx", "../src/components/file-browser/QuickFilePicker.tsx", "../src/stores/filePickerStore.ts", "../src/components/onboarding/OnboardingModal.tsx", "../src/components/onboarding/steps/ProviderSetupStep.tsx", "../src/components/onboarding/steps/DefaultsStep.tsx", "../src/hooks/useTheme.ts", "../src/hooks/useWorkingDirectory.ts", "../src/hooks/useKeyboardShortcuts.ts", "../src/hooks/useImageUpload.ts", "../src/hooks/useSetuPayments.ts"],
|
|
3
|
+
"sources": ["../src/components/ui/Button.tsx", "../src/components/ui/Card.tsx", "../src/components/ui/Input.tsx", "../src/components/ui/Textarea.tsx", "../src/components/ui/ConfirmationDialog.tsx", "../src/stores/confirmationStore.ts", "../src/components/ui/Toaster.tsx", "../src/stores/toastStore.ts", "../src/lib/open-url.ts", "../src/components/ui/ToolApprovalDialog.tsx", "../src/stores/toolApprovalStore.ts", "../src/components/ui/ResizeHandle.tsx", "../src/stores/panelWidthStore.ts", "../src/components/chat/ChatInput.tsx", "../src/components/chat/FileMentionPopup.tsx", "../src/components/chat/CommandSuggestionsPopup.tsx", "../src/hooks/useConfig.ts", "../src/lib/api-client/sessions.ts", "../src/lib/api-client/utils.ts", "../src/lib/config.ts", "../src/lib/api-client/git.ts", "../src/lib/api-client/config.ts", "../src/lib/api-client/files.ts", "../src/lib/api-client/branches.ts", "../src/lib/api-client/approval.ts", "../src/lib/api-client/ottorouter.ts", "../src/lib/api-client/auth.ts", "../src/lib/api-client/skills.ts", "../src/lib/api-client/index.ts", "../src/hooks/usePreferences.ts", "../src/hooks/useShareStatus.ts", "../src/lib/commands.ts", "../src/components/chat/ShortcutsModal.tsx", "../src/components/ui/Modal.tsx", "../src/components/common/ProviderLogo.tsx", "../src/assets/provider-logos.ts", "../src/hooks/useFiles.ts", "../src/hooks/useVimMode.ts", "../src/hooks/useFileMention.ts", "../src/hooks/useCommandSuggestions.ts", "../src/components/chat/ChatInputKeyHandler.ts", "../src/stores/ottorouterStore.ts", "../src/components/chat/InputApprovalBar.tsx", "../src/components/chat/ChatInputContainer.tsx", "../src/hooks/useMessages.ts", "../src/hooks/useSessions.ts", "../src/hooks/useGit.ts", "../src/stores/gitStore.ts", "../src/stores/sessionFilesStore.ts", "../src/stores/researchStore.ts", "../src/stores/settingsStore.ts", "../src/stores/tunnelStore.ts", "../src/stores/fileBrowserStore.ts", "../src/stores/mcpStore.ts", "../src/stores/skillsStore.ts", "../src/hooks/useFileUpload.ts", "../src/stores/queueStore.ts", "../src/stores/pendingResearchStore.ts", "../src/lib/parseResearchContext.ts", "../src/components/chat/ConfigModal.tsx", "../src/components/chat/UnifiedModelSelector.tsx", "../src/components/chat/UnifiedAgentSelector.tsx", "../src/components/chat/ConfigSelector.tsx", "../src/components/chat/StopButton.tsx", "../src/components/chat/NewSessionLanding.tsx", "../src/components/messages/MessageThread.tsx", "../src/components/messages/AssistantMessageGroup.tsx", "../src/components/messages/MessagePartItem.tsx", "../src/components/messages/ToolApprovalCard.tsx", "../src/components/messages/renderers/DiffView.tsx", "../src/components/messages/renderers/index.tsx", "../src/components/messages/renderers/ReadRenderer.tsx", "../src/components/messages/renderers/utils.ts", "../src/components/messages/renderers/ToolErrorDisplay.tsx", "../src/components/messages/renderers/WriteRenderer.tsx", "../src/components/messages/renderers/BashRenderer.tsx", "../src/components/messages/renderers/shared/CopyButton.tsx", "../src/components/messages/renderers/shared/ToolContentBox.tsx", "../src/components/messages/renderers/shared/ImagePreview.tsx", "../src/components/messages/renderers/shared/ToolHeader.tsx", "../src/components/messages/renderers/GitStatusRenderer.tsx", "../src/components/messages/renderers/GitDiffRenderer.tsx", "../src/components/messages/renderers/GitCommitRenderer.tsx", "../src/components/messages/renderers/ApplyPatchRenderer.tsx", "../src/components/messages/renderers/ListRenderer.tsx", "../src/components/messages/renderers/TreeRenderer.tsx", "../src/components/messages/renderers/SearchRenderer.tsx", "../src/components/messages/renderers/FinishRenderer.tsx", "../src/components/messages/renderers/GenericRenderer.tsx", "../src/components/messages/renderers/DebugRenderer.tsx", "../src/components/messages/renderers/TodosRenderer.tsx", "../src/components/messages/renderers/ProgressUpdateRenderer.tsx", "../src/components/messages/renderers/WebSearchRenderer.tsx", "../src/components/messages/renderers/ErrorRenderer.tsx", "../src/components/messages/renderers/DatabaseToolRenderer.tsx", "../src/components/messages/renderers/TerminalRenderer.tsx", "../src/lib/nerd-font.ts", "../src/components/messages/renderers/McpToolRenderer.tsx", "../src/components/messages/renderers/LoadMcpToolsRenderer.tsx", "../src/components/messages/renderers/SkillRenderer.tsx", "../src/components/messages/renderers/ReasoningRenderer.tsx", "../src/components/messages/CompactActivityGroup.tsx", "../src/components/messages/compactActivity.ts", "../src/components/messages/ActionToolBox.tsx", "../src/hooks/useQueueState.ts", "../src/components/branch/BranchModal.tsx", "../src/hooks/useBranch.ts", "../src/components/messages/UserMessageGroup.tsx", "../src/components/sessions/SessionHeader.tsx", "../src/components/sessions/EditableTitle.tsx", "../src/components/sessions/LeanHeader.tsx", "../src/components/common/UsageRing.tsx", "../src/stores/usageStore.ts", "../src/components/common/UsageModal.tsx", "../src/hooks/useProviderUsage.ts", "../src/hooks/useOttoRouterBalance.ts", "../src/components/messages/TopupApprovalCard.tsx", "../src/stores/topupApprovalStore.ts", "../src/components/messages/MessageThreadContainer.tsx", "../src/hooks/useSessionStream.ts", "../src/lib/sse-client.ts", "../src/hooks/useToolApprovalShortcuts.ts", "../src/components/settings/OttoRouterTopupModal.tsx", "../src/components/common/StatusIndicator.tsx", "../src/components/sessions/SessionItem.tsx", "../src/components/sessions/session-time.ts", "../src/components/sessions/SessionListContainer.tsx", "../src/stores/focusStore.ts", "../src/components/git/GitDiffViewer.tsx", "../src/components/git/GitFileList.tsx", "../src/components/git/GitFileItem.tsx", "../src/components/git/GitSidebar.tsx", "../src/components/git/GitSidebarToggle.tsx", "../src/components/git/GitDiffPanel.tsx", "../src/stores/sidebarStore.ts", "../src/hooks/useFileBrowser.ts", "../src/components/git/GitCommitModal.tsx", "../src/components/terminals/TerminalsPanel.tsx", "../src/stores/terminalStore.ts", "../src/hooks/useTerminals.ts", "../src/components/terminals/TerminalTabBar.tsx", "../src/components/terminals/TerminalViewer.tsx", "../src/components/terminals/TerminalPanelToggle.tsx", "../src/components/session-files/SessionFilesSidebar.tsx", "../src/hooks/useSessionFiles.ts", "../src/components/session-files/SessionFilesSidebarToggle.tsx", "../src/components/session-files/SessionFilesDiffPanel.tsx", "../src/components/research/ResearchSidebar.tsx", "../src/hooks/useResearch.ts", "../src/components/research/ResearchSidebarToggle.tsx", "../src/components/settings/SettingsSidebar.tsx", "../src/stores/onboardingStore.ts", "../src/hooks/useAuthStatus.ts", "../src/hooks/useTopupCallback.ts", "../src/components/settings/SettingsSidebarToggle.tsx", "../src/components/tunnel/TunnelSidebar.tsx", "../src/hooks/useTunnel.ts", "../src/components/tunnel/TunnelSidebarToggle.tsx", "../src/components/mcp/MCPSidebar.tsx", "../src/hooks/useMCP.ts", "../src/components/mcp/AddMCPServerModal.tsx", "../src/components/ui/ToggleSwitch.tsx", "../src/components/mcp/MCPSidebarToggle.tsx", "../src/components/skills/SkillsSidebar.tsx", "../src/hooks/useSkills.ts", "../src/components/skills/SkillsSidebarToggle.tsx", "../src/components/skills/SkillViewerPanel.tsx", "../src/components/file-browser/FileBrowserSidebar.tsx", "../src/components/file-browser/FileBrowserSidebarToggle.tsx", "../src/components/file-browser/FileViewerPanel.tsx", "../src/components/file-browser/QuickFilePicker.tsx", "../src/stores/filePickerStore.ts", "../src/components/onboarding/OnboardingModal.tsx", "../src/components/onboarding/steps/ProviderSetupStep.tsx", "../src/components/onboarding/steps/DefaultsStep.tsx", "../src/hooks/useTheme.ts", "../src/hooks/useWorkingDirectory.ts", "../src/hooks/useKeyboardShortcuts.ts", "../src/hooks/useImageUpload.ts", "../src/hooks/useSetuPayments.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { forwardRef } from 'react';\nimport type { ButtonHTMLAttributes } from 'react';\n\ninterface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tvariant?: 'primary' | 'secondary' | 'ghost';\n\tsize?: 'sm' | 'md' | 'lg' | 'icon';\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n\t({ className = '', variant = 'primary', size = 'md', ...props }, ref) => {\n\t\tconst baseStyles =\n\t\t\t'inline-flex items-center justify-center rounded font-medium transition-colors focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed';\n\n\t\tconst variants = {\n\t\t\tprimary: 'bg-primary text-primary-foreground hover:bg-primary/90',\n\t\t\tsecondary:\n\t\t\t\t'bg-muted text-foreground hover:bg-muted/80 border border-border',\n\t\t\tghost: 'text-muted-foreground hover:text-foreground hover:bg-muted/50',\n\t\t};\n\n\t\tconst sizes = {\n\t\t\tsm: 'px-3 py-1.5 text-sm',\n\t\t\tmd: 'px-4 py-2 text-sm',\n\t\t\tlg: 'px-6 py-3 text-base',\n\t\t\ticon: 'w-10 h-10 p-0',\n\t\t};\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={ref}\n\t\t\t\tclassName={`${baseStyles} ${variants[variant]} ${sizes[size]} ${className}`}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nButton.displayName = 'Button';\n",
|
|
6
6
|
"import { forwardRef } from 'react';\nimport type { HTMLAttributes } from 'react';\n\ninterface CardProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n\t({ className = '', children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={`bg-card text-card-foreground border border-border rounded-lg ${className}`}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nCard.displayName = 'Card';\n",
|
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
"import { client } from '@ottocode/api';\nimport type {\n\tSession as ApiSession,\n\tMessage as ApiMessage,\n} from '@ottocode/api';\nimport { API_BASE_URL } from '../config';\nimport type { Session, Message } from '../../types/api';\n\ninterface WindowWithAgiServerUrl extends Window {\n\tOTTO_SERVER_URL?: string;\n}\n\nfunction getClientAdapter(): 'fetch' | undefined {\n\tif (typeof window !== 'undefined' && typeof window.fetch === 'function') {\n\t\treturn 'fetch';\n\t}\n\treturn undefined;\n}\n\nexport function extractErrorMessage(error: unknown): string {\n\tif (!error) return 'Unknown error';\n\tif (typeof error === 'string') return error;\n\tif (error && typeof error === 'object') {\n\t\tconst errObj = error as Record<string, unknown>;\n\t\tif (errObj.error && typeof errObj.error === 'object') {\n\t\t\tconst innerError = errObj.error as Record<string, unknown>;\n\t\t\tif (typeof innerError.message === 'string') return innerError.message;\n\t\t}\n\t\tif (typeof errObj.error === 'string') return errObj.error;\n\t\tif (typeof errObj.message === 'string') return errObj.message;\n\t\ttry {\n\t\t\treturn JSON.stringify(error);\n\t\t} catch {\n\t\t\treturn 'Error occurred (unable to parse)';\n\t\t}\n\t}\n\treturn 'Unknown error';\n}\n\nexport function configureApiClient() {\n\tconst win = window as WindowWithAgiServerUrl;\n\tconst baseURL = win.OTTO_SERVER_URL || API_BASE_URL;\n\tclient.setConfig({\n\t\tbaseURL,\n\t\tadapter: getClientAdapter(),\n\t});\n}\n\nconfigureApiClient();\n\nexport function getBaseUrl(): string {\n\tconst win = window as WindowWithAgiServerUrl;\n\tif (win.OTTO_SERVER_URL) return win.OTTO_SERVER_URL;\n\treturn API_BASE_URL;\n}\n\nexport function convertSession(apiSession: ApiSession): Session {\n\treturn {\n\t\t...apiSession,\n\t\ttitle: apiSession.title ?? null,\n\t\tcreatedAt:\n\t\t\ttypeof apiSession.createdAt === 'string'\n\t\t\t\t? new Date(apiSession.createdAt).getTime()\n\t\t\t\t: apiSession.createdAt,\n\t\tlastActiveAt:\n\t\t\ttypeof apiSession.lastActiveAt === 'string'\n\t\t\t\t? new Date(apiSession.lastActiveAt).getTime()\n\t\t\t\t: apiSession.lastActiveAt,\n\t} as Session;\n}\n\nexport function convertMessage(apiMessage: ApiMessage): Message {\n\treturn {\n\t\t...apiMessage,\n\t\tcreatedAt:\n\t\t\ttypeof apiMessage.createdAt === 'string'\n\t\t\t\t? new Date(apiMessage.createdAt).getTime()\n\t\t\t\t: apiMessage.createdAt,\n\t\tcompletedAt: apiMessage.completedAt\n\t\t\t? typeof apiMessage.completedAt === 'string'\n\t\t\t\t? new Date(apiMessage.completedAt).getTime()\n\t\t\t\t: apiMessage.completedAt\n\t\t\t: null,\n\t} as Message;\n}\n",
|
|
24
24
|
"// Extend Window interface to include custom properties\ninterface OttoWindow extends Window {\n\t__OTTO_API_URL__?: string;\n\tOTTO_SERVER_URL?: string;\n}\n\n// This function will execute at runtime in the browser\nfunction computeApiBaseUrl(): string {\n\t// Check Vite env var first (for dev mode)\n\tconst envUrl = import.meta.env?.VITE_API_BASE_URL;\n\tif (envUrl) {\n\t\treturn envUrl;\n\t}\n\n\t// Check window object for injected values (for production)\n\tif (typeof window !== 'undefined') {\n\t\tconst win = window as OttoWindow;\n\t\tif (win.OTTO_SERVER_URL) {\n\t\t\treturn win.OTTO_SERVER_URL;\n\t\t}\n\t\tif (win.__OTTO_API_URL__) {\n\t\t\treturn win.__OTTO_API_URL__;\n\t\t}\n\t}\n\n\t// Fallback for standalone dev\n\treturn 'http://localhost:9100';\n}\n\nexport function getRuntimeApiBaseUrl(): string {\n\treturn computeApiBaseUrl();\n}\n\nexport const API_BASE_URL = computeApiBaseUrl();\n\nexport const config = {\n\tapiBaseUrl: API_BASE_URL,\n};\n",
|
|
25
25
|
"import {\n\tgetGitStatus as apiGetGitStatus,\n\tgetGitDiff as apiGetGitDiff,\n\tgetGitBranch as apiGetGitBranch,\n\tstageFiles as apiStageFiles,\n\tunstageFiles as apiUnstageFiles,\n\trestoreFiles as apiRestoreFiles,\n\tdeleteFiles as apiDeleteFiles,\n\tcommitChanges as apiCommitChanges,\n\tgenerateCommitMessage as apiGenerateCommitMessage,\n\tpushCommits as apiPushCommits,\n\tpullChanges as apiPullChanges,\n\tinitGitRepo as apiInitGitRepo,\n\tgetGitRemotes as apiGetGitRemotes,\n\taddGitRemote as apiAddGitRemote,\n\tremoveGitRemote as apiRemoveGitRemote,\n} from '@ottocode/api';\nimport type {\n\tGitStatusResponse,\n\tGitDiffResponse,\n\tGitStageResponse,\n\tGitUnstageResponse,\n\tGitCommitResponse,\n\tGitGenerateCommitMessageResponse,\n\tGitBranchInfo,\n\tGitPushResponse,\n\tGitPullResponse,\n\tGitRemoteInfo,\n} from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const gitMixin = {\n\tasync initGitRepo(): Promise<{ initialized: boolean; path: string }> {\n\t\tconst response = await apiInitGitRepo();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data;\n\t},\n\n\tasync getGitStatus(): Promise<GitStatusResponse> {\n\t\tconst response = await apiGetGitStatus();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitStatusResponse;\n\t},\n\n\tasync getGitDiff(\n\t\tfile: string,\n\t\tstaged: boolean = false,\n\t): Promise<GitDiffResponse> {\n\t\tconst response = await apiGetGitDiff({\n\t\t\tquery: { file, staged: staged ? 'true' : 'false' },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitDiffResponse;\n\t},\n\n\tasync getGitDiffFullFile(\n\t\tfile: string,\n\t\tstaged = false,\n\t): Promise<GitDiffResponse> {\n\t\tconst response = await apiGetGitDiff({\n\t\t\tquery: {\n\t\t\t\tfile,\n\t\t\t\tstaged: staged ? 'true' : 'false',\n\t\t\t\tfullFile: 'true',\n\t\t\t},\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitDiffResponse;\n\t},\n\n\tasync generateCommitMessage(\n\t\tsessionId?: string,\n\t): Promise<GitGenerateCommitMessageResponse> {\n\t\tconst response = await apiGenerateCommitMessage({\n\t\t\tbody: sessionId ? { sessionId } : {},\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitGenerateCommitMessageResponse;\n\t},\n\n\tasync stageFiles(files: string[]): Promise<GitStageResponse> {\n\t\tconst response = await apiStageFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitStageResponse;\n\t},\n\n\tasync unstageFiles(files: string[]): Promise<GitUnstageResponse> {\n\t\tconst response = await apiUnstageFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitUnstageResponse;\n\t},\n\n\tasync restoreFiles(files: string[]): Promise<{ restored: string[] }> {\n\t\tconst response = await apiRestoreFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { restored: string[] };\n\t},\n\n\tasync deleteFiles(files: string[]): Promise<{ deleted: string[] }> {\n\t\tconst response = await apiDeleteFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { deleted: string[] };\n\t},\n\n\tasync commitChanges(message: string): Promise<GitCommitResponse> {\n\t\tconst response = await apiCommitChanges({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { message } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitCommitResponse;\n\t},\n\n\tasync getGitBranch(): Promise<GitBranchInfo> {\n\t\tconst response = await apiGetGitBranch();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitBranchInfo;\n\t},\n\n\tasync pushCommits(): Promise<GitPushResponse> {\n\t\tconst response = await apiPushCommits({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: {} as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitPushResponse;\n\t},\n\n\tasync pullChanges(): Promise<GitPullResponse> {\n\t\tconst response = await apiPullChanges({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: {} as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitPullResponse;\n\t},\n\n\tasync getRemotes(): Promise<GitRemoteInfo[]> {\n\t\tconst response = await apiGetGitRemotes();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data?.remotes as GitRemoteInfo[];\n\t},\n\n\tasync addRemote(\n\t\tname: string,\n\t\turl: string,\n\t): Promise<{ name: string; url: string }> {\n\t\tconst response = await apiAddGitRemote({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { name, url } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { name: string; url: string };\n\t},\n\n\tasync removeRemote(name: string): Promise<{ removed: string }> {\n\t\tconst response = await apiRemoveGitRemote({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { name } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { removed: string };\n\t},\n};\n",
|
|
26
|
-
"import {\n\tgetConfig as apiGetConfig,\n\tgetProviderModels as apiGetProviderModels,\n\tgetAllModels as apiGetAllModels,\n\tupdateDefaults as apiUpdateDefaults,\n} from '@ottocode/api';\nimport type { AllModelsResponse } from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const configMixin = {\n\tasync getConfig(): Promise<{\n\t\tagents: string[];\n\t\tproviders: string[];\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiGetConfig();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getModels(providerId: string): Promise<{\n\t\tmodels: Array<{\n\t\t\tid: string;\n\t\t\tlabel: string;\n\t\t\ttoolCall?: boolean;\n\t\t\tavailable?: boolean;\n\t\t\tunavailableReason?: string;\n\t\t}>;\n\t\tdefault: string;\n\t}> {\n\t\tconst response = await apiGetProviderModels({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tpath: { provider: providerId as any },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getAllModels(): Promise<AllModelsResponse> {\n\t\tconst response = await apiGetAllModels();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as AllModelsResponse;\n\t},\n\n\tasync updateDefaults(data: {\n\t\tagent?: string;\n\t\tprovider?: string;\n\t\tmodel?: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\tguidedMode?: boolean;\n\t\treasoningText?: boolean;\n\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\tfullWidthContent?: boolean;\n\t\tautoCompactThresholdTokens?: number | null;\n\t\tscope?: 'global' | 'local';\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiUpdateDefaults({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
|
|
26
|
+
"import {\n\tgetConfig as apiGetConfig,\n\tgetProviderModels as apiGetProviderModels,\n\tgetAllModels as apiGetAllModels,\n\tupdateDefaults as apiUpdateDefaults,\n} from '@ottocode/api';\nimport type { AllModelsResponse } from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const configMixin = {\n\tasync getConfig(): Promise<{\n\t\tagents: string[];\n\t\tproviders: string[];\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiGetConfig();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getModels(providerId: string): Promise<{\n\t\tmodels: Array<{\n\t\t\tid: string;\n\t\t\tlabel: string;\n\t\t\ttoolCall?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\tvision?: boolean;\n\t\t\tattachment?: boolean;\n\t\t\tfree?: boolean;\n\t\t\tavailable?: boolean;\n\t\t\tunavailableReason?: string;\n\t\t}>;\n\t\tdefault: string;\n\t\tallowAnyModel?: boolean;\n\t\tdynamicModels?: boolean;\n\t\tlabel?: string;\n\t}> {\n\t\tconst response = await apiGetProviderModels({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tpath: { provider: providerId as any },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getAllModels(): Promise<AllModelsResponse> {\n\t\tconst response = await apiGetAllModels();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as AllModelsResponse;\n\t},\n\n\tasync updateDefaults(data: {\n\t\tagent?: string;\n\t\tprovider?: string;\n\t\tmodel?: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\tguidedMode?: boolean;\n\t\treasoningText?: boolean;\n\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\tfullWidthContent?: boolean;\n\t\tautoCompactThresholdTokens?: number | null;\n\t\tscope?: 'global' | 'local';\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiUpdateDefaults({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
|
|
27
27
|
"import {\n\tlistFiles as apiListFiles,\n\tgetFileTree as apiGetFileTree,\n\treadFile as apiReadFile,\n\tgetSessionFiles as apiGetSessionFiles,\n} from '@ottocode/api';\nimport type { SessionFilesResponse } from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const filesMixin = {\n\tasync listFiles() {\n\t\tconst response = await apiListFiles();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as {\n\t\t\tfiles: string[];\n\t\t\tignoredFiles?: string[];\n\t\t\tchangedFiles: Array<{ path: string; status: string }>;\n\t\t\ttruncated: boolean;\n\t\t};\n\t},\n\n\tasync getFileTree(dirPath = '.'): Promise<{\n\t\titems: Array<{\n\t\t\tname: string;\n\t\t\tpath: string;\n\t\t\ttype: 'file' | 'directory';\n\t\t\tgitignored?: boolean;\n\t\t}>;\n\t\tpath: string;\n\t}> {\n\t\tconst response = await apiGetFileTree({\n\t\t\tquery: { path: dirPath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync readFileContent(filePath: string): Promise<{\n\t\tcontent: string;\n\t\tpath: string;\n\t\textension: string;\n\t\tlineCount: number;\n\t}> {\n\t\tconst response = await apiReadFile({\n\t\t\tquery: { path: filePath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getSessionFiles(sessionId: string): Promise<SessionFilesResponse> {\n\t\tconst response = await apiGetSessionFiles({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SessionFilesResponse;\n\t},\n};\n",
|
|
28
28
|
"import {\n\tcreateBranch as apiCreateBranch,\n\tlistBranches as apiListBranches,\n\tgetParentSession as apiGetParentSession,\n\tgetShareStatus as apiGetShareStatus,\n\tshareSession as apiShareSession,\n\tsyncShare as apiSyncShare,\n} from '@ottocode/api';\nimport type {\n\tCreateBranchRequest,\n\tBranchResult,\n\tListBranchesResponse,\n\tParentSessionResponse,\n\tShareStatus,\n\tShareSessionResponse,\n\tSyncSessionResponse,\n} from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const branchesMixin = {\n\tasync createBranch(\n\t\tsessionId: string,\n\t\tdata: CreateBranchRequest,\n\t): Promise<BranchResult> {\n\t\tconst response = await apiCreateBranch({\n\t\t\tpath: { sessionId },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as unknown as BranchResult;\n\t},\n\n\tasync listBranches(sessionId: string): Promise<ListBranchesResponse> {\n\t\tconst response = await apiListBranches({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as unknown as ListBranchesResponse;\n\t},\n\n\tasync getParentSession(sessionId: string): Promise<ParentSessionResponse> {\n\t\tconst response = await apiGetParentSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ParentSessionResponse;\n\t},\n\n\tasync getShareStatus(sessionId: string): Promise<ShareStatus> {\n\t\tconst response = await apiGetShareStatus({ path: { sessionId } });\n\t\tif (response.error) return { shared: false };\n\t\treturn response.data as ShareStatus;\n\t},\n\n\tasync shareSession(sessionId: string): Promise<ShareSessionResponse> {\n\t\tconst response = await apiShareSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ShareSessionResponse;\n\t},\n\n\tasync syncSession(sessionId: string): Promise<SyncSessionResponse> {\n\t\tconst response = await apiSyncShare({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SyncSessionResponse;\n\t},\n};\n",
|
|
29
29
|
"import {\n\tresolveApproval as apiResolveApproval,\n\tgetPendingApprovals as apiGetPendingApprovals,\n} from '@ottocode/api';\n\nexport const approvalMixin = {\n\tasync approveToolCall(\n\t\tsessionId: string,\n\t\tcallId: string,\n\t\tapproved: boolean,\n\t): Promise<{ ok: boolean; callId: string; approved: boolean }> {\n\t\tconst response = await apiResolveApproval({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { id: sessionId } as any,\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { callId, approved, sessionId } as any,\n\t\t});\n\t\tif (response.error) throw new Error('Failed to send tool approval');\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getPendingApprovals(sessionId: string): Promise<{\n\t\tok: boolean;\n\t\tpending: Array<{\n\t\t\tcallId: string;\n\t\t\ttoolName: string;\n\t\t\targs: unknown;\n\t\t\tmessageId: string;\n\t\t\tcreatedAt: number;\n\t\t}>;\n\t}> {\n\t\tconst response = await apiGetPendingApprovals({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { id: sessionId } as any,\n\t\t});\n\t\tif (response.error) return { ok: false, pending: [] };\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
|
|
30
30
|
"import {\n\tgetOttoRouterBalance as apiGetSetuBalance,\n\tgetOttoRouterWallet as apiGetSetuWallet,\n\tgetOttoRouterUsdcBalance as apiGetSetuUsdcBalance,\n\tcreatePolarCheckout as apiCreatePolarCheckout,\n\tgetPolarTopupEstimate as apiGetPolarTopupEstimate,\n\tgetPolarTopupStatus as apiGetPolarTopupStatus,\n\tgetRazorpayTopupEstimate as apiGetRazorpayTopupEstimate,\n\tcreateRazorpayOrder as apiCreateRazorpayOrder,\n\tverifyRazorpayPayment as apiVerifyRazorpayPayment,\n\tselectTopupMethod as apiSelectTopupMethod,\n\tcancelTopup as apiCancelTopup,\n\tgetPendingTopup as apiGetPendingTopup,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport const ottorouterMixin = {\n\tasync getOttoRouterBalance(): Promise<{\n\t\twalletAddress: string;\n\t\tbalance: number;\n\t\ttotalSpent: number;\n\t\ttotalTopups: number;\n\t\trequestCount: number;\n\t\tscope?: 'wallet' | 'account';\n\t\tpayg?: {\n\t\t\twalletBalanceUsd: number;\n\t\t\taccountBalanceUsd: number;\n\t\t\trawPoolUsd: number;\n\t\t\teffectiveSpendableUsd: number;\n\t\t};\n\t\tlimits?: {\n\t\t\tenabled: boolean;\n\t\t\tdailyLimitUsd: number | null;\n\t\t\tdailySpentUsd: number;\n\t\t\tdailyRemainingUsd: number | null;\n\t\t\tmonthlyLimitUsd: number | null;\n\t\t\tmonthlySpentUsd: number;\n\t\t\tmonthlyRemainingUsd: number | null;\n\t\t\tcapRemainingUsd: number | null;\n\t\t} | null;\n\t\tsubscription?: {\n\t\t\tactive: boolean;\n\t\t\ttierId?: string;\n\t\t\ttierName?: string;\n\t\t\tcreditsIncluded?: number;\n\t\t\tcreditsUsed?: number;\n\t\t\tcreditsRemaining?: number;\n\t\t\tcreditsWeeklyLimit?: number | null;\n\t\t\tcreditsFiveHourLimit?: number | null;\n\t\t\tusageWindows?: {\n\t\t\t\tweekly: {\n\t\t\t\t\tlimit: number | null;\n\t\t\t\t\tused: number;\n\t\t\t\t\tremaining: number | null;\n\t\t\t\t\tpercentUsed: number;\n\t\t\t\t};\n\t\t\t\tfiveHour: {\n\t\t\t\t\tlimit: number | null;\n\t\t\t\t\tused: number;\n\t\t\t\t\tremaining: number | null;\n\t\t\t\t\tpercentUsed: number;\n\t\t\t\t};\n\t\t\t};\n\t\t\tperiodStart?: string;\n\t\t\tperiodEnd?: string;\n\t\t} | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuBalance();\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getOttoRouterWallet(): Promise<{\n\t\tconfigured: boolean;\n\t\tpublicKey?: string;\n\t\terror?: string;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuWallet();\n\t\t\tif (response.error) return { configured: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { configured: false };\n\t\t}\n\t},\n\n\tasync getOttoRouterUsdcBalance(\n\t\tnetwork: 'mainnet' | 'devnet' = 'mainnet',\n\t): Promise<{\n\t\twalletAddress: string;\n\t\tusdcBalance: number;\n\t\tnetwork: 'mainnet' | 'devnet';\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuUsdcBalance({\n\t\t\t\tquery: { network },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getPolarTopupEstimate(amount: number): Promise<{\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t\tfeeBreakdown: {\n\t\t\tbasePercent: number;\n\t\t\tinternationalPercent: number;\n\t\t\tfixedCents: number;\n\t\t};\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createPolarCheckout(\n\t\tamount: number,\n\t\tsuccessUrl: string,\n\t): Promise<{\n\t\tsuccess: boolean;\n\t\tcheckoutId: string;\n\t\tcheckoutUrl: string;\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t}> {\n\t\tconst response = await apiCreatePolarCheckout({\n\t\t\tbody: { amount, successUrl },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync selectTopupMethod(\n\t\tsessionId: string,\n\t\tmethod: 'crypto' | 'fiat',\n\t): Promise<{ success: boolean; method: string }> {\n\t\tconst response = await apiSelectTopupMethod({\n\t\t\tbody: { sessionId, method },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync cancelTopup(\n\t\tsessionId: string,\n\t\treason?: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await apiCancelTopup({\n\t\t\tbody: { sessionId, reason },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getPendingTopup(sessionId: string): Promise<{\n\t\thasPending: boolean;\n\t\tsessionId?: string;\n\t\tmessageId?: string;\n\t\tamountUsd?: number;\n\t\tcurrentBalance?: number;\n\t\tcreatedAt?: number;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetPendingTopup({\n\t\t\t\tquery: { sessionId },\n\t\t\t});\n\t\t\tif (response.error) return { hasPending: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { hasPending: false };\n\t\t}\n\t},\n\n\tasync getPolarTopupStatus(checkoutId: string): Promise<{\n\t\tcheckoutId: string;\n\t\tconfirmed: boolean;\n\t\tamountUsd: number | null;\n\t\tconfirmedAt: string | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupStatus({\n\t\t\t\tquery: { checkoutId },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getRazorpayTopupEstimate(amount: number): Promise<{\n\t\tcreditAmountUsd: number;\n\t\tchargeAmountInr: number;\n\t\tfeeAmountInr: number;\n\t\tcurrency: string;\n\t\texchangeRate: number;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetRazorpayTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createRazorpayOrder(amount: number): Promise<{\n\t\tsuccess: boolean;\n\t\torderId: string;\n\t\tamount: number;\n\t\tcurrency: string;\n\t\tcreditAmountUsd: number;\n\t\tkeyId: string;\n\t}> {\n\t\tconst response = await apiCreateRazorpayOrder({\n\t\t\tbody: { amount },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync verifyRazorpayPayment(params: {\n\t\trazorpay_order_id: string;\n\t\trazorpay_payment_id: string;\n\t\trazorpay_signature: string;\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tcredited: number;\n\t\tnewBalance: number;\n\t}> {\n\t\tconst response = await apiVerifyRazorpayPayment({\n\t\t\tbody: params,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
|
|
31
31
|
"import {\n\tgetAuthStatus as apiGetAuthStatus,\n\tsetupOttoRouterWallet as apiSetupSetuWallet,\n\timportOttoRouterWallet as apiImportSetuWallet,\n\texportOttoRouterWallet as apiExportSetuWallet,\n\taddProviderApiKey as apiAddProviderApiKey,\n\tremoveProvider as apiRemoveProvider,\n\tcompleteOnboarding as apiCompleteOnboarding,\n\tgetOAuthUrl as apiGetOAuthUrl,\n\texchangeOAuthCode as apiExchangeOAuthCode,\n\tstartCopilotDeviceFlow as apiStartCopilotDeviceFlow,\n\tpollCopilotDeviceFlow as apiPollCopilotDeviceFlow,\n\tgetCopilotAuthMethods as apiGetCopilotAuthMethods,\n\tsaveCopilotToken as apiSaveCopilotToken,\n\timportCopilotTokenFromGh as apiImportCopilotTokenFromGh,\n\tgetCopilotDiagnostics as apiGetCopilotDiagnostics,\n\tgetProviderUsage as apiGetProviderUsage,\n} from '@ottocode/api';\nimport type { ProviderUsageResponse } from '../../types/api';\nimport { extractErrorMessage, getBaseUrl } from './utils';\n\nexport const authMixin = {\n\tasync getAuthStatus(): Promise<{\n\t\tonboardingComplete: boolean;\n\t\tottorouter: { configured: boolean; publicKey?: string };\n\t\tproviders: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tconfigured: boolean;\n\t\t\t\ttype?: 'api' | 'oauth' | 'wallet';\n\t\t\t\tlabel: string;\n\t\t\t\tsupportsOAuth: boolean;\n\t\t\t\tsupportsToken?: boolean;\n\t\t\t\tsupportsGhImport?: boolean;\n\t\t\t\tmodelCount: number;\n\t\t\t\tcostRange?: { min: number; max: number };\n\t\t\t}\n\t\t>;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t};\n\t}> {\n\t\tconst response = await apiGetAuthStatus();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync setupOttoRouterWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tisNew: boolean;\n\t}> {\n\t\tconst response = await apiSetupSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importOttoRouterWallet(privateKey: string): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t}> {\n\t\tconst response = await apiImportSetuWallet({\n\t\t\tbody: { privateKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exportOttoRouterWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}> {\n\t\tconst response = await apiExportSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync addProvider(\n\t\tprovider: string,\n\t\tapiKey: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiAddProviderApiKey({\n\t\t\tpath: { provider },\n\t\t\tbody: { apiKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync removeProvider(\n\t\tprovider: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiRemoveProvider({ path: { provider } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync completeOnboarding(): Promise<{ success: boolean }> {\n\t\tconst response = await apiCompleteOnboarding();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tgetOAuthStartUrl(provider: string, mode?: string): string {\n\t\tconst baseUrl = `${getBaseUrl()}/v1/auth/${provider}/oauth/start`;\n\t\tif (mode) return `${baseUrl}?mode=${mode}`;\n\t\treturn baseUrl;\n\t},\n\n\tasync getOAuthUrl(\n\t\tprovider: string,\n\t\tmode?: string,\n\t): Promise<{ url: string; sessionId: string; provider: string }> {\n\t\tconst response = await apiGetOAuthUrl({\n\t\t\tpath: { provider },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { mode } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exchangeOAuthCode(\n\t\tprovider: string,\n\t\tcode: string,\n\t\tsessionId: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiExchangeOAuthCode({\n\t\t\tpath: { provider },\n\t\t\tbody: { code, sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync startCopilotDeviceFlow(): Promise<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t}> {\n\t\tconst response = await apiStartCopilotDeviceFlow();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync pollCopilotDeviceFlow(\n\t\tsessionId: string,\n\t): Promise<{ status: 'complete' | 'pending' | 'error'; error?: string }> {\n\t\tconst response = await apiPollCopilotDeviceFlow({\n\t\t\tbody: { sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotAuthMethods(): Promise<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t}> {\n\t\tconst response = await apiGetCopilotAuthMethods();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync saveCopilotToken(token: string): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'token';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiSaveCopilotToken({ body: { token } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importCopilotTokenFromGh(): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'gh';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiImportCopilotTokenFromGh();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotDiagnostics(): Promise<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\tsampleModels?: string[];\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\trestrictionMessage?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t\tmethods: {\n\t\t\toauth: boolean;\n\t\t\ttoken: boolean;\n\t\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t\t};\n\t}> {\n\t\tconst response = await apiGetCopilotDiagnostics();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getProviderUsage(provider: string): Promise<ProviderUsageResponse> {\n\t\tconst response = await apiGetProviderUsage({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { provider } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ProviderUsageResponse;\n\t},\n};\n",
|
|
32
|
-
"import {\n\tlistSkills as apiListSkills,\n\tgetSkill as apiGetSkill,\n\tlistSkillFiles as apiListSkillFiles,\n\tgetSkillFile as apiGetSkillFile,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport interface SkillSummary {\n\tname: string;\n\tdescription: string;\n\tscope: string;\n\tpath: string;\n}\n\nexport interface SkillDetail {\n\tname: string;\n\tdescription: string;\n\tlicense?: string | null;\n\tcompatibility?: string | null;\n\tmetadata?: unknown;\n\tallowedTools?: string[] | null;\n\tpath: string;\n\tscope: string;\n\tcontent: string;\n}\n\nexport interface SkillFileInfo {\n\trelativePath: string;\n\tsize: number;\n}\n\nexport const skillsMixin = {\n\tasync listSkills(): Promise<{ skills: SkillSummary[] }> {\n\t\tconst response = await apiListSkills();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { skills: SkillSummary[] };\n\t},\n\n\tasync getSkill(name: string): Promise<SkillDetail> {\n\t\tconst response = await apiGetSkill({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillDetail;\n\t},\n\n\tasync getSkillFiles(name: string): Promise<{ files: SkillFileInfo[] }> {\n\t\tconst response = await apiListSkillFiles({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { files: SkillFileInfo[] };\n\t},\n\n\tasync getSkillFileContent(\n\t\tname: string,\n\t\tfilePath: string,\n\t): Promise<{ content: string; path: string }> {\n\t\tconst response = await apiGetSkillFile({\n\t\t\tpath: { name, filePath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { content: string; path: string };\n\t},\n};\n",
|
|
33
|
-
"import { sessionsMixin } from './sessions';\nimport { gitMixin } from './git';\nimport { configMixin } from './config';\nimport { filesMixin } from './files';\nimport { branchesMixin } from './branches';\nimport { approvalMixin } from './approval';\nimport { ottorouterMixin } from './ottorouter';\nimport { authMixin } from './auth';\nimport { skillsMixin } from './skills';\n\nexport { configureApiClient } from './utils';\n\nclass ApiClient {\n\tgetSessions = sessionsMixin.getSessions;\n\tgetSessionsPage = sessionsMixin.getSessionsPage;\n\tcreateSession = sessionsMixin.createSession;\n\tupdateSession = sessionsMixin.updateSession;\n\tdeleteSession = sessionsMixin.deleteSession;\n\tabortSession = sessionsMixin.abortSession;\n\tabortMessage = sessionsMixin.abortMessage;\n\tgetQueueState = sessionsMixin.getQueueState;\n\tremoveFromQueue = sessionsMixin.removeFromQueue;\n\tgetMessages = sessionsMixin.getMessages;\n\tsendMessage = sessionsMixin.sendMessage;\n\tgetStreamUrl = sessionsMixin.getStreamUrl;\n\tretryMessage = sessionsMixin.retryMessage;\n\n\tinitGitRepo = gitMixin.initGitRepo;\n\tgetGitStatus = gitMixin.getGitStatus;\n\tgetGitDiff = gitMixin.getGitDiff;\n\tgetGitDiffFullFile = gitMixin.getGitDiffFullFile;\n\tgenerateCommitMessage = gitMixin.generateCommitMessage;\n\tstageFiles = gitMixin.stageFiles;\n\tunstageFiles = gitMixin.unstageFiles;\n\trestoreFiles = gitMixin.restoreFiles;\n\tdeleteFiles = gitMixin.deleteFiles;\n\tcommitChanges = gitMixin.commitChanges;\n\tgetGitBranch = gitMixin.getGitBranch;\n\tpushCommits = gitMixin.pushCommits;\n\tpullChanges = gitMixin.pullChanges;\n\tgetRemotes = gitMixin.getRemotes;\n\taddRemote = gitMixin.addRemote;\n\tremoveRemote = gitMixin.removeRemote;\n\n\tgetConfig = configMixin.getConfig;\n\tgetModels = configMixin.getModels;\n\tgetAllModels = configMixin.getAllModels;\n\tupdateDefaults = configMixin.updateDefaults;\n\n\tlistFiles = filesMixin.listFiles;\n\tgetFileTree = filesMixin.getFileTree;\n\treadFileContent = filesMixin.readFileContent;\n\tgetSessionFiles = filesMixin.getSessionFiles;\n\n\tcreateBranch = branchesMixin.createBranch;\n\tlistBranches = branchesMixin.listBranches;\n\tgetParentSession = branchesMixin.getParentSession;\n\tgetShareStatus = branchesMixin.getShareStatus;\n\tshareSession = branchesMixin.shareSession;\n\tsyncSession = branchesMixin.syncSession;\n\n\tapproveToolCall = approvalMixin.approveToolCall;\n\tgetPendingApprovals = approvalMixin.getPendingApprovals;\n\n\tgetOttoRouterBalance = ottorouterMixin.getOttoRouterBalance;\n\tgetOttoRouterWallet = ottorouterMixin.getOttoRouterWallet;\n\tgetOttoRouterUsdcBalance = ottorouterMixin.getOttoRouterUsdcBalance;\n\tgetPolarTopupEstimate = ottorouterMixin.getPolarTopupEstimate;\n\tcreatePolarCheckout = ottorouterMixin.createPolarCheckout;\n\tselectTopupMethod = ottorouterMixin.selectTopupMethod;\n\tcancelTopup = ottorouterMixin.cancelTopup;\n\tgetPendingTopup = ottorouterMixin.getPendingTopup;\n\tgetPolarTopupStatus = ottorouterMixin.getPolarTopupStatus;\n\tgetRazorpayTopupEstimate = ottorouterMixin.getRazorpayTopupEstimate;\n\tcreateRazorpayOrder = ottorouterMixin.createRazorpayOrder;\n\tverifyRazorpayPayment = ottorouterMixin.verifyRazorpayPayment;\n\n\tgetAuthStatus = authMixin.getAuthStatus;\n\tsetupOttoRouterWallet = authMixin.setupOttoRouterWallet;\n\timportOttoRouterWallet = authMixin.importOttoRouterWallet;\n\texportOttoRouterWallet = authMixin.exportOttoRouterWallet;\n\taddProvider = authMixin.addProvider;\n\tremoveProvider = authMixin.removeProvider;\n\tcompleteOnboarding = authMixin.completeOnboarding;\n\tgetOAuthStartUrl = authMixin.getOAuthStartUrl;\n\tgetOAuthUrl = authMixin.getOAuthUrl;\n\texchangeOAuthCode = authMixin.exchangeOAuthCode;\n\tstartCopilotDeviceFlow = authMixin.startCopilotDeviceFlow;\n\tpollCopilotDeviceFlow = authMixin.pollCopilotDeviceFlow;\n\tgetCopilotAuthMethods = authMixin.getCopilotAuthMethods;\n\tsaveCopilotToken = authMixin.saveCopilotToken;\n\timportCopilotTokenFromGh = authMixin.importCopilotTokenFromGh;\n\tgetCopilotDiagnostics = authMixin.getCopilotDiagnostics;\n\tgetProviderUsage = authMixin.getProviderUsage;\n\n\tlistSkills = skillsMixin.listSkills;\n\tgetSkill = skillsMixin.getSkill;\n\tgetSkillFiles = skillsMixin.getSkillFiles;\n\tgetSkillFileContent = skillsMixin.getSkillFileContent;\n}\n\nexport const apiClient = new ApiClient();\n",
|
|
32
|
+
"import {\n\tgetSkillsConfig as apiGetSkillsConfig,\n\tupdateSkillsConfig as apiUpdateSkillsConfig,\n\tlistSkills as apiListSkills,\n\tgetSkill as apiGetSkill,\n\tlistSkillFiles as apiListSkillFiles,\n\tgetSkillFile as apiGetSkillFile,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport interface SkillSummary {\n\tname: string;\n\tdescription: string;\n\tscope: string;\n\tpath: string;\n\tenabled?: boolean;\n}\n\nexport interface SkillsConfigResponse {\n\tenabled: boolean;\n\ttotalCount: number;\n\tenabledCount: number;\n\titems: SkillSummary[];\n}\n\nexport interface SkillDetail {\n\tname: string;\n\tdescription: string;\n\tlicense?: string | null;\n\tcompatibility?: string | null;\n\tmetadata?: unknown;\n\tallowedTools?: string[] | null;\n\tpath: string;\n\tscope: string;\n\tcontent: string;\n}\n\nexport interface SkillFileInfo {\n\trelativePath: string;\n\tsize: number;\n}\n\nexport const skillsMixin = {\n\tasync listSkills(): Promise<{ skills: SkillSummary[] }> {\n\t\tconst response = await apiListSkills();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { skills: SkillSummary[] };\n\t},\n\n\tasync getSkill(name: string): Promise<SkillDetail> {\n\t\tconst response = await apiGetSkill({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillDetail;\n\t},\n\n\tasync getSkillFiles(name: string): Promise<{ files: SkillFileInfo[] }> {\n\t\tconst response = await apiListSkillFiles({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { files: SkillFileInfo[] };\n\t},\n\n\tasync getSkillFileContent(\n\t\tname: string,\n\t\tfilePath: string,\n\t): Promise<{ content: string; path: string }> {\n\t\tconst response = await apiGetSkillFile({\n\t\t\tpath: { name, filePath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { content: string; path: string };\n\t},\n\n\tasync getSkillsConfig(): Promise<SkillsConfigResponse> {\n\t\tconst response = await apiGetSkillsConfig();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillsConfigResponse;\n\t},\n\n\tasync updateSkillsConfig(input: {\n\t\tenabled?: boolean;\n\t\titems?: Record<string, { enabled?: boolean }>;\n\t\tscope?: 'global' | 'local';\n\t}): Promise<SkillsConfigResponse> {\n\t\tconst response = await apiUpdateSkillsConfig({ body: input });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillsConfigResponse;\n\t},\n};\n",
|
|
33
|
+
"import { sessionsMixin } from './sessions';\nimport { gitMixin } from './git';\nimport { configMixin } from './config';\nimport { filesMixin } from './files';\nimport { branchesMixin } from './branches';\nimport { approvalMixin } from './approval';\nimport { ottorouterMixin } from './ottorouter';\nimport { authMixin } from './auth';\nimport { skillsMixin } from './skills';\n\nexport { configureApiClient } from './utils';\n\nclass ApiClient {\n\tgetSessions = sessionsMixin.getSessions;\n\tgetSessionsPage = sessionsMixin.getSessionsPage;\n\tcreateSession = sessionsMixin.createSession;\n\tupdateSession = sessionsMixin.updateSession;\n\tdeleteSession = sessionsMixin.deleteSession;\n\tabortSession = sessionsMixin.abortSession;\n\tabortMessage = sessionsMixin.abortMessage;\n\tgetQueueState = sessionsMixin.getQueueState;\n\tremoveFromQueue = sessionsMixin.removeFromQueue;\n\tgetMessages = sessionsMixin.getMessages;\n\tsendMessage = sessionsMixin.sendMessage;\n\tgetStreamUrl = sessionsMixin.getStreamUrl;\n\tretryMessage = sessionsMixin.retryMessage;\n\n\tinitGitRepo = gitMixin.initGitRepo;\n\tgetGitStatus = gitMixin.getGitStatus;\n\tgetGitDiff = gitMixin.getGitDiff;\n\tgetGitDiffFullFile = gitMixin.getGitDiffFullFile;\n\tgenerateCommitMessage = gitMixin.generateCommitMessage;\n\tstageFiles = gitMixin.stageFiles;\n\tunstageFiles = gitMixin.unstageFiles;\n\trestoreFiles = gitMixin.restoreFiles;\n\tdeleteFiles = gitMixin.deleteFiles;\n\tcommitChanges = gitMixin.commitChanges;\n\tgetGitBranch = gitMixin.getGitBranch;\n\tpushCommits = gitMixin.pushCommits;\n\tpullChanges = gitMixin.pullChanges;\n\tgetRemotes = gitMixin.getRemotes;\n\taddRemote = gitMixin.addRemote;\n\tremoveRemote = gitMixin.removeRemote;\n\n\tgetConfig = configMixin.getConfig;\n\tgetModels = configMixin.getModels;\n\tgetAllModels = configMixin.getAllModels;\n\tupdateDefaults = configMixin.updateDefaults;\n\n\tlistFiles = filesMixin.listFiles;\n\tgetFileTree = filesMixin.getFileTree;\n\treadFileContent = filesMixin.readFileContent;\n\tgetSessionFiles = filesMixin.getSessionFiles;\n\n\tcreateBranch = branchesMixin.createBranch;\n\tlistBranches = branchesMixin.listBranches;\n\tgetParentSession = branchesMixin.getParentSession;\n\tgetShareStatus = branchesMixin.getShareStatus;\n\tshareSession = branchesMixin.shareSession;\n\tsyncSession = branchesMixin.syncSession;\n\n\tapproveToolCall = approvalMixin.approveToolCall;\n\tgetPendingApprovals = approvalMixin.getPendingApprovals;\n\n\tgetOttoRouterBalance = ottorouterMixin.getOttoRouterBalance;\n\tgetOttoRouterWallet = ottorouterMixin.getOttoRouterWallet;\n\tgetOttoRouterUsdcBalance = ottorouterMixin.getOttoRouterUsdcBalance;\n\tgetPolarTopupEstimate = ottorouterMixin.getPolarTopupEstimate;\n\tcreatePolarCheckout = ottorouterMixin.createPolarCheckout;\n\tselectTopupMethod = ottorouterMixin.selectTopupMethod;\n\tcancelTopup = ottorouterMixin.cancelTopup;\n\tgetPendingTopup = ottorouterMixin.getPendingTopup;\n\tgetPolarTopupStatus = ottorouterMixin.getPolarTopupStatus;\n\tgetRazorpayTopupEstimate = ottorouterMixin.getRazorpayTopupEstimate;\n\tcreateRazorpayOrder = ottorouterMixin.createRazorpayOrder;\n\tverifyRazorpayPayment = ottorouterMixin.verifyRazorpayPayment;\n\n\tgetAuthStatus = authMixin.getAuthStatus;\n\tsetupOttoRouterWallet = authMixin.setupOttoRouterWallet;\n\timportOttoRouterWallet = authMixin.importOttoRouterWallet;\n\texportOttoRouterWallet = authMixin.exportOttoRouterWallet;\n\taddProvider = authMixin.addProvider;\n\tremoveProvider = authMixin.removeProvider;\n\tcompleteOnboarding = authMixin.completeOnboarding;\n\tgetOAuthStartUrl = authMixin.getOAuthStartUrl;\n\tgetOAuthUrl = authMixin.getOAuthUrl;\n\texchangeOAuthCode = authMixin.exchangeOAuthCode;\n\tstartCopilotDeviceFlow = authMixin.startCopilotDeviceFlow;\n\tpollCopilotDeviceFlow = authMixin.pollCopilotDeviceFlow;\n\tgetCopilotAuthMethods = authMixin.getCopilotAuthMethods;\n\tsaveCopilotToken = authMixin.saveCopilotToken;\n\timportCopilotTokenFromGh = authMixin.importCopilotTokenFromGh;\n\tgetCopilotDiagnostics = authMixin.getCopilotDiagnostics;\n\tgetProviderUsage = authMixin.getProviderUsage;\n\n\tlistSkills = skillsMixin.listSkills;\n\tgetSkill = skillsMixin.getSkill;\n\tgetSkillFiles = skillsMixin.getSkillFiles;\n\tgetSkillFileContent = skillsMixin.getSkillFileContent;\n\tgetSkillsConfig = skillsMixin.getSkillsConfig;\n\tupdateSkillsConfig = skillsMixin.updateSkillsConfig;\n}\n\nexport const apiClient = new ApiClient();\n",
|
|
34
34
|
"import { useCallback, useMemo, useSyncExternalStore } from 'react';\nimport { useConfig, useUpdateDefaults } from './useConfig';\n\ninterface StoredPreferences {\n\tvimMode: boolean;\n\tcompactThread: boolean;\n}\n\ninterface Preferences extends StoredPreferences {\n\tfullWidthContent: boolean;\n}\n\nconst STORAGE_KEY = 'otto-preferences';\nconst DEFAULT_STORED_PREFERENCES: StoredPreferences = {\n\tvimMode: false,\n\tcompactThread: true,\n};\n\nfunction resolveInitialPreferences(): StoredPreferences {\n\tif (typeof window === 'undefined') {\n\t\treturn DEFAULT_STORED_PREFERENCES;\n\t}\n\ttry {\n\t\tconst stored = window.localStorage.getItem(STORAGE_KEY);\n\t\tif (stored) {\n\t\t\tconst parsed = JSON.parse(stored) as Partial<StoredPreferences>;\n\t\t\treturn {\n\t\t\t\tvimMode:\n\t\t\t\t\ttypeof parsed.vimMode === 'boolean'\n\t\t\t\t\t\t? parsed.vimMode\n\t\t\t\t\t\t: DEFAULT_STORED_PREFERENCES.vimMode,\n\t\t\t\tcompactThread:\n\t\t\t\t\ttypeof parsed.compactThread === 'boolean'\n\t\t\t\t\t\t? parsed.compactThread\n\t\t\t\t\t\t: DEFAULT_STORED_PREFERENCES.compactThread,\n\t\t\t};\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn('Failed to load preferences', error);\n\t}\n\treturn DEFAULT_STORED_PREFERENCES;\n}\n\nlet preferences: StoredPreferences = resolveInitialPreferences();\nconst listeners = new Set<() => void>();\n\nfunction getSnapshot(): StoredPreferences {\n\treturn preferences;\n}\n\nfunction getServerSnapshot(): StoredPreferences {\n\treturn DEFAULT_STORED_PREFERENCES;\n}\n\nfunction subscribe(listener: () => void): () => void {\n\tlisteners.add(listener);\n\treturn () => listeners.delete(listener);\n}\n\nfunction notifyListeners() {\n\tfor (const listener of listeners) {\n\t\tlistener();\n\t}\n}\n\nfunction updateStore(updates: Partial<StoredPreferences>) {\n\tpreferences = { ...preferences, ...updates };\n\tif (typeof window !== 'undefined') {\n\t\ttry {\n\t\t\twindow.localStorage.setItem(STORAGE_KEY, JSON.stringify(preferences));\n\t\t} catch (error) {\n\t\t\tconsole.warn('Failed to persist preferences', error);\n\t\t}\n\t}\n\tnotifyListeners();\n}\n\nexport function usePreferences() {\n\tconst currentPreferences = useSyncExternalStore(\n\t\tsubscribe,\n\t\tgetSnapshot,\n\t\tgetServerSnapshot,\n\t);\n\tconst { data: config } = useConfig();\n\tconst updateDefaults = useUpdateDefaults();\n\n\tconst updatePreferences = useCallback(\n\t\t(updates: Partial<Preferences>) => {\n\t\t\tconst localUpdates: Partial<StoredPreferences> = {};\n\n\t\t\tif (updates.vimMode !== undefined) {\n\t\t\t\tlocalUpdates.vimMode = updates.vimMode;\n\t\t\t}\n\t\t\tif (updates.compactThread !== undefined) {\n\t\t\t\tlocalUpdates.compactThread = updates.compactThread;\n\t\t\t}\n\n\t\t\tif (Object.keys(localUpdates).length > 0) {\n\t\t\t\tupdateStore(localUpdates);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tupdates.fullWidthContent !== undefined &&\n\t\t\t\tupdates.fullWidthContent !== config?.defaults?.fullWidthContent\n\t\t\t) {\n\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\tfullWidthContent: updates.fullWidthContent,\n\t\t\t\t\tscope: 'global',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[config?.defaults?.fullWidthContent, updateDefaults],\n\t);\n\n\tconst resolvedPreferences = useMemo<Preferences>(\n\t\t() => ({\n\t\t\t...currentPreferences,\n\t\t\tfullWidthContent: config?.defaults?.fullWidthContent ?? false,\n\t\t}),\n\t\t[currentPreferences, config?.defaults?.fullWidthContent],\n\t);\n\n\treturn useMemo(\n\t\t() => ({ preferences: resolvedPreferences, updatePreferences }),\n\t\t[resolvedPreferences, updatePreferences],\n\t);\n}\n\nexport type { Preferences };\n",
|
|
35
35
|
"import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport type { ShareStatus } from '../types/api';\n\nexport function useShareStatus(sessionId: string | undefined): {\n\tdata: ShareStatus | undefined;\n\tisLoading: boolean;\n\terror: Error | null;\n} {\n\tconst { data, isLoading, error } = useQuery({\n\t\tqueryKey: ['share-status', sessionId],\n\t\tqueryFn: () => apiClient.getShareStatus(sessionId as string),\n\t\tenabled: !!sessionId,\n\t\tstaleTime: 30000,\n\t});\n\n\treturn { data, isLoading, error: error as Error | null };\n}\n",
|
|
36
36
|
"import {\n\tTerminal,\n\tSparkles,\n\tPlus,\n\tKeyboard,\n\tCode,\n\tBrain,\n\tStopCircle,\n\tGitBranch,\n\tCheck,\n\tMinimize2,\n\tSplit,\n\tTrash2,\n\tShare2,\n\tRefreshCw,\n\tFileText,\n} from 'lucide-react';\n\nexport interface Command {\n\tid: string;\n\tlabel: string;\n\tdescription: string | ((state: CommandState) => string);\n\ticon: typeof Terminal;\n}\n\nexport interface CommandState {\n\tvimModeEnabled: boolean;\n\treasoningEnabled: boolean;\n\tisShared?: boolean;\n}\n\nexport const COMMANDS: Command[] = [\n\t{\n\t\tid: 'models',\n\t\tlabel: '/models',\n\t\tdescription: 'Open model selector',\n\t\ticon: Sparkles,\n\t},\n\t{\n\t\tid: 'agents',\n\t\tlabel: '/agents',\n\t\tdescription: 'Open agent selector',\n\t\ticon: Terminal,\n\t},\n\t{\n\t\tid: 'new',\n\t\tlabel: '/new',\n\t\tdescription: 'Create new session',\n\t\ticon: Plus,\n\t},\n\t{\n\t\tid: 'stop',\n\t\tlabel: '/stop',\n\t\tdescription: 'Stop current generation',\n\t\ticon: StopCircle,\n\t},\n\t{\n\t\tid: 'help',\n\t\tlabel: '/help',\n\t\tdescription: 'Show keyboard shortcuts and help',\n\t\ticon: Keyboard,\n\t},\n\t{\n\t\tid: 'vim',\n\t\tlabel: '/vim',\n\t\tdescription: (state) =>\n\t\t\tstate.vimModeEnabled ? 'Disable Vim mode' : 'Enable Vim mode',\n\t\ticon: Code,\n\t},\n\t{\n\t\tid: 'reasoning',\n\t\tlabel: '/reasoning',\n\t\tdescription: (state) =>\n\t\t\tstate.reasoningEnabled\n\t\t\t\t? 'Disable extended thinking'\n\t\t\t\t: 'Enable extended thinking',\n\t\ticon: Brain,\n\t},\n\t{\n\t\tid: 'stage',\n\t\tlabel: '/stage',\n\t\tdescription: 'Stage all changes (git add -A)',\n\t\ticon: GitBranch,\n\t},\n\t{\n\t\tid: 'commit',\n\t\tlabel: '/commit',\n\t\tdescription: 'Commit staged changes',\n\t\ticon: Check,\n\t},\n\t{\n\t\tid: 'compact',\n\t\tlabel: '/compact',\n\t\tdescription: 'Compact conversation to reduce context size',\n\t\ticon: Minimize2,\n\t},\n\t{\n\t\tid: 'init',\n\t\tlabel: '/init',\n\t\tdescription:\n\t\t\t'Generate AGENTS.md and .agents docs from the real repo structure',\n\t\ticon: FileText,\n\t},\n\t{\n\t\tid: 'branch',\n\t\tlabel: '/branch',\n\t\tdescription: 'Branch session from last message',\n\t\ticon: Split,\n\t},\n\t{\n\t\tid: 'delete',\n\t\tlabel: '/delete',\n\t\tdescription: 'Delete current session',\n\t\ticon: Trash2,\n\t},\n\t{\n\t\tid: 'share',\n\t\tlabel: '/share',\n\t\tdescription: 'Share session publicly',\n\t\ticon: Share2,\n\t},\n\t{\n\t\tid: 'sync',\n\t\tlabel: '/sync',\n\t\tdescription: 'Sync new messages to shared session',\n\t\ticon: RefreshCw,\n\t},\n];\n\nexport function getCommandDescription(\n\tcmd: Command,\n\tstate: CommandState,\n): string {\n\treturn typeof cmd.description === 'function'\n\t\t? cmd.description(state)\n\t\t: cmd.description;\n}\n\nexport function findExactCommand(input: string): Command | undefined {\n\tconst normalized = input.trim().toLowerCase();\n\tif (!normalized.startsWith('/')) return undefined;\n\treturn COMMANDS.find(\n\t\t(cmd) =>\n\t\t\tcmd.label.toLowerCase() === normalized ||\n\t\t\t`/${cmd.id}`.toLowerCase() === normalized,\n\t);\n}\n\nexport function shouldSendSlashCommandAsMessage(commandId: string): boolean {\n\treturn commandId === 'compact' || commandId === 'init';\n}\n\nexport function getCommandLabel(commandId: string): string | undefined {\n\treturn COMMANDS.find((cmd) => cmd.id === commandId)?.label;\n}\n\nexport function filterCommands(query: string, state: CommandState): Command[] {\n\tconst baseCommands = COMMANDS.filter((cmd) => {\n\t\tif (cmd.id === 'share' && state.isShared) return false;\n\t\tif (cmd.id === 'sync' && !state.isShared) return false;\n\t\treturn true;\n\t});\n\n\tif (!query) {\n\t\treturn baseCommands;\n\t}\n\n\tconst lowerQuery = query.toLowerCase();\n\tconst matches: (Command & { matchScore: number })[] = [];\n\n\tfor (const cmd of baseCommands) {\n\t\tconst desc = getCommandDescription(cmd, state);\n\t\tconst labelMatch = cmd.label.toLowerCase().includes(lowerQuery);\n\t\tconst descriptionMatch = desc.toLowerCase().includes(lowerQuery);\n\n\t\tif (labelMatch || descriptionMatch) {\n\t\t\tconst matchScore = labelMatch ? 10 : 5;\n\t\t\tmatches.push({ ...cmd, matchScore });\n\t\t}\n\t}\n\n\treturn matches.sort((a, b) => {\n\t\tconst scoreDiff = b.matchScore - a.matchScore;\n\t\tif (scoreDiff !== 0) return scoreDiff;\n\t\treturn a.label.localeCompare(b.label);\n\t});\n}\n",
|
|
37
37
|
"import { useEffect, useRef } from 'react';\nimport { Modal } from '../ui/Modal';\nimport { Keyboard, Command } from 'lucide-react';\n\ninterface ShortcutsModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n}\n\ninterface ShortcutItem {\n\tkeys: string[];\n\tdescription: string;\n\tcategory: string;\n}\n\nconst SHORTCUTS: ShortcutItem[] = [\n\t{\n\t\tkeys: ['Ctrl', 'H'],\n\t\tdescription: 'Navigate to left sidebar (sessions)',\n\t\tcategory: 'Navigation',\n\t},\n\t{\n\t\tkeys: ['Ctrl', 'L'],\n\t\tdescription: 'Navigate to right sidebar (git)',\n\t\tcategory: 'Navigation',\n\t},\n\t{\n\t\tkeys: ['Ctrl', '/'],\n\t\tdescription: 'Toggle left sidebar collapse/expand',\n\t\tcategory: 'Navigation',\n\t},\n\t{\n\t\tkeys: ['Ctrl', '\\\\'],\n\t\tdescription: 'Toggle right sidebar collapse/expand',\n\t\tcategory: 'Navigation',\n\t},\n\t{\n\t\tkeys: ['Ctrl', 'N'],\n\t\tdescription: 'Create new session',\n\t\tcategory: 'Navigation',\n\t},\n\t{\n\t\tkeys: ['ESC'],\n\t\tdescription: 'Close sidebar and return to center',\n\t\tcategory: 'Navigation',\n\t},\n\t{\n\t\tkeys: ['J'],\n\t\tdescription: 'Navigate to next item (in focused list)',\n\t\tcategory: 'List Navigation',\n\t},\n\t{\n\t\tkeys: ['K'],\n\t\tdescription: 'Navigate to previous item (in focused list)',\n\t\tcategory: 'List Navigation',\n\t},\n\t{\n\t\tkeys: ['Enter'],\n\t\tdescription: 'Select focused item and return to input',\n\t\tcategory: 'List Navigation',\n\t},\n\t{\n\t\tkeys: ['Space'],\n\t\tdescription: 'Toggle stage/unstage for focused file (git panel)',\n\t\tcategory: 'Git Operations',\n\t},\n\t{\n\t\tkeys: ['A'],\n\t\tdescription: 'Stage all unstaged files',\n\t\tcategory: 'Git Operations',\n\t},\n\t{\n\t\tkeys: ['U'],\n\t\tdescription: 'Unstage all staged files',\n\t\tcategory: 'Git Operations',\n\t},\n\t{\n\t\tkeys: ['C'],\n\t\tdescription: 'Open commit modal (if files are staged)',\n\t\tcategory: 'Git Operations',\n\t},\n\t{\n\t\tkeys: ['Tab'],\n\t\tdescription: 'Toggle plan mode',\n\t\tcategory: 'Chat',\n\t},\n\t{\n\t\tkeys: ['Enter'],\n\t\tdescription: 'Send message',\n\t\tcategory: 'Chat',\n\t},\n\t{\n\t\tkeys: ['Shift', 'Enter'],\n\t\tdescription: 'New line in message',\n\t\tcategory: 'Chat',\n\t},\n\t{\n\t\tkeys: ['@'],\n\t\tdescription: 'Mention file (opens file picker)',\n\t\tcategory: 'Chat',\n\t},\n\t{\n\t\tkeys: ['/'],\n\t\tdescription: 'Slash command (opens command menu)',\n\t\tcategory: 'Chat',\n\t},\n];\n\nconst VIM_MODE_SHORTCUTS: ShortcutItem[] = [\n\t{\n\t\tkeys: ['i'],\n\t\tdescription: 'Enter insert mode at cursor (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['a'],\n\t\tdescription: 'Enter insert mode after cursor (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['I'],\n\t\tdescription: 'Enter insert mode at line start (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['A'],\n\t\tdescription: 'Enter insert mode at line end (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['o'],\n\t\tdescription: 'New line below and enter insert mode (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['O'],\n\t\tdescription: 'New line above and enter insert mode (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['ESC'],\n\t\tdescription: 'Return to normal mode (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['Enter'],\n\t\tdescription: 'Send message in normal mode (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['w'],\n\t\tdescription: 'Jump to next word start (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['e'],\n\t\tdescription: 'Jump to next word end (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['b'],\n\t\tdescription: 'Jump to previous word start (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['x'],\n\t\tdescription: 'Delete character under cursor (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['s'],\n\t\tdescription: 'Delete character and enter insert mode (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['S'],\n\t\tdescription: 'Delete line and enter insert mode (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['f', '{char}'],\n\t\tdescription: 'Find and jump to next character on line (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['d', 'd'],\n\t\tdescription: 'Delete current line (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['0'],\n\t\tdescription: 'Jump to line start (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n\t{\n\t\tkeys: ['$'],\n\t\tdescription: 'Jump to line end (vim mode)',\n\t\tcategory: 'Vim Mode',\n\t},\n];\n\nconst SLASH_COMMANDS = [\n\t{\n\t\tcommand: '/models',\n\t\tdescription: 'Open model selector',\n\t},\n\t{\n\t\tcommand: '/agents',\n\t\tdescription: 'Open agent selector',\n\t},\n\t{\n\t\tcommand: '/new',\n\t\tdescription: 'Create new session',\n\t},\n\t{\n\t\tcommand: '/help',\n\t\tdescription: 'Show keyboard shortcuts and help (this modal)',\n\t},\n\t{\n\t\tcommand: '/compact',\n\t\tdescription: 'Compact conversation to reduce context size',\n\t},\n\t{\n\t\tcommand: '/init',\n\t\tdescription: 'Generate AGENTS.md and focused .agents docs for the repo',\n\t},\n];\n\nfunction groupShortcutsByCategory(shortcuts: ShortcutItem[]) {\n\tconst grouped: Record<string, ShortcutItem[]> = {};\n\tfor (const shortcut of shortcuts) {\n\t\tif (!grouped[shortcut.category]) {\n\t\t\tgrouped[shortcut.category] = [];\n\t\t}\n\t\tgrouped[shortcut.category].push(shortcut);\n\t}\n\treturn grouped;\n}\n\nexport function ShortcutsModal({ isOpen, onClose }: ShortcutsModalProps) {\n\tconst allShortcuts = [...SHORTCUTS, ...VIM_MODE_SHORTCUTS];\n\tconst groupedShortcuts = groupShortcutsByCategory(allShortcuts);\n\tconst modalContentRef = useRef<HTMLDivElement>(null);\n\tconst previousActiveElement = useRef<HTMLElement | null>(null);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tpreviousActiveElement.current = document.activeElement as HTMLElement;\n\t\t\tif (previousActiveElement.current) {\n\t\t\t\tpreviousActiveElement.current.blur();\n\t\t\t}\n\t\t} else {\n\t\t\tif (previousActiveElement.current) {\n\t\t\t\tpreviousActiveElement.current.focus();\n\t\t\t\tpreviousActiveElement.current = null;\n\t\t\t}\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tif (!isOpen) return;\n\n\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isInputField =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\n\t\t\tif (isInputField) return;\n\n\t\t\tif (e.key === 'j') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst container = modalContentRef.current;\n\t\t\t\tif (container) {\n\t\t\t\t\tcontainer.scrollBy({ top: 100, behavior: 'smooth' });\n\t\t\t\t}\n\t\t\t} else if (e.key === 'k') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst container = modalContentRef.current;\n\t\t\t\tif (container) {\n\t\t\t\t\tcontainer.scrollBy({ top: -100, behavior: 'smooth' });\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handleKeyDown);\n\t\treturn () => document.removeEventListener('keydown', handleKeyDown);\n\t}, [isOpen, onClose]);\n\n\treturn (\n\t\t<Modal\n\t\t\tisOpen={isOpen}\n\t\t\tonClose={onClose}\n\t\t\ttitle={\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Keyboard className=\"w-5 h-5\" />\n\t\t\t\t\t<span>Keyboard Shortcuts & Help</span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\tmaxWidth=\"2xl\"\n\t\t\tcloseOnEscape={true}\n\t\t\tcloseOnBackdropClick={true}\n\t\t>\n\t\t\t<div\n\t\t\t\tref={modalContentRef}\n\t\t\t\tclassName=\"space-y-6 max-h-[70vh] overflow-y-auto\"\n\t\t\t>\n\t\t\t\t{Object.entries(groupedShortcuts).map(([category, shortcuts]) => (\n\t\t\t\t\t<div key={category}>\n\t\t\t\t\t\t<h3 className=\"text-sm font-semibold text-foreground mb-3 flex items-center gap-2\">\n\t\t\t\t\t\t\t<Command className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t{category}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t{shortcuts.map((shortcut, _index) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={`${category}-${shortcut.description}`}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-foreground\">\n\t\t\t\t\t\t\t\t\t\t{shortcut.description}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t{shortcut.keys.map((key) => (\n\t\t\t\t\t\t\t\t\t\t\t<span key={key} className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t<kbd className=\"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{key}\n\t\t\t\t\t\t\t\t\t\t\t\t</kbd>\n\t\t\t\t\t\t\t\t\t\t\t\t{shortcut.keys.indexOf(key) <\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcut.keys.length - 1 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">+</span>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\n\t\t\t\t<div>\n\t\t\t\t\t<h3 className=\"text-sm font-semibold text-foreground mb-3 flex items-center gap-2\">\n\t\t\t\t\t\t<Command className=\"w-4 h-4\" />\n\t\t\t\t\t\tSlash Commands\n\t\t\t\t\t</h3>\n\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t{SLASH_COMMANDS.map((cmd, _index) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={cmd.command}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text-sm text-foreground\">\n\t\t\t\t\t\t\t\t\t{cmd.description}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<kbd className=\"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm\">\n\t\t\t\t\t\t\t\t\t{cmd.command}\n\t\t\t\t\t\t\t\t</kbd>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"pt-4 border-t border-border\">\n\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t<strong>Tip:</strong> Shortcuts are disabled when typing in input\n\t\t\t\t\t\tfields. Press <kbd className=\"text-xs\">ESC</kbd> to close popups and\n\t\t\t\t\t\treturn focus to chat input.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n",
|
|
38
38
|
"import { useEffect, type ReactNode } from 'react';\nimport { X } from 'lucide-react';\n\ninterface ModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\ttitle?: string | React.ReactNode;\n\tchildren: ReactNode;\n\tshowCloseButton?: boolean;\n\tcloseOnBackdropClick?: boolean;\n\tcloseOnEscape?: boolean;\n\tmaxWidth?: 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\tposition?: 'fixed' | 'absolute';\n}\n\nconst maxWidthClasses = {\n\tsm: 'max-w-sm',\n\tmd: 'max-w-md',\n\tlg: 'max-w-lg',\n\txl: 'max-w-xl',\n\t'2xl': 'max-w-2xl',\n};\n\nexport function Modal({\n\tisOpen,\n\tonClose,\n\ttitle,\n\tchildren,\n\tshowCloseButton = true,\n\tcloseOnBackdropClick = true,\n\tcloseOnEscape = true,\n\tmaxWidth = 'md',\n\tposition = 'fixed',\n}: ModalProps) {\n\tuseEffect(() => {\n\t\tif (!isOpen || !closeOnEscape) return;\n\n\t\tconst handleEscape = (e: KeyboardEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (e.key === 'Escape' || (e.key === 'q' && !isInInput)) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handleEscape);\n\t\treturn () => document.removeEventListener('keydown', handleEscape);\n\t}, [isOpen, closeOnEscape, onClose]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\t// Prevent body scroll when modal is open\n\t\t\tdocument.body.style.overflow = 'hidden';\n\t\t\treturn () => {\n\t\t\t\tdocument.body.style.overflow = '';\n\t\t\t};\n\t\t}\n\t}, [isOpen]);\n\n\tif (!isOpen) return null;\n\n\tconst handleBackdropClick = (e: React.MouseEvent<HTMLElement>) => {\n\t\tif (closeOnBackdropClick && e.target === e.currentTarget) {\n\t\t\tonClose();\n\t\t}\n\t};\n\n\tconst overlayPositionClass = position === 'absolute' ? 'absolute' : 'fixed';\n\n\treturn (\n\t\t<>\n\t\t\t{/* Backdrop */}\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tdata-native-overlay-root=\"true\"\n\t\t\t\tclassName={`${overlayPositionClass} inset-0 bg-black/50 backdrop-blur-sm z-[9999] cursor-default`}\n\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\thandleBackdropClick(\n\t\t\t\t\t\t\te as unknown as React.MouseEvent<HTMLDivElement>,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\taria-label=\"Close modal\"\n\t\t\t/>\n\n\t\t\t{/* Modal Container */}\n\t\t\t<div\n\t\t\t\tdata-native-overlay-root=\"true\"\n\t\t\t\tclassName={`${overlayPositionClass} top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[9999] w-full ${maxWidthClasses[maxWidth]} px-4`}\n\t\t\t>\n\t\t\t\t<div className=\"bg-background border border-border rounded-lg shadow-lg\">\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t{(title || showCloseButton) && (\n\t\t\t\t\t\t<div className=\"flex items-center justify-between p-4 border-b border-border\">\n\t\t\t\t\t\t\t{title && (\n\t\t\t\t\t\t\t\t<div className=\"text-lg font-semibold text-foreground\">\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{showCloseButton && (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={onClose}\n\t\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground hover:text-foreground transition-colors ml-auto\"\n\t\t\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<X className=\"h-5 w-5\" />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Content */}\n\t\t\t\t\t<div className=\"p-6\">{children}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n",
|
|
39
|
-
"import { memo } from 'react';\n\nimport {\n\tanthropicLogo,\n\topenaiLogo,\n\tgoogleLogo,\n\topenrouterLogo,\n\tgroqLogo,\n\tdeepseekLogo,\n\txaiLogo,\n\tzaiLogo,\n\tsetuLogo,\n\tminimaxLogo,\n\topencodeLogo,\n\tcopilotLogo,\n} from '../../assets/provider-logos';\n\nconst providerLogos: Record<string, string> = {\n\tanthropic: anthropicLogo,\n\topenai: openaiLogo,\n\tgoogle: googleLogo,\n\topenrouter: openrouterLogo,\n\tgroq: groqLogo,\n\tdeepseek: deepseekLogo,\n\txai: xaiLogo,\n\tzai: zaiLogo,\n\t'zai-coding': zaiLogo,\n\tottorouter: setuLogo,\n\tminimax: minimaxLogo,\n\topencode: opencodeLogo,\n\tcopilot: copilotLogo,\n};\n\ninterface ProviderLogoProps {\n\tprovider: string;\n\tclassName?: string;\n\tsize?: number;\n}\n\nexport const ProviderLogo = memo(function ProviderLogo({\n\tprovider,\n\tclassName = '',\n\tsize = 16,\n}: ProviderLogoProps) {\n\tconst
|
|
40
|
-
"export const anthropicLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M26.9568 9.88184H22.1265L30.7753 31.7848H35.4917L26.9568 9.88184ZM13.028 9.88184L4.4917 31.7848H9.32203L11.2305 27.1793H20.2166L22.0126 31.6724H26.8444L18.0832 9.88184H13.028ZM12.5783 23.1361L15.4987 15.3853L18.5315 23.1361H12.5783Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const openaiLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M32.8377 17.282C33.2127 16.25 33.3072 15.218 33.2127 14.1875C33.1197 13.1571 32.7447 12.1251 32.2752 11.1876C31.4322 9.78209 30.2127 8.6571 28.8072 8.0001C27.3072 7.34461 25.7127 7.15711 24.1197 7.53211C23.3698 6.78212 22.5253 6.12512 21.5878 5.65713C20.6503 5.18913 19.5253 5.00013 18.4948 5.00013C16.8851 4.99074 15.3125 5.48246 13.9948 6.40712C12.6824 7.34311 11.7449 8.6571 11.2754 10.1571C10.1504 10.4376 9.21289 10.9071 8.27539 11.4696C7.4324 12.1251 6.77541 12.9696 6.21291 13.8126C5.36992 15.2195 5.08792 16.8125 5.27542 18.407C5.46399 19.9968 6.11605 21.496 7.1504 22.718C6.79608 23.7086 6.66795 24.7659 6.77541 25.8124C6.86991 26.8444 7.2449 27.8749 7.7129 28.8124C8.55739 30.2194 9.77538 31.3444 11.1824 31.9999C12.6824 32.6569 14.2753 32.8444 15.8698 32.4694C16.6198 33.2194 17.4628 33.8749 18.4003 34.3444C19.3378 34.8139 20.4628 34.9999 21.4948 34.9999C23.1043 35.0097 24.6769 34.5185 25.9947 33.5944C27.3072 32.6569 28.2447 31.3444 28.7127 29.8444C29.7719 29.6432 30.7682 29.1934 31.6197 28.5319C32.4627 27.8749 33.2127 27.1249 33.6822 26.1874C34.5251 24.7819 34.8071 23.1875 34.6196 21.5945C34.4322 20 33.8697 18.5015 32.8377 17.282ZM21.5878 33.0304C20.0878 33.0304 18.9628 32.5609 17.9323 31.7179C17.9323 31.7179 18.0253 31.6234 18.1198 31.6234L24.1197 28.1554C24.2862 28.0803 24.4196 27.9469 24.4947 27.7804C24.5698 27.636 24.6021 27.4731 24.5877 27.3109V18.875L27.1197 20.375V27.3124C27.1455 28.0547 27.0215 28.7945 26.755 29.4878C26.4885 30.181 26.085 30.8134 25.5687 31.3473C25.0523 31.8811 24.4337 32.3054 23.7497 32.5949C23.0658 32.8843 22.3305 33.0314 21.5878 33.0304ZM9.49488 27.8749C8.83789 26.7499 8.55739 25.4374 8.83789 24.125C8.83789 24.125 8.93239 24.2195 9.02539 24.2195L15.0253 27.6874C15.1693 27.7638 15.3325 27.7966 15.4948 27.7819C15.6823 27.7819 15.8698 27.7819 15.9628 27.6874L23.2753 23.4695V26.3749L17.1823 29.9374C16.5506 30.3042 15.8527 30.5427 15.1287 30.6393C14.4046 30.7358 13.6686 30.6884 12.9629 30.4999C11.4629 30.1249 10.2449 29.1874 9.49488 27.8749ZM7.9004 14.8445C8.56239 13.7234 9.58826 12.8627 10.8074 12.4056V19.532C10.8074 19.718 10.8074 19.907 10.9004 20C10.9755 20.1665 11.1089 20.2998 11.2754 20.375L18.5878 24.5944L16.0573 26.0944L10.0574 22.625C9.41842 22.2639 8.85742 21.7797 8.40684 21.2004C7.95627 20.6211 7.62506 19.9582 7.4324 19.25C7.05741 17.8445 7.1504 16.157 7.9004 14.8445ZM28.6197 19.625L21.3073 15.407L23.8377 13.9071L29.8377 17.375C30.7752 17.9375 31.5252 18.6875 31.9947 19.625C32.4642 20.5625 32.7447 21.5945 32.6502 22.7195C32.5603 23.7755 32.1699 24.7837 31.5252 25.6249C30.8697 26.4694 30.0252 27.1249 28.9947 27.4999V20.375C28.9947 20.1875 28.9947 20 28.9002 19.907C28.9002 19.907 28.8072 19.718 28.6197 19.625ZM31.1502 15.875C31.1502 15.875 31.0572 15.782 30.9627 15.782L24.9627 12.3126C24.7752 12.2196 24.6822 12.2196 24.4947 12.2196C24.3072 12.2196 24.1197 12.2196 24.0252 12.3126L16.7128 16.532V13.6251L22.8073 10.0626C23.7448 9.50009 24.7752 9.31259 25.9002 9.31259C26.9322 9.31259 27.9627 9.68759 28.9002 10.3446C29.7447 11.0001 30.4947 11.8446 30.8697 12.7821C31.2447 13.7196 31.3377 14.8445 31.1502 15.875ZM15.4003 21.125L12.8699 19.625V12.5946C12.8699 11.5626 13.1503 10.4376 13.7128 9.59459C14.2753 8.6571 15.1198 8.0001 16.0573 7.53211C17.0127 7.05249 18.0956 6.88812 19.1503 7.06261C20.1823 7.15711 21.2128 7.62511 22.0573 8.2821C22.0573 8.2821 21.9628 8.3751 21.8698 8.3751L15.8698 11.8446C15.7033 11.9197 15.57 12.0531 15.4948 12.2196C15.4003 12.4071 15.4003 12.5001 15.4003 12.6876V21.125ZM16.7128 18.125L19.9948 16.25L23.2753 18.125V21.875L19.9948 23.75L16.7128 21.875V18.125Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const googleLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M37 20.034C27.8809 20.5837 20.5808 27.8809 20.0326 37H19.966C19.4163 27.8809 12.1177 20.5837 3 20.034V19.9674C12.1191 19.4163 19.4163 12.1191 19.966 3H20.0326C20.5822 12.1191 27.8809 19.4163 37 19.9674V20.034Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const openrouterLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088\" fill=\"currentColor\"/>\n<path d=\"M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088\" stroke=\"currentColor\" stroke-width=\"3.27593\"/>\n<path d=\"M21.6 7.43108L16.0037 10.6622V4.20001L21.6 7.43108Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0.0363992\"/>\n<path d=\"M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311\" fill=\"currentColor\"/>\n<path d=\"M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311\" stroke=\"currentColor\" stroke-width=\"3.27593\"/>\n<path d=\"M21.4909 16.7109L15.8945 13.4798V19.942L21.4909 16.7109Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0.0363992\"/>\n</svg>`;\n\nexport const groqLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M20.056 4.50022C14.0839 4.44597 9.20616 9.15015 9.15036 15.0106C9.09611 20.8726 13.8855 25.6621 19.8576 25.7163H23.6085V21.7391H20.056C16.3252 21.7825 13.2671 18.8468 13.2237 15.1827C13.1787 11.5216 16.1702 8.52086 19.901 8.47746H20.056C23.7868 8.47746 26.8108 11.4457 26.8216 15.1083V24.8809C26.8216 28.5109 23.8085 31.4683 20.1211 31.5132C18.3617 31.5007 16.6759 30.8049 15.42 29.5726L12.551 32.3905C14.5529 34.3571 17.239 35.4715 20.0451 35.4998H20.1877C26.0823 35.413 30.8175 30.7212 30.85 24.9351V14.8603C30.7059 9.0928 25.9165 4.50022 20.056 4.50022Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const deepseekLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M35.6638 9.91965C35.3251 9.75432 35.1785 10.0703 34.9811 10.2316C34.9131 10.2836 34.8558 10.3516 34.7985 10.413C34.3025 10.9423 33.7238 11.289 32.9678 11.2476C31.8625 11.1863 30.9186 11.533 30.0839 12.3783C29.9066 11.3356 29.3173 10.7143 28.4213 10.3143C27.9519 10.1063 27.4773 9.89965 27.148 9.44766C26.9186 9.12633 26.856 8.76767 26.7413 8.41568C26.668 8.20235 26.5946 7.98502 26.3506 7.94902C26.084 7.90769 25.98 8.13035 25.876 8.31702C25.4587 9.07967 25.2973 9.91965 25.3133 10.7703C25.3493 12.6849 26.1573 14.2102 27.764 15.2942C27.9466 15.4182 27.9933 15.5435 27.9359 15.7249C27.8266 16.0982 27.696 16.4609 27.5813 16.8355C27.508 17.0742 27.3986 17.1248 27.1426 17.0222C26.2777 16.6504 25.4919 16.1164 24.828 15.4489C23.6854 14.3449 22.6534 13.1263 21.3654 12.1716C21.067 11.9511 20.7606 11.7416 20.4468 11.5436C19.1335 10.2676 20.6201 9.21967 20.9641 9.09567C21.3241 8.965 21.0881 8.51968 19.9254 8.52501C18.7628 8.53035 17.6988 8.91834 16.3428 9.43699C16.1413 9.51421 15.934 9.57529 15.7229 9.61966C14.4557 9.38091 13.1598 9.33506 11.8789 9.48366C9.36565 9.76365 7.35902 10.953 5.88305 12.9809C4.10975 15.4182 3.69243 18.1888 4.20308 21.0768C4.74041 24.122 6.29504 26.6433 8.683 28.6139C11.1603 30.6579 14.0122 31.6592 17.2668 31.4672C19.2428 31.3539 21.4441 31.0886 23.9254 28.9873C24.552 29.2993 25.208 29.4233 26.2986 29.5166C27.1386 29.5953 27.9466 29.4766 28.5719 29.3459C29.5519 29.1379 29.4839 28.23 29.1306 28.0646C26.2573 26.726 26.888 27.2713 26.3133 26.83C27.7746 25.102 29.9746 23.3074 30.8359 17.4928C30.9026 17.0302 30.8452 16.7395 30.8359 16.3662C30.8306 16.1395 30.8826 16.0502 31.1426 16.0249C31.8639 15.95 32.5637 15.7349 33.2025 15.3915C35.0638 14.3742 35.8158 12.7049 35.9931 10.7023C36.0198 10.3956 35.9878 10.081 35.6638 9.91965ZM19.4414 27.9433C16.6562 25.754 15.3055 25.0327 14.7482 25.0634C14.2256 25.0954 14.3202 25.6913 14.4349 26.0807C14.5549 26.4647 14.7109 26.7286 14.9295 27.066C15.0815 27.2886 15.1855 27.6206 14.7789 27.87C13.8816 28.4246 12.3229 27.6833 12.2496 27.6473C10.435 26.578 8.91632 25.1673 7.84834 23.2381C6.81637 21.3808 6.21638 19.3888 6.11771 17.2622C6.09105 16.7475 6.24171 16.5662 6.7537 16.4729C7.42583 16.3442 8.11451 16.3267 8.79233 16.4209C11.6349 16.8368 14.0536 18.1075 16.0828 20.1194C17.2402 21.2661 18.1161 22.6354 19.0188 23.974C19.9788 25.3953 21.0108 26.75 22.3254 27.8593C22.7894 28.2486 23.1587 28.5446 23.5134 28.7619C22.4441 28.8819 20.6601 28.9086 19.4414 27.9433ZM20.7748 19.3568C20.7745 19.2906 20.7904 19.2253 20.8211 19.1666C20.8517 19.1078 20.8962 19.0575 20.9507 19.0198C21.0052 18.9821 21.068 18.9583 21.1337 18.9503C21.1995 18.9424 21.2662 18.9505 21.3281 18.9741C21.407 19.0024 21.475 19.0546 21.5228 19.1235C21.5706 19.1923 21.5958 19.2743 21.5947 19.3581C21.5949 19.4123 21.5843 19.4659 21.5636 19.5159C21.5428 19.5659 21.5123 19.6113 21.4738 19.6494C21.4354 19.6875 21.3897 19.7176 21.3395 19.7378C21.2893 19.7581 21.2356 19.7682 21.1814 19.7675C21.1277 19.7676 21.0745 19.7571 21.0248 19.7365C20.9752 19.7158 20.9302 19.6855 20.8925 19.6473C20.8548 19.609 20.825 19.5636 20.805 19.5138C20.785 19.4639 20.7739 19.4105 20.7748 19.3568ZM24.9213 21.4848C24.6547 21.5928 24.3893 21.6861 24.1347 21.6981C23.7516 21.7114 23.3756 21.5918 23.0707 21.3594C22.7054 21.0528 22.4441 20.8821 22.3347 20.3488C22.297 20.0881 22.3042 19.823 22.3561 19.5648C22.4494 19.1288 22.3454 18.8488 22.0374 18.5955C21.7881 18.3875 21.4694 18.3302 21.1201 18.3302C21.0005 18.3232 20.8843 18.2875 20.7814 18.2262C20.6348 18.1542 20.5148 17.9728 20.6294 17.7488C20.6668 17.6768 20.8428 17.5008 20.8854 17.4688C21.3601 17.1995 21.9081 17.2875 22.4134 17.4902C22.8827 17.6822 23.2374 18.0342 23.748 18.5328C24.2694 19.1341 24.364 19.3008 24.6613 19.7515C24.896 20.1048 25.1093 20.4674 25.2547 20.8821C25.344 21.1421 25.2293 21.3541 24.9213 21.4848Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const xaiLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.4579 15.6036L26.1529 35H20.0656L6.37059 15.6036H12.4579ZM12.4524 26.3764L15.4974 30.6909L12.4551 35H6.36377L12.4524 26.3764ZM33.6365 7.15727V35H28.647V14.2236L33.6365 7.15727ZM33.6365 5L20.0656 24.2205L17.0206 19.9073L27.5451 5H33.6365Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const zaiLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M20.1312 7.50002L17.4088 11.1913H5.81625L8.5375 7.50002H20.1325H20.1312ZM34.0675 28.81L31.3475 32.5H19.795L22.5125 28.81H34.0675ZM35 7.50002L16.58 32.5H5L23.42 7.50002H35Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const setuLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 100 100\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M55.0151 11H45.7732C42.9871 11 41.594 11 40.5458 11.7564C39.4977 12.5128 39.0587 13.8349 38.1807 16.479L28.4934 45.6545C26.899 50.4561 26.1019 52.8569 27.2993 54.5162C28.4967 56.1754 31.0264 56.1754 36.0858 56.1754H38.1307C41.9554 56.1754 43.8677 56.1754 45.0206 57.2527C45.2855 57.5002 45.5155 57.7825 45.7043 58.092C46.5262 59.4389 46.1395 61.3117 45.3662 65.0574C42.291 79.9519 40.7534 87.3991 43.0079 88.8933C43.4871 89.2109 44.0292 89.4215 44.5971 89.5107C47.2691 89.9303 51.1621 83.398 58.9481 70.3336L70.7118 50.5949C72.8831 46.9517 73.9687 45.13 73.6853 43.639C73.5201 42.7697 73.0712 41.9797 72.4091 41.3927C71.2734 40.386 69.1528 40.386 64.9115 40.386C61.2258 40.386 59.3829 40.386 58.2863 39.5068C57.6438 38.9916 57.176 38.2907 56.9467 37.4998C56.5553 36.1498 57.2621 34.4479 58.6757 31.044L62.4033 22.0683C64.4825 17.0618 65.5221 14.5585 64.3345 12.7793C63.1468 11 60.4362 11 55.0151 11Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const minimaxLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 32V12L13 22L20 12V32H17V20L13 26L9 20V32H6ZM22 32V12L29 22L36 12V32H33V20L29 26L25 20V32H22Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const opencodeLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path opacity=\"0.2\" d=\"M19.2002 17.4H8.40017V13.8H15.6002V10.2H19.2002V17.4ZM8.40017 13.8H4.80017V10.2H8.40017V13.8Z\" fill=\"currentColor\"/>\n<path d=\"M8.40005 17.4H19.2001V21H4.80005V13.8H8.40005V17.4ZM15.6001 10.2V13.8H8.40005V10.2H15.6001ZM19.2001 10.2H15.6001V6.6H4.80005V3H19.2001V10.2Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const copilotLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M35.3993 26.4544C34.2871 28.3855 27.8314 32.9425 20 32.9425C12.1686 32.9425 5.71288 28.3855 4.60075 26.4544C4.5427 26.3532 4.50826 26.2401 4.5 26.1237V22.418C4.51199 22.3209 4.53496 22.2256 4.56846 22.1338C5.04896 20.9261 6.30833 19.1733 7.93325 18.7031C8.14896 18.149 8.468 17.3404 8.76508 16.7437C8.71727 16.2776 8.69485 15.8094 8.69792 15.3409C8.69792 13.6217 9.06217 12.113 10.1601 10.9906C10.6729 10.4662 11.3097 10.0644 12.064 9.76091C13.871 8.29357 16.4453 7.05745 19.9716 7.05745C23.4978 7.05745 26.129 8.29357 27.936 9.76091C28.6903 10.0644 29.3271 10.4662 29.8399 10.9906C30.9378 12.113 31.3021 13.6217 31.3021 15.3409C31.3021 15.8162 31.284 16.2877 31.2349 16.7437C31.532 17.3404 31.851 18.149 32.0667 18.7031C33.6917 19.1733 34.951 20.9261 35.4315 22.1338C35.4677 22.2248 35.4908 22.3205 35.5 22.418V26.1237C35.4917 26.2401 35.4573 26.3532 35.3993 26.4544ZM20.2222 18.7147H19.7778C19.6422 18.945 19.4889 19.1644 19.3193 19.3709C18.3247 20.5941 16.8419 21.2981 14.7881 21.2981C12.56 21.2981 10.9273 20.8344 9.90304 19.6719C9.86495 19.6283 9.82833 19.5835 9.79325 19.5375L9.66667 19.6719V28.1775C11.5202 29.1837 15.4972 30.992 20 30.992C24.5028 30.992 28.4798 29.1837 30.3333 28.1775V19.6719L30.2067 19.5375C30.2067 19.5375 30.1641 19.5957 30.097 19.6719C29.0727 20.8344 27.44 21.2981 25.2119 21.2981C23.1581 21.2981 21.6753 20.5941 20.6807 19.3709C20.5111 19.1644 20.3578 18.945 20.2222 18.7147ZM23.2292 22.9127C23.9383 22.9127 24.5208 23.4952 24.5208 24.2043V26.7877C24.5208 27.4968 23.9383 28.0793 23.2292 28.0793C22.52 28.0793 21.9375 27.4968 21.9375 26.7877V24.2043C21.9375 23.4952 22.52 22.9127 23.2292 22.9127ZM16.7708 22.9127C17.48 22.9127 18.0625 23.4952 18.0625 24.2043V26.7877C18.0625 27.4968 17.48 28.0793 16.7708 28.0793C16.0617 28.0793 15.4792 27.4968 15.4792 26.7877V24.2043C15.4792 23.4952 16.0617 22.9127 16.7708 22.9127ZM21.0501 14.9237C21.2258 16.289 21.5707 17.3947 22.1842 18.149C22.7551 18.8517 23.649 19.3606 25.2119 19.3606C27.2437 19.3606 28.1724 18.9253 28.6438 18.3905C29.1398 17.8287 29.3646 16.9051 29.3646 15.3409C29.3646 13.8684 29.0507 12.9552 28.454 12.3455C27.8378 11.7152 26.7502 11.2321 24.8063 11.0216C22.8856 10.8136 21.975 11.1998 21.5345 11.7049C21.187 12.1014 20.97 12.7485 20.9688 13.7431V13.7702C20.9688 14.1121 20.9959 14.4966 21.0501 14.9237ZM18.9499 14.9237C19.0041 14.4966 19.0312 14.1117 19.0312 13.7689V13.7431C19.03 12.7485 18.813 12.1014 18.4655 11.7049C18.025 11.1998 17.1144 10.8136 15.1937 11.0216C13.2498 11.2321 12.1622 11.7152 11.546 12.3455C10.9493 12.9552 10.6354 13.8684 10.6354 15.3409C10.6354 16.9051 10.8615 17.8287 11.3562 18.3905C11.8276 18.9253 12.7563 19.3606 14.7881 19.3606C16.351 19.3606 17.2449 18.8517 17.8158 18.149C18.4293 17.3947 18.7742 16.289 18.9499 14.9237Z\" fill=\"currentColor\"/>\n</svg>`;\n",
|
|
39
|
+
"import { memo } from 'react';\n\nimport {\n\tanthropicLogo,\n\topenaiLogo,\n\tgoogleLogo,\n\tollamaCloudLogo,\n\topenrouterLogo,\n\tgroqLogo,\n\tdeepseekLogo,\n\txaiLogo,\n\tzaiLogo,\n\tsetuLogo,\n\tminimaxLogo,\n\topencodeLogo,\n\tcopilotLogo,\n} from '../../assets/provider-logos';\n\nconst providerLogos: Record<string, string> = {\n\tanthropic: anthropicLogo,\n\topenai: openaiLogo,\n\tgoogle: googleLogo,\n\tollama: ollamaCloudLogo,\n\t'ollama-cloud': ollamaCloudLogo,\n\topenrouter: openrouterLogo,\n\tgroq: groqLogo,\n\tdeepseek: deepseekLogo,\n\txai: xaiLogo,\n\tzai: zaiLogo,\n\t'zai-coding': zaiLogo,\n\tottorouter: setuLogo,\n\tminimax: minimaxLogo,\n\topencode: opencodeLogo,\n\tcopilot: copilotLogo,\n};\n\ninterface ProviderLogoProps {\n\tprovider: string;\n\tclassName?: string;\n\tsize?: number;\n}\n\nexport const ProviderLogo = memo(function ProviderLogo({\n\tprovider,\n\tclassName = '',\n\tsize = 16,\n}: ProviderLogoProps) {\n\tconst normalizedProvider = provider.toLowerCase();\n\tconst logoSvg =\n\t\tproviderLogos[normalizedProvider] ??\n\t\t(normalizedProvider.includes('ollama') ? ollamaCloudLogo : undefined);\n\n\tif (!logoSvg) {\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={`inline-flex items-center justify-center text-[10px] font-medium text-muted-foreground uppercase ${className}`}\n\t\t\t\tstyle={{ width: size, height: size }}\n\t\t\t\ttitle={provider}\n\t\t\t>\n\t\t\t\t{provider.slice(0, 2)}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<span\n\t\t\tclassName={`inline-flex items-center justify-center text-foreground/70 dark:text-foreground/80 ${className}`}\n\t\t\tstyle={{ width: size, height: size }}\n\t\t\ttitle={provider}\n\t\t\t// biome-ignore lint/security/noDangerouslySetInnerHtml: SVG logos are hardcoded trusted content\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: logoSvg.replace(\n\t\t\t\t\t/<svg/,\n\t\t\t\t\t`<svg width=\"${size}\" height=\"${size}\" style=\"width:${size}px;height:${size}px\"`,\n\t\t\t\t),\n\t\t\t}}\n\t\t/>\n\t);\n});\n",
|
|
40
|
+
"export const anthropicLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M26.9568 9.88184H22.1265L30.7753 31.7848H35.4917L26.9568 9.88184ZM13.028 9.88184L4.4917 31.7848H9.32203L11.2305 27.1793H20.2166L22.0126 31.6724H26.8444L18.0832 9.88184H13.028ZM12.5783 23.1361L15.4987 15.3853L18.5315 23.1361H12.5783Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const openaiLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M32.8377 17.282C33.2127 16.25 33.3072 15.218 33.2127 14.1875C33.1197 13.1571 32.7447 12.1251 32.2752 11.1876C31.4322 9.78209 30.2127 8.6571 28.8072 8.0001C27.3072 7.34461 25.7127 7.15711 24.1197 7.53211C23.3698 6.78212 22.5253 6.12512 21.5878 5.65713C20.6503 5.18913 19.5253 5.00013 18.4948 5.00013C16.8851 4.99074 15.3125 5.48246 13.9948 6.40712C12.6824 7.34311 11.7449 8.6571 11.2754 10.1571C10.1504 10.4376 9.21289 10.9071 8.27539 11.4696C7.4324 12.1251 6.77541 12.9696 6.21291 13.8126C5.36992 15.2195 5.08792 16.8125 5.27542 18.407C5.46399 19.9968 6.11605 21.496 7.1504 22.718C6.79608 23.7086 6.66795 24.7659 6.77541 25.8124C6.86991 26.8444 7.2449 27.8749 7.7129 28.8124C8.55739 30.2194 9.77538 31.3444 11.1824 31.9999C12.6824 32.6569 14.2753 32.8444 15.8698 32.4694C16.6198 33.2194 17.4628 33.8749 18.4003 34.3444C19.3378 34.8139 20.4628 34.9999 21.4948 34.9999C23.1043 35.0097 24.6769 34.5185 25.9947 33.5944C27.3072 32.6569 28.2447 31.3444 28.7127 29.8444C29.7719 29.6432 30.7682 29.1934 31.6197 28.5319C32.4627 27.8749 33.2127 27.1249 33.6822 26.1874C34.5251 24.7819 34.8071 23.1875 34.6196 21.5945C34.4322 20 33.8697 18.5015 32.8377 17.282ZM21.5878 33.0304C20.0878 33.0304 18.9628 32.5609 17.9323 31.7179C17.9323 31.7179 18.0253 31.6234 18.1198 31.6234L24.1197 28.1554C24.2862 28.0803 24.4196 27.9469 24.4947 27.7804C24.5698 27.636 24.6021 27.4731 24.5877 27.3109V18.875L27.1197 20.375V27.3124C27.1455 28.0547 27.0215 28.7945 26.755 29.4878C26.4885 30.181 26.085 30.8134 25.5687 31.3473C25.0523 31.8811 24.4337 32.3054 23.7497 32.5949C23.0658 32.8843 22.3305 33.0314 21.5878 33.0304ZM9.49488 27.8749C8.83789 26.7499 8.55739 25.4374 8.83789 24.125C8.83789 24.125 8.93239 24.2195 9.02539 24.2195L15.0253 27.6874C15.1693 27.7638 15.3325 27.7966 15.4948 27.7819C15.6823 27.7819 15.8698 27.7819 15.9628 27.6874L23.2753 23.4695V26.3749L17.1823 29.9374C16.5506 30.3042 15.8527 30.5427 15.1287 30.6393C14.4046 30.7358 13.6686 30.6884 12.9629 30.4999C11.4629 30.1249 10.2449 29.1874 9.49488 27.8749ZM7.9004 14.8445C8.56239 13.7234 9.58826 12.8627 10.8074 12.4056V19.532C10.8074 19.718 10.8074 19.907 10.9004 20C10.9755 20.1665 11.1089 20.2998 11.2754 20.375L18.5878 24.5944L16.0573 26.0944L10.0574 22.625C9.41842 22.2639 8.85742 21.7797 8.40684 21.2004C7.95627 20.6211 7.62506 19.9582 7.4324 19.25C7.05741 17.8445 7.1504 16.157 7.9004 14.8445ZM28.6197 19.625L21.3073 15.407L23.8377 13.9071L29.8377 17.375C30.7752 17.9375 31.5252 18.6875 31.9947 19.625C32.4642 20.5625 32.7447 21.5945 32.6502 22.7195C32.5603 23.7755 32.1699 24.7837 31.5252 25.6249C30.8697 26.4694 30.0252 27.1249 28.9947 27.4999V20.375C28.9947 20.1875 28.9947 20 28.9002 19.907C28.9002 19.907 28.8072 19.718 28.6197 19.625ZM31.1502 15.875C31.1502 15.875 31.0572 15.782 30.9627 15.782L24.9627 12.3126C24.7752 12.2196 24.6822 12.2196 24.4947 12.2196C24.3072 12.2196 24.1197 12.2196 24.0252 12.3126L16.7128 16.532V13.6251L22.8073 10.0626C23.7448 9.50009 24.7752 9.31259 25.9002 9.31259C26.9322 9.31259 27.9627 9.68759 28.9002 10.3446C29.7447 11.0001 30.4947 11.8446 30.8697 12.7821C31.2447 13.7196 31.3377 14.8445 31.1502 15.875ZM15.4003 21.125L12.8699 19.625V12.5946C12.8699 11.5626 13.1503 10.4376 13.7128 9.59459C14.2753 8.6571 15.1198 8.0001 16.0573 7.53211C17.0127 7.05249 18.0956 6.88812 19.1503 7.06261C20.1823 7.15711 21.2128 7.62511 22.0573 8.2821C22.0573 8.2821 21.9628 8.3751 21.8698 8.3751L15.8698 11.8446C15.7033 11.9197 15.57 12.0531 15.4948 12.2196C15.4003 12.4071 15.4003 12.5001 15.4003 12.6876V21.125ZM16.7128 18.125L19.9948 16.25L23.2753 18.125V21.875L19.9948 23.75L16.7128 21.875V18.125Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const googleLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M37 20.034C27.8809 20.5837 20.5808 27.8809 20.0326 37H19.966C19.4163 27.8809 12.1177 20.5837 3 20.034V19.9674C12.1191 19.4163 19.4163 12.1191 19.966 3H20.0326C20.5822 12.1191 27.8809 19.4163 37 19.9674V20.034Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const ollamaCloudLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.1766 4.57738C12.7424 4.45248 13.3253 4.4821 13.8719 4.64802C14.3313 4.78771 14.7467 5.0176 15.1232 5.32158C15.7506 5.82452 16.2805 6.54484 16.6847 7.39778C17.0911 8.25589 17.3555 9.20672 17.4555 10.1602C18.7946 9.57485 20.2806 9.21797 21.8134 9.11449L21.9219 9.10819C23.7727 8.99312 25.6026 9.25154 27.1981 9.88772C27.4129 9.97483 27.6238 10.0679 27.8301 10.1665C27.9364 9.23136 28.196 8.30283 28.5958 7.46464C28.9999 6.60982 29.5307 5.89059 30.1561 5.38591C30.5055 5.09396 30.9329 4.86411 31.4086 4.71235C31.9551 4.54805 32.5357 4.5182 33.1014 4.64297C33.9545 4.83037 34.6868 5.24855 35.2633 5.85515C35.3459 5.94188 35.4243 6.03325 35.5005 6.12759V15.9511C35.3966 15.8807 35.2901 15.8126 35.18 15.748C33.9142 15.0017 32.2379 14.6416 30.117 14.7452C29.8396 14.7591 29.5632 14.7076 29.3236 14.5989C29.084 14.4902 28.8918 14.3286 28.7724 14.1347C28.1043 13.0417 27.1301 12.2596 25.9154 11.7747C24.7492 11.325 23.443 11.1355 22.1451 11.2285C19.4969 11.3914 17.161 12.5451 16.4653 13.9998C16.3668 14.2045 16.1901 14.3819 15.9582 14.5068C15.7263 14.6316 15.4499 14.6982 15.1673 14.6986C12.8978 14.7019 11.1405 15.1127 9.85572 15.854C8.74521 16.4951 7.98775 17.3916 7.58779 18.4649C7.22593 19.4754 7.17595 20.5375 7.44274 21.5654C7.68101 22.4825 8.14742 23.2424 8.68139 23.6517L8.69905 23.6631C9.14965 24.0034 9.24462 24.5344 8.92988 24.9534C8.16414 25.9759 7.59183 27.5 7.49823 28.9645C7.39192 30.6379 7.89443 32.0911 9.02827 33.1334L9.06232 33.1649C9.23327 33.3188 9.34304 33.5076 9.37893 33.7085C9.41476 33.9096 9.37497 34.1146 9.26414 34.2988C9.01373 34.7141 8.79967 35.1146 8.61959 35.4996H5.70206C5.88367 35.0312 6.10757 34.5494 6.37562 34.0555L6.40463 33.9973L6.38824 33.9785C5.81212 33.3209 5.38162 32.5935 5.11552 31.8266L5.10543 31.7951C4.78254 30.8384 4.65491 29.8484 4.72828 28.8612C4.82189 27.3653 5.31963 25.8324 6.05146 24.6028L6.07795 24.5599L6.0729 24.5573C5.4496 23.8702 4.98861 22.99 4.73333 22.0169L4.72198 21.9779C4.37027 20.6205 4.43825 19.2181 4.92001 17.8847C5.47739 16.3806 6.5735 15.0886 8.18819 14.1549C8.31563 14.0811 8.44921 14.0069 8.58301 13.9379C8.24476 11.4838 8.33005 9.45005 8.82141 7.90485C9.09153 7.05352 9.48977 6.34345 10.0172 5.78955C10.5916 5.18463 11.3236 4.76644 12.1766 4.57738ZM12.8767 6.64096C12.6303 6.7238 12.4193 6.8594 12.27 7.03199L12.2599 7.04208C11.9664 7.35278 11.7109 7.80949 11.5195 8.4094C11.1578 9.54695 11.0601 11.091 11.2558 12.9831C12.1706 12.7727 13.1684 12.641 14.2427 12.5933L14.2642 12.5908L14.3045 12.5353C14.4022 12.4008 14.5061 12.271 14.6186 12.143C14.8802 10.8758 14.6661 9.36166 14.0813 8.12559C13.7963 7.52741 13.4494 7.05655 13.1176 6.78855C13.0491 6.73286 12.972 6.68361 12.8893 6.64096L12.883 6.63719L12.8767 6.64096ZM32.3963 6.70403C32.3135 6.74667 32.2365 6.79719 32.1679 6.85288C31.8361 7.12084 31.4873 7.5929 31.2043 8.19118C30.5875 9.49635 30.3808 11.1109 30.7149 12.4193L30.8385 12.5782L30.8549 12.6009H30.9192C31.975 12.6011 33.0258 12.7194 34.0385 12.9503C34.2214 11.1026 34.1192 9.59119 33.7661 8.47499C33.5745 7.87507 33.3189 7.41836 33.0231 7.10767L33.0143 7.09758C32.8652 6.92452 32.6555 6.78729 32.4088 6.70403L32.4 6.70278L32.3963 6.70403Z\" fill=\"currentColor\"/>\n<path d=\"M21.5208 22.8469C21.7175 22.8312 21.9155 22.876 22.0695 22.9718L22.5262 23.2555L22.9941 22.9692C23.1476 22.8755 23.343 22.8314 23.5378 22.8469C23.7324 22.8626 23.912 22.9364 24.0373 23.0525L24.046 23.0601C24.3009 23.3081 24.2473 23.6677 23.9262 23.8648L23.3057 24.2432V24.9761C23.3045 25.1391 23.2194 25.295 23.0698 25.41C22.92 25.5248 22.717 25.5894 22.5059 25.5891C22.2946 25.5895 22.0908 25.5249 21.9408 25.41C21.7912 25.295 21.706 25.1391 21.705 24.9761V24.2205L21.1285 23.8623C21.0527 23.8153 20.9899 23.7567 20.9432 23.6907C20.8964 23.6247 20.8663 23.5512 20.8561 23.4763C20.8459 23.4017 20.8551 23.3262 20.8826 23.2542C20.9103 23.182 20.9572 23.1146 21.0188 23.0562C21.1443 22.9384 21.3244 22.8627 21.5208 22.8469Z\" fill=\"currentColor\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.6284 19.5913C24.6195 19.5913 26.4584 20.1055 27.8327 20.9965C29.1727 21.8626 29.9705 23.0264 29.9707 24.1853C29.9707 25.6448 29.1066 26.7822 27.5602 27.5089C26.2412 28.1253 24.4732 28.4247 22.4479 28.4247C20.3014 28.4247 18.4671 27.9996 17.1439 27.2188C15.8314 26.4461 15.0955 25.3604 15.0955 24.1853C15.0957 23.0232 15.9423 21.8558 17.3419 20.9864C18.763 20.1036 20.6394 19.5914 22.6284 19.5913ZM22.6284 21.0634C21.1527 21.0534 19.716 21.4302 18.5529 22.1317C17.5721 22.7399 17.0165 23.5056 17.0165 24.1877C17.0168 24.8911 17.4639 25.5495 18.3144 26.0508C19.2825 26.6211 20.7055 26.9526 22.4479 26.9526C24.1473 26.9526 25.581 26.7109 26.5575 26.2525C27.5425 25.7922 28.0472 25.1239 28.0472 24.1853C28.0469 23.4898 27.5235 22.7218 26.5941 22.1203C25.5644 21.4547 24.1684 21.0634 22.6284 21.0634Z\" fill=\"currentColor\"/>\n<path d=\"M13.3142 19.8978C14.331 19.8978 15.1595 20.54 15.1595 21.3308C15.1599 21.7093 14.9655 22.0727 14.6197 22.3411C14.2735 22.6095 13.8033 22.7614 13.3129 22.7624C12.8231 22.7611 12.3531 22.6091 12.0074 22.3411C11.6621 22.0731 11.4676 21.7101 11.4675 21.332C11.4664 20.9532 11.6605 20.5891 12.0061 20.3204C12.3519 20.0516 12.8239 19.8994 13.3142 19.8978Z\" fill=\"currentColor\"/>\n<path d=\"M31.8364 19.8978C32.8574 19.8978 33.683 20.54 33.683 21.3308C33.6834 21.7095 33.4892 22.0727 33.1431 22.3411C32.7968 22.6095 32.3267 22.7615 31.8364 22.7624C31.3466 22.7611 30.8779 22.6091 30.5321 22.3411C30.1866 22.0731 29.9923 21.7104 29.9922 21.332C29.991 20.9532 30.184 20.5891 30.5295 20.3204C30.8753 20.0516 31.3458 19.8992 31.8364 19.8978Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const openrouterLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088\" fill=\"currentColor\"/>\n<path d=\"M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088\" stroke=\"currentColor\" stroke-width=\"3.27593\"/>\n<path d=\"M21.6 7.43108L16.0037 10.6622V4.20001L21.6 7.43108Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0.0363992\"/>\n<path d=\"M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311\" fill=\"currentColor\"/>\n<path d=\"M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311\" stroke=\"currentColor\" stroke-width=\"3.27593\"/>\n<path d=\"M21.4909 16.7109L15.8945 13.4798V19.942L21.4909 16.7109Z\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"0.0363992\"/>\n</svg>`;\n\nexport const groqLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M20.056 4.50022C14.0839 4.44597 9.20616 9.15015 9.15036 15.0106C9.09611 20.8726 13.8855 25.6621 19.8576 25.7163H23.6085V21.7391H20.056C16.3252 21.7825 13.2671 18.8468 13.2237 15.1827C13.1787 11.5216 16.1702 8.52086 19.901 8.47746H20.056C23.7868 8.47746 26.8108 11.4457 26.8216 15.1083V24.8809C26.8216 28.5109 23.8085 31.4683 20.1211 31.5132C18.3617 31.5007 16.6759 30.8049 15.42 29.5726L12.551 32.3905C14.5529 34.3571 17.239 35.4715 20.0451 35.4998H20.1877C26.0823 35.413 30.8175 30.7212 30.85 24.9351V14.8603C30.7059 9.0928 25.9165 4.50022 20.056 4.50022Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const deepseekLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M35.6638 9.91965C35.3251 9.75432 35.1785 10.0703 34.9811 10.2316C34.9131 10.2836 34.8558 10.3516 34.7985 10.413C34.3025 10.9423 33.7238 11.289 32.9678 11.2476C31.8625 11.1863 30.9186 11.533 30.0839 12.3783C29.9066 11.3356 29.3173 10.7143 28.4213 10.3143C27.9519 10.1063 27.4773 9.89965 27.148 9.44766C26.9186 9.12633 26.856 8.76767 26.7413 8.41568C26.668 8.20235 26.5946 7.98502 26.3506 7.94902C26.084 7.90769 25.98 8.13035 25.876 8.31702C25.4587 9.07967 25.2973 9.91965 25.3133 10.7703C25.3493 12.6849 26.1573 14.2102 27.764 15.2942C27.9466 15.4182 27.9933 15.5435 27.9359 15.7249C27.8266 16.0982 27.696 16.4609 27.5813 16.8355C27.508 17.0742 27.3986 17.1248 27.1426 17.0222C26.2777 16.6504 25.4919 16.1164 24.828 15.4489C23.6854 14.3449 22.6534 13.1263 21.3654 12.1716C21.067 11.9511 20.7606 11.7416 20.4468 11.5436C19.1335 10.2676 20.6201 9.21967 20.9641 9.09567C21.3241 8.965 21.0881 8.51968 19.9254 8.52501C18.7628 8.53035 17.6988 8.91834 16.3428 9.43699C16.1413 9.51421 15.934 9.57529 15.7229 9.61966C14.4557 9.38091 13.1598 9.33506 11.8789 9.48366C9.36565 9.76365 7.35902 10.953 5.88305 12.9809C4.10975 15.4182 3.69243 18.1888 4.20308 21.0768C4.74041 24.122 6.29504 26.6433 8.683 28.6139C11.1603 30.6579 14.0122 31.6592 17.2668 31.4672C19.2428 31.3539 21.4441 31.0886 23.9254 28.9873C24.552 29.2993 25.208 29.4233 26.2986 29.5166C27.1386 29.5953 27.9466 29.4766 28.5719 29.3459C29.5519 29.1379 29.4839 28.23 29.1306 28.0646C26.2573 26.726 26.888 27.2713 26.3133 26.83C27.7746 25.102 29.9746 23.3074 30.8359 17.4928C30.9026 17.0302 30.8452 16.7395 30.8359 16.3662C30.8306 16.1395 30.8826 16.0502 31.1426 16.0249C31.8639 15.95 32.5637 15.7349 33.2025 15.3915C35.0638 14.3742 35.8158 12.7049 35.9931 10.7023C36.0198 10.3956 35.9878 10.081 35.6638 9.91965ZM19.4414 27.9433C16.6562 25.754 15.3055 25.0327 14.7482 25.0634C14.2256 25.0954 14.3202 25.6913 14.4349 26.0807C14.5549 26.4647 14.7109 26.7286 14.9295 27.066C15.0815 27.2886 15.1855 27.6206 14.7789 27.87C13.8816 28.4246 12.3229 27.6833 12.2496 27.6473C10.435 26.578 8.91632 25.1673 7.84834 23.2381C6.81637 21.3808 6.21638 19.3888 6.11771 17.2622C6.09105 16.7475 6.24171 16.5662 6.7537 16.4729C7.42583 16.3442 8.11451 16.3267 8.79233 16.4209C11.6349 16.8368 14.0536 18.1075 16.0828 20.1194C17.2402 21.2661 18.1161 22.6354 19.0188 23.974C19.9788 25.3953 21.0108 26.75 22.3254 27.8593C22.7894 28.2486 23.1587 28.5446 23.5134 28.7619C22.4441 28.8819 20.6601 28.9086 19.4414 27.9433ZM20.7748 19.3568C20.7745 19.2906 20.7904 19.2253 20.8211 19.1666C20.8517 19.1078 20.8962 19.0575 20.9507 19.0198C21.0052 18.9821 21.068 18.9583 21.1337 18.9503C21.1995 18.9424 21.2662 18.9505 21.3281 18.9741C21.407 19.0024 21.475 19.0546 21.5228 19.1235C21.5706 19.1923 21.5958 19.2743 21.5947 19.3581C21.5949 19.4123 21.5843 19.4659 21.5636 19.5159C21.5428 19.5659 21.5123 19.6113 21.4738 19.6494C21.4354 19.6875 21.3897 19.7176 21.3395 19.7378C21.2893 19.7581 21.2356 19.7682 21.1814 19.7675C21.1277 19.7676 21.0745 19.7571 21.0248 19.7365C20.9752 19.7158 20.9302 19.6855 20.8925 19.6473C20.8548 19.609 20.825 19.5636 20.805 19.5138C20.785 19.4639 20.7739 19.4105 20.7748 19.3568ZM24.9213 21.4848C24.6547 21.5928 24.3893 21.6861 24.1347 21.6981C23.7516 21.7114 23.3756 21.5918 23.0707 21.3594C22.7054 21.0528 22.4441 20.8821 22.3347 20.3488C22.297 20.0881 22.3042 19.823 22.3561 19.5648C22.4494 19.1288 22.3454 18.8488 22.0374 18.5955C21.7881 18.3875 21.4694 18.3302 21.1201 18.3302C21.0005 18.3232 20.8843 18.2875 20.7814 18.2262C20.6348 18.1542 20.5148 17.9728 20.6294 17.7488C20.6668 17.6768 20.8428 17.5008 20.8854 17.4688C21.3601 17.1995 21.9081 17.2875 22.4134 17.4902C22.8827 17.6822 23.2374 18.0342 23.748 18.5328C24.2694 19.1341 24.364 19.3008 24.6613 19.7515C24.896 20.1048 25.1093 20.4674 25.2547 20.8821C25.344 21.1421 25.2293 21.3541 24.9213 21.4848Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const xaiLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.4579 15.6036L26.1529 35H20.0656L6.37059 15.6036H12.4579ZM12.4524 26.3764L15.4974 30.6909L12.4551 35H6.36377L12.4524 26.3764ZM33.6365 7.15727V35H28.647V14.2236L33.6365 7.15727ZM33.6365 5L20.0656 24.2205L17.0206 19.9073L27.5451 5H33.6365Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const zaiLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M20.1312 7.50002L17.4088 11.1913H5.81625L8.5375 7.50002H20.1325H20.1312ZM34.0675 28.81L31.3475 32.5H19.795L22.5125 28.81H34.0675ZM35 7.50002L16.58 32.5H5L23.42 7.50002H35Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const setuLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 100 100\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M55.0151 11H45.7732C42.9871 11 41.594 11 40.5458 11.7564C39.4977 12.5128 39.0587 13.8349 38.1807 16.479L28.4934 45.6545C26.899 50.4561 26.1019 52.8569 27.2993 54.5162C28.4967 56.1754 31.0264 56.1754 36.0858 56.1754H38.1307C41.9554 56.1754 43.8677 56.1754 45.0206 57.2527C45.2855 57.5002 45.5155 57.7825 45.7043 58.092C46.5262 59.4389 46.1395 61.3117 45.3662 65.0574C42.291 79.9519 40.7534 87.3991 43.0079 88.8933C43.4871 89.2109 44.0292 89.4215 44.5971 89.5107C47.2691 89.9303 51.1621 83.398 58.9481 70.3336L70.7118 50.5949C72.8831 46.9517 73.9687 45.13 73.6853 43.639C73.5201 42.7697 73.0712 41.9797 72.4091 41.3927C71.2734 40.386 69.1528 40.386 64.9115 40.386C61.2258 40.386 59.3829 40.386 58.2863 39.5068C57.6438 38.9916 57.176 38.2907 56.9467 37.4998C56.5553 36.1498 57.2621 34.4479 58.6757 31.044L62.4033 22.0683C64.4825 17.0618 65.5221 14.5585 64.3345 12.7793C63.1468 11 60.4362 11 55.0151 11Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const minimaxLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 32V12L13 22L20 12V32H17V20L13 26L9 20V32H6ZM22 32V12L29 22L36 12V32H33V20L29 26L25 20V32H22Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const opencodeLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path opacity=\"0.2\" d=\"M19.2002 17.4H8.40017V13.8H15.6002V10.2H19.2002V17.4ZM8.40017 13.8H4.80017V10.2H8.40017V13.8Z\" fill=\"currentColor\"/>\n<path d=\"M8.40005 17.4H19.2001V21H4.80005V13.8H8.40005V17.4ZM15.6001 10.2V13.8H8.40005V10.2H15.6001ZM19.2001 10.2H15.6001V6.6H4.80005V3H19.2001V10.2Z\" fill=\"currentColor\"/>\n</svg>`;\n\nexport const copilotLogo = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M35.3993 26.4544C34.2871 28.3855 27.8314 32.9425 20 32.9425C12.1686 32.9425 5.71288 28.3855 4.60075 26.4544C4.5427 26.3532 4.50826 26.2401 4.5 26.1237V22.418C4.51199 22.3209 4.53496 22.2256 4.56846 22.1338C5.04896 20.9261 6.30833 19.1733 7.93325 18.7031C8.14896 18.149 8.468 17.3404 8.76508 16.7437C8.71727 16.2776 8.69485 15.8094 8.69792 15.3409C8.69792 13.6217 9.06217 12.113 10.1601 10.9906C10.6729 10.4662 11.3097 10.0644 12.064 9.76091C13.871 8.29357 16.4453 7.05745 19.9716 7.05745C23.4978 7.05745 26.129 8.29357 27.936 9.76091C28.6903 10.0644 29.3271 10.4662 29.8399 10.9906C30.9378 12.113 31.3021 13.6217 31.3021 15.3409C31.3021 15.8162 31.284 16.2877 31.2349 16.7437C31.532 17.3404 31.851 18.149 32.0667 18.7031C33.6917 19.1733 34.951 20.9261 35.4315 22.1338C35.4677 22.2248 35.4908 22.3205 35.5 22.418V26.1237C35.4917 26.2401 35.4573 26.3532 35.3993 26.4544ZM20.2222 18.7147H19.7778C19.6422 18.945 19.4889 19.1644 19.3193 19.3709C18.3247 20.5941 16.8419 21.2981 14.7881 21.2981C12.56 21.2981 10.9273 20.8344 9.90304 19.6719C9.86495 19.6283 9.82833 19.5835 9.79325 19.5375L9.66667 19.6719V28.1775C11.5202 29.1837 15.4972 30.992 20 30.992C24.5028 30.992 28.4798 29.1837 30.3333 28.1775V19.6719L30.2067 19.5375C30.2067 19.5375 30.1641 19.5957 30.097 19.6719C29.0727 20.8344 27.44 21.2981 25.2119 21.2981C23.1581 21.2981 21.6753 20.5941 20.6807 19.3709C20.5111 19.1644 20.3578 18.945 20.2222 18.7147ZM23.2292 22.9127C23.9383 22.9127 24.5208 23.4952 24.5208 24.2043V26.7877C24.5208 27.4968 23.9383 28.0793 23.2292 28.0793C22.52 28.0793 21.9375 27.4968 21.9375 26.7877V24.2043C21.9375 23.4952 22.52 22.9127 23.2292 22.9127ZM16.7708 22.9127C17.48 22.9127 18.0625 23.4952 18.0625 24.2043V26.7877C18.0625 27.4968 17.48 28.0793 16.7708 28.0793C16.0617 28.0793 15.4792 27.4968 15.4792 26.7877V24.2043C15.4792 23.4952 16.0617 22.9127 16.7708 22.9127ZM21.0501 14.9237C21.2258 16.289 21.5707 17.3947 22.1842 18.149C22.7551 18.8517 23.649 19.3606 25.2119 19.3606C27.2437 19.3606 28.1724 18.9253 28.6438 18.3905C29.1398 17.8287 29.3646 16.9051 29.3646 15.3409C29.3646 13.8684 29.0507 12.9552 28.454 12.3455C27.8378 11.7152 26.7502 11.2321 24.8063 11.0216C22.8856 10.8136 21.975 11.1998 21.5345 11.7049C21.187 12.1014 20.97 12.7485 20.9688 13.7431V13.7702C20.9688 14.1121 20.9959 14.4966 21.0501 14.9237ZM18.9499 14.9237C19.0041 14.4966 19.0312 14.1117 19.0312 13.7689V13.7431C19.03 12.7485 18.813 12.1014 18.4655 11.7049C18.025 11.1998 17.1144 10.8136 15.1937 11.0216C13.2498 11.2321 12.1622 11.7152 11.546 12.3455C10.9493 12.9552 10.6354 13.8684 10.6354 15.3409C10.6354 16.9051 10.8615 17.8287 11.3562 18.3905C11.8276 18.9253 12.7563 19.3606 14.7881 19.3606C16.351 19.3606 17.2449 18.8517 17.8158 18.149C18.4293 17.3947 18.7742 16.289 18.9499 14.9237Z\" fill=\"currentColor\"/>\n</svg>`;\n",
|
|
41
41
|
"import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\n\nexport function useFiles() {\n\treturn useQuery({\n\t\tqueryKey: ['files'],\n\t\tqueryFn: async () => {\n\t\t\tconst result = await apiClient.listFiles();\n\t\t\treturn result;\n\t\t},\n\t\tstaleTime: 10000,\n\t\trefetchOnWindowFocus: true,\n\t\tretry: 1,\n\t});\n}\n",
|
|
42
42
|
"import { useState, useCallback } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nexport type VimMode = 'normal' | 'insert';\n\ninterface UseVimModeOptions {\n\tenabled: boolean;\n\tonSend: () => void;\n\ttextareaRef: React.RefObject<HTMLTextAreaElement>;\n\tsetMessage: (message: string) => void;\n}\n\ninterface UseVimModeReturn {\n\tvimMode: VimMode;\n\tsetVimMode: (mode: VimMode) => void;\n\thandleVimNormalMode: (e: KeyboardEvent<HTMLTextAreaElement>) => boolean;\n}\n\nexport function useVimMode({\n\tenabled,\n\tonSend,\n\ttextareaRef,\n\tsetMessage,\n}: UseVimModeOptions): UseVimModeReturn {\n\tconst [vimMode, setVimMode] = useState<VimMode>(\n\t\tenabled ? 'normal' : 'insert',\n\t);\n\tconst [vimPendingKey, setVimPendingKey] = useState<string>('');\n\n\tconst findNextWordStart = useCallback((text: string, pos: number): number => {\n\t\twhile (pos < text.length && /\\S/.test(text[pos])) pos++;\n\t\twhile (pos < text.length && /\\s/.test(text[pos])) pos++;\n\t\treturn Math.min(pos, text.length);\n\t}, []);\n\n\tconst findNextWordEnd = useCallback((text: string, pos: number): number => {\n\t\tif (pos < text.length && /\\S/.test(text[pos])) pos++;\n\t\twhile (pos < text.length && /\\s/.test(text[pos])) pos++;\n\t\twhile (pos < text.length && /\\S/.test(text[pos])) pos++;\n\t\treturn Math.max(0, pos - 1);\n\t}, []);\n\n\tconst findPrevWordStart = useCallback((text: string, pos: number): number => {\n\t\tpos = Math.max(0, pos - 1);\n\t\twhile (pos > 0 && /\\s/.test(text[pos])) pos--;\n\t\twhile (pos > 0 && /\\S/.test(text[pos - 1])) pos--;\n\t\treturn pos;\n\t}, []);\n\n\tconst handleVimNormalMode = useCallback(\n\t\t(e: KeyboardEvent<HTMLTextAreaElement>): boolean => {\n\t\t\tconst textarea = textareaRef.current;\n\t\t\tif (!textarea) return false;\n\n\t\t\tconst key = e.key;\n\n\t\t\tif (key === 'i') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimMode('insert');\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'a') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimMode('insert');\n\t\t\t\tconst pos = textarea.selectionStart;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttextarea.setSelectionRange(pos + 1, pos + 1);\n\t\t\t\t}, 0);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'I') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimMode('insert');\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst lineStart =\n\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) + 1;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttextarea.setSelectionRange(lineStart, lineStart);\n\t\t\t\t}, 0);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'A') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimMode('insert');\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tlet lineEnd = text.indexOf('\\n', textarea.selectionStart);\n\t\t\t\tif (lineEnd === -1) lineEnd = text.length;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttextarea.setSelectionRange(lineEnd, lineEnd);\n\t\t\t\t}, 0);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === '0') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst lineStart =\n\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) + 1;\n\t\t\t\ttextarea.setSelectionRange(lineStart, lineStart);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === '$') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tlet lineEnd = text.indexOf('\\n', textarea.selectionStart);\n\t\t\t\tif (lineEnd === -1) lineEnd = text.length;\n\t\t\t\ttextarea.setSelectionRange(lineEnd, lineEnd);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'o') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimMode('insert');\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tlet lineEnd = text.indexOf('\\n', textarea.selectionStart);\n\t\t\t\tif (lineEnd === -1) lineEnd = text.length;\n\n\t\t\t\tconst newValue = `${text.slice(0, lineEnd)}\\n${text.slice(lineEnd)}`;\n\t\t\t\tsetMessage(newValue);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttextarea.setSelectionRange(lineEnd + 1, lineEnd + 1);\n\t\t\t\t}, 0);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'O') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimMode('insert');\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst lineStart =\n\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) + 1;\n\n\t\t\t\tconst newValue = `${text.slice(0, lineStart)}\\n${text.slice(lineStart)}`;\n\t\t\t\tsetMessage(newValue);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttextarea.setSelectionRange(lineStart, lineStart);\n\t\t\t\t}, 0);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (vimPendingKey === 'f' && key.length === 1 && key !== 'Escape') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst currentLine = text.slice(\n\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) + 1,\n\t\t\t\t\ttext.indexOf('\\n', textarea.selectionStart) === -1\n\t\t\t\t\t\t? text.length\n\t\t\t\t\t\t: text.indexOf('\\n', textarea.selectionStart),\n\t\t\t\t);\n\t\t\t\tconst posInLine =\n\t\t\t\t\ttextarea.selectionStart -\n\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) -\n\t\t\t\t\t1;\n\t\t\t\tconst charIndex = currentLine.indexOf(key, posInLine + 1);\n\n\t\t\t\tif (charIndex !== -1) {\n\t\t\t\t\tconst newPos =\n\t\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) + 1 + charIndex;\n\t\t\t\t\ttextarea.setSelectionRange(newPos, newPos);\n\t\t\t\t}\n\n\t\t\t\tsetVimPendingKey('');\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'f') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimPendingKey('f');\n\t\t\t\tsetTimeout(() => setVimPendingKey(''), 2000);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'd') {\n\t\t\t\tif (vimPendingKey === 'd') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst text = textarea.value;\n\t\t\t\t\tconst lineStart =\n\t\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) + 1;\n\t\t\t\t\tlet lineEnd = text.indexOf('\\n', textarea.selectionStart);\n\t\t\t\t\tif (lineEnd === -1) lineEnd = text.length;\n\t\t\t\t\telse lineEnd += 1;\n\n\t\t\t\t\tconst newValue = text.slice(0, lineStart) + text.slice(lineEnd);\n\t\t\t\t\tsetMessage(newValue);\n\t\t\t\t\tsetVimPendingKey('');\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\ttextarea.setSelectionRange(lineStart, lineStart);\n\t\t\t\t\t}, 0);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\te.preventDefault();\n\t\t\t\tsetVimPendingKey('d');\n\t\t\t\tsetTimeout(() => setVimPendingKey(''), 1000);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tonSend();\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'Escape') {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'w') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst newPos = findNextWordStart(text, textarea.selectionStart);\n\t\t\t\ttextarea.setSelectionRange(newPos, newPos);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'e') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst newPos = findNextWordEnd(text, textarea.selectionStart);\n\t\t\t\ttextarea.setSelectionRange(newPos, newPos);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'b') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst newPos = findPrevWordStart(text, textarea.selectionStart);\n\t\t\t\ttextarea.setSelectionRange(newPos, newPos);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'x') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst pos = textarea.selectionStart;\n\t\t\t\tif (pos < text.length) {\n\t\t\t\t\tconst newValue = text.slice(0, pos) + text.slice(pos + 1);\n\t\t\t\t\tsetMessage(newValue);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\ttextarea.setSelectionRange(pos, pos);\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 's') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst pos = textarea.selectionStart;\n\t\t\t\tif (pos < text.length) {\n\t\t\t\t\tconst newValue = text.slice(0, pos) + text.slice(pos + 1);\n\t\t\t\t\tsetMessage(newValue);\n\t\t\t\t\tsetVimMode('insert');\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\ttextarea.setSelectionRange(pos, pos);\n\t\t\t\t\t}, 0);\n\t\t\t\t} else {\n\t\t\t\t\tsetVimMode('insert');\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'S') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst lineStart =\n\t\t\t\t\ttext.lastIndexOf('\\n', textarea.selectionStart - 1) + 1;\n\t\t\t\tlet lineEnd = text.indexOf('\\n', textarea.selectionStart);\n\t\t\t\tif (lineEnd === -1) lineEnd = text.length;\n\n\t\t\t\tconst newValue = text.slice(0, lineStart) + text.slice(lineEnd);\n\t\t\t\tsetMessage(newValue);\n\t\t\t\tsetVimMode('insert');\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\ttextarea.setSelectionRange(lineStart, lineStart);\n\t\t\t\t}, 0);\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'h') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst pos = textarea.selectionStart;\n\t\t\t\tif (pos > 0) {\n\t\t\t\t\ttextarea.setSelectionRange(pos - 1, pos - 1);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'l') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst pos = textarea.selectionStart;\n\t\t\t\tif (pos < textarea.value.length) {\n\t\t\t\t\ttextarea.setSelectionRange(pos + 1, pos + 1);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'j') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst pos = textarea.selectionStart;\n\t\t\t\tconst lineStart = text.lastIndexOf('\\n', pos - 1) + 1;\n\t\t\t\tconst col = pos - lineStart;\n\t\t\t\tconst lineEnd = text.indexOf('\\n', pos);\n\t\t\t\tif (lineEnd !== -1) {\n\t\t\t\t\tconst nextLineStart = lineEnd + 1;\n\t\t\t\t\tlet nextLineEnd = text.indexOf('\\n', nextLineStart);\n\t\t\t\t\tif (nextLineEnd === -1) nextLineEnd = text.length;\n\t\t\t\t\tconst nextLineLen = nextLineEnd - nextLineStart;\n\t\t\t\t\tconst newPos = nextLineStart + Math.min(col, nextLineLen);\n\t\t\t\t\ttextarea.setSelectionRange(newPos, newPos);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (key === 'k') {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst text = textarea.value;\n\t\t\t\tconst pos = textarea.selectionStart;\n\t\t\t\tconst lineStart = text.lastIndexOf('\\n', pos - 1) + 1;\n\t\t\t\tif (lineStart > 0) {\n\t\t\t\t\tconst col = pos - lineStart;\n\t\t\t\t\tconst prevLineEnd = lineStart - 1;\n\t\t\t\t\tconst prevLineStart = text.lastIndexOf('\\n', prevLineEnd - 1) + 1;\n\t\t\t\t\tconst prevLineLen = prevLineEnd - prevLineStart;\n\t\t\t\t\tconst newPos = prevLineStart + Math.min(col, prevLineLen);\n\t\t\t\t\ttextarea.setSelectionRange(newPos, newPos);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\t[\n\t\t\tvimPendingKey,\n\t\t\tonSend,\n\t\t\ttextareaRef,\n\t\t\tsetMessage,\n\t\t\tfindNextWordStart,\n\t\t\tfindNextWordEnd,\n\t\t\tfindPrevWordStart,\n\t\t],\n\t);\n\n\treturn {\n\t\tvimMode,\n\t\tsetVimMode,\n\t\thandleVimNormalMode,\n\t};\n}\n",
|
|
43
43
|
"import { useState, useCallback } from 'react';\n\ninterface UseFileMentionReturn {\n\tshowFileMention: boolean;\n\tmentionQuery: string;\n\tmentionSelectedIndex: number;\n\tcurrentFileToSelect: string | undefined;\n\tsetShowFileMention: (show: boolean) => void;\n\tsetMentionQuery: (query: string) => void;\n\tsetMentionSelectedIndex: (index: number) => void;\n\tsetCurrentFileToSelect: (file: string | undefined) => void;\n\thandleFileSelect: (\n\t\tfilePath: string,\n\t\ttextareaRef: React.RefObject<HTMLTextAreaElement>,\n\t\tsetMessage: (msg: string) => void,\n\t) => void;\n\thandleEnterSelect: (file: string | undefined) => void;\n\tcheckForMention: (value: string, cursorPos: number) => void;\n}\n\nexport function useFileMention(): UseFileMentionReturn {\n\tconst [showFileMention, setShowFileMention] = useState(false);\n\tconst [mentionQuery, setMentionQuery] = useState('');\n\tconst [mentionSelectedIndex, setMentionSelectedIndex] = useState(0);\n\tconst [currentFileToSelect, setCurrentFileToSelect] = useState<\n\t\tstring | undefined\n\t>();\n\n\tconst handleFileSelect = useCallback(\n\t\t(\n\t\t\tfilePath: string,\n\t\t\ttextareaRef: React.RefObject<HTMLTextAreaElement>,\n\t\t\tsetMessage: (msg: string) => void,\n\t\t) => {\n\t\t\tconst textarea = textareaRef.current;\n\t\t\tif (!textarea) return;\n\n\t\t\tconst value = textarea.value;\n\t\t\tconst cursorPos = textarea.selectionStart;\n\t\t\tconst textBeforeCursor = value.slice(0, cursorPos);\n\n\t\t\tconst match = textBeforeCursor.match(/(^|[\\s])@(\\S*)$/);\n\t\t\tif (!match) return;\n\n\t\t\tconst atPos = cursorPos - match[0].length + match[1].length;\n\t\t\tconst newValue = `${value.slice(0, atPos)}@${filePath} ${value.slice(cursorPos)}`;\n\n\t\t\tsetMessage(newValue);\n\t\t\tsetShowFileMention(false);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst newCursorPos = atPos + filePath.length + 2;\n\t\t\t\ttextarea.setSelectionRange(newCursorPos, newCursorPos);\n\t\t\t\ttextarea.focus();\n\t\t\t}, 0);\n\t\t},\n\t\t[],\n\t);\n\n\tconst handleEnterSelect = useCallback((file: string | undefined) => {\n\t\tsetCurrentFileToSelect(file);\n\t}, []);\n\n\tconst checkForMention = useCallback((value: string, cursorPos: number) => {\n\t\tconst textBeforeCursor = value.slice(0, cursorPos);\n\t\tconst match = textBeforeCursor.match(/(^|[\\s])@(\\S*)$/);\n\n\t\tif (match) {\n\t\t\tsetShowFileMention(true);\n\t\t\tsetMentionQuery(match[2]);\n\t\t\tsetMentionSelectedIndex(0);\n\t\t} else {\n\t\t\tsetShowFileMention(false);\n\t\t}\n\t}, []);\n\n\treturn {\n\t\tshowFileMention,\n\t\tmentionQuery,\n\t\tmentionSelectedIndex,\n\t\tcurrentFileToSelect,\n\t\tsetShowFileMention,\n\t\tsetMentionQuery,\n\t\tsetMentionSelectedIndex,\n\t\tsetCurrentFileToSelect,\n\t\thandleFileSelect,\n\t\thandleEnterSelect,\n\t\tcheckForMention,\n\t};\n}\n",
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
"import { create } from 'zustand';\nimport { useGitStore } from './gitStore';\nimport { useSessionFilesStore } from './sessionFilesStore';\nimport { useSettingsStore } from './settingsStore';\nimport { useResearchStore } from './researchStore';\nimport { useFileBrowserStore } from './fileBrowserStore';\nimport { useMCPStore } from './mcpStore';\nimport { useSkillsStore } from './skillsStore';\n\nexport type TunnelStatus = 'idle' | 'starting' | 'connected' | 'error';\n\ninterface TunnelState {\n\tisExpanded: boolean;\n\tstatus: TunnelStatus;\n\turl: string | null;\n\tqrCode: string | null;\n\terror: string | null;\n\tprogress: string | null;\n\n\ttoggleSidebar: () => void;\n\texpandSidebar: () => void;\n\tcollapseSidebar: () => void;\n\tsetStatus: (status: TunnelStatus) => void;\n\tsetUrl: (url: string | null) => void;\n\tsetQrCode: (qrCode: string | null) => void;\n\tsetError: (error: string | null) => void;\n\tsetProgress: (progress: string | null) => void;\n\treset: () => void;\n}\n\nexport const useTunnelStore = create<TunnelState>((set) => ({\n\tisExpanded: false,\n\tstatus: 'idle',\n\turl: null,\n\tqrCode: null,\n\terror: null,\n\tprogress: null,\n\n\ttoggleSidebar: () => {\n\t\tset((state) => {\n\t\t\tconst newExpanded = !state.isExpanded;\n\t\t\tif (newExpanded) {\n\t\t\t\tuseGitStore.getState().collapseSidebar();\n\t\t\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\t\t\tuseSettingsStore.getState().collapseSidebar();\n\t\t\t\tuseResearchStore.getState().collapseSidebar();\n\t\t\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\t\t\tuseMCPStore.getState().collapseSidebar();\n\t\t\t\tuseSkillsStore.getState().collapseSidebar();\n\t\t\t}\n\t\t\treturn { isExpanded: newExpanded };\n\t\t});\n\t},\n\n\texpandSidebar: () => {\n\t\tuseGitStore.getState().collapseSidebar();\n\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\tuseSettingsStore.getState().collapseSidebar();\n\t\tuseResearchStore.getState().collapseSidebar();\n\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\tuseMCPStore.getState().collapseSidebar();\n\t\tuseSkillsStore.getState().collapseSidebar();\n\t\tset({ isExpanded: true });\n\t},\n\n\tcollapseSidebar: () => set({ isExpanded: false }),\n\n\tsetStatus: (status) => set({ status }),\n\tsetUrl: (url) => set({ url }),\n\tsetQrCode: (qrCode) => set({ qrCode }),\n\tsetError: (error) => set({ error }),\n\tsetProgress: (progress) => set({ progress }),\n\n\treset: () =>\n\t\tset({\n\t\t\tstatus: 'idle',\n\t\t\turl: null,\n\t\t\tqrCode: null,\n\t\t\terror: null,\n\t\t\tprogress: null,\n\t\t}),\n}));\n",
|
|
57
57
|
"import { create } from 'zustand';\nimport { useGitStore } from './gitStore';\nimport { useSessionFilesStore } from './sessionFilesStore';\nimport { useResearchStore } from './researchStore';\nimport { useSettingsStore } from './settingsStore';\nimport { useTunnelStore } from './tunnelStore';\nimport { useMCPStore } from './mcpStore';\nimport { useSkillsStore } from './skillsStore';\n\ninterface FileBrowserState {\n\tisExpanded: boolean;\n\tselectedFile: string | null;\n\tisViewerOpen: boolean;\n\texpandedDirs: Set<string>;\n\n\ttoggleSidebar: () => void;\n\texpandSidebar: () => void;\n\tcollapseSidebar: () => void;\n\topenFile: (path: string) => void;\n\tcloseViewer: () => void;\n\ttoggleDir: (path: string) => void;\n}\n\nexport const useFileBrowserStore = create<FileBrowserState>((set) => ({\n\tisExpanded: false,\n\tselectedFile: null,\n\tisViewerOpen: false,\n\texpandedDirs: new Set<string>(),\n\n\ttoggleSidebar: () => {\n\t\tset((state) => {\n\t\t\tconst newExpanded = !state.isExpanded;\n\t\t\tif (newExpanded) {\n\t\t\t\tuseGitStore.getState().collapseSidebar();\n\t\t\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\t\t\tuseResearchStore.getState().collapseSidebar();\n\t\t\t\tuseSettingsStore.getState().collapseSidebar();\n\t\t\t\tuseTunnelStore.getState().collapseSidebar();\n\t\t\t\tuseMCPStore.getState().collapseSidebar();\n\t\t\t\tuseSkillsStore.getState().collapseSidebar();\n\t\t\t}\n\t\t\treturn { isExpanded: newExpanded };\n\t\t});\n\t},\n\texpandSidebar: () => {\n\t\tuseGitStore.getState().collapseSidebar();\n\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\tuseResearchStore.getState().collapseSidebar();\n\t\tuseSettingsStore.getState().collapseSidebar();\n\t\tuseTunnelStore.getState().collapseSidebar();\n\t\tuseMCPStore.getState().collapseSidebar();\n\t\tuseSkillsStore.getState().collapseSidebar();\n\t\tset({ isExpanded: true });\n\t},\n\tcollapseSidebar: () =>\n\t\tset({\n\t\t\tisExpanded: false,\n\t\t\tisViewerOpen: false,\n\t\t\tselectedFile: null,\n\t\t}),\n\topenFile: (path) =>\n\t\tset({\n\t\t\tselectedFile: path,\n\t\t\tisViewerOpen: true,\n\t\t}),\n\tcloseViewer: () =>\n\t\tset({\n\t\t\tisViewerOpen: false,\n\t\t\tselectedFile: null,\n\t\t}),\n\ttoggleDir: (path) =>\n\t\tset((state) => {\n\t\t\tconst next = new Set(state.expandedDirs);\n\t\t\tif (next.has(path)) {\n\t\t\t\tnext.delete(path);\n\t\t\t} else {\n\t\t\t\tnext.add(path);\n\t\t\t}\n\t\t\treturn { expandedDirs: next };\n\t\t}),\n}));\n",
|
|
58
58
|
"import { create } from 'zustand';\nimport { useGitStore } from './gitStore';\nimport { useSessionFilesStore } from './sessionFilesStore';\nimport { useResearchStore } from './researchStore';\nimport { useSettingsStore } from './settingsStore';\nimport { useTunnelStore } from './tunnelStore';\nimport { useFileBrowserStore } from './fileBrowserStore';\nimport { useSkillsStore } from './skillsStore';\n\nexport type MCPScope = 'global' | 'project';\n\nexport interface MCPServerInfo {\n\tname: string;\n\ttransport: string;\n\tcommand?: string;\n\targs: string[];\n\turl?: string;\n\tdisabled: boolean;\n\tconnected: boolean;\n\ttools: string[];\n\tauthRequired: boolean;\n\tauthenticated: boolean;\n\tscope: MCPScope;\n\tauthType?: string;\n}\n\nexport interface CopilotDeviceInfo {\n\tsessionId: string;\n\tuserCode: string;\n\tverificationUri: string;\n\tinterval: number;\n\tserverName: string;\n}\n\ninterface MCPState {\n\tisExpanded: boolean;\n\tservers: MCPServerInfo[];\n\tloading: Set<string>;\n\tauthUrls: Map<string, string>;\n\tcopilotDevice: CopilotDeviceInfo | null;\n\n\ttoggleSidebar: () => void;\n\texpandSidebar: () => void;\n\tcollapseSidebar: () => void;\n\tsetServers: (servers: MCPServerInfo[]) => void;\n\tsetLoading: (name: string, loading: boolean) => void;\n\tupdateServer: (name: string, updates: Partial<MCPServerInfo>) => void;\n\tsetAuthUrl: (name: string, url: string | null) => void;\n\tsetCopilotDevice: (info: CopilotDeviceInfo | null) => void;\n}\n\nexport const useMCPStore = create<MCPState>((set) => ({\n\tisExpanded: false,\n\tservers: [],\n\tloading: new Set(),\n\tauthUrls: new Map(),\n\tcopilotDevice: null,\n\n\ttoggleSidebar: () => {\n\t\tset((state) => {\n\t\t\tconst newExpanded = !state.isExpanded;\n\t\t\tif (newExpanded) {\n\t\t\t\tuseGitStore.getState().collapseSidebar();\n\t\t\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\t\t\tuseResearchStore.getState().collapseSidebar();\n\t\t\t\tuseSettingsStore.getState().collapseSidebar();\n\t\t\t\tuseTunnelStore.getState().collapseSidebar();\n\t\t\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\t\t\tuseSkillsStore.getState().collapseSidebar();\n\t\t\t}\n\t\t\treturn { isExpanded: newExpanded };\n\t\t});\n\t},\n\n\texpandSidebar: () => {\n\t\tuseGitStore.getState().collapseSidebar();\n\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\tuseResearchStore.getState().collapseSidebar();\n\t\tuseSettingsStore.getState().collapseSidebar();\n\t\tuseTunnelStore.getState().collapseSidebar();\n\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\tuseSkillsStore.getState().collapseSidebar();\n\t\tset({ isExpanded: true });\n\t},\n\n\tcollapseSidebar: () => set({ isExpanded: false }),\n\n\tsetServers: (servers) => set({ servers }),\n\n\tsetLoading: (name, loading) =>\n\t\tset((state) => {\n\t\t\tconst next = new Set(state.loading);\n\t\t\tif (loading) next.add(name);\n\t\t\telse next.delete(name);\n\t\t\treturn { loading: next };\n\t\t}),\n\n\tupdateServer: (name, updates) =>\n\t\tset((state) => ({\n\t\t\tservers: state.servers.map((s) =>\n\t\t\t\ts.name === name ? { ...s, ...updates } : s,\n\t\t\t),\n\t\t})),\n\n\tsetAuthUrl: (name, url) =>\n\t\tset((state) => {\n\t\t\tconst next = new Map(state.authUrls);\n\t\t\tif (url) next.set(name, url);\n\t\t\telse next.delete(name);\n\t\t\treturn { authUrls: next };\n\t\t}),\n\n\tsetCopilotDevice: (info) => set({ copilotDevice: info }),\n}));\n",
|
|
59
|
-
"import { create } from 'zustand';\nimport { useGitStore } from './gitStore';\nimport { useSessionFilesStore } from './sessionFilesStore';\nimport { useResearchStore } from './researchStore';\nimport { useSettingsStore } from './settingsStore';\nimport { useTunnelStore } from './tunnelStore';\nimport { useFileBrowserStore } from './fileBrowserStore';\nimport { useMCPStore } from './mcpStore';\n\nexport interface SkillInfo {\n\tname: string;\n\tdescription: string;\n\tscope: string;\n\tpath: string;\n}\n\ninterface SkillsState {\n\tisExpanded: boolean;\n\tskills: SkillInfo[];\n\tselectedSkill: string | null;\n\n\tisViewerOpen: boolean;\n\tviewingFile: string | null;\n\n\ttoggleSidebar: () => void;\n\texpandSidebar: () => void;\n\tcollapseSidebar: () => void;\n\tsetSkills: (skills: SkillInfo[]) => void;\n\tselectSkill: (name: string | null) => void;\n\topenViewer: (file: string | null) => void;\n\tcloseViewer: () => void;\n}\n\nexport const useSkillsStore = create<SkillsState>((set) => ({\n\tisExpanded: false,\n\tskills: [],\n\tselectedSkill: null,\n\tisViewerOpen: false,\n\tviewingFile: null,\n\n\ttoggleSidebar: () => {\n\t\tset((state) => {\n\t\t\tconst newExpanded = !state.isExpanded;\n\t\t\tif (newExpanded) {\n\t\t\t\tuseGitStore.getState().collapseSidebar();\n\t\t\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\t\t\tuseResearchStore.getState().collapseSidebar();\n\t\t\t\tuseSettingsStore.getState().collapseSidebar();\n\t\t\t\tuseTunnelStore.getState().collapseSidebar();\n\t\t\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\t\t\tuseMCPStore.getState().collapseSidebar();\n\t\t\t}\n\t\t\treturn { isExpanded: newExpanded };\n\t\t});\n\t},\n\n\texpandSidebar: () => {\n\t\tuseGitStore.getState().collapseSidebar();\n\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\tuseResearchStore.getState().collapseSidebar();\n\t\tuseSettingsStore.getState().collapseSidebar();\n\t\tuseTunnelStore.getState().collapseSidebar();\n\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\tuseMCPStore.getState().collapseSidebar();\n\t\tset({ isExpanded: true });\n\t},\n\n\tcollapseSidebar: () => set({ isExpanded: false }),\n\n\tsetSkills: (skills) => set({ skills }),\n\n\tselectSkill: (name) =>\n\t\tset({ selectedSkill: name, isViewerOpen: false, viewingFile: null }),\n\n\topenViewer: (file) => set({ isViewerOpen: true, viewingFile: file }),\n\n\tcloseViewer: () => set({ isViewerOpen: false, viewingFile: null }),\n}));\n",
|
|
59
|
+
"import { create } from 'zustand';\nimport { useGitStore } from './gitStore';\nimport { useSessionFilesStore } from './sessionFilesStore';\nimport { useResearchStore } from './researchStore';\nimport { useSettingsStore } from './settingsStore';\nimport { useTunnelStore } from './tunnelStore';\nimport { useFileBrowserStore } from './fileBrowserStore';\nimport { useMCPStore } from './mcpStore';\n\nexport interface SkillInfo {\n\tname: string;\n\tdescription: string;\n\tscope: string;\n\tpath: string;\n\tenabled?: boolean;\n}\n\ninterface SkillsState {\n\tisExpanded: boolean;\n\tskills: SkillInfo[];\n\tglobalEnabled: boolean;\n\ttotalCount: number;\n\tenabledCount: number;\n\tselectedSkill: string | null;\n\n\tisViewerOpen: boolean;\n\tviewingFile: string | null;\n\n\ttoggleSidebar: () => void;\n\texpandSidebar: () => void;\n\tcollapseSidebar: () => void;\n\tsetSkills: (skills: SkillInfo[]) => void;\n\tsetSkillsConfig: (input: {\n\t\tskills: SkillInfo[];\n\t\tglobalEnabled: boolean;\n\t\ttotalCount: number;\n\t\tenabledCount: number;\n\t}) => void;\n\tselectSkill: (name: string | null) => void;\n\topenViewer: (file: string | null) => void;\n\tcloseViewer: () => void;\n}\n\nexport const useSkillsStore = create<SkillsState>((set) => ({\n\tisExpanded: false,\n\tskills: [],\n\tglobalEnabled: true,\n\ttotalCount: 0,\n\tenabledCount: 0,\n\tselectedSkill: null,\n\tisViewerOpen: false,\n\tviewingFile: null,\n\n\ttoggleSidebar: () => {\n\t\tset((state) => {\n\t\t\tconst newExpanded = !state.isExpanded;\n\t\t\tif (newExpanded) {\n\t\t\t\tuseGitStore.getState().collapseSidebar();\n\t\t\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\t\t\tuseResearchStore.getState().collapseSidebar();\n\t\t\t\tuseSettingsStore.getState().collapseSidebar();\n\t\t\t\tuseTunnelStore.getState().collapseSidebar();\n\t\t\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\t\t\tuseMCPStore.getState().collapseSidebar();\n\t\t\t}\n\t\t\treturn { isExpanded: newExpanded };\n\t\t});\n\t},\n\n\texpandSidebar: () => {\n\t\tuseGitStore.getState().collapseSidebar();\n\t\tuseSessionFilesStore.getState().collapseSidebar();\n\t\tuseResearchStore.getState().collapseSidebar();\n\t\tuseSettingsStore.getState().collapseSidebar();\n\t\tuseTunnelStore.getState().collapseSidebar();\n\t\tuseFileBrowserStore.getState().collapseSidebar();\n\t\tuseMCPStore.getState().collapseSidebar();\n\t\tset({ isExpanded: true });\n\t},\n\n\tcollapseSidebar: () => set({ isExpanded: false }),\n\n\tsetSkills: (skills) => set({ skills }),\n\tsetSkillsConfig: ({ skills, globalEnabled, totalCount, enabledCount }) =>\n\t\tset({ skills, globalEnabled, totalCount, enabledCount }),\n\n\tselectSkill: (name) =>\n\t\tset({ selectedSkill: name, isViewerOpen: false, viewingFile: null }),\n\n\topenViewer: (file) => set({ isViewerOpen: true, viewingFile: file }),\n\n\tcloseViewer: () => set({ isViewerOpen: false, viewingFile: null }),\n}));\n",
|
|
60
60
|
"import {\n\tuseState,\n\tuseCallback,\n\tuseEffect,\n\ttype DragEvent,\n\ttype ClipboardEvent,\n} from 'react';\n\nexport type FileAttachmentType = 'image' | 'pdf' | 'text';\n\nexport interface FileAttachment {\n\tid: string;\n\tfile: File;\n\ttype: FileAttachmentType;\n\tname: string;\n\tpreview?: string;\n\tdata: string;\n\tmediaType: string;\n\ttextContent?: string;\n}\n\nconst IMAGE_TYPES = ['image/png', 'image/jpeg', 'image/gif', 'image/webp'];\nconst PDF_TYPES = ['application/pdf'];\nconst TEXT_TYPES = [\n\t'text/plain',\n\t'text/markdown',\n\t'text/x-markdown',\n\t'application/json',\n\t'text/csv',\n\t'text/xml',\n\t'application/xml',\n\t'text/yaml',\n\t'text/x-yaml',\n\t'application/x-yaml',\n\t'text/html',\n\t'text/css',\n\t'text/javascript',\n\t'application/javascript',\n\t'application/typescript',\n];\nconst TEXT_EXTENSIONS = [\n\t'.txt',\n\t'.md',\n\t'.markdown',\n\t'.json',\n\t'.csv',\n\t'.xml',\n\t'.yaml',\n\t'.yml',\n\t'.html',\n\t'.css',\n\t'.js',\n\t'.ts',\n\t'.jsx',\n\t'.tsx',\n\t'.py',\n\t'.rs',\n\t'.go',\n\t'.java',\n\t'.c',\n\t'.cpp',\n\t'.h',\n\t'.hpp',\n\t'.rb',\n\t'.php',\n\t'.sh',\n\t'.bash',\n\t'.zsh',\n\t'.toml',\n\t'.ini',\n\t'.cfg',\n\t'.env',\n\t'.log',\n\t'.sql',\n\t'.graphql',\n\t'.svelte',\n\t'.vue',\n];\n\nconst SUPPORTED_TYPES = [...IMAGE_TYPES, ...PDF_TYPES, ...TEXT_TYPES];\n\nfunction generateId(): string {\n\treturn `file-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;\n}\n\nfunction getFileType(file: File): FileAttachmentType | null {\n\tif (IMAGE_TYPES.includes(file.type)) return 'image';\n\tif (PDF_TYPES.includes(file.type)) return 'pdf';\n\tif (TEXT_TYPES.includes(file.type)) return 'text';\n\tconst ext = file.name.toLowerCase().slice(file.name.lastIndexOf('.'));\n\tif (TEXT_EXTENSIONS.includes(ext)) return 'text';\n\treturn null;\n}\n\nfunction isSupported(file: File): boolean {\n\tif (SUPPORTED_TYPES.includes(file.type)) return true;\n\tconst ext = file.name.toLowerCase().slice(file.name.lastIndexOf('.'));\n\treturn TEXT_EXTENSIONS.includes(ext);\n}\n\nasync function fileToBase64(file: File): Promise<string> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => {\n\t\t\tconst result = reader.result as string;\n\t\t\tconst base64 = result.split(',')[1];\n\t\t\tresolve(base64);\n\t\t};\n\t\treader.onerror = reject;\n\t\treader.readAsDataURL(file);\n\t});\n}\n\nasync function fileToText(file: File): Promise<string> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => resolve(reader.result as string);\n\t\treader.onerror = reject;\n\t\treader.readAsText(file);\n\t});\n}\n\nasync function fileToPreview(file: File): Promise<string> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => resolve(reader.result as string);\n\t\treader.onerror = reject;\n\t\treader.readAsDataURL(file);\n\t});\n}\n\ninterface UseFileUploadOptions {\n\tmaxFiles?: number;\n\tmaxSizeMB?: number;\n\tpageWide?: boolean;\n\tsupportsImages?: boolean;\n\tsupportsFileAttachments?: boolean;\n\tonError?: (message: string) => void;\n}\n\nexport function useFileUpload(options: UseFileUploadOptions = {}) {\n\tconst {\n\t\tmaxFiles = 10,\n\t\tmaxSizeMB = 10,\n\t\tpageWide = true,\n\t\tsupportsImages = true,\n\t\tsupportsFileAttachments = true,\n\t\tonError,\n\t} = options;\n\n\tconst [files, setFiles] = useState<FileAttachment[]>([]);\n\tconst [isDragging, setIsDragging] = useState(false);\n\tconst [error, setError] = useState<string | null>(null);\n\n\tconst maxSizeBytes = maxSizeMB * 1024 * 1024;\n\n\tconst validateFile = useCallback(\n\t\t(file: File): string | null => {\n\t\t\tif (!supportsImages && IMAGE_TYPES.includes(file.type)) {\n\t\t\t\treturn 'This model does not support image attachments';\n\t\t\t}\n\t\t\tif (!supportsFileAttachments && PDF_TYPES.includes(file.type)) {\n\t\t\t\treturn 'This model does not support PDF attachments';\n\t\t\t}\n\t\t\tif (!isSupported(file)) {\n\t\t\t\tconst ext = file.name.slice(file.name.lastIndexOf('.'));\n\t\t\t\treturn `Unsupported file type: ${ext || file.type || 'unknown'}`;\n\t\t\t}\n\t\t\tif (file.size > maxSizeBytes) {\n\t\t\t\treturn `File too large: ${(file.size / 1024 / 1024).toFixed(1)}MB. Max: ${maxSizeMB}MB`;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\t[maxSizeBytes, maxSizeMB, supportsImages, supportsFileAttachments],\n\t);\n\n\tconst addFiles = useCallback(\n\t\tasync (inputFiles: FileList | File[]) => {\n\t\t\tsetError(null);\n\t\t\tconst fileArray = Array.from(inputFiles);\n\t\t\tconst remaining = maxFiles - files.length;\n\n\t\t\tif (remaining <= 0) {\n\t\t\t\tconst msg = `Maximum ${maxFiles} files allowed`;\n\t\t\t\tsetError(msg);\n\t\t\t\tonError?.(msg);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst filesToAdd = fileArray.slice(0, remaining);\n\t\t\tconst newFiles: FileAttachment[] = [];\n\n\t\t\tfor (const file of filesToAdd) {\n\t\t\t\tconst validationError = validateFile(file);\n\t\t\t\tif (validationError) {\n\t\t\t\t\tsetError(validationError);\n\t\t\t\t\tonError?.(validationError);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst fileType = getFileType(file);\n\t\t\t\tif (!fileType) continue;\n\n\t\t\t\ttry {\n\t\t\t\t\tlet preview: string | undefined;\n\t\t\t\t\tlet data: string;\n\t\t\t\t\tlet textContent: string | undefined;\n\t\t\t\t\tlet mediaType = file.type;\n\n\t\t\t\t\tif (fileType === 'image') {\n\t\t\t\t\t\t[preview, data] = await Promise.all([\n\t\t\t\t\t\t\tfileToPreview(file),\n\t\t\t\t\t\t\tfileToBase64(file),\n\t\t\t\t\t\t]);\n\t\t\t\t\t} else if (fileType === 'pdf') {\n\t\t\t\t\t\tdata = await fileToBase64(file);\n\t\t\t\t\t\tmediaType = 'application/pdf';\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttextContent = await fileToText(file);\n\t\t\t\t\t\tdata = textContent;\n\t\t\t\t\t\tif (!mediaType) {\n\t\t\t\t\t\t\tconst ext = file.name.toLowerCase();\n\t\t\t\t\t\t\tmediaType =\n\t\t\t\t\t\t\t\text.endsWith('.md') || ext.endsWith('.markdown')\n\t\t\t\t\t\t\t\t\t? 'text/markdown'\n\t\t\t\t\t\t\t\t\t: 'text/plain';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tnewFiles.push({\n\t\t\t\t\t\tid: generateId(),\n\t\t\t\t\t\tfile,\n\t\t\t\t\t\ttype: fileType,\n\t\t\t\t\t\tname: file.name,\n\t\t\t\t\t\tpreview,\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\ttextContent,\n\t\t\t\t\t});\n\t\t\t\t} catch {\n\t\t\t\t\tconst msg = `Failed to process file: ${file.name}`;\n\t\t\t\t\tsetError(msg);\n\t\t\t\t\tonError?.(msg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newFiles.length > 0) {\n\t\t\t\tsetFiles((prev) => [...prev, ...newFiles]);\n\t\t\t}\n\t\t},\n\t\t[files.length, maxFiles, validateFile, onError],\n\t);\n\n\tconst removeFile = useCallback((id: string) => {\n\t\tsetFiles((prev) => prev.filter((f) => f.id !== id));\n\t\tsetError(null);\n\t}, []);\n\n\tconst clearFiles = useCallback(() => {\n\t\tsetFiles([]);\n\t\tsetError(null);\n\t}, []);\n\n\tconst handleDragEnter = useCallback((e: DragEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tif (e.dataTransfer.types.includes('Files')) {\n\t\t\tsetIsDragging(true);\n\t\t}\n\t}, []);\n\n\tconst handleDragLeave = useCallback((e: DragEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect();\n\t\tconst x = e.clientX;\n\t\tconst y = e.clientY;\n\t\tif (x < rect.left || x > rect.right || y < rect.top || y > rect.bottom) {\n\t\t\tsetIsDragging(false);\n\t\t}\n\t}, []);\n\n\tconst handleDragOver = useCallback((e: DragEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t}, []);\n\n\tconst handleDrop = useCallback(\n\t\t(e: DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tsetIsDragging(false);\n\n\t\t\tconst droppedFiles = e.dataTransfer.files;\n\t\t\tif (droppedFiles.length > 0) {\n\t\t\t\taddFiles(Array.from(droppedFiles));\n\t\t\t}\n\t\t},\n\t\t[addFiles],\n\t);\n\n\tconst handlePaste = useCallback(\n\t\t(e: ClipboardEvent) => {\n\t\t\tconst items = e.clipboardData?.items;\n\t\t\tif (!items) return;\n\n\t\t\tconst pastedFiles: File[] = [];\n\t\t\tfor (const item of Array.from(items)) {\n\t\t\t\tif (item.kind === 'file') {\n\t\t\t\t\tconst file = item.getAsFile();\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tpastedFiles.push(file);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (pastedFiles.length > 0) {\n\t\t\t\te.preventDefault();\n\t\t\t\taddFiles(pastedFiles);\n\t\t\t}\n\t\t},\n\t\t[addFiles],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!pageWide) return;\n\n\t\tlet dragCounter = 0;\n\n\t\tconst onDragEnter = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tif (e.dataTransfer?.types.includes('Files')) {\n\t\t\t\tdragCounter++;\n\t\t\t\tif (dragCounter === 1) {\n\t\t\t\t\tsetIsDragging(true);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst onDragLeave = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tdragCounter--;\n\t\t\tif (dragCounter === 0) {\n\t\t\t\tsetIsDragging(false);\n\t\t\t}\n\t\t};\n\n\t\tconst onDragOver = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t};\n\n\t\tconst onDrop = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tdragCounter = 0;\n\t\t\tsetIsDragging(false);\n\n\t\t\tconst droppedFiles = e.dataTransfer?.files;\n\t\t\tif (droppedFiles && droppedFiles.length > 0) {\n\t\t\t\taddFiles(Array.from(droppedFiles));\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('dragenter', onDragEnter);\n\t\tdocument.addEventListener('dragleave', onDragLeave);\n\t\tdocument.addEventListener('dragover', onDragOver);\n\t\tdocument.addEventListener('drop', onDrop);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('dragenter', onDragEnter);\n\t\t\tdocument.removeEventListener('dragleave', onDragLeave);\n\t\t\tdocument.removeEventListener('dragover', onDragOver);\n\t\t\tdocument.removeEventListener('drop', onDrop);\n\t\t};\n\t}, [pageWide, addFiles]);\n\n\tconst images = files.filter((f) => f.type === 'image');\n\tconst documents = files.filter((f) => f.type === 'pdf' || f.type === 'text');\n\n\treturn {\n\t\tfiles,\n\t\timages,\n\t\tdocuments,\n\t\tisDragging,\n\t\terror,\n\t\taddFiles,\n\t\tremoveFile,\n\t\tclearFiles,\n\t\thandleDragEnter,\n\t\thandleDragLeave,\n\t\thandleDragOver,\n\t\thandleDrop,\n\t\thandlePaste,\n\t};\n}\n",
|
|
61
61
|
"import { create } from 'zustand';\n\ninterface QueueState {\n\tpendingRestoreText: string | null;\n\tsetPendingRestoreText: (text: string | null) => void;\n\tconsumeRestoreText: () => string | null;\n}\n\nexport const useQueueStore = create<QueueState>((set, get) => ({\n\tpendingRestoreText: null,\n\tsetPendingRestoreText: (text) => set({ pendingRestoreText: text }),\n\tconsumeRestoreText: () => {\n\t\tconst text = get().pendingRestoreText;\n\t\tset({ pendingRestoreText: null });\n\t\treturn text;\n\t},\n}));\n",
|
|
62
62
|
"import { create } from 'zustand';\n\nexport interface PendingResearchContext {\n\tid: string;\n\tsessionId: string;\n\tlabel: string;\n\tcontent: string;\n}\n\ninterface PendingResearchState {\n\tpendingContexts: Map<string, PendingResearchContext[]>;\n\taddContext: (\n\t\tparentSessionId: string,\n\t\tcontext: PendingResearchContext,\n\t) => void;\n\tremoveContext: (parentSessionId: string, contextId: string) => void;\n\tgetContexts: (parentSessionId: string) => PendingResearchContext[];\n\tclearContexts: (parentSessionId: string) => void;\n\tconsumeContexts: (parentSessionId: string) => PendingResearchContext[];\n}\n\nexport const usePendingResearchStore = create<PendingResearchState>(\n\t(set, get) => ({\n\t\tpendingContexts: new Map(),\n\n\t\taddContext: (parentSessionId, context) => {\n\t\t\tset((state) => {\n\t\t\t\tconst newMap = new Map(state.pendingContexts);\n\t\t\t\tconst existing = newMap.get(parentSessionId) || [];\n\t\t\t\tif (!existing.some((c) => c.id === context.id)) {\n\t\t\t\t\tnewMap.set(parentSessionId, [...existing, context]);\n\t\t\t\t}\n\t\t\t\treturn { pendingContexts: newMap };\n\t\t\t});\n\t\t},\n\n\t\tremoveContext: (parentSessionId, contextId) => {\n\t\t\tset((state) => {\n\t\t\t\tconst newMap = new Map(state.pendingContexts);\n\t\t\t\tconst existing = newMap.get(parentSessionId) || [];\n\t\t\t\tnewMap.set(\n\t\t\t\t\tparentSessionId,\n\t\t\t\t\texisting.filter((c) => c.id !== contextId),\n\t\t\t\t);\n\t\t\t\treturn { pendingContexts: newMap };\n\t\t\t});\n\t\t},\n\n\t\tgetContexts: (parentSessionId) => {\n\t\t\treturn get().pendingContexts.get(parentSessionId) || [];\n\t\t},\n\n\t\tclearContexts: (parentSessionId) => {\n\t\t\tset((state) => {\n\t\t\t\tconst newMap = new Map(state.pendingContexts);\n\t\t\t\tnewMap.delete(parentSessionId);\n\t\t\t\treturn { pendingContexts: newMap };\n\t\t\t});\n\t\t},\n\n\t\tconsumeContexts: (parentSessionId) => {\n\t\t\tconst contexts = get().getContexts(parentSessionId);\n\t\t\tget().clearContexts(parentSessionId);\n\t\t\treturn contexts;\n\t\t},\n\t}),\n);\n",
|
|
63
63
|
"export interface ParsedResearchContext {\n\tid: string;\n\tlabel: string;\n\tcontent: string;\n\tfrom: string;\n}\n\nexport interface ParseResult {\n\tresearchContexts: ParsedResearchContext[];\n\tcleanContent: string;\n}\n\nconst RESEARCH_CONTEXT_REGEX =\n\t/<research-context\\s+from=\"([^\"]+)\"\\s+label=\"([^\"]+)\"[^>]*>([\\s\\S]*?)<\\/research-context>/g;\n\nexport function parseResearchContext(content: string): ParseResult {\n\tconst researchContexts: ParsedResearchContext[] = [];\n\tlet cleanContent = content;\n\n\tconst regex = new RegExp(RESEARCH_CONTEXT_REGEX);\n\tlet match = regex.exec(content);\n\n\twhile (match !== null) {\n\t\tconst [fullMatch, from, label, innerContent] = match;\n\t\tresearchContexts.push({\n\t\t\tid: from,\n\t\t\tfrom,\n\t\t\tlabel,\n\t\t\tcontent: innerContent.trim(),\n\t\t});\n\t\tcleanContent = cleanContent.replace(fullMatch, '');\n\t\tmatch = regex.exec(content);\n\t}\n\n\tcleanContent = cleanContent.trim();\n\n\treturn {\n\t\tresearchContexts,\n\t\tcleanContent,\n\t};\n}\n\nexport function formatResearchContextForMessage(\n\tcontexts: Array<{ sessionId: string; label: string; content: string }>,\n): string {\n\tif (contexts.length === 0) return '';\n\n\t// content is already the full XML from server, just join them\n\treturn contexts.map((ctx) => ctx.content).join('\\n\\n');\n}\n",
|
|
64
64
|
"import { useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { useConfig, useUpdateDefaults } from '../../hooks/useConfig';\nimport { Modal } from '../ui/Modal';\nimport {\n\tUnifiedModelSelector,\n\ttype UnifiedModelSelectorRef,\n} from './UnifiedModelSelector';\nimport {\n\tUnifiedAgentSelector,\n\ttype UnifiedAgentSelectorRef,\n} from './UnifiedAgentSelector';\n\ntype ReasoningLevel = 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\nconst REASONING_LEVELS: { value: ReasoningLevel; label: string }[] = [\n\t{ value: 'minimal', label: 'Minimal' },\n\t{ value: 'low', label: 'Low' },\n\t{ value: 'medium', label: 'Medium' },\n\t{ value: 'high', label: 'High' },\n\t{ value: 'max', label: 'Max' },\n\t{ value: 'xhigh', label: 'X-High' },\n];\n\nfunction ReasoningTabs({\n\tvalue,\n\tonChange,\n\tdisabled,\n}: {\n\tvalue: ReasoningLevel;\n\tonChange: (level: ReasoningLevel) => void;\n\tdisabled: boolean;\n}) {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst [pillStyle, setPillStyle] = useState({ left: 0, width: 0 });\n\n\tuseLayoutEffect(() => {\n\t\tif (!containerRef.current) return;\n\t\tconst activeIndex = REASONING_LEVELS.findIndex((l) => l.value === value);\n\t\tconst buttons =\n\t\t\tcontainerRef.current.querySelectorAll<HTMLButtonElement>('[data-tab]');\n\t\tconst activeBtn = buttons[activeIndex];\n\t\tif (activeBtn) {\n\t\t\tsetPillStyle({\n\t\t\t\tleft: activeBtn.offsetLeft,\n\t\t\t\twidth: activeBtn.offsetWidth,\n\t\t\t});\n\t\t}\n\t}, [value]);\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tclassName={`relative flex rounded-full bg-muted p-1 ${disabled ? 'opacity-40 pointer-events-none' : ''}`}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"absolute top-1 bottom-1 rounded-full bg-foreground shadow-md\"\n\t\t\t\tstyle={{\n\t\t\t\t\tleft: pillStyle.left,\n\t\t\t\t\twidth: pillStyle.width,\n\t\t\t\t\ttransition: 'left 200ms ease, width 200ms ease',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{REASONING_LEVELS.map((level) => (\n\t\t\t\t<button\n\t\t\t\t\tkey={level.value}\n\t\t\t\t\tdata-tab\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => onChange(level.value)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName={`relative z-10 flex-1 px-3 py-1.5 text-xs font-medium rounded-full transition-colors duration-200 ${\n\t\t\t\t\t\tvalue === level.value\n\t\t\t\t\t\t\t? 'text-background'\n\t\t\t\t\t\t\t: 'text-muted-foreground hover:text-foreground'\n\t\t\t\t\t}`}\n\t\t\t\t>\n\t\t\t\t\t{level.label}\n\t\t\t\t</button>\n\t\t\t))}\n\t\t</div>\n\t);\n}\n\ninterface ConfigModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\tinitialFocus?: 'agent' | 'model' | null;\n\tchatInputRef?: React.RefObject<{ focus: () => void }>;\n\tagent: string;\n\tprovider: string;\n\tmodel: string;\n\tmodelSupportsReasoning?: boolean;\n\tonAgentChange: (agent: string) => void;\n\tonProviderChange: (provider: string) => void;\n\tonModelChange: (model: string) => void;\n\tonModelSelectorChange?: (provider: string, model: string) => void;\n\tmodalPosition?: 'fixed' | 'absolute';\n}\n\nexport function ConfigModal({\n\tisOpen,\n\tonClose,\n\tinitialFocus,\n\tchatInputRef,\n\tagent,\n\tprovider,\n\tmodel,\n\tmodelSupportsReasoning,\n\tonAgentChange,\n\tonProviderChange,\n\tonModelChange,\n\tonModelSelectorChange,\n\tmodalPosition = 'fixed',\n}: ConfigModalProps) {\n\tconst { data: config, isLoading: configLoading } = useConfig();\n\tconst updateDefaults = useUpdateDefaults();\n\tconst reasoningEnabled = config?.defaults?.reasoningText ?? true;\n\tconst reasoningLevel = config?.defaults?.reasoningLevel ?? 'high';\n\tconst agentSelectorRef = useRef<UnifiedAgentSelectorRef>(null);\n\tconst modelSelectorRef = useRef<UnifiedModelSelectorRef>(null);\n\n\tuseEffect(() => {\n\t\tif (isOpen && initialFocus) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (initialFocus === 'agent') {\n\t\t\t\t\tagentSelectorRef.current?.openAndFocus();\n\t\t\t\t} else if (initialFocus === 'model') {\n\t\t\t\t\tmodelSelectorRef.current?.openAndFocus();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t}\n\t}, [isOpen, initialFocus]);\n\n\tconst handleClose = () => {\n\t\tonClose();\n\t\tsetTimeout(() => {\n\t\t\tchatInputRef?.current?.focus();\n\t\t}, 100);\n\t};\n\n\tconst handleModelChange = (\n\t\tselectedProvider: string,\n\t\tselectedModel: string,\n\t) => {\n\t\tif (onModelSelectorChange) {\n\t\t\tonModelSelectorChange(selectedProvider, selectedModel);\n\t\t} else {\n\t\t\tonProviderChange(selectedProvider);\n\t\t\tonModelChange(selectedModel);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\tisOpen={isOpen}\n\t\t\tonClose={handleClose}\n\t\t\ttitle=\"Configuration\"\n\t\t\tcloseOnEscape={true}\n\t\t\tcloseOnBackdropClick={true}\n\t\t\tmaxWidth=\"lg\"\n\t\t\tposition={modalPosition}\n\t\t>\n\t\t\t{configLoading ? (\n\t\t\t\t<div className=\"text-center text-muted-foreground py-8\">\n\t\t\t\t\tLoading configuration...\n\t\t\t\t</div>\n\t\t\t) : config ? (\n\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t{modelSupportsReasoning && (\n\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\tExtended Thinking\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\taria-checked={reasoningEnabled}\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\t\t\treasoningText: !reasoningEnabled,\n\t\t\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={`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 ${\n\t\t\t\t\t\t\t\t\t\treasoningEnabled ? 'bg-primary' : 'bg-muted'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\t\t\t\t\t\treasoningEnabled ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t\t\t\t\t\t} ${reasoningEnabled ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<ReasoningTabs\n\t\t\t\t\t\t\t\tvalue={reasoningLevel as ReasoningLevel}\n\t\t\t\t\t\t\t\tonChange={(level) =>\n\t\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\t\treasoningLevel: level,\n\t\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={!reasoningEnabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"block text-sm font-medium text-foreground mb-2\">\n\t\t\t\t\t\t\tAgent\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<UnifiedAgentSelector\n\t\t\t\t\t\t\tref={agentSelectorRef}\n\t\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\t\tagents={config.agents}\n\t\t\t\t\t\t\tonChange={onAgentChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"block text-sm font-medium text-foreground mb-2\">\n\t\t\t\t\t\t\tProvider / Model\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<UnifiedModelSelector\n\t\t\t\t\t\t\tref={modelSelectorRef}\n\t\t\t\t\t\t\tprovider={provider}\n\t\t\t\t\t\t\tmodel={model}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</Modal>\n\t);\n}\n",
|
|
65
|
-
"import {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseMemo,\n\tuseImperativeHandle,\n\tforwardRef,\n} from 'react';\nimport { ChevronDown, Search } from 'lucide-react';\nimport Fuse from 'fuse.js';\nimport { useAllModels } from '../../hooks/useConfig';\n\ninterface UnifiedModelSelectorProps {\n\tprovider: string;\n\tmodel: string;\n\tonChange: (provider: string, model: string) => void;\n\tdisabled?: boolean;\n}\n\ninterface FlattenedModel {\n\tproviderKey: string;\n\tproviderLabel: string;\n\tmodelId: string;\n\tmodelLabel: string;\n\ttoolCall?: boolean;\n\treasoningText?: boolean;\n\tavailable?: boolean;\n\tunavailableReason?: string;\n}\n\nexport interface UnifiedModelSelectorRef {\n\topenAndFocus: () => void;\n}\n\nexport const UnifiedModelSelector = forwardRef<\n\tUnifiedModelSelectorRef,\n\tUnifiedModelSelectorProps\n>(function UnifiedModelSelector(\n\t{ provider, model, onChange, disabled = false },\n\tref,\n) {\n\tconst { data: allModels, isLoading } = useAllModels();\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [searchQuery, setSearchQuery] = useState('');\n\tconst [highlightedIndex, setHighlightedIndex] = useState(0);\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\tconst itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\topenAndFocus: () => {\n\t\t\tsetIsOpen(true);\n\t\t},\n\t}));\n\n\tconst flattenedModels = useMemo(() => {\n\t\tif (!allModels) return [];\n\t\tconst flattened: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(allModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tflattened.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn flattened;\n\t}, [allModels]);\n\n\tconst fuse = useMemo(() => {\n\t\treturn new Fuse(flattenedModels, {\n\t\t\tkeys: [\n\t\t\t\t{ name: 'modelLabel', weight: 2 },\n\t\t\t\t{ name: 'modelId', weight: 1 },\n\t\t\t\t{ name: 'providerLabel', weight: 0.5 },\n\t\t\t],\n\t\t\tthreshold: 0.3,\n\t\t\tignoreLocation: true,\n\t\t\tincludeScore: true,\n\t\t\tdistance: 100,\n\t\t\tminMatchCharLength: 1,\n\t\t});\n\t}, [flattenedModels]);\n\n\tconst filteredModels = useMemo(() => {\n\t\tif (!allModels) return {};\n\t\tif (!searchQuery.trim()) return allModels;\n\n\t\tconst results = fuse.search(searchQuery);\n\n\t\tconst sortedResults = results.sort((a, b) => {\n\t\t\tconst scoreA = a.score ?? 1;\n\t\t\tconst scoreB = b.score ?? 1;\n\t\t\tif (Math.abs(scoreA - scoreB) < 0.001) {\n\t\t\t\tconst labelA = a.item.modelLabel.toLowerCase();\n\t\t\t\tconst labelB = b.item.modelLabel.toLowerCase();\n\t\t\t\tconst query = searchQuery.toLowerCase();\n\t\t\t\tconst indexA = labelA.indexOf(query);\n\t\t\t\tconst indexB = labelB.indexOf(query);\n\t\t\t\tif (indexA >= 0 && indexB < 0) return -1;\n\t\t\t\tif (indexB >= 0 && indexA < 0) return 1;\n\t\t\t\tif (indexA >= 0 && indexB >= 0) return indexA - indexB;\n\t\t\t}\n\t\t\treturn scoreA - scoreB;\n\t\t});\n\n\t\tconst filtered: typeof allModels = {};\n\n\t\tfor (const result of sortedResults) {\n\t\t\tconst item = result.item;\n\n\t\t\tif (!filtered[item.providerKey]) {\n\t\t\t\tfiltered[item.providerKey] = {\n\t\t\t\t\tlabel: item.providerLabel,\n\t\t\t\t\tmodels: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst existingModel = filtered[item.providerKey].models.find(\n\t\t\t\t(m) => m.id === item.modelId,\n\t\t\t);\n\t\t\tif (!existingModel) {\n\t\t\t\tfiltered[item.providerKey].models.push({\n\t\t\t\t\tid: item.modelId,\n\t\t\t\t\tlabel: item.modelLabel,\n\t\t\t\t\ttoolCall: item.toolCall,\n\t\t\t\t\treasoningText: item.reasoningText,\n\t\t\t\t\tavailable: item.available,\n\t\t\t\t\tunavailableReason: item.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn filtered;\n\t}, [allModels, searchQuery, fuse]);\n\n\tconst filteredFlatList = useMemo(() => {\n\t\tconst list: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(filteredModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tlist.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn list;\n\t}, [filteredModels]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetHighlightedIndex(0);\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisOpen &&\n\t\t\thighlightedIndex >= 0 &&\n\t\t\thighlightedIndex < itemRefs.current.length\n\t\t) {\n\t\t\titemRefs.current[highlightedIndex]?.scrollIntoView({\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t\t}\n\t}, [highlightedIndex, isOpen]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (\n\t\t\t\tdropdownRef.current &&\n\t\t\t\t!dropdownRef.current.contains(event.target as Node)\n\t\t\t) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tconst target = event.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (event.key === 'Escape' || (event.key === 'q' && !isInInput)) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tif (isOpen) {\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.addEventListener('keydown', handleEscape);\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 0);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.removeEventListener('keydown', handleEscape);\n\t\t};\n\t}, [isOpen]);\n\n\tconst handleSelect = (\n\t\tselectedProvider: string,\n\t\tselectedModel: string,\n\t\tavailable?: boolean,\n\t) => {\n\t\tif (available === false) return;\n\t\tonChange(selectedProvider, selectedModel);\n\t\tsetIsOpen(false);\n\t\tsetSearchQuery('');\n\t};\n\n\tconst handleSearchKeyDown = (event: React.KeyboardEvent) => {\n\t\tif (filteredFlatList.length === 0) return;\n\n\t\tif (event.key === 'ArrowDown' || (event.ctrlKey && event.key === 'j')) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev < filteredFlatList.length - 1 ? prev + 1 : 0,\n\t\t\t);\n\t\t} else if (\n\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t(event.ctrlKey && event.key === 'k')\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev > 0 ? prev - 1 : filteredFlatList.length - 1,\n\t\t\t);\n\t\t} else if (event.key === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t\tconst highlighted = filteredFlatList[highlightedIndex];\n\t\t\tif (highlighted && highlighted.available !== false) {\n\t\t\t\thandleSelect(\n\t\t\t\t\thighlighted.providerKey,\n\t\t\t\t\thighlighted.modelId,\n\t\t\t\t\thighlighted.available,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst currentProviderLabel = allModels?.[provider]?.label || provider;\n\tconst currentModelLabel =\n\t\tallModels?.[provider]?.models.find((m) => m.id === model)?.label || model;\n\n\treturn (\n\t\t<div ref={dropdownRef} className=\"relative w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\tdisabled={disabled || isLoading}\n\t\t\t\tclassName=\"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\t>\n\t\t\t\t<span className=\"flex items-center gap-2 text-sm truncate\">\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t{currentProviderLabel}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]/50\">/</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--foreground))]\">\n\t\t\t\t\t\t{currentModelLabel}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<ChevronDown\n\t\t\t\t\tclassName={`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t\t{isOpen && !isLoading && allModels && (\n\t\t\t\t<div className=\"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col\">\n\t\t\t\t\t<div className=\"p-2 border-b border-[hsl(var(--border))]\">\n\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tvalue={searchQuery}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchQuery(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={handleSearchKeyDown}\n\t\t\t\t\t\t\t\tplaceholder=\"Search providers and models...\"\n\t\t\t\t\t\t\t\tclassName=\"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"overflow-y-auto\">\n\t\t\t\t\t\t{Object.keys(filteredModels).length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm\">\n\t\t\t\t\t\t\t\tNo models found\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tObject.entries(filteredModels).map(\n\t\t\t\t\t\t\t\t([providerKey, providerData]) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={providerKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"border-b border-[hsl(var(--border))] last:border-0\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))] z-10\">\n\t\t\t\t\t\t\t\t\t\t\t{providerData.label}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t{providerData.models.map((modelItem) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey === provider && modelItem.id === model;\n\t\t\t\t\t\t\t\t\t\t\t\tconst flatIndex = filteredFlatList.findIndex(\n\t\t\t\t\t\t\t\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.providerKey === providerKey &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.modelId === modelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\tconst isHighlighted = flatIndex === highlightedIndex;\n\t\t\t\t\t\t\t\t\t\t\t\tconst isAvailable = modelItem.available !== false;\n\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={modelItem.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (flatIndex >= 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemRefs.current[flatIndex] = el;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!isAvailable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={modelItem.unavailableReason}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSelect(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.available,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => setHighlightedIndex(flatIndex)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisHighlighted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-[hsl(var(--accent-foreground))] font-medium'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-[hsl(var(--foreground))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!isAvailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'opacity-60 cursor-not-allowed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{modelItem.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isAvailable ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.toolCall ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.reasoningText) && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex gap-1 ml-2 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!isAvailable && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tUnavailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.toolCall && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTools\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.reasoningText && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReasoning\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
|
|
65
|
+
"import {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseMemo,\n\tuseImperativeHandle,\n\tforwardRef,\n} from 'react';\nimport { ChevronDown, Search } from 'lucide-react';\nimport Fuse from 'fuse.js';\nimport { useAllModels, useModels } from '../../hooks/useConfig';\nimport { apiClient } from '../../lib/api-client';\nimport type { AllModelsResponse, ProviderModels } from '../../types/api';\n\ninterface UnifiedModelSelectorProps {\n\tprovider: string;\n\tmodel: string;\n\tonChange: (provider: string, model: string) => void;\n\tdisabled?: boolean;\n}\n\ninterface FlattenedModel {\n\tproviderKey: string;\n\tproviderLabel: string;\n\tmodelId: string;\n\tmodelLabel: string;\n\ttoolCall?: boolean;\n\treasoningText?: boolean;\n\tavailable?: boolean;\n\tunavailableReason?: string;\n}\n\nexport interface UnifiedModelSelectorRef {\n\topenAndFocus: () => void;\n}\n\nexport const UnifiedModelSelector = forwardRef<\n\tUnifiedModelSelectorRef,\n\tUnifiedModelSelectorProps\n>(function UnifiedModelSelector(\n\t{ provider, model, onChange, disabled = false },\n\tref,\n) {\n\tconst { data: allModels } = useAllModels();\n\tconst { data: currentProviderModels, isLoading: isCurrentProviderLoading } =\n\t\tuseModels(provider);\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [searchQuery, setSearchQuery] = useState('');\n\tconst [highlightedIndex, setHighlightedIndex] = useState(0);\n\tconst [loadedModels, setLoadedModels] = useState<AllModelsResponse>({});\n\tconst [loadingProviders, setLoadingProviders] = useState<\n\t\tRecord<string, boolean>\n\t>({});\n\tconst [hydratedProviders, setHydratedProviders] = useState<\n\t\tRecord<string, boolean>\n\t>({});\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\tconst itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n\tuseEffect(() => {\n\t\tif (!allModels) return;\n\t\tsetLoadedModels((prev) => {\n\t\t\tconst next: AllModelsResponse = { ...prev };\n\t\t\tfor (const [providerId, providerData] of Object.entries(allModels)) {\n\t\t\t\tnext[providerId] = {\n\t\t\t\t\t...providerData,\n\t\t\t\t\tmodels: hydratedProviders[providerId]\n\t\t\t\t\t\t? (prev[providerId]?.models ?? providerData.models)\n\t\t\t\t\t\t: providerData.models,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn next;\n\t\t});\n\t}, [allModels, hydratedProviders]);\n\n\tconst configuredProviders = useMemo(() => {\n\t\tconst providers = Object.keys(allModels ?? {});\n\t\tif (!provider || providers.includes(provider)) {\n\t\t\treturn providers;\n\t\t}\n\t\treturn [provider, ...providers];\n\t}, [allModels, provider]);\n\n\tuseEffect(() => {\n\t\tif (!provider || !currentProviderModels) return;\n\t\tsetLoadedModels((prev) => ({\n\t\t\t...prev,\n\t\t\t[provider]: {\n\t\t\t\t...(prev[provider] ?? {}),\n\t\t\t\tlabel: currentProviderModels.label || provider,\n\t\t\t\tmodels: currentProviderModels.models,\n\t\t\t},\n\t\t}));\n\t\tsetHydratedProviders((prev) => ({ ...prev, [provider]: true }));\n\t}, [currentProviderModels, provider]);\n\n\tuseEffect(() => {\n\t\tif (!isOpen || !configuredProviders.length) return;\n\n\t\tfor (const providerId of configuredProviders) {\n\t\t\tconst providerData = loadedModels[providerId] ?? allModels?.[providerId];\n\t\t\tif (\n\t\t\t\t!providerData?.dynamicModels ||\n\t\t\t\thydratedProviders[providerId] ||\n\t\t\t\tloadingProviders[providerId]\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsetLoadingProviders((prev) => ({ ...prev, [providerId]: true }));\n\n\t\t\tvoid apiClient\n\t\t\t\t.getModels(providerId)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetLoadedModels((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[providerId]: {\n\t\t\t\t\t\t\t...(prev[providerId] ?? allModels?.[providerId] ?? {}),\n\t\t\t\t\t\t\tlabel: data.label || providerId,\n\t\t\t\t\t\t\tmodels: data.models,\n\t\t\t\t\t\t\tallowAnyModel: data.allowAnyModel,\n\t\t\t\t\t\t\tdynamicModels: true,\n\t\t\t\t\t\t} satisfies ProviderModels,\n\t\t\t\t\t}));\n\t\t\t\t\tsetHydratedProviders((prev) => ({ ...prev, [providerId]: true }));\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tsetHydratedProviders((prev) => ({ ...prev, [providerId]: true }));\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetLoadingProviders((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[providerId]: false,\n\t\t\t\t\t}));\n\t\t\t\t});\n\t\t}\n\t}, [\n\t\tallModels,\n\t\tconfiguredProviders,\n\t\thydratedProviders,\n\t\tisOpen,\n\t\tloadedModels,\n\t\tloadingProviders,\n\t]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\topenAndFocus: () => {\n\t\t\tsetIsOpen(true);\n\t\t},\n\t}));\n\n\tconst flattenedModels = useMemo(() => {\n\t\tconst flattened: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(loadedModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tflattened.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn flattened;\n\t}, [loadedModels]);\n\n\tconst fuse = useMemo(() => {\n\t\treturn new Fuse(flattenedModels, {\n\t\t\tkeys: [\n\t\t\t\t{ name: 'modelLabel', weight: 2 },\n\t\t\t\t{ name: 'modelId', weight: 1 },\n\t\t\t\t{ name: 'providerLabel', weight: 0.5 },\n\t\t\t],\n\t\t\tthreshold: 0.3,\n\t\t\tignoreLocation: true,\n\t\t\tincludeScore: true,\n\t\t\tdistance: 100,\n\t\t\tminMatchCharLength: 1,\n\t\t});\n\t}, [flattenedModels]);\n\n\tconst filteredModels = useMemo(() => {\n\t\tif (!searchQuery.trim()) return loadedModels;\n\n\t\tconst results = fuse.search(searchQuery);\n\n\t\tconst sortedResults = results.sort((a, b) => {\n\t\t\tconst scoreA = a.score ?? 1;\n\t\t\tconst scoreB = b.score ?? 1;\n\t\t\tif (Math.abs(scoreA - scoreB) < 0.001) {\n\t\t\t\tconst labelA = a.item.modelLabel.toLowerCase();\n\t\t\t\tconst labelB = b.item.modelLabel.toLowerCase();\n\t\t\t\tconst query = searchQuery.toLowerCase();\n\t\t\t\tconst indexA = labelA.indexOf(query);\n\t\t\t\tconst indexB = labelB.indexOf(query);\n\t\t\t\tif (indexA >= 0 && indexB < 0) return -1;\n\t\t\t\tif (indexB >= 0 && indexA < 0) return 1;\n\t\t\t\tif (indexA >= 0 && indexB >= 0) return indexA - indexB;\n\t\t\t}\n\t\t\treturn scoreA - scoreB;\n\t\t});\n\n\t\tconst filtered: AllModelsResponse = {};\n\n\t\tfor (const result of sortedResults) {\n\t\t\tconst item = result.item;\n\n\t\t\tif (!filtered[item.providerKey]) {\n\t\t\t\tfiltered[item.providerKey] = {\n\t\t\t\t\tlabel: item.providerLabel,\n\t\t\t\t\tmodels: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst existingModel = filtered[item.providerKey].models.find(\n\t\t\t\t(m) => m.id === item.modelId,\n\t\t\t);\n\t\t\tif (!existingModel) {\n\t\t\t\tfiltered[item.providerKey].models.push({\n\t\t\t\t\tid: item.modelId,\n\t\t\t\t\tlabel: item.modelLabel,\n\t\t\t\t\ttoolCall: item.toolCall,\n\t\t\t\t\treasoningText: item.reasoningText,\n\t\t\t\t\tavailable: item.available,\n\t\t\t\t\tunavailableReason: item.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn filtered;\n\t}, [loadedModels, searchQuery, fuse]);\n\n\tconst filteredFlatList = useMemo(() => {\n\t\tconst list: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(filteredModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tlist.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn list;\n\t}, [filteredModels]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetHighlightedIndex(0);\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisOpen &&\n\t\t\thighlightedIndex >= 0 &&\n\t\t\thighlightedIndex < itemRefs.current.length\n\t\t) {\n\t\t\titemRefs.current[highlightedIndex]?.scrollIntoView({\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t\t}\n\t}, [highlightedIndex, isOpen]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (\n\t\t\t\tdropdownRef.current &&\n\t\t\t\t!dropdownRef.current.contains(event.target as Node)\n\t\t\t) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tconst target = event.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (event.key === 'Escape' || (event.key === 'q' && !isInInput)) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tif (isOpen) {\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.addEventListener('keydown', handleEscape);\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 0);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.removeEventListener('keydown', handleEscape);\n\t\t};\n\t}, [isOpen]);\n\n\tconst handleSelect = (\n\t\tselectedProvider: string,\n\t\tselectedModel: string,\n\t\tavailable?: boolean,\n\t) => {\n\t\tif (available === false) return;\n\t\tonChange(selectedProvider, selectedModel);\n\t\tsetIsOpen(false);\n\t\tsetSearchQuery('');\n\t};\n\n\tconst handleSearchKeyDown = (event: React.KeyboardEvent) => {\n\t\tif (filteredFlatList.length === 0) return;\n\n\t\tif (event.key === 'ArrowDown' || (event.ctrlKey && event.key === 'j')) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev < filteredFlatList.length - 1 ? prev + 1 : 0,\n\t\t\t);\n\t\t} else if (\n\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t(event.ctrlKey && event.key === 'k')\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev > 0 ? prev - 1 : filteredFlatList.length - 1,\n\t\t\t);\n\t\t} else if (event.key === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t\tconst highlighted = filteredFlatList[highlightedIndex];\n\t\t\tif (highlighted && highlighted.available !== false) {\n\t\t\t\thandleSelect(\n\t\t\t\t\thighlighted.providerKey,\n\t\t\t\t\thighlighted.modelId,\n\t\t\t\t\thighlighted.available,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst currentProviderLabel =\n\t\tloadedModels[provider]?.label || currentProviderModels?.label || provider;\n\tconst currentModelLabel =\n\t\tloadedModels[provider]?.models.find((m) => m.id === model)?.label ||\n\t\tcurrentProviderModels?.models.find((m) => m.id === model)?.label ||\n\t\tmodel;\n\tconst displayedProviderKeys = searchQuery.trim()\n\t\t? Object.keys(filteredModels)\n\t\t: configuredProviders;\n\n\treturn (\n\t\t<div ref={dropdownRef} className=\"relative w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName=\"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\t>\n\t\t\t\t<span className=\"flex items-center gap-2 text-sm truncate\">\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t{currentProviderLabel}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]/50\">/</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--foreground))]\">\n\t\t\t\t\t\t{currentModelLabel}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<ChevronDown\n\t\t\t\t\tclassName={`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t\t{isOpen && (\n\t\t\t\t<div className=\"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col\">\n\t\t\t\t\t<div className=\"p-2 border-b border-[hsl(var(--border))]\">\n\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tvalue={searchQuery}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchQuery(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={handleSearchKeyDown}\n\t\t\t\t\t\t\t\tplaceholder=\"Search providers and models...\"\n\t\t\t\t\t\t\t\tclassName=\"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"overflow-y-auto\">\n\t\t\t\t\t\t{displayedProviderKeys.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm\">\n\t\t\t\t\t\t\t\t{isCurrentProviderLoading\n\t\t\t\t\t\t\t\t\t? 'Loading models...'\n\t\t\t\t\t\t\t\t\t: 'No models found'}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tdisplayedProviderKeys.map((providerKey) => {\n\t\t\t\t\t\t\t\tconst providerData = filteredModels[providerKey];\n\t\t\t\t\t\t\t\tconst isProviderLoading =\n\t\t\t\t\t\t\t\t\tloadingProviders[providerKey] ||\n\t\t\t\t\t\t\t\t\t(providerKey === provider &&\n\t\t\t\t\t\t\t\t\t\tisCurrentProviderLoading &&\n\t\t\t\t\t\t\t\t\t\t!providerData);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={providerKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"border-b border-[hsl(var(--border))] last:border-0\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))] z-10\">\n\t\t\t\t\t\t\t\t\t\t\t{providerData?.label || providerKey}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t{isProviderLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tLoading models...\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : providerData?.models.length ? (\n\t\t\t\t\t\t\t\t\t\t\t\tproviderData.models.map((modelItem) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey === provider && modelItem.id === model;\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst flatIndex = filteredFlatList.findIndex(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.providerKey === providerKey &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.modelId === modelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isHighlighted = flatIndex === highlightedIndex;\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isAvailable = modelItem.available !== false;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={modelItem.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (flatIndex >= 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemRefs.current[flatIndex] = el;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!isAvailable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={modelItem.unavailableReason}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSelect(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.available,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetHighlightedIndex(flatIndex)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisHighlighted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-[hsl(var(--accent-foreground))] font-medium'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-[hsl(var(--foreground))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!isAvailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'opacity-60 cursor-not-allowed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isAvailable ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.toolCall ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.reasoningText) && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex gap-1 ml-2 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!isAvailable && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tUnavailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.toolCall && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTools\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.reasoningText && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReasoning\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tNo models available\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
|
|
66
66
|
"import {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseMemo,\n\tuseImperativeHandle,\n\tforwardRef,\n} from 'react';\nimport { ChevronDown, Search } from 'lucide-react';\nimport Fuse from 'fuse.js';\n\ninterface UnifiedAgentSelectorProps {\n\tagent: string;\n\tagents: string[];\n\tonChange: (agent: string) => void;\n\tdisabled?: boolean;\n}\n\nexport interface UnifiedAgentSelectorRef {\n\topenAndFocus: () => void;\n}\n\nexport const UnifiedAgentSelector = forwardRef<\n\tUnifiedAgentSelectorRef,\n\tUnifiedAgentSelectorProps\n>(function UnifiedAgentSelector(\n\t{ agent, agents, onChange, disabled = false },\n\tref,\n) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [searchQuery, setSearchQuery] = useState('');\n\tconst [highlightedIndex, setHighlightedIndex] = useState(0);\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\tconst itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\topenAndFocus: () => {\n\t\t\tsetIsOpen(true);\n\t\t},\n\t}));\n\n\tconst fuse = useMemo(() => {\n\t\treturn new Fuse(agents, {\n\t\t\tthreshold: 0.4,\n\t\t\tignoreLocation: true,\n\t\t});\n\t}, [agents]);\n\n\tconst filteredAgents = useMemo(() => {\n\t\tif (!searchQuery.trim()) return agents;\n\t\tconst results = fuse.search(searchQuery);\n\t\treturn results.map((result) => result.item);\n\t}, [agents, searchQuery, fuse]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetHighlightedIndex(0);\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisOpen &&\n\t\t\thighlightedIndex >= 0 &&\n\t\t\thighlightedIndex < itemRefs.current.length\n\t\t) {\n\t\t\titemRefs.current[highlightedIndex]?.scrollIntoView({\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t\t}\n\t}, [highlightedIndex, isOpen]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (\n\t\t\t\tdropdownRef.current &&\n\t\t\t\t!dropdownRef.current.contains(event.target as Node)\n\t\t\t) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tconst target = event.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (event.key === 'Escape' || (event.key === 'q' && !isInInput)) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tif (isOpen) {\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.addEventListener('keydown', handleEscape);\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 0);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.removeEventListener('keydown', handleEscape);\n\t\t};\n\t}, [isOpen]);\n\n\tconst handleSelect = (selectedAgent: string) => {\n\t\tonChange(selectedAgent);\n\t\tsetIsOpen(false);\n\t\tsetSearchQuery('');\n\t};\n\n\tconst handleSearchKeyDown = (event: React.KeyboardEvent) => {\n\t\tif (filteredAgents.length === 0) return;\n\n\t\tif (event.key === 'ArrowDown' || (event.ctrlKey && event.key === 'j')) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev < filteredAgents.length - 1 ? prev + 1 : 0,\n\t\t\t);\n\t\t} else if (\n\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t(event.ctrlKey && event.key === 'k')\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev > 0 ? prev - 1 : filteredAgents.length - 1,\n\t\t\t);\n\t\t} else if (event.key === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t\tconst highlighted = filteredAgents[highlightedIndex];\n\t\t\tif (highlighted) {\n\t\t\t\thandleSelect(highlighted);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<div ref={dropdownRef} className=\"relative w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName=\"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\t>\n\t\t\t\t<span className=\"text-sm text-[hsl(var(--foreground))] truncate\">\n\t\t\t\t\t{agent}\n\t\t\t\t</span>\n\t\t\t\t<ChevronDown\n\t\t\t\t\tclassName={`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}`}\n\t\t\t\t/>\n\t\t\t</button>\n\n\t\t\t{isOpen && (\n\t\t\t\t<div className=\"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col\">\n\t\t\t\t\t<div className=\"p-2 border-b border-[hsl(var(--border))]\">\n\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tvalue={searchQuery}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchQuery(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={handleSearchKeyDown}\n\t\t\t\t\t\t\t\tplaceholder=\"Search agents...\"\n\t\t\t\t\t\t\t\tclassName=\"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"overflow-y-auto\">\n\t\t\t\t\t\t{filteredAgents.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm\">\n\t\t\t\t\t\t\t\tNo agents found\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tfilteredAgents.map((agentItem, index) => {\n\t\t\t\t\t\t\t\tconst isSelected = agentItem === agent;\n\t\t\t\t\t\t\t\tconst isHighlighted = index === highlightedIndex;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tkey={agentItem}\n\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\titemRefs.current[index] = el;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelect(agentItem)}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => setHighlightedIndex(index)}\n\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-4 py-2 text-sm transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\tisHighlighted\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t? 'text-[hsl(var(--accent-foreground))] font-medium'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'text-[hsl(var(--foreground))]'\n\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{agentItem}</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
|
|
67
67
|
"import { useEffect } from 'react';\nimport { Settings } from 'lucide-react';\nimport { useConfig, useModels } from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\n\ninterface ConfigSelectorProps {\n\tagent: string;\n\tprovider: string;\n\tmodel: string;\n\tonAgentChange: (agent: string) => void;\n\tonProviderChange: (provider: string) => void;\n\tonModelChange: (model: string) => void;\n}\n\nexport function ConfigSelector({\n\tagent,\n\tprovider,\n\tmodel,\n\tonAgentChange,\n\tonProviderChange,\n\tonModelChange,\n}: ConfigSelectorProps) {\n\tconst { data: config, isLoading: configLoading } = useConfig();\n\tconst { data: modelsData, isLoading: modelsLoading } = useModels(provider);\n\tconst { preferences } = usePreferences();\n\n\tconsole.log('ConfigSelector rendered', {\n\t\tconfig,\n\t\tconfigLoading,\n\t\tagent,\n\t\tprovider,\n\t\tmodel,\n\t});\n\n\t// Set defaults when config loads\n\tuseEffect(() => {\n\t\tif (config && !agent && !provider && !model) {\n\t\t\tonAgentChange(config.defaults.agent);\n\t\t\tonProviderChange(config.defaults.provider);\n\t\t\tonModelChange(config.defaults.model);\n\t\t}\n\t}, [\n\t\tconfig,\n\t\tagent,\n\t\tprovider,\n\t\tmodel,\n\t\tonAgentChange,\n\t\tonProviderChange,\n\t\tonModelChange,\n\t]);\n\n\t// Update model when provider changes\n\tuseEffect(() => {\n\t\tif (modelsData && modelsData.models.length > 0) {\n\t\t\tconst currentModelExists = modelsData.models.some((m) => m.id === model);\n\t\t\tif (!currentModelExists) {\n\t\t\t\tonModelChange(modelsData.default || modelsData.models[0].id);\n\t\t\t}\n\t\t}\n\t}, [modelsData, model, onModelChange]);\n\n\tif (configLoading) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center gap-2 px-4 py-2 border-t border-border bg-background/50\">\n\t\t\t\t<Settings className=\"h-4 w-4 text-muted-foreground animate-spin\" />\n\t\t\t\t<span className=\"text-xs text-muted-foreground\">Loading config...</span>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (!config) return null;\n\n\tconst selectorWidthClass = preferences.fullWidthContent\n\t\t? 'w-full pointer-events-auto'\n\t\t: 'max-w-3xl mx-auto pointer-events-auto';\n\n\treturn (\n\t\t<div className=\"absolute bottom-24 left-0 right-0 pb-2 px-4 pointer-events-none z-40\">\n\t\t\t<div className={selectorWidthClass}>\n\t\t\t\t<div className=\"flex items-center gap-2 px-4 py-2 border border-border bg-background/95 backdrop-blur-sm rounded-lg\">\n\t\t\t\t\t<Settings className=\"h-4 w-4 text-muted-foreground\" />\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={agent}\n\t\t\t\t\t\tonChange={(e) => onAgentChange(e.target.value)}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{config.agents.map((a) => (\n\t\t\t\t\t\t\t<option key={a} value={a}>\n\t\t\t\t\t\t\t\t{a}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={provider}\n\t\t\t\t\t\tonChange={(e) => onProviderChange(e.target.value)}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{config.providers.map((p) => (\n\t\t\t\t\t\t\t<option key={p} value={p}>\n\t\t\t\t\t\t\t\t{p}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={model}\n\t\t\t\t\t\tonChange={(e) => onModelChange(e.target.value)}\n\t\t\t\t\t\tdisabled={modelsLoading || !modelsData}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none disabled:opacity-50\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{modelsData?.models.map((m) => (\n\t\t\t\t\t\t\t<option key={m.id} value={m.id}>\n\t\t\t\t\t\t\t\t{m.label}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
|
|
68
68
|
"import { StopCircle } from 'lucide-react';\nimport { useState } from 'react';\nimport { apiClient } from '../../lib/api-client';\n\ninterface StopButtonProps {\n\tsessionId: string;\n\tonStop?: () => void;\n\tdisabled?: boolean;\n}\n\nexport function StopButton({ sessionId, onStop, disabled }: StopButtonProps) {\n\tconst [isAborting, setIsAborting] = useState(false);\n\n\tconst handleStop = async () => {\n\t\tif (isAborting) return;\n\t\tsetIsAborting(true);\n\n\t\ttry {\n\t\t\tawait apiClient.abortSession(sessionId);\n\t\t\tonStop?.();\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to abort stream:', error);\n\t\t} finally {\n\t\t\t// Keep button disabled for a bit to prevent double-clicks\n\t\t\tsetTimeout(() => setIsAborting(false), 1000);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={handleStop}\n\t\t\tdisabled={disabled || isAborting}\n\t\t\tclassName=\"flex items-center gap-1.5 text-sm text-destructive hover:text-destructive/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\ttitle=\"Stop generation\"\n\t\t>\n\t\t\t<StopCircle className=\"w-4 h-4\" />\n\t\t\t<span className=\"font-medium\">{isAborting ? 'Stopping...' : 'Stop'}</span>\n\t\t</button>\n\t);\n}\n",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"import { useState, useRef, useEffect } from 'react';\nimport { ChevronDown, ChevronRight } from 'lucide-react';\nimport type { MessagePart } from '../../../types/api';\n\ninterface ReasoningRendererProps {\n\tpart: MessagePart;\n}\n\nexport function ReasoningRenderer({ part }: ReasoningRendererProps) {\n\tconst [isExpanded, setIsExpanded] = useState(true);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst isHoveredRef = useRef(false);\n\tlet content = '';\n\tconst data = part.contentJson || part.content;\n\tif (data && typeof data === 'object' && 'text' in data) {\n\t\tcontent = String(data.text);\n\t} else if (typeof data === 'string') {\n\t\tcontent = data;\n\t}\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: content dependency is intentional - triggers auto-scroll when new reasoning text streams in\n\tuseEffect(() => {\n\t\tif (\n\t\t\tscrollRef.current &&\n\t\t\tisExpanded &&\n\t\t\t!part.completedAt &&\n\t\t\t!isHoveredRef.current\n\t\t) {\n\t\t\tscrollRef.current.scrollTop = scrollRef.current.scrollHeight;\n\t\t}\n\t}, [content, isExpanded, part.completedAt]);\n\n\tif (!content || !content.trim()) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => setIsExpanded(!isExpanded)}\n\t\t\t\tclassName=\"flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors w-full\"\n\t\t\t>\n\t\t\t\t{isExpanded ? (\n\t\t\t\t\t<ChevronDown className=\"h-3 w-3 flex-shrink-0\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronRight className=\"h-3 w-3 flex-shrink-0\" />\n\t\t\t\t)}\n\t\t\t\t<span className=\"font-medium\">Reasoning</span>\n\t\t\t\t{!part.completedAt && (\n\t\t\t\t\t<span className=\"text-muted-foreground/60 animate-pulse\">\n\t\t\t\t\t\tthinking...\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t\t{isExpanded && (\n\t\t\t\t<div\n\t\t\t\t\tref={scrollRef}\n\t\t\t\t\tclassName=\"mt-2 p-3 bg-muted/30 rounded-md border border-border max-h-48 overflow-y-auto\"\n\t\t\t\t\trole=\"log\"\n\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\tisHoveredRef.current = true;\n\t\t\t\t\t}}\n\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\tisHoveredRef.current = false;\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"text-sm text-muted-foreground whitespace-pre-wrap font-mono\">\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n",
|
|
106
106
|
"import { useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Brain, Search } from 'lucide-react';\nimport {\n\ttype CompactActivityEntry,\n\tsummarizeCompactActivities,\n} from './compactActivity';\n\nconst ANIM_MS = 320;\nconst EASING = 'cubic-bezier(0.25, 1, 0.5, 1)';\nconst MAX_SCROLL_H = 140;\n\ninterface CompactActivityGroupProps {\n\tentries: CompactActivityEntry[];\n\ttitleOverride?: string;\n\tshowLine: boolean;\n\tcollapsed: boolean;\n}\n\nexport function CompactActivityGroup({\n\tentries,\n\ttitleOverride,\n\tshowLine,\n\tcollapsed,\n}: CompactActivityGroupProps) {\n\tconst mountedCollapsed = collapsed && entries.length > 0;\n\tconst [showSummary, setShowSummary] = useState(mountedCollapsed);\n\tconst [latched, setLatched] = useState(mountedCollapsed);\n\tconst contentMeasureRef = useRef<HTMLDivElement>(null);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst scrollAnimationRef = useRef<number | null>(null);\n\tconst hoveredRef = useRef(false);\n\tconst prevCountRef = useRef(entries.length);\n\tconst [contentHeight, setContentHeight] = useState(0);\n\n\tconst summary = useMemo(() => summarizeCompactActivities(entries), [entries]);\n\tconst summaryTitle = titleOverride || summary.title;\n\tconst summaryText = [summaryTitle, ...summary.details].join('\\u00A0· ');\n\tconst hasReasoning = entries.some((e) => e.toolName === 'reasoning');\n\n\tconst lastEntry = entries.length > 0 ? entries[entries.length - 1] : null;\n\n\tuseEffect(() => {\n\t\tif (!collapsed && !latched) {\n\t\t\tsetShowSummary(false);\n\t\t\treturn;\n\t\t}\n\t\tif (!latched && collapsed) {\n\t\t\tsetLatched(true);\n\t\t}\n\t\tif (showSummary) return;\n\t\tif (entries.length === 0) return;\n\t\tconst t = window.setTimeout(() => setShowSummary(true), 500);\n\t\treturn () => window.clearTimeout(t);\n\t}, [collapsed, showSummary, latched, entries.length]);\n\n\tuseLayoutEffect(() => {\n\t\tif (showSummary) return;\n\t\tconst el = contentMeasureRef.current;\n\t\tif (!el) return;\n\t\tconst updateHeight = () => {\n\t\t\tconst nextHeight = Math.min(el.scrollHeight, MAX_SCROLL_H);\n\t\t\tsetContentHeight((prev) => (prev === nextHeight ? prev : nextHeight));\n\t\t};\n\t\tupdateHeight();\n\t\tconst observer = new ResizeObserver(() => updateHeight());\n\t\tobserver.observe(el);\n\t\treturn () => observer.disconnect();\n\t}, [showSummary]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (scrollAnimationRef.current !== null) {\n\t\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: auto-scroll on new entries or streaming text\n\tuseEffect(() => {\n\t\tif (showSummary || hoveredRef.current) return;\n\t\tconst el = scrollRef.current;\n\t\tif (!el) return;\n\t\tconst naturalHeight = contentMeasureRef.current?.scrollHeight ?? 0;\n\t\tconst isOverflowing = naturalHeight > contentHeight + 1;\n\t\tconst targetTop = isOverflowing\n\t\t\t? Math.max(0, naturalHeight - contentHeight)\n\t\t\t: 0;\n\n\t\tif (scrollAnimationRef.current !== null) {\n\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\tscrollAnimationRef.current = null;\n\t\t}\n\n\t\tif (!isOverflowing) {\n\t\t\tel.scrollTop = 0;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTop = el.scrollTop;\n\t\tconst distance = targetTop - startTop;\n\t\tif (distance <= 1) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTime = performance.now();\n\t\tconst duration = Math.min(360, Math.max(180, distance * 0.9));\n\t\tconst tick = (now: number) => {\n\t\t\tconst progress = Math.min(1, (now - startTime) / duration);\n\t\t\tconst eased = 1 - (1 - progress) ** 3;\n\t\t\tel.scrollTop = startTop + distance * eased;\n\t\t\tif (progress < 1 && !hoveredRef.current) {\n\t\t\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscrollAnimationRef.current = null;\n\t\t};\n\n\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t}, [entries.length, lastEntry?.fullText, showSummary, contentHeight]);\n\n\tuseEffect(() => {\n\t\tprevCountRef.current = entries.length;\n\t}, [entries.length]);\n\n\tconst isLive = !showSummary;\n\n\treturn (\n\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t{hasReasoning ? (\n\t\t\t\t\t\t<Brain className=\"h-4 w-4 text-indigo-600 dark:text-indigo-300\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Search className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{showLine && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 min-w-0 pt-0.5\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"relative rounded-lg overflow-hidden\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborder: isLive\n\t\t\t\t\t\t\t? '1px solid hsl(var(--border) / 0.6)'\n\t\t\t\t\t\t\t: '1px solid transparent',\n\t\t\t\t\t\tbackground: isLive ? 'hsl(var(--muted) / 0.2)' : 'transparent',\n\t\t\t\t\t\tpadding: isLive ? '8px 12px' : '0px 0px',\n\t\t\t\t\t\ttransition: `border ${ANIM_MS}ms ${EASING}, background ${ANIM_MS}ms ${EASING}, padding ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\topacity: isLive ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: isLive ? `${MAX_SCROLL_H + 28}px` : '0px',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70 mb-1\">\n\t\t\t\t\t\t\tExploring\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={scrollRef}\n\t\t\t\t\t\t\tclassName=\"overflow-y-auto\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\theight: `${contentHeight}px`,\n\t\t\t\t\t\t\t\ttransition: `height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t\t\tmaskImage:\n\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\tWebkitMaskImage:\n\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trole=\"log\"\n\t\t\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\t\t\thoveredRef.current = true;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\thoveredRef.current = false;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div ref={contentMeasureRef} className=\"pt-2.5\">\n\t\t\t\t\t\t\t\t{entries.map((entry, i) => {\n\t\t\t\t\t\t\t\t\tconst isLast = i === entries.length - 1;\n\t\t\t\t\t\t\t\t\tconst isNewAppend = i >= prevCountRef.current;\n\t\t\t\t\t\t\t\t\tconst isReasoning = entry.toolName === 'reasoning';\n\t\t\t\t\t\t\t\t\tconst showFullText =\n\t\t\t\t\t\t\t\t\t\tisReasoning && entry.fullText && entry.fullText.trim();\n\n\t\t\t\t\t\t\t\t\tif (showFullText) {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tkey={entry.id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-1 py-0.5\"\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tanimation: isNewAppend\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `ottoEntryIn ${ANIM_MS}ms ${EASING} both`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`text-[11px] leading-relaxed font-mono whitespace-pre-wrap ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLast\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-foreground/80'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/60'\n\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{entry.fullText}\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={entry.id}\n\t\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center px-1 text-xs leading-5 h-7 ${\n\t\t\t\t\t\t\t\t\t\t\t\tisLast ? 'text-foreground' : 'text-muted-foreground/70'\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tanimation: isNewAppend\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `ottoEntryIn ${ANIM_MS}ms ${EASING} both`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"block min-w-0 truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t{entry.label}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex items-center text-xs\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\topacity: showSummary ? 1 : 0,\n\t\t\t\t\t\t\theight: showSummary ? '20px' : '0px',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"block min-w-0 truncate leading-5 text-foreground\"\n\t\t\t\t\t\t\ttitle={summaryText}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{summaryText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<style>{`@keyframes ottoEntryIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }`}</style>\n\t\t</div>\n\t);\n}\n",
|
|
107
107
|
"import type { MessagePart } from '../../types/api';\n\nconst EXPLORATION_TOOL_NAMES = new Set([\n\t'read',\n\t'ls',\n\t'tree',\n\t'ripgrep',\n\t'grep',\n\t'glob',\n\t'websearch',\n\t'skill',\n\t'query_sessions',\n\t'query_messages',\n\t'search_history',\n\t'get_session_context',\n\t'get_parent_session',\n]);\n\ninterface CompactActivityEntry {\n\tid: string;\n\tlabel: string;\n\ttoolName?: string;\n\tpath?: string;\n\tquery?: string;\n\turl?: string;\n\tfullText?: string;\n\tstartedAt?: number | null;\n\tcompletedAt?: number | null;\n}\n\ninterface CompactActivitySummary {\n\ttitle: string;\n\tdetails: string[];\n}\n\nfunction getPartPayload(part: MessagePart): Record<string, unknown> | null {\n\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\treturn part.contentJson;\n\t}\n\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\n\treturn null;\n}\n\nfunction getToolArgs(part: MessagePart): Record<string, unknown> {\n\tconst payload = getPartPayload(part);\n\tconst args = payload?.args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\treturn {};\n}\n\nfunction getToolResult(part: MessagePart): Record<string, unknown> {\n\tconst payload = getPartPayload(part);\n\tconst result = payload?.result;\n\tif (result && typeof result === 'object' && !Array.isArray(result)) {\n\t\treturn result as Record<string, unknown>;\n\t}\n\treturn {};\n}\n\nfunction truncate(value: string, max = 56): string {\n\treturn value.length > max ? `${value.slice(0, max - 1)}…` : value;\n}\n\nfunction getReasoningText(part: MessagePart): string {\n\tconst payload = getPartPayload(part);\n\tconst text = payload?.text;\n\tif (typeof text === 'string' && text.trim()) {\n\t\treturn text.trim();\n\t}\n\tif (typeof part.content === 'string') {\n\t\treturn part.content.trim();\n\t}\n\treturn '';\n}\n\nfunction firstMeaningfulLine(value: string): string {\n\tconst line = value\n\t\t.split('\\n')\n\t\t.map((item) => item.trim())\n\t\t.find(Boolean);\n\treturn line || value.trim();\n}\n\nfunction stripInlineMarkdown(value: string): string {\n\treturn value\n\t\t.replace(/^Reasoning:\\s*/i, '')\n\t\t.replace(/^[-*+]\\s+/, '')\n\t\t.replace(/\\[(.*?)\\]\\((.*?)\\)/g, '$1')\n\t\t.replace(/[*_`#>~]+/g, '')\n\t\t.replace(/\\s+/g, ' ')\n\t\t.trim();\n}\n\nfunction getStringField(\n\trecord: Record<string, unknown>,\n\t...keys: string[]\n): string | undefined {\n\tfor (const key of keys) {\n\t\tconst value = record[key];\n\t\tif (typeof value === 'string' && value.trim()) {\n\t\t\treturn value.trim();\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Returns true when a message part represents exploratory activity that should\n * be grouped in the compact thread renderer.\n */\nexport function isCompactActivityPart(part: MessagePart): boolean {\n\tif (part.type === 'reasoning') {\n\t\treturn true;\n\t}\n\n\tif (part.type !== 'tool_call' && part.type !== 'tool_result') {\n\t\treturn false;\n\t}\n\n\treturn Boolean(part.toolName && EXPLORATION_TOOL_NAMES.has(part.toolName));\n}\n\n/**\n * Converts a part into a compact activity entry suitable for the rolling log.\n */\nexport function getCompactActivityEntry(\n\tpart: MessagePart,\n): CompactActivityEntry | null {\n\tif (part.type === 'reasoning') {\n\t\tconst rawText = getReasoningText(part);\n\t\tconst reasoning = stripInlineMarkdown(firstMeaningfulLine(rawText));\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\tlabel: reasoning ? truncate(reasoning) : 'Thinking through the approach',\n\t\t\ttoolName: 'reasoning',\n\t\t\tfullText: rawText || undefined,\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (!part.toolName || !EXPLORATION_TOOL_NAMES.has(part.toolName)) {\n\t\treturn null;\n\t}\n\n\tconst args = getToolArgs(part);\n\tconst result = getToolResult(part);\n\n\tif (part.toolName === 'read') {\n\t\tconst path = getStringField(result, 'path') || getStringField(args, 'path');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tpath,\n\t\t\tlabel: path ? `Reading ${truncate(path)}` : 'Reading file contents',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (part.toolName === 'ls' || part.toolName === 'tree') {\n\t\tconst path = getStringField(args, 'path') || getStringField(result, 'path');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tpath,\n\t\t\tlabel: path ? `Scanning ${truncate(path)}` : 'Scanning the project',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (\n\t\tpart.toolName === 'ripgrep' ||\n\t\tpart.toolName === 'grep' ||\n\t\tpart.toolName === 'glob'\n\t) {\n\t\tconst query =\n\t\t\tgetStringField(args, 'query', 'pattern', 'filePattern') ||\n\t\t\tgetStringField(result, 'query', 'pattern');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tquery,\n\t\t\tlabel: query ? `Searching for ${truncate(query, 42)}` : 'Searching code',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (part.toolName === 'websearch') {\n\t\tconst query = getStringField(args, 'query');\n\t\tconst url = getStringField(args, 'url') || getStringField(result, 'url');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tquery,\n\t\t\turl,\n\t\t\tlabel: query\n\t\t\t\t? `Researching ${truncate(query, 42)}`\n\t\t\t\t: url\n\t\t\t\t\t? `Reviewing ${truncate(url, 42)}`\n\t\t\t\t\t: 'Researching references',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\tif (part.toolName === 'skill') {\n\t\tconst skillName = getStringField(args, 'name');\n\t\treturn {\n\t\t\tid: part.id,\n\t\t\ttoolName: part.toolName,\n\t\t\tlabel: skillName\n\t\t\t\t? `Loading skill ${truncate(skillName, 36)}`\n\t\t\t\t: 'Loading a skill',\n\t\t\tstartedAt: part.startedAt,\n\t\t\tcompletedAt: part.completedAt,\n\t\t};\n\t}\n\n\treturn {\n\t\tid: part.id,\n\t\ttoolName: part.toolName,\n\t\tlabel: 'Reviewing prior context',\n\t\tstartedAt: part.startedAt,\n\t\tcompletedAt: part.completedAt,\n\t};\n}\n\n/**\n * Builds compact activity entries while de-duplicating completed tool calls.\n */\nexport function buildCompactActivityEntries(\n\tparts: MessagePart[],\n): CompactActivityEntry[] {\n\tconst latestToolResults = new Map<string, MessagePart>();\n\n\tfor (const part of parts) {\n\t\tif (part.type === 'tool_result' && part.toolCallId) {\n\t\t\tlatestToolResults.set(part.toolCallId, part);\n\t\t}\n\t}\n\n\tconst entries: CompactActivityEntry[] = [];\n\n\tfor (const part of parts) {\n\t\tif (\n\t\t\tpart.type === 'tool_call' &&\n\t\t\tpart.toolCallId &&\n\t\t\tlatestToolResults.has(part.toolCallId)\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst entry = getCompactActivityEntry(part);\n\t\tif (entry) {\n\t\t\tentries.push(entry);\n\t\t}\n\t}\n\n\treturn entries;\n}\n\nfunction collectReferencedFiles(entries: CompactActivityEntry[]): Set<string> {\n\tconst files = new Set<string>();\n\n\tfor (const entry of entries) {\n\t\tif (entry.path) {\n\t\t\tfiles.add(entry.path);\n\t\t}\n\t}\n\n\treturn files;\n}\n\nfunction computeElapsedMs(entries: CompactActivityEntry[]): number | null {\n\tlet earliest: number | null = null;\n\tlet latest: number | null = null;\n\n\tfor (const entry of entries) {\n\t\tconst start = entry.startedAt ?? null;\n\t\tconst end = entry.completedAt ?? entry.startedAt ?? null;\n\t\tif (start !== null && (earliest === null || start < earliest)) {\n\t\t\tearliest = start;\n\t\t}\n\t\tif (end !== null && (latest === null || end > latest)) {\n\t\t\tlatest = end;\n\t\t}\n\t}\n\n\tif (earliest !== null && latest !== null && latest > earliest) {\n\t\treturn latest - earliest;\n\t}\n\treturn null;\n}\n\nfunction formatDuration(ms: number): string {\n\tconst secs = Math.round(ms / 1000);\n\tif (secs < 60) return `${secs}s`;\n\tconst mins = Math.floor(secs / 60);\n\tconst rem = secs % 60;\n\treturn rem > 0 ? `${mins}m ${rem}s` : `${mins}m`;\n}\n\n/**\n * Summarizes a rolling sequence of exploratory activity for the compact UI.\n */\nexport function summarizeCompactActivities(\n\tentries: CompactActivityEntry[],\n): CompactActivitySummary {\n\tconst files = collectReferencedFiles(entries);\n\tlet searches = 0;\n\tlet scans = 0;\n\tlet webLookups = 0;\n\tlet reasoning = 0;\n\tlet historyLookups = 0;\n\n\tfor (const entry of entries) {\n\t\tswitch (entry.toolName) {\n\t\t\tcase 'reasoning':\n\t\t\t\treasoning += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'read':\n\t\t\t\tbreak;\n\t\t\tcase 'ls':\n\t\t\tcase 'tree':\n\t\t\t\tscans += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'ripgrep':\n\t\t\tcase 'grep':\n\t\t\tcase 'glob':\n\t\t\t\tsearches += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'websearch':\n\t\t\t\twebLookups += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'skill':\n\t\t\tcase 'query_sessions':\n\t\t\tcase 'query_messages':\n\t\t\tcase 'search_history':\n\t\t\tcase 'get_session_context':\n\t\t\tcase 'get_parent_session':\n\t\t\t\thistoryLookups += 1;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tconst hasProjectReview = files.size > 0 || scans > 0;\n\tconst elapsedMs = computeElapsedMs(entries);\n\tconst durationStr = elapsedMs !== null ? formatDuration(elapsedMs) : null;\n\n\tconst isReasoningOnly =\n\t\treasoning > 0 &&\n\t\tfiles.size === 0 &&\n\t\tsearches === 0 &&\n\t\tscans === 0 &&\n\t\twebLookups === 0 &&\n\t\thistoryLookups === 0;\n\n\tconst title = isReasoningOnly\n\t\t? durationStr\n\t\t\t? `Thought for ${durationStr}`\n\t\t\t: 'Thought through the approach'\n\t\t: webLookups > 0\n\t\t\t? hasProjectReview || searches > 0\n\t\t\t\t? 'Researched and reviewed the project'\n\t\t\t\t: 'Researched references'\n\t\t\t: historyLookups > 0 && searches > 0\n\t\t\t\t? 'Reviewed context and searched code'\n\t\t\t\t: hasProjectReview && searches > 0\n\t\t\t\t\t? 'Reviewed files and searched code'\n\t\t\t\t\t: scans > 0\n\t\t\t\t\t\t? 'Explored project structure'\n\t\t\t\t\t\t: files.size > 0\n\t\t\t\t\t\t\t? 'Reviewed project files'\n\t\t\t\t\t\t\t: historyLookups > 0\n\t\t\t\t\t\t\t\t? 'Reviewed prior context'\n\t\t\t\t\t\t\t\t: 'Thought through the approach';\n\n\tconst details: string[] = [];\n\tif (!isReasoningOnly && durationStr) {\n\t\tdetails.push(durationStr);\n\t}\n\tif (files.size > 0) {\n\t\tdetails.push(`${files.size} ${files.size === 1 ? 'file' : 'files'}`);\n\t}\n\tif (searches > 0) {\n\t\tdetails.push(`${searches} ${searches === 1 ? 'search' : 'searches'}`);\n\t}\n\tif (scans > 0 && files.size === 0) {\n\t\tdetails.push(`${scans} ${scans === 1 ? 'scan' : 'scans'}`);\n\t}\n\tif (webLookups > 0) {\n\t\tdetails.push(\n\t\t\t`${webLookups} ${webLookups === 1 ? 'web lookup' : 'web lookups'}`,\n\t\t);\n\t}\n\tif (historyLookups > 0 && title !== 'Reviewed prior context') {\n\t\tdetails.push('prior context');\n\t}\n\tif (reasoning > 0 && !isReasoningOnly) {\n\t\tdetails.push('reasoning');\n\t}\n\tif (details.length === 0 && reasoning === 0) {\n\t\tdetails.push(\n\t\t\t`${entries.length} ${entries.length === 1 ? 'step' : 'steps'}`,\n\t\t);\n\t}\n\n\treturn { title, details };\n}\n\nexport type { CompactActivityEntry, CompactActivitySummary };\n",
|
|
108
|
-
"import { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport {\n\tTerminal,\n\tFileEdit,\n\tDiff,\n\tLoader2,\n\ttype LucideIcon,\n} from 'lucide-react';\nimport type { MessagePart } from '../../types/api';\nimport { ToolResultRenderer, type ContentJson } from './renderers';\n\nconst ANIM_MS = 320;\nconst EASING = 'cubic-bezier(0.25, 1, 0.5, 1)';\nconst MAX_SCROLL_H = 140;\n\nfunction getPayload(part: MessagePart): Record<string, unknown> {\n\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\treturn part.contentJson as Record<string, unknown>;\n\t}\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\nfunction getStreamedInput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedInput === 'string'\n\t\t? payload._streamedInput\n\t\t: '';\n}\n\nfunction getStreamedOutput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedOutput === 'string'\n\t\t? payload._streamedOutput\n\t\t: '';\n}\n\nfunction getArgs(part: MessagePart): Record<string, unknown> | undefined {\n\tconst payload = getPayload(part);\n\tconst args = payload?.args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\treturn undefined;\n}\n\nfunction getPatchTarget(patch: string): string | null {\n\tconst match = patch.match(\n\t\t/^\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+)$/m,\n\t);\n\treturn match?.[1]?.trim() || null;\n}\n\nconst TOOL_CONFIG: Record<\n\tstring,\n\t{ Icon: LucideIcon; color: string; label: string }\n> = {\n\tbash: { Icon: Terminal, color: 'text-muted-foreground', label: 'Running' },\n\twrite: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-emerald-600 dark:text-emerald-300',\n\t\tlabel: 'Writing',\n\t},\n\tapply_patch: {\n\t\tIcon: Diff,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Patching',\n\t},\n\tedit: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Editing',\n\t},\n\tmultiedit: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Editing',\n\t},\n\tterminal: {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-amber-600 dark:text-amber-300',\n\t\tlabel: 'Terminal',\n\t},\n};\n\nfunction getTargetFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): string {\n\tif (!args) return '';\n\tif (toolName === 'bash') {\n\t\tconst cmd = String(args.cmd || '');\n\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t}\n\tif (toolName === 'write') return String(args.path || '');\n\tif (toolName === 'edit' || toolName === 'multiedit')\n\t\treturn String(args.path || '');\n\tif (toolName === 'apply_patch') {\n\t\tconst patch = String(args.patch || '');\n\t\treturn getPatchTarget(patch) || '';\n\t}\n\treturn '';\n}\n\nfunction getTargetFromStream(toolName: string, raw: string): string {\n\tif (toolName === 'bash') {\n\t\tconst cmd = extractJsonStringField(raw, 'cmd');\n\t\tif (cmd) {\n\t\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t\t}\n\t}\n\tif (toolName === 'write') {\n\t\treturn (\n\t\t\textractJsonStringField(raw, 'path') ||\n\t\t\textractJsonStringField(raw, 'filePath')\n\t\t);\n\t}\n\tif (toolName === 'edit' || toolName === 'multiedit') {\n\t\treturn extractJsonStringField(raw, 'path');\n\t}\n\tif (toolName === 'apply_patch') {\n\t\tconst m = raw.match(\n\t\t\t/\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+?)(?:\\\\n|\")/,\n\t\t);\n\t\treturn m ? m[1].trim() : '';\n\t}\n\treturn '';\n}\n\nfunction getResultContentJson(part: MessagePart): ContentJson {\n\ttry {\n\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\treturn part.contentJson as ContentJson;\n\t\t}\n\t\tif (typeof part.content === 'string') {\n\t\t\treturn JSON.parse(part.content);\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\ninterface ActionToolBoxProps {\n\tpart: MessagePart;\n\tshowLine: boolean;\n}\n\nexport function ActionToolBox({ part, showLine }: ActionToolBoxProps) {\n\tconst contentMeasureRef = useRef<HTMLPreElement>(null);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst scrollAnimationRef = useRef<number | null>(null);\n\tconst hoveredRef = useRef(false);\n\tconst previousContentLengthRef = useRef(0);\n\tconst [contentHeight, setContentHeight] = useState(0);\n\tconst toolName = part.toolName || '';\n\tconst isComplete = part.type === 'tool_result';\n\tconst config = TOOL_CONFIG[toolName] || {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-muted-foreground',\n\t\tlabel: toolName.replace(/_/g, ' '),\n\t};\n\n\tconst [showSummary, setShowSummary] = useState(() => isComplete);\n\tconst [latched, setLatched] = useState(() => isComplete);\n\n\tconst args = getArgs(part);\n\tconst streamedInput = getStreamedInput(part);\n\tconst streamedOutput = getStreamedOutput(part);\n\tconst target =\n\t\tgetTargetFromArgs(toolName, args) ||\n\t\tgetTargetFromStream(toolName, streamedInput);\n\tconst streamedContent = getContentFromStream(toolName, streamedInput);\n\tconst displayContent =\n\t\ttoolName === 'bash'\n\t\t\t? streamedOutput ||\n\t\t\t\tstreamedContent ||\n\t\t\t\t(args ? getContentFromArgs(toolName, args) : '')\n\t\t\t: args\n\t\t\t\t? getContentFromArgs(toolName, args)\n\t\t\t\t: streamedContent;\n\tconst hasDisplayContent = displayContent.trim().length > 0;\n\n\tuseEffect(() => {\n\t\tif (!isComplete && !latched) {\n\t\t\tsetShowSummary(false);\n\t\t\treturn;\n\t\t}\n\t\tif (!latched && isComplete) {\n\t\t\tsetLatched(true);\n\t\t}\n\t\tif (showSummary) return;\n\t\tif (!isComplete) return;\n\t\tconst t = window.setTimeout(() => setShowSummary(true), 500);\n\t\treturn () => window.clearTimeout(t);\n\t}, [isComplete, showSummary, latched]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!hasDisplayContent) {\n\t\t\tsetContentHeight(0);\n\t\t\treturn;\n\t\t}\n\t\tconst el = contentMeasureRef.current;\n\t\tif (!el) return;\n\t\tconst nextHeight = Math.min(el.scrollHeight, MAX_SCROLL_H - 12);\n\t\tsetContentHeight((prev) => (prev === nextHeight ? prev : nextHeight));\n\t}, [displayContent, hasDisplayContent]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (scrollAnimationRef.current !== null) {\n\t\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: auto-scroll on content change\n\tuseEffect(() => {\n\t\tconst el = scrollRef.current;\n\t\tif (!el || hoveredRef.current) return;\n\t\tconst nextLength = displayContent.length;\n\t\tconst naturalHeight = contentMeasureRef.current?.scrollHeight ?? 0;\n\t\tconst isOverflowing = naturalHeight > contentHeight + 1;\n\t\tconst targetTop = isOverflowing\n\t\t\t? Math.max(0, naturalHeight - contentHeight)\n\t\t\t: 0;\n\n\t\tif (scrollAnimationRef.current !== null) {\n\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\tscrollAnimationRef.current = null;\n\t\t}\n\n\t\tif (!isOverflowing) {\n\t\t\tel.scrollTop = 0;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tif (nextLength <= previousContentLengthRef.current) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTop = el.scrollTop;\n\t\tconst distance = targetTop - startTop;\n\t\tif (distance <= 1) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTime = performance.now();\n\t\tconst duration = Math.min(360, Math.max(180, distance * 0.9));\n\t\tconst tick = (now: number) => {\n\t\t\tconst progress = Math.min(1, (now - startTime) / duration);\n\t\t\tconst eased = 1 - (1 - progress) ** 3;\n\t\t\tel.scrollTop = startTop + distance * eased;\n\t\t\tif (progress < 1 && !hoveredRef.current) {\n\t\t\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscrollAnimationRef.current = null;\n\t\t};\n\n\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\tpreviousContentLengthRef.current = nextLength;\n\t}, [displayContent, contentHeight]);\n\n\tconst isLive = !showSummary;\n\n\tconst resultContentJson = isComplete ? getResultContentJson(part) : null;\n\n\treturn (\n\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t<config.Icon className={`h-4 w-4 ${config.color}`} />\n\t\t\t\t</div>\n\t\t\t\t{showLine && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 min-w-0 pt-0.5\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"relative rounded-lg overflow-hidden\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborder: isLive\n\t\t\t\t\t\t\t? '1px solid hsl(var(--border) / 0.6)'\n\t\t\t\t\t\t\t: '1px solid transparent',\n\t\t\t\t\t\tbackground: isLive ? 'hsl(var(--muted) / 0.2)' : 'transparent',\n\t\t\t\t\t\tpadding: isLive ? '8px 12px' : '0px 0px',\n\t\t\t\t\t\ttransition: `border ${ANIM_MS}ms ${EASING}, background ${ANIM_MS}ms ${EASING}, padding ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\topacity: isLive ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: isLive ? `${MAX_SCROLL_H + 28}px` : '0px',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70\">\n\t\t\t\t\t\t\t<Loader2 className=\"h-3 w-3 animate-spin flex-shrink-0\" />\n\t\t\t\t\t\t\t<span className=\"flex-shrink-0\">{config.label}</span>\n\t\t\t\t\t\t\t{target && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/40 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t·\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate text-foreground/60 lowercase tracking-normal font-normal font-mono\">\n\t\t\t\t\t\t\t\t\t\t{target}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!args && !streamedContent && !streamedOutput && (\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50 animate-pulse lowercase tracking-normal font-normal\">\n\t\t\t\t\t\t\t\t\tgenerating…\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\topacity: hasDisplayContent ? 1 : 0,\n\t\t\t\t\t\t\t\theight: hasDisplayContent ? `${contentHeight + 6}px` : '0px',\n\t\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{displayContent && (\n\t\t\t\t\t\t\t\t<div className=\"pt-1.5\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tref={scrollRef}\n\t\t\t\t\t\t\t\t\t\tclassName=\"overflow-y-auto\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: `${contentHeight}px`,\n\t\t\t\t\t\t\t\t\t\t\tmaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t\tWebkitMaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = true;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = false;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<pre\n\t\t\t\t\t\t\t\t\t\t\tref={contentMeasureRef}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-1 pt-2.5 pb-1 text-[11px] leading-relaxed text-foreground/60 font-mono whitespace-pre-wrap break-all\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{displayContent}\n\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"min-w-0 text-xs\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\topacity: showSummary ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: showSummary ? '1200px' : '0px',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{resultContentJson ? (\n\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t<ToolResultRenderer\n\t\t\t\t\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\t\t\t\t\tcontentJson={resultContentJson}\n\t\t\t\t\t\t\t\t\ttoolDurationMs={part.toolDurationMs ?? undefined}\n\t\t\t\t\t\t\t\t\tdebug={false}\n\t\t\t\t\t\t\t\t\tcompact={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"flex min-w-0 items-center\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"block min-w-0 truncate leading-5 text-foreground\"\n\t\t\t\t\t\t\t\t\ttitle={target || config.label}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{target ? `${config.label}\\u00A0· ${target}` : config.label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction getContentFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown>,\n): string {\n\tif (toolName === 'bash') return String(args.cmd || '');\n\tif (toolName === 'write') return String(args.content || '');\n\tif (toolName === 'apply_patch') return String(args.patch || '');\n\tif (toolName === 'edit') return String(args.oldString || '');\n\tif (toolName === 'multiedit') return '';\n\treturn '';\n}\n\nfunction extractJsonStringField(raw: string, field: string): string {\n\tconst pattern = new RegExp(`\"${field}\"\\\\s*:\\\\s*\"`);\n\tconst m = pattern.exec(raw);\n\tif (!m) return '';\n\tconst start = m.index + m[0].length;\n\tlet result = '';\n\tlet i = start;\n\twhile (i < raw.length) {\n\t\tif (raw[i] === '\\\\' && i + 1 < raw.length) {\n\t\t\tconst next = raw[i + 1];\n\t\t\tif (next === 'n') result += '\\n';\n\t\t\telse if (next === 't') result += '\\t';\n\t\t\telse if (next === '\"') result += '\"';\n\t\t\telse if (next === '\\\\') result += '\\\\';\n\t\t\telse result += next;\n\t\t\ti += 2;\n\t\t} else if (raw[i] === '\"') {\n\t\t\tbreak;\n\t\t} else {\n\t\t\tresult += raw[i];\n\t\t\ti += 1;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction getContentFromStream(toolName: string, raw: string): string {\n\tif (!raw) return '';\n\tif (toolName === 'bash') return extractJsonStringField(raw, 'cmd');\n\tif (toolName === 'write') return extractJsonStringField(raw, 'content');\n\tif (toolName === 'apply_patch') return extractJsonStringField(raw, 'patch');\n\tif (toolName === 'edit') return extractJsonStringField(raw, 'oldString');\n\tif (toolName === 'multiedit') return '';\n\treturn '';\n}\n",
|
|
108
|
+
"import { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport {\n\tTerminal,\n\tFileEdit,\n\tDiff,\n\tLoader2,\n\ttype LucideIcon,\n} from 'lucide-react';\nimport type { MessagePart } from '../../types/api';\nimport { ToolResultRenderer, type ContentJson } from './renderers';\n\nconst ANIM_MS = 320;\nconst EASING = 'cubic-bezier(0.25, 1, 0.5, 1)';\nconst MAX_SCROLL_H = 140;\n\nfunction getPayload(part: MessagePart): Record<string, unknown> {\n\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\treturn part.contentJson as Record<string, unknown>;\n\t}\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\nfunction getStreamedInput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedInput === 'string'\n\t\t? payload._streamedInput\n\t\t: '';\n}\n\nfunction getStreamedOutput(part: MessagePart): string {\n\tconst payload = getPayload(part);\n\treturn typeof payload._streamedOutput === 'string'\n\t\t? payload._streamedOutput\n\t\t: '';\n}\n\nfunction getArgs(part: MessagePart): Record<string, unknown> | undefined {\n\tconst payload = getPayload(part);\n\tconst args = payload?.args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\treturn undefined;\n}\n\nfunction getPatchTarget(patch: string): string | null {\n\tconst match = patch.match(\n\t\t/^\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+)$/m,\n\t);\n\treturn match?.[1]?.trim() || null;\n}\n\nconst TOOL_CONFIG: Record<\n\tstring,\n\t{ Icon: LucideIcon; color: string; label: string }\n> = {\n\tbash: { Icon: Terminal, color: 'text-muted-foreground', label: 'Running' },\n\twrite: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-emerald-600 dark:text-emerald-300',\n\t\tlabel: 'Writing',\n\t},\n\tapply_patch: {\n\t\tIcon: Diff,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Patching',\n\t},\n\tedit: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Editing',\n\t},\n\tmultiedit: {\n\t\tIcon: FileEdit,\n\t\tcolor: 'text-purple-600 dark:text-purple-300',\n\t\tlabel: 'Editing',\n\t},\n\tterminal: {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-amber-600 dark:text-amber-300',\n\t\tlabel: 'Terminal',\n\t},\n};\n\nfunction getTargetFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): string {\n\tif (!args) return '';\n\tif (toolName === 'bash') {\n\t\tconst cmd = String(args.cmd || '');\n\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t}\n\tif (toolName === 'write') return String(args.path || '');\n\tif (toolName === 'edit' || toolName === 'multiedit')\n\t\treturn String(args.path || '');\n\tif (toolName === 'apply_patch') {\n\t\tconst patch = String(args.patch || '');\n\t\treturn getPatchTarget(patch) || '';\n\t}\n\treturn '';\n}\n\nfunction getTargetFromStream(toolName: string, raw: string): string {\n\tif (toolName === 'bash') {\n\t\tconst cmd = extractJsonStringField(raw, 'cmd');\n\t\tif (cmd) {\n\t\t\treturn cmd.length > 80 ? `${cmd.slice(0, 77)}…` : cmd;\n\t\t}\n\t}\n\tif (toolName === 'write') {\n\t\treturn (\n\t\t\textractJsonStringField(raw, 'path') ||\n\t\t\textractJsonStringField(raw, 'filePath')\n\t\t);\n\t}\n\tif (toolName === 'edit' || toolName === 'multiedit') {\n\t\treturn extractJsonStringField(raw, 'path');\n\t}\n\tif (toolName === 'apply_patch') {\n\t\tconst m = raw.match(\n\t\t\t/\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+?)(?:\\\\n|\")/,\n\t\t);\n\t\treturn m ? m[1].trim() : '';\n\t}\n\treturn '';\n}\n\nfunction getResultContentJson(part: MessagePart): ContentJson {\n\ttry {\n\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\treturn part.contentJson as ContentJson;\n\t\t}\n\t\tif (typeof part.content === 'string') {\n\t\t\treturn JSON.parse(part.content);\n\t\t}\n\t} catch {}\n\treturn {};\n}\n\ninterface ActionToolBoxProps {\n\tpart: MessagePart;\n\tshowLine: boolean;\n}\n\nexport function ActionToolBox({ part, showLine }: ActionToolBoxProps) {\n\tconst contentMeasureRef = useRef<HTMLPreElement>(null);\n\tconst scrollRef = useRef<HTMLDivElement>(null);\n\tconst scrollAnimationRef = useRef<number | null>(null);\n\tconst hoveredRef = useRef(false);\n\tconst previousContentLengthRef = useRef(0);\n\tconst [contentHeight, setContentHeight] = useState(0);\n\tconst toolName = part.toolName || '';\n\tconst isComplete = part.type === 'tool_result';\n\tconst config = TOOL_CONFIG[toolName] || {\n\t\tIcon: Terminal,\n\t\tcolor: 'text-muted-foreground',\n\t\tlabel: toolName.replace(/_/g, ' '),\n\t};\n\n\tconst [showSummary, setShowSummary] = useState(() => isComplete);\n\tconst [latched, setLatched] = useState(() => isComplete);\n\n\tconst args = getArgs(part);\n\tconst streamedInput = getStreamedInput(part);\n\tconst streamedOutput = getStreamedOutput(part);\n\tconst target =\n\t\tgetTargetFromArgs(toolName, args) ||\n\t\tgetTargetFromStream(toolName, streamedInput);\n\tconst streamedContent = getContentFromStream(toolName, streamedInput);\n\tconst displayContent =\n\t\ttoolName === 'bash'\n\t\t\t? streamedOutput ||\n\t\t\t\tstreamedContent ||\n\t\t\t\t(args ? getContentFromArgs(toolName, args) : '')\n\t\t\t: args\n\t\t\t\t? getContentFromArgs(toolName, args)\n\t\t\t\t: streamedContent;\n\tconst hasDisplayContent = displayContent.trim().length > 0;\n\n\tuseEffect(() => {\n\t\tif (!isComplete && !latched) {\n\t\t\tsetShowSummary(false);\n\t\t\treturn;\n\t\t}\n\t\tif (!latched && isComplete) {\n\t\t\tsetLatched(true);\n\t\t}\n\t\tif (showSummary) return;\n\t\tif (!isComplete) return;\n\t\tconst t = window.setTimeout(() => setShowSummary(true), 500);\n\t\treturn () => window.clearTimeout(t);\n\t}, [isComplete, showSummary, latched]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!hasDisplayContent) {\n\t\t\tsetContentHeight(0);\n\t\t\treturn;\n\t\t}\n\t\tconst el = contentMeasureRef.current;\n\t\tif (!el || el.textContent !== displayContent) return;\n\t\tconst nextHeight = Math.min(el.scrollHeight, MAX_SCROLL_H - 12);\n\t\tsetContentHeight((prev) => (prev === nextHeight ? prev : nextHeight));\n\t}, [displayContent, hasDisplayContent]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (scrollAnimationRef.current !== null) {\n\t\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst el = scrollRef.current;\n\n\t\tif (!el || hoveredRef.current) return;\n\t\tconst nextLength = displayContent.length;\n\t\tconst naturalHeight = contentMeasureRef.current?.scrollHeight ?? 0;\n\t\tconst isOverflowing = naturalHeight > contentHeight + 1;\n\t\tconst targetTop = isOverflowing\n\t\t\t? Math.max(0, naturalHeight - contentHeight)\n\t\t\t: 0;\n\n\t\tif (scrollAnimationRef.current !== null) {\n\t\t\twindow.cancelAnimationFrame(scrollAnimationRef.current);\n\t\t\tscrollAnimationRef.current = null;\n\t\t}\n\n\t\tif (!isOverflowing) {\n\t\t\tel.scrollTop = 0;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tif (nextLength <= previousContentLengthRef.current) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTop = el.scrollTop;\n\t\tconst distance = targetTop - startTop;\n\t\tif (distance <= 1) {\n\t\t\tel.scrollTop = targetTop;\n\t\t\tpreviousContentLengthRef.current = nextLength;\n\t\t\treturn;\n\t\t}\n\n\t\tconst startTime = performance.now();\n\t\tconst duration = Math.min(360, Math.max(180, distance * 0.9));\n\t\tconst tick = (now: number) => {\n\t\t\tconst progress = Math.min(1, (now - startTime) / duration);\n\t\t\tconst eased = 1 - (1 - progress) ** 3;\n\t\t\tel.scrollTop = startTop + distance * eased;\n\t\t\tif (progress < 1 && !hoveredRef.current) {\n\t\t\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscrollAnimationRef.current = null;\n\t\t};\n\n\t\tscrollAnimationRef.current = window.requestAnimationFrame(tick);\n\t\tpreviousContentLengthRef.current = nextLength;\n\t}, [displayContent, contentHeight]);\n\n\tconst isLive = !showSummary;\n\n\tconst resultContentJson = isComplete ? getResultContentJson(part) : null;\n\n\treturn (\n\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t<config.Icon className={`h-4 w-4 ${config.color}`} />\n\t\t\t\t</div>\n\t\t\t\t{showLine && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 min-w-0 pt-0.5\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"relative rounded-lg overflow-hidden\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborder: isLive\n\t\t\t\t\t\t\t? '1px solid hsl(var(--border) / 0.6)'\n\t\t\t\t\t\t\t: '1px solid transparent',\n\t\t\t\t\t\tbackground: isLive ? 'hsl(var(--muted) / 0.2)' : 'transparent',\n\t\t\t\t\t\tpadding: isLive ? '8px 12px' : '0px 0px',\n\t\t\t\t\t\ttransition: `border ${ANIM_MS}ms ${EASING}, background ${ANIM_MS}ms ${EASING}, padding ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\topacity: isLive ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: isLive ? `${MAX_SCROLL_H + 28}px` : '0px',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70\">\n\t\t\t\t\t\t\t<Loader2 className=\"h-3 w-3 animate-spin flex-shrink-0\" />\n\t\t\t\t\t\t\t<span className=\"flex-shrink-0\">{config.label}</span>\n\t\t\t\t\t\t\t{target && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/40 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t·\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"truncate text-foreground/60 lowercase tracking-normal font-normal font-mono\">\n\t\t\t\t\t\t\t\t\t\t{target}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!args && !streamedContent && !streamedOutput && (\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50 animate-pulse lowercase tracking-normal font-normal\">\n\t\t\t\t\t\t\t\t\tgenerating…\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\topacity: hasDisplayContent ? 1 : 0,\n\t\t\t\t\t\t\t\theight: hasDisplayContent ? `${contentHeight + 6}px` : '0px',\n\t\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{displayContent && (\n\t\t\t\t\t\t\t\t<div className=\"pt-1.5\">\n\t\t\t\t\t\t\t\t\t<section\n\t\t\t\t\t\t\t\t\t\tref={scrollRef}\n\t\t\t\t\t\t\t\t\t\tclassName=\"overflow-y-auto\"\n\t\t\t\t\t\t\t\t\t\taria-label={`${config.label} content`}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: `${contentHeight}px`,\n\t\t\t\t\t\t\t\t\t\t\tmaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t\tWebkitMaskImage:\n\t\t\t\t\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent 0px, black 20px)',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = true;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\t\t\thoveredRef.current = false;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<pre\n\t\t\t\t\t\t\t\t\t\t\tref={contentMeasureRef}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-1 pt-2.5 pb-1 text-[11px] leading-relaxed text-foreground/60 font-mono whitespace-pre-wrap break-all\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{displayContent}\n\t\t\t\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"min-w-0 text-xs\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\topacity: showSummary ? 1 : 0,\n\t\t\t\t\t\t\tmaxHeight: showSummary ? '1200px' : '0px',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\ttransition: `opacity ${ANIM_MS}ms ${EASING}, max-height ${ANIM_MS}ms ${EASING}`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{resultContentJson ? (\n\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t<ToolResultRenderer\n\t\t\t\t\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\t\t\t\t\tcontentJson={resultContentJson}\n\t\t\t\t\t\t\t\t\ttoolDurationMs={part.toolDurationMs ?? undefined}\n\t\t\t\t\t\t\t\t\tdebug={false}\n\t\t\t\t\t\t\t\t\tcompact={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"flex min-w-0 items-center\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"block min-w-0 truncate leading-5 text-foreground\"\n\t\t\t\t\t\t\t\t\ttitle={target || config.label}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{target ? `${config.label}\\u00A0· ${target}` : config.label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction getContentFromArgs(\n\ttoolName: string,\n\targs: Record<string, unknown>,\n): string {\n\tif (toolName === 'bash') return String(args.cmd || '');\n\tif (toolName === 'write') return String(args.content || '');\n\tif (toolName === 'apply_patch') return String(args.patch || '');\n\tif (toolName === 'edit') return String(args.oldString || '');\n\tif (toolName === 'multiedit') return '';\n\treturn '';\n}\n\nfunction extractJsonStringField(raw: string, field: string): string {\n\tconst pattern = new RegExp(`\"${field}\"\\\\s*:\\\\s*\"`);\n\tconst m = pattern.exec(raw);\n\tif (!m) return '';\n\tconst start = m.index + m[0].length;\n\tlet result = '';\n\tlet i = start;\n\twhile (i < raw.length) {\n\t\tif (raw[i] === '\\\\' && i + 1 < raw.length) {\n\t\t\tconst next = raw[i + 1];\n\t\t\tif (next === 'n') result += '\\n';\n\t\t\telse if (next === 't') result += '\\t';\n\t\t\telse if (next === '\"') result += '\"';\n\t\t\telse if (next === '\\\\') result += '\\\\';\n\t\t\telse result += next;\n\t\t\ti += 2;\n\t\t} else if (raw[i] === '\"') {\n\t\t\tbreak;\n\t\t} else {\n\t\t\tresult += raw[i];\n\t\t\ti += 1;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction getContentFromStream(toolName: string, raw: string): string {\n\tif (!raw) return '';\n\tif (toolName === 'bash') return extractJsonStringField(raw, 'cmd');\n\tif (toolName === 'write') return extractJsonStringField(raw, 'content');\n\tif (toolName === 'apply_patch') return extractJsonStringField(raw, 'patch');\n\tif (toolName === 'edit') return extractJsonStringField(raw, 'oldString');\n\tif (toolName === 'multiedit') return '';\n\treturn '';\n}\n",
|
|
109
109
|
"import { useQuery } from '@tanstack/react-query';\n\nexport type QueueState = {\n\tcurrentMessageId: string | null;\n\tqueuedMessages: Array<{ messageId: string; position: number }>;\n\tqueueLength: number;\n};\n\nconst defaultQueueState: QueueState = {\n\tcurrentMessageId: null,\n\tqueuedMessages: [],\n\tqueueLength: 0,\n};\n\nexport function useQueueState(sessionId: string | undefined): QueueState {\n\tconst { data } = useQuery<QueueState>({\n\t\tqueryKey: ['queueState', sessionId],\n\t\tqueryFn: () => defaultQueueState,\n\t\tenabled: !!sessionId,\n\t\tinitialData: defaultQueueState,\n\t\tstaleTime: Infinity,\n\t});\n\n\treturn data ?? defaultQueueState;\n}\n\nexport function useMessageQueuePosition(\n\tsessionId: string | undefined,\n\tmessageId: string,\n): { isQueued: boolean; isRunning: boolean; position: number | null } {\n\tconst queueState = useQueueState(sessionId);\n\n\tif (!sessionId || !queueState) {\n\t\treturn { isQueued: false, isRunning: false, position: null };\n\t}\n\n\tif (queueState.currentMessageId === messageId) {\n\t\treturn { isQueued: false, isRunning: true, position: null };\n\t}\n\n\tconst queuedItem = queueState.queuedMessages.find(\n\t\t(item) => item.messageId === messageId,\n\t);\n\n\tif (queuedItem) {\n\t\treturn { isQueued: true, isRunning: false, position: queuedItem.position };\n\t}\n\n\treturn { isQueued: false, isRunning: false, position: null };\n}\n",
|
|
110
110
|
"import { useState, useId } from 'react';\nimport { GitBranch, Loader2 } from 'lucide-react';\nimport { Modal } from '../ui/Modal';\nimport { useCreateBranch } from '../../hooks/useBranch';\nimport { useSession } from '../../hooks/useSessions';\nimport type { Message } from '../../types/api';\n\ninterface BranchModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\tsessionId: string;\n\tmessage: Message;\n\tonBranchCreated?: (newSessionId: string) => void;\n}\n\nexport function BranchModal({\n\tisOpen,\n\tonClose,\n\tsessionId,\n\tmessage,\n\tonBranchCreated,\n}: BranchModalProps) {\n\tconst session = useSession(sessionId);\n\tconst createBranch = useCreateBranch(sessionId);\n\n\tconst [title, setTitle] = useState('');\n\tconst [useCurrentConfig, setUseCurrentConfig] = useState(true);\n\tconst titleId = useId();\n\tconst configId = useId();\n\n\tconst messagePreview =\n\t\tmessage.parts?.find((p) => p.type === 'text')?.content || '';\n\tconst parsedPreview = (() => {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(messagePreview);\n\t\t\treturn parsed?.text?.slice(0, 100) || '';\n\t\t} catch {\n\t\t\treturn messagePreview.slice(0, 100);\n\t\t}\n\t})();\n\n\tconst handleSubmit = async (e: React.FormEvent) => {\n\t\te.preventDefault();\n\n\t\ttry {\n\t\t\tconst result = await createBranch.mutateAsync({\n\t\t\t\tfromMessageId: message.id,\n\t\t\t\ttitle: title.trim() || undefined,\n\t\t\t\tprovider: useCurrentConfig ? session?.provider : undefined,\n\t\t\t\tmodel: useCurrentConfig ? session?.model : undefined,\n\t\t\t\tagent: useCurrentConfig ? session?.agent : undefined,\n\t\t\t});\n\n\t\t\tonClose();\n\t\t\tif (onBranchCreated && result.session) {\n\t\t\t\tonBranchCreated(result.session.id);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to create branch:', error);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\tisOpen={isOpen}\n\t\t\tonClose={onClose}\n\t\t\ttitle={\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<GitBranch className=\"h-5 w-5 text-primary\" />\n\t\t\t\t\t<span>Branch Session</span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\tmaxWidth=\"md\"\n\t\t>\n\t\t\t<form onSubmit={handleSubmit} className=\"space-y-4\">\n\t\t\t\t<div className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t<p>Creating branch from message:</p>\n\t\t\t\t\t<p className=\"mt-1 p-2 bg-muted/50 rounded text-foreground italic truncate\">\n\t\t\t\t\t\t\"{parsedPreview}...\"\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t<label\n\t\t\t\t\t\thtmlFor={titleId}\n\t\t\t\t\t\tclassName=\"block text-sm font-medium text-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\tBranch Title (optional)\n\t\t\t\t\t</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={titleId}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={title}\n\t\t\t\t\t\tonChange={(e) => setTitle(e.target.value)}\n\t\t\t\t\t\tplaceholder={`Branch of ${session?.title || 'Untitled'}`}\n\t\t\t\t\t\tclassName=\"w-full px-3 py-2 bg-background border border-border rounded-md text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={configId}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tchecked={useCurrentConfig}\n\t\t\t\t\t\tonChange={(e) => setUseCurrentConfig(e.target.checked)}\n\t\t\t\t\t\tclassName=\"h-4 w-4 rounded border-border text-primary focus:ring-primary/50\"\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor={configId} className=\"text-sm text-foreground\">\n\t\t\t\t\t\tUse same provider/model/agent as parent\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\n\t\t\t\t{session && (\n\t\t\t\t\t<div className=\"text-xs text-muted-foreground bg-muted/30 rounded p-2\">\n\t\t\t\t\t\t<div className=\"flex gap-4\">\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<strong>Provider:</strong> {session.provider}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<strong>Model:</strong> {session.model}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<strong>Agent:</strong> {session.agent}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex justify-end gap-2 pt-2\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={onClose}\n\t\t\t\t\t\tclassName=\"px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t>\n\t\t\t\t\t\tCancel\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tdisabled={createBranch.isPending}\n\t\t\t\t\t\tclassName=\"px-4 py-2 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{createBranch.isPending ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Loader2 className=\"h-4 w-4 animate-spin\" />\n\t\t\t\t\t\t\t\tCreating...\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GitBranch className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\tCreate Branch\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t{createBranch.isError && (\n\t\t\t\t\t<p className=\"text-sm text-red-500\">\n\t\t\t\t\t\t{createBranch.error?.message || 'Failed to create branch'}\n\t\t\t\t\t</p>\n\t\t\t\t)}\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n",
|
|
111
111
|
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport type { CreateBranchRequest } from '../types/api';\nimport { sessionsQueryKey } from './useSessions';\n\nexport function useCreateBranch(sessionId: string | undefined) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: CreateBranchRequest) => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.createBranch(sessionId, data);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t\tif (sessionId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: ['branches', sessionId],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n}\n\nexport function useBranches(sessionId: string | undefined) {\n\treturn useQuery({\n\t\tqueryKey: ['branches', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.listBranches(sessionId);\n\t\t},\n\t\tenabled: Boolean(sessionId),\n\t});\n}\n\nexport function useParentSession(sessionId: string | undefined) {\n\treturn useQuery({\n\t\tqueryKey: ['parentSession', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.getParentSession(sessionId);\n\t\t},\n\t\tenabled: Boolean(sessionId),\n\t});\n}\n",
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"import { memo } from 'react';\nimport type { ProviderUsageResponse } from '../../types/api';\nimport { useUsageStore } from '../../stores/usageStore';\n\ninterface UsageRingProps {\n\tusage: ProviderUsageResponse;\n\tprovider: string;\n}\n\nconst SIZE = 22;\nconst STROKE = 2.5;\nconst RADIUS = (SIZE - STROKE) / 2;\nconst CIRCUMFERENCE = 2 * Math.PI * RADIUS;\n\nfunction getColor(percent: number): string {\n\tif (percent >= 90) return '#ef4444';\n\tif (percent >= 70) return '#f59e0b';\n\treturn '#3b82f6';\n}\n\nexport const UsageRing = memo(function UsageRing({\n\tusage,\n\tprovider,\n}: UsageRingProps) {\n\tconst openModal = useUsageStore((s) => s.openModal);\n\tconst percent = usage.primaryWindow?.usedPercent ?? 0;\n\tconst dashOffset = CIRCUMFERENCE - (percent / 100) * CIRCUMFERENCE;\n\tconst color = getColor(percent);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={() => openModal(provider)}\n\t\t\tclassName=\"relative flex items-center hover:opacity-80 transition-opacity cursor-pointer\"\n\t\t\ttitle={`Usage: ${Math.round(percent)}% (5h window) — Click for details`}\n\t\t>\n\t\t\t<svg\n\t\t\t\twidth={SIZE}\n\t\t\t\theight={SIZE}\n\t\t\t\tclassName=\"-rotate-90\"\n\t\t\t\trole=\"img\"\n\t\t\t\taria-label=\"Usage ring\"\n\t\t\t>\n\t\t\t\t<circle\n\t\t\t\t\tcx={SIZE / 2}\n\t\t\t\t\tcy={SIZE / 2}\n\t\t\t\t\tr={RADIUS}\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke=\"hsl(var(--muted))\"\n\t\t\t\t\tstrokeWidth={STROKE}\n\t\t\t\t/>\n\t\t\t\t<circle\n\t\t\t\t\tcx={SIZE / 2}\n\t\t\t\t\tcy={SIZE / 2}\n\t\t\t\t\tr={RADIUS}\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tstroke={color}\n\t\t\t\t\tstrokeWidth={STROKE}\n\t\t\t\t\tstrokeDasharray={CIRCUMFERENCE}\n\t\t\t\t\tstrokeDashoffset={dashOffset}\n\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\tclassName=\"transition-all duration-500\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t\t<span\n\t\t\t\tclassName=\"absolute inset-0 flex items-center justify-center rotate-0 font-medium text-muted-foreground\"\n\t\t\t\tstyle={{ fontSize: 7 }}\n\t\t\t>\n\t\t\t\t5h\n\t\t\t</span>\n\t\t</button>\n\t);\n});\n",
|
|
117
117
|
"import { create } from 'zustand';\nimport type { ProviderUsageResponse } from '../types/api';\n\ninterface UsageState {\n\tusage: Record<string, ProviderUsageResponse>;\n\tisLoading: Record<string, boolean>;\n\tlastFetched: Record<string, number>;\n\tisModalOpen: boolean;\n\tmodalProvider: string | null;\n\tsetUsage: (provider: string, data: ProviderUsageResponse) => void;\n\tsetLoading: (provider: string, loading: boolean) => void;\n\tsetLastFetched: (provider: string, time: number) => void;\n\topenModal: (provider: string) => void;\n\tcloseModal: () => void;\n}\n\nexport const useUsageStore = create<UsageState>((set) => ({\n\tusage: {},\n\tisLoading: {},\n\tlastFetched: {},\n\tisModalOpen: false,\n\tmodalProvider: null,\n\tsetUsage: (provider, data) =>\n\t\tset((s) => ({ usage: { ...s.usage, [provider]: data } })),\n\tsetLoading: (provider, loading) =>\n\t\tset((s) => ({ isLoading: { ...s.isLoading, [provider]: loading } })),\n\tsetLastFetched: (provider, time) =>\n\t\tset((s) => ({ lastFetched: { ...s.lastFetched, [provider]: time } })),\n\topenModal: (provider) => set({ isModalOpen: true, modalProvider: provider }),\n\tcloseModal: () => set({ isModalOpen: false, modalProvider: null }),\n}));\n",
|
|
118
118
|
"import { memo, useMemo } from 'react';\nimport { Modal } from '../ui/Modal';\nimport { useUsageStore } from '../../stores/usageStore';\nimport { ProviderLogo } from './ProviderLogo';\nimport type { UsageWindow } from '../../types/api';\n\nfunction formatTimeRemaining(resetsAt: string | null): string {\n\tif (!resetsAt) return 'Unknown';\n\tconst now = Date.now();\n\tconst reset = new Date(resetsAt).getTime();\n\tconst diff = reset - now;\n\tif (diff <= 0) return 'Now';\n\tconst days = Math.floor(diff / 86_400_000);\n\tconst hours = Math.floor((diff % 86_400_000) / 3_600_000);\n\tconst minutes = Math.floor((diff % 3_600_000) / 60_000);\n\tif (days > 0) return `${days}d ${hours}h`;\n\tif (hours > 0) return `${hours}h ${minutes}m`;\n\treturn `${minutes}m`;\n}\n\nfunction windowLabel(seconds: number): string {\n\tif (seconds <= 18000) return '5 Hour';\n\tif (seconds <= 86400) return '24 Hour';\n\treturn '7 Day';\n}\n\nfunction UsageBar({\n\tlabel,\n\twindow: w,\n}: {\n\tlabel: string;\n\twindow: UsageWindow;\n}) {\n\tconst percent = Math.min(w.usedPercent, 100);\n\tconst barColor =\n\t\tpercent >= 90\n\t\t\t? 'bg-red-500'\n\t\t\t: percent >= 70\n\t\t\t\t? 'bg-amber-500'\n\t\t\t\t: 'bg-blue-500';\n\n\treturn (\n\t\t<div className=\"space-y-1.5\">\n\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t{Math.round(percent)}%\n\t\t\t\t\t</span>\n\t\t\t\t\t{w.resetsAt && (\n\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\tresets in {formatTimeRemaining(w.resetsAt)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"h-2 rounded-full bg-muted overflow-hidden\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={`h-full rounded-full transition-all duration-500 ${barColor}`}\n\t\t\t\t\tstyle={{ width: `${percent}%` }}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport const UsageModal = memo(function UsageModal() {\n\tconst isOpen = useUsageStore((s) => s.isModalOpen);\n\tconst provider = useUsageStore((s) => s.modalProvider);\n\tconst closeModal = useUsageStore((s) => s.closeModal);\n\tconst usage = useUsageStore((s) =>\n\t\tprovider ? s.usage[provider] : undefined,\n\t);\n\n\tconst title = useMemo(\n\t\t() => (\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t{provider && <ProviderLogo provider={provider} size={20} />}\n\t\t\t\t<span>Usage & Limits</span>\n\t\t\t</div>\n\t\t),\n\t\t[provider],\n\t);\n\n\tif (!usage) return null;\n\n\treturn (\n\t\t<Modal isOpen={isOpen} onClose={closeModal} title={title} maxWidth=\"sm\">\n\t\t\t<div className=\"space-y-5\">\n\t\t\t\t{usage.limitReached && (\n\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 rounded-md bg-red-500/10 border border-red-500/20\">\n\t\t\t\t\t\t<span className=\"w-2 h-2 rounded-full bg-red-500 flex-shrink-0\" />\n\t\t\t\t\t\t<span className=\"text-sm text-red-600 dark:text-red-400 font-medium\">\n\t\t\t\t\t\t\tRate limit reached\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{usage.primaryWindow && (\n\t\t\t\t\t<UsageBar\n\t\t\t\t\t\tlabel={`${windowLabel(usage.primaryWindow.windowSeconds)} Window`}\n\t\t\t\t\t\twindow={usage.primaryWindow}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{usage.secondaryWindow && (\n\t\t\t\t\t<UsageBar\n\t\t\t\t\t\tlabel={`${windowLabel(usage.secondaryWindow.windowSeconds)} Window`}\n\t\t\t\t\t\twindow={usage.secondaryWindow}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{usage.sonnetWindow && usage.sonnetWindow.usedPercent > 0 && (\n\t\t\t\t\t<UsageBar\n\t\t\t\t\t\tlabel=\"Sonnet (7 Day)\"\n\t\t\t\t\t\twindow={{\n\t\t\t\t\t\t\tusedPercent: usage.sonnetWindow.usedPercent,\n\t\t\t\t\t\t\twindowSeconds: 604800,\n\t\t\t\t\t\t\tresetsAt: usage.sonnetWindow.resetsAt,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{usage.extraUsage?.is_enabled && (\n\t\t\t\t\t<div className=\"pt-2 border-t border-border space-y-1\">\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">Extra Credits</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t${usage.extraUsage.used_credits.toFixed(2)} / $\n\t\t\t\t\t\t\t\t{usage.extraUsage.monthly_limit}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{usage.credits?.has_credits && (\n\t\t\t\t\t<div className=\"pt-2 border-t border-border space-y-1\">\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">Credits</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{usage.credits.balance !== null\n\t\t\t\t\t\t\t\t\t? `$${usage.credits.balance.toFixed(2)}`\n\t\t\t\t\t\t\t\t\t: 'Available'}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{usage.planType && (\n\t\t\t\t\t<div className=\"pt-2 border-t border-border\">\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">Plan</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground capitalize\">\n\t\t\t\t\t\t\t\t{usage.planType}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</Modal>\n\t);\n});\n",
|
|
119
|
-
"import { useEffect, useCallback, useRef } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport { useUsageStore } from '../stores/usageStore';\n\nconst POLL_INTERVAL = 60_000;\nconst STALE_THRESHOLD = 30_000;\n\nconst inflight = new Set<string>();\n\nexport function useProviderUsage(\n\tprovider: string | undefined,\n\tauthType: string | undefined,\n) {\n\tconst setUsage = useUsageStore((s) => s.setUsage);\n\tconst setLoading = useUsageStore((s) => s.setLoading);\n\tconst setLastFetched = useUsageStore((s) => s.setLastFetched);\n\tconst usage = useUsageStore((s) =>\n\t\tprovider ? s.usage[provider] : undefined,\n\t);\n\n\tconst isOAuthProvider =\n\t\tauthType === 'oauth' && (provider === 'anthropic' || provider === 'openai');\n\n\tconst fetchUsage = useCallback(async () => {\n\t\tif (!provider || !isOAuthProvider) return;\n\t\tif (inflight.has(provider)) return;\n\n\t\tconst last = useUsageStore.getState().lastFetched[provider] ?? 0;\n\t\tif (last && Date.now() - last < STALE_THRESHOLD) return;\n\n\t\tinflight.add(provider);\n\t\tsetLoading(provider, true);\n\t\ttry {\n\t\t\tconst data = await apiClient.getProviderUsage(provider);\n\t\t\tsetUsage(provider, data);\n\t\t\tsetLastFetched(provider, Date.now());\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetLoading(provider, false);\n\t\t\tinflight.delete(provider);\n\t\t}\n\t}, [provider, isOAuthProvider, setUsage, setLoading, setLastFetched]);\n\n\tconst fetchRef = useRef(fetchUsage);\n\tfetchRef.current = fetchUsage;\n\n\tuseEffect(() => {\n\t\tif (!isOAuthProvider) return;\n\n\t\tfetchRef.current();\n\n\t\tconst interval = setInterval(() => fetchRef.current(), POLL_INTERVAL);\n\t\treturn () => clearInterval(interval);\n\t}, [isOAuthProvider, provider]);\n\n\treturn {\n\t\tusage,\n\t\tfetchUsage,\n\t\tisOAuthProvider,\n\t};\n}\n",
|
|
119
|
+
"import { useEffect, useCallback, useRef } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport { useUsageStore } from '../stores/usageStore';\n\nconst POLL_INTERVAL = 60_000;\nconst STALE_THRESHOLD = 30_000;\n\nconst inflight = new Set<string>();\n\nexport function useProviderUsage(\n\tprovider: string | undefined,\n\tauthType: string | undefined,\n) {\n\tconst setUsage = useUsageStore((s) => s.setUsage);\n\tconst setLoading = useUsageStore((s) => s.setLoading);\n\tconst setLastFetched = useUsageStore((s) => s.setLastFetched);\n\tconst usage = useUsageStore((s) =>\n\t\tprovider ? s.usage[provider] : undefined,\n\t);\n\n\tconst isOAuthProvider =\n\t\tauthType === 'oauth' && (provider === 'anthropic' || provider === 'openai');\n\n\tconst fetchUsage = useCallback(async () => {\n\t\tif (!provider || !isOAuthProvider) return;\n\t\tif (inflight.has(provider)) return;\n\n\t\tconst last = useUsageStore.getState().lastFetched[provider] ?? 0;\n\t\tif (last && Date.now() - last < STALE_THRESHOLD) return;\n\n\t\tinflight.add(provider);\n\t\tsetLoading(provider, true);\n\t\ttry {\n\t\t\tconst data = await apiClient.getProviderUsage(provider);\n\t\t\tsetUsage(provider, data);\n\t\t\tsetLastFetched(provider, Date.now());\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetLoading(provider, false);\n\t\t\tinflight.delete(provider);\n\t\t}\n\t}, [provider, isOAuthProvider, setUsage, setLoading, setLastFetched]);\n\n\tconst fetchRef = useRef(fetchUsage);\n\tfetchRef.current = fetchUsage;\n\n\tuseEffect(() => {\n\t\tif (!provider || !isOAuthProvider) return;\n\n\t\tfetchRef.current();\n\n\t\tconst interval = setInterval(() => fetchRef.current(), POLL_INTERVAL);\n\t\treturn () => clearInterval(interval);\n\t}, [isOAuthProvider, provider]);\n\n\treturn {\n\t\tusage,\n\t\tfetchUsage,\n\t\tisOAuthProvider,\n\t};\n}\n",
|
|
120
120
|
"import { useEffect, useCallback } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport { useOttoRouterStore } from '../stores/ottorouterStore';\nimport { useUsageStore } from '../stores/usageStore';\n\nexport function useOttoRouterBalance(providerName: string | undefined) {\n\tconst setBalance = useOttoRouterStore((s) => s.setBalance);\n\tconst setUsdcBalance = useOttoRouterStore((s) => s.setUsdcBalance);\n\tconst setWalletAddress = useOttoRouterStore((s) => s.setWalletAddress);\n\tconst setLoading = useOttoRouterStore((s) => s.setLoading);\n\tconst setScope = useOttoRouterStore((s) => s.setScope);\n\tconst setPayg = useOttoRouterStore((s) => s.setPayg);\n\tconst setSubscription = useOttoRouterStore((s) => s.setSubscription);\n\tconst setLimits = useOttoRouterStore((s) => s.setLimits);\n\tconst setUsage = useUsageStore((s) => s.setUsage);\n\tconst balance = useOttoRouterStore((s) => s.balance);\n\tconst usdcBalance = useOttoRouterStore((s) => s.usdcBalance);\n\tconst subscription = useOttoRouterStore((s) => s.subscription);\n\tconst network = useOttoRouterStore((s) => s.network);\n\n\tconst fetchBalance = useCallback(async () => {\n\t\tif (providerName !== 'ottorouter') {\n\t\t\treturn;\n\t\t}\n\n\t\tsetLoading(true);\n\t\ttry {\n\t\t\tconst [setuData, usdcData, walletData] = await Promise.all([\n\t\t\t\tapiClient.getOttoRouterBalance(),\n\t\t\t\tapiClient.getOttoRouterUsdcBalance(network),\n\t\t\t\tapiClient.getOttoRouterWallet(),\n\t\t\t]);\n\n\t\t\tif (setuData) {\n\t\t\t\tsetBalance(setuData.balance);\n\t\t\t\tsetWalletAddress(setuData.walletAddress);\n\t\t\t\tsetScope(setuData.scope ?? null);\n\t\t\t\tsetPayg(setuData.payg ?? null);\n\t\t\t\tsetSubscription(setuData.subscription ?? null);\n\t\t\t\tsetLimits(setuData.limits ?? null);\n\n\t\t\t\tconst sub = setuData.subscription;\n\t\t\t\tif (sub?.active && sub.usageWindows) {\n\t\t\t\t\tsetUsage('ottorouter', {\n\t\t\t\t\t\tprovider: 'ottorouter',\n\t\t\t\t\t\tprimaryWindow: {\n\t\t\t\t\t\t\tusedPercent: sub.usageWindows.fiveHour.percentUsed,\n\t\t\t\t\t\t\twindowSeconds: 18000,\n\t\t\t\t\t\t\tresetsAt: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsecondaryWindow: {\n\t\t\t\t\t\t\tusedPercent: sub.usageWindows.weekly.percentUsed,\n\t\t\t\t\t\t\twindowSeconds: 604800,\n\t\t\t\t\t\t\tresetsAt: null,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlimitReached: false,\n\t\t\t\t\t\tplanType: sub.tierName ?? 'GO',\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else if (walletData?.configured && walletData.publicKey) {\n\t\t\t\tsetWalletAddress(walletData.publicKey);\n\t\t\t}\n\n\t\t\tif (usdcData) {\n\t\t\t\tsetUsdcBalance(usdcData.usdcBalance);\n\t\t\t\tif (!setuData && usdcData.walletAddress) {\n\t\t\t\t\tsetWalletAddress(usdcData.walletAddress);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [\n\t\tproviderName,\n\t\tnetwork,\n\t\tsetBalance,\n\t\tsetUsdcBalance,\n\t\tsetWalletAddress,\n\t\tsetLoading,\n\t\tsetScope,\n\t\tsetPayg,\n\t\tsetSubscription,\n\t\tsetLimits,\n\t\tsetUsage,\n\t]);\n\n\tconst needsUsageWindows = subscription?.active && !subscription.usageWindows;\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tproviderName === 'ottorouter' &&\n\t\t\t(balance === null || usdcBalance === null || needsUsageWindows)\n\t\t) {\n\t\t\tfetchBalance();\n\t\t}\n\t}, [providerName, balance, usdcBalance, needsUsageWindows, fetchBalance]);\n\n\treturn {\n\t\tfetchBalance,\n\t};\n}\n",
|
|
121
121
|
"import { memo, useState } from 'react';\nimport { Wallet, CreditCard, AlertCircle, Loader2, X } from 'lucide-react';\nimport type { PendingTopupApproval } from '../../stores/topupApprovalStore';\nimport { apiClient } from '../../lib/api-client';\nimport { toast } from '../../stores/toastStore';\nimport { useOttoRouterStore } from '../../stores/ottorouterStore';\n\ninterface TopupApprovalCardProps {\n\tpendingTopup: PendingTopupApproval;\n\tonMethodSelected: (method: 'crypto' | 'fiat') => void;\n\tonCancel: () => void;\n}\n\nexport const TopupApprovalCard = memo(function TopupApprovalCard({\n\tpendingTopup,\n\tonMethodSelected,\n\tonCancel,\n}: TopupApprovalCardProps) {\n\tconst [isProcessing, setIsProcessing] = useState(false);\n\tconst [selectedMethod, setSelectedMethod] = useState<\n\t\t'crypto' | 'fiat' | null\n\t>(null);\n\tconst openTopupModal = useOttoRouterStore((s) => s.openTopupModal);\n\tconst hasGoPlan = useOttoRouterStore((s) => !!s.subscription?.active);\n\n\tconst handleSelectCrypto = async () => {\n\t\tsetSelectedMethod('crypto');\n\t\tsetIsProcessing(true);\n\t\ttry {\n\t\t\tawait apiClient.selectTopupMethod(pendingTopup.sessionId, 'crypto');\n\t\t\tonMethodSelected('crypto');\n\t\t} catch (error) {\n\t\t\ttoast.error(\n\t\t\t\terror instanceof Error ? error.message : 'Failed to process payment',\n\t\t\t);\n\t\t\tsetIsProcessing(false);\n\t\t\tsetSelectedMethod(null);\n\t\t}\n\t};\n\n\tconst handleSelectFiat = async () => {\n\t\tsetSelectedMethod('fiat');\n\t\t// Open modal immediately - don't wait for API\n\t\topenTopupModal();\n\t\t// Tell server fiat was selected (this will gracefully pause the request)\n\t\tapiClient.selectTopupMethod(pendingTopup.sessionId, 'fiat').catch(() => {\n\t\t\t// Ignore errors - the server handles fiat selection gracefully\n\t\t});\n\t\tonMethodSelected('fiat');\n\t};\n\n\tconst handleCancel = async () => {\n\t\tsetIsProcessing(true);\n\t\ttry {\n\t\t\tawait apiClient.cancelTopup(pendingTopup.sessionId);\n\t\t\tonCancel();\n\t\t} catch (error) {\n\t\t\ttoast.error(error instanceof Error ? error.message : 'Failed to cancel');\n\t\t\tsetIsProcessing(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-3 py-2\">\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<AlertCircle className=\"h-4 w-4 text-amber-500 flex-shrink-0\" />\n\t\t\t\t<span className=\"font-medium text-foreground text-sm\">\n\t\t\t\t\tInsufficient Balance\n\t\t\t\t</span>\n\t\t\t\t<span className=\"text-amber-600 dark:text-amber-400 font-medium text-sm\">\n\t\t\t\t\tpayment required\n\t\t\t\t</span>\n\t\t\t</div>\n\n\t\t\t{hasGoPlan && (\n\t\t\t\t<p className=\"ml-6 text-xs text-muted-foreground\">\n\t\t\t\t\tGO credits may not apply to this request. Add balance to continue.\n\t\t\t\t</p>\n\t\t\t)}\n\n\t\t\t<div className=\"ml-6 bg-muted/30 rounded-lg p-3 space-y-2 text-sm\">\n\t\t\t\t<div className=\"flex justify-between\">\n\t\t\t\t\t<span className=\"text-muted-foreground\">Request cost</span>\n\t\t\t\t\t<span className=\"font-mono\">\n\t\t\t\t\t\t~${pendingTopup.amountUsd.toFixed(4)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex justify-between\">\n\t\t\t\t\t<span className=\"text-muted-foreground\">Current balance</span>\n\t\t\t\t\t<span className=\"font-mono\">\n\t\t\t\t\t\t${pendingTopup.currentBalance.toFixed(4)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"ml-6 flex flex-wrap items-center gap-2\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Cancel request\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\tCancel\n\t\t\t\t</button>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleSelectCrypto}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Pay with USDC from your wallet\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-violet-600 text-white hover:bg-violet-700 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t{selectedMethod === 'crypto' && isProcessing ? (\n\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Wallet className=\"w-3 h-3\" />\n\t\t\t\t\t)}\n\t\t\t\t\tPay with USDC\n\t\t\t\t</button>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleSelectFiat}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Top up with card (min $5)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-violet-500 text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t{selectedMethod === 'fiat' && isProcessing ? (\n\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<CreditCard className=\"w-3 h-3\" />\n\t\t\t\t\t)}\n\t\t\t\t\tTop up with Card\n\t\t\t\t\t<span className=\"text-[10px] opacity-70\">(min $5)</span>\n\t\t\t\t</button>\n\t\t\t</div>\n\n\t\t\t<p className=\"ml-6 text-xs text-muted-foreground\">\n\t\t\t\t{selectedMethod === 'crypto'\n\t\t\t\t\t? 'Processing USDC payment from your wallet...'\n\t\t\t\t\t: selectedMethod === 'fiat'\n\t\t\t\t\t\t? 'Opening checkout...'\n\t\t\t\t\t\t: 'Select a payment method to continue your request.'}\n\t\t\t</p>\n\t\t</div>\n\t);\n});\n",
|
|
122
122
|
"import { create } from 'zustand';\n\nexport interface PendingTopupApproval {\n\tsessionId: string;\n\tmessageId: string;\n\tamountUsd: number;\n\tcurrentBalance: number;\n\tminTopupUsd: number;\n\tsuggestedTopupUsd: number;\n}\n\ninterface TopupApprovalState {\n\tpendingTopup: PendingTopupApproval | null;\n\tisProcessing: boolean;\n\tselectedMethod: 'crypto' | 'fiat' | null;\n\tsetPendingTopup: (topup: PendingTopupApproval | null) => void;\n\tsetProcessing: (processing: boolean) => void;\n\tsetSelectedMethod: (method: 'crypto' | 'fiat' | null) => void;\n\tclearPendingTopup: () => void;\n}\n\nexport const useTopupApprovalStore = create<TopupApprovalState>((set) => ({\n\tpendingTopup: null,\n\tisProcessing: false,\n\tselectedMethod: null,\n\tsetPendingTopup: (pendingTopup) =>\n\t\tset({ pendingTopup, isProcessing: false, selectedMethod: null }),\n\tsetProcessing: (isProcessing) => set({ isProcessing }),\n\tsetSelectedMethod: (selectedMethod) => set({ selectedMethod }),\n\tclearPendingTopup: () =>\n\t\tset({ pendingTopup: null, isProcessing: false, selectedMethod: null }),\n}));\n",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"import {\n\tFileIcon,\n\tFilePlus,\n\tFileX,\n\tCheck,\n\tAlertCircle,\n\tAlertTriangle,\n\tRotateCcw,\n\tTrash2,\n} from 'lucide-react';\nimport type { GitFileStatus } from '../../types/api';\nimport {\n\tuseStageFiles,\n\tuseUnstageFiles,\n\tuseRestoreFiles,\n\tuseDeleteFiles,\n} from '../../hooks/useGit';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useConfirmationStore } from '../../stores/confirmationStore';\nimport { useState } from 'react';\n\ninterface GitFileItemProps {\n\tfile: GitFileStatus;\n\tstaged: boolean;\n\tshowModifiedIndicator?: boolean;\n}\n\n/**\n * Smart path truncation that shows the most relevant parts\n * - For short paths: show full path\n * - For long paths: show parent directory + filename\n * Examples:\n * \"src/index.ts\" -> \"src/index.ts\"\n * \"packages/web-sdk/src/components/git/GitFileItem.tsx\" -> \"../git/GitFileItem.tsx\"\n * \"docs/git-implementation-rework-plan.md\" -> \"../git-implementation-rework-plan.md\"\n */\nfunction smartTruncatePath(path: string, maxParts = 2): string {\n\tconst parts = path.split('/');\n\n\t// If path is short enough, show it all\n\tif (parts.length <= maxParts + 1) {\n\t\treturn path;\n\t}\n\n\t// Show last N parts with ellipsis\n\tconst truncated = parts.slice(-maxParts);\n\treturn `../${truncated.join('/')}`;\n}\n\nexport function GitFileItem({\n\tfile,\n\tstaged,\n\tshowModifiedIndicator = false,\n}: GitFileItemProps) {\n\tconst { openDiff } = useGitStore();\n\tconst stageFiles = useStageFiles();\n\tconst unstageFiles = useUnstageFiles();\n\tconst restoreFiles = useRestoreFiles();\n\tconst deleteFiles = useDeleteFiles();\n\tconst openConfirmation = useConfirmationStore(\n\t\t(state) => state.openConfirmation,\n\t);\n\tconst [isChecked, setIsChecked] = useState(staged);\n\n\tconst handleCheckChange = async (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\te.stopPropagation();\n\t\tconst checked = e.target.checked;\n\t\tsetIsChecked(checked);\n\n\t\ttry {\n\t\t\tif (checked) {\n\t\t\t\tawait stageFiles.mutateAsync([file.path]);\n\t\t\t} else {\n\t\t\t\tawait unstageFiles.mutateAsync([file.path]);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// Revert on error\n\t\t\tsetIsChecked(!checked);\n\t\t\tconsole.error('Failed to stage/unstage file:', error);\n\t\t}\n\t};\n\n\tconst handleRestore = async (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\topenConfirmation({\n\t\t\ttitle: 'Restore File',\n\t\t\tmessage: `Restore ${file.path} to HEAD state? This will discard all changes.`,\n\t\t\tconfirmLabel: 'Restore',\n\t\t\tvariant: 'destructive',\n\t\t\tonConfirm: async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait restoreFiles.mutateAsync([file.path]);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to restore file:', error);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t};\n\n\tconst handleDelete = async (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\topenConfirmation({\n\t\t\ttitle: 'Delete File',\n\t\t\tmessage: `Delete ${file.path}? This will permanently remove the untracked file.`,\n\t\t\tconfirmLabel: 'Delete',\n\t\t\tvariant: 'destructive',\n\t\t\tonConfirm: async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait deleteFiles.mutateAsync([file.path]);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to delete file:', error);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t};\n\n\tconst handleClick = () => {\n\t\topenDiff(file.path, staged);\n\t};\n\n\t// Status colors and icons\n\tconst getStatusConfig = () => {\n\t\tswitch (file.status) {\n\t\t\tcase 'added':\n\t\t\tcase 'untracked':\n\t\t\t\treturn {\n\t\t\t\t\ticon: FilePlus,\n\t\t\t\t\tcolor: 'text-green-500',\n\t\t\t\t\tlabel: 'A',\n\t\t\t\t\tlabelColor: 'text-green-500',\n\t\t\t\t};\n\t\t\tcase 'deleted':\n\t\t\t\treturn {\n\t\t\t\t\ticon: FileX,\n\t\t\t\t\tcolor: 'text-red-500',\n\t\t\t\t\tlabel: 'D',\n\t\t\t\t\tlabelColor: 'text-red-500',\n\t\t\t\t};\n\t\t\tcase 'modified':\n\t\t\t\treturn {\n\t\t\t\t\ticon: FileIcon,\n\t\t\t\t\tcolor: 'text-blue-500',\n\t\t\t\t\tlabel: 'M',\n\t\t\t\t\tlabelColor: 'text-blue-500',\n\t\t\t\t};\n\t\t\tcase 'renamed':\n\t\t\t\treturn {\n\t\t\t\t\ticon: FileIcon,\n\t\t\t\t\tcolor: 'text-purple-500',\n\t\t\t\t\tlabel: 'R',\n\t\t\t\t\tlabelColor: 'text-purple-500',\n\t\t\t\t};\n\t\t\tcase 'conflicted':\n\t\t\t\treturn {\n\t\t\t\t\ticon: AlertTriangle,\n\t\t\t\t\tcolor: 'text-red-500',\n\t\t\t\t\tlabel: 'C',\n\t\t\t\t\tlabelColor: 'text-red-500',\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn {\n\t\t\t\t\ticon: FileIcon,\n\t\t\t\t\tcolor: 'text-muted-foreground',\n\t\t\t\t\tlabel: '?',\n\t\t\t\t\tlabelColor: 'text-muted-foreground',\n\t\t\t\t};\n\t\t}\n\t};\n\n\tconst config = getStatusConfig();\n\tconst Icon = config.icon;\n\n\t// Smart truncation: show enough context without wrapping\n\tconst displayPath = smartTruncatePath(file.path, 2);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclassName=\"flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 cursor-pointer group transition-colors w-full text-left h-9\"\n\t\t\tonClick={handleClick}\n\t\t>\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={isChecked}\n\t\t\t\tonChange={handleCheckChange}\n\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\tclassName=\"w-4 h-4 rounded border-border\"\n\t\t\t\taria-label={`${isChecked ? 'Unstage' : 'Stage'} ${file.path}`}\n\t\t\t/>\n\n\t\t\t<div className=\"flex items-center gap-2 flex-1 min-w-0\">\n\t\t\t\t<Icon className={`w-4 h-4 flex-shrink-0 ${config.color}`} />\n\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"text-sm text-foreground font-mono truncate\"\n\t\t\t\t\t\t\ttitle={`${file.path}\\n${file.absPath}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{displayPath}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div className=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t\t<span className={`text-xs font-semibold ${config.labelColor}`}>\n\t\t\t\t\t\t\t\t{config.label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{showModifiedIndicator && (\n\t\t\t\t\t\t\t\t<div title=\"Also modified in working directory\">\n\t\t\t\t\t\t\t\t\t<AlertCircle className=\"w-3.5 h-3.5 text-orange-500\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Stats */}\n\t\t\t{file.insertions !== undefined || file.deletions !== undefined ? (\n\t\t\t\t<div className=\"flex items-center gap-2 text-xs flex-shrink-0\">\n\t\t\t\t\t{file.insertions !== undefined && file.insertions > 0 && (\n\t\t\t\t\t\t<span className=\"text-green-500\">+{file.insertions}</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{file.deletions !== undefined && file.deletions > 0 && (\n\t\t\t\t\t\t<span className=\"text-red-500\">-{file.deletions}</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t) : null}\n\n\t\t\t{/* Delete button for untracked files */}\n\t\t\t<div className=\"w-7 flex items-center justify-center flex-shrink-0\">\n\t\t\t\t{!staged && file.status === 'untracked' && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleDelete}\n\t\t\t\t\t\tclassName=\"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity\"\n\t\t\t\t\t\ttitle=\"Delete untracked file\"\n\t\t\t\t\t\taria-label={`Delete ${file.path}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Trash2 className=\"w-4 h-4 text-destructive\" />\n\t\t\t\t\t</button>\n\t\t\t\t)}\n\t\t\t\t{!staged && file.status !== 'untracked' && file.status !== 'added' && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleRestore}\n\t\t\t\t\t\tclassName=\"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity\"\n\t\t\t\t\t\ttitle=\"Restore file to HEAD (Shift+R)\"\n\t\t\t\t\t\taria-label={`Restore ${file.path}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RotateCcw className=\"w-4 h-4 text-destructive\" />\n\t\t\t\t\t</button>\n\t\t\t\t)}\n\t\t\t\t{staged && !showModifiedIndicator && (\n\t\t\t\t\t<Check className=\"w-4 h-4 text-green-500 opacity-0 group-hover:opacity-100 transition-opacity\" />\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</button>\n\t);\n}\n",
|
|
136
136
|
"import { memo, useCallback, useEffect, useState } from 'react';\nimport {\n\tFolderGit2,\n\tChevronRight,\n\tChevronDown,\n\tDownload,\n\tGitBranch,\n\tGlobe,\n\tPlus,\n\tRefreshCw,\n\tSparkles,\n\tTrash2,\n\tUpload,\n\tX,\n} from 'lucide-react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useGitStore } from '../../stores/gitStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport {\n\tuseGitStatus,\n\tusePullChanges,\n\tusePushCommits,\n\tuseGitInit,\n\tuseGitRemotes,\n\tuseAddRemote,\n\tuseRemoveRemote,\n} from '../../hooks/useGit';\nimport { Button } from '../ui/Button';\nimport { GitFileList } from './GitFileList';\nimport { ResizeHandle } from '../ui/ResizeHandle';\n\nconst PANEL_KEY = 'git';\nconst DEFAULT_WIDTH = 320;\nconst MIN_WIDTH = 320;\nconst MAX_WIDTH = 600;\n\ninterface GitError {\n\tid: string;\n\tmessage: string;\n\tcontext?: string;\n}\n\ninterface GitSidebarProps {\n\tonFixWithAI?: (errorMessage: string) => void;\n}\n\nexport const GitSidebar = memo(function GitSidebar({\n\tonFixWithAI,\n}: GitSidebarProps) {\n\tconst isExpanded = useGitStore((state) => state.isExpanded);\n\tconst collapseSidebar = useGitStore((state) => state.collapseSidebar);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\tconst { data: status, isLoading, error, refetch } = useGitStatus();\n\tconst { data: remotes } = useGitRemotes();\n\tconst queryClient = useQueryClient();\n\tconst pushMutation = usePushCommits();\n\tconst pullMutation = usePullChanges();\n\tconst initMutation = useGitInit();\n\tconst addRemoteMutation = useAddRemote();\n\tconst removeRemoteMutation = useRemoveRemote();\n\tconst [errors, setErrors] = useState<GitError[]>([]);\n\tconst [showRemotes, setShowRemotes] = useState(false);\n\tconst [showAddRemote, setShowAddRemote] = useState(false);\n\tconst [remoteName, setRemoteName] = useState('origin');\n\tconst [remoteUrl, setRemoteUrl] = useState('');\n\tconst [confirmRemoveRemote, setConfirmRemoveRemote] = useState<string | null>(\n\t\tnull,\n\t);\n\n\tuseEffect(() => {\n\t\tif (isExpanded) {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t}\n\t}, [isExpanded, queryClient]);\n\n\tconst handleRefresh = () => {\n\t\trefetch();\n\t};\n\n\tconst addError = useCallback((message: string, context?: string) => {\n\t\tconst id = `${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;\n\t\tsetErrors((prev) => [...prev, { id, message, context }]);\n\t}, []);\n\n\tconst dismissError = useCallback((id: string) => {\n\t\tsetErrors((prev) => prev.filter((e) => e.id !== id));\n\t}, []);\n\n\tconst handlePush = async () => {\n\t\ttry {\n\t\t\tawait pushMutation.mutateAsync();\n\t\t} catch (err) {\n\t\t\taddError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to push',\n\t\t\t\t'git push',\n\t\t\t);\n\t\t}\n\t};\n\n\tconst handlePull = async () => {\n\t\ttry {\n\t\t\tawait pullMutation.mutateAsync();\n\t\t} catch (err) {\n\t\t\taddError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to pull',\n\t\t\t\t'git pull',\n\t\t\t);\n\t\t}\n\t};\n\n\tconst handleAddRemote = async () => {\n\t\tif (!remoteName.trim() || !remoteUrl.trim()) return;\n\t\ttry {\n\t\t\tawait addRemoteMutation.mutateAsync({\n\t\t\t\tname: remoteName.trim(),\n\t\t\t\turl: remoteUrl.trim(),\n\t\t\t});\n\t\t\tsetRemoteName('origin');\n\t\t\tsetRemoteUrl('');\n\t\t\tsetShowAddRemote(false);\n\t\t} catch (err) {\n\t\t\taddError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to add remote',\n\t\t\t\t'git remote add',\n\t\t\t);\n\t\t}\n\t};\n\n\tconst handleRemoveRemote = async (name: string) => {\n\t\tif (confirmRemoveRemote !== name) {\n\t\t\tsetConfirmRemoveRemote(name);\n\t\t\treturn;\n\t\t}\n\t\tsetConfirmRemoveRemote(null);\n\t\ttry {\n\t\t\tawait removeRemoteMutation.mutateAsync(name);\n\t\t} catch (err) {\n\t\t\taddError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to remove remote',\n\t\t\t\t'git remote remove',\n\t\t\t);\n\t\t}\n\t};\n\n\tconst handleFixWithAI = useCallback(\n\t\t(gitError: GitError) => {\n\t\t\tconst prompt = gitError.context\n\t\t\t\t? `I got a git error during ${gitError.context}:\\n\\n${gitError.message}\\n\\nPlease help me fix this.`\n\t\t\t\t: `I got a git error:\\n\\n${gitError.message}\\n\\nPlease help me fix this.`;\n\t\t\tdismissError(gitError.id);\n\t\t\tonFixWithAI?.(prompt);\n\t\t},\n\t\t[onFixWithAI, dismissError],\n\t);\n\n\tif (!isExpanded) return null;\n\n\tconst allFiles = [\n\t\t...(status?.conflicted || []),\n\t\t...(status?.staged || []),\n\t\t...(status?.unstaged || []),\n\t\t...(status?.untracked || []),\n\t];\n\n\tconst totalChanges = allFiles.length;\n\tconst hasRemotes = status?.remotes && status.remotes.length > 0;\n\tconst hasUpstream = status?.hasUpstream ?? false;\n\tconst canPush = status && hasRemotes && (status.ahead > 0 || !hasUpstream);\n\tconst _canPull = !!status;\n\tconst hasPendingPulls = status && status.behind > 0;\n\tconst isActing = pushMutation.isPending || pullMutation.isPending;\n\tconst isNotGitRepo =\n\t\terror instanceof Error &&\n\t\terror.message.toLowerCase().includes('not a git repository');\n\n\tconst pushTitle = !hasRemotes\n\t\t? 'No remote configured'\n\t\t: !hasUpstream\n\t\t\t? 'Publish branch to remote'\n\t\t\t: canPush\n\t\t\t\t? `Push ${status?.ahead} commit(s) to remote`\n\t\t\t\t: 'Nothing to push';\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border-l border-sidebar-border sidebar-fade-in flex h-full relative\"\n\t\t\tstyle={{ width: panelWidth }}\n\t\t>\n\t\t\t<ResizeHandle\n\t\t\t\tpanelKey={PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={MIN_WIDTH}\n\t\t\t\tmaxWidth={MAX_WIDTH}\n\t\t\t\tdefaultWidth={DEFAULT_WIDTH}\n\t\t\t/>\n\t\t\t<div className=\"flex-1 flex flex-col h-full min-w-0 w-full\">\n\t\t\t\t<div className=\"h-14 border-b border-border px-3 flex items-center justify-between\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 flex-1\">\n\t\t\t\t\t\t<GitBranch className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\tGit Changes\n\t\t\t\t\t\t\t{totalChanges > 0 && (\n\t\t\t\t\t\t\t\t<span className=\"ml-2 text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t({totalChanges})\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tLoading git status...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : isNotGitRepo ? (\n\t\t\t\t\t\t<div className=\"p-4 flex flex-col items-center justify-center gap-3 text-center\">\n\t\t\t\t\t\t\t<FolderGit2 className=\"w-10 h-10 text-muted-foreground\" />\n\t\t\t\t\t\t\t<div className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tNo git repository found in this directory.\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tonClick={() => initMutation.mutate()}\n\t\t\t\t\t\t\t\tdisabled={initMutation.isPending}\n\t\t\t\t\t\t\t\tclassName=\"gap-1.5\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<GitBranch\n\t\t\t\t\t\t\t\t\tclassName={`w-3.5 h-3.5 ${initMutation.isPending ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{initMutation.isPending\n\t\t\t\t\t\t\t\t\t? 'Initializing...'\n\t\t\t\t\t\t\t\t\t: 'Initialize Repository'}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{initMutation.isError && (\n\t\t\t\t\t\t\t\t<span className=\"text-xs text-orange-500\">\n\t\t\t\t\t\t\t\t\t{initMutation.error instanceof Error\n\t\t\t\t\t\t\t\t\t\t? initMutation.error.message\n\t\t\t\t\t\t\t\t\t\t: 'Failed to initialize'}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : error ? (\n\t\t\t\t\t\t<div className=\"p-3 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t\t\t\t<span className=\"text-orange-500\">\n\t\t\t\t\t\t\t\t\t{error instanceof Error\n\t\t\t\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t\t\t\t: 'Failed to load git status'}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<Button variant=\"secondary\" size=\"sm\" onClick={handleRefresh}>\n\t\t\t\t\t\t\t\t\tRetry\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : !status || totalChanges === 0 ? (\n\t\t\t\t\t\t<div className=\"p-3 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tNo changes detected\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<GitFileList status={status} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{status && !isNotGitRepo && !error && (\n\t\t\t\t\t<div className=\"border-t border-border\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => setShowRemotes(!showRemotes)}\n\t\t\t\t\t\t\tclassName=\"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\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{showRemotes ? (\n\t\t\t\t\t\t\t\t<ChevronDown className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ChevronRight className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Globe className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t<span>Remotes</span>\n\t\t\t\t\t\t\t{status.remotes && (\n\t\t\t\t\t\t\t\t<span className=\"ml-auto text-[10px] opacity-60\">\n\t\t\t\t\t\t\t\t\t{status.remotes.length}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t{showRemotes && (\n\t\t\t\t\t\t\t<div className=\"px-3 pb-2 space-y-1\">\n\t\t\t\t\t\t\t\t{remotes && remotes.length > 0 ? (\n\t\t\t\t\t\t\t\t\tremotes\n\t\t\t\t\t\t\t\t\t\t.filter((r) => r.type === 'fetch')\n\t\t\t\t\t\t\t\t\t\t.map((remote) => (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tkey={remote.name}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 text-xs group\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{remote.name}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"truncate text-muted-foreground flex-1 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{remote.url}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (confirmRemoveRemote === remote.name) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleRemoveRemote(remote.name);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetConfirmRemoveRemote(remote.name);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => setConfirmRemoveRemote(null)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={removeRemoteMutation.isPending}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${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`}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconfirmRemoveRemote === remote.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Click again to confirm removing ${remote.name}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Remove ${remote.name}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{confirmRemoveRemote === remote.name ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRemove?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Trash2 className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground py-1\">\n\t\t\t\t\t\t\t\t\t\tNo remotes configured\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{showAddRemote ? (\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-1.5 pt-1\">\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={remoteName}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setRemoteName(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Name (e.g. origin)\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"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\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={remoteUrl}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setRemoteUrl(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"URL (e.g. https://github.com/...)\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"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\"\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleAddRemote();\n\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') setShowAddRemote(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleAddRemote}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t\t\taddRemoteMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t!remoteName.trim() ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t!remoteUrl.trim()\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-6 text-[10px]\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{addRemoteMutation.isPending ? 'Adding...' : 'Add'}\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => setShowAddRemote(false)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"h-6 text-[10px]\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => setShowAddRemote(true)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors pt-1\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Plus className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t<span>Add remote</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{errors.length > 0 && (\n\t\t\t\t\t<div className=\"border-t border-border\">\n\t\t\t\t\t\t{errors.map((gitError) => (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={gitError.id}\n\t\t\t\t\t\t\t\tclassName=\"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\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text-orange-500 flex-1 min-w-0 break-words\">\n\t\t\t\t\t\t\t\t\t{gitError.message}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t{onFixWithAI && (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleFixWithAI(gitError)}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"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\"\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"Fix with AI\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Sparkles className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t\tFix\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => dismissError(gitError.id)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground hover:text-foreground transition-colors p-0.5\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Dismiss\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"h-12 border-t border-border flex items-center gap-1 px-2\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tonClick={handlePull}\n\t\t\t\t\t\tdisabled={isActing || !hasRemotes || !hasUpstream}\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t!hasRemotes\n\t\t\t\t\t\t\t\t? 'No remote configured'\n\t\t\t\t\t\t\t\t: !hasUpstream\n\t\t\t\t\t\t\t\t\t? 'Branch not published yet'\n\t\t\t\t\t\t\t\t\t: hasPendingPulls\n\t\t\t\t\t\t\t\t\t\t? `Pull ${status?.behind} commit(s) from remote`\n\t\t\t\t\t\t\t\t\t\t: 'Pull from remote'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"flex-1 h-8 text-xs gap-1.5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Download\n\t\t\t\t\t\t\tclassName={`w-3.5 h-3.5 ${pullMutation.isPending ? 'animate-pulse' : ''}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\tPull\n\t\t\t\t\t\t{hasPendingPulls && (\n\t\t\t\t\t\t\t<span className=\"text-orange-500\">↓{status?.behind}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tonClick={handlePush}\n\t\t\t\t\t\tdisabled={!canPush || isActing}\n\t\t\t\t\t\ttitle={pushTitle}\n\t\t\t\t\t\tclassName=\"flex-1 h-8 text-xs gap-1.5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Upload\n\t\t\t\t\t\t\tclassName={`w-3.5 h-3.5 ${pushMutation.isPending ? 'animate-pulse' : ''}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{!hasUpstream && hasRemotes ? 'Publish' : 'Push'}\n\t\t\t\t\t\t{hasUpstream && status && status.ahead > 0 && (\n\t\t\t\t\t\t\t<span className=\"text-green-500\">↑{status.ahead}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 min-w-0 flex-1\">\n\t\t\t\t\t\t<GitBranch className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t{status?.branch && (\n\t\t\t\t\t\t\t<span className=\"truncate\">{status.branch}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{status && !hasUpstream && hasRemotes && (\n\t\t\t\t\t\t\t<span className=\"text-[10px] text-orange-500 flex-shrink-0\">\n\t\t\t\t\t\t\t\tunpublished\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\ttitle=\"Refresh git status\"\n\t\t\t\t\t\tclassName=\"h-6 w-6 flex-shrink-0\"\n\t\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
|
|
137
137
|
"import { memo } from 'react';\nimport { GitBranch } from 'lucide-react';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useGitStatus } from '../../hooks/useGit';\n\nexport const GitSidebarToggle = memo(function GitSidebarToggle() {\n\t// Use selectors to only subscribe to needed state\n\tconst isExpanded = useGitStore((state) => state.isExpanded);\n\tconst toggleSidebar = useGitStore((state) => state.toggleSidebar);\n\tconst { data: status } = useGitStatus();\n\n\tconst totalChanges =\n\t\t(status?.staged?.length ?? 0) +\n\t\t(status?.unstaged?.length ?? 0) +\n\t\t(status?.untracked?.length ?? 0);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={toggleSidebar}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Git\"\n\t\t>\n\t\t\t<GitBranch className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t{totalChanges > 0 && (\n\t\t\t\t<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\">\n\t\t\t\t\t{totalChanges > 9 ? '9+' : totalChanges}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
|
|
138
|
-
"import { useEffect, useRef, memo, useState } from 'react';\nimport { X, Maximize2, Minimize2 } from 'lucide-react';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useSidebarStore } from '../../stores/sidebarStore';\nimport { useGitDiff } from '../../hooks/useGit';\nimport { useGitDiffFullFile } from '../../hooks/useFileBrowser';\nimport { Button } from '../ui/Button';\nimport { GitDiffViewer } from './GitDiffViewer';\n\nexport const GitDiffPanel = memo(function GitDiffPanel() {\n\t// Use selectors to only subscribe to needed state\n\tconst isDiffOpen = useGitStore((state) => state.isDiffOpen);\n\tconst selectedFile = useGitStore((state) => state.selectedFile);\n\tconst selectedFileStaged = useGitStore((state) => state.selectedFileStaged);\n\tconst closeDiff = useGitStore((state) => state.closeDiff);\n\n\tconst setCollapsed = useSidebarStore((state) => state.setCollapsed);\n\tconst wasCollapsedRef = useRef<boolean | null>(null);\n\tconst prevDiffOpenRef = useRef(false);\n\n\tconst { data: diff, isLoading } = useGitDiff(\n\t\tselectedFile,\n\t\tselectedFileStaged,\n\t);\n\n\tconst [showFullFile, setShowFullFile] = useState(false);\n\tconst { data: fullFileDiff, isLoading: fullFileLoading } = useGitDiffFullFile(\n\t\tselectedFile,\n\t\tselectedFileStaged,\n\t\tshowFullFile,\n\t);\n\n\tconst activeDiff = showFullFile && fullFileDiff ? fullFileDiff : diff;\n\tconst activeLoading = showFullFile ? fullFileLoading : isLoading;\n\n\tuseEffect(() => {\n\t\tif (!isDiffOpen) setShowFullFile(false);\n\t\tif (isDiffOpen && !prevDiffOpenRef.current) {\n\t\t\t// Diff just opened - save current state and collapse\n\t\t\tconst { isCollapsed } = useSidebarStore.getState();\n\t\t\twasCollapsedRef.current = isCollapsed;\n\t\t\tsetCollapsed(true);\n\t\t} else if (!isDiffOpen && prevDiffOpenRef.current) {\n\t\t\t// Diff just closed - restore previous state\n\t\t\tif (wasCollapsedRef.current !== null) {\n\t\t\t\tsetCollapsed(wasCollapsedRef.current);\n\t\t\t\twasCollapsedRef.current = null;\n\t\t\t}\n\t\t}\n\t\tprevDiffOpenRef.current = isDiffOpen;\n\t}, [isDiffOpen, setCollapsed]);\n\n\t// Handle ESC key\n\tuseEffect(() => {\n\t\tconst handleEscape = (e: KeyboardEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif ((e.key === 'Escape' || (e.key === 'q' && !isInInput)) && isDiffOpen) {\n\t\t\t\tcloseDiff();\n\t\t\t}\n\t\t\tif (e.key === 'f' && !isInInput && isDiffOpen) {\n\t\t\t\tsetShowFullFile((v) => !v);\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handleEscape);\n\t\treturn () => document.removeEventListener('keydown', handleEscape);\n\t}, [isDiffOpen, closeDiff
|
|
138
|
+
"import { useEffect, useRef, memo, useState } from 'react';\nimport { X, Maximize2, Minimize2 } from 'lucide-react';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useSidebarStore } from '../../stores/sidebarStore';\nimport { useGitDiff } from '../../hooks/useGit';\nimport { useGitDiffFullFile } from '../../hooks/useFileBrowser';\nimport { Button } from '../ui/Button';\nimport { GitDiffViewer } from './GitDiffViewer';\n\nexport const GitDiffPanel = memo(function GitDiffPanel() {\n\t// Use selectors to only subscribe to needed state\n\tconst isDiffOpen = useGitStore((state) => state.isDiffOpen);\n\tconst selectedFile = useGitStore((state) => state.selectedFile);\n\tconst selectedFileStaged = useGitStore((state) => state.selectedFileStaged);\n\tconst closeDiff = useGitStore((state) => state.closeDiff);\n\n\tconst setCollapsed = useSidebarStore((state) => state.setCollapsed);\n\tconst wasCollapsedRef = useRef<boolean | null>(null);\n\tconst prevDiffOpenRef = useRef(false);\n\n\tconst { data: diff, isLoading } = useGitDiff(\n\t\tselectedFile,\n\t\tselectedFileStaged,\n\t);\n\n\tconst [showFullFile, setShowFullFile] = useState(false);\n\tconst { data: fullFileDiff, isLoading: fullFileLoading } = useGitDiffFullFile(\n\t\tselectedFile,\n\t\tselectedFileStaged,\n\t\tshowFullFile,\n\t);\n\n\tconst activeDiff = showFullFile && fullFileDiff ? fullFileDiff : diff;\n\tconst activeLoading = showFullFile ? fullFileLoading : isLoading;\n\n\tuseEffect(() => {\n\t\tif (!isDiffOpen) setShowFullFile(false);\n\t\tif (isDiffOpen && !prevDiffOpenRef.current) {\n\t\t\t// Diff just opened - save current state and collapse\n\t\t\tconst { isCollapsed } = useSidebarStore.getState();\n\t\t\twasCollapsedRef.current = isCollapsed;\n\t\t\tsetCollapsed(true);\n\t\t} else if (!isDiffOpen && prevDiffOpenRef.current) {\n\t\t\t// Diff just closed - restore previous state\n\t\t\tif (wasCollapsedRef.current !== null) {\n\t\t\t\tsetCollapsed(wasCollapsedRef.current);\n\t\t\t\twasCollapsedRef.current = null;\n\t\t\t}\n\t\t}\n\t\tprevDiffOpenRef.current = isDiffOpen;\n\t}, [isDiffOpen, setCollapsed]);\n\n\t// Handle ESC key\n\tuseEffect(() => {\n\t\tconst handleEscape = (e: KeyboardEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif ((e.key === 'Escape' || (e.key === 'q' && !isInInput)) && isDiffOpen) {\n\t\t\t\tcloseDiff();\n\t\t\t}\n\t\t\tif (e.key === 'f' && !isInInput && isDiffOpen) {\n\t\t\t\tsetShowFullFile((v) => !v);\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handleEscape);\n\t\treturn () => document.removeEventListener('keydown', handleEscape);\n\t}, [isDiffOpen, closeDiff]);\n\n\tif (!isDiffOpen || !selectedFile) return null;\n\n\treturn (\n\t\t<div className=\"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300\">\n\t\t\t{/* Header - Full path display */}\n\t\t\t<div className=\"h-14 border-b border-border px-4 flex items-center gap-3\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={closeDiff}\n\t\t\t\t\ttitle=\"Close diff viewer (ESC)\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t\t<div className=\"flex-1 flex items-center gap-2 min-w-0\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"text-sm font-medium text-foreground font-mono truncate\"\n\t\t\t\t\t\ttitle={`${selectedFile}\\n${activeDiff?.absPath || ''}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{selectedFile}\n\t\t\t\t\t</span>\n\t\t\t\t\t{selectedFileStaged && (\n\t\t\t\t\t\t<span className=\"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0\">\n\t\t\t\t\t\t\tStaged\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={showFullFile ? 'secondary' : 'ghost'}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonClick={() => setShowFullFile((v) => !v)}\n\t\t\t\t\ttitle={\n\t\t\t\t\t\tshowFullFile ? 'Show diff only (f)' : 'Show full file with diff (f)'\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"flex items-center gap-1.5 text-xs h-7\"\n\t\t\t\t>\n\t\t\t\t\t{showFullFile ? (\n\t\t\t\t\t\t<Minimize2 className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Maximize2 className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{showFullFile ? 'Diff' : 'Full File'}\n\t\t\t\t</Button>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 overflow-auto\">\n\t\t\t\t{activeLoading ? (\n\t\t\t\t\t<div className=\"h-full flex items-center justify-center text-muted-foreground\">\n\t\t\t\t\t\tLoading diff...\n\t\t\t\t\t</div>\n\t\t\t\t) : activeDiff ? (\n\t\t\t\t\t<GitDiffViewer diff={activeDiff} />\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"h-full flex items-center justify-center text-muted-foreground\">\n\t\t\t\t\t\tNo diff available\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
|
|
139
139
|
"import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\ninterface SidebarState {\n\tisCollapsed: boolean;\n\ttoggleCollapse: () => void;\n\tsetCollapsed: (collapsed: boolean) => void;\n}\n\nexport const useSidebarStore = create<SidebarState>()(\n\tpersist(\n\t\t(set) => ({\n\t\t\tisCollapsed: false,\n\t\t\ttoggleCollapse: () =>\n\t\t\t\tset((state) => ({ isCollapsed: !state.isCollapsed })),\n\t\t\tsetCollapsed: (collapsed) => set({ isCollapsed: collapsed }),\n\t\t}),\n\t\t{\n\t\t\tname: 'sidebar-storage',\n\t\t},\n\t),\n);\n",
|
|
140
140
|
"import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\n\nexport function useFileTree(dirPath: string, enabled = true) {\n\treturn useQuery({\n\t\tqueryKey: ['files', 'tree', dirPath],\n\t\tqueryFn: () => apiClient.getFileTree(dirPath),\n\t\tenabled,\n\t\tstaleTime: 10000,\n\t\tretry: 1,\n\t});\n}\n\nexport function useFileContent(filePath: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['files', 'read', filePath],\n\t\tqueryFn: () => (filePath ? apiClient.readFileContent(filePath) : null),\n\t\tenabled: !!filePath,\n\t\tstaleTime: 5000,\n\t\tretry: 1,\n\t});\n}\n\nexport function useGitDiffFullFile(\n\tfile: string | null,\n\tstaged = false,\n\tenabled = false,\n) {\n\treturn useQuery({\n\t\tqueryKey: ['git', 'diff', 'fullFile', file, staged],\n\t\tqueryFn: () => (file ? apiClient.getGitDiffFullFile(file, staged) : null),\n\t\tenabled: enabled && !!file,\n\t\tretry: 1,\n\t\trefetchInterval: false,\n\t});\n}\n",
|
|
141
141
|
"import { useState, useId, useEffect, useCallback } from 'react';\nimport { GitCommit, Sparkles, Loader2 } from 'lucide-react';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useCommitChanges, useGenerateCommitMessage } from '../../hooks/useGit';\nimport { Button } from '../ui/Button';\nimport { Textarea } from '../ui/Textarea';\nimport { Modal } from '../ui/Modal';\n\nexport function GitCommitModal() {\n\tconst { isCommitModalOpen, closeCommitModal } = useGitStore();\n\tconst commitSessionId = useGitStore((state) => state.commitSessionId);\n\tconst commitChanges = useCommitChanges();\n\tconst generateMessage = useGenerateCommitMessage(commitSessionId);\n\tconst [message, setMessage] = useState('');\n\tconst messageId = useId();\n\n\tconst handleCommit = useCallback(async () => {\n\t\tif (!message.trim()) return;\n\n\t\ttry {\n\t\t\tawait commitChanges.mutateAsync(message);\n\t\t\tsetMessage('');\n\t\t\tcloseCommitModal();\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to commit:', error);\n\t\t}\n\t}, [message, commitChanges, closeCommitModal]);\n\n\tconst handleClose = () => {\n\t\tsetMessage('');\n\t\tcloseCommitModal();\n\t};\n\n\tconst handleGenerateMessage = useCallback(async () => {\n\t\ttry {\n\t\t\tconst result = await generateMessage.mutateAsync();\n\t\t\tsetMessage(result.message);\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to generate commit message:', error);\n\t\t}\n\t}, [generateMessage]);\n\n\tuseEffect(() => {\n\t\tif (!isCommitModalOpen) return;\n\n\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\tif ((e.metaKey || e.ctrlKey) && e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tif (message.trim() && !commitChanges.isPending) {\n\t\t\t\t\thandleCommit();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ((e.metaKey || e.ctrlKey) && e.key === 'g') {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\thandleGenerateMessage();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handleKeyDown);\n\t\treturn () => document.removeEventListener('keydown', handleKeyDown);\n\t}, [\n\t\tisCommitModalOpen,\n\t\tmessage,\n\t\tcommitChanges.isPending,\n\t\thandleCommit,\n\t\thandleGenerateMessage,\n\t]);\n\n\treturn (\n\t\t<Modal\n\t\t\tisOpen={isCommitModalOpen}\n\t\t\tonClose={handleClose}\n\t\t\ttitle={\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<GitCommit className=\"w-5 h-5\" />\n\t\t\t\t\t<span>Commit Changes</span>\n\t\t\t\t</div>\n\t\t\t}\n\t\t\tmaxWidth=\"2xl\"\n\t\t>\n\t\t\t<div className=\"space-y-4\">\n\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t<label\n\t\t\t\t\t\thtmlFor={messageId}\n\t\t\t\t\t\tclassName=\"text-sm font-medium text-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\tCommit Message\n\t\t\t\t\t</label>\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid={messageId}\n\t\t\t\t\t\tvalue={message}\n\t\t\t\t\t\tonChange={(e) => setMessage(e.target.value)}\n\t\t\t\t\t\tplaceholder=\"Enter commit message...\"\n\t\t\t\t\t\trows={6}\n\t\t\t\t\t\tclassName=\"w-full resize-none\"\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\tdisabled={generateMessage.isPending}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={handleGenerateMessage}\n\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\tdisabled={generateMessage.isPending}\n\t\t\t\t>\n\t\t\t\t\t{generateMessage.isPending ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 mr-2 animate-spin\" />\n\t\t\t\t\t\t\tGenerating...\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Sparkles className=\"w-4 h-4 mr-2\" />\n\t\t\t\t\t\t\tGenerate commit message{' '}\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground ml-1\">(⌘G)</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\n\t\t\t\t{generateMessage.isError && (\n\t\t\t\t\t<div className=\"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2\">\n\t\t\t\t\t\t{generateMessage.error?.message ||\n\t\t\t\t\t\t\t'Failed to generate commit message'}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex items-center justify-end gap-2 pt-4 border-t border-border\">\n\t\t\t\t\t<Button variant=\"ghost\" onClick={handleClose}>\n\t\t\t\t\t\tCancel <span className=\"text-muted-foreground ml-1\">(Esc)</span>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={handleCommit}\n\t\t\t\t\t\tdisabled={!message.trim() || commitChanges.isPending}\n\t\t\t\t\t>\n\t\t\t\t\t\t{commitChanges.isPending ? (\n\t\t\t\t\t\t\t<span>Committing...</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GitCommit className=\"w-4 h-4 mr-2\" />\n\t\t\t\t\t\t\t\tCommit <span className=\"text-muted-foreground ml-1\">(⌘↵)</span>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t{commitChanges.isError && (\n\t\t\t\t\t<div className=\"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2\">\n\t\t\t\t\t\t{commitChanges.error?.message || 'Failed to commit changes'}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n",
|
|
@@ -160,12 +160,13 @@
|
|
|
160
160
|
"import { memo, useState } from 'react';\nimport {\n\tGlobe,\n\tChevronRight,\n\tLoader2,\n\tAlertCircle,\n\tCopy,\n\tCheck,\n\tExternalLink,\n\tClock,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\nimport { useTunnelStore } from '../../stores/tunnelStore';\nimport {\n\tuseStartTunnel,\n\tuseStopTunnel,\n\tuseTunnelStream,\n\tuseTunnelStatus,\n} from '../../hooks/useTunnel';\nimport { openUrl } from '../../lib/open-url';\n\nfunction truncateUrl(url: string): string {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tconst host = parsed.hostname;\n\t\tif (host.length > 24) {\n\t\t\treturn `${host.slice(0, 12)}...${host.slice(-8)}`;\n\t\t}\n\t\treturn host;\n\t} catch {\n\t\treturn url.length > 24 ? `${url.slice(0, 12)}...${url.slice(-8)}` : url;\n\t}\n}\n\nexport const TunnelSidebar = memo(function TunnelSidebar() {\n\tconst isExpanded = useTunnelStore((s) => s.isExpanded);\n\tconst collapseSidebar = useTunnelStore((s) => s.collapseSidebar);\n\tconst status = useTunnelStore((s) => s.status);\n\tconst url = useTunnelStore((s) => s.url);\n\tconst error = useTunnelStore((s) => s.error);\n\tconst progress = useTunnelStore((s) => s.progress);\n\n\tconst startTunnel = useStartTunnel();\n\tconst stopTunnel = useStopTunnel();\n\tconst [copied, setCopied] = useState(false);\n\n\tuseTunnelStatus();\n\tuseTunnelStream();\n\n\tconst handleCopyUrl = async () => {\n\t\tif (url) {\n\t\t\tawait navigator.clipboard.writeText(url);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}\n\t};\n\n\tconst handleStart = () => {\n\t\tstartTunnel.mutate();\n\t};\n\n\tconst handleStop = () => {\n\t\tstopTunnel.mutate();\n\t};\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div className=\"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full\">\n\t\t\t<div className=\"h-14 flex items-center justify-between px-3 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Globe className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t<span className=\"font-medium text-sm\">Remote Access</span>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t>\n\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 overflow-y-auto p-4\">\n\t\t\t\t{status === 'idle' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t<Globe className=\"w-12 h-12 text-muted-foreground/30 mb-4\" />\n\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Access from anywhere</h3>\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[200px]\">\n\t\t\t\t\t\t\tStart a secure tunnel to access otto from your phone or another\n\t\t\t\t\t\t\tdevice.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStart}\n\t\t\t\t\t\t\tdisabled={startTunnel.isPending}\n\t\t\t\t\t\t\tclassName=\"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{startTunnel.isPending ? 'Starting...' : 'Start Tunnel'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'starting' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t<Loader2 className=\"w-8 h-8 text-primary animate-spin mb-4\" />\n\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Setting up...</h3>\n\t\t\t\t\t\t{progress && (\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground max-w-[220px] break-words\">\n\t\t\t\t\t\t\t\t{progress}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'connected' && url && (\n\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 mb-4\">\n\t\t\t\t\t\t\t<div className=\"w-2 h-2 rounded-full bg-green-500 animate-pulse\" />\n\t\t\t\t\t\t\t<span className=\"text-xs font-medium text-green-600\">\n\t\t\t\t\t\t\t\tConnected\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex justify-center pb-4\">\n\t\t\t\t\t\t\t<div className=\"p-3 bg-white rounded-lg\">\n\t\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\t\tvalue={url}\n\t\t\t\t\t\t\t\t\tsize={160}\n\t\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\t\tincludeMargin={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-4 text-center\">\n\t\t\t\t\t\t\tScan with your phone camera\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm mb-4\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">URL</span>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleCopyUrl}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\t\ttitle=\"Copy URL\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{truncateUrl(url)}\n\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 text-green-500\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Copy className=\"w-3 h-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => openUrl(url)}\n\t\t\t\t\t\t\tclassName=\"flex items-center justify-center gap-2 px-4 py-2 border border-border rounded-md text-sm hover:bg-muted transition-colors mb-3\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ExternalLink className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\tOpen in browser\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStop}\n\t\t\t\t\t\t\tdisabled={stopTunnel.isPending}\n\t\t\t\t\t\t\tclassName=\"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{stopTunnel.isPending ? 'Stopping...' : 'Stop Tunnel'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'error' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t{error?.includes('Rate limited') ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Clock className=\"w-8 h-8 text-yellow-500 mb-4\" />\n\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Rate Limited</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[220px]\">\n\t\t\t\t\t\t\t\t\tCloudflare limits anonymous tunnel requests. Please wait 5-10\n\t\t\t\t\t\t\t\t\tminutes before trying again.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<AlertCircle className=\"w-8 h-8 text-destructive mb-4\" />\n\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Connection failed</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[200px]\">\n\t\t\t\t\t\t\t\t\t{error || 'Unable to establish tunnel connection.'}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStart}\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\tstartTunnel.isPending || error?.includes('Rate limited')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\terror?.includes('Rate limited')\n\t\t\t\t\t\t\t\t\t? 'Wait 5-10 minutes'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{error?.includes('Rate limited')\n\t\t\t\t\t\t\t\t? 'Wait & Try Again'\n\t\t\t\t\t\t\t\t: 'Try Again'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
|
|
161
161
|
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useEffect, useCallback, useRef } from 'react';\nimport { useTunnelStore } from '../stores/tunnelStore';\nimport { API_BASE_URL } from '../lib/config';\n\ninterface TunnelStatusResponse {\n\tstatus: 'idle' | 'starting' | 'connected' | 'error';\n\turl: string | null;\n\terror: string | null;\n\tbinaryInstalled: boolean;\n\tisRunning: boolean;\n}\n\ninterface TunnelStartResponse {\n\tok: boolean;\n\turl?: string;\n\tmessage?: string;\n\terror?: string;\n}\n\ninterface TunnelQrResponse {\n\tok: boolean;\n\turl?: string;\n\tqrCode?: string;\n\terror?: string;\n}\n\nasync function fetchTunnelStatus(): Promise<TunnelStatusResponse> {\n\tconst response = await fetch(`${API_BASE_URL}/v1/tunnel/status`);\n\tif (!response.ok) {\n\t\tthrow new Error('Failed to fetch tunnel status');\n\t}\n\treturn response.json();\n}\n\nasync function startTunnel(): Promise<TunnelStartResponse> {\n\t// Server uses its own port automatically - no need to pass it\n\tconst response = await fetch(`${API_BASE_URL}/v1/tunnel/start`, {\n\t\tmethod: 'POST',\n\t\theaders: { 'Content-Type': 'application/json' },\n\t\tbody: JSON.stringify({}),\n\t});\n\treturn response.json();\n}\n\nasync function stopTunnel(): Promise<{\n\tok: boolean;\n\tmessage?: string;\n\terror?: string;\n}> {\n\tconst response = await fetch(`${API_BASE_URL}/v1/tunnel/stop`, {\n\t\tmethod: 'POST',\n\t});\n\treturn response.json();\n}\n\nasync function fetchTunnelQr(): Promise<TunnelQrResponse> {\n\tconst response = await fetch(`${API_BASE_URL}/v1/tunnel/qr`);\n\treturn response.json();\n}\n\nexport function useTunnelStatus() {\n\tconst setStatus = useTunnelStore((s) => s.setStatus);\n\tconst setUrl = useTunnelStore((s) => s.setUrl);\n\tconst setError = useTunnelStore((s) => s.setError);\n\n\tconst query = useQuery<TunnelStatusResponse>({\n\t\tqueryKey: ['tunnel', 'status'],\n\t\tqueryFn: fetchTunnelStatus,\n\t\trefetchInterval: 3000,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data) {\n\t\t\tsetStatus(query.data.status);\n\t\t\tsetUrl(query.data.url);\n\t\t\tsetError(query.data.error);\n\t\t}\n\t}, [query.data, setStatus, setUrl, setError]);\n\n\treturn query;\n}\n\nexport function useStartTunnel() {\n\tconst queryClient = useQueryClient();\n\tconst setStatus = useTunnelStore((s) => s.setStatus);\n\tconst setUrl = useTunnelStore((s) => s.setUrl);\n\tconst setError = useTunnelStore((s) => s.setError);\n\tconst setProgress = useTunnelStore((s) => s.setProgress);\n\n\treturn useMutation<TunnelStartResponse, Error, void>({\n\t\tmutationFn: () => startTunnel(),\n\t\tonMutate: () => {\n\t\t\tsetStatus('starting');\n\t\t\tsetProgress('Connecting...');\n\t\t\tsetError(null);\n\t\t},\n\t\tonSuccess: (data) => {\n\t\t\tif (data.ok && data.url) {\n\t\t\t\tsetStatus('connected');\n\t\t\t\tsetUrl(data.url);\n\t\t\t\tsetProgress(null);\n\t\t\t} else if (!data.ok) {\n\t\t\t\tsetStatus('error');\n\t\t\t\tsetError(data.error || 'Failed to start tunnel');\n\t\t\t\tsetProgress(null);\n\t\t\t}\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['tunnel'] });\n\t\t},\n\t\tonError: (error) => {\n\t\t\tsetStatus('error');\n\t\t\tsetError(error.message);\n\t\t\tsetProgress(null);\n\t\t},\n\t});\n}\n\nexport function useStopTunnel() {\n\tconst queryClient = useQueryClient();\n\tconst reset = useTunnelStore((s) => s.reset);\n\n\treturn useMutation({\n\t\tmutationFn: stopTunnel,\n\t\tonSuccess: () => {\n\t\t\treset();\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['tunnel'] });\n\t\t},\n\t});\n}\n\nexport function useTunnelQr() {\n\tconst url = useTunnelStore((s) => s.url);\n\tconst setQrCode = useTunnelStore((s) => s.setQrCode);\n\n\tconst query = useQuery<TunnelQrResponse>({\n\t\tqueryKey: ['tunnel', 'qr', url],\n\t\tqueryFn: fetchTunnelQr,\n\t\tenabled: !!url,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data?.ok && query.data.qrCode) {\n\t\t\tsetQrCode(query.data.qrCode);\n\t\t}\n\t}, [query.data, setQrCode]);\n\n\treturn query;\n}\n\nexport function useTunnelStream() {\n\tconst setStatus = useTunnelStore((s) => s.setStatus);\n\tconst setUrl = useTunnelStore((s) => s.setUrl);\n\tconst setError = useTunnelStore((s) => s.setError);\n\tconst setProgress = useTunnelStore((s) => s.setProgress);\n\tconst isExpanded = useTunnelStore((s) => s.isExpanded);\n\tconst eventSourceRef = useRef<EventSource | null>(null);\n\n\tconst connect = useCallback(() => {\n\t\tif (eventSourceRef.current) {\n\t\t\teventSourceRef.current.close();\n\t\t}\n\n\t\tconst es = new EventSource(`${API_BASE_URL}/v1/tunnel/stream`);\n\t\teventSourceRef.current = es;\n\n\t\tes.onmessage = (event) => {\n\t\t\ttry {\n\t\t\t\tconst data = JSON.parse(event.data);\n\t\t\t\tif (data.type === 'status') {\n\t\t\t\t\tsetStatus(data.status);\n\t\t\t\t\tsetUrl(data.url);\n\t\t\t\t\tsetError(data.error);\n\t\t\t\t\tsetProgress(data.progress);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// ignore parse errors\n\t\t\t}\n\t\t};\n\n\t\tes.onerror = () => {\n\t\t\tes.close();\n\t\t\teventSourceRef.current = null;\n\t\t};\n\n\t\treturn () => {\n\t\t\tes.close();\n\t\t\teventSourceRef.current = null;\n\t\t};\n\t}, [setStatus, setUrl, setError, setProgress]);\n\n\tuseEffect(() => {\n\t\tif (isExpanded) {\n\t\t\tconst cleanup = connect();\n\t\t\treturn cleanup;\n\t\t}\n\t\treturn () => {\n\t\t\tif (eventSourceRef.current) {\n\t\t\t\teventSourceRef.current.close();\n\t\t\t\teventSourceRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [isExpanded, connect]);\n\n\treturn { connect };\n}\n",
|
|
162
162
|
"import { memo } from 'react';\nimport { Globe } from 'lucide-react';\nimport { useTunnelStore } from '../../stores/tunnelStore';\n\nexport const TunnelSidebarToggle = memo(function TunnelSidebarToggle() {\n\tconst isExpanded = useTunnelStore((state) => state.isExpanded);\n\tconst toggleSidebar = useTunnelStore((state) => state.toggleSidebar);\n\tconst status = useTunnelStore((state) => state.status);\n\n\tconst isConnected = status === 'connected';\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={toggleSidebar}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Remote Access\"\n\t\t>\n\t\t\t<Globe className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t{isConnected && (\n\t\t\t\t<span className=\"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full animate-pulse\" />\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
|
|
163
|
-
"import { memo, useState, useCallback, useMemo, useEffect, useRef } from 'react';\nimport {\n\tChevronDown,\n\tChevronRight,\n\tClipboardCopy,\n\tExternalLink,\n\tFolderDot,\n\tGlobe,\n\tLaptop,\n\tLoader2,\n\tLock,\n\tPlug,\n\tPlus,\n\tTrash2,\n\tWrench,\n} from 'lucide-react';\nimport { Button } from '../ui/Button';\nimport { Modal } from '../ui/Modal';\nimport { useMCPStore, type MCPServerInfo } from '../../stores/mcpStore';\nimport { useQueryClient } from '@tanstack/react-query';\nimport {\n\tuseMCPServers,\n\tuseStartMCPServer,\n\tuseStopMCPServer,\n\tuseRemoveMCPServer,\n\tuseAuthenticateMCPServer,\n\tuseMCPAuthStatus,\n\tuseCopilotDevicePoller,\n} from '../../hooks/useMCP';\nimport { openUrl } from '../../lib/open-url';\nimport { AddMCPServerModal } from './AddMCPServerModal';\n\nconst ToggleSwitch = memo(function ToggleSwitch({\n\tchecked,\n\tloading,\n\tonChange,\n\tdisabled,\n}: {\n\tchecked: boolean;\n\tloading: boolean;\n\tonChange: () => void;\n\tdisabled?: boolean;\n}) {\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\trole=\"switch\"\n\t\t\taria-checked={checked}\n\t\t\tdisabled={disabled || loading}\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\tonChange();\n\t\t\t}}\n\t\t\tclassName={`relative inline-flex h-5 w-9 flex-shrink-0 items-center rounded-full transition-colors duration-200 focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed ${\n\t\t\t\tchecked ? 'bg-green-500' : 'bg-muted-foreground/30'\n\t\t\t}`}\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName={`inline-block h-3.5 w-3.5 rounded-full transition-transform duration-200 ${\n\t\t\t\t\tchecked ? 'translate-x-[18px]' : 'translate-x-[3px]'\n\t\t\t\t} ${loading ? 'bg-transparent' : 'bg-white'}`}\n\t\t\t>\n\t\t\t\t{loading && <Loader2 className=\"w-3.5 h-3.5 animate-spin text-white\" />}\n\t\t\t</span>\n\t\t</button>\n\t);\n});\n\nconst CopilotDeviceAuth = memo(function CopilotDeviceAuth({\n\tuserCode,\n\tverificationUri,\n}: {\n\tuserCode: string;\n\tverificationUri: string;\n}) {\n\tconst [copied, setCopied] = useState(false);\n\n\tconst handleCopy = useCallback(() => {\n\t\tnavigator.clipboard.writeText(userCode).then(() => {\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t});\n\t}, [userCode]);\n\n\treturn (\n\t\t<div className=\"px-3 pb-2.5 pt-0\">\n\t\t\t<div className=\"rounded-md bg-yellow-500/10 border border-yellow-500/20 p-2 space-y-1.5\">\n\t\t\t\t<div className=\"flex items-center gap-1.5 text-xs\">\n\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0\" />\n\t\t\t\t\t<span className=\"text-yellow-500/80\">Enter code at GitHub:</span>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<code className=\"text-sm font-mono font-bold text-yellow-400 tracking-wider\">\n\t\t\t\t\t\t{userCode}\n\t\t\t\t\t</code>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\tclassName=\"text-yellow-500/60 hover:text-yellow-400 transition-colors\"\n\t\t\t\t\t\ttitle=\"Copy code\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ClipboardCopy className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t{copied && <span className=\"text-xs text-green-400\">Copied!</span>}\n\t\t\t\t</div>\n\t\t\t\t<a\n\t\t\t\t\thref={verificationUri}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\topenUrl(verificationUri);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"inline-flex items-center gap-1 text-xs text-yellow-400 hover:text-yellow-300 underline underline-offset-2\"\n\t\t\t\t>\n\t\t\t\t\tOpen GitHub login\n\t\t\t\t\t<ExternalLink className=\"w-3 h-3\" />\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nconst MCPServerCard = memo(function MCPServerCard({\n\tserver,\n\tisLoading,\n\tauthUrl,\n\tcopilotDevice,\n\tonStart,\n\tonStop,\n\tonRemove,\n\tonAuth,\n}: {\n\tserver: MCPServerInfo;\n\tisLoading: boolean;\n\tauthUrl?: string;\n\tcopilotDevice?: { userCode: string; verificationUri: string } | null;\n\tonStart: () => void;\n\tonStop: () => void;\n\tonRemove: () => void;\n\tonAuth: () => void;\n}) {\n\tconst [showTools, setShowTools] = useState(false);\n\tconst hasTools = server.connected && server.tools.length > 0;\n\tconst isRemote = server.transport === 'http' || server.transport === 'sse';\n\tconst isAwaitingAuth = (!!authUrl || !!copilotDevice) && !server.connected;\n\n\tconst handleToggle = useCallback(() => {\n\t\tif (server.authRequired && !server.connected) {\n\t\t\tonAuth();\n\t\t} else if (server.connected) {\n\t\t\tonStop();\n\t\t} else {\n\t\t\tonStart();\n\t\t}\n\t}, [server.connected, server.authRequired, onAuth, onStop, onStart]);\n\n\tconst toggleTools = useCallback(() => {\n\t\tif (hasTools) setShowTools((prev) => !prev);\n\t}, [hasTools]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`rounded-lg border transition-colors duration-200 group ${\n\t\t\t\tserver.connected\n\t\t\t\t\t? 'border-green-500/30 bg-green-500/5'\n\t\t\t\t\t: isAwaitingAuth\n\t\t\t\t\t\t? 'border-yellow-500/30 bg-yellow-500/5'\n\t\t\t\t\t\t: 'border-border bg-transparent'\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-3 px-3 py-2.5\">\n\t\t\t\t<ToggleSwitch\n\t\t\t\t\tchecked={server.connected}\n\t\t\t\t\tloading={isLoading || isAwaitingAuth}\n\t\t\t\t\tonChange={handleToggle}\n\t\t\t\t/>\n\n\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t<span className=\"text-sm font-medium truncate\">{server.name}</span>\n\t\t\t\t\t\t{isRemote && (\n\t\t\t\t\t\t\t<Globe className=\"w-3 h-3 text-muted-foreground flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{server.authRequired && !server.connected && (\n\t\t\t\t\t\t\t<Lock className=\"w-3 h-3 text-yellow-500 flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-1.5 mt-0.5\">\n\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground truncate\">\n\t\t\t\t\t\t\t{isRemote\n\t\t\t\t\t\t\t\t? server.url\n\t\t\t\t\t\t\t\t: `${server.command ?? ''} ${server.args.join(' ')}`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"flex items-center flex-shrink-0 opacity-50\"\n\t\t\t\t\t\t\ttitle={server.scope === 'project' ? 'Project-local' : 'Global'}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{server.scope === 'project' ? (\n\t\t\t\t\t\t\t\t<FolderDot className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Laptop className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex items-center gap-0.5 flex-shrink-0\">\n\t\t\t\t\t{hasTools && (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={toggleTools}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-0.5 text-xs text-muted-foreground hover:text-foreground px-1.5 py-1 rounded transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Wrench className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t{server.tools.length}\n\t\t\t\t\t\t\t{showTools ? (\n\t\t\t\t\t\t\t\t<ChevronDown className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ChevronRight className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\ttitle=\"Remove server\"\n\t\t\t\t\t\tclassName=\"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Trash2 className=\"w-3 h-3 text-muted-foreground hover:text-red-400\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{copilotDevice && !server.connected && (\n\t\t\t\t<CopilotDeviceAuth\n\t\t\t\t\tuserCode={copilotDevice.userCode}\n\t\t\t\t\tverificationUri={copilotDevice.verificationUri}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!copilotDevice && isAwaitingAuth && authUrl && (\n\t\t\t\t<div className=\"px-3 pb-2.5 pt-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-1.5 text-xs\">\n\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0\" />\n\t\t\t\t\t\t<span className=\"text-yellow-500/80\">Waiting for auth...</span>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={authUrl}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\topenUrl(authUrl);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"inline-flex items-center gap-0.5 text-yellow-400 hover:text-yellow-300 underline underline-offset-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tOpen login\n\t\t\t\t\t\t\t<ExternalLink className=\"w-3 h-3\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{hasTools && showTools && (\n\t\t\t\t<div className=\"px-3 pb-2.5 pt-0\">\n\t\t\t\t\t<div className=\"flex flex-wrap gap-1\">\n\t\t\t\t\t\t{server.tools.map((tool) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tkey={tool}\n\t\t\t\t\t\t\t\tclassName=\"text-xs bg-muted px-1.5 py-0.5 rounded\"\n\t\t\t\t\t\t\t\ttitle={tool}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{tool.split('__').pop()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n\nfunction useAuthPoller(name: string | null, onAuthenticated: () => void) {\n\tconst { data } = useMCPAuthStatus(name);\n\tconst prevAuth = useRef(false);\n\n\tuseEffect(() => {\n\t\tif (data?.authenticated && !prevAuth.current) {\n\t\t\tonAuthenticated();\n\t\t}\n\t\tprevAuth.current = data?.authenticated ?? false;\n\t}, [data?.authenticated, onAuthenticated]);\n}\n\nexport const MCPSidebar = memo(function MCPSidebar() {\n\tconst isExpanded = useMCPStore((s) => s.isExpanded);\n\tconst collapseSidebar = useMCPStore((s) => s.collapseSidebar);\n\tconst servers = useMCPStore((s) => s.servers);\n\tconst loading = useMCPStore((s) => s.loading);\n\tconst authUrls = useMCPStore((s) => s.authUrls);\n\tconst setAuthUrl = useMCPStore((s) => s.setAuthUrl);\n\tconst setLoading = useMCPStore((s) => s.setLoading);\n\tconst setCopilotDevice = useMCPStore((s) => s.setCopilotDevice);\n\n\tconst { isLoading: isFetching } = useMCPServers();\n\tconst startServer = useStartMCPServer();\n\tconst stopServer = useStopMCPServer();\n\tconst removeServer = useRemoveMCPServer();\n\tconst authServer = useAuthenticateMCPServer();\n\tconst copilotDevice = useCopilotDevicePoller();\n\n\tconst [isAddModalOpen, setIsAddModalOpen] = useState(false);\n\tconst [pollingServer, setPollingServer] = useState<string | null>(null);\n\tconst [deleteTarget, setDeleteTarget] = useState<string | null>(null);\n\n\tconst queryClient = useQueryClient();\n\n\tconst handleAuthCompleted = useCallback(() => {\n\t\tif (pollingServer) {\n\t\t\tsetAuthUrl(pollingServer, null);\n\t\t\tsetPollingServer(null);\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t}\n\t}, [pollingServer, setAuthUrl, queryClient]);\n\n\tuseAuthPoller(pollingServer, handleAuthCompleted);\n\n\tuseEffect(() => {\n\t\tfor (const name of loading) {\n\t\t\tconst server = servers.find((s) => s.name === name);\n\t\t\tif (server?.connected) {\n\t\t\t\tsetLoading(name, false);\n\t\t\t}\n\t\t}\n\t}, [servers, loading, setLoading]);\n\n\tconst handleCopilotDeviceResponse = useCallback(\n\t\t(\n\t\t\tname: string,\n\t\t\tresult: {\n\t\t\t\tsessionId?: string;\n\t\t\t\tuserCode?: string;\n\t\t\t\tverificationUri?: string;\n\t\t\t\tinterval?: number;\n\t\t\t},\n\t\t) => {\n\t\t\tif (result.sessionId && result.userCode && result.verificationUri) {\n\t\t\t\tsetCopilotDevice({\n\t\t\t\t\tsessionId: result.sessionId,\n\t\t\t\t\tuserCode: result.userCode,\n\t\t\t\t\tverificationUri: result.verificationUri,\n\t\t\t\t\tinterval: result.interval ?? 5,\n\t\t\t\t\tserverName: name,\n\t\t\t\t});\n\t\t\t\topenUrl(result.verificationUri);\n\t\t\t}\n\t\t},\n\t\t[setCopilotDevice],\n\t);\n\n\tconst handleAuth = useCallback(\n\t\tasync (name: string) => {\n\t\t\ttry {\n\t\t\t\tsetLoading(name, true);\n\t\t\t\tconst result = await authServer.mutateAsync(name);\n\t\t\t\tif (result.authType === 'copilot-device') {\n\t\t\t\t\tif (result.authenticated) {\n\t\t\t\t\t\tsetLoading(name, false);\n\t\t\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\thandleCopilotDeviceResponse(name, result);\n\t\t\t\t} else if (result.authUrl) {\n\t\t\t\t\tsetAuthUrl(name, result.authUrl);\n\t\t\t\t\tsetPollingServer(name);\n\t\t\t\t\topenUrl(result.authUrl);\n\t\t\t\t} else {\n\t\t\t\t\tsetLoading(name, false);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tsetLoading(name, false);\n\t\t\t\tsetAuthUrl(name, null);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tauthServer,\n\t\t\tsetAuthUrl,\n\t\t\tsetLoading,\n\t\t\thandleCopilotDeviceResponse,\n\t\t\tqueryClient,\n\t\t],\n\t);\n\n\tconst handleStart = useCallback(\n\t\tasync (name: string) => {\n\t\t\ttry {\n\t\t\t\tsetLoading(name, true);\n\t\t\t\tconst result = await startServer.mutateAsync(name);\n\t\t\t\tif (result.authType === 'copilot-device' && !result.connected) {\n\t\t\t\t\thandleCopilotDeviceResponse(name, result);\n\t\t\t\t} else if (result.authRequired && result.authUrl) {\n\t\t\t\t\tsetAuthUrl(name, result.authUrl);\n\t\t\t\t\tsetPollingServer(name);\n\t\t\t\t\topenUrl(result.authUrl);\n\t\t\t\t} else {\n\t\t\t\t\tsetLoading(name, false);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tsetLoading(name, false);\n\t\t\t\tsetAuthUrl(name, null);\n\t\t\t}\n\t\t},\n\t\t[startServer, setAuthUrl, setLoading, handleCopilotDeviceResponse],\n\t);\n\n\tconst sortedServers = useMemo(() => {\n\t\treturn [...servers].sort((a, b) => {\n\t\t\tif (a.connected && !b.connected) return -1;\n\t\t\tif (!a.connected && b.connected) return 1;\n\t\t\treturn a.name.localeCompare(b.name);\n\t\t});\n\t}, [servers]);\n\n\tif (!isExpanded) return null;\n\n\tconst connectedCount = servers.filter((s) => s.connected).length;\n\n\treturn (\n\t\t<div className=\"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full\">\n\t\t\t<div className=\"h-14 flex items-center justify-between px-3 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Plug className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t<span className=\"font-medium text-sm\">MCP Servers</span>\n\t\t\t\t\t{connectedCount > 0 && (\n\t\t\t\t\t\t<span className=\"text-xs bg-green-500/20 text-green-400 px-1.5 py-0.5 rounded-full\">\n\t\t\t\t\t\t\t{connectedCount} active\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={() => setIsAddModalOpen(true)}\n\t\t\t\t\t\ttitle=\"Add MCP server\"\n\t\t\t\t\t\tclassName=\"h-7 w-7\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t{isFetching && servers.length === 0 ? (\n\t\t\t\t\t<div className=\"flex items-center justify-center h-32 text-muted-foreground\">\n\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin mr-2\" />\n\t\t\t\t\t\tLoading...\n\t\t\t\t\t</div>\n\t\t\t\t) : servers.length === 0 ? (\n\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground space-y-3\">\n\t\t\t\t\t\t<p>No MCP servers configured.</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tonClick={() => setIsAddModalOpen(true)}\n\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Plus className=\"w-3 h-3 mr-1\" />\n\t\t\t\t\t\t\tAdd MCP Server\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<p className=\"text-xs\">\n\t\t\t\t\t\t\tOr add servers to{' '}\n\t\t\t\t\t\t\t<code className=\"bg-muted px-1 py-0.5 rounded text-xs\">\n\t\t\t\t\t\t\t\t.otto/config.json\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"p-2 space-y-1.5\">\n\t\t\t\t\t\t{sortedServers.map((server) => (\n\t\t\t\t\t\t\t<MCPServerCard\n\t\t\t\t\t\t\t\tkey={server.name}\n\t\t\t\t\t\t\t\tserver={server}\n\t\t\t\t\t\t\t\tisLoading={loading.has(server.name)}\n\t\t\t\t\t\t\t\tauthUrl={authUrls.get(server.name)}\n\t\t\t\t\t\t\t\tcopilotDevice={\n\t\t\t\t\t\t\t\t\tcopilotDevice?.serverName === server.name\n\t\t\t\t\t\t\t\t\t\t? copilotDevice\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonStart={() => handleStart(server.name)}\n\t\t\t\t\t\t\t\tonStop={() => stopServer.mutate(server.name)}\n\t\t\t\t\t\t\t\tonRemove={() => setDeleteTarget(server.name)}\n\t\t\t\t\t\t\t\tonAuth={() => handleAuth(server.name)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<AddMCPServerModal\n\t\t\t\tisOpen={isAddModalOpen}\n\t\t\t\tonClose={() => setIsAddModalOpen(false)}\n\t\t\t/>\n\n\t\t\t<Modal\n\t\t\t\tisOpen={!!deleteTarget}\n\t\t\t\tonClose={() => setDeleteTarget(null)}\n\t\t\t\ttitle=\"Remove MCP Server\"\n\t\t\t\tmaxWidth=\"sm\"\n\t\t\t\tshowCloseButton={false}\n\t\t\t>\n\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\tAre you sure you want to remove{' '}\n\t\t\t\t\t<span className=\"font-medium text-foreground\">{deleteTarget}</span>?\n\t\t\t\t\tThis will stop the server and remove its configuration.\n\t\t\t\t</p>\n\t\t\t\t<div className=\"flex justify-end gap-2\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tonClick={() => setDeleteTarget(null)}\n\t\t\t\t\t>\n\t\t\t\t\t\tCancel\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tclassName=\"bg-red-500 hover:bg-red-600 text-white\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (deleteTarget) {\n\t\t\t\t\t\t\t\tremoveServer.mutate(deleteTarget);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetDeleteTarget(null);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tRemove\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t</div>\n\t);\n});\n",
|
|
163
|
+
"import { memo, useState, useCallback, useMemo, useEffect, useRef } from 'react';\nimport {\n\tChevronDown,\n\tChevronRight,\n\tClipboardCopy,\n\tExternalLink,\n\tFolderDot,\n\tGlobe,\n\tLaptop,\n\tLoader2,\n\tLock,\n\tPlug,\n\tPlus,\n\tTrash2,\n\tWrench,\n} from 'lucide-react';\nimport { Button } from '../ui/Button';\nimport { Modal } from '../ui/Modal';\nimport { useMCPStore, type MCPServerInfo } from '../../stores/mcpStore';\nimport { useQueryClient } from '@tanstack/react-query';\nimport {\n\tuseMCPServers,\n\tuseStartMCPServer,\n\tuseStopMCPServer,\n\tuseRemoveMCPServer,\n\tuseAuthenticateMCPServer,\n\tuseMCPAuthStatus,\n\tuseCopilotDevicePoller,\n} from '../../hooks/useMCP';\nimport { openUrl } from '../../lib/open-url';\nimport { AddMCPServerModal } from './AddMCPServerModal';\nimport { ToggleSwitch } from '../ui/ToggleSwitch';\n\nconst CopilotDeviceAuth = memo(function CopilotDeviceAuth({\n\tuserCode,\n\tverificationUri,\n}: {\n\tuserCode: string;\n\tverificationUri: string;\n}) {\n\tconst [copied, setCopied] = useState(false);\n\n\tconst handleCopy = useCallback(() => {\n\t\tnavigator.clipboard.writeText(userCode).then(() => {\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t});\n\t}, [userCode]);\n\n\treturn (\n\t\t<div className=\"px-3 pb-2.5 pt-0\">\n\t\t\t<div className=\"rounded-md bg-yellow-500/10 border border-yellow-500/20 p-2 space-y-1.5\">\n\t\t\t\t<div className=\"flex items-center gap-1.5 text-xs\">\n\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0\" />\n\t\t\t\t\t<span className=\"text-yellow-500/80\">Enter code at GitHub:</span>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<code className=\"text-sm font-mono font-bold text-yellow-400 tracking-wider\">\n\t\t\t\t\t\t{userCode}\n\t\t\t\t\t</code>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\tclassName=\"text-yellow-500/60 hover:text-yellow-400 transition-colors\"\n\t\t\t\t\t\ttitle=\"Copy code\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ClipboardCopy className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t{copied && <span className=\"text-xs text-green-400\">Copied!</span>}\n\t\t\t\t</div>\n\t\t\t\t<a\n\t\t\t\t\thref={verificationUri}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\topenUrl(verificationUri);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"inline-flex items-center gap-1 text-xs text-yellow-400 hover:text-yellow-300 underline underline-offset-2\"\n\t\t\t\t>\n\t\t\t\t\tOpen GitHub login\n\t\t\t\t\t<ExternalLink className=\"w-3 h-3\" />\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nconst MCPServerCard = memo(function MCPServerCard({\n\tserver,\n\tisLoading,\n\tauthUrl,\n\tcopilotDevice,\n\tonStart,\n\tonStop,\n\tonRemove,\n\tonAuth,\n}: {\n\tserver: MCPServerInfo;\n\tisLoading: boolean;\n\tauthUrl?: string;\n\tcopilotDevice?: { userCode: string; verificationUri: string } | null;\n\tonStart: () => void;\n\tonStop: () => void;\n\tonRemove: () => void;\n\tonAuth: () => void;\n}) {\n\tconst [showTools, setShowTools] = useState(false);\n\tconst hasTools = server.connected && server.tools.length > 0;\n\tconst isRemote = server.transport === 'http' || server.transport === 'sse';\n\tconst isAwaitingAuth = (!!authUrl || !!copilotDevice) && !server.connected;\n\n\tconst handleToggle = useCallback(() => {\n\t\tif (server.authRequired && !server.connected) {\n\t\t\tonAuth();\n\t\t} else if (server.connected) {\n\t\t\tonStop();\n\t\t} else {\n\t\t\tonStart();\n\t\t}\n\t}, [server.connected, server.authRequired, onAuth, onStop, onStart]);\n\n\tconst toggleTools = useCallback(() => {\n\t\tif (hasTools) setShowTools((prev) => !prev);\n\t}, [hasTools]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`rounded-lg border transition-colors duration-200 group ${\n\t\t\t\tserver.connected\n\t\t\t\t\t? 'border-green-500/30 bg-green-500/5'\n\t\t\t\t\t: isAwaitingAuth\n\t\t\t\t\t\t? 'border-yellow-500/30 bg-yellow-500/5'\n\t\t\t\t\t\t: 'border-border bg-transparent'\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-3 px-3 py-2.5\">\n\t\t\t\t<ToggleSwitch\n\t\t\t\t\tchecked={server.connected}\n\t\t\t\t\tloading={isLoading || isAwaitingAuth}\n\t\t\t\t\tonChange={handleToggle}\n\t\t\t\t/>\n\n\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t<span className=\"text-sm font-medium truncate\">{server.name}</span>\n\t\t\t\t\t\t{isRemote && (\n\t\t\t\t\t\t\t<Globe className=\"w-3 h-3 text-muted-foreground flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{server.authRequired && !server.connected && (\n\t\t\t\t\t\t\t<Lock className=\"w-3 h-3 text-yellow-500 flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-1.5 mt-0.5\">\n\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground truncate\">\n\t\t\t\t\t\t\t{isRemote\n\t\t\t\t\t\t\t\t? server.url\n\t\t\t\t\t\t\t\t: `${server.command ?? ''} ${server.args.join(' ')}`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"flex items-center flex-shrink-0 opacity-50\"\n\t\t\t\t\t\t\ttitle={server.scope === 'project' ? 'Project-local' : 'Global'}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{server.scope === 'project' ? (\n\t\t\t\t\t\t\t\t<FolderDot className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Laptop className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex items-center gap-0.5 flex-shrink-0\">\n\t\t\t\t\t{hasTools && (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={toggleTools}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-0.5 text-xs text-muted-foreground hover:text-foreground px-1.5 py-1 rounded transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Wrench className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t{server.tools.length}\n\t\t\t\t\t\t\t{showTools ? (\n\t\t\t\t\t\t\t\t<ChevronDown className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ChevronRight className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={onRemove}\n\t\t\t\t\t\ttitle=\"Remove server\"\n\t\t\t\t\t\tclassName=\"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Trash2 className=\"w-3 h-3 text-muted-foreground hover:text-red-400\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{copilotDevice && !server.connected && (\n\t\t\t\t<CopilotDeviceAuth\n\t\t\t\t\tuserCode={copilotDevice.userCode}\n\t\t\t\t\tverificationUri={copilotDevice.verificationUri}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!copilotDevice && isAwaitingAuth && authUrl && (\n\t\t\t\t<div className=\"px-3 pb-2.5 pt-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-1.5 text-xs\">\n\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0\" />\n\t\t\t\t\t\t<span className=\"text-yellow-500/80\">Waiting for auth...</span>\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={authUrl}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\topenUrl(authUrl);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"inline-flex items-center gap-0.5 text-yellow-400 hover:text-yellow-300 underline underline-offset-2\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tOpen login\n\t\t\t\t\t\t\t<ExternalLink className=\"w-3 h-3\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{hasTools && showTools && (\n\t\t\t\t<div className=\"px-3 pb-2.5 pt-0\">\n\t\t\t\t\t<div className=\"flex flex-wrap gap-1\">\n\t\t\t\t\t\t{server.tools.map((tool) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tkey={tool}\n\t\t\t\t\t\t\t\tclassName=\"text-xs bg-muted px-1.5 py-0.5 rounded\"\n\t\t\t\t\t\t\t\ttitle={tool}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{tool.split('__').pop()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n\nfunction useAuthPoller(name: string | null, onAuthenticated: () => void) {\n\tconst { data } = useMCPAuthStatus(name);\n\tconst prevAuth = useRef(false);\n\n\tuseEffect(() => {\n\t\tif (data?.authenticated && !prevAuth.current) {\n\t\t\tonAuthenticated();\n\t\t}\n\t\tprevAuth.current = data?.authenticated ?? false;\n\t}, [data?.authenticated, onAuthenticated]);\n}\n\nexport const MCPSidebar = memo(function MCPSidebar() {\n\tconst isExpanded = useMCPStore((s) => s.isExpanded);\n\tconst collapseSidebar = useMCPStore((s) => s.collapseSidebar);\n\tconst servers = useMCPStore((s) => s.servers);\n\tconst loading = useMCPStore((s) => s.loading);\n\tconst authUrls = useMCPStore((s) => s.authUrls);\n\tconst setAuthUrl = useMCPStore((s) => s.setAuthUrl);\n\tconst setLoading = useMCPStore((s) => s.setLoading);\n\tconst setCopilotDevice = useMCPStore((s) => s.setCopilotDevice);\n\n\tconst { isLoading: isFetching } = useMCPServers();\n\tconst startServer = useStartMCPServer();\n\tconst stopServer = useStopMCPServer();\n\tconst removeServer = useRemoveMCPServer();\n\tconst authServer = useAuthenticateMCPServer();\n\tconst copilotDevice = useCopilotDevicePoller();\n\n\tconst [isAddModalOpen, setIsAddModalOpen] = useState(false);\n\tconst [pollingServer, setPollingServer] = useState<string | null>(null);\n\tconst [deleteTarget, setDeleteTarget] = useState<string | null>(null);\n\n\tconst queryClient = useQueryClient();\n\n\tconst handleAuthCompleted = useCallback(() => {\n\t\tif (pollingServer) {\n\t\t\tsetAuthUrl(pollingServer, null);\n\t\t\tsetPollingServer(null);\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t}\n\t}, [pollingServer, setAuthUrl, queryClient]);\n\n\tuseAuthPoller(pollingServer, handleAuthCompleted);\n\n\tuseEffect(() => {\n\t\tfor (const name of loading) {\n\t\t\tconst server = servers.find((s) => s.name === name);\n\t\t\tif (server?.connected) {\n\t\t\t\tsetLoading(name, false);\n\t\t\t}\n\t\t}\n\t}, [servers, loading, setLoading]);\n\n\tconst handleCopilotDeviceResponse = useCallback(\n\t\t(\n\t\t\tname: string,\n\t\t\tresult: {\n\t\t\t\tsessionId?: string;\n\t\t\t\tuserCode?: string;\n\t\t\t\tverificationUri?: string;\n\t\t\t\tinterval?: number;\n\t\t\t},\n\t\t) => {\n\t\t\tif (result.sessionId && result.userCode && result.verificationUri) {\n\t\t\t\tsetCopilotDevice({\n\t\t\t\t\tsessionId: result.sessionId,\n\t\t\t\t\tuserCode: result.userCode,\n\t\t\t\t\tverificationUri: result.verificationUri,\n\t\t\t\t\tinterval: result.interval ?? 5,\n\t\t\t\t\tserverName: name,\n\t\t\t\t});\n\t\t\t\topenUrl(result.verificationUri);\n\t\t\t}\n\t\t},\n\t\t[setCopilotDevice],\n\t);\n\n\tconst handleAuth = useCallback(\n\t\tasync (name: string) => {\n\t\t\ttry {\n\t\t\t\tsetLoading(name, true);\n\t\t\t\tconst result = await authServer.mutateAsync(name);\n\t\t\t\tif (result.authType === 'copilot-device') {\n\t\t\t\t\tif (result.authenticated) {\n\t\t\t\t\t\tsetLoading(name, false);\n\t\t\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\thandleCopilotDeviceResponse(name, result);\n\t\t\t\t} else if (result.authUrl) {\n\t\t\t\t\tsetAuthUrl(name, result.authUrl);\n\t\t\t\t\tsetPollingServer(name);\n\t\t\t\t\topenUrl(result.authUrl);\n\t\t\t\t} else {\n\t\t\t\t\tsetLoading(name, false);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tsetLoading(name, false);\n\t\t\t\tsetAuthUrl(name, null);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tauthServer,\n\t\t\tsetAuthUrl,\n\t\t\tsetLoading,\n\t\t\thandleCopilotDeviceResponse,\n\t\t\tqueryClient,\n\t\t],\n\t);\n\n\tconst handleStart = useCallback(\n\t\tasync (name: string) => {\n\t\t\ttry {\n\t\t\t\tsetLoading(name, true);\n\t\t\t\tconst result = await startServer.mutateAsync(name);\n\t\t\t\tif (result.authType === 'copilot-device' && !result.connected) {\n\t\t\t\t\thandleCopilotDeviceResponse(name, result);\n\t\t\t\t} else if (result.authRequired && result.authUrl) {\n\t\t\t\t\tsetAuthUrl(name, result.authUrl);\n\t\t\t\t\tsetPollingServer(name);\n\t\t\t\t\topenUrl(result.authUrl);\n\t\t\t\t} else {\n\t\t\t\t\tsetLoading(name, false);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tsetLoading(name, false);\n\t\t\t\tsetAuthUrl(name, null);\n\t\t\t}\n\t\t},\n\t\t[startServer, setAuthUrl, setLoading, handleCopilotDeviceResponse],\n\t);\n\n\tconst sortedServers = useMemo(() => {\n\t\treturn [...servers].sort((a, b) => {\n\t\t\tif (a.connected && !b.connected) return -1;\n\t\t\tif (!a.connected && b.connected) return 1;\n\t\t\treturn a.name.localeCompare(b.name);\n\t\t});\n\t}, [servers]);\n\n\tif (!isExpanded) return null;\n\n\tconst connectedCount = servers.filter((s) => s.connected).length;\n\n\treturn (\n\t\t<div className=\"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full\">\n\t\t\t<div className=\"h-14 flex items-center justify-between px-3 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Plug className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t<span className=\"font-medium text-sm\">MCP Servers</span>\n\t\t\t\t\t{connectedCount > 0 && (\n\t\t\t\t\t\t<span className=\"text-xs bg-green-500/20 text-green-400 px-1.5 py-0.5 rounded-full\">\n\t\t\t\t\t\t\t{connectedCount} active\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={() => setIsAddModalOpen(true)}\n\t\t\t\t\t\ttitle=\"Add MCP server\"\n\t\t\t\t\t\tclassName=\"h-7 w-7\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t{isFetching && servers.length === 0 ? (\n\t\t\t\t\t<div className=\"flex items-center justify-center h-32 text-muted-foreground\">\n\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin mr-2\" />\n\t\t\t\t\t\tLoading...\n\t\t\t\t\t</div>\n\t\t\t\t) : servers.length === 0 ? (\n\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground space-y-3\">\n\t\t\t\t\t\t<p>No MCP servers configured.</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tonClick={() => setIsAddModalOpen(true)}\n\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Plus className=\"w-3 h-3 mr-1\" />\n\t\t\t\t\t\t\tAdd MCP Server\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<p className=\"text-xs\">\n\t\t\t\t\t\t\tOr add servers to{' '}\n\t\t\t\t\t\t\t<code className=\"bg-muted px-1 py-0.5 rounded text-xs\">\n\t\t\t\t\t\t\t\t.otto/config.json\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"p-2 space-y-1.5\">\n\t\t\t\t\t\t{sortedServers.map((server) => (\n\t\t\t\t\t\t\t<MCPServerCard\n\t\t\t\t\t\t\t\tkey={server.name}\n\t\t\t\t\t\t\t\tserver={server}\n\t\t\t\t\t\t\t\tisLoading={loading.has(server.name)}\n\t\t\t\t\t\t\t\tauthUrl={authUrls.get(server.name)}\n\t\t\t\t\t\t\t\tcopilotDevice={\n\t\t\t\t\t\t\t\t\tcopilotDevice?.serverName === server.name\n\t\t\t\t\t\t\t\t\t\t? copilotDevice\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonStart={() => handleStart(server.name)}\n\t\t\t\t\t\t\t\tonStop={() => stopServer.mutate(server.name)}\n\t\t\t\t\t\t\t\tonRemove={() => setDeleteTarget(server.name)}\n\t\t\t\t\t\t\t\tonAuth={() => handleAuth(server.name)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<AddMCPServerModal\n\t\t\t\tisOpen={isAddModalOpen}\n\t\t\t\tonClose={() => setIsAddModalOpen(false)}\n\t\t\t/>\n\n\t\t\t<Modal\n\t\t\t\tisOpen={!!deleteTarget}\n\t\t\t\tonClose={() => setDeleteTarget(null)}\n\t\t\t\ttitle=\"Remove MCP Server\"\n\t\t\t\tmaxWidth=\"sm\"\n\t\t\t\tshowCloseButton={false}\n\t\t\t>\n\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\tAre you sure you want to remove{' '}\n\t\t\t\t\t<span className=\"font-medium text-foreground\">{deleteTarget}</span>?\n\t\t\t\t\tThis will stop the server and remove its configuration.\n\t\t\t\t</p>\n\t\t\t\t<div className=\"flex justify-end gap-2\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tonClick={() => setDeleteTarget(null)}\n\t\t\t\t\t>\n\t\t\t\t\t\tCancel\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tclassName=\"bg-red-500 hover:bg-red-600 text-white\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (deleteTarget) {\n\t\t\t\t\t\t\t\tremoveServer.mutate(deleteTarget);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetDeleteTarget(null);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tRemove\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t</div>\n\t);\n});\n",
|
|
164
164
|
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useMCPStore, type MCPServerInfo } from '../stores/mcpStore';\nimport { useEffect, useRef, useCallback } from 'react';\nimport {\n\tlistMcpServers,\n\tstartMcpServer,\n\tstopMcpServer,\n\taddMcpServer,\n\tremoveMcpServer,\n\tinitiateMcpAuth,\n\trevokeMcpAuth,\n\tgetMcpAuthStatus,\n\tcompleteMcpAuth,\n} from '@ottocode/api';\n\ninterface MCPServersResponse {\n\tservers: MCPServerInfo[];\n}\n\nexport function useMCPServers() {\n\tconst setServers = useMCPStore((s) => s.setServers);\n\n\tconst query = useQuery({\n\t\tqueryKey: ['mcp', 'servers'],\n\t\tqueryFn: async () => {\n\t\t\tconst { data } = await listMcpServers();\n\t\t\treturn data as MCPServersResponse;\n\t\t},\n\t\trefetchInterval: 10000,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data?.servers) {\n\t\t\tsetServers(query.data.servers);\n\t\t}\n\t}, [query.data, setServers]);\n\n\treturn query;\n}\n\nexport function useStartMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await startMcpServer({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to start server');\n\t\t\tconst result = data as {\n\t\t\t\tok: boolean;\n\t\t\t\terror?: string;\n\t\t\t\tconnected?: boolean;\n\t\t\t\tauthRequired?: boolean;\n\t\t\t\tauthUrl?: string;\n\t\t\t\tauthType?: string;\n\t\t\t\tauthenticated?: boolean;\n\t\t\t\tsessionId?: string;\n\t\t\t\tuserCode?: string;\n\t\t\t\tverificationUri?: string;\n\t\t\t\tinterval?: number;\n\t\t\t};\n\t\t\tif (!result.ok) throw new Error(result.error || 'Failed to start server');\n\t\t\treturn result;\n\t\t},\n\t\tonSettled: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useStopMCPServer() {\n\tconst queryClient = useQueryClient();\n\tconst setLoading = useMCPStore((s) => s.setLoading);\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tsetLoading(name, true);\n\t\t\tconst { data, error } = await stopMcpServer({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to stop server');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok) throw new Error(result.error || 'Failed to stop server');\n\t\t\treturn result;\n\t\t},\n\t\tonSettled: (_data, _error, name) => {\n\t\t\tsetLoading(name, false);\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport interface AddMCPServerParams {\n\tname: string;\n\ttransport?: 'stdio' | 'http' | 'sse';\n\tcommand?: string;\n\targs?: string[];\n\tenv?: Record<string, string>;\n\turl?: string;\n\theaders?: Record<string, string>;\n\toauth?: Record<string, unknown>;\n\tscope?: 'global' | 'project';\n}\n\nexport function useAddMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (params: AddMCPServerParams) => {\n\t\t\tconst { data, error } = await addMcpServer({\n\t\t\t\tbody: params,\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to add MCP server');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok)\n\t\t\t\tthrow new Error(result.error || 'Failed to add MCP server');\n\t\t\treturn result;\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useRemoveMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await removeMcpServer({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to remove MCP server');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok)\n\t\t\t\tthrow new Error(result.error || 'Failed to remove MCP server');\n\t\t\treturn result;\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useAuthenticateMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await initiateMcpAuth({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to initiate auth');\n\t\t\tconst result = data as {\n\t\t\t\tok: boolean;\n\t\t\t\tauthUrl?: string;\n\t\t\t\tauthType?: string;\n\t\t\t\tsessionId?: string;\n\t\t\t\tuserCode?: string;\n\t\t\t\tverificationUri?: string;\n\t\t\t\tinterval?: number;\n\t\t\t\tauthenticated?: boolean;\n\t\t\t\tname: string;\n\t\t\t\terror?: string;\n\t\t\t};\n\t\t\tif (!result.ok)\n\t\t\t\tthrow new Error(result.error || 'Failed to initiate auth');\n\t\t\treturn result;\n\t\t},\n\t\tonSettled: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useRevokeMCPAuth() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await revokeMcpAuth({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to revoke auth');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok) throw new Error(result.error || 'Failed to revoke auth');\n\t\t\treturn result;\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useMCPAuthStatus(name: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['mcp', 'auth', name],\n\t\tqueryFn: async () => {\n\t\t\tif (!name) return { authenticated: false };\n\t\t\tconst { data } = await getMcpAuthStatus({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\treturn data as {\n\t\t\t\tauthenticated: boolean;\n\t\t\t\texpiresAt?: number;\n\t\t\t};\n\t\t},\n\t\tenabled: !!name,\n\t\trefetchInterval: 3000,\n\t});\n}\n\nexport function useCopilotDevicePoller() {\n\tconst copilotDevice = useMCPStore((s) => s.copilotDevice);\n\tconst setCopilotDevice = useMCPStore((s) => s.setCopilotDevice);\n\tconst setLoading = useMCPStore((s) => s.setLoading);\n\tconst queryClient = useQueryClient();\n\tconst timerRef = useRef<ReturnType<typeof setInterval> | null>(null);\n\n\tconst stopPolling = useCallback(() => {\n\t\tif (timerRef.current) {\n\t\t\tclearInterval(timerRef.current);\n\t\t\ttimerRef.current = null;\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!copilotDevice) {\n\t\t\tstopPolling();\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sessionId, serverName, interval } = copilotDevice;\n\t\tconst pollMs = (interval || 5) * 1000 + 1000;\n\n\t\ttimerRef.current = setInterval(async () => {\n\t\t\ttry {\n\t\t\t\tconst { data } = await completeMcpAuth({\n\t\t\t\t\tpath: { name: serverName },\n\t\t\t\t\tbody: { sessionId },\n\t\t\t\t});\n\n\t\t\t\tconst result = data as {\n\t\t\t\t\tok: boolean;\n\t\t\t\t\tstatus: string;\n\t\t\t\t\terror?: string;\n\t\t\t\t};\n\n\t\t\t\tif (result?.status === 'complete') {\n\t\t\t\t\tstopPolling();\n\t\t\t\t\tsetCopilotDevice(null);\n\t\t\t\t\tsetLoading(serverName, false);\n\t\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t\t\t} else if (result?.status === 'error') {\n\t\t\t\t\tstopPolling();\n\t\t\t\t\tsetCopilotDevice(null);\n\t\t\t\t\tsetLoading(serverName, false);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tstopPolling();\n\t\t\t\tsetCopilotDevice(null);\n\t\t\t\tsetLoading(serverName, false);\n\t\t\t}\n\t\t}, pollMs);\n\n\t\treturn stopPolling;\n\t}, [copilotDevice, setCopilotDevice, setLoading, queryClient, stopPolling]);\n\n\treturn copilotDevice;\n}\n",
|
|
165
165
|
"import { memo, useState, useCallback, useRef, useEffect } from 'react';\nimport { Globe, Laptop, Loader2, FolderDot, Terminal } from 'lucide-react';\nimport { Modal } from '../ui/Modal';\nimport { Button } from '../ui/Button';\nimport { Input } from '../ui/Input';\nimport { useAddMCPServer } from '../../hooks/useMCP';\nimport type { MCPScope } from '../../stores/mcpStore';\n\ninterface AddMCPServerModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n}\n\ntype ServerMode = 'local' | 'remote';\n\nfunction parseCommandString(input: string): {\n\tcommand: string;\n\targs: string[];\n} {\n\tconst parts = input.trim().split(/\\s+/);\n\treturn { command: parts[0] ?? '', args: parts.slice(1) };\n}\n\nfunction parseEnv(envStr: string): Record<string, string> | undefined {\n\tconst trimmed = envStr.trim();\n\tif (!trimmed) return undefined;\n\tconst env: Record<string, string> = {};\n\tfor (const line of trimmed.split('\\n')) {\n\t\tconst eq = line.indexOf('=');\n\t\tif (eq > 0) {\n\t\t\tenv[line.slice(0, eq).trim()] = line.slice(eq + 1).trim();\n\t\t}\n\t}\n\treturn Object.keys(env).length > 0 ? env : undefined;\n}\n\nfunction parseHeaders(headerStr: string): Record<string, string> | undefined {\n\tconst trimmed = headerStr.trim();\n\tif (!trimmed) return undefined;\n\tconst headers: Record<string, string> = {};\n\tfor (const line of trimmed.split('\\n')) {\n\t\tconst colon = line.indexOf(':');\n\t\tif (colon > 0) {\n\t\t\theaders[line.slice(0, colon).trim()] = line.slice(colon + 1).trim();\n\t\t}\n\t}\n\treturn Object.keys(headers).length > 0 ? headers : undefined;\n}\n\nexport const AddMCPServerModal = memo(function AddMCPServerModal({\n\tisOpen,\n\tonClose,\n}: AddMCPServerModalProps) {\n\tconst [serverMode, setServerMode] = useState<ServerMode>('local');\n\tconst [name, setName] = useState('');\n\tconst [commandStr, setCommandStr] = useState('');\n\tconst [url, setUrl] = useState('');\n\tconst [transport, setTransport] = useState<'http' | 'sse'>('http');\n\tconst [headersStr, setHeadersStr] = useState('');\n\tconst [envStr, setEnvStr] = useState('');\n\tconst [scope, setScope] = useState<MCPScope>('global');\n\tconst [error, setError] = useState<string | null>(null);\n\n\tconst addServer = useAddMCPServer();\n\n\tconst reset = useCallback(() => {\n\t\tsetName('');\n\t\tsetCommandStr('');\n\t\tsetUrl('');\n\t\tsetTransport('http');\n\t\tsetHeadersStr('');\n\t\tsetEnvStr('');\n\t\tsetScope('global');\n\t\tsetError(null);\n\t\tsetServerMode('local');\n\t}, []);\n\n\tconst handleClose = useCallback(() => {\n\t\treset();\n\t\tonClose();\n\t}, [reset, onClose]);\n\n\tconst handleSubmit = useCallback(async () => {\n\t\tsetError(null);\n\t\tconst trimmedName = name.trim();\n\n\t\tif (!trimmedName) {\n\t\t\tsetError('Server name is required');\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tif (serverMode === 'local') {\n\t\t\t\tconst trimmedCmd = commandStr.trim();\n\t\t\t\tif (!trimmedCmd) {\n\t\t\t\t\tsetError('Command is required');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (/^https?:\\/\\//i.test(trimmedCmd)) {\n\t\t\t\t\tsetError(\n\t\t\t\t\t\t'Local commands cannot be URLs. Switch to Remote (HTTP) for remote servers.',\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { command, args } = parseCommandString(trimmedCmd);\n\t\t\t\tawait addServer.mutateAsync({\n\t\t\t\t\tname: trimmedName,\n\t\t\t\t\ttransport: 'stdio',\n\t\t\t\t\tcommand,\n\t\t\t\t\targs,\n\t\t\t\t\tenv: parseEnv(envStr),\n\t\t\t\t\tscope,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst trimmedUrl = url.trim();\n\t\t\t\tif (!trimmedUrl) {\n\t\t\t\t\tsetError('URL is required');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tawait addServer.mutateAsync({\n\t\t\t\t\tname: trimmedName,\n\t\t\t\t\ttransport,\n\t\t\t\t\turl: trimmedUrl,\n\t\t\t\t\theaders: parseHeaders(headersStr),\n\t\t\t\t\tscope,\n\t\t\t\t});\n\t\t\t}\n\t\t\thandleClose();\n\t\t} catch (err) {\n\t\t\tsetError(err instanceof Error ? err.message : 'Failed to add server');\n\t\t}\n\t}, [\n\t\tname,\n\t\tserverMode,\n\t\tcommandStr,\n\t\tenvStr,\n\t\turl,\n\t\ttransport,\n\t\theadersStr,\n\t\tscope,\n\t\taddServer,\n\t\thandleClose,\n\t]);\n\n\tconst contentRef = useRef<HTMLDivElement>(null);\n\tconst [contentHeight, setContentHeight] = useState<number | undefined>(\n\t\tundefined,\n\t);\n\n\tuseEffect(() => {\n\t\tconst el = contentRef.current;\n\t\tif (!el) return;\n\t\tconst observer = new ResizeObserver(() => {\n\t\t\tsetContentHeight(el.scrollHeight);\n\t\t});\n\t\tobserver.observe(el);\n\t\treturn () => observer.disconnect();\n\t}, []);\n\n\treturn (\n\t\t<Modal isOpen={isOpen} onClose={handleClose} title=\"Add MCP Server\">\n\t\t\t<div\n\t\t\t\tclassName=\"overflow-hidden transition-[height] duration-200 ease-in-out\"\n\t\t\t\tstyle={{ height: contentHeight !== undefined ? contentHeight : 'auto' }}\n\t\t\t>\n\t\t\t\t<div ref={contentRef} className=\"space-y-4\">\n\t\t\t\t\t<div className=\"relative flex w-full rounded-lg bg-muted p-1\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"absolute top-1 bottom-1 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tleft: serverMode === 'local' ? '4px' : '50%',\n\t\t\t\t\t\t\t\tright: serverMode === 'remote' ? '4px' : '50%',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => setServerMode('local')}\n\t\t\t\t\t\t\tclassName={`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${\n\t\t\t\t\t\t\t\tserverMode === 'local'\n\t\t\t\t\t\t\t\t\t? 'text-foreground'\n\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/50'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Terminal className=\"w-4 h-4\" />\n\t\t\t\t\t\t\tLocal (stdio)\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => setServerMode('remote')}\n\t\t\t\t\t\t\tclassName={`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${\n\t\t\t\t\t\t\t\tserverMode === 'remote'\n\t\t\t\t\t\t\t\t\t? 'text-foreground'\n\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/50'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Globe className=\"w-4 h-4\" />\n\t\t\t\t\t\t\tRemote (HTTP)\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"text-sm font-medium mb-1\">Name</div>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tvalue={name}\n\t\t\t\t\t\t\tonChange={(e) => setName(e.target.value)}\n\t\t\t\t\t\t\tplaceholder=\"e.g. github, linear, helius\"\n\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{serverMode === 'local' ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium mb-1\">Command</div>\n\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\tvalue={commandStr}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setCommandStr(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder=\"e.g. npx -y @modelcontextprotocol/server-github\"\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mt-1\">\n\t\t\t\t\t\t\t\t\tLike{' '}\n\t\t\t\t\t\t\t\t\t<code className=\"bg-muted px-1 rounded\">\n\t\t\t\t\t\t\t\t\t\tnpx -y helius-mcp@latest\n\t\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium mb-1\">\n\t\t\t\t\t\t\t\t\tEnvironment Variables\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\tvalue={envStr}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setEnvStr(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder={'GITHUB_TOKEN=ghp_xxx\\nAPI_KEY=sk-xxx'}\n\t\t\t\t\t\t\t\t\trows={2}\n\t\t\t\t\t\t\t\t\tclassName=\"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\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mt-1\">\n\t\t\t\t\t\t\t\t\tOne per line: KEY=VALUE\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium mb-1\">URL</div>\n\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\tvalue={url}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setUrl(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder=\"e.g. https://mcp.linear.app/mcp\"\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleSubmit();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium mb-1\">Transport</div>\n\t\t\t\t\t\t\t\t<div className=\"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tleft: transport === 'http' ? '2px' : '50%',\n\t\t\t\t\t\t\t\t\t\t\tright: transport === 'sse' ? '2px' : '50%',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => setTransport('http')}\n\t\t\t\t\t\t\t\t\t\tclassName={`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 ${\n\t\t\t\t\t\t\t\t\t\t\ttransport === 'http'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/50'\n\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tHTTP (recommended)\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => setTransport('sse')}\n\t\t\t\t\t\t\t\t\t\tclassName={`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 ${\n\t\t\t\t\t\t\t\t\t\t\ttransport === 'sse'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/50'\n\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tSSE (legacy)\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium mb-1\">Headers</div>\n\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\tvalue={headersStr}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setHeadersStr(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder={'Authorization: Bearer xxx'}\n\t\t\t\t\t\t\t\t\trows={2}\n\t\t\t\t\t\t\t\t\tclassName=\"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\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mt-1\">\n\t\t\t\t\t\t\t\t\tOne per line: Header-Name: value\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\tFor OAuth servers (Linear, Notion, etc.), leave headers empty\n\t\t\t\t\t\t\t\tand authenticate after adding.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"text-sm font-medium mb-1\">Scope</div>\n\t\t\t\t\t\t<div className=\"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tleft: scope === 'global' ? '2px' : '50%',\n\t\t\t\t\t\t\t\t\tright: scope === 'project' ? '2px' : '50%',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => setScope('global')}\n\t\t\t\t\t\t\t\tclassName={`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 ${\n\t\t\t\t\t\t\t\t\tscope === 'global'\n\t\t\t\t\t\t\t\t\t\t? 'text-foreground'\n\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/50'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Laptop className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\tAll projects\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={() => setScope('project')}\n\t\t\t\t\t\t\t\tclassName={`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 ${\n\t\t\t\t\t\t\t\t\tscope === 'project'\n\t\t\t\t\t\t\t\t\t\t? 'text-foreground'\n\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/50'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<FolderDot className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\tThis project only\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mt-1\">\n\t\t\t\t\t\t\t{scope === 'global'\n\t\t\t\t\t\t\t\t? 'Saved to ~/.config/otto/config.json'\n\t\t\t\t\t\t\t\t: 'Saved to .otto/config.json (project-local)'}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{error && (\n\t\t\t\t\t\t<div className=\"text-sm text-red-400 bg-red-500/10 px-3 py-2 rounded\">\n\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className=\"flex justify-end gap-2 pt-2\">\n\t\t\t\t\t\t<Button variant=\"ghost\" onClick={handleClose}>\n\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={handleSubmit}\n\t\t\t\t\t\t\tdisabled={addServer.isPending}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{addServer.isPending ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin mr-1\" />\n\t\t\t\t\t\t\t\t\tAdding...\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t'Add Server'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n});\n",
|
|
166
|
+
"import { memo } from 'react';\nimport { Loader2 } from 'lucide-react';\n\nexport const ToggleSwitch = memo(function ToggleSwitch({\n\tchecked,\n\tloading,\n\tonChange,\n\tdisabled,\n}: {\n\tchecked: boolean;\n\tloading?: boolean;\n\tonChange: () => void;\n\tdisabled?: boolean;\n}) {\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\trole=\"switch\"\n\t\t\taria-checked={checked}\n\t\t\tdisabled={disabled || loading}\n\t\t\tonClick={(event) => {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tonChange();\n\t\t\t}}\n\t\t\tclassName={`relative inline-flex h-5 w-9 flex-shrink-0 items-center rounded-full transition-colors duration-200 focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed ${\n\t\t\t\tchecked ? 'bg-green-500' : 'bg-muted-foreground/30'\n\t\t\t}`}\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName={`inline-block h-3.5 w-3.5 rounded-full transition-transform duration-200 ${\n\t\t\t\t\tchecked ? 'translate-x-[18px]' : 'translate-x-[3px]'\n\t\t\t\t} ${loading ? 'bg-transparent' : 'bg-white'}`}\n\t\t\t>\n\t\t\t\t{loading ? (\n\t\t\t\t\t<Loader2 className=\"w-3.5 h-3.5 animate-spin text-white\" />\n\t\t\t\t) : null}\n\t\t\t</span>\n\t\t</button>\n\t);\n});\n",
|
|
166
167
|
"import { memo } from 'react';\nimport { Plug } from 'lucide-react';\nimport { useMCPStore } from '../../stores/mcpStore';\n\nexport const MCPSidebarToggle = memo(function MCPSidebarToggle() {\n\tconst isExpanded = useMCPStore((state) => state.isExpanded);\n\tconst toggleSidebar = useMCPStore((state) => state.toggleSidebar);\n\tconst servers = useMCPStore((state) => state.servers);\n\n\tconst connectedCount = servers.filter((s) => s.connected).length;\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={toggleSidebar}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"MCP Servers\"\n\t\t>\n\t\t\t<Plug className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t{connectedCount > 0 && (\n\t\t\t\t<span className=\"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full\" />\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
|
|
167
|
-
"import { memo, useMemo } from 'react';\nimport {\n\tChevronRight,\n\tSparkles,\n\tLoader2,\n\tFolderDot,\n\tLaptop,\n\tGlobe,\n\tFileText,\n\tFileCode,\n\tRefreshCw,\n} from 'lucide-react';\nimport { Button } from '../ui/Button';\nimport { useSkillsStore } from '../../stores/skillsStore';\nimport {\n\tuseSkills,\n\tuseSkillDetail,\n\tuseSkillFiles,\n} from '../../hooks/useSkills';\n\nconst SCOPE_ICONS: Record<string, typeof FolderDot> = {\n\tcwd: FolderDot,\n\tparent: FolderDot,\n\trepo: FolderDot,\n\tuser: Laptop,\n\tsystem: Globe,\n};\n\nconst SCOPE_LABELS: Record<string, string> = {\n\tcwd: 'Project',\n\tparent: 'Parent',\n\trepo: 'Repository',\n\tuser: 'User',\n\tsystem: 'System',\n};\n\nfunction formatSize(bytes: number): string {\n\tif (bytes < 1024) return `${bytes} B`;\n\tif (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n\treturn `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n\nexport const SkillsSidebar = memo(function SkillsSidebar() {\n\tconst isExpanded = useSkillsStore((s) => s.isExpanded);\n\tconst collapseSidebar = useSkillsStore((s) => s.collapseSidebar);\n\tconst skills = useSkillsStore((s) => s.skills);\n\tconst selectedSkill = useSkillsStore((s) => s.selectedSkill);\n\tconst selectSkill = useSkillsStore((s) => s.selectSkill);\n\tconst openViewer = useSkillsStore((s) => s.openViewer);\n\tconst viewingFile = useSkillsStore((s) => s.viewingFile);\n\n\tconst { isLoading, isFetching, refetch } = useSkills();\n\tconst { data: skillDetail } = useSkillDetail(selectedSkill);\n\tconst { data: skillFilesData } = useSkillFiles(selectedSkill);\n\tconst skillFiles = skillFilesData?.files ?? [];\n\n\tconst groupedSkills = useMemo(() => {\n\t\tconst groups = new Map<string, typeof skills>();\n\t\tfor (const skill of skills) {\n\t\t\tconst list = groups.get(skill.scope) ?? [];\n\t\t\tlist.push(skill);\n\t\t\tgroups.set(skill.scope, list);\n\t\t}\n\t\treturn groups;\n\t}, [skills]);\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div className=\"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full\">\n\t\t\t<div className=\"h-14 flex items-center justify-between px-3 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Sparkles className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t<span className=\"font-medium text-sm\">Skills</span>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t>\n\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t</div>\n\n\t\t\t{selectedSkill && skillDetail ? (\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t<div className=\"p-3 border-b border-border\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => selectSkill(null)}\n\t\t\t\t\t\t\tclassName=\"text-xs text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t← Back to list\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"px-3 py-3 border-b border-border\">\n\t\t\t\t\t\t<h3 className=\"font-medium text-sm mb-1\">{skillDetail.name}</h3>\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-2\">\n\t\t\t\t\t\t\t{skillDetail.description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground\">\n\t\t\t\t\t\t\t\t{SCOPE_LABELS[skillDetail.scope] ?? skillDetail.scope}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{skillDetail.license && (\n\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t{skillDetail.license}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium\">\n\t\t\t\t\t\t\tFiles\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => openViewer(null)}\n\t\t\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${\n\t\t\t\t\t\t\t\tviewingFile === null ? 'bg-accent' : ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<FileText className=\"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t<span className=\"text-sm font-mono truncate flex-1\">\n\t\t\t\t\t\t\t\t\tSKILL.md\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t{skillFiles.map((file) => (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tkey={file.relativePath}\n\t\t\t\t\t\t\t\tonClick={() => openViewer(file.relativePath)}\n\t\t\t\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${\n\t\t\t\t\t\t\t\t\tviewingFile === file.relativePath ? 'bg-accent' : ''\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<FileCode className=\"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-mono truncate flex-1\">\n\t\t\t\t\t\t\t\t\t\t{file.relativePath}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t{formatSize(file.size)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div className=\"flex items-center justify-center py-8\">\n\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin text-muted-foreground\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : skills.length === 0 ? (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center p-4\">\n\t\t\t\t\t\t\t<Sparkles className=\"w-12 h-12 text-muted-foreground/30 mb-4\" />\n\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">No skills found</h3>\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground max-w-[220px]\">\n\t\t\t\t\t\t\t\tCreate skills in{' '}\n\t\t\t\t\t\t\t\t<code className=\"text-[10px] bg-muted px-1 rounded\">\n\t\t\t\t\t\t\t\t\t.otto/skills/ or .agents/skills/\n\t\t\t\t\t\t\t\t</code>{' '}\n\t\t\t\t\t\t\t\tor{' '}\n\t\t\t\t\t\t\t\t<code className=\"text-[10px] bg-muted px-1 rounded\">\n\t\t\t\t\t\t\t\t\t~/.config/otto/skills/ or ~/.agents/skills/\n\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t\t\t{['cwd', 'parent', 'repo', 'user', 'system'].map((scope) => {\n\t\t\t\t\t\t\t\tconst scopeSkills = groupedSkills.get(scope);\n\t\t\t\t\t\t\t\tif (!scopeSkills?.length) return null;\n\t\t\t\t\t\t\t\tconst ScopeIcon = SCOPE_ICONS[scope] ?? Globe;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div key={scope}>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t<ScopeIcon className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t\t{SCOPE_LABELS[scope] ?? scope}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{scopeSkills.map((skill) => (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tkey={`${skill.scope}-${skill.name}`}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => selectSkill(skill.name)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedSkill === skill.name ? 'bg-accent' : ''\n\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FileText className=\"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{skill.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{skill.description}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div className=\"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2\">\n\t\t\t\t<div className=\"flex items-center gap-2 min-w-0 flex-1\">\n\t\t\t\t\t<Sparkles className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t{skills.length} {skills.length === 1 ? 'skill' : 'skills'}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={() => refetch()}\n\t\t\t\t\ttitle=\"Refresh skills\"\n\t\t\t\t\tclassName=\"h-6 w-6 flex-shrink-0\"\n\t\t\t\t\tdisabled={isFetching}\n\t\t\t\t>\n\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\tclassName={`w-3 h-3 ${isFetching ? 'animate-spin' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
|
|
168
|
-
"import { useQuery } from '@tanstack/react-query';\nimport { useSkillsStore } from '../stores/skillsStore';\nimport { useEffect } from 'react';\nimport { apiClient } from '../lib/api-client';\n\nexport function useSkills() {\n\tconst
|
|
168
|
+
"import { memo, useMemo } from 'react';\nimport {\n\tChevronRight,\n\tSparkles,\n\tLoader2,\n\tFolderDot,\n\tLaptop,\n\tGlobe,\n\tFileText,\n\tFileCode,\n\tRefreshCw,\n} from 'lucide-react';\nimport { Button } from '../ui/Button';\nimport { ToggleSwitch } from '../ui/ToggleSwitch';\nimport { useSkillsStore } from '../../stores/skillsStore';\nimport {\n\tuseSkills,\n\tuseSkillDetail,\n\tuseSkillFiles,\n\tuseUpdateSkillsConfig,\n} from '../../hooks/useSkills';\n\nconst SCOPE_ICONS: Record<string, typeof FolderDot> = {\n\tcwd: FolderDot,\n\tparent: FolderDot,\n\trepo: FolderDot,\n\tuser: Laptop,\n\tsystem: Globe,\n};\n\nconst SCOPE_LABELS: Record<string, string> = {\n\tcwd: 'Project',\n\tparent: 'Parent',\n\trepo: 'Repository',\n\tuser: 'User',\n\tsystem: 'System',\n};\n\nfunction formatSize(bytes: number): string {\n\tif (bytes < 1024) return `${bytes} B`;\n\tif (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n\treturn `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n\nexport const SkillsSidebar = memo(function SkillsSidebar() {\n\tconst isExpanded = useSkillsStore((s) => s.isExpanded);\n\tconst collapseSidebar = useSkillsStore((s) => s.collapseSidebar);\n\tconst skills = useSkillsStore((s) => s.skills);\n\tconst globalEnabled = useSkillsStore((s) => s.globalEnabled);\n\tconst totalCount = useSkillsStore((s) => s.totalCount);\n\tconst enabledCount = useSkillsStore((s) => s.enabledCount);\n\tconst selectedSkill = useSkillsStore((s) => s.selectedSkill);\n\tconst selectSkill = useSkillsStore((s) => s.selectSkill);\n\tconst openViewer = useSkillsStore((s) => s.openViewer);\n\tconst viewingFile = useSkillsStore((s) => s.viewingFile);\n\n\tconst { isLoading, isFetching, refetch } = useSkills();\n\tconst updateSkillsConfig = useUpdateSkillsConfig();\n\tconst { data: skillDetail } = useSkillDetail(selectedSkill);\n\tconst { data: skillFilesData } = useSkillFiles(selectedSkill);\n\tconst skillFiles = skillFilesData?.files ?? [];\n\n\tconst groupedSkills = useMemo(() => {\n\t\tconst groups = new Map<string, typeof skills>();\n\t\tfor (const skill of skills) {\n\t\t\tconst list = groups.get(skill.scope) ?? [];\n\t\t\tlist.push(skill);\n\t\t\tgroups.set(skill.scope, list);\n\t\t}\n\t\treturn groups;\n\t}, [skills]);\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div className=\"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full\">\n\t\t\t<div className=\"h-14 flex items-center justify-between px-3 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Sparkles className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t<span className=\"font-medium text-sm\">Skills</span>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t<ToggleSwitch\n\t\t\t\t\t\tchecked={globalEnabled}\n\t\t\t\t\t\tloading={updateSkillsConfig.isPending}\n\t\t\t\t\t\tonChange={() =>\n\t\t\t\t\t\t\tupdateSkillsConfig.mutate({ enabled: !globalEnabled })\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{selectedSkill && skillDetail ? (\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t<div className=\"p-3 border-b border-border\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => selectSkill(null)}\n\t\t\t\t\t\t\tclassName=\"text-xs text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t← Back to list\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"px-3 py-3 border-b border-border\">\n\t\t\t\t\t\t<h3 className=\"font-medium text-sm mb-1\">{skillDetail.name}</h3>\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-2\">\n\t\t\t\t\t\t\t{skillDetail.description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground\">\n\t\t\t\t\t\t\t\t{SCOPE_LABELS[skillDetail.scope] ?? skillDetail.scope}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{skillDetail.license && (\n\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t{skillDetail.license}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium\">\n\t\t\t\t\t\t\tFiles\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => openViewer(null)}\n\t\t\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${\n\t\t\t\t\t\t\t\tviewingFile === null ? 'bg-accent' : ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<FileText className=\"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t<span className=\"text-sm font-mono truncate flex-1\">\n\t\t\t\t\t\t\t\t\tSKILL.md\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t{skillFiles.map((file) => (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tkey={file.relativePath}\n\t\t\t\t\t\t\t\tonClick={() => openViewer(file.relativePath)}\n\t\t\t\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${\n\t\t\t\t\t\t\t\t\tviewingFile === file.relativePath ? 'bg-accent' : ''\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<FileCode className=\"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-mono truncate flex-1\">\n\t\t\t\t\t\t\t\t\t\t{file.relativePath}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t{formatSize(file.size)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div className=\"flex items-center justify-center py-8\">\n\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin text-muted-foreground\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : totalCount === 0 ? (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center p-4\">\n\t\t\t\t\t\t\t<Sparkles className=\"w-12 h-12 text-muted-foreground/30 mb-4\" />\n\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">No skills found</h3>\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground max-w-[220px]\">\n\t\t\t\t\t\t\t\tCreate skills in{' '}\n\t\t\t\t\t\t\t\t<code className=\"text-[10px] bg-muted px-1 rounded\">\n\t\t\t\t\t\t\t\t\t.otto/skills/ or .agents/skills/\n\t\t\t\t\t\t\t\t</code>{' '}\n\t\t\t\t\t\t\t\tor{' '}\n\t\t\t\t\t\t\t\t<code className=\"text-[10px] bg-muted px-1 rounded\">\n\t\t\t\t\t\t\t\t\t~/.config/otto/skills/ or ~/.agents/skills/\n\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : !globalEnabled ? (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center p-4\">\n\t\t\t\t\t\t\t<Sparkles className=\"w-12 h-12 text-muted-foreground/30 mb-4\" />\n\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Skills are disabled</h3>\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground max-w-[220px]\">\n\t\t\t\t\t\t\t\tTurn the skills toggle on to make discovered skills available.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : skills.length === 0 ? (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center p-4\">\n\t\t\t\t\t\t\t<Sparkles className=\"w-12 h-12 text-muted-foreground/30 mb-4\" />\n\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">\n\t\t\t\t\t\t\t\tAll skills are disabled\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground max-w-[220px]\">\n\t\t\t\t\t\t\t\tEnable individual skills or turn all skills back on.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t\t\t{['cwd', 'parent', 'repo', 'user', 'system'].map((scope) => {\n\t\t\t\t\t\t\t\tconst scopeSkills = groupedSkills.get(scope);\n\t\t\t\t\t\t\t\tif (!scopeSkills?.length) return null;\n\t\t\t\t\t\t\t\tconst ScopeIcon = SCOPE_ICONS[scope] ?? Globe;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div key={scope}>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t<ScopeIcon className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t\t{SCOPE_LABELS[scope] ?? scope}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{scopeSkills.map((skill) => (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\tkey={`${skill.scope}-${skill.name}`}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => selectSkill(skill.name)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedSkill === skill.name ? 'bg-accent' : ''\n\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-start gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FileText className=\"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{skill.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{skill.description}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ToggleSwitch\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={skill.enabled !== false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading={updateSkillsConfig.isPending}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSkillsConfig.mutate({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[skill.name]: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tenabled: skill.enabled === false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div className=\"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2\">\n\t\t\t\t<div className=\"flex items-center gap-2 min-w-0 flex-1\">\n\t\t\t\t\t<Sparkles className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t{enabledCount}/{totalCount} {totalCount === 1 ? 'skill' : 'skills'}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={() => refetch()}\n\t\t\t\t\ttitle=\"Refresh skills\"\n\t\t\t\t\tclassName=\"h-6 w-6 flex-shrink-0\"\n\t\t\t\t\tdisabled={isFetching}\n\t\t\t\t>\n\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\tclassName={`w-3 h-3 ${isFetching ? 'animate-spin' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
|
|
169
|
+
"import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { useSkillsStore } from '../stores/skillsStore';\nimport { useEffect } from 'react';\nimport { apiClient } from '../lib/api-client';\n\nexport function useSkills() {\n\tconst setSkillsConfig = useSkillsStore((s) => s.setSkillsConfig);\n\n\tconst query = useQuery({\n\t\tqueryKey: ['skills'],\n\t\tqueryFn: async () => {\n\t\t\treturn apiClient.getSkillsConfig();\n\t\t},\n\t\trefetchInterval: 30000,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data?.items) {\n\t\t\tsetSkillsConfig({\n\t\t\t\tskills: query.data.items,\n\t\t\t\tglobalEnabled: query.data.enabled,\n\t\t\t\ttotalCount: query.data.totalCount,\n\t\t\t\tenabledCount: query.data.enabledCount,\n\t\t\t});\n\t\t}\n\t}, [query.data, setSkillsConfig]);\n\n\treturn query;\n}\n\nexport function useUpdateSkillsConfig() {\n\tconst queryClient = useQueryClient();\n\tconst setSkillsConfig = useSkillsStore((s) => s.setSkillsConfig);\n\n\treturn useMutation({\n\t\tmutationFn: (input: {\n\t\t\tenabled?: boolean;\n\t\t\titems?: Record<string, { enabled?: boolean }>;\n\t\t\tscope?: 'global' | 'local';\n\t\t}) => apiClient.updateSkillsConfig(input),\n\t\tonSuccess: (data) => {\n\t\t\tsetSkillsConfig({\n\t\t\t\tskills: data.items,\n\t\t\t\tglobalEnabled: data.enabled,\n\t\t\t\ttotalCount: data.totalCount,\n\t\t\t\tenabledCount: data.enabledCount,\n\t\t\t});\n\t\t\tqueryClient.setQueryData(['skills'], data);\n\t\t},\n\t});\n}\n\nexport function useSkillDetail(name: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['skills', name],\n\t\tqueryFn: async () => {\n\t\t\tif (!name) return null;\n\t\t\treturn apiClient.getSkill(name);\n\t\t},\n\t\tenabled: !!name,\n\t});\n}\n\nexport function useSkillFiles(name: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['skills', name, 'files'],\n\t\tqueryFn: async () => {\n\t\t\tif (!name) return null;\n\t\t\treturn apiClient.getSkillFiles(name);\n\t\t},\n\t\tenabled: !!name,\n\t});\n}\n\nexport function useSkillFileContent(\n\tname: string | null,\n\tfilePath: string | null,\n) {\n\treturn useQuery({\n\t\tqueryKey: ['skills', name, 'files', filePath],\n\t\tqueryFn: async () => {\n\t\t\tif (!name || !filePath) return null;\n\t\t\treturn apiClient.getSkillFileContent(name, filePath);\n\t\t},\n\t\tenabled: !!name && !!filePath,\n\t});\n}\n",
|
|
169
170
|
"import { memo } from 'react';\nimport { Sparkles } from 'lucide-react';\nimport { useSkillsStore } from '../../stores/skillsStore';\n\nexport const SkillsSidebarToggle = memo(function SkillsSidebarToggle() {\n\tconst isExpanded = useSkillsStore((state) => state.isExpanded);\n\tconst toggleSidebar = useSkillsStore((state) => state.toggleSidebar);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={toggleSidebar}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Skills\"\n\t\t>\n\t\t\t<Sparkles className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t</button>\n\t);\n});\n",
|
|
170
171
|
"import { memo, useEffect } from 'react';\nimport { X } from 'lucide-react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport { useSkillsStore } from '../../stores/skillsStore';\nimport { useSkillDetail, useSkillFileContent } from '../../hooks/useSkills';\nimport { Button } from '../ui/Button';\n\nconst LANGUAGE_MAP: Record<string, string> = {\n\tjs: 'javascript',\n\tjsx: 'jsx',\n\tts: 'typescript',\n\ttsx: 'tsx',\n\tpy: 'python',\n\trb: 'ruby',\n\tgo: 'go',\n\trs: 'rust',\n\tjava: 'java',\n\tc: 'c',\n\tcpp: 'cpp',\n\th: 'c',\n\thpp: 'cpp',\n\tcs: 'csharp',\n\tphp: 'php',\n\tsh: 'bash',\n\tbash: 'bash',\n\tzsh: 'bash',\n\tsql: 'sql',\n\tjson: 'json',\n\tyaml: 'yaml',\n\tyml: 'yaml',\n\txml: 'xml',\n\thtml: 'html',\n\tcss: 'css',\n\tscss: 'scss',\n\tmd: 'markdown',\n\ttxt: 'plaintext',\n\ttoml: 'toml',\n};\n\nfunction inferLanguage(path: string): string {\n\tconst ext = path.split('.').pop()?.toLowerCase() ?? '';\n\treturn LANGUAGE_MAP[ext] ?? 'plaintext';\n}\n\nexport const SkillViewerPanel = memo(function SkillViewerPanel() {\n\tconst isViewerOpen = useSkillsStore((s) => s.isViewerOpen);\n\tconst viewingFile = useSkillsStore((s) => s.viewingFile);\n\tconst selectedSkill = useSkillsStore((s) => s.selectedSkill);\n\tconst closeViewer = useSkillsStore((s) => s.closeViewer);\n\n\tconst { data: skillDetail } = useSkillDetail(selectedSkill);\n\tconst { data: fileData, isLoading: fileLoading } = useSkillFileContent(\n\t\tselectedSkill,\n\t\tviewingFile,\n\t);\n\n\tconst isMainFile = viewingFile === null;\n\tconst content = isMainFile ? skillDetail?.content : fileData?.content;\n\tconst isLoading = isMainFile ? !skillDetail : fileLoading;\n\tconst displayPath = isMainFile ? 'SKILL.md' : (viewingFile ?? '');\n\tconst language = inferLanguage(displayPath);\n\n\tuseEffect(() => {\n\t\tconst handleEscape = (e: KeyboardEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (\n\t\t\t\t(e.key === 'Escape' || (e.key === 'q' && !isInInput)) &&\n\t\t\t\tisViewerOpen\n\t\t\t) {\n\t\t\t\tcloseViewer();\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handleEscape);\n\t\treturn () => document.removeEventListener('keydown', handleEscape);\n\t}, [isViewerOpen, closeViewer]);\n\n\tif (!isViewerOpen || !selectedSkill) return null;\n\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\treturn (\n\t\t<div className=\"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300\">\n\t\t\t<div className=\"h-14 border-b border-border px-4 flex items-center gap-3\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={closeViewer}\n\t\t\t\t\ttitle=\"Close viewer (ESC)\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t\t<div className=\"flex-1 flex items-center gap-2 min-w-0\">\n\t\t\t\t\t<span className=\"text-xs text-muted-foreground flex-shrink-0\">\n\t\t\t\t\t\t{selectedSkill}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-xs text-muted-foreground\">/</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"text-sm font-medium text-foreground font-mono truncate\"\n\t\t\t\t\t\ttitle={displayPath}\n\t\t\t\t\t>\n\t\t\t\t\t\t{displayPath}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<span className=\"text-xs text-muted-foreground\">{language}</span>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 overflow-auto\">\n\t\t\t\t{isLoading ? (\n\t\t\t\t\t<div className=\"h-full flex items-center justify-center text-muted-foreground\">\n\t\t\t\t\t\tLoading...\n\t\t\t\t\t</div>\n\t\t\t\t) : content ? (\n\t\t\t\t\t<div className=\"code-with-line-numbers\">\n\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\twrapLines\n\t\t\t\t\t\t\twrapLongLines\n\t\t\t\t\t\t\tlineProps={() => ({\n\t\t\t\t\t\t\t\tclassName: 'code-line',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\tpadding: '1rem',\n\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\tlineHeight: '1.25rem',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tcodeTagProps={{\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"h-full flex items-center justify-center text-muted-foreground\">\n\t\t\t\t\t\tUnable to load file\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
|
|
171
172
|
"import { memo, useCallback } from 'react';\nimport {\n\tChevronRight,\n\tChevronDown,\n\tFolderOpen,\n\tFolder,\n\tFileCode,\n\tFolderTree,\n\tRefreshCw,\n} from 'lucide-react';\nimport { useFileBrowserStore } from '../../stores/fileBrowserStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { useFileTree } from '../../hooks/useFileBrowser';\nimport { Button } from '../ui/Button';\nimport { ResizeHandle } from '../ui/ResizeHandle';\n\nconst PANEL_KEY = 'file-browser';\nconst DEFAULT_WIDTH = 320;\nconst MIN_WIDTH = 280;\nconst MAX_WIDTH = 600;\n\nfunction TreeDirectory({ dirPath }: { dirPath: string }) {\n\tconst expandedDirs = useFileBrowserStore((s) => s.expandedDirs);\n\tconst isExpanded = expandedDirs.has(dirPath);\n\n\tconst { data, isLoading } = useFileTree(dirPath, isExpanded);\n\n\tif (!isExpanded) return null;\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<div className=\"pl-4 py-1 text-xs text-muted-foreground\">Loading...</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"pl-3\">\n\t\t\t{data?.items.map((item) => (\n\t\t\t\t<TreeItem\n\t\t\t\t\tkey={item.path}\n\t\t\t\t\tname={item.name}\n\t\t\t\t\tpath={item.path}\n\t\t\t\t\ttype={item.type}\n\t\t\t\t\tgitignored={item.gitignored}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</div>\n\t);\n}\n\nfunction TreeItem({\n\tname,\n\tpath,\n\ttype,\n\tgitignored,\n}: {\n\tname: string;\n\tpath: string;\n\ttype: 'file' | 'directory';\n\tgitignored?: boolean;\n}) {\n\tconst expandedDirs = useFileBrowserStore((s) => s.expandedDirs);\n\tconst toggleDir = useFileBrowserStore((s) => s.toggleDir);\n\tconst openFile = useFileBrowserStore((s) => s.openFile);\n\tconst selectedFile = useFileBrowserStore((s) => s.selectedFile);\n\tconst isExpanded = expandedDirs.has(path);\n\tconst isSelected = selectedFile === path;\n\n\tconst handleClick = useCallback(() => {\n\t\tif (type === 'directory') {\n\t\t\ttoggleDir(path);\n\t\t} else {\n\t\t\topenFile(path);\n\t\t}\n\t}, [type, path, toggleDir, openFile]);\n\n\treturn (\n\t\t<div>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={handleClick}\n\t\t\t\tclassName={`w-full text-left flex items-center gap-1.5 px-2 py-1 text-sm hover:bg-muted/50 rounded transition-colors ${\n\t\t\t\t\tisSelected ? 'bg-muted text-foreground' : 'text-foreground/80'\n\t\t\t\t} ${gitignored ? 'opacity-40' : ''}`}\n\t\t\t>\n\t\t\t\t{type === 'directory' ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{isExpanded ? (\n\t\t\t\t\t\t\t<ChevronDown className=\"w-3 h-3 text-muted-foreground flex-shrink-0\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ChevronRight className=\"w-3 h-3 text-muted-foreground flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isExpanded ? (\n\t\t\t\t\t\t\t<FolderOpen className=\"w-3.5 h-3.5 text-blue-500 flex-shrink-0\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Folder className=\"w-3.5 h-3.5 text-blue-500 flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"w-3 flex-shrink-0\" />\n\t\t\t\t\t\t<FileCode className=\"w-3.5 h-3.5 text-muted-foreground flex-shrink-0\" />\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t<span className=\"truncate\">{name}</span>\n\t\t\t</button>\n\t\t\t{type === 'directory' && <TreeDirectory dirPath={path} />}\n\t\t</div>\n\t);\n}\n\nexport const FileBrowserSidebar = memo(function FileBrowserSidebar() {\n\tconst isExpanded = useFileBrowserStore((s) => s.isExpanded);\n\tconst collapseSidebar = useFileBrowserStore((s) => s.collapseSidebar);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\n\tconst { data: rootData, isLoading, refetch } = useFileTree('.');\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border-l border-sidebar-border sidebar-fade-in flex h-full relative\"\n\t\t\tstyle={{ width: panelWidth }}\n\t\t>\n\t\t\t<ResizeHandle\n\t\t\t\tpanelKey={PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={MIN_WIDTH}\n\t\t\t\tmaxWidth={MAX_WIDTH}\n\t\t\t\tdefaultWidth={DEFAULT_WIDTH}\n\t\t\t/>\n\t\t\t<div className=\"flex-1 flex flex-col h-full min-w-0\">\n\t\t\t\t<div className=\"h-14 border-b border-border px-3 flex items-center justify-between shrink-0\">\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<FolderTree className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t\t<span className=\"font-medium\">Files</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={collapseSidebar}>\n\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex-1 overflow-y-auto p-1\">\n\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tLoading file tree...\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : !rootData || rootData.items.length === 0 ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\tNo files found\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\trootData.items.map((item) => (\n\t\t\t\t\t\t\t<TreeItem\n\t\t\t\t\t\t\t\tkey={item.path}\n\t\t\t\t\t\t\t\tname={item.name}\n\t\t\t\t\t\t\t\tpath={item.path}\n\t\t\t\t\t\t\t\ttype={item.type}\n\t\t\t\t\t\t\t\tgitignored={item.gitignored}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 min-w-0 flex-1\">\n\t\t\t\t\t\t<FolderTree className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t<span className=\"truncate\">Project Files</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={() => refetch()}\n\t\t\t\t\t\ttitle=\"Refresh file tree\"\n\t\t\t\t\t\tclassName=\"h-6 w-6 flex-shrink-0\"\n\t\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
|
|
@@ -182,7 +183,7 @@
|
|
|
182
183
|
"import {\n\tuseState,\n\tuseCallback,\n\tuseEffect,\n\ttype DragEvent,\n\ttype ClipboardEvent,\n} from 'react';\n\nexport interface ImageAttachment {\n\tid: string;\n\tfile: File;\n\tpreview: string;\n\tdata: string;\n\tmediaType: string;\n}\n\nconst SUPPORTED_TYPES = ['image/png', 'image/jpeg', 'image/gif', 'image/webp'];\n\nfunction generateId(): string {\n\treturn `img-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;\n}\n\nasync function fileToBase64(file: File): Promise<string> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => {\n\t\t\tconst result = reader.result as string;\n\t\t\tconst base64 = result.split(',')[1];\n\t\t\tresolve(base64);\n\t\t};\n\t\treader.onerror = reject;\n\t\treader.readAsDataURL(file);\n\t});\n}\n\nasync function fileToPreview(file: File): Promise<string> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => resolve(reader.result as string);\n\t\treader.onerror = reject;\n\t\treader.readAsDataURL(file);\n\t});\n}\n\ninterface UseImageUploadOptions {\n\tmaxImages?: number;\n\tmaxSizeMB?: number;\n\tpageWide?: boolean;\n}\n\nexport function useImageUpload(options: UseImageUploadOptions = {}) {\n\tconst { maxImages = 5, maxSizeMB = 5, pageWide = true } = options;\n\n\tconst [images, setImages] = useState<ImageAttachment[]>([]);\n\tconst [isDragging, setIsDragging] = useState(false);\n\tconst [error, setError] = useState<string | null>(null);\n\n\tconst maxSizeBytes = maxSizeMB * 1024 * 1024;\n\n\tconst validateFile = useCallback(\n\t\t(file: File): string | null => {\n\t\t\tif (!SUPPORTED_TYPES.includes(file.type)) {\n\t\t\t\treturn `Unsupported file type: ${file.type}. Supported: PNG, JPEG, GIF, WebP`;\n\t\t\t}\n\t\t\tif (file.size > maxSizeBytes) {\n\t\t\t\treturn `File too large: ${(file.size / 1024 / 1024).toFixed(1)}MB. Max: ${maxSizeMB}MB`;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\t[maxSizeBytes, maxSizeMB],\n\t);\n\n\tconst addImages = useCallback(\n\t\tasync (files: FileList | File[]) => {\n\t\t\tsetError(null);\n\t\t\tconst fileArray = Array.from(files);\n\t\t\tconst remaining = maxImages - images.length;\n\n\t\t\tif (remaining <= 0) {\n\t\t\t\tsetError(`Maximum ${maxImages} images allowed`);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst filesToAdd = fileArray.slice(0, remaining);\n\t\t\tconst newImages: ImageAttachment[] = [];\n\n\t\t\tfor (const file of filesToAdd) {\n\t\t\t\tconst validationError = validateFile(file);\n\t\t\t\tif (validationError) {\n\t\t\t\t\tsetError(validationError);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tconst [preview, data] = await Promise.all([\n\t\t\t\t\t\tfileToPreview(file),\n\t\t\t\t\t\tfileToBase64(file),\n\t\t\t\t\t]);\n\n\t\t\t\t\tnewImages.push({\n\t\t\t\t\t\tid: generateId(),\n\t\t\t\t\t\tfile,\n\t\t\t\t\t\tpreview,\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tmediaType: file.type,\n\t\t\t\t\t});\n\t\t\t\t} catch {\n\t\t\t\t\tsetError('Failed to process image');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newImages.length > 0) {\n\t\t\t\tsetImages((prev) => [...prev, ...newImages]);\n\t\t\t}\n\t\t},\n\t\t[images.length, maxImages, validateFile],\n\t);\n\n\tconst removeImage = useCallback((id: string) => {\n\t\tsetImages((prev) => prev.filter((img) => img.id !== id));\n\t\tsetError(null);\n\t}, []);\n\n\tconst clearImages = useCallback(() => {\n\t\tsetImages([]);\n\t\tsetError(null);\n\t}, []);\n\n\tconst handleDragEnter = useCallback((e: DragEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tif (e.dataTransfer.types.includes('Files')) {\n\t\t\tsetIsDragging(true);\n\t\t}\n\t}, []);\n\n\tconst handleDragLeave = useCallback((e: DragEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tconst rect = (e.currentTarget as HTMLElement).getBoundingClientRect();\n\t\tconst x = e.clientX;\n\t\tconst y = e.clientY;\n\t\tif (x < rect.left || x > rect.right || y < rect.top || y > rect.bottom) {\n\t\t\tsetIsDragging(false);\n\t\t}\n\t}, []);\n\n\tconst handleDragOver = useCallback((e: DragEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t}, []);\n\n\tconst handleDrop = useCallback(\n\t\t(e: DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tsetIsDragging(false);\n\n\t\t\tconst files = e.dataTransfer.files;\n\t\t\tif (files.length > 0) {\n\t\t\t\tconst imageFiles = Array.from(files).filter((f) =>\n\t\t\t\t\tf.type.startsWith('image/'),\n\t\t\t\t);\n\t\t\t\tif (imageFiles.length > 0) {\n\t\t\t\t\taddImages(imageFiles);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[addImages],\n\t);\n\n\tconst handlePaste = useCallback(\n\t\t(e: ClipboardEvent) => {\n\t\t\tconst items = e.clipboardData?.items;\n\t\t\tif (!items) return;\n\n\t\t\tconst imageFiles: File[] = [];\n\t\t\tfor (const item of Array.from(items)) {\n\t\t\t\tif (item.type.startsWith('image/')) {\n\t\t\t\t\tconst file = item.getAsFile();\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\timageFiles.push(file);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (imageFiles.length > 0) {\n\t\t\t\te.preventDefault();\n\t\t\t\taddImages(imageFiles);\n\t\t\t}\n\t\t},\n\t\t[addImages],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!pageWide) return;\n\n\t\tlet dragCounter = 0;\n\n\t\tconst onDragEnter = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tif (e.dataTransfer?.types.includes('Files')) {\n\t\t\t\tdragCounter++;\n\t\t\t\tif (dragCounter === 1) {\n\t\t\t\t\tsetIsDragging(true);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst onDragLeave = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tdragCounter--;\n\t\t\tif (dragCounter === 0) {\n\t\t\t\tsetIsDragging(false);\n\t\t\t}\n\t\t};\n\n\t\tconst onDragOver = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t};\n\n\t\tconst onDrop = (e: globalThis.DragEvent) => {\n\t\t\te.preventDefault();\n\t\t\tdragCounter = 0;\n\t\t\tsetIsDragging(false);\n\n\t\t\tconst files = e.dataTransfer?.files;\n\t\t\tif (files && files.length > 0) {\n\t\t\t\tconst imageFiles = Array.from(files).filter((f) =>\n\t\t\t\t\tf.type.startsWith('image/'),\n\t\t\t\t);\n\t\t\t\tif (imageFiles.length > 0) {\n\t\t\t\t\taddImages(imageFiles);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener('dragenter', onDragEnter);\n\t\tdocument.addEventListener('dragleave', onDragLeave);\n\t\tdocument.addEventListener('dragover', onDragOver);\n\t\tdocument.addEventListener('drop', onDrop);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('dragenter', onDragEnter);\n\t\t\tdocument.removeEventListener('dragleave', onDragLeave);\n\t\t\tdocument.removeEventListener('dragover', onDragOver);\n\t\t\tdocument.removeEventListener('drop', onDrop);\n\t\t};\n\t}, [pageWide, addImages]);\n\n\treturn {\n\t\timages,\n\t\tisDragging,\n\t\terror,\n\t\taddImages,\n\t\tremoveImage,\n\t\tclearImages,\n\t\thandleDragEnter,\n\t\thandleDragLeave,\n\t\thandleDragOver,\n\t\thandleDrop,\n\t\thandlePaste,\n\t};\n}\n",
|
|
183
184
|
"import { useEffect, useRef } from 'react';\nimport { SSEClient } from '../lib/sse-client';\nimport { apiClient } from '../lib/api-client';\nimport { toast, useToastStore } from '../stores/toastStore';\nimport { useOttoRouterStore } from '../stores/ottorouterStore';\nimport { useTopupApprovalStore } from '../stores/topupApprovalStore';\n\nexport function useSetuPayments(sessionId: string | undefined) {\n\tconst clientRef = useRef<SSEClient | null>(null);\n\tconst loadingToastIdRef = useRef<string | null>(null);\n\tconst setBalance = useOttoRouterStore((s) => s.setBalance);\n\tconst setPaymentPending = useOttoRouterStore((s) => s.setPaymentPending);\n\tconst removeToast = useToastStore((s) => s.removeToast);\n\tconst updateToast = useToastStore((s) => s.updateToast);\n\tconst setPendingTopup = useTopupApprovalStore((s) => s.setPendingTopup);\n\tconst clearPendingTopup = useTopupApprovalStore((s) => s.clearPendingTopup);\n\n\tuseEffect(() => {\n\t\tif (!sessionId) return;\n\n\t\tconst client = new SSEClient();\n\t\tclientRef.current = client;\n\n\t\tconst url = apiClient.getStreamUrl(sessionId);\n\t\tclient.connect(url);\n\n\t\tconst unsubscribe = client.on('*', (event) => {\n\t\t\tconst payload = event.payload as Record<string, unknown> | undefined;\n\n\t\t\tswitch (event.type) {\n\t\t\t\tcase 'ottorouter.topup.required': {\n\t\t\t\t\tconst amountUsd =\n\t\t\t\t\t\ttypeof payload?.amountUsd === 'number' ? payload.amountUsd : 0;\n\t\t\t\t\tconst currentBalance =\n\t\t\t\t\t\ttypeof payload?.currentBalance === 'number'\n\t\t\t\t\t\t\t? payload.currentBalance\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tconst minTopupUsd =\n\t\t\t\t\t\ttypeof payload?.minTopupUsd === 'number' ? payload.minTopupUsd : 5;\n\t\t\t\t\tconst suggestedTopupUsd =\n\t\t\t\t\t\ttypeof payload?.suggestedTopupUsd === 'number'\n\t\t\t\t\t\t\t? payload.suggestedTopupUsd\n\t\t\t\t\t\t\t: 10;\n\t\t\t\t\tconst messageId =\n\t\t\t\t\t\ttypeof payload?.messageId === 'string' ? payload.messageId : '';\n\n\t\t\t\t\tsetPendingTopup({\n\t\t\t\t\t\tsessionId,\n\t\t\t\t\t\tmessageId,\n\t\t\t\t\t\tamountUsd,\n\t\t\t\t\t\tcurrentBalance,\n\t\t\t\t\t\tminTopupUsd,\n\t\t\t\t\t\tsuggestedTopupUsd,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.topup.method_selected': {\n\t\t\t\t\tconst method = payload?.method;\n\t\t\t\t\tif (method === 'crypto') {\n\t\t\t\t\t\tsetPaymentPending(true);\n\t\t\t\t\t\tloadingToastIdRef.current = toast.loading(\n\t\t\t\t\t\t\t'💳 Processing crypto payment...',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.topup.cancelled': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tconst reason =\n\t\t\t\t\t\ttypeof payload?.reason === 'string'\n\t\t\t\t\t\t\t? payload.reason\n\t\t\t\t\t\t\t: 'Request cancelled';\n\t\t\t\t\ttoast(`⚠️ ${reason}`);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.required': {\n\t\t\t\t\tconst amountUsd =\n\t\t\t\t\t\ttypeof payload?.amountUsd === 'number' ? payload.amountUsd : 0;\n\t\t\t\t\tsetPaymentPending(true);\n\t\t\t\t\tif (!loadingToastIdRef.current) {\n\t\t\t\t\t\tloadingToastIdRef.current = toast.loading(\n\t\t\t\t\t\t\t`💳 Payment required: $${amountUsd.toFixed(2)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.signing': {\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tupdateToast(loadingToastIdRef.current, {\n\t\t\t\t\t\t\tmessage: '✍️ Signing transaction...',\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tloadingToastIdRef.current = toast.loading(\n\t\t\t\t\t\t\t'✍️ Signing transaction...',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.complete': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tconst rawAmount = payload?.amountUsd;\n\t\t\t\t\tconst rawBalance = payload?.newBalance;\n\t\t\t\t\tconst transactionId =\n\t\t\t\t\t\ttypeof payload?.transactionId === 'string'\n\t\t\t\t\t\t\t? payload.transactionId\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\tconst amountUsd =\n\t\t\t\t\t\ttypeof rawAmount === 'number'\n\t\t\t\t\t\t\t? rawAmount\n\t\t\t\t\t\t\t: typeof rawAmount === 'string'\n\t\t\t\t\t\t\t\t? parseFloat(rawAmount)\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tconst newBalance =\n\t\t\t\t\t\ttypeof rawBalance === 'number'\n\t\t\t\t\t\t\t? rawBalance\n\t\t\t\t\t\t\t: typeof rawBalance === 'string'\n\t\t\t\t\t\t\t\t? parseFloat(rawBalance)\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tsetBalance(newBalance);\n\t\t\t\t\tsetPaymentPending(false);\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tremoveToast(loadingToastIdRef.current);\n\t\t\t\t\t\tloadingToastIdRef.current = null;\n\t\t\t\t\t}\n\t\t\t\t\tconst message = `✅ Paid $${amountUsd.toFixed(2)}`;\n\t\t\t\t\tif (transactionId) {\n\t\t\t\t\t\ttoast.successWithAction(message, {\n\t\t\t\t\t\t\tlabel: 'View Tx',\n\t\t\t\t\t\t\thref: `https://orbmarkets.io/tx/${transactionId}`,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttoast.success(message);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.fiat.checkout_created': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tsetPaymentPending(false);\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tremoveToast(loadingToastIdRef.current);\n\t\t\t\t\t\tloadingToastIdRef.current = null;\n\t\t\t\t\t}\n\t\t\t\t\t// Modal is already opened by TopupApprovalCard\n\t\t\t\t\t// Just show a helpful toast\n\t\t\t\t\ttoast.success('💳 Complete payment, then retry your message');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.balance.updated': {\n\t\t\t\t\tconst rawBalance = payload?.balanceRemaining;\n\t\t\t\t\tconst newBalance =\n\t\t\t\t\t\ttypeof rawBalance === 'number'\n\t\t\t\t\t\t\t? rawBalance\n\t\t\t\t\t\t\t: typeof rawBalance === 'string'\n\t\t\t\t\t\t\t\t? parseFloat(rawBalance)\n\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\tif (newBalance !== null && !Number.isNaN(newBalance)) {\n\t\t\t\t\t\tsetBalance(newBalance);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.error': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tconst error =\n\t\t\t\t\t\ttypeof payload?.error === 'string'\n\t\t\t\t\t\t\t? payload.error\n\t\t\t\t\t\t\t: 'Payment failed';\n\t\t\t\t\tsetPaymentPending(false);\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tremoveToast(loadingToastIdRef.current);\n\t\t\t\t\t\tloadingToastIdRef.current = null;\n\t\t\t\t\t}\n\t\t\t\t\ttoast.error(`❌ ${error}`);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t\tclient.disconnect();\n\t\t};\n\t}, [\n\t\tsessionId,\n\t\tsetBalance,\n\t\tsetPaymentPending,\n\t\tremoveToast,\n\t\tupdateToast,\n\t\tsetPendingTopup,\n\t\tclearPendingTopup,\n\t]);\n}\n"
|
|
184
185
|
],
|
|
185
|
-
"mappings": "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",
|
|
186
|
-
"debugId": "
|
|
186
|
+
"mappings": "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",
|
|
187
|
+
"debugId": "1B0ADC47E25AD86364756E2164756E21",
|
|
187
188
|
"names": []
|
|
188
189
|
}
|