@ottocode/web-sdk 0.1.266 → 0.1.267
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/file-browser/FileBrowserSidebar.d.ts.map +1 -1
- package/dist/components/git/GitSidebar.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2810 -2929
- package/dist/components/index.js.map +21 -20
- package/dist/components/mcp/MCPSidebar.d.ts.map +1 -1
- package/dist/components/research/ResearchSidebar.d.ts.map +1 -1
- package/dist/components/session-files/SessionFilesSidebar.d.ts.map +1 -1
- package/dist/components/settings/SettingsSidebar.d.ts.map +1 -1
- package/dist/components/skills/SkillsSidebar.d.ts.map +1 -1
- package/dist/components/tunnel/TunnelSidebar.d.ts.map +1 -1
- package/dist/components/ui/SidebarHeader.d.ts +11 -0
- package/dist/components/ui/SidebarHeader.d.ts.map +1 -0
- package/dist/index.js +2810 -2929
- package/dist/index.js.map +21 -20
- 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/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"],
|
|
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/ui/SidebarHeader.tsx", "../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",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"import { create } from 'zustand';\n\nexport interface PendingToolApproval {\n\tcallId: string;\n\ttoolName: string;\n\targs: unknown;\n\tmessageId: string;\n\tcreatedAt: number;\n}\n\ninterface ToolApprovalState {\n\tpendingApprovals: PendingToolApproval[];\n\taddPendingApproval: (approval: PendingToolApproval) => void;\n\tremovePendingApproval: (callId: string) => void;\n\tupdatePendingApproval: (callId: string, args: unknown) => void;\n\tclearPendingApprovals: () => void;\n\tsetPendingApprovals: (approvals: PendingToolApproval[]) => void;\n}\n\nexport const useToolApprovalStore = create<ToolApprovalState>((set) => ({\n\tpendingApprovals: [],\n\n\taddPendingApproval: (approval) =>\n\t\tset((state) => ({\n\t\t\tpendingApprovals: [...state.pendingApprovals, approval],\n\t\t})),\n\n\tremovePendingApproval: (callId) =>\n\t\tset((state) => ({\n\t\t\tpendingApprovals: state.pendingApprovals.filter(\n\t\t\t\t(a) => a.callId !== callId,\n\t\t\t),\n\t\t})),\n\n\tupdatePendingApproval: (callId, args) =>\n\t\tset((state) => ({\n\t\t\tpendingApprovals: state.pendingApprovals.map((a) =>\n\t\t\t\ta.callId === callId ? { ...a, args } : a,\n\t\t\t),\n\t\t})),\n\n\tclearPendingApprovals: () => set({ pendingApprovals: [] }),\n\n\tsetPendingApprovals: (approvals) => set({ pendingApprovals: approvals }),\n}));\n",
|
|
16
16
|
"import { memo, useCallback, useRef } from 'react';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\n\ninterface ResizeHandleProps {\n\tpanelKey: string;\n\tside: 'left' | 'right';\n\tminWidth: number;\n\tmaxWidth: number;\n\tdefaultWidth: number;\n\tonWidthChange?: (width: number) => void;\n}\n\nexport const ResizeHandle = memo(function ResizeHandle({\n\tpanelKey,\n\tside,\n\tminWidth,\n\tmaxWidth,\n\tdefaultWidth,\n\tonWidthChange,\n}: ResizeHandleProps) {\n\tconst dragRef = useRef<{ startX: number; startWidth: number } | null>(null);\n\n\tconst handleMouseDown = useCallback(\n\t\t(e: React.MouseEvent) => {\n\t\t\te.preventDefault();\n\t\t\tconst currentWidth = usePanelWidthStore\n\t\t\t\t.getState()\n\t\t\t\t.getWidth(panelKey, defaultWidth);\n\t\t\tdragRef.current = { startX: e.clientX, startWidth: currentWidth };\n\n\t\t\tconst handleMouseMove = (ev: MouseEvent) => {\n\t\t\t\tif (!dragRef.current) return;\n\t\t\t\tconst delta = ev.clientX - dragRef.current.startX;\n\t\t\t\tconst newWidth =\n\t\t\t\t\tside === 'right'\n\t\t\t\t\t\t? dragRef.current.startWidth - delta\n\t\t\t\t\t\t: dragRef.current.startWidth + delta;\n\t\t\t\tconst clamped = Math.min(Math.max(minWidth, newWidth), maxWidth);\n\t\t\t\tusePanelWidthStore.getState().setWidth(panelKey, clamped);\n\t\t\t\tonWidthChange?.(clamped);\n\t\t\t};\n\n\t\t\tconst handleMouseUp = () => {\n\t\t\t\tdragRef.current = null;\n\t\t\t\tdocument.removeEventListener('mousemove', handleMouseMove);\n\t\t\t\tdocument.removeEventListener('mouseup', handleMouseUp);\n\t\t\t\tdocument.body.style.cursor = '';\n\t\t\t\tdocument.body.style.userSelect = '';\n\t\t\t};\n\n\t\t\tdocument.addEventListener('mousemove', handleMouseMove);\n\t\t\tdocument.addEventListener('mouseup', handleMouseUp);\n\t\t\tdocument.body.style.cursor = 'col-resize';\n\t\t\tdocument.body.style.userSelect = 'none';\n\t\t},\n\t\t[panelKey, side, minWidth, maxWidth, defaultWidth, onWidthChange],\n\t);\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: mouse-only resize handle\n\t\t<div\n\t\t\tclassName={`w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute top-0 bottom-0 z-10 ${\n\t\t\t\tside === 'right' ? 'left-0' : 'right-0'\n\t\t\t}`}\n\t\t\tonMouseDown={handleMouseDown}\n\t\t/>\n\t);\n});\n",
|
|
17
17
|
"import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\ninterface PanelWidthState {\n\twidths: Record<string, number>;\n\tsetWidth: (key: string, width: number) => void;\n\tgetWidth: (key: string, defaultWidth: number) => number;\n}\n\nexport const usePanelWidthStore = create<PanelWidthState>()(\n\tpersist(\n\t\t(set, get) => ({\n\t\t\twidths: {},\n\t\t\tsetWidth: (key, width) =>\n\t\t\t\tset((state) => ({\n\t\t\t\t\twidths: { ...state.widths, [key]: width },\n\t\t\t\t})),\n\t\t\tgetWidth: (key, defaultWidth) => get().widths[key] ?? defaultWidth,\n\t\t}),\n\t\t{\n\t\t\tname: 'panel-widths',\n\t\t},\n\t),\n);\n",
|
|
18
|
+
"import type { ReactNode } from 'react';\nimport { ChevronRight } from 'lucide-react';\n\ninterface SidebarHeaderProps {\n\ticon: ReactNode;\n\ttitle: ReactNode;\n\tonClose: () => void;\n\tchildren?: ReactNode;\n\tcloseTitle?: string;\n}\n\nexport function SidebarHeader({\n\ticon,\n\ttitle,\n\tonClose,\n\tchildren,\n\tcloseTitle = 'Close sidebar',\n}: SidebarHeaderProps) {\n\treturn (\n\t\t<div className=\"h-10 border-b border-border px-2 flex items-center gap-1.5 shrink-0 bg-background/95\">\n\t\t\t<div className=\"flex items-center gap-1.5 min-w-0 shrink-0 pr-1\">\n\t\t\t\t<span className=\"text-muted-foreground shrink-0\">{icon}</span>\n\t\t\t\t<span className=\"text-[13px] font-medium text-foreground truncate\">\n\t\t\t\t\t{title}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{children && (\n\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center gap-1\">{children}</div>\n\t\t\t)}\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={onClose}\n\t\t\t\tclassName=\"ml-auto h-7 w-7 shrink-0 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted flex items-center justify-center\"\n\t\t\t\ttitle={closeTitle}\n\t\t\t>\n\t\t\t\t<ChevronRight className=\"size-[15px]\" />\n\t\t\t</button>\n\t\t</div>\n\t);\n}\n",
|
|
18
19
|
"import {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tmemo,\n\tforwardRef,\n\tuseImperativeHandle,\n\tuseMemo,\n} from 'react';\nimport type { ChangeEvent, ClipboardEvent } from 'react';\n\nimport {\n\tArrowUp,\n\tMoreVertical,\n\tX,\n\tImageIcon,\n\tBrain,\n\tFileText,\n\tFileIcon,\n\tFlaskConical,\n\tChevronUp,\n} from 'lucide-react';\nimport { Textarea } from '../ui/Textarea';\nimport { FileMentionPopup } from './FileMentionPopup';\nimport { CommandSuggestionsPopup } from './CommandSuggestionsPopup';\nimport { ShortcutsModal } from './ShortcutsModal';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { useFiles } from '../../hooks/useFiles';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useConfig, useUpdateDefaults } from '../../hooks/useConfig';\nimport { useVimMode } from '../../hooks/useVimMode';\nimport { useFileMention } from '../../hooks/useFileMention';\nimport { useCommandSuggestions } from '../../hooks/useCommandSuggestions';\nimport { createChatInputKeyHandler } from './ChatInputKeyHandler';\nimport {\n\tfindExactCommand,\n\tshouldSendSlashCommandAsMessage,\n} from '../../lib/commands';\nimport { useOttoRouterStore } from '../../stores/ottorouterStore';\nimport type { FileAttachment } from '../../hooks/useFileUpload';\nimport { InputApprovalBar } from './InputApprovalBar';\n\ninterface ChatInputProps {\n\tonSend: (message: string) => void;\n\tonCommand?: (commandId: string) => void;\n\tdisabled?: boolean;\n\tonConfigClick?: () => void;\n\tonPlanModeToggle?: (isPlanMode: boolean) => void;\n\tisPlanMode?: boolean;\n\treasoningEnabled?: boolean;\n\tsessionId?: string;\n\timages?: FileAttachment[];\n\tdocuments?: FileAttachment[];\n\tonFileRemove?: (id: string) => void;\n\tisDragging?: boolean;\n\tonPaste?: (e: ClipboardEvent) => void;\n\tvisionEnabled?: boolean;\n\tattachmentEnabled?: boolean;\n\tmodelName?: string;\n\tproviderName?: string;\n\tisCustomProvider?: boolean;\n\tauthType?: 'api' | 'oauth' | 'wallet';\n\tisFreeModel?: boolean;\n\tresearchContexts?: Array<{ id: string; label: string }>;\n\tonResearchContextRemove?: (id: string) => void;\n\tonModelInfoClick?: () => void;\n\tagent?: string;\n\tagents?: string[];\n\tonAgentChange?: (agent: string) => void;\n}\n\nexport const ChatInput = memo(\n\tforwardRef<\n\t\t{ focus: () => void; setValue: (value: string) => void },\n\t\tChatInputProps\n\t>(function ChatInput(\n\t\t{\n\t\t\tonSend,\n\t\t\tonCommand,\n\t\t\tdisabled,\n\t\t\tonConfigClick,\n\t\t\tonPlanModeToggle,\n\t\t\tisPlanMode: externalIsPlanMode,\n\t\t\treasoningEnabled,\n\t\t\tsessionId,\n\t\t\timages = [],\n\t\t\tdocuments = [],\n\t\t\tonFileRemove,\n\t\t\tisDragging = false,\n\t\t\tonPaste,\n\t\t\tvisionEnabled = false,\n\t\t\tattachmentEnabled = false,\n\t\t\tmodelName,\n\t\t\tproviderName,\n\t\t\tisCustomProvider = false,\n\t\t\tauthType,\n\t\t\tisFreeModel,\n\t\t\tresearchContexts = [],\n\t\t\tonResearchContextRemove,\n\t\t\tonModelInfoClick,\n\t\t\tagent,\n\t\t\tagents = [],\n\t\t\tonAgentChange,\n\t\t},\n\t\tref,\n\t) {\n\t\tconst [message, setMessage] = useState('');\n\t\tconst [isPlanMode, setIsPlanMode] = useState(externalIsPlanMode || false);\n\t\tconst [showShortcutsModal, setShowShortcutsModal] = useState(false);\n\t\tconst [showAgentDropdown, setShowAgentDropdown] = useState(false);\n\t\tconst textareaRef = useRef<HTMLTextAreaElement>(null);\n\t\tconst agentDropdownRef = useRef<HTMLDivElement>(null);\n\n\t\tconst { preferences, updatePreferences } = usePreferences();\n\t\tconst { data: configData } = useConfig();\n\t\tconst updateDefaultsMutation = useUpdateDefaults();\n\n\t\tconst setuSubscription = useOttoRouterStore((s) => s.subscription);\n\t\tconst isSetu = providerName === 'ottorouter';\n\t\tconst setuPlanLabel = useMemo(() => {\n\t\t\tif (!isSetu) return null;\n\t\t\tif (setuSubscription?.active) {\n\t\t\t\treturn setuSubscription.tierName ?? 'GO';\n\t\t\t}\n\t\t\treturn null;\n\t\t}, [isSetu, setuSubscription]);\n\n\t\tuseEffect(() => {\n\t\t\tif (!showAgentDropdown) return;\n\t\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\t\tif (\n\t\t\t\t\tagentDropdownRef.current &&\n\t\t\t\t\t!agentDropdownRef.current.contains(event.target as Node)\n\t\t\t\t) {\n\t\t\t\t\tsetShowAgentDropdown(false);\n\t\t\t\t}\n\t\t\t};\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t\treturn () =>\n\t\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t}, [showAgentDropdown]);\n\n\t\tconst handleSendRef = useRef<() => void>(() => {});\n\n\t\tconst {\n\t\t\tshowFileMention,\n\t\t\tmentionQuery,\n\t\t\tmentionSelectedIndex,\n\t\t\tcurrentFileToSelect,\n\t\t\tsetShowFileMention,\n\t\t\tsetMentionSelectedIndex,\n\t\t\tsetCurrentFileToSelect,\n\t\t\thandleFileSelect: selectFile,\n\t\t\thandleEnterSelect: handleMentionEnterSelect,\n\t\t\tcheckForMention,\n\t\t} = useFileMention();\n\n\t\tconst { data: filesData, isLoading: filesLoading } = useFiles({\n\t\t\tenabled: showFileMention,\n\t\t\tquery: mentionQuery,\n\t\t});\n\t\tconst files = filesData?.files || [];\n\t\tconst changedFiles = filesData?.changedFiles || [];\n\n\t\tconst {\n\t\t\tshowCommandSuggestions,\n\t\t\tcommandQuery,\n\t\t\tcommandSelectedIndex,\n\t\t\tcurrentCommandToSelect,\n\t\t\tsetShowCommandSuggestions,\n\t\t\tsetCommandSelectedIndex,\n\t\t\tsetCurrentCommandToSelect,\n\t\t\thandleCommandSelect,\n\t\t\thandleCommandEnterSelect,\n\t\t\tcheckForCommand,\n\t\t} = useCommandSuggestions({\n\t\t\tonCommand,\n\t\t\tonSendCommandMessage: onSend,\n\t\t\tupdatePreferences,\n\t\t\tupdateReasoningText: (enabled: boolean) =>\n\t\t\t\tupdateDefaultsMutation.mutate({\n\t\t\t\t\treasoningText: enabled,\n\t\t\t\t\tscope: 'global',\n\t\t\t\t}),\n\t\t\tvimModeEnabled: preferences.vimMode,\n\t\t\treasoningEnabled: configData?.defaults?.reasoningText ?? true,\n\t\t\ttextareaRef,\n\t\t\tsetMessage,\n\t\t\tsetShowShortcutsModal,\n\t\t\tsessionId,\n\t\t});\n\n\t\tconst { vimMode, setVimMode, handleVimNormalMode } = useVimMode({\n\t\t\tenabled: preferences.vimMode,\n\t\t\tonSend: () => handleSendRef.current(),\n\t\t\ttextareaRef,\n\t\t\tsetMessage,\n\t\t});\n\n\t\tuseEffect(() => {\n\t\t\ttextareaRef.current?.focus();\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tif (externalIsPlanMode !== undefined) {\n\t\t\t\tsetIsPlanMode(externalIsPlanMode);\n\t\t\t}\n\t\t}, [externalIsPlanMode]);\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tfocus: () => {\n\t\t\t\ttextareaRef.current?.focus();\n\t\t\t},\n\t\t\tsetValue: (value: string) => {\n\t\t\t\tsetMessage(value);\n\t\t\t\ttextareaRef.current?.focus();\n\t\t\t},\n\t\t}));\n\n\t\tconst adjustTextareaHeight = useCallback(() => {\n\t\t\tconst textarea = textareaRef.current;\n\t\t\tif (!textarea) return;\n\t\t\ttextarea.style.height = 'auto';\n\t\t\ttextarea.style.height = `${textarea.scrollHeight}px`;\n\t\t}, []);\n\n\t\t// biome-ignore lint/correctness/useExhaustiveDependencies: message dependency required for adjusting textarea height on content change\n\t\tuseEffect(() => {\n\t\t\tadjustTextareaHeight();\n\t\t}, [adjustTextareaHeight, message]);\n\n\t\tconst handleMentionClose = useCallback(() => {\n\t\t\tsetShowFileMention(false);\n\t\t\tsetCurrentFileToSelect(undefined);\n\t\t}, [setShowFileMention, setCurrentFileToSelect]);\n\n\t\tconst handleCommandClose = useCallback(() => {\n\t\t\tsetShowCommandSuggestions(false);\n\t\t\tsetCurrentCommandToSelect(undefined);\n\t\t}, [setShowCommandSuggestions, setCurrentCommandToSelect]);\n\n\t\tconst handleMentionSelect = useCallback(\n\t\t\t(filePath: string) => {\n\t\t\t\tselectFile(filePath, textareaRef, setMessage);\n\t\t\t},\n\t\t\t[selectFile],\n\t\t);\n\n\t\tconst handleSend = useCallback(() => {\n\t\t\tconst trimmedMessage = message.trim();\n\t\t\tif (!trimmedMessage || disabled) return;\n\n\t\t\tconst resetComposer = () => {\n\t\t\t\tsetMessage('');\n\t\t\t\tsetShowFileMention(false);\n\t\t\t\tsetShowCommandSuggestions(false);\n\t\t\t\tsetCurrentFileToSelect(undefined);\n\t\t\t\tsetCurrentCommandToSelect(undefined);\n\n\t\t\t\tif (textareaRef.current) {\n\t\t\t\t\ttextareaRef.current.style.height = 'auto';\n\t\t\t\t}\n\n\t\t\t\tif (preferences.vimMode) {\n\t\t\t\t\tsetVimMode('normal');\n\t\t\t\t}\n\n\t\t\t\ttextareaRef.current?.focus();\n\t\t\t};\n\n\t\t\tconst exactCommand = findExactCommand(trimmedMessage);\n\t\t\tif (exactCommand) {\n\t\t\t\tif (shouldSendSlashCommandAsMessage(exactCommand.id)) {\n\t\t\t\t\tonSend(exactCommand.label);\n\t\t\t\t\tresetComposer();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (onCommand) {\n\t\t\t\t\tonCommand(exactCommand.id);\n\t\t\t\t\tresetComposer();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tonSend(message);\n\t\t\tresetComposer();\n\t\t}, [\n\t\t\tmessage,\n\t\t\tdisabled,\n\t\t\tonCommand,\n\t\t\tonSend,\n\t\t\tpreferences.vimMode,\n\t\t\tsetShowFileMention,\n\t\t\tsetShowCommandSuggestions,\n\t\t\tsetCurrentFileToSelect,\n\t\t\tsetCurrentCommandToSelect,\n\t\t\tsetVimMode,\n\t\t]);\n\n\t\tuseEffect(() => {\n\t\t\thandleSendRef.current = handleSend;\n\t\t}, [handleSend]);\n\n\t\tconst handleChange = useCallback(\n\t\t\t(e: ChangeEvent<HTMLTextAreaElement>) => {\n\t\t\t\tif (preferences.vimMode && vimMode === 'normal') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst value = e.target.value;\n\t\t\t\tsetMessage(value);\n\n\t\t\t\tcheckForCommand(value);\n\n\t\t\t\tif (value.startsWith('/') && !value.includes(' ')) {\n\t\t\t\t\tsetShowFileMention(false);\n\t\t\t\t\tsetCurrentFileToSelect(undefined);\n\t\t\t\t} else {\n\t\t\t\t\tsetShowCommandSuggestions(false);\n\t\t\t\t\tsetCurrentCommandToSelect(undefined);\n\t\t\t\t\tcheckForMention(value, e.target.selectionStart);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[\n\t\t\t\tpreferences.vimMode,\n\t\t\t\tvimMode,\n\t\t\t\tcheckForCommand,\n\t\t\t\tsetShowFileMention,\n\t\t\t\tsetCurrentFileToSelect,\n\t\t\t\tsetShowCommandSuggestions,\n\t\t\t\tsetCurrentCommandToSelect,\n\t\t\t\tcheckForMention,\n\t\t\t],\n\t\t);\n\n\t\tconst handleKeyDown = useMemo(\n\t\t\t() =>\n\t\t\t\tcreateChatInputKeyHandler({\n\t\t\t\t\tshowFileMention,\n\t\t\t\t\tshowCommandSuggestions,\n\t\t\t\t\tmentionSelectedIndex,\n\t\t\t\t\tcommandSelectedIndex,\n\t\t\t\t\tcurrentFileToSelect,\n\t\t\t\t\tcurrentCommandToSelect,\n\t\t\t\t\tisPlanMode,\n\t\t\t\t\tvimModeEnabled: preferences.vimMode,\n\t\t\t\t\tvimMode,\n\t\t\t\t\tsetMentionSelectedIndex,\n\t\t\t\t\tsetCommandSelectedIndex,\n\t\t\t\t\tsetShowFileMention,\n\t\t\t\t\tsetShowCommandSuggestions,\n\t\t\t\t\tsetIsPlanMode,\n\t\t\t\t\tsetVimMode,\n\t\t\t\t\thandleFileSelect: handleMentionSelect,\n\t\t\t\t\thandleCommandSelect,\n\t\t\t\t\thandleSend,\n\t\t\t\t\thandleVimNormalMode,\n\t\t\t\t\tonPlanModeToggle,\n\t\t\t\t}),\n\t\t\t[\n\t\t\t\tshowFileMention,\n\t\t\t\tshowCommandSuggestions,\n\t\t\t\tmentionSelectedIndex,\n\t\t\t\tcommandSelectedIndex,\n\t\t\t\tcurrentFileToSelect,\n\t\t\t\tcurrentCommandToSelect,\n\t\t\t\tisPlanMode,\n\t\t\t\tpreferences.vimMode,\n\t\t\t\tvimMode,\n\t\t\t\tsetMentionSelectedIndex,\n\t\t\t\tsetCommandSelectedIndex,\n\t\t\t\tsetShowFileMention,\n\t\t\t\tsetShowCommandSuggestions,\n\t\t\t\tsetVimMode,\n\t\t\t\thandleMentionSelect,\n\t\t\t\thandleCommandSelect,\n\t\t\t\thandleSend,\n\t\t\t\thandleVimNormalMode,\n\t\t\t\tonPlanModeToggle,\n\t\t\t],\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tif (!preferences.vimMode) {\n\t\t\t\tsetVimMode('insert');\n\t\t\t}\n\t\t}, [preferences.vimMode, setVimMode]);\n\n\t\tconst handleTextareaPaste = useCallback(\n\t\t\t(e: ClipboardEvent<HTMLTextAreaElement>) => {\n\t\t\t\tonPaste?.(e as unknown as ClipboardEvent);\n\t\t\t},\n\t\t\t[onPaste],\n\t\t);\n\n\t\tconst hasImages = images.length > 0;\n\t\tconst hasDocuments = documents.length > 0;\n\t\tconst hasFiles = hasImages || hasDocuments;\n\t\tconst inputWidthClass = preferences.fullWidthContent\n\t\t\t? 'w-full pointer-events-auto relative'\n\t\t\t: 'max-w-3xl mx-auto pointer-events-auto relative';\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{isDragging &&\n\t\t\t\t\t(() => {\n\t\t\t\t\t\tconst supportsAny = visionEnabled || attachmentEnabled;\n\t\t\t\t\t\tconst fileTypes = [\n\t\t\t\t\t\t\t...(visionEnabled ? ['Images'] : []),\n\t\t\t\t\t\t\t...(attachmentEnabled ? ['PDF'] : []),\n\t\t\t\t\t\t\t'Markdown',\n\t\t\t\t\t\t\t'Text',\n\t\t\t\t\t\t].join(', ');\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div className=\"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm pointer-events-none\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`flex flex-col items-center gap-4 p-8 rounded-2xl border-2 border-dashed ${supportsAny ? 'bg-card border-primary/50' : 'bg-card border-muted-foreground/30'}`}\n\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\t\tclassName={`p-4 rounded-full ${supportsAny ? 'bg-primary/10' : 'bg-muted'}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<FileIcon\n\t\t\t\t\t\t\t\t\t\t\tclassName={`w-12 h-12 ${supportsAny ? 'text-primary' : 'text-muted-foreground'}`}\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\t<div className=\"text-center\">\n\t\t\t\t\t\t\t\t\t\t<p className=\"text-lg font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\t\tDrop files here\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{fileTypes} up to 10MB\n\t\t\t\t\t\t\t\t\t\t</p>\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</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})()}\n\t\t\t\t<div className=\"absolute bottom-0 left-0 right-0 pt-16 pb-5 md:pb-6 px-2 md:px-4 bg-gradient-to-t from-background via-background to-transparent pointer-events-none z-20 safe-area-inset-bottom\">\n\t\t\t\t\t<div className={inputWidthClass}>\n\t\t\t\t\t\t{preferences.vimMode && vimMode === 'normal' && (\n\t\t\t\t\t\t\t<div className=\"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-amber-500/90 text-white rounded shadow-sm\">\n\t\t\t\t\t\t\t\tNORMAL\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{preferences.vimMode && vimMode === 'insert' && (\n\t\t\t\t\t\t\t<div className=\"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-green-500/90 text-white rounded shadow-sm\">\n\t\t\t\t\t\t\t\tINSERT\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{sessionId && (\n\t\t\t\t\t\t\t<div className=\"pointer-events-auto w-3/4 mx-auto relative z-0\">\n\t\t\t\t\t\t\t\t<InputApprovalBar sessionId={sessionId} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`relative z-10 flex flex-col rounded-3xl p-1 transition-all touch-manipulation ${\n\t\t\t\t\t\t\t\tisPlanMode\n\t\t\t\t\t\t\t\t\t? 'bg-slate-100 dark:bg-slate-900/40 border border-slate-300 dark:border-slate-700 focus-within:border-slate-400 dark:focus-within:border-slate-600 focus-within:ring-1 focus-within:ring-slate-300 dark:focus-within:ring-slate-700'\n\t\t\t\t\t\t\t\t\t: 'bg-card border border-border focus-within:border-primary/60 focus-within:ring-1 focus-within:ring-primary/40'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{hasFiles && (\n\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 px-3 pt-2 pb-1\">\n\t\t\t\t\t\t\t\t\t{images.map((img) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={img.id}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"relative group w-12 h-12 rounded-lg overflow-hidden bg-muted\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={img.preview}\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"Attachment\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-full object-cover\"\n\t\t\t\t\t\t\t\t\t\t\t/>\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\tonClick={() => onFileRemove?.(img.id)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity\"\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<X className=\"w-3 h-3 text-white\" />\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))}\n\t\t\t\t\t\t\t\t\t{documents.map((doc) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={doc.id}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-muted max-w-[200px]\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{doc.type === 'pdf' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<FileIcon className=\"w-4 h-4 text-red-500 flex-shrink-0\" />\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<FileText className=\"w-4 h-4 text-blue-500 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs truncate\">{doc.name}</span>\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\tonClick={() => onFileRemove?.(doc.id)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity\"\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<X className=\"w-3 h-3 text-white\" />\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))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{researchContexts.length > 0 && (\n\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 px-3 pt-2 pb-1\">\n\t\t\t\t\t\t\t\t\t{researchContexts.map((ctx) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ctx.id}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30 max-w-[200px]\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<FlaskConical className=\"w-4 h-4 text-teal-500 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs truncate text-teal-600 dark:text-teal-400\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ctx.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\t{onResearchContextRemove && (\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={() => onResearchContextRemove(ctx.id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity\"\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<X className=\"w-3 h-3 text-white\" />\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)}\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</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<div className=\"flex items-end gap-1\">\n\t\t\t\t\t\t\t\t{onConfigClick && (\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={onConfigClick}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center justify-center w-10 h-10 rounded-full hover:bg-background/50 active:bg-background/70 transition-colors text-muted-foreground hover:text-foreground flex-shrink-0 touch-manipulation\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<MoreVertical className=\"w-4 h-4\" />\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\t<Textarea\n\t\t\t\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\t\t\t\tvalue={message}\n\t\t\t\t\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\tonPaste={handleTextareaPaste}\n\t\t\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t\t\tisPlanMode\n\t\t\t\t\t\t\t\t\t\t\t? 'Plan mode - Type a message...'\n\t\t\t\t\t\t\t\t\t\t\t: 'Type a message...'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\trows={1}\n\t\t\t\t\t\t\t\t\tclassName={`border-0 bg-transparent pl-1 pr-2 py-2 max-h-[200px] overflow-y-auto leading-normal resize-none scrollbar-hide text-base ${\n\t\t\t\t\t\t\t\t\t\tpreferences.vimMode && vimMode === 'normal'\n\t\t\t\t\t\t\t\t\t\t\t? 'caret-[6px]'\n\t\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\tstyle={{ height: '2.5rem' }}\n\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\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleSend}\n\t\t\t\t\t\t\t\t\tdisabled={disabled || (!message.trim() && !hasFiles)}\n\t\t\t\t\t\t\t\t\tclassName={`flex items-center justify-center w-10 h-10 rounded-full transition-colors flex-shrink-0 touch-manipulation ${\n\t\t\t\t\t\t\t\t\t\tmessage.trim() || hasFiles\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-primary hover:bg-primary/90 active:bg-primary/80 text-primary-foreground'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-transparent text-muted-foreground'\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<ArrowUp className=\"w-4 h-4\" />\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\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`grid transition-[grid-template-rows] duration-200 ease-out ${\n\t\t\t\t\t\t\t\treasoningEnabled ||\n\t\t\t\t\t\t\t\tvisionEnabled ||\n\t\t\t\t\t\t\t\tmodelName ||\n\t\t\t\t\t\t\t\tproviderName ||\n\t\t\t\t\t\t\t\tauthType ||\n\t\t\t\t\t\t\t\tagent\n\t\t\t\t\t\t\t\t\t? 'grid-rows-[1fr]'\n\t\t\t\t\t\t\t\t\t: 'grid-rows-[0fr]'\n\t\t\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\tclassName={\n\t\t\t\t\t\t\t\t\tshowAgentDropdown ? 'overflow-visible' : 'overflow-hidden'\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=\"grid grid-cols-[auto_1fr_auto] items-center mt-1 px-3\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"justify-self-start flex-shrink-0 relative\"\n\t\t\t\t\t\t\t\t\t\tref={agentDropdownRef}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{agent && agents.length > 0 && (\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\tonClick={() => setShowAgentDropdown(!showAgentDropdown)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-[10px] text-muted-foreground flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer\"\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=\"uppercase font-medium\">{agent}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t<ChevronUp\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`h-2.5 w-2.5 transition-transform ${showAgentDropdown ? 'rotate-180' : ''}`}\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</button>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{showAgentDropdown && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"absolute bottom-full left-0 mb-1 min-w-[120px] bg-popover border border-border rounded-md shadow-lg overflow-hidden z-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t{agents.map((a) => (\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={a}\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\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonAgentChange?.(a);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetShowAgentDropdown(false);\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\tclassName={`w-full text-left px-3 py-1.5 text-xs transition-colors hover:bg-accent ${a === agent ? 'text-foreground font-medium bg-accent/50' : 'text-muted-foreground'}`}\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{a}\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</div>\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\t<div className=\"justify-self-center\">\n\t\t\t\t\t\t\t\t\t\t{(providerName || modelName || authType) && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-[10px] text-muted-foreground flex items-center gap-1 px-2 py-0.5\">\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={onModelInfoClick}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer\"\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{providerName && (\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<ProviderLogo\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprovider={providerName}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize={12}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"opacity-70\"\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<span className=\"opacity-40\">/</span>\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{modelName && <span>{modelName}</span>}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isCustomProvider && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"opacity-50\">(custom)</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{authType && authType === 'oauth' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"opacity-50\">(pro)</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{isSetu && setuPlanLabel && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"opacity-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t({setuPlanLabel.toLowerCase()})\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{isFreeModel && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"opacity-50\">(free)</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</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\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"justify-self-end flex-shrink-0 flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t{reasoningEnabled && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-indigo-600 dark:text-indigo-300 flex items-center gap-1 w-[52px] justify-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Brain className=\"h-3 w-3 flex-shrink-0\" />\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\tconfigData?.defaults?.reasoningLevel ?? 'high'\n\t\t\t\t\t\t\t\t\t\t\t\t).replace('xhigh', 'x-high')}\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\t{visionEnabled && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-emerald-600 dark:text-emerald-400 flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t<ImageIcon className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\timages\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</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{showFileMention && !filesLoading && (\n\t\t\t\t\t\t\t<FileMentionPopup\n\t\t\t\t\t\t\t\tfiles={files}\n\t\t\t\t\t\t\t\tchangedFiles={changedFiles}\n\t\t\t\t\t\t\t\tquery={mentionQuery}\n\t\t\t\t\t\t\t\tselectedIndex={mentionSelectedIndex}\n\t\t\t\t\t\t\t\tonSelect={handleMentionSelect}\n\t\t\t\t\t\t\t\tonEnterSelect={handleMentionEnterSelect}\n\t\t\t\t\t\t\t\tonClose={handleMentionClose}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{showCommandSuggestions && (\n\t\t\t\t\t\t\t<CommandSuggestionsPopup\n\t\t\t\t\t\t\t\tquery={commandQuery}\n\t\t\t\t\t\t\t\tselectedIndex={commandSelectedIndex}\n\t\t\t\t\t\t\t\tonSelect={handleCommandSelect}\n\t\t\t\t\t\t\t\tonEnterSelect={handleCommandEnterSelect}\n\t\t\t\t\t\t\t\tonClose={handleCommandClose}\n\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<ShortcutsModal\n\t\t\t\t\t\t\tisOpen={showShortcutsModal}\n\t\t\t\t\t\t\tonClose={() => setShowShortcutsModal(false)}\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);\n\t}),\n);\n",
|
|
19
20
|
"import { useEffect, useMemo } from 'react';\nimport Fuse from 'fuse.js';\nimport {\n\tFile,\n\tFileCode,\n\tFileJson,\n\tFileText,\n\tImage,\n\tBraces,\n\tFileType,\n\tPlus,\n\tPencil,\n\ttype LucideIcon,\n} from 'lucide-react';\n\ninterface FileMentionPopupProps {\n\tfiles: string[];\n\tchangedFiles?: Array<{\n\t\tpath: string;\n\t\tstatus: string;\n\t}>;\n\tquery: string;\n\tselectedIndex: number;\n\tonSelect: (file: string) => void;\n\tonEnterSelect: (file: string | undefined) => void;\n\tonClose: () => void;\n}\n\nfunction getFileIcon(filePath: string): LucideIcon {\n\tconst ext = filePath.split('.').pop()?.toLowerCase();\n\n\tswitch (ext) {\n\t\tcase 'ts':\n\t\tcase 'tsx':\n\t\tcase 'js':\n\t\tcase 'jsx':\n\t\tcase 'mjs':\n\t\tcase 'cjs':\n\t\tcase 'py':\n\t\tcase 'rb':\n\t\tcase 'go':\n\t\tcase 'rs':\n\t\tcase 'java':\n\t\tcase 'c':\n\t\tcase 'cpp':\n\t\tcase 'h':\n\t\tcase 'hpp':\n\t\t\treturn FileCode;\n\t\tcase 'json':\n\t\tcase 'yaml':\n\t\tcase 'yml':\n\t\tcase 'toml':\n\t\t\treturn FileJson;\n\t\tcase 'md':\n\t\tcase 'txt':\n\t\tcase 'log':\n\t\t\treturn FileText;\n\t\tcase 'png':\n\t\tcase 'jpg':\n\t\tcase 'jpeg':\n\t\tcase 'gif':\n\t\tcase 'svg':\n\t\tcase 'webp':\n\t\t\treturn Image;\n\t\tcase 'css':\n\t\tcase 'scss':\n\t\tcase 'sass':\n\t\tcase 'less':\n\t\t\treturn Braces;\n\t\tcase 'html':\n\t\tcase 'xml':\n\t\t\treturn FileType;\n\t\tdefault:\n\t\t\treturn File;\n\t}\n}\n\nfunction getGitStatusInfo(\n\tfilePath: string,\n\tchangedFilesMap: Map<string, string>,\n) {\n\tconst status = changedFilesMap.get(filePath);\n\tif (!status) {\n\t\treturn null;\n\t}\n\n\tconst icons: Record<\n\t\tstring,\n\t\t{ icon: LucideIcon; label: string; className: string }\n\t> = {\n\t\tadded: { icon: Plus, label: 'Added', className: 'text-green-500' },\n\t\tmodified: { icon: Pencil, label: 'Modified', className: 'text-yellow-500' },\n\t\tuntracked: { icon: Plus, label: 'Untracked', className: 'text-blue-500' },\n\t};\n\n\treturn (\n\t\ticons[status] || {\n\t\t\ticon: Pencil,\n\t\t\tlabel: 'Modified',\n\t\t\tclassName: 'text-yellow-500',\n\t\t}\n\t);\n}\n\nexport function FileMentionPopup({\n\tfiles,\n\tchangedFiles = [],\n\tquery,\n\tselectedIndex,\n\tonSelect,\n\tonEnterSelect,\n\tonClose,\n}: FileMentionPopupProps) {\n\tconst changedFilesMap = useMemo(\n\t\t() => new Map(changedFiles?.map((f) => [f.path, f.status]) || []),\n\t\t[changedFiles],\n\t);\n\n\tconst fuse = useMemo(\n\t\t() =>\n\t\t\tnew Fuse(\n\t\t\t\tfiles.map((f) => ({\n\t\t\t\t\tpath: f,\n\t\t\t\t\tfilename: f.split('/').pop() || f,\n\t\t\t\t\tnormalized: f.replace(/[.\\-_/]/g, ''),\n\t\t\t\t})),\n\t\t\t\t{\n\t\t\t\t\tkeys: [\n\t\t\t\t\t\t{ name: 'filename', weight: 2 },\n\t\t\t\t\t\t{ name: 'normalized', weight: 1.5 },\n\t\t\t\t\t\t{ name: 'path', weight: 1 },\n\t\t\t\t\t],\n\t\t\t\t\tthreshold: 0.3,\n\t\t\t\t\tdistance: 200,\n\t\t\t\t\tignoreLocation: true,\n\t\t\t\t\tincludeScore: true,\n\t\t\t\t},\n\t\t\t),\n\t\t[files],\n\t);\n\n\tconst results = useMemo(() => {\n\t\tif (!query) {\n\t\t\treturn files.slice(0, 20);\n\t\t}\n\t\tconst normalizedQuery = query.replace(/[.\\-_/]/g, '');\n\t\tconst searchResults = fuse.search(normalizedQuery);\n\n\t\tsearchResults.sort((a, b) => {\n\t\t\tconst scoreA = a.score ?? 1;\n\t\t\tconst scoreB = b.score ?? 1;\n\t\t\tconst scoreDiff = Math.abs(scoreA - scoreB);\n\t\t\tif (scoreDiff < 0.05) {\n\t\t\t\tconst aChanged = changedFilesMap.has(a.item.path);\n\t\t\t\tconst bChanged = changedFilesMap.has(b.item.path);\n\t\t\t\tif (aChanged && !bChanged) return -1;\n\t\t\t\tif (!aChanged && bChanged) return 1;\n\t\t\t}\n\t\t\treturn scoreA - scoreB;\n\t\t});\n\n\t\treturn searchResults.slice(0, 20).map((r) => r.item.path);\n\t}, [fuse, query, files, changedFilesMap]);\n\n\tuseEffect(() => {\n\t\tconst element = document.getElementById(`file-item-${selectedIndex}`);\n\t\telement?.scrollIntoView({ block: 'nearest' });\n\t}, [selectedIndex]);\n\n\tuseEffect(() => {\n\t\tonEnterSelect(results[selectedIndex]);\n\t}, [results, selectedIndex, onEnterSelect]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (e: MouseEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tif (!target.closest('[data-file-mention-popup]')) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\treturn () => document.removeEventListener('mousedown', handleClickOutside);\n\t}, [onClose]);\n\n\tif (results.length === 0) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-file-mention-popup\n\t\t\t\tclassName=\"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3\"\n\t\t\t>\n\t\t\t\t<span className=\"text-muted-foreground text-sm\">No files found</span>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-file-mention-popup\n\t\t\tclassName=\"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50\"\n\t\t>\n\t\t\t{results.map((filePath, index) => (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tkey={filePath}\n\t\t\t\t\tid={`file-item-${index}`}\n\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tonSelect(filePath);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent ${\n\t\t\t\t\t\tindex === selectedIndex ? 'bg-accent' : ''\n\t\t\t\t\t}`}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex items-center gap-2 w-full\">\n\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\tconst Icon = getFileIcon(filePath);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Icon className=\"w-4 h-4 flex-shrink-0 text-muted-foreground\" />\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})()}\n\t\t\t\t\t\t<span className=\"font-mono text-sm flex-1 truncate\">\n\t\t\t\t\t\t\t{filePath}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\tconst status = getGitStatusInfo(filePath, changedFilesMap);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tstatus && (\n\t\t\t\t\t\t\t\t\t<span title={status.label}>\n\t\t\t\t\t\t\t\t\t\t<status.icon\n\t\t\t\t\t\t\t\t\t\t\tclassName={`w-3.5 h-3.5 flex-shrink-0 ${status.className}`}\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)\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</button>\n\t\t\t))}\n\t\t</div>\n\t);\n}\n",
|
|
20
21
|
"import { useEffect, useMemo } from 'react';\nimport { useConfig } from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useShareStatus } from '../../hooks/useShareStatus';\nimport { filterCommands, getCommandDescription } from '../../lib/commands';\n\ninterface CommandSuggestionsPopupProps {\n\tquery: string;\n\tselectedIndex: number;\n\tonSelect: (commandId: string) => void;\n\tonEnterSelect: (commandId: string | undefined) => void;\n\tonClose: () => void;\n\tsessionId?: string;\n}\n\nexport function CommandSuggestionsPopup({\n\tquery,\n\tselectedIndex,\n\tonSelect,\n\tonEnterSelect,\n\tonClose,\n\tsessionId,\n}: CommandSuggestionsPopupProps) {\n\tconst { preferences } = usePreferences();\n\tconst { data: config } = useConfig();\n\tconst { data: shareStatus } = useShareStatus(sessionId);\n\n\tconst state = useMemo(\n\t\t() => ({\n\t\t\tvimModeEnabled: preferences.vimMode,\n\t\t\treasoningEnabled: config?.defaults?.reasoningText ?? true,\n\t\t\tisShared: shareStatus?.shared,\n\t\t}),\n\t\t[preferences.vimMode, config?.defaults?.reasoningText, shareStatus?.shared],\n\t);\n\n\tconst results = useMemo(() => filterCommands(query, state), [query, state]);\n\n\tuseEffect(() => {\n\t\tconst element = document.getElementById(`command-item-${selectedIndex}`);\n\t\telement?.scrollIntoView({ block: 'nearest' });\n\t}, [selectedIndex]);\n\n\tuseEffect(() => {\n\t\tonEnterSelect(results[selectedIndex]?.id);\n\t}, [results, selectedIndex, onEnterSelect]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (e: MouseEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tif (!target.closest('[data-command-popup]')) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\treturn () => document.removeEventListener('mousedown', handleClickOutside);\n\t}, [onClose]);\n\n\tif (results.length === 0) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-command-popup\n\t\t\t\tclassName=\"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3\"\n\t\t\t>\n\t\t\t\t<span className=\"text-muted-foreground text-sm\">No commands found</span>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-command-popup\n\t\t\tclassName=\"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50\"\n\t\t>\n\t\t\t{results.map((command, index) => {\n\t\t\t\tconst Icon = command.icon;\n\t\t\t\treturn (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tkey={command.id}\n\t\t\t\t\t\tid={`command-item-${index}`}\n\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tonSelect(command.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-accent ${\n\t\t\t\t\t\t\tindex === selectedIndex ? 'bg-accent' : ''\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-3 w-full\">\n\t\t\t\t\t\t\t<Icon className=\"w-4 h-4 flex-shrink-0 text-primary\" />\n\t\t\t\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t\t\t\t<div className=\"font-mono text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t{command.label}\n\t\t\t\t\t\t\t\t</div>\n\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{getCommandDescription(command, state)}\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</div>\n\t\t\t\t\t</button>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n",
|
|
@@ -112,7 +113,7 @@
|
|
|
112
113
|
"import { memo, useState, type ComponentPropsWithoutRef } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport {\n\tUser,\n\tX,\n\tFileText,\n\tFileIcon,\n\tClock,\n\tTrash2,\n\tRotateCcw,\n\tFlaskConical,\n} from 'lucide-react';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport type { Message } from '../../types/api';\nimport { useMessageQueuePosition } from '../../hooks/useQueueState';\nimport { useQueueStore } from '../../stores/queueStore';\nimport { apiClient } from '../../lib/api-client';\nimport { parseResearchContext } from '../../lib/parseResearchContext';\n\ninterface UserMessageGroupProps {\n\tsessionId?: string;\n\tmessage: Message;\n\tisFirst: boolean;\n\tnextAssistantMessageId?: string;\n}\n\ninterface ImageData {\n\tdata: string;\n\tmediaType: string;\n}\n\ninterface FileData {\n\ttype: 'image' | 'pdf' | 'text';\n\tname: string;\n\tdata: string;\n\tmediaType: string;\n\ttextContent?: string;\n}\n\nexport const UserMessageGroup = memo(\n\tfunction UserMessageGroup({\n\t\tsessionId,\n\t\tmessage,\n\t\tnextAssistantMessageId,\n\t}: UserMessageGroupProps) {\n\t\tconst [expandedImage, setExpandedImage] = useState<string | null>(null);\n\t\tconst parts = message.parts || [];\n\t\tconst queryClient = useQueryClient();\n\n\t\tconst { isQueued, position } = useMessageQueuePosition(\n\t\t\tsessionId,\n\t\t\tnextAssistantMessageId ?? '',\n\t\t);\n\t\tconst setPendingRestoreText = useQueueStore(\n\t\t\t(state) => state.setPendingRestoreText,\n\t\t);\n\n\t\tconst textParts = parts.filter((p) => p.type === 'text');\n\t\tconst imageParts = parts.filter((p) => p.type === 'image');\n\t\tconst fileParts = parts.filter((p) => p.type === 'file');\n\n\t\tconst firstTextPart = textParts[0];\n\t\tlet rawContent = '';\n\n\t\tif (firstTextPart) {\n\t\t\tconst data = firstTextPart.contentJson || firstTextPart.content;\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\trawContent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\trawContent = data;\n\t\t\t} else if (data) {\n\t\t\t\trawContent = JSON.stringify(data, null, 2);\n\t\t\t}\n\t\t}\n\n\t\tconst { researchContexts: parsedResearchContexts, cleanContent: content } =\n\t\t\tparseResearchContext(rawContent);\n\n\t\tconst images: Array<{ id: string; src: string }> = [];\n\t\tfor (const part of imageParts) {\n\t\t\ttry {\n\t\t\t\tconst data = part.contentJson || JSON.parse(part.content || '{}');\n\t\t\t\tif (data && typeof data === 'object' && 'data' in data) {\n\t\t\t\t\tconst imgData = data as ImageData;\n\t\t\t\t\tconst src = `data:${imgData.mediaType};base64,${imgData.data}`;\n\t\t\t\t\timages.push({ id: part.id, src });\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\n\t\tconst files: Array<{ id: string; type: string; name: string }> = [];\n\t\tfor (const part of fileParts) {\n\t\t\ttry {\n\t\t\t\tconst data = part.contentJson || JSON.parse(part.content || '{}');\n\t\t\t\tif (data && typeof data === 'object' && 'type' in data) {\n\t\t\t\t\tconst fileData = data as FileData;\n\t\t\t\t\tif (fileData.type === 'image' && fileData.data) {\n\t\t\t\t\t\tconst src = `data:${fileData.mediaType};base64,${fileData.data}`;\n\t\t\t\t\t\timages.push({ id: part.id, src });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfiles.push({\n\t\t\t\t\t\t\tid: part.id,\n\t\t\t\t\t\t\ttype: fileData.type,\n\t\t\t\t\t\t\tname: fileData.name,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\n\t\tconst formatTime = (ts?: number) => {\n\t\t\tif (!ts) return '';\n\t\t\tconst date = new Date(ts);\n\t\t\treturn date.toLocaleTimeString([], {\n\t\t\t\thour: '2-digit',\n\t\t\t\tminute: '2-digit',\n\t\t\t});\n\t\t};\n\n\t\tconst hasContent = content.trim().length > 0;\n\t\tconst hasImages = images.length > 0;\n\t\tconst hasFiles = files.length > 0;\n\t\tconst hasResearchContexts = parsedResearchContexts.length > 0;\n\n\t\tif (!hasContent && !hasImages && !hasFiles && !hasResearchContexts)\n\t\t\treturn null;\n\n\t\tconst handleCancel = async () => {\n\t\t\tif (!sessionId || !nextAssistantMessageId) return;\n\t\t\tsetPendingRestoreText(content);\n\t\t\ttry {\n\t\t\t\tawait apiClient.removeFromQueue(sessionId, nextAssistantMessageId);\n\t\t\t\t// Invalidate messages to refresh UI\n\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Failed to cancel queued message:', err);\n\t\t\t}\n\t\t};\n\n\t\tconst handleDelete = async () => {\n\t\t\tif (!sessionId || !nextAssistantMessageId) return;\n\t\t\ttry {\n\t\t\t\tawait apiClient.removeFromQueue(sessionId, nextAssistantMessageId);\n\t\t\t\t// Invalidate messages to refresh UI\n\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Failed to delete queued message:', err);\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"relative pb-8 pt-6\">\n\t\t\t\t\t<div className=\"flex gap-3 md:gap-4 justify-end\">\n\t\t\t\t\t\t<div className=\"flex flex-col items-end min-w-0 flex-1 max-w-[calc(100%-3rem)] md:max-w-2xl\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-xs text-muted-foreground pb-2 justify-end\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium text-emerald-700 dark:text-emerald-300\">\n\t\t\t\t\t\t\t\t\tYou\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{message.createdAt && <span>·</span>}\n\t\t\t\t\t\t\t\t{message.createdAt && (\n\t\t\t\t\t\t\t\t\t<span>{formatTime(message.createdAt)}</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isQueued && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span>·</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"inline-flex items-center gap-1 text-amber-600 dark:text-amber-400\">\n\t\t\t\t\t\t\t\t\t\t\t<Clock className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\t\tQueued\n\t\t\t\t\t\t\t\t\t\t\t{position !== null && position > 0\n\t\t\t\t\t\t\t\t\t\t\t\t? ` #${position + 1}`\n\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t</span>\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 className=\"inline-block max-w-full text-sm text-foreground leading-relaxed bg-emerald-500/5 border border-emerald-500/20 rounded-xl px-4 py-3 [word-break:break-word] overflow-hidden\">\n\t\t\t\t\t\t\t\t{hasImages && (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 mb-2\">\n\t\t\t\t\t\t\t\t\t\t{images.map((img) => (\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\tkey={img.id}\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\tonClick={() => setExpandedImage(img.src)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-16 h-16 rounded-lg overflow-hidden bg-muted hover:ring-2 hover:ring-primary/50 transition-all\"\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<img\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={img.src}\n\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"Attachment\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-full object-cover\"\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</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\t{hasFiles && (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 mb-2\">\n\t\t\t\t\t\t\t\t\t\t{files.map((file) => (\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={file.id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-3 py-2 rounded-lg bg-muted/50 border border-border\"\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{file.type === 'pdf' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FileIcon className=\"w-4 h-4 text-red-500 flex-shrink-0\" />\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<FileText className=\"w-4 h-4 text-blue-500 flex-shrink-0\" />\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<span className=\"text-xs truncate max-w-[150px]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{file.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</div>\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\t{hasResearchContexts && (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2 mb-2\">\n\t\t\t\t\t\t\t\t\t\t{parsedResearchContexts.map((ctx) => (\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={ctx.id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30\"\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<FlaskConical className=\"w-4 h-4 text-teal-500 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-teal-600 dark:text-teal-400\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ctx.label}\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</div>\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\t{hasContent && (\n\t\t\t\t\t\t\t\t\t<div className=\"prose prose-invert prose-sm [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_*]:[word-break:break-word] [&_*]:overflow-wrap-anywhere whitespace-pre-wrap\">\n\t\t\t\t\t\t\t\t\t\t<ReactMarkdown\n\t\t\t\t\t\t\t\t\t\t\tremarkPlugins={[remarkGfm]}\n\t\t\t\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\t\t\t\ta: ({\n\t\t\t\t\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (window.self !== window.top && href) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.postMessage(\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\ttype: 'otto-open-url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: href,\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'*',\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\t{...props}\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{children}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\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>\n\t\t\t\t\t\t\t\t\t\t\t{content.replace(/\\n/g, ' \\n')}\n\t\t\t\t\t\t\t\t\t\t</ReactMarkdown>\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</div>\n\t\t\t\t\t\t\t{isQueued && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2\">\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={handleCancel}\n\t\t\t\t\t\t\t\t\t\tclassName=\"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Cancel and restore to input\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<RotateCcw className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\tCancel\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={handleDelete}\n\t\t\t\t\t\t\t\t\t\tclassName=\"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors\"\n\t\t\t\t\t\t\t\t\t\ttitle=\"Delete from queue\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Trash2 className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\tDelete\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)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-shrink-0 w-8 flex items-start justify-center\">\n\t\t\t\t\t\t\t<div className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 border-emerald-500/50 bg-emerald-500/20 dark:bg-emerald-500/10 relative bg-background\">\n\t\t\t\t\t\t\t\t<User className=\"h-4 w-4 text-emerald-700 dark:text-emerald-300\" />\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\t\t\t\t</div>\n\n\t\t\t\t{expandedImage && (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\tclassName=\"fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4\"\n\t\t\t\t\t\tonClick={() => setExpandedImage(null)}\n\t\t\t\t\t\tonKeyDown={(e) => e.key === 'Escape' && setExpandedImage(null)}\n\t\t\t\t\t\ttabIndex={-1}\n\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={() => setExpandedImage(null)}\n\t\t\t\t\t\t\tclassName=\"absolute top-4 right-4 p-2 rounded-full bg-white/10 hover:bg-white/20 transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<X className=\"w-6 h-6 text-white\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={expandedImage}\n\t\t\t\t\t\t\talt=\"Expanded attachment\"\n\t\t\t\t\t\t\tclassName=\"max-w-full max-h-full object-contain rounded-lg\"\n\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\tonKeyDown={(e) => e.key === 'Enter' && e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\tconst prevFirstPart = prevProps.message.parts?.[0];\n\t\tconst nextFirstPart = nextProps.message.parts?.[0];\n\n\t\treturn (\n\t\t\tprevProps.message.id === nextProps.message.id &&\n\t\t\tprevFirstPart?.content === nextFirstPart?.content &&\n\t\t\tprevFirstPart?.contentJson === nextFirstPart?.contentJson &&\n\t\t\tprevProps.message.createdAt === nextProps.message.createdAt &&\n\t\t\tprevProps.message.parts?.length === nextProps.message.parts?.length &&\n\t\t\tprevProps.sessionId === nextProps.sessionId &&\n\t\t\tprevProps.nextAssistantMessageId === nextProps.nextAssistantMessageId\n\t\t);\n\t},\n);\n",
|
|
113
114
|
"import { useMemo } from 'react';\nimport {\n\testimateModelCostUsd,\n\ttype ProviderId,\n\tgetModelInfo,\n} from '@ottocode/sdk/browser';\nimport type { Session } from '../../types/api';\nimport {\n\tClock,\n\tDollarSign,\n\tGitBranch,\n\tArrowUpRight,\n\tShare2,\n\tExternalLink,\n\tRefreshCw,\n} from 'lucide-react';\nimport { useParentSession } from '../../hooks/useBranch';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useShareStatus } from '../../hooks/useShareStatus';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { openUrl } from '../../lib/open-url';\nimport { EditableTitle } from './EditableTitle';\n\ninterface SessionHeaderProps {\n\tsession: Session;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport function SessionHeader({\n\tsession,\n\tonNavigateToSession,\n}: SessionHeaderProps) {\n\tconst { data: parentData } = useParentSession(\n\t\tsession.sessionType === 'branch' ? session.id : undefined,\n\t);\n\tconst { preferences } = usePreferences();\n\tconst { data: shareStatus } = useShareStatus(session.id);\n\n\tconst estimatedCost = useMemo(() => {\n\t\tconst inputTokens = session.totalInputTokens || 0;\n\t\tconst outputTokens = session.totalOutputTokens || 0;\n\t\tconst cachedInputTokens = session.totalCachedTokens || 0;\n\t\tconst cacheCreationInputTokens = session.totalCacheCreationTokens || 0;\n\t\treturn (\n\t\t\testimateModelCostUsd(session.provider as ProviderId, session.model, {\n\t\t\t\tinputTokens,\n\t\t\t\toutputTokens,\n\t\t\t\tcachedInputTokens,\n\t\t\t\tcacheCreationInputTokens,\n\t\t\t}) ?? 0\n\t\t);\n\t}, [\n\t\tsession.provider,\n\t\tsession.model,\n\t\tsession.totalInputTokens,\n\t\tsession.totalOutputTokens,\n\t\tsession.totalCachedTokens,\n\t\tsession.totalCacheCreationTokens,\n\t]);\n\n\tconst formatDuration = (ms: number | null) => {\n\t\tif (!ms) return '0s';\n\t\tconst seconds = Math.floor(ms / 1000);\n\t\tconst minutes = Math.floor(seconds / 60);\n\t\tconst hours = Math.floor(minutes / 60);\n\t\tif (hours > 0) return `${hours}h ${minutes % 60}m`;\n\t\tif (minutes > 0) return `${minutes}m ${seconds % 60}s`;\n\t\treturn `${seconds}s`;\n\t};\n\n\tconst formatNumber = (num: number) => num.toLocaleString('en-US');\n\n\tconst formatCompactNumber = (num: number) => {\n\t\tif (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n\t\tif (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n\t\treturn num.toString();\n\t};\n\n\tconst contextTokens = session.currentContextTokens || 0;\n\tconst outputTokens = session.totalOutputTokens || 0;\n\n\tconst isBranch = session.sessionType === 'branch';\n\tconst parentSession = parentData?.parent;\n\n\t// Calculate context usage for color indication\n\tconst contextLimit = useMemo(() => {\n\t\tconst info = getModelInfo(session.provider as ProviderId, session.model);\n\t\treturn info?.limit?.context;\n\t}, [session.provider, session.model]);\n\n\tconst contextUsagePercent = contextLimit\n\t\t? (contextTokens / contextLimit) * 100\n\t\t: 0;\n\n\tconst getContextColorClass = () => {\n\t\tif (contextUsagePercent >= 90) return 'text-red-600 dark:text-red-400';\n\t\tif (contextUsagePercent >= 70) return 'text-amber-600 dark:text-amber-400';\n\t\treturn 'text-foreground';\n\t};\n\n\tconst headerWidthClass = preferences.fullWidthContent\n\t\t? 'w-full px-6 py-6'\n\t\t: 'max-w-3xl mx-auto px-6 py-6';\n\n\treturn (\n\t\t<div className=\"border-b border-border bg-background/95 backdrop-blur-sm\">\n\t\t\t<div className={headerWidthClass}>\n\t\t\t\t{isBranch && (\n\t\t\t\t\t<div className=\"flex items-center gap-2 mb-3 text-sm\">\n\t\t\t\t\t\t<GitBranch className=\"h-4 w-4 text-violet-500\" />\n\t\t\t\t\t\t<span className=\"text-violet-600 dark:text-violet-400 font-medium\">\n\t\t\t\t\t\t\tBranch\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{parentSession && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">from</span>\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={() => onNavigateToSession?.(parentSession.id)}\n\t\t\t\t\t\t\t\t\tclassName=\"text-primary hover:underline flex items-center gap-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{parentSession.title ||\n\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`}\n\t\t\t\t\t\t\t\t\t<ArrowUpRight className=\"h-3 w-3\" />\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)}\n\t\t\t\t\t\t{!parentSession && session.parentSessionId && (\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground italic text-xs\">\n\t\t\t\t\t\t\t\t(parent deleted)\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)}\n\n\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t<EditableTitle\n\t\t\t\t\t\tsessionId={session.id}\n\t\t\t\t\t\ttitle={session.title}\n\t\t\t\t\t\tclassName=\"text-2xl font-semibold text-foreground leading-tight\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t{shareStatus?.shared && (\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(shareStatus.url)}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 rounded-md bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Share2 className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t<span>Shared</span>\n\t\t\t\t\t\t\t{shareStatus.pendingMessages &&\n\t\t\t\t\t\t\tshareStatus.pendingMessages > 0 ? (\n\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5 text-amber-600 dark:text-amber-400\">\n\t\t\t\t\t\t\t\t\t<RefreshCw className=\"h-2.5 w-2.5\" />\n\t\t\t\t\t\t\t\t\t{shareStatus.pendingMessages}\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\t\t<ExternalLink className=\"h-2.5 w-2.5 opacity-60\" />\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</div>\n\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-x-5 gap-y-2 mt-4 text-sm text-muted-foreground\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5\"\n\t\t\t\t\t\t\ttitle={`Current context window: ${formatNumber(contextTokens)} tokens`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"text-xs opacity-70\">ctx</span>\n\t\t\t\t\t\t\t<span className={`font-medium ${getContextColorClass()}`}>\n\t\t\t\t\t\t\t\t{formatCompactNumber(contextTokens)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5\"\n\t\t\t\t\t\t\ttitle={`Total output: ${formatNumber(outputTokens)} tokens`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"text-xs opacity-70\">out</span>\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{formatCompactNumber(outputTokens)}\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\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Clock className=\"w-4 h-4\" />\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t{formatDuration(session.totalToolTimeMs)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{estimatedCost > 0 && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-1.5\">\n\t\t\t\t\t\t\t<DollarSign className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{estimatedCost.toFixed(4)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className=\"flex items-center gap-2 ml-auto\">\n\t\t\t\t\t\t<ProviderLogo provider={session.provider} size={18} />\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">{session.model}</span>\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",
|
|
114
115
|
"import { useState, useRef, useEffect, useCallback } from 'react';\nimport { Pencil } from 'lucide-react';\nimport { useUpdateSession } from '../../hooks/useSessions';\n\ninterface EditableTitleProps {\n\tsessionId: string;\n\ttitle: string | null;\n\tclassName?: string;\n}\n\nexport function EditableTitle({\n\tsessionId,\n\ttitle,\n\tclassName = '',\n}: EditableTitleProps) {\n\tconst [isEditing, setIsEditing] = useState(false);\n\tconst [draft, setDraft] = useState(title || '');\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst { mutate: updateSession } = useUpdateSession(sessionId);\n\n\tuseEffect(() => {\n\t\tif (isEditing && inputRef.current) {\n\t\t\tinputRef.current.focus();\n\t\t\tinputRef.current.select();\n\t\t}\n\t}, [isEditing]);\n\n\tuseEffect(() => {\n\t\tsetDraft(title || '');\n\t}, [title]);\n\n\tconst save = useCallback(() => {\n\t\tconst trimmed = draft.trim();\n\t\tif (trimmed && trimmed !== (title || '')) {\n\t\t\tupdateSession({ title: trimmed });\n\t\t}\n\t\tsetIsEditing(false);\n\t}, [draft, title, updateSession]);\n\n\tconst cancel = useCallback(() => {\n\t\tsetDraft(title || '');\n\t\tsetIsEditing(false);\n\t}, [title]);\n\n\tif (isEditing) {\n\t\treturn (\n\t\t\t<input\n\t\t\t\tref={inputRef}\n\t\t\t\ttype=\"text\"\n\t\t\t\tvalue={draft}\n\t\t\t\tonChange={(e) => setDraft(e.target.value)}\n\t\t\t\tonBlur={save}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (e.key === 'Enter') save();\n\t\t\t\t\tif (e.key === 'Escape') cancel();\n\t\t\t\t}}\n\t\t\t\tclassName={`w-full bg-muted/30 text-foreground rounded px-2 py-1 outline-none ring-1 ring-primary/50 focus:ring-primary ${className}`}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={() => setIsEditing(true)}\n\t\t\tclassName={`group flex items-center gap-2 hover:opacity-80 transition-opacity truncate text-left ${className}`}\n\t\t\ttitle=\"Click to edit title\"\n\t\t>\n\t\t\t<span className=\"truncate\">{title || 'Untitled Session'}</span>\n\t\t\t<Pencil className=\"h-3.5 w-3.5 opacity-0 group-hover:opacity-50 flex-shrink-0 transition-opacity\" />\n\t\t</button>\n\t);\n}\n",
|
|
115
|
-
"import { useMemo } from 'react';\nimport {\n\testimateModelCostUsd,\n\ttype ProviderId,\n\tgetModelInfo,\n} from '@ottocode/sdk/browser';\nimport type { Session } from '../../types/api';\nimport {\n\tDollarSign,\n\tMessageSquare,\n\tGitBranch,\n\tArrowUpRight,\n\tShare2,\n\tExternalLink,\n\tRefreshCw,\n} from 'lucide-react';\nimport { StopButton } from '../chat/StopButton';\nimport { useParentSession } from '../../hooks/useBranch';\nimport { useShareStatus } from '../../hooks/useShareStatus';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { openUrl } from '../../lib/open-url';\nimport { UsageRing } from '../common/UsageRing';\nimport { UsageModal } from '../common/UsageModal';\nimport { useProviderUsage } from '../../hooks/useProviderUsage';\nimport { useAllModels } from '../../hooks/useConfig';\nimport { useOttoRouterBalance } from '../../hooks/useOttoRouterBalance';\nimport { useUsageStore } from '../../stores/usageStore';\nimport { EditableTitle } from './EditableTitle';\n\ninterface LeanHeaderProps {\n\tsession: Session;\n\tisVisible: boolean;\n\tisGenerating?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport function LeanHeader({\n\tsession,\n\tisVisible,\n\tisGenerating,\n\tonNavigateToSession,\n}: LeanHeaderProps) {\n\tconst { data: parentData } = useParentSession(\n\t\tsession.sessionType === 'branch' ? session.id : undefined,\n\t);\n\tconst { data: shareStatus } = useShareStatus(session.id);\n\n\tconst estimatedCost = useMemo(() => {\n\t\tconst inputTokens = session.totalInputTokens || 0;\n\t\tconst outputTokens = session.totalOutputTokens || 0;\n\t\tconst cachedInputTokens = session.totalCachedTokens || 0;\n\t\tconst cacheCreationInputTokens = session.totalCacheCreationTokens || 0;\n\t\treturn (\n\t\t\testimateModelCostUsd(session.provider as ProviderId, session.model, {\n\t\t\t\tinputTokens,\n\t\t\t\toutputTokens,\n\t\t\t\tcachedInputTokens,\n\t\t\t\tcacheCreationInputTokens,\n\t\t\t}) ?? 0\n\t\t);\n\t}, [\n\t\tsession.provider,\n\t\tsession.model,\n\t\tsession.totalInputTokens,\n\t\tsession.totalOutputTokens,\n\t\tsession.totalCachedTokens,\n\t\tsession.totalCacheCreationTokens,\n\t]);\n\n\tconst formatCompactNumber = (num: number) => {\n\t\tif (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n\t\tif (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n\t\treturn num.toString();\n\t};\n\n\tconst contextTokens = session.currentContextTokens || 0;\n\n\tconst isBranch = session.sessionType === 'branch';\n\tconst parentSession = parentData?.parent;\n\n\t// Calculate context usage for color indication\n\tconst contextLimit = useMemo(() => {\n\t\tconst info = getModelInfo(session.provider as ProviderId, session.model);\n\t\treturn info?.limit?.context;\n\t}, [session.provider, session.model]);\n\n\tconst contextUsagePercent = contextLimit\n\t\t? (contextTokens / contextLimit) * 100\n\t\t: 0;\n\n\tconst getContextColorClass = () => {\n\t\tif (contextUsagePercent >= 90) return 'text-red-600 dark:text-red-400';\n\t\tif (contextUsagePercent >= 70) return 'text-amber-600 dark:text-amber-400';\n\t\treturn 'text-foreground';\n\t};\n\n\tconst { data: allModels } = useAllModels();\n\tconst providerAuthType = allModels?.[session.provider]?.authType;\n\tconst { usage, isOAuthProvider } = useProviderUsage(\n\t\tsession.provider,\n\t\tproviderAuthType,\n\t);\n\tconst isSetu = session.provider === 'ottorouter';\n\tuseOttoRouterBalance(isSetu ? 'ottorouter' : undefined);\n\tconst setuUsage = useUsageStore((s) => s.usage.ottorouter);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={`absolute top-0 left-0 right-0 h-
|
|
116
|
+
"import { useMemo } from 'react';\nimport {\n\testimateModelCostUsd,\n\ttype ProviderId,\n\tgetModelInfo,\n} from '@ottocode/sdk/browser';\nimport type { Session } from '../../types/api';\nimport {\n\tDollarSign,\n\tMessageSquare,\n\tGitBranch,\n\tArrowUpRight,\n\tShare2,\n\tExternalLink,\n\tRefreshCw,\n} from 'lucide-react';\nimport { StopButton } from '../chat/StopButton';\nimport { useParentSession } from '../../hooks/useBranch';\nimport { useShareStatus } from '../../hooks/useShareStatus';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { openUrl } from '../../lib/open-url';\nimport { UsageRing } from '../common/UsageRing';\nimport { UsageModal } from '../common/UsageModal';\nimport { useProviderUsage } from '../../hooks/useProviderUsage';\nimport { useAllModels } from '../../hooks/useConfig';\nimport { useOttoRouterBalance } from '../../hooks/useOttoRouterBalance';\nimport { useUsageStore } from '../../stores/usageStore';\nimport { EditableTitle } from './EditableTitle';\n\ninterface LeanHeaderProps {\n\tsession: Session;\n\tisVisible: boolean;\n\tisGenerating?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport function LeanHeader({\n\tsession,\n\tisVisible,\n\tisGenerating,\n\tonNavigateToSession,\n}: LeanHeaderProps) {\n\tconst { data: parentData } = useParentSession(\n\t\tsession.sessionType === 'branch' ? session.id : undefined,\n\t);\n\tconst { data: shareStatus } = useShareStatus(session.id);\n\n\tconst estimatedCost = useMemo(() => {\n\t\tconst inputTokens = session.totalInputTokens || 0;\n\t\tconst outputTokens = session.totalOutputTokens || 0;\n\t\tconst cachedInputTokens = session.totalCachedTokens || 0;\n\t\tconst cacheCreationInputTokens = session.totalCacheCreationTokens || 0;\n\t\treturn (\n\t\t\testimateModelCostUsd(session.provider as ProviderId, session.model, {\n\t\t\t\tinputTokens,\n\t\t\t\toutputTokens,\n\t\t\t\tcachedInputTokens,\n\t\t\t\tcacheCreationInputTokens,\n\t\t\t}) ?? 0\n\t\t);\n\t}, [\n\t\tsession.provider,\n\t\tsession.model,\n\t\tsession.totalInputTokens,\n\t\tsession.totalOutputTokens,\n\t\tsession.totalCachedTokens,\n\t\tsession.totalCacheCreationTokens,\n\t]);\n\n\tconst formatCompactNumber = (num: number) => {\n\t\tif (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n\t\tif (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n\t\treturn num.toString();\n\t};\n\n\tconst contextTokens = session.currentContextTokens || 0;\n\n\tconst isBranch = session.sessionType === 'branch';\n\tconst parentSession = parentData?.parent;\n\n\t// Calculate context usage for color indication\n\tconst contextLimit = useMemo(() => {\n\t\tconst info = getModelInfo(session.provider as ProviderId, session.model);\n\t\treturn info?.limit?.context;\n\t}, [session.provider, session.model]);\n\n\tconst contextUsagePercent = contextLimit\n\t\t? (contextTokens / contextLimit) * 100\n\t\t: 0;\n\n\tconst getContextColorClass = () => {\n\t\tif (contextUsagePercent >= 90) return 'text-red-600 dark:text-red-400';\n\t\tif (contextUsagePercent >= 70) return 'text-amber-600 dark:text-amber-400';\n\t\treturn 'text-foreground';\n\t};\n\n\tconst { data: allModels } = useAllModels();\n\tconst providerAuthType = allModels?.[session.provider]?.authType;\n\tconst { usage, isOAuthProvider } = useProviderUsage(\n\t\tsession.provider,\n\t\tproviderAuthType,\n\t);\n\tconst isSetu = session.provider === 'ottorouter';\n\tuseOttoRouterBalance(isSetu ? 'ottorouter' : undefined);\n\tconst setuUsage = useUsageStore((s) => s.usage.ottorouter);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={`absolute top-0 left-0 right-0 h-10 border-b border-border bg-background/40 backdrop-blur-xl supports-[backdrop-filter]:bg-background/20 z-10 transition-transform duration-200 ${\n\t\t\t\t\tisVisible ? 'translate-y-0' : '-translate-y-full'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<div className=\"h-full px-2 flex items-center justify-between gap-3 text-xs\">\n\t\t\t\t\t<div className=\"flex-1 min-w-0 flex items-center gap-1.5 text-muted-foreground\">\n\t\t\t\t\t\t{isBranch ? (\n\t\t\t\t\t\t\t<GitBranch className=\"size-3.5 flex-shrink-0 text-violet-500\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<MessageSquare className=\"size-3.5 flex-shrink-0\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<EditableTitle\n\t\t\t\t\t\t\tsessionId={session.id}\n\t\t\t\t\t\t\ttitle={session.title}\n\t\t\t\t\t\t\tclassName=\"text-foreground font-medium text-xs\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{shareStatus?.shared && (\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={() => openUrl(shareStatus.url)}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Share2 className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t{shareStatus.pendingMessages &&\n\t\t\t\t\t\t\t\tshareStatus.pendingMessages > 0 ? (\n\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5 text-amber-600 dark:text-amber-400\">\n\t\t\t\t\t\t\t\t\t\t<RefreshCw className=\"h-2.5 w-2.5\" />\n\t\t\t\t\t\t\t\t\t\t{shareStatus.pendingMessages}\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\t\t<ExternalLink className=\"h-2.5 w-2.5 opacity-60\" />\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)}\n\t\t\t\t\t\t{isBranch && parentSession && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground hidden sm:inline\">\n\t\t\t\t\t\t\t\t\tfrom\n\t\t\t\t\t\t\t\t</span>\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={() => onNavigateToSession?.(parentSession.id)}\n\t\t\t\t\t\t\t\t\tclassName=\"text-primary hover:underline flex items-center gap-0.5 truncate max-w-32\"\n\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\tparentSession.title ||\n\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`\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 className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t{parentSession.title ||\n\t\t\t\t\t\t\t\t\t\t\t`Session ${parentSession.id.slice(0, 8)}`}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<ArrowUpRight className=\"h-3 w-3 flex-shrink-0\" />\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)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex-shrink-0 flex items-center gap-3 text-muted-foreground\">\n\t\t\t\t\t\t{isGenerating && <StopButton sessionId={session.id} />}\n\n\t\t\t\t\t\t{isOAuthProvider && usage && (\n\t\t\t\t\t\t\t<UsageRing usage={usage} provider={session.provider} />\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{isSetu && setuUsage && (\n\t\t\t\t\t\t\t<UsageRing usage={setuUsage} provider=\"ottorouter\" />\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1\"\n\t\t\t\t\t\t\t\ttitle={`Current context window: ${contextTokens.toLocaleString()} tokens`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"text-xs opacity-70\">ctx</span>\n\t\t\t\t\t\t\t\t<span className={`font-medium ${getContextColorClass()}`}>\n\t\t\t\t\t\t\t\t\t{formatCompactNumber(contextTokens)}\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</div>\n\n\t\t\t\t\t\t{estimatedCost > 0 && (\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t<DollarSign className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t<span className=\"text-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t{estimatedCost.toFixed(4)}\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\n\t\t\t\t\t\t<div className=\"hidden sm:flex items-center gap-1.5\">\n\t\t\t\t\t\t\t<ProviderLogo provider={session.provider} size={14} />\n\t\t\t\t\t\t\t<span className=\"font-medium text-foreground\">\n\t\t\t\t\t\t\t\t{session.model}\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</div>\n\t\t\t</div>\n\t\t\t<UsageModal />\n\t\t</>\n\t);\n}\n",
|
|
116
117
|
"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
118
|
"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
119
|
"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",
|
|
@@ -133,8 +134,8 @@
|
|
|
133
134
|
"import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport { client } from '@ottocode/api';\nimport type { GitDiffResponse } from '../../types/api';\nimport { getRuntimeApiBaseUrl } from '../../lib/config';\n\nconst IMAGE_EXTENSIONS = new Set([\n\t'png',\n\t'jpg',\n\t'jpeg',\n\t'gif',\n\t'svg',\n\t'webp',\n\t'ico',\n\t'bmp',\n\t'avif',\n]);\n\nfunction isImageFile(filePath: string): boolean {\n\tconst ext = filePath.split('.').pop()?.toLowerCase() ?? '';\n\treturn IMAGE_EXTENSIONS.has(ext);\n}\n\ninterface GitDiffViewerProps {\n\tdiff: GitDiffResponse;\n}\n\ninterface DiffLine {\n\toldLineNumber: number | null;\n\tnewLineNumber: number | null;\n\tcontent: string;\n\tcodeContent: string; // Content without +/- prefix\n\ttype: 'header' | 'hunk' | 'add' | 'delete' | 'context' | 'meta';\n}\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\tsvelte: 'svelte',\n};\n\nfunction inferLanguageFromPath(path: string): string {\n\tconst extension = path.split('.').pop()?.toLowerCase() ?? '';\n\tif (!extension) {\n\t\treturn 'plaintext';\n\t}\n\treturn LANGUAGE_MAP[extension] ?? 'plaintext';\n}\n\n/**\n * Get just the filename from a path\n */\nfunction getFileName(path: string): string {\n\tconst parts = path.split('/');\n\treturn parts[parts.length - 1];\n}\n\nexport function GitDiffViewer({ diff }: GitDiffViewerProps) {\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\tconst resolvedLanguage =\n\t\tdiff.language && diff.language.trim().length > 0\n\t\t\t? diff.language\n\t\t\t: inferLanguageFromPath(diff.file);\n\n\t// Get just the filename for the internal header\n\tconst fileName = getFileName(diff.file);\n\n\t// Handle new files - show full content instead of diff\n\tif (diff.isNewFile && diff.content) {\n\t\treturn (\n\t\t\t<div className=\"flex flex-col h-full bg-background\">\n\t\t\t\t{/* Header with just filename and stats */}\n\t\t\t\t<div className=\"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"font-mono text-sm text-foreground truncate\"\n\t\t\t\t\t\ttitle={diff.file}\n\t\t\t\t\t>\n\t\t\t\t\t\t{fileName}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"flex items-center gap-3 text-xs flex-shrink-0\">\n\t\t\t\t\t\t<span className=\"text-green-600 dark:text-green-500\">\n\t\t\t\t\t\t\t+{diff.insertions}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">{resolvedLanguage}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* New file banner */}\n\t\t\t\t<div className=\"px-4 py-3 bg-green-500/10 border-b border-green-500/20\">\n\t\t\t\t\t<p className=\"text-sm text-green-600 dark:text-green-400 font-medium\">\n\t\t\t\t\t\tNew file: {diff.insertions} lines\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Full file content with syntax highlighting */}\n\t\t\t\t<div className=\"flex-1 overflow-auto\">\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={resolvedLanguage}\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}}\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{diff.content}\n\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Handle binary files\n\tif (diff.isBinary) {\n\t\tconst isImage = isImageFile(diff.file);\n\t\tconst imageUrl = isImage\n\t\t\t? client.buildUrl({\n\t\t\t\t\tbaseURL: getRuntimeApiBaseUrl(),\n\t\t\t\t\turl: '/v1/files/raw',\n\t\t\t\t\tquery: { path: diff.file },\n\t\t\t\t})\n\t\t\t: null;\n\n\t\treturn (\n\t\t\t<div className=\"flex flex-col h-full bg-background\">\n\t\t\t\t{/* Header with just filename */}\n\t\t\t\t<div className=\"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"font-mono text-sm text-foreground truncate\"\n\t\t\t\t\t\ttitle={diff.file}\n\t\t\t\t\t>\n\t\t\t\t\t\t{fileName}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"flex items-center gap-3 text-xs flex-shrink-0\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Binary file</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{imageUrl ? (\n\t\t\t\t\t<div className=\"flex-1 flex items-center justify-center p-4 overflow-auto\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={imageUrl}\n\t\t\t\t\t\t\talt={fileName}\n\t\t\t\t\t\t\tclassName=\"max-w-full max-h-[60vh] object-contain rounded border border-border\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"flex-1 flex items-center justify-center\">\n\t\t\t\t\t\t<div className=\"p-4 text-center\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tBinary file - cannot display diff\n\t\t\t\t\t\t\t</p>\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);\n\t}\n\n\t// Parse the diff into lines with line numbers (for modified files)\n\tconst lines = diff.diff.split('\\n');\n\tconst diffLines: DiffLine[] = [];\n\n\tlet oldLineNum = 0;\n\tlet newLineNum = 0;\n\n\tfor (const line of lines) {\n\t\tif (line.startsWith('@@')) {\n\t\t\t// Parse hunk header to get starting line numbers\n\t\t\tconst match = line.match(/@@ -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@/);\n\t\t\tif (match) {\n\t\t\t\toldLineNum = parseInt(match[1], 10);\n\t\t\t\tnewLineNum = parseInt(match[2], 10);\n\t\t\t}\n\t\t\tdiffLines.push({\n\t\t\t\toldLineNumber: null,\n\t\t\t\tnewLineNumber: null,\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'hunk',\n\t\t\t});\n\t\t} else if (\n\t\t\tline.startsWith('diff') ||\n\t\t\tline.startsWith('index') ||\n\t\t\tline.startsWith('---') ||\n\t\t\tline.startsWith('+++')\n\t\t) {\n\t\t\tdiffLines.push({\n\t\t\t\toldLineNumber: null,\n\t\t\t\tnewLineNumber: null,\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'meta',\n\t\t\t});\n\t\t} else if (line.startsWith('+')) {\n\t\t\tdiffLines.push({\n\t\t\t\toldLineNumber: null,\n\t\t\t\tnewLineNumber: newLineNum,\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line.slice(1), // Remove + prefix for syntax highlighting\n\t\t\t\ttype: 'add',\n\t\t\t});\n\t\t\tnewLineNum++;\n\t\t} else if (line.startsWith('-')) {\n\t\t\tdiffLines.push({\n\t\t\t\toldLineNumber: oldLineNum,\n\t\t\t\tnewLineNumber: null,\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line.slice(1), // Remove - prefix for syntax highlighting\n\t\t\t\ttype: 'delete',\n\t\t\t});\n\t\t\toldLineNum++;\n\t\t} else {\n\t\t\t// Context line\n\t\t\tdiffLines.push({\n\t\t\t\toldLineNumber: oldLineNum,\n\t\t\t\tnewLineNumber: newLineNum,\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'context',\n\t\t\t});\n\t\t\toldLineNum++;\n\t\t\tnewLineNum++;\n\t\t}\n\t}\n\n\t// Render a single diff line with syntax highlighting\n\tconst renderLine = (diffLine: DiffLine, index: number) => {\n\t\tlet rowClassName = 'flex hover:bg-muted/20';\n\t\tlet lineNumberClassName =\n\t\t\t'flex-shrink-0 w-20 px-2 py-0.5 text-xs font-mono select-none border-r border-border';\n\t\tlet contentClassName =\n\t\t\t'flex-1 px-4 py-0.5 font-mono text-xs overflow-x-auto';\n\n\t\t// Apply background colors for add/delete/hunk\n\t\tif (diffLine.type === 'hunk') {\n\t\t\trowClassName += ' bg-blue-500/10';\n\t\t\tlineNumberClassName += ' text-blue-600 dark:text-blue-400';\n\t\t\tcontentClassName += ' text-blue-600 dark:text-blue-400 font-semibold';\n\t\t} else if (diffLine.type === 'add') {\n\t\t\trowClassName += ' bg-green-500/10';\n\t\t\tlineNumberClassName += ' text-green-700 dark:text-green-400';\n\t\t\tcontentClassName += ' text-green-700 dark:text-green-400';\n\t\t} else if (diffLine.type === 'delete') {\n\t\t\trowClassName += ' bg-red-500/10';\n\t\t\tlineNumberClassName += ' text-red-600 dark:text-red-400';\n\t\t\tcontentClassName += ' text-red-600 dark:text-red-400';\n\t\t} else if (diffLine.type === 'meta') {\n\t\t\tcontentClassName += ' text-muted-foreground';\n\t\t\tlineNumberClassName += ' text-muted-foreground';\n\t\t} else {\n\t\t\tcontentClassName += ' text-foreground/80';\n\t\t\tlineNumberClassName += ' text-muted-foreground';\n\t\t}\n\n\t\tconst oldNum =\n\t\t\tdiffLine.oldLineNumber !== null ? diffLine.oldLineNumber.toString() : '';\n\t\tconst newNum =\n\t\t\tdiffLine.newLineNumber !== null ? diffLine.newLineNumber.toString() : '';\n\n\t\t// For code lines (not meta/hunk), apply syntax highlighting\n\t\tlet renderedContent: React.ReactNode = diffLine.content || ' ';\n\n\t\tif (\n\t\t\tdiffLine.type !== 'meta' &&\n\t\t\tdiffLine.type !== 'hunk' &&\n\t\t\tresolvedLanguage !== 'plaintext' &&\n\t\t\tdiffLine.codeContent.trim()\n\t\t) {\n\t\t\trenderedContent = (\n\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\tlanguage={resolvedLanguage}\n\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\tlineHeight: 'inherit',\n\t\t\t\t\t}}\n\t\t\t\t\tcodeTagProps={{\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontFamily: 'inherit',\n\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tPreTag=\"span\"\n\t\t\t\t>\n\t\t\t\t\t{diffLine.codeContent}\n\t\t\t\t</SyntaxHighlighter>\n\t\t\t);\n\n\t\t\t// Add back the +/- prefix if it was an add/delete\n\t\t\tif (diffLine.type === 'add') {\n\t\t\t\trenderedContent = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"select-none\">+</span>\n\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} else if (diffLine.type === 'delete') {\n\t\t\t\trenderedContent = (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<span className=\"select-none\">-</span>\n\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<div key={index} className={rowClassName}>\n\t\t\t\t{/* Line numbers - using aria-hidden and pointer-events:none for better selection behavior */}\n\t\t\t\t<div\n\t\t\t\t\tclassName={lineNumberClassName}\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tstyle={{ pointerEvents: 'none' }}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex justify-between gap-2\">\n\t\t\t\t\t\t<span className=\"text-right w-8\">{oldNum}</span>\n\t\t\t\t\t\t<span className=\"text-right w-8\">{newNum}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className={contentClassName}>{renderedContent}</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"flex flex-col h-full bg-background\">\n\t\t\t{/* Header with just filename and stats */}\n\t\t\t<div className=\"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10\">\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"font-mono text-sm text-foreground truncate\"\n\t\t\t\t\ttitle={diff.file}\n\t\t\t\t>\n\t\t\t\t\t{fileName}\n\t\t\t\t</span>\n\t\t\t\t<div className=\"flex items-center gap-3 text-xs flex-shrink-0\">\n\t\t\t\t\t{diff.insertions > 0 && (\n\t\t\t\t\t\t<span className=\"text-green-600 dark:text-green-500\">\n\t\t\t\t\t\t\t+{diff.insertions}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{diff.deletions > 0 && (\n\t\t\t\t\t\t<span className=\"text-red-600 dark:text-red-500\">\n\t\t\t\t\t\t\t-{diff.deletions}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<span className=\"text-muted-foreground\">{resolvedLanguage}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Diff content */}\n\t\t\t<div className=\"flex-1 overflow-auto\">\n\t\t\t\t{diff.diff.trim() === '' ? (\n\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\tNo changes to display\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"min-w-max\">{diffLines.map(renderLine)}</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
|
|
134
135
|
"import { GitCommit, CheckSquare, AlertTriangle } from 'lucide-react';\nimport type { GitStatusResponse } from '../../types/api';\nimport { Button } from '../ui/Button';\nimport { GitFileItem } from './GitFileItem';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useStageFiles, useUnstageFiles } from '../../hooks/useGit';\nimport { useFocusStore } from '../../stores/focusStore';\nimport { useEffect, useRef, useMemo } from 'react';\n\ninterface GitFileListProps {\n\tstatus: GitStatusResponse;\n}\n\nexport function GitFileList({ status }: GitFileListProps) {\n\tconst { openCommitModal, openDiff } = useGitStore();\n\tconst stageFiles = useStageFiles();\n\tconst unstageFiles = useUnstageFiles();\n\tconst { currentFocus, gitFileIndex } = useFocusStore();\n\tconst itemRefs = useRef<Map<number, HTMLDivElement>>(new Map());\n\n\tconst hasConflicts = (status.conflicted?.length ?? 0) > 0;\n\tconst hasStaged = status.staged.length > 0;\n\tconst hasUnstaged = status.unstaged.length > 0 || status.untracked.length > 0;\n\n\tconst unstagedFiles = [...status.unstaged, ...status.untracked];\n\tconst hasUnstagedFiles = unstagedFiles.length > 0;\n\n\tconst _allFiles = useMemo(() => {\n\t\treturn [\n\t\t\t...(status.conflicted ?? []),\n\t\t\t...status.staged,\n\t\t\t...status.unstaged,\n\t\t\t...status.untracked,\n\t\t];\n\t}, [status]);\n\n\tconst unstagedPaths = new Set(status.unstaged.map((f) => f.path));\n\n\tconst handleStageAll = () => {\n\t\tconst filesToStage = unstagedFiles.map((f) => f.path);\n\t\tif (filesToStage.length > 0) {\n\t\t\tstageFiles.mutate(filesToStage);\n\t\t}\n\t};\n\n\tconst _handleUnstageAll = () => {\n\t\tconst filesToUnstage = status.staged.map((f) => f.path);\n\t\tif (filesToUnstage.length > 0) {\n\t\t\tunstageFiles.mutate(filesToUnstage);\n\t\t}\n\t};\n\n\tconst conflictedLength = status.conflicted?.length ?? 0;\n\n\tuseEffect(() => {\n\t\tif (currentFocus === 'git' && gitFileIndex >= 0) {\n\t\t\tconst element = itemRefs.current.get(gitFileIndex);\n\t\t\telement?.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n\n\t\t\tconst allFiles = [\n\t\t\t\t...(status.conflicted ?? []),\n\t\t\t\t...status.staged,\n\t\t\t\t...status.unstaged,\n\t\t\t\t...status.untracked,\n\t\t\t];\n\t\t\tconst focusedFile = allFiles[gitFileIndex];\n\t\t\tif (focusedFile) {\n\t\t\t\tconst isStaged = status.staged.includes(focusedFile);\n\t\t\t\topenDiff(focusedFile.path, isStaged);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tcurrentFocus,\n\t\tgitFileIndex,\n\t\tstatus.conflicted,\n\t\tstatus.staged,\n\t\tstatus.unstaged,\n\t\tstatus.untracked,\n\t\topenDiff,\n\t]);\n\n\treturn (\n\t\t<div className=\"flex flex-col\">\n\t\t\t{hasConflicts && (\n\t\t\t\t<div className=\"border-b border-border\">\n\t\t\t\t\t<div className=\"px-3 py-2 bg-red-500/10 flex items-center justify-between\">\n\t\t\t\t\t\t<span className=\"text-xs font-semibold text-red-500 uppercase flex items-center gap-1.5\">\n\t\t\t\t\t\t\t<AlertTriangle className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\tConflicts ({conflictedLength})\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t{status.conflicted?.map((file, index) => {\n\t\t\t\t\t\t\tconst globalIndex = index;\n\t\t\t\t\t\t\tconst isFocused =\n\t\t\t\t\t\t\t\tcurrentFocus === 'git' && gitFileIndex === globalIndex;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={file.path}\n\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\tif (el) itemRefs.current.set(globalIndex, el);\n\t\t\t\t\t\t\t\t\t\telse itemRefs.current.delete(globalIndex);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\tisFocused ? 'ring-1 ring-inset ring-primary/40' : ''\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<GitFileItem file={file} staged={false} />\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})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{hasStaged && (\n\t\t\t\t<div className=\"border-b border-border\">\n\t\t\t\t\t<div className=\"px-3 py-2 bg-muted/50 flex items-center justify-between\">\n\t\t\t\t\t\t<span className=\"text-xs font-semibold text-foreground uppercase\">\n\t\t\t\t\t\t\tStaged Changes ({status.staged.length})\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t{status.staged.length > 0 && !hasConflicts && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tonClick={openCommitModal}\n\t\t\t\t\t\t\t\t\tclassName=\"h-6 text-xs\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<GitCommit className=\"w-3 h-3 mr-1\" />\n\t\t\t\t\t\t\t\t\tCommit\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\t{status.staged.length > 0 && hasConflicts && (\n\t\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\tResolve conflicts first\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\t\t\t\t\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t{status.staged.map((file, index) => {\n\t\t\t\t\t\t\tconst globalIndex = conflictedLength + index;\n\t\t\t\t\t\t\tconst isFocused =\n\t\t\t\t\t\t\t\tcurrentFocus === 'git' && gitFileIndex === globalIndex;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={file.path}\n\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\tif (el) itemRefs.current.set(globalIndex, el);\n\t\t\t\t\t\t\t\t\t\telse itemRefs.current.delete(globalIndex);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\tisFocused ? 'ring-1 ring-inset ring-primary/40' : ''\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<GitFileItem\n\t\t\t\t\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\t\t\t\t\tstaged={true}\n\t\t\t\t\t\t\t\t\t\tshowModifiedIndicator={unstagedPaths.has(file.path)}\n\t\t\t\t\t\t\t\t\t/>\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})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{hasUnstaged && (\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"px-3 py-2 bg-muted/50 flex items-center justify-between\">\n\t\t\t\t\t\t<span className=\"text-xs font-semibold text-foreground uppercase\">\n\t\t\t\t\t\t\tChanges ({status.unstaged.length + status.untracked.length})\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{hasUnstagedFiles && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tonClick={handleStageAll}\n\t\t\t\t\t\t\t\ttitle=\"Stage all changes\"\n\t\t\t\t\t\t\t\tclassName=\"h-6 text-xs\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckSquare className=\"w-3 h-3 mr-1\" />\n\t\t\t\t\t\t\t\tStage All\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\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t{status.unstaged.map((file, index) => {\n\t\t\t\t\t\t\tconst globalIndex =\n\t\t\t\t\t\t\t\tconflictedLength + status.staged.length + index;\n\t\t\t\t\t\t\tconst isFocused =\n\t\t\t\t\t\t\t\tcurrentFocus === 'git' && gitFileIndex === globalIndex;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={file.path}\n\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\tif (el) itemRefs.current.set(globalIndex, el);\n\t\t\t\t\t\t\t\t\t\telse itemRefs.current.delete(globalIndex);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\tisFocused ? 'ring-1 ring-inset ring-primary/40' : ''\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<GitFileItem file={file} staged={false} />\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})}\n\t\t\t\t\t\t{status.untracked.map((file, index) => {\n\t\t\t\t\t\t\tconst globalIndex =\n\t\t\t\t\t\t\t\tconflictedLength +\n\t\t\t\t\t\t\t\tstatus.staged.length +\n\t\t\t\t\t\t\t\tstatus.unstaged.length +\n\t\t\t\t\t\t\t\tindex;\n\t\t\t\t\t\t\tconst isFocused =\n\t\t\t\t\t\t\t\tcurrentFocus === 'git' && gitFileIndex === globalIndex;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={file.path}\n\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\tif (el) itemRefs.current.set(globalIndex, el);\n\t\t\t\t\t\t\t\t\t\telse itemRefs.current.delete(globalIndex);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\tisFocused ? 'ring-1 ring-inset ring-primary/40' : ''\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<GitFileItem file={file} staged={false} />\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})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{!hasConflicts && !hasStaged && !hasUnstaged && (\n\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground text-center\">\n\t\t\t\t\tNo changes\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n",
|
|
135
136
|
"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
|
-
"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
|
-
"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-
|
|
137
|
+
"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';\nimport { SidebarHeader } from '../ui/SidebarHeader';\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<SidebarHeader\n\t\t\t\t\ticon={<GitBranch className=\"size-[15px]\" />}\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t<>\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</>\n\t\t\t\t\t}\n\t\t\t\t\tonClose={collapseSidebar}\n\t\t\t\t/>\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-10 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-7 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-7 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-9 px-3 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",
|
|
138
|
+
"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-10 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=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t\t{totalChanges > 0 && (\n\t\t\t\t<span className=\"absolute top-0.5 right-0.5 w-4 h-4 bg-primary text-primary-foreground text-[10px] 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
139
|
"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
140
|
"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
141
|
"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",
|
|
@@ -145,32 +146,32 @@
|
|
|
145
146
|
"import { memo } from 'react';\nimport { Plus, X, Bot, User } from 'lucide-react';\nimport { useTerminalStore } from '../../stores/terminalStore';\nimport type { Terminal } from '../../hooks/useTerminals';\n\ninterface TerminalTabBarProps {\n\tterminals: Terminal[];\n\tonNewTerminal: () => void;\n\tonKillTerminal: (id: string) => void;\n\tisCreating?: boolean;\n}\n\nexport const TerminalTabBar = memo(function TerminalTabBar({\n\tterminals,\n\tonNewTerminal,\n\tonKillTerminal,\n\tisCreating,\n}: TerminalTabBarProps) {\n\tconst activeTabId = useTerminalStore((s) => s.activeTabId);\n\tconst selectTab = useTerminalStore((s) => s.selectTab);\n\n\treturn (\n\t\t<div className=\"flex items-center gap-0 overflow-x-auto scrollbar-none\">\n\t\t\t{terminals.map((t) => {\n\t\t\t\tconst isActive = t.id === activeTabId;\n\t\t\t\tconst isRunning = t.status === 'running';\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={t.id}\n\t\t\t\t\t\tclassName={`group flex items-center gap-1.5 px-3 h-9 border-r border-border cursor-pointer select-none shrink-0 transition-colors ${\n\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t? 'bg-background text-foreground'\n\t\t\t\t\t\t\t\t: 'bg-muted/30 text-muted-foreground hover:bg-muted/60'\n\t\t\t\t\t\t}`}\n\t\t\t\t\t\tonClick={() => selectTab(t.id)}\n\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\tif (e.key === 'Enter') selectTab(t.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\taria-selected={isActive}\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"shrink-0\">\n\t\t\t\t\t\t\t{t.createdBy === 'llm' ? (\n\t\t\t\t\t\t\t\t<Bot className=\"w-3 h-3 text-blue-500\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<User className=\"w-3 h-3 text-green-500\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"text-xs font-medium truncate max-w-[120px]\">\n\t\t\t\t\t\t\t{t.title || t.purpose}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{!isRunning && (\n\t\t\t\t\t\t\t<span className=\"w-1.5 h-1.5 rounded-full bg-orange-500 shrink-0\" />\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\tclassName=\"shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-100 hover:bg-muted transition-opacity\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\tonKillTerminal(t.id);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle=\"Close terminal\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName=\"flex items-center justify-center w-8 h-9 shrink-0 text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors\"\n\t\t\t\tonClick={onNewTerminal}\n\t\t\t\tdisabled={isCreating}\n\t\t\t\ttitle=\"New terminal\"\n\t\t\t>\n\t\t\t\t<Plus className=\"w-3.5 h-3.5\" />\n\t\t\t</button>\n\t\t</div>\n\t);\n});\n",
|
|
146
147
|
"import { useEffect, useRef, useState, useCallback } from 'react';\nimport { init, Terminal, FitAddon } from 'ghostty-web';\nimport { getRuntimeApiBaseUrl } from '../../lib/config';\nimport { client } from '@ottocode/api';\n\nconst FONT_FAMILY = '\"JetBrainsMono NFM\", monospace';\nconst WS_RECONNECT_DELAY = 1500;\nconst WS_MAX_RETRIES = 5;\nconst CURSOR_BLINK_RESUME_DELAY = 600;\n\nfunction resolveBackgroundColor(): string {\n\tif (typeof document === 'undefined') return '#121216';\n\tconst el = document.createElement('div');\n\tel.style.display = 'none';\n\tel.className = 'bg-background';\n\tdocument.body.appendChild(el);\n\tconst computed = getComputedStyle(el).backgroundColor;\n\tdocument.body.removeChild(el);\n\tconst match = computed.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);\n\tif (match) {\n\t\tconst r = Number(match[1]);\n\t\tconst g = Number(match[2]);\n\t\tconst b = Number(match[3]);\n\t\treturn `#${((1 << 24) | (r << 16) | (g << 8) | b).toString(16).slice(1)}`;\n\t}\n\treturn '#121216';\n}\n\nlet fontsLoaded = false;\n\nasync function loadEmbeddedFont(): Promise<void> {\n\tif (fontsLoaded) return;\n\tif (typeof document === 'undefined' || !('FontFace' in window)) return;\n\n\tconst variants = [\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-Regular.woff2',\n\t\t\tweight: '400',\n\t\t\tstyle: 'normal',\n\t\t},\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-Bold.woff2',\n\t\t\tweight: '700',\n\t\t\tstyle: 'normal',\n\t\t},\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-Italic.woff2',\n\t\t\tweight: '400',\n\t\t\tstyle: 'italic',\n\t\t},\n\t\t{\n\t\t\tfile: 'JetBrainsMonoNerdFontMono-BoldItalic.woff2',\n\t\t\tweight: '700',\n\t\t\tstyle: 'italic',\n\t\t},\n\t];\n\n\tconst loads = variants.map(async (v) => {\n\t\ttry {\n\t\t\tconst url = new URL(`../../assets/fonts/${v.file}`, import.meta.url).href;\n\t\t\tconst face = new FontFace(\n\t\t\t\t'JetBrainsMono NFM',\n\t\t\t\t`url(\"${url}\") format(\"woff2\")`,\n\t\t\t\t{\n\t\t\t\t\tweight: v.weight,\n\t\t\t\t\tstyle: v.style,\n\t\t\t\t},\n\t\t\t);\n\t\t\tconst loaded = await face.load();\n\t\t\tdocument.fonts.add(loaded);\n\t\t} catch {\n\t\t\t// variant not available\n\t\t}\n\t});\n\n\tawait Promise.allSettled(loads);\n\tfontsLoaded = true;\n}\n\nfunction resolveApiBaseUrl(): string {\n\tconst config = client.getConfig?.();\n\tif (\n\t\tconfig &&\n\t\ttypeof config.baseURL === 'string' &&\n\t\tconfig.baseURL.length > 0\n\t) {\n\t\treturn config.baseURL;\n\t}\n\treturn getRuntimeApiBaseUrl();\n}\n\nfunction httpToWs(url: string): string {\n\treturn url.replace(/^http/, 'ws');\n}\n\ninterface TerminalViewerProps {\n\tterminalId: string;\n\tisActive: boolean;\n\tonExit?: (terminalId: string) => void;\n}\n\nexport function TerminalViewer({\n\tterminalId,\n\tisActive,\n\tonExit,\n}: TerminalViewerProps) {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst termRef = useRef<Terminal | null>(null);\n\tconst fitAddonRef = useRef<FitAddon | null>(null);\n\tconst wsRef = useRef<WebSocket | null>(null);\n\tconst retryCountRef = useRef(0);\n\tconst retryTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\tconst [ready, setReady] = useState(false);\n\tconst onExitRef = useRef(onExit);\n\tonExitRef.current = onExit;\n\tconst blinkTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\tconst userScrolledRef = useRef(false);\n\tconst bgColorRef = useRef('#121216');\n\tconst disposedRef = useRef(false);\n\tconst focusHandlersRef = useRef<{\n\t\tfocusin: () => void;\n\t\tfocusout: () => void;\n\t} | null>(null);\n\n\tconst fitTerminal = useCallback(() => {\n\t\tif (fitAddonRef.current) {\n\t\t\ttry {\n\t\t\t\tfitAddonRef.current.fit();\n\t\t\t} catch {\n\t\t\t\t// container might not be visible yet\n\t\t\t}\n\t\t}\n\t}, []);\n\n\tconst connectWebSocket = useCallback(\n\t\t(term: Terminal, baseUrl: string) => {\n\t\t\tif (wsRef.current) {\n\t\t\t\twsRef.current.close();\n\t\t\t\twsRef.current = null;\n\t\t\t}\n\n\t\t\tconst wsBaseUrl = httpToWs(baseUrl);\n\t\t\tconst wsUrl = `${wsBaseUrl}/v1/terminals/${terminalId}/ws`;\n\t\t\tconst ws = new WebSocket(wsUrl);\n\t\t\twsRef.current = ws;\n\n\t\t\tlet gotFirstData = false;\n\n\t\t\tws.onopen = () => {\n\t\t\t\tretryCountRef.current = 0;\n\t\t\t\tif (term.cols && term.rows) {\n\t\t\t\t\tws.send(\n\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\ttype: 'resize',\n\t\t\t\t\t\t\tcols: term.cols,\n\t\t\t\t\t\t\trows: term.rows,\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tws.onmessage = (event) => {\n\t\t\t\tconst message = typeof event.data === 'string' ? event.data : '';\n\n\t\t\t\tif (message.startsWith('{')) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst data = JSON.parse(message);\n\t\t\t\t\t\tif (data.type === 'exit') {\n\t\t\t\t\t\t\tterm.write(\n\t\t\t\t\t\t\t\t`\\r\\n\\x1b[33m[Process exited with code ${data.exitCode}]\\x1b[0m\\r\\n`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (onExitRef.current) {\n\t\t\t\t\t\t\t\tonExitRef.current(terminalId);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t// not JSON control message, write as terminal data\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst savedY = userScrolledRef.current ? term.getViewportY() : 0;\n\t\t\t\tterm.write(message);\n\t\t\t\tif (userScrolledRef.current && savedY > 0) {\n\t\t\t\t\tterm.scrollToLine(savedY);\n\t\t\t\t}\n\n\t\t\t\tif (!gotFirstData) {\n\t\t\t\t\tgotFirstData = true;\n\t\t\t\t\tsetTimeout(() => setReady(true), 200);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tws.onerror = () => {\n\t\t\t\t// error handling done in onclose\n\t\t\t};\n\n\t\t\tws.onclose = () => {\n\t\t\t\tif (wsRef.current === ws) {\n\t\t\t\t\twsRef.current = null;\n\t\t\t\t}\n\t\t\t\tif (!disposedRef.current && retryCountRef.current < WS_MAX_RETRIES) {\n\t\t\t\t\tretryCountRef.current++;\n\t\t\t\t\tretryTimerRef.current = setTimeout(() => {\n\t\t\t\t\t\tif (termRef.current && !disposedRef.current) {\n\t\t\t\t\t\t\tconnectWebSocket(termRef.current, baseUrl);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, WS_RECONNECT_DELAY);\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\t[terminalId],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!containerRef.current || !terminalId) return;\n\n\t\tlet disposed = false;\n\t\tdisposedRef.current = false;\n\t\tlet term: Terminal | null = null;\n\t\tlet fitAddon: FitAddon | null = null;\n\t\tlet resizeObserver: ResizeObserver | null = null;\n\n\t\tsetReady(false);\n\t\tretryCountRef.current = 0;\n\n\t\tif (wsRef.current) {\n\t\t\twsRef.current.close();\n\t\t\twsRef.current = null;\n\t\t}\n\t\tif (retryTimerRef.current) {\n\t\t\tclearTimeout(retryTimerRef.current);\n\t\t\tretryTimerRef.current = null;\n\t\t}\n\n\t\tconst setup = async () => {\n\t\t\tawait init();\n\t\t\tif (disposed || !containerRef.current) return;\n\n\t\t\tawait loadEmbeddedFont();\n\t\t\tawait document.fonts.ready;\n\n\t\t\tconst bg = resolveBackgroundColor();\n\n\t\t\tterm = new Terminal({\n\t\t\t\ttheme: {\n\t\t\t\t\tbackground: bg,\n\t\t\t\t\tforeground: '#d4d4d4',\n\t\t\t\t\tcursor: '#ffffff',\n\t\t\t\t\tcursorAccent: '#000000',\n\t\t\t\t\tselectionBackground: '#264f78',\n\t\t\t\t\tblack: '#000000',\n\t\t\t\t\tred: '#cd3131',\n\t\t\t\t\tgreen: '#0dbc79',\n\t\t\t\t\tyellow: '#e5e510',\n\t\t\t\t\tblue: '#2472c8',\n\t\t\t\t\tmagenta: '#bc3fbc',\n\t\t\t\t\tcyan: '#11a8cd',\n\t\t\t\t\twhite: '#e5e5e5',\n\t\t\t\t\tbrightBlack: '#666666',\n\t\t\t\t\tbrightRed: '#f14c4c',\n\t\t\t\t\tbrightGreen: '#23d18b',\n\t\t\t\t\tbrightYellow: '#f5f543',\n\t\t\t\t\tbrightBlue: '#3b8eea',\n\t\t\t\t\tbrightMagenta: '#d670d6',\n\t\t\t\t\tbrightCyan: '#29b8db',\n\t\t\t\t\tbrightWhite: '#e5e5e5',\n\t\t\t\t},\n\t\t\t\tfontSize: 13,\n\t\t\t\tfontFamily: FONT_FAMILY,\n\t\t\t\tcursorBlink: true,\n\t\t\t\tconvertEol: true,\n\t\t\t\tscrollback: 5000,\n\t\t\t});\n\n\t\t\tfitAddon = new FitAddon();\n\t\t\tterm.loadAddon(fitAddon);\n\t\t\tterm.open(containerRef.current);\n\n\t\t\tterm.onData(() => {\n\t\t\t\tif (!termRef.current?.renderer) return;\n\t\t\t\ttermRef.current.renderer.setCursorBlink(false);\n\t\t\t\tif (blinkTimerRef.current) clearTimeout(blinkTimerRef.current);\n\t\t\t\tblinkTimerRef.current = setTimeout(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttermRef.current?.renderer &&\n\t\t\t\t\t\tdocument.activeElement &&\n\t\t\t\t\t\tcontainerRef.current?.contains(document.activeElement)\n\t\t\t\t\t) {\n\t\t\t\t\t\ttermRef.current.renderer.setCursorBlink(true);\n\t\t\t\t\t}\n\t\t\t\t}, CURSOR_BLINK_RESUME_DELAY);\n\t\t\t});\n\n\t\t\tbgColorRef.current = bg;\n\n\t\t\tconst handleFocusIn = () => {\n\t\t\t\tif (!termRef.current?.renderer) return;\n\t\t\t\ttermRef.current.renderer.setCursorBlink(true);\n\t\t\t\ttermRef.current.renderer.setTheme({\n\t\t\t\t\tcursor: '#ffffff',\n\t\t\t\t\tcursorAccent: '#000000',\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst handleFocusOut = () => {\n\t\t\t\tif (!termRef.current?.renderer) return;\n\t\t\t\ttermRef.current.renderer.setCursorBlink(false);\n\t\t\t\ttermRef.current.renderer.setTheme({\n\t\t\t\t\tcursor: bgColorRef.current,\n\t\t\t\t\tcursorAccent: bgColorRef.current,\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tcontainerRef.current.addEventListener('focusin', handleFocusIn);\n\t\t\tcontainerRef.current.addEventListener('focusout', handleFocusOut);\n\t\t\tfocusHandlersRef.current = {\n\t\t\t\tfocusin: handleFocusIn,\n\t\t\t\tfocusout: handleFocusOut,\n\t\t\t};\n\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfitAddon?.fit();\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t// container might not be visible\n\t\t\t\t\t}\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tif (disposed) return;\n\n\t\t\tconst baseUrl = resolveApiBaseUrl();\n\n\t\t\tconnectWebSocket(term, baseUrl);\n\n\t\t\tterm.onData((data) => {\n\t\t\t\tif (wsRef.current?.readyState === WebSocket.OPEN) {\n\t\t\t\t\twsRef.current.send(data);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tterm.onResize(({ cols, rows }) => {\n\t\t\t\tif (wsRef.current?.readyState === WebSocket.OPEN) {\n\t\t\t\t\twsRef.current.send(JSON.stringify({ type: 'resize', cols, rows }));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tterm.onScroll(() => {\n\t\t\t\tuserScrolledRef.current = term.getViewportY() > 0;\n\t\t\t});\n\n\t\t\ttermRef.current = term;\n\t\t\tfitAddonRef.current = fitAddon;\n\n\t\t\tresizeObserver = new ResizeObserver(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tif (fitAddonRef.current && !disposed) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfitAddonRef.current.fit();\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tresizeObserver.observe(containerRef.current);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!disposed) setReady(true);\n\t\t\t}, 2000);\n\t\t};\n\n\t\tsetup().catch((error) => {\n\t\t\tconsole.error('[TerminalViewer] Failed to initialize:', error);\n\t\t});\n\n\t\treturn () => {\n\t\t\tdisposed = true;\n\t\t\tdisposedRef.current = true;\n\t\t\tif (containerRef.current && focusHandlersRef.current) {\n\t\t\t\tcontainerRef.current.removeEventListener(\n\t\t\t\t\t'focusin',\n\t\t\t\t\tfocusHandlersRef.current.focusin,\n\t\t\t\t);\n\t\t\t\tcontainerRef.current.removeEventListener(\n\t\t\t\t\t'focusout',\n\t\t\t\t\tfocusHandlersRef.current.focusout,\n\t\t\t\t);\n\t\t\t\tfocusHandlersRef.current = null;\n\t\t\t}\n\t\t\tif (blinkTimerRef.current) {\n\t\t\t\tclearTimeout(blinkTimerRef.current);\n\t\t\t\tblinkTimerRef.current = null;\n\t\t\t}\n\t\t\tif (retryTimerRef.current) {\n\t\t\t\tclearTimeout(retryTimerRef.current);\n\t\t\t\tretryTimerRef.current = null;\n\t\t\t}\n\t\t\tif (wsRef.current) {\n\t\t\t\twsRef.current.close();\n\t\t\t\twsRef.current = null;\n\t\t\t}\n\t\t\tif (resizeObserver) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t}\n\t\t\tif (term) {\n\t\t\t\tterm.dispose();\n\t\t\t}\n\t\t\ttermRef.current = null;\n\t\t\tfitAddonRef.current = null;\n\t\t};\n\t}, [terminalId, connectWebSocket]);\n\n\tuseEffect(() => {\n\t\tconst term = termRef.current;\n\t\tif (!term) return;\n\t\tif (isActive) {\n\t\t\tfitTerminal();\n\t\t\tterm.focus();\n\t\t} else {\n\t\t\tterm.blur();\n\t\t\tif (term.renderer) {\n\t\t\t\tterm.renderer.setCursorBlink(false);\n\t\t\t\tterm.renderer.setTheme({\n\t\t\t\t\tcursor: bgColorRef.current,\n\t\t\t\t\tcursorAccent: bgColorRef.current,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, [isActive, fitTerminal]);\n\n\tuseEffect(() => {\n\t\tfitTerminal();\n\t}, [fitTerminal]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"flex h-full flex-col overflow-hidden bg-background absolute inset-0\"\n\t\t\tstyle={{ visibility: isActive ? 'visible' : 'hidden' }}\n\t\t\tdata-terminal-viewer\n\t\t>\n\t\t\t<div className=\"relative flex-1 min-h-0 overflow-hidden\">\n\t\t\t\t<div ref={containerRef} className=\"absolute inset-0 bg-background\" />\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"absolute inset-0 bg-background flex items-center justify-center pointer-events-none transition-opacity duration-300\"\n\t\t\t\t\tstyle={{ opacity: ready ? 0 : 1 }}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex items-center gap-2 text-muted-foreground\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclassName=\"animate-spin h-4 w-4\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<circle\n\t\t\t\t\t\t\t\tclassName=\"opacity-25\"\n\t\t\t\t\t\t\t\tcx=\"12\"\n\t\t\t\t\t\t\t\tcy=\"12\"\n\t\t\t\t\t\t\t\tr=\"10\"\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\tstrokeWidth=\"4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\tclassName=\"opacity-75\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\td=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<span className=\"text-xs\">Loading terminal…</span>\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",
|
|
147
148
|
"import { memo } from 'react';\nimport { Terminal } from 'lucide-react';\nimport { useTerminalStore } from '../../stores/terminalStore';\nimport { useTerminals } from '../../hooks/useTerminals';\n\nexport const TerminalPanelToggle = memo(function TerminalPanelToggle() {\n\tconst isOpen = useTerminalStore((s) => s.isOpen);\n\tconst togglePanel = useTerminalStore((s) => s.togglePanel);\n\tconst { data } = useTerminals();\n\n\tconst count = data?.count ?? 0;\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={togglePanel}\n\t\t\tclassName={`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center ${\n\t\t\t\tisOpen ? 'bg-muted border-r-2 border-primary' : 'hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Terminals\"\n\t\t>\n\t\t\t<Terminal className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t{count > 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{count > 9 ? '9+' : count}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
|
|
148
|
-
"import { memo, useMemo } from 'react';\nimport {
|
|
149
|
+
"import { memo, useMemo } from 'react';\nimport { FilePen, FilePlus, FileEdit, RefreshCw } from 'lucide-react';\nimport { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { useSessionFiles } from '../../hooks/useSessionFiles';\nimport { Button } from '../ui/Button';\nimport { ResizeHandle } from '../ui/ResizeHandle';\nimport { SidebarHeader } from '../ui/SidebarHeader';\nimport type { SessionFile, SessionFileOperation } from '../../types/api';\n\nconst PANEL_KEY = 'session-files';\nconst DEFAULT_WIDTH = 320;\nconst MIN_WIDTH = 320;\nconst MAX_WIDTH = 600;\n\ninterface SessionFilesSidebarProps {\n\tsessionId?: string;\n}\n\nfunction getOperationIcon(operation: string) {\n\tswitch (operation) {\n\t\tcase 'write':\n\t\t\treturn <FilePlus className=\"w-3 h-3 text-green-500\" />;\n\t\tcase 'patch':\n\t\t\treturn <FileEdit className=\"w-3 h-3 text-blue-500\" />;\n\t\tdefault:\n\t\t\treturn <FilePen className=\"w-3 h-3 text-muted-foreground\" />;\n\t}\n}\n\nfunction getFileName(path: string): string {\n\treturn path.split('/').pop() || path;\n}\n\nfunction countLinesFromPatch(op: SessionFileOperation): {\n\tadditions: number;\n\tdeletions: number;\n} {\n\tif (op.artifact?.summary) {\n\t\treturn {\n\t\t\tadditions: op.artifact.summary.additions,\n\t\t\tdeletions: op.artifact.summary.deletions,\n\t\t};\n\t}\n\n\tconst patch = op.artifact?.patch || op.patch;\n\tif (patch) {\n\t\tlet additions = 0;\n\t\tlet deletions = 0;\n\t\tconst lines = patch.split('\\n');\n\t\tfor (const line of lines) {\n\t\t\tif (line.startsWith('+') && !line.startsWith('+++')) {\n\t\t\t\tadditions++;\n\t\t\t} else if (line.startsWith('-') && !line.startsWith('---')) {\n\t\t\t\tdeletions++;\n\t\t\t}\n\t\t}\n\t\treturn { additions, deletions };\n\t}\n\n\tif (op.content) {\n\t\tconst lineCount = op.content.split('\\n').length;\n\t\treturn { additions: lineCount, deletions: 0 };\n\t}\n\n\treturn { additions: 0, deletions: 0 };\n}\n\nfunction SessionFileItem({ file }: { file: SessionFile }) {\n\tconst openDiff = useSessionFilesStore((state) => state.openDiff);\n\tconst selectedFile = useSessionFilesStore((state) => state.selectedFile);\n\tconst isSelected = selectedFile === file.path;\n\n\tconst lastOp = file.operations[file.operations.length - 1];\n\n\tconst { totalAdditions, totalDeletions } = useMemo(() => {\n\t\tlet additions = 0;\n\t\tlet deletions = 0;\n\t\tfor (const op of file.operations) {\n\t\t\tconst stats = countLinesFromPatch(op);\n\t\t\tadditions += stats.additions;\n\t\t\tdeletions += stats.deletions;\n\t\t}\n\t\treturn { totalAdditions: additions, totalDeletions: deletions };\n\t}, [file.operations]);\n\n\tconst handleClick = () => {\n\t\tif (file.operations.length > 0) {\n\t\t\topenDiff(file.path, file.operations);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={handleClick}\n\t\t\tclassName={`w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors ${\n\t\t\t\tisSelected ? 'bg-muted' : ''\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t{getOperationIcon(lastOp?.operation || 'write')}\n\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t<div className=\"text-sm font-medium truncate\">\n\t\t\t\t\t\t{getFileName(file.path)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-1 text-xs shrink-0\">\n\t\t\t\t\t{file.operationCount > 1 && (\n\t\t\t\t\t\t<span className=\"bg-muted text-muted-foreground px-1 rounded mr-1\">\n\t\t\t\t\t\t\t{file.operationCount}x\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<span className=\"text-green-500\">+{totalAdditions}</span>\n\t\t\t\t\t<span className=\"text-red-500\">-{totalDeletions}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</button>\n\t);\n}\n\nexport const SessionFilesSidebar = memo(function SessionFilesSidebar({\n\tsessionId,\n}: SessionFilesSidebarProps) {\n\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSessionFilesStore(\n\t\t(state) => state.collapseSidebar,\n\t);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\tconst { data, isLoading, error, refetch } = useSessionFiles(\n\t\tsessionId,\n\t\tisExpanded,\n\t);\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<SidebarHeader\n\t\t\t\t\ticon={<FilePen className=\"size-[15px]\" />}\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tSession Files\n\t\t\t\t\t\t\t{data && data.totalFiles > 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({data.totalFiles})\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</>\n\t\t\t\t\t}\n\t\t\t\t\tonClose={collapseSidebar}\n\t\t\t\t/>\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 session files...\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-4 text-sm text-orange-500\">\n\t\t\t\t\t\t\t{error instanceof Error ? error.message : 'Failed to load files'}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : !data || data.totalFiles === 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 modified in this session\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"divide-y divide-border\">\n\t\t\t\t\t\t\t{data.files.map((file) => (\n\t\t\t\t\t\t\t\t<SessionFileItem key={file.path} file={file} />\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\n\t\t\t\t<div className=\"h-9 px-3 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<FilePen className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t{data && data.totalOperations > 0 ? (\n\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t{data.totalFiles} file{data.totalFiles !== 1 ? 's' : ''} •{' '}\n\t\t\t\t\t\t\t\t{data.totalOperations} op{data.totalOperations !== 1 ? 's' : ''}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"truncate\">No changes</span>\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 flex-shrink-0\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() => refetch()}\n\t\t\t\t\t\t\ttitle=\"Refresh session files\"\n\t\t\t\t\t\t\tclassName=\"h-6 w-6 transition-transform duration-200 hover:scale-110\"\n\t\t\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isLoading ? 'animate-spin' : ''}`}\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</div>\n\t);\n});\n",
|
|
149
150
|
"import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport { useSessionFilesStore } from '../stores/sessionFilesStore';\n\nexport function useSessionFiles(sessionId: string | undefined, enabled = true) {\n\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\n\treturn useQuery({\n\t\tqueryKey: ['session', sessionId, 'files'],\n\t\tqueryFn: () => (sessionId ? apiClient.getSessionFiles(sessionId) : null),\n\t\tenabled: !!sessionId && enabled,\n\t\trefetchInterval: isExpanded && enabled ? 5000 : false,\n\t\tretry: 1,\n\t\tstaleTime: 3000,\n\t});\n}\n",
|
|
150
|
-
"import { memo } from 'react';\nimport { FilePen } from 'lucide-react';\nimport { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { useSessionFiles } from '../../hooks/useSessionFiles';\n\ninterface SessionFilesSidebarToggleProps {\n\tsessionId?: string;\n}\n\nexport const SessionFilesSidebarToggle = memo(\n\tfunction SessionFilesSidebarToggle({\n\t\tsessionId,\n\t}: SessionFilesSidebarToggleProps) {\n\t\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\t\tconst toggleSidebar = useSessionFilesStore((state) => state.toggleSidebar);\n\t\tconst { data } = useSessionFiles(sessionId, isExpanded);\n\n\t\tconst fileCount = data?.totalFiles ?? 0;\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={toggleSidebar}\n\t\t\t\tclassName={`relative h-
|
|
151
|
+
"import { memo } from 'react';\nimport { FilePen } from 'lucide-react';\nimport { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { useSessionFiles } from '../../hooks/useSessionFiles';\n\ninterface SessionFilesSidebarToggleProps {\n\tsessionId?: string;\n}\n\nexport const SessionFilesSidebarToggle = memo(\n\tfunction SessionFilesSidebarToggle({\n\t\tsessionId,\n\t}: SessionFilesSidebarToggleProps) {\n\t\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\t\tconst toggleSidebar = useSessionFilesStore((state) => state.toggleSidebar);\n\t\tconst { data } = useSessionFiles(sessionId, isExpanded);\n\n\t\tconst fileCount = data?.totalFiles ?? 0;\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={toggleSidebar}\n\t\t\t\tclassName={`relative h-10 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\t\tisExpanded\n\t\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t\t}`}\n\t\t\t\ttitle=\"Session Files\"\n\t\t\t>\n\t\t\t\t<FilePen className=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t\t\t{fileCount > 0 && (\n\t\t\t\t\t<span className=\"absolute top-0.5 right-0.5 w-4 h-4 bg-primary text-primary-foreground text-[10px] rounded-full flex items-center justify-center font-semibold\">\n\t\t\t\t\t\t{fileCount > 9 ? '9+' : fileCount}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</button>\n\t\t);\n\t},\n);\n",
|
|
151
152
|
"import { useEffect, useMemo, memo, useRef } from 'react';\nimport { X, ChevronLeft, ChevronRight } 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 { useSessionFilesStore } from '../../stores/sessionFilesStore';\nimport { useSidebarStore } from '../../stores/sidebarStore';\nimport { Button } from '../ui/Button';\n\nfunction transformToUnifiedDiff(patch: string): string {\n\tconst lines = patch.split('\\n');\n\tconst result: string[] = [];\n\tlet addCount = 0;\n\tlet removeCount = 0;\n\tconst diffLines: string[] = [];\n\n\tfor (const line of lines) {\n\t\tif (\n\t\t\tline.startsWith('*** Begin Patch') ||\n\t\t\tline.startsWith('*** End Patch') ||\n\t\t\tline.startsWith('*** Update File:') ||\n\t\t\tline.startsWith('*** Add File:') ||\n\t\t\tline.startsWith('*** Delete File:')\n\t\t) {\n\t\t\tif (diffLines.length > 0) {\n\t\t\t\tresult.push(`@@ -1,${removeCount} +1,${addCount} @@`);\n\t\t\t\tresult.push(...diffLines);\n\t\t\t\tdiffLines.length = 0;\n\t\t\t\taddCount = 0;\n\t\t\t\tremoveCount = 0;\n\t\t\t}\n\t\t\tresult.push(line);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.match(/^@@ -\\d+(?:,\\d+)? \\+\\d+(?:,\\d+)? @@/)) {\n\t\t\tif (diffLines.length > 0) {\n\t\t\t\tresult.push(`@@ -1,${removeCount} +1,${addCount} @@`);\n\t\t\t\tresult.push(...diffLines);\n\t\t\t\tdiffLines.length = 0;\n\t\t\t\taddCount = 0;\n\t\t\t\tremoveCount = 0;\n\t\t\t}\n\t\t\tresult.push(line);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.startsWith('@@')) {\n\t\t\tresult.push(line);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (line.startsWith('+')) {\n\t\t\taddCount++;\n\t\t\tdiffLines.push(line);\n\t\t} else if (line.startsWith('-')) {\n\t\t\tremoveCount++;\n\t\t\tdiffLines.push(line);\n\t\t} else if (line.startsWith(' ') || line.startsWith('\\t')) {\n\t\t\taddCount++;\n\t\t\tremoveCount++;\n\t\t\tdiffLines.push(line.startsWith('\\t') ? ` ${line}` : line);\n\t\t} else if (line.trim() === '') {\n\t\t\tdiffLines.push(' ');\n\t\t\taddCount++;\n\t\t\tremoveCount++;\n\t\t} else {\n\t\t\taddCount++;\n\t\t\tremoveCount++;\n\t\t\tdiffLines.push(` ${line}`);\n\t\t}\n\t}\n\n\tif (diffLines.length > 0) {\n\t\tresult.push(`@@ -1,${removeCount} +1,${addCount} @@`);\n\t\tresult.push(...diffLines);\n\t}\n\n\treturn result.join('\\n');\n}\n\nfunction getLanguageFromPath(path: string): string {\n\tconst ext = path.split('.').pop()?.toLowerCase();\n\tconst langMap: Record<string, string> = {\n\t\tjs: 'javascript',\n\t\tjsx: 'jsx',\n\t\tts: 'typescript',\n\t\ttsx: 'tsx',\n\t\tpy: 'python',\n\t\trb: 'ruby',\n\t\tgo: 'go',\n\t\trs: 'rust',\n\t\tjava: 'java',\n\t\tc: 'c',\n\t\tcpp: 'cpp',\n\t\th: 'c',\n\t\thpp: 'cpp',\n\t\tcs: 'csharp',\n\t\tphp: 'php',\n\t\tsh: 'bash',\n\t\tbash: 'bash',\n\t\tzsh: 'bash',\n\t\tsql: 'sql',\n\t\tjson: 'json',\n\t\tyaml: 'yaml',\n\t\tyml: 'yaml',\n\t\txml: 'xml',\n\t\thtml: 'html',\n\t\tcss: 'css',\n\t\tscss: 'scss',\n\t\tmd: 'markdown',\n\t\ttxt: 'text',\n\t\tsvelte: 'svelte',\n\t};\n\treturn langMap[ext || ''] || 'javascript';\n}\n\ninterface DiffLine {\n\tcontent: string;\n\tcodeContent: string;\n\ttype: 'add' | 'remove' | 'context' | 'meta' | 'header';\n\toldLineNum?: number;\n\tnewLineNum?: number;\n}\n\nfunction parseDiff(patch: string): { lines: DiffLine[]; filePath: string } {\n\tconst lines = patch.split('\\n');\n\tconst result: DiffLine[] = [];\n\tlet oldLineNum = 0;\n\tlet newLineNum = 0;\n\tlet inHunk = false;\n\tlet filePath = '';\n\n\tfor (const line of lines) {\n\t\tif (line.startsWith('+++') || line.startsWith('*** Update File:')) {\n\t\t\tconst match =\n\t\t\t\tline.match(/\\+\\+\\+ b\\/(.+)/) || line.match(/\\*\\*\\* Update File: (.+)/);\n\t\t\tif (match) filePath = match[1];\n\t\t}\n\n\t\tif (line.startsWith('*** Add File:')) {\n\t\t\tconst match = line.match(/\\*\\*\\* Add File: (.+)/);\n\t\t\tif (match) filePath = match[1];\n\t\t}\n\n\t\tconst hunkMatch = line.match(/^@@ -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@/);\n\t\tif (hunkMatch) {\n\t\t\toldLineNum = Number.parseInt(hunkMatch[1], 10);\n\t\t\tnewLineNum = Number.parseInt(hunkMatch[2], 10);\n\t\t\tinHunk = true;\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'header',\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (\n\t\t\tline.startsWith('***') ||\n\t\t\tline.startsWith('diff ') ||\n\t\t\tline.startsWith('index ') ||\n\t\t\tline.startsWith('---') ||\n\t\t\tline.startsWith('+++') ||\n\t\t\t(line.startsWith('@@') && !inHunk)\n\t\t) {\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'meta',\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (inHunk) {\n\t\t\tif (line.startsWith('+')) {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.slice(1),\n\t\t\t\t\ttype: 'add',\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t} else if (line.startsWith('-')) {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.slice(1),\n\t\t\t\t\ttype: 'remove',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t});\n\t\t\t} else if (line.startsWith(' ') || line === '') {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line.startsWith(' ') ? line.slice(1) : line,\n\t\t\t\t\ttype: 'context',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tresult.push({\n\t\t\t\t\tcontent: line,\n\t\t\t\t\tcodeContent: line,\n\t\t\t\t\ttype: 'context',\n\t\t\t\t\toldLineNum: oldLineNum++,\n\t\t\t\t\tnewLineNum: newLineNum++,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push({\n\t\t\t\tcontent: line,\n\t\t\t\tcodeContent: line,\n\t\t\t\ttype: 'meta',\n\t\t\t});\n\t\t}\n\t}\n\n\treturn { lines: result, filePath };\n}\n\nfunction FullHeightDiffView({ patch }: { patch: string }) {\n\tconst { lines: diffLines, filePath } = parseDiff(patch);\n\tconst language = getLanguageFromPath(filePath);\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\n\treturn (\n\t\t<div className=\"bg-card/60 border border-border rounded-lg overflow-hidden h-full\">\n\t\t\t<div className=\"overflow-x-auto overflow-y-auto h-full text-xs font-mono\">\n\t\t\t\t{diffLines.map((line, i) => {\n\t\t\t\t\tconst key = `line-${i}-${line.content.slice(0, 20)}`;\n\n\t\t\t\t\tif (line.type === 'meta' || line.type === 'header') {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\tclassName={`px-3 py-0.5 whitespace-pre-wrap break-all ${\n\t\t\t\t\t\t\t\t\tline.type === 'header'\n\t\t\t\t\t\t\t\t\t\t? 'text-muted-foreground/80 bg-muted/20'\n\t\t\t\t\t\t\t\t\t\t: 'text-muted-foreground/80'\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{line.content}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet lineClass = '';\n\t\t\t\t\tlet bgClass = '';\n\t\t\t\t\tswitch (line.type) {\n\t\t\t\t\t\tcase 'add':\n\t\t\t\t\t\t\tlineClass = 'text-emerald-700 dark:text-emerald-300';\n\t\t\t\t\t\t\tbgClass = 'bg-emerald-500/10';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'remove':\n\t\t\t\t\t\t\tlineClass = 'text-red-600 dark:text-red-300';\n\t\t\t\t\t\t\tbgClass = 'bg-red-500/10';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tlineClass = 'text-foreground/80';\n\t\t\t\t\t}\n\n\t\t\t\t\tlet renderedContent: React.ReactNode = line.content;\n\t\t\t\t\tif (line.codeContent.trim() && language !== 'text') {\n\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tdisplay: 'inline',\n\t\t\t\t\t\t\t\t\tfontSize: 'inherit',\n\t\t\t\t\t\t\t\t\tlineHeight: 'inherit',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcodeTagProps={{\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontFamily: 'inherit',\n\t\t\t\t\t\t\t\t\t\tbackground: 'transparent',\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\tPreTag=\"span\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.codeContent}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (line.type === 'add') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\">+</span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (line.type === 'remove') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\">-</span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (line.type === 'context') {\n\t\t\t\t\t\t\trenderedContent = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<span className=\"select-none\"> </span>\n\t\t\t\t\t\t\t\t\t{renderedContent}\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}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={key} className={`flex ${bgClass}`}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tstyle={{ pointerEvents: 'none' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.oldLineNum || ''}\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\tclassName=\"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tstyle={{ pointerEvents: 'none' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{line.newLineNum || ''}\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\tclassName={`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${lineClass}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderedContent}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction formatTimestamp(timestamp: number): string {\n\tconst date = new Date(timestamp);\n\treturn date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\n}\n\nexport const SessionFilesDiffPanel = memo(function SessionFilesDiffPanel() {\n\tconst isDiffOpen = useSessionFilesStore((state) => state.isDiffOpen);\n\tconst selectedFile = useSessionFilesStore((state) => state.selectedFile);\n\tconst allOperations = useSessionFilesStore((state) => state.allOperations);\n\tconst selectedOperationIndex = useSessionFilesStore(\n\t\t(state) => state.selectedOperationIndex,\n\t);\n\tconst selectOperation = useSessionFilesStore(\n\t\t(state) => state.selectOperation,\n\t);\n\tconst closeDiff = useSessionFilesStore((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 selectedOperation = allOperations[selectedOperationIndex];\n\n\tconst patchContent = useMemo(() => {\n\t\tif (!selectedOperation || !selectedFile) return null;\n\n\t\tlet rawPatch: string | null = null;\n\n\t\tif (selectedOperation.artifact?.patch) {\n\t\t\trawPatch = selectedOperation.artifact.patch;\n\t\t} else if (selectedOperation.patch) {\n\t\t\trawPatch = selectedOperation.patch;\n\t\t} else if (selectedOperation.content) {\n\t\t\tconst contentLines = selectedOperation.content.split('\\n');\n\t\t\trawPatch = `*** Add File: ${selectedFile}\\n${contentLines.map((line) => `+${line}`).join('\\n')}`;\n\t\t}\n\n\t\tif (!rawPatch) return null;\n\n\t\tconst hasProperHunkHeader = /@@ -\\d+(?:,\\d+)? \\+\\d+(?:,\\d+)? @@/.test(\n\t\t\trawPatch,\n\t\t);\n\t\tif (!hasProperHunkHeader) {\n\t\t\treturn transformToUnifiedDiff(rawPatch);\n\t\t}\n\n\t\treturn rawPatch;\n\t}, [selectedOperation, selectedFile]);\n\n\tuseEffect(() => {\n\t\t// Only act on transitions\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\tuseEffect(() => {\n\t\tconst handleKeyDown = (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\n\t\t\tif ((e.key === 'Escape' || (e.key === 'q' && !isInInput)) && isDiffOpen) {\n\t\t\t\tcloseDiff();\n\t\t\t}\n\n\t\t\tif (!isInInput && isDiffOpen && allOperations.length > 1) {\n\t\t\t\tif (e.key === 'ArrowLeft' || e.key === '[') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tselectOperation(Math.max(0, selectedOperationIndex - 1));\n\t\t\t\t} else if (e.key === 'ArrowRight' || e.key === ']') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tselectOperation(\n\t\t\t\t\t\tMath.min(allOperations.length - 1, selectedOperationIndex + 1),\n\t\t\t\t\t);\n\t\t\t\t}\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\tisDiffOpen,\n\t\tcloseDiff,\n\t\tallOperations.length,\n\t\tselectedOperationIndex,\n\t\tselectOperation,\n\t]);\n\n\tif (!isDiffOpen || !selectedFile || !selectedOperation) return null;\n\n\tconst hasMultipleOps = allOperations.length > 1;\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 shrink-0\">\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\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<span className=\"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0 capitalize\">\n\t\t\t\t\t\t{selectedOperation.operation}\n\t\t\t\t\t</span>\n\t\t\t\t\t{selectedOperation.artifact?.summary && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-1 text-xs flex-shrink-0\">\n\t\t\t\t\t\t\t<span className=\"text-green-500\">\n\t\t\t\t\t\t\t\t+{selectedOperation.artifact.summary.additions}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t-{selectedOperation.artifact.summary.deletions}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{hasMultipleOps && (\n\t\t\t\t\t<div className=\"flex items-center gap-2 shrink-0\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tselectOperation(Math.max(0, selectedOperationIndex - 1))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={selectedOperationIndex === 0}\n\t\t\t\t\t\t\ttitle=\"Previous operation (←)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronLeft className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground min-w-[60px] text-center\">\n\t\t\t\t\t\t\t{selectedOperationIndex + 1} / {allOperations.length}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tselectOperation(\n\t\t\t\t\t\t\t\t\tMath.min(\n\t\t\t\t\t\t\t\t\t\tallOperations.length - 1,\n\t\t\t\t\t\t\t\t\t\tselectedOperationIndex + 1,\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}\n\t\t\t\t\t\t\tdisabled={selectedOperationIndex === allOperations.length - 1}\n\t\t\t\t\t\t\ttitle=\"Next operation (→)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\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\n\t\t\t{hasMultipleOps && (\n\t\t\t\t<div className=\"border-b border-border px-4 py-2 flex gap-2 overflow-x-auto shrink-0\">\n\t\t\t\t\t{allOperations.map((op, idx) => (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tkey={op.toolCallId}\n\t\t\t\t\t\t\tonClick={() => selectOperation(idx)}\n\t\t\t\t\t\t\tclassName={`px-3 py-1.5 text-xs rounded-md flex items-center gap-2 shrink-0 transition-colors ${\n\t\t\t\t\t\t\t\tidx === selectedOperationIndex\n\t\t\t\t\t\t\t\t\t? 'bg-primary text-primary-foreground'\n\t\t\t\t\t\t\t\t\t: 'bg-muted hover:bg-muted/80 text-muted-foreground'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"capitalize\">{op.operation}</span>\n\t\t\t\t\t\t\t<span className=\"opacity-70\">\n\t\t\t\t\t\t\t\t{formatTimestamp(op.timestamp)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{op.artifact?.summary && (\n\t\t\t\t\t\t\t\t<span className=\"opacity-70\">\n\t\t\t\t\t\t\t\t\t+{op.artifact.summary.additions}/-\n\t\t\t\t\t\t\t\t\t{op.artifact.summary.deletions}\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))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div className=\"flex-1 overflow-hidden p-4\">\n\t\t\t\t{patchContent ? (\n\t\t\t\t\t<FullHeightDiffView patch={patchContent} />\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 content 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",
|
|
152
|
-
"import { memo, useState, useEffect, useCallback, useRef, useMemo } from 'react';\nimport {\n\tChevronRight,\n\tFlaskConical,\n\tPlus,\n\tHistory,\n\tLoader2,\n\tArrowUp,\n\tArrowDownToLine,\n\tExternalLink,\n\tChevronDown,\n\tCheck,\n\tX,\n} from 'lucide-react';\nimport { useResearchStore } from '../../stores/researchStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport {\n\tuseResearchSessions,\n\tuseCreateResearchSession,\n\tuseInjectContext,\n\tuseExportToSession,\n\ttype ResearchSession,\n} from '../../hooks/useResearch';\nimport { useSession, useUpdateSession } from '../../hooks/useSessions';\nimport { useAllModels } from '../../hooks/useConfig';\nimport { useMessages } from '../../hooks/useMessages';\nimport { useSessionStream } from '../../hooks/useSessionStream';\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../../lib/api-client';\nimport { Button } from '../ui/Button';\nimport { Textarea } from '../ui/Textarea';\nimport { Modal } from '../ui/Modal';\nimport { UnifiedModelSelector } from '../chat/UnifiedModelSelector';\nimport { AssistantMessageGroup } from '../messages/AssistantMessageGroup';\nimport { UserMessageGroup } from '../messages/UserMessageGroup';\nimport { ResizeHandle } from '../ui/ResizeHandle';\n\nconst PANEL_KEY = 'research';\nconst DEFAULT_WIDTH = 384;\nconst MIN_WIDTH = 384;\nconst MAX_WIDTH = 640;\n\ninterface ResearchSidebarProps {\n\tparentSessionId: string | null;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport const ResearchSidebar = memo(function ResearchSidebar({\n\tparentSessionId,\n\tonNavigateToSession,\n}: ResearchSidebarProps) {\n\tconst isExpanded = useResearchStore((state) => state.isExpanded);\n\tconst collapseSidebar = useResearchStore((state) => state.collapseSidebar);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\tconst activeResearchSessionId = useResearchStore(\n\t\t(state) => state.activeResearchSessionId,\n\t);\n\tconst selectResearchSession = useResearchStore(\n\t\t(state) => state.selectResearchSession,\n\t);\n\n\tconst [showHistory, setShowHistory] = useState(false);\n\tconst [inputValue, setInputValue] = useState('');\n\tconst [showModelSelector, setShowModelSelector] = useState(false);\n\tconst [injectionStatus, setInjectionStatus] = useState<\n\t\t'idle' | 'success' | 'error'\n\t>('idle');\n\tconst textareaRef = useRef<HTMLTextAreaElement>(null);\n\tconst messagesEndRef = useRef<HTMLDivElement>(null);\n\n\tconst {\n\t\tdata: researchData,\n\t\tisLoading,\n\t\trefetch,\n\t} = useResearchSessions(parentSessionId, isExpanded);\n\tconst createMutation = useCreateResearchSession();\n\tconst injectMutation = useInjectContext();\n\tconst exportMutation = useExportToSession();\n\tconst { data: allModels } = useAllModels();\n\n\tconst { data: messagesData } = useMessages(\n\t\tactiveResearchSessionId ?? undefined,\n\t\t{ enabled: isExpanded },\n\t);\n\n\tconst { data: parentMessagesData } = useMessages(\n\t\tparentSessionId ?? undefined,\n\t\t{ enabled: isExpanded },\n\t);\n\n\t// Enable streaming for the active research session\n\tuseSessionStream(activeResearchSessionId ?? undefined, isExpanded);\n\n\tconst updateSession = useUpdateSession(activeResearchSessionId ?? '');\n\n\tconst queryClient = useQueryClient();\n\tconst sendMessage = useMutation({\n\t\tmutationFn: async ({\n\t\t\tsessionId,\n\t\t\tcontent,\n\t\t}: {\n\t\t\tsessionId: string;\n\t\t\tcontent: string;\n\t\t}) => apiClient.sendMessage(sessionId, { content }),\n\t\tonSuccess: (_, { sessionId }) => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t},\n\t});\n\n\tuseEffect(() => {\n\t\tif (parentSessionId) {\n\t\t\tuseResearchStore.getState().setParentSessionId(parentSessionId);\n\t\t}\n\t}, [parentSessionId]);\n\n\tuseEffect(() => {\n\t\tif (researchData?.sessions?.length) {\n\t\t\tconst currentIsValid = researchData.sessions.some(\n\t\t\t\t(s) => s.id === activeResearchSessionId,\n\t\t\t);\n\t\t\tif (!currentIsValid) {\n\t\t\t\tselectResearchSession(researchData.sessions[0].id);\n\t\t\t}\n\t\t} else if (researchData?.sessions?.length === 0) {\n\t\t\tselectResearchSession(null);\n\t\t}\n\t}, [researchData, activeResearchSessionId, selectResearchSession]);\n\n\tuseEffect(() => {\n\t\tmessagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n\t}, []);\n\n\tconst adjustTextareaHeight = useCallback(() => {\n\t\tconst textarea = textareaRef.current;\n\t\tif (!textarea) return;\n\t\ttextarea.style.height = 'auto';\n\t\ttextarea.style.height = `${Math.min(textarea.scrollHeight, 120)}px`;\n\t}, []);\n\n\tuseEffect(() => {\n\t\tadjustTextareaHeight();\n\t}, [adjustTextareaHeight]);\n\n\tconst handleCreateNew = useCallback(async () => {\n\t\tif (!parentSessionId) return;\n\t\ttry {\n\t\t\tconst result = await createMutation.mutateAsync({\n\t\t\t\tparentSessionId,\n\t\t\t\tdata: {},\n\t\t\t});\n\t\t\t// Wait for query to refetch before selecting\n\t\t\tawait refetch();\n\t\t\tselectResearchSession(result.session.id);\n\t\t\tsetShowHistory(false);\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to create research session:', err);\n\t\t}\n\t}, [parentSessionId, createMutation, selectResearchSession, refetch]);\n\n\tconst handleSelectSession = useCallback(\n\t\t(session: ResearchSession) => {\n\t\t\tselectResearchSession(session.id);\n\t\t\tsetShowHistory(false);\n\t\t},\n\t\t[selectResearchSession],\n\t);\n\n\tconst handleInject = useCallback(async () => {\n\t\tif (!parentSessionId || !activeResearchSessionId) return;\n\n\t\t// Check if already injected\n\t\tconst alreadyInjected = parentMessagesData?.some(\n\t\t\t(m) =>\n\t\t\t\tm.role === 'system' &&\n\t\t\t\tm.parts?.some(\n\t\t\t\t\t(p) =>\n\t\t\t\t\t\ttypeof p.content === 'string' &&\n\t\t\t\t\t\tp.content.includes(`from=\"${activeResearchSessionId}\"`),\n\t\t\t\t),\n\t\t);\n\t\tif (alreadyInjected) {\n\t\t\tsetInjectionStatus('error');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 3000);\n\t\t\treturn;\n\t\t}\n\n\t\t// Generate a descriptive label with timestamp\n\t\tconst now = new Date();\n\t\tconst timeStr = now.toLocaleTimeString([], {\n\t\t\thour: '2-digit',\n\t\t\tminute: '2-digit',\n\t\t});\n\t\tconst label = `Research ${timeStr}`;\n\n\t\ttry {\n\t\t\tawait injectMutation.mutateAsync({\n\t\t\t\tparentSessionId,\n\t\t\t\tresearchSessionId: activeResearchSessionId,\n\t\t\t\tlabel,\n\t\t\t});\n\t\t\tsetInjectionStatus('success');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 5000);\n\t\t\t// Invalidate parent messages to update the UI\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: ['messages', parentSessionId],\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to inject context:', err);\n\t\t\tsetInjectionStatus('error');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 3000);\n\t\t}\n\t}, [\n\t\tparentSessionId,\n\t\tactiveResearchSessionId,\n\t\tinjectMutation,\n\t\tparentMessagesData,\n\t\tqueryClient,\n\t]);\n\n\tconst handleExport = useCallback(async () => {\n\t\tif (!activeResearchSessionId) return;\n\t\ttry {\n\t\t\tconst result = await exportMutation.mutateAsync({\n\t\t\t\tresearchId: activeResearchSessionId,\n\t\t\t});\n\t\t\tif (onNavigateToSession && result.newSession?.id) {\n\t\t\t\tonNavigateToSession(result.newSession.id);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to export to session:', err);\n\t\t}\n\t}, [activeResearchSessionId, exportMutation, onNavigateToSession]);\n\n\tconst handleSendMessage = useCallback(async () => {\n\t\tif (!inputValue.trim() || !parentSessionId) return;\n\t\ttry {\n\t\t\tlet sessionId = activeResearchSessionId;\n\n\t\t\tif (!sessionId) {\n\t\t\t\tconst result = await createMutation.mutateAsync({\n\t\t\t\t\tparentSessionId,\n\t\t\t\t\tdata: {},\n\t\t\t\t});\n\t\t\t\tsessionId = result.session.id;\n\t\t\t\tselectResearchSession(sessionId);\n\t\t\t}\n\n\t\t\tawait sendMessage.mutateAsync({\n\t\t\t\tsessionId,\n\t\t\t\tcontent: inputValue,\n\t\t\t});\n\t\t\tsetInputValue('');\n\t\t\tif (textareaRef.current) {\n\t\t\t\ttextareaRef.current.style.height = 'auto';\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to send message:', err);\n\t\t}\n\t}, [\n\t\tinputValue,\n\t\tparentSessionId,\n\t\tactiveResearchSessionId,\n\t\tcreateMutation,\n\t\tselectResearchSession,\n\t\tsendMessage,\n\t]);\n\n\tconst handleKeyDown = useCallback(\n\t\t(e: React.KeyboardEvent) => {\n\t\t\tif (e.key === 'Enter' && !e.shiftKey) {\n\t\t\t\te.preventDefault();\n\t\t\t\thandleSendMessage();\n\t\t\t}\n\t\t},\n\t\t[handleSendMessage],\n\t);\n\n\tconst isGenerating = useMemo(\n\t\t() =>\n\t\t\tmessagesData?.some(\n\t\t\t\t(m) => m.role === 'assistant' && m.status === 'pending',\n\t\t\t) ?? false,\n\t\t[messagesData],\n\t);\n\n\tconst isAlreadyInjected = useMemo(() => {\n\t\tif (!activeResearchSessionId || !parentMessagesData) return false;\n\t\treturn parentMessagesData.some(\n\t\t\t(m) =>\n\t\t\t\tm.role === 'system' &&\n\t\t\t\tm.parts?.some(\n\t\t\t\t\t(p) =>\n\t\t\t\t\t\ttypeof p.content === 'string' &&\n\t\t\t\t\t\tp.content.includes(`from=\"${activeResearchSessionId}\"`),\n\t\t\t\t),\n\t\t);\n\t}, [activeResearchSessionId, parentMessagesData]);\n\n\tconst handleModelChange = useCallback(\n\t\tasync (newProvider: string, newModel: string) => {\n\t\t\tif (!activeResearchSessionId) {\n\t\t\t\tsetShowModelSelector(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\tmodel: newModel,\n\t\t\t\t});\n\t\t\t\tawait queryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\t\t\t});\n\t\t\t\tsetShowModelSelector(false);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Failed to update research session model:', err);\n\t\t\t}\n\t\t},\n\t\t[activeResearchSessionId, updateSession, queryClient, parentSessionId],\n\t);\n\n\tconst parentSession = useSession(parentSessionId ?? '');\n\n\tif (!isExpanded) return null;\n\n\tconst sessions = researchData?.sessions ?? [];\n\tconst activeSession = sessions.find((s) => s.id === activeResearchSessionId);\n\tconst messages = messagesData ?? [];\n\n\tconst effectiveProvider =\n\t\tactiveSession?.provider ?? parentSession?.provider ?? '';\n\tconst effectiveModel = activeSession?.model ?? parentSession?.model ?? '';\n\n\tconst currentProviderLabel =\n\t\tallModels?.[effectiveProvider]?.label ?? effectiveProvider;\n\tconst currentModelLabel =\n\t\tallModels?.[effectiveProvider]?.models.find((m) => m.id === effectiveModel)\n\t\t\t?.label ?? effectiveModel;\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{/* Header */}\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<FlaskConical className=\"w-4 h-4 text-teal-500\" />\n\t\t\t\t\t\t<span className=\"font-medium text-foreground text-sm\">\n\t\t\t\t\t\t\tResearch\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-0.5\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() => setShowHistory(!showHistory)}\n\t\t\t\t\t\t\ttitle=\"Research history\"\n\t\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<History className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={handleCreateNew}\n\t\t\t\t\t\t\tdisabled={!parentSessionId || createMutation.isPending}\n\t\t\t\t\t\t\ttitle=\"New research session\"\n\t\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{createMutation.isPending ? (\n\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{showHistory ? (\n\t\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t\t<div className=\"p-2 border-b border-border\">\n\t\t\t\t\t\t\t<div className=\"text-xs font-medium text-muted-foreground px-2 py-1\">\n\t\t\t\t\t\t\t\tResearch Sessions\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tLoading...\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : sessions.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tNo research sessions yet\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=\"p-2 space-y-1\">\n\t\t\t\t\t\t\t\t{sessions.map((session) => (\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\tkey={session.id}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelectSession(session)}\n\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left p-2 rounded-md text-sm transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\tsession.id === activeResearchSessionId\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500/10 border border-teal-500/30 text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-muted'\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<div className=\"font-medium truncate\">\n\t\t\t\t\t\t\t\t\t\t\t{session.title || 'Untitled'}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{session.messageCount} messages •{' '}\n\t\t\t\t\t\t\t\t\t\t\t{formatRelativeTime(\n\t\t\t\t\t\t\t\t\t\t\t\tsession.lastActiveAt ?? session.createdAt,\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</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\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Messages area - using the same components as main chat, but smaller */}\n\t\t\t\t\t\t<div className=\"flex-1 overflow-y-auto px-3 py-3 research-messages text-[13px]\">\n\t\t\t\t\t\t\t{!activeResearchSessionId ? (\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground text-center py-8\">\n\t\t\t\t\t\t\t\t\t<FlaskConical className=\"w-8 h-8 mx-auto mb-2 text-muted-foreground/50\" />\n\t\t\t\t\t\t\t\t\t<p>Start researching by asking a question below.</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : messages.length === 0 ? (\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground text-center py-8\">\n\t\t\t\t\t\t\t\t\t<p>Ask a question to start researching.</p>\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\t<div className=\"space-y-1.5\">\n\t\t\t\t\t\t\t\t\t{messages.map((msg, index) => {\n\t\t\t\t\t\t\t\t\t\tif (msg.role === 'user') {\n\t\t\t\t\t\t\t\t\t\t\tconst nextMsg = messages[index + 1];\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<UserMessageGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={msg.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsessionId={activeResearchSessionId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage={msg}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFirst={index === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextAssistantMessageId={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnextMsg?.role === 'assistant'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? nextMsg.id\n\t\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\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}\n\t\t\t\t\t\t\t\t\t\tif (msg.role === 'assistant') {\n\t\t\t\t\t\t\t\t\t\t\tconst prevMsg = index > 0 ? messages[index - 1] : null;\n\t\t\t\t\t\t\t\t\t\t\tconst nextMsg = messages[index + 1];\n\t\t\t\t\t\t\t\t\t\t\tconst showHeader = prevMsg?.role !== 'assistant';\n\t\t\t\t\t\t\t\t\t\t\tconst hasNextAssistant = nextMsg?.role === 'assistant';\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<AssistantMessageGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={msg.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsessionId={activeResearchSessionId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage={msg}\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowHeader={showHeader}\n\t\t\t\t\t\t\t\t\t\t\t\t\thasNextAssistantMessage={hasNextAssistant}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisLastMessage={index === messages.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcompact\n\t\t\t\t\t\t\t\t\t\t\t\t\tonNavigateToSession={onNavigateToSession}\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}\n\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t<div ref={messagesEndRef} />\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\n\t\t\t\t\t\t{/* Input area */}\n\t\t\t\t\t\t<div className=\"p-3 border-t border-border\">\n\t\t\t\t\t\t\t<div className=\"relative flex flex-col rounded-3xl bg-card border border-border focus-within:border-teal-500/60 focus-within:ring-1 focus-within:ring-teal-500/40 p-1\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-end gap-1\">\n\t\t\t\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setInputValue(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Ask anything...\"\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t!parentSessionId ||\n\t\t\t\t\t\t\t\t\t\t\tsendMessage.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tcreateMutation.isPending\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\trows={1}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 border-0 bg-transparent pl-2 pr-1 py-2 max-h-[120px] overflow-y-auto leading-normal resize-none scrollbar-hide text-sm focus:ring-0 focus:outline-none\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ height: '2.25rem' }}\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={handleSendMessage}\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t!inputValue.trim() ||\n\t\t\t\t\t\t\t\t\t\t\t!parentSessionId ||\n\t\t\t\t\t\t\t\t\t\t\tsendMessage.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tcreateMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tisGenerating\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center justify-center w-9 h-9 rounded-full transition-colors flex-shrink-0 ${\n\t\t\t\t\t\t\t\t\t\t\tinputValue.trim() && parentSessionId && !isGenerating\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500 hover:bg-teal-600 text-white'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'bg-transparent text-muted-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{sendMessage.isPending || createMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<ArrowUp className=\"w-4 h-4\" />\n\t\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</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Injection status banner */}\n\t\t\t\t\t\t\t{injectionStatus === 'success' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-teal-500/10 border border-teal-500/30 text-teal-600 dark:text-teal-400\">\n\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t<span className=\"flex-1\">\n\t\t\t\t\t\t\t\t\t\tContext injected — will be used on next request\n\t\t\t\t\t\t\t\t\t</span>\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={() => setInjectionStatus('idle')}\n\t\t\t\t\t\t\t\t\t\tclassName=\"hover:text-teal-500\"\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)}\n\t\t\t\t\t\t\t{injectionStatus === 'error' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-red-500/10 border border-red-500/30 text-red-600 dark:text-red-400\">\n\t\t\t\t\t\t\t\t\t<X className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t<span className=\"flex-1\">Failed to inject context</span>\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={() => setInjectionStatus('idle')}\n\t\t\t\t\t\t\t\t\t\tclassName=\"hover:text-red-500\"\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)}\n\n\t\t\t\t\t\t\t{/* Action buttons */}\n\t\t\t\t\t\t\t<div className=\"flex gap-2 mt-2\">\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={handleInject}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!activeResearchSessionId ||\n\t\t\t\t\t\t\t\t\t\tinjectMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\tisGenerating ||\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={`flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500/10 text-teal-600 dark:text-teal-400 border border-teal-500/30'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t\t\t? 'Already injected into main session'\n\t\t\t\t\t\t\t\t\t\t\t: 'Inject findings into main session'\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{injectMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t\t\t\t\t) : isAlreadyInjected ? (\n\t\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ArrowDownToLine className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{isAlreadyInjected ? 'Injected' : 'Inject'}\n\t\t\t\t\t\t\t\t</button>\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={handleExport}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!activeResearchSessionId ||\n\t\t\t\t\t\t\t\t\t\texportMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\tisGenerating\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed\"\n\t\t\t\t\t\t\t\t\ttitle=\"Export to new main session\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{exportMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tExport\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</>\n\t\t\t\t)}\n\n\t\t\t\t{/* Footer */}\n\t\t\t\t<div className=\"h-12 px-3 border-t border-border text-xs text-muted-foreground flex items-center justify-between\">\n\t\t\t\t\t<span className=\"text-[10px]\">\n\t\t\t\t\t\t{sessions.length} research session{sessions.length !== 1 ? 's' : ''}\n\t\t\t\t\t</span>\n\t\t\t\t\t{(currentProviderLabel || currentModelLabel) && (\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={() => setShowModelSelector(true)}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 text-[10px] hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"opacity-60\">{currentProviderLabel}</span>\n\t\t\t\t\t\t\t<span className=\"opacity-40\">/</span>\n\t\t\t\t\t\t\t<span>{currentModelLabel}</span>\n\t\t\t\t\t\t\t<ChevronDown className=\"w-3 h-3 opacity-40\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Model Selector Modal */}\n\t\t\t\t<Modal\n\t\t\t\t\tisOpen={showModelSelector}\n\t\t\t\t\tonClose={() => setShowModelSelector(false)}\n\t\t\t\t\ttitle=\"Select Model for Research\"\n\t\t\t\t\tmaxWidth=\"md\"\n\t\t\t\t>\n\t\t\t\t\t{(effectiveProvider || effectiveModel) && (\n\t\t\t\t\t\t<UnifiedModelSelector\n\t\t\t\t\t\t\tprovider={effectiveProvider}\n\t\t\t\t\t\t\tmodel={effectiveModel}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Modal>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nfunction formatRelativeTime(timestamp: number): string {\n\tconst diff = Date.now() - timestamp;\n\tconst minutes = Math.floor(diff / 60000);\n\tif (minutes < 1) return 'just now';\n\tif (minutes < 60) return `${minutes}m ago`;\n\tconst hours = Math.floor(minutes / 60);\n\tif (hours < 24) return `${hours}h ago`;\n\tconst days = Math.floor(hours / 24);\n\treturn `${days}d ago`;\n}\n",
|
|
153
|
+
"import { memo, useState, useEffect, useCallback, useRef, useMemo } from 'react';\nimport {\n\tFlaskConical,\n\tPlus,\n\tHistory,\n\tLoader2,\n\tArrowUp,\n\tArrowDownToLine,\n\tExternalLink,\n\tChevronDown,\n\tCheck,\n\tX,\n} from 'lucide-react';\nimport { useResearchStore } from '../../stores/researchStore';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport {\n\tuseResearchSessions,\n\tuseCreateResearchSession,\n\tuseInjectContext,\n\tuseExportToSession,\n\ttype ResearchSession,\n} from '../../hooks/useResearch';\nimport { useSession, useUpdateSession } from '../../hooks/useSessions';\nimport { useAllModels } from '../../hooks/useConfig';\nimport { useMessages } from '../../hooks/useMessages';\nimport { useSessionStream } from '../../hooks/useSessionStream';\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../../lib/api-client';\nimport { Button } from '../ui/Button';\nimport { Textarea } from '../ui/Textarea';\nimport { Modal } from '../ui/Modal';\nimport { SidebarHeader } from '../ui/SidebarHeader';\nimport { UnifiedModelSelector } from '../chat/UnifiedModelSelector';\nimport { AssistantMessageGroup } from '../messages/AssistantMessageGroup';\nimport { UserMessageGroup } from '../messages/UserMessageGroup';\nimport { ResizeHandle } from '../ui/ResizeHandle';\n\nconst PANEL_KEY = 'research';\nconst DEFAULT_WIDTH = 384;\nconst MIN_WIDTH = 384;\nconst MAX_WIDTH = 640;\n\ninterface ResearchSidebarProps {\n\tparentSessionId: string | null;\n\tonNavigateToSession?: (sessionId: string) => void;\n}\n\nexport const ResearchSidebar = memo(function ResearchSidebar({\n\tparentSessionId,\n\tonNavigateToSession,\n}: ResearchSidebarProps) {\n\tconst isExpanded = useResearchStore((state) => state.isExpanded);\n\tconst collapseSidebar = useResearchStore((state) => state.collapseSidebar);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[PANEL_KEY] ?? DEFAULT_WIDTH,\n\t);\n\tconst activeResearchSessionId = useResearchStore(\n\t\t(state) => state.activeResearchSessionId,\n\t);\n\tconst selectResearchSession = useResearchStore(\n\t\t(state) => state.selectResearchSession,\n\t);\n\n\tconst [showHistory, setShowHistory] = useState(false);\n\tconst [inputValue, setInputValue] = useState('');\n\tconst [showModelSelector, setShowModelSelector] = useState(false);\n\tconst [injectionStatus, setInjectionStatus] = useState<\n\t\t'idle' | 'success' | 'error'\n\t>('idle');\n\tconst textareaRef = useRef<HTMLTextAreaElement>(null);\n\tconst messagesEndRef = useRef<HTMLDivElement>(null);\n\n\tconst {\n\t\tdata: researchData,\n\t\tisLoading,\n\t\trefetch,\n\t} = useResearchSessions(parentSessionId, isExpanded);\n\tconst createMutation = useCreateResearchSession();\n\tconst injectMutation = useInjectContext();\n\tconst exportMutation = useExportToSession();\n\tconst { data: allModels } = useAllModels();\n\n\tconst { data: messagesData } = useMessages(\n\t\tactiveResearchSessionId ?? undefined,\n\t\t{ enabled: isExpanded },\n\t);\n\n\tconst { data: parentMessagesData } = useMessages(\n\t\tparentSessionId ?? undefined,\n\t\t{ enabled: isExpanded },\n\t);\n\n\t// Enable streaming for the active research session\n\tuseSessionStream(activeResearchSessionId ?? undefined, isExpanded);\n\n\tconst updateSession = useUpdateSession(activeResearchSessionId ?? '');\n\n\tconst queryClient = useQueryClient();\n\tconst sendMessage = useMutation({\n\t\tmutationFn: async ({\n\t\t\tsessionId,\n\t\t\tcontent,\n\t\t}: {\n\t\t\tsessionId: string;\n\t\t\tcontent: string;\n\t\t}) => apiClient.sendMessage(sessionId, { content }),\n\t\tonSuccess: (_, { sessionId }) => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t},\n\t});\n\n\tuseEffect(() => {\n\t\tif (parentSessionId) {\n\t\t\tuseResearchStore.getState().setParentSessionId(parentSessionId);\n\t\t}\n\t}, [parentSessionId]);\n\n\tuseEffect(() => {\n\t\tif (researchData?.sessions?.length) {\n\t\t\tconst currentIsValid = researchData.sessions.some(\n\t\t\t\t(s) => s.id === activeResearchSessionId,\n\t\t\t);\n\t\t\tif (!currentIsValid) {\n\t\t\t\tselectResearchSession(researchData.sessions[0].id);\n\t\t\t}\n\t\t} else if (researchData?.sessions?.length === 0) {\n\t\t\tselectResearchSession(null);\n\t\t}\n\t}, [researchData, activeResearchSessionId, selectResearchSession]);\n\n\tuseEffect(() => {\n\t\tmessagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n\t}, []);\n\n\tconst adjustTextareaHeight = useCallback(() => {\n\t\tconst textarea = textareaRef.current;\n\t\tif (!textarea) return;\n\t\ttextarea.style.height = 'auto';\n\t\ttextarea.style.height = `${Math.min(textarea.scrollHeight, 120)}px`;\n\t}, []);\n\n\tuseEffect(() => {\n\t\tadjustTextareaHeight();\n\t}, [adjustTextareaHeight]);\n\n\tconst handleCreateNew = useCallback(async () => {\n\t\tif (!parentSessionId) return;\n\t\ttry {\n\t\t\tconst result = await createMutation.mutateAsync({\n\t\t\t\tparentSessionId,\n\t\t\t\tdata: {},\n\t\t\t});\n\t\t\t// Wait for query to refetch before selecting\n\t\t\tawait refetch();\n\t\t\tselectResearchSession(result.session.id);\n\t\t\tsetShowHistory(false);\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to create research session:', err);\n\t\t}\n\t}, [parentSessionId, createMutation, selectResearchSession, refetch]);\n\n\tconst handleSelectSession = useCallback(\n\t\t(session: ResearchSession) => {\n\t\t\tselectResearchSession(session.id);\n\t\t\tsetShowHistory(false);\n\t\t},\n\t\t[selectResearchSession],\n\t);\n\n\tconst handleInject = useCallback(async () => {\n\t\tif (!parentSessionId || !activeResearchSessionId) return;\n\n\t\t// Check if already injected\n\t\tconst alreadyInjected = parentMessagesData?.some(\n\t\t\t(m) =>\n\t\t\t\tm.role === 'system' &&\n\t\t\t\tm.parts?.some(\n\t\t\t\t\t(p) =>\n\t\t\t\t\t\ttypeof p.content === 'string' &&\n\t\t\t\t\t\tp.content.includes(`from=\"${activeResearchSessionId}\"`),\n\t\t\t\t),\n\t\t);\n\t\tif (alreadyInjected) {\n\t\t\tsetInjectionStatus('error');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 3000);\n\t\t\treturn;\n\t\t}\n\n\t\t// Generate a descriptive label with timestamp\n\t\tconst now = new Date();\n\t\tconst timeStr = now.toLocaleTimeString([], {\n\t\t\thour: '2-digit',\n\t\t\tminute: '2-digit',\n\t\t});\n\t\tconst label = `Research ${timeStr}`;\n\n\t\ttry {\n\t\t\tawait injectMutation.mutateAsync({\n\t\t\t\tparentSessionId,\n\t\t\t\tresearchSessionId: activeResearchSessionId,\n\t\t\t\tlabel,\n\t\t\t});\n\t\t\tsetInjectionStatus('success');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 5000);\n\t\t\t// Invalidate parent messages to update the UI\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: ['messages', parentSessionId],\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to inject context:', err);\n\t\t\tsetInjectionStatus('error');\n\t\t\tsetTimeout(() => setInjectionStatus('idle'), 3000);\n\t\t}\n\t}, [\n\t\tparentSessionId,\n\t\tactiveResearchSessionId,\n\t\tinjectMutation,\n\t\tparentMessagesData,\n\t\tqueryClient,\n\t]);\n\n\tconst handleExport = useCallback(async () => {\n\t\tif (!activeResearchSessionId) return;\n\t\ttry {\n\t\t\tconst result = await exportMutation.mutateAsync({\n\t\t\t\tresearchId: activeResearchSessionId,\n\t\t\t});\n\t\t\tif (onNavigateToSession && result.newSession?.id) {\n\t\t\t\tonNavigateToSession(result.newSession.id);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to export to session:', err);\n\t\t}\n\t}, [activeResearchSessionId, exportMutation, onNavigateToSession]);\n\n\tconst handleSendMessage = useCallback(async () => {\n\t\tif (!inputValue.trim() || !parentSessionId) return;\n\t\ttry {\n\t\t\tlet sessionId = activeResearchSessionId;\n\n\t\t\tif (!sessionId) {\n\t\t\t\tconst result = await createMutation.mutateAsync({\n\t\t\t\t\tparentSessionId,\n\t\t\t\t\tdata: {},\n\t\t\t\t});\n\t\t\t\tsessionId = result.session.id;\n\t\t\t\tselectResearchSession(sessionId);\n\t\t\t}\n\n\t\t\tawait sendMessage.mutateAsync({\n\t\t\t\tsessionId,\n\t\t\t\tcontent: inputValue,\n\t\t\t});\n\t\t\tsetInputValue('');\n\t\t\tif (textareaRef.current) {\n\t\t\t\ttextareaRef.current.style.height = 'auto';\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to send message:', err);\n\t\t}\n\t}, [\n\t\tinputValue,\n\t\tparentSessionId,\n\t\tactiveResearchSessionId,\n\t\tcreateMutation,\n\t\tselectResearchSession,\n\t\tsendMessage,\n\t]);\n\n\tconst handleKeyDown = useCallback(\n\t\t(e: React.KeyboardEvent) => {\n\t\t\tif (e.key === 'Enter' && !e.shiftKey) {\n\t\t\t\te.preventDefault();\n\t\t\t\thandleSendMessage();\n\t\t\t}\n\t\t},\n\t\t[handleSendMessage],\n\t);\n\n\tconst isGenerating = useMemo(\n\t\t() =>\n\t\t\tmessagesData?.some(\n\t\t\t\t(m) => m.role === 'assistant' && m.status === 'pending',\n\t\t\t) ?? false,\n\t\t[messagesData],\n\t);\n\n\tconst isAlreadyInjected = useMemo(() => {\n\t\tif (!activeResearchSessionId || !parentMessagesData) return false;\n\t\treturn parentMessagesData.some(\n\t\t\t(m) =>\n\t\t\t\tm.role === 'system' &&\n\t\t\t\tm.parts?.some(\n\t\t\t\t\t(p) =>\n\t\t\t\t\t\ttypeof p.content === 'string' &&\n\t\t\t\t\t\tp.content.includes(`from=\"${activeResearchSessionId}\"`),\n\t\t\t\t),\n\t\t);\n\t}, [activeResearchSessionId, parentMessagesData]);\n\n\tconst handleModelChange = useCallback(\n\t\tasync (newProvider: string, newModel: string) => {\n\t\t\tif (!activeResearchSessionId) {\n\t\t\t\tsetShowModelSelector(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\tmodel: newModel,\n\t\t\t\t});\n\t\t\t\tawait queryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\t\t\t});\n\t\t\t\tsetShowModelSelector(false);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error('Failed to update research session model:', err);\n\t\t\t}\n\t\t},\n\t\t[activeResearchSessionId, updateSession, queryClient, parentSessionId],\n\t);\n\n\tconst parentSession = useSession(parentSessionId ?? '');\n\n\tif (!isExpanded) return null;\n\n\tconst sessions = researchData?.sessions ?? [];\n\tconst activeSession = sessions.find((s) => s.id === activeResearchSessionId);\n\tconst messages = messagesData ?? [];\n\n\tconst effectiveProvider =\n\t\tactiveSession?.provider ?? parentSession?.provider ?? '';\n\tconst effectiveModel = activeSession?.model ?? parentSession?.model ?? '';\n\n\tconst currentProviderLabel =\n\t\tallModels?.[effectiveProvider]?.label ?? effectiveProvider;\n\tconst currentModelLabel =\n\t\tallModels?.[effectiveProvider]?.models.find((m) => m.id === effectiveModel)\n\t\t\t?.label ?? effectiveModel;\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<SidebarHeader\n\t\t\t\t\ticon={<FlaskConical className=\"size-[15px] text-teal-500\" />}\n\t\t\t\t\ttitle=\"Research\"\n\t\t\t\t\tonClose={collapseSidebar}\n\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={() => setShowHistory(!showHistory)}\n\t\t\t\t\t\ttitle=\"Research history\"\n\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<History 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={handleCreateNew}\n\t\t\t\t\t\tdisabled={!parentSessionId || createMutation.isPending}\n\t\t\t\t\t\ttitle=\"New research session\"\n\t\t\t\t\t\tclassName=\"h-8 w-8\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{createMutation.isPending ? (\n\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</SidebarHeader>\n\n\t\t\t\t{showHistory ? (\n\t\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t\t<div className=\"p-2 border-b border-border\">\n\t\t\t\t\t\t\t<div className=\"text-xs font-medium text-muted-foreground px-2 py-1\">\n\t\t\t\t\t\t\t\tResearch Sessions\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tLoading...\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : sessions.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tNo research sessions yet\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=\"p-2 space-y-1\">\n\t\t\t\t\t\t\t\t{sessions.map((session) => (\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\tkey={session.id}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelectSession(session)}\n\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left p-2 rounded-md text-sm transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\tsession.id === activeResearchSessionId\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500/10 border border-teal-500/30 text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-muted'\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<div className=\"font-medium truncate\">\n\t\t\t\t\t\t\t\t\t\t\t{session.title || 'Untitled'}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{session.messageCount} messages •{' '}\n\t\t\t\t\t\t\t\t\t\t\t{formatRelativeTime(\n\t\t\t\t\t\t\t\t\t\t\t\tsession.lastActiveAt ?? session.createdAt,\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</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\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Messages area - using the same components as main chat, but smaller */}\n\t\t\t\t\t\t<div className=\"flex-1 overflow-y-auto px-3 py-3 research-messages text-[13px]\">\n\t\t\t\t\t\t\t{!activeResearchSessionId ? (\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground text-center py-8\">\n\t\t\t\t\t\t\t\t\t<FlaskConical className=\"w-8 h-8 mx-auto mb-2 text-muted-foreground/50\" />\n\t\t\t\t\t\t\t\t\t<p>Start researching by asking a question below.</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : messages.length === 0 ? (\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground text-center py-8\">\n\t\t\t\t\t\t\t\t\t<p>Ask a question to start researching.</p>\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\t<div className=\"space-y-1.5\">\n\t\t\t\t\t\t\t\t\t{messages.map((msg, index) => {\n\t\t\t\t\t\t\t\t\t\tif (msg.role === 'user') {\n\t\t\t\t\t\t\t\t\t\t\tconst nextMsg = messages[index + 1];\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<UserMessageGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={msg.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsessionId={activeResearchSessionId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage={msg}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFirst={index === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextAssistantMessageId={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnextMsg?.role === 'assistant'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? nextMsg.id\n\t\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\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}\n\t\t\t\t\t\t\t\t\t\tif (msg.role === 'assistant') {\n\t\t\t\t\t\t\t\t\t\t\tconst prevMsg = index > 0 ? messages[index - 1] : null;\n\t\t\t\t\t\t\t\t\t\t\tconst nextMsg = messages[index + 1];\n\t\t\t\t\t\t\t\t\t\t\tconst showHeader = prevMsg?.role !== 'assistant';\n\t\t\t\t\t\t\t\t\t\t\tconst hasNextAssistant = nextMsg?.role === 'assistant';\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<AssistantMessageGroup\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={msg.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsessionId={activeResearchSessionId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage={msg}\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowHeader={showHeader}\n\t\t\t\t\t\t\t\t\t\t\t\t\thasNextAssistantMessage={hasNextAssistant}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisLastMessage={index === messages.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tcompact\n\t\t\t\t\t\t\t\t\t\t\t\t\tonNavigateToSession={onNavigateToSession}\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}\n\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t<div ref={messagesEndRef} />\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\n\t\t\t\t\t\t{/* Input area */}\n\t\t\t\t\t\t<div className=\"p-3 border-t border-border\">\n\t\t\t\t\t\t\t<div className=\"relative flex flex-col rounded-3xl bg-card border border-border focus-within:border-teal-500/60 focus-within:ring-1 focus-within:ring-teal-500/40 p-1\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-end gap-1\">\n\t\t\t\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setInputValue(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Ask anything...\"\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t!parentSessionId ||\n\t\t\t\t\t\t\t\t\t\t\tsendMessage.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tcreateMutation.isPending\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\trows={1}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 border-0 bg-transparent pl-2 pr-1 py-2 max-h-[120px] overflow-y-auto leading-normal resize-none scrollbar-hide text-sm focus:ring-0 focus:outline-none\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ height: '2.25rem' }}\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={handleSendMessage}\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t!inputValue.trim() ||\n\t\t\t\t\t\t\t\t\t\t\t!parentSessionId ||\n\t\t\t\t\t\t\t\t\t\t\tsendMessage.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tcreateMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\t\tisGenerating\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center justify-center w-9 h-9 rounded-full transition-colors flex-shrink-0 ${\n\t\t\t\t\t\t\t\t\t\t\tinputValue.trim() && parentSessionId && !isGenerating\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500 hover:bg-teal-600 text-white'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'bg-transparent text-muted-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{sendMessage.isPending || createMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<ArrowUp className=\"w-4 h-4\" />\n\t\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</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Injection status banner */}\n\t\t\t\t\t\t\t{injectionStatus === 'success' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-teal-500/10 border border-teal-500/30 text-teal-600 dark:text-teal-400\">\n\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t<span className=\"flex-1\">\n\t\t\t\t\t\t\t\t\t\tContext injected — will be used on next request\n\t\t\t\t\t\t\t\t\t</span>\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={() => setInjectionStatus('idle')}\n\t\t\t\t\t\t\t\t\t\tclassName=\"hover:text-teal-500\"\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)}\n\t\t\t\t\t\t\t{injectionStatus === 'error' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-red-500/10 border border-red-500/30 text-red-600 dark:text-red-400\">\n\t\t\t\t\t\t\t\t\t<X className=\"w-3 h-3 flex-shrink-0\" />\n\t\t\t\t\t\t\t\t\t<span className=\"flex-1\">Failed to inject context</span>\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={() => setInjectionStatus('idle')}\n\t\t\t\t\t\t\t\t\t\tclassName=\"hover:text-red-500\"\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)}\n\n\t\t\t\t\t\t\t{/* Action buttons */}\n\t\t\t\t\t\t\t<div className=\"flex gap-2 mt-2\">\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={handleInject}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!activeResearchSessionId ||\n\t\t\t\t\t\t\t\t\t\tinjectMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\tisGenerating ||\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={`flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-teal-500/10 text-teal-600 dark:text-teal-400 border border-teal-500/30'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\t\t\tisAlreadyInjected\n\t\t\t\t\t\t\t\t\t\t\t? 'Already injected into main session'\n\t\t\t\t\t\t\t\t\t\t\t: 'Inject findings into main session'\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{injectMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t\t\t\t\t) : isAlreadyInjected ? (\n\t\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ArrowDownToLine className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{isAlreadyInjected ? 'Injected' : 'Inject'}\n\t\t\t\t\t\t\t\t</button>\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={handleExport}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!activeResearchSessionId ||\n\t\t\t\t\t\t\t\t\t\texportMutation.isPending ||\n\t\t\t\t\t\t\t\t\t\tisGenerating\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed\"\n\t\t\t\t\t\t\t\t\ttitle=\"Export to new main session\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{exportMutation.isPending ? (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3 h-3 animate-spin\" />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tExport\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</>\n\t\t\t\t)}\n\n\t\t\t\t{/* Footer */}\n\t\t\t\t<div className=\"h-9 px-3 border-t border-border text-xs text-muted-foreground flex items-center justify-between\">\n\t\t\t\t\t<span className=\"text-[10px]\">\n\t\t\t\t\t\t{sessions.length} research session{sessions.length !== 1 ? 's' : ''}\n\t\t\t\t\t</span>\n\t\t\t\t\t{(currentProviderLabel || currentModelLabel) && (\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={() => setShowModelSelector(true)}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 text-[10px] hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"opacity-60\">{currentProviderLabel}</span>\n\t\t\t\t\t\t\t<span className=\"opacity-40\">/</span>\n\t\t\t\t\t\t\t<span>{currentModelLabel}</span>\n\t\t\t\t\t\t\t<ChevronDown className=\"w-3 h-3 opacity-40\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Model Selector Modal */}\n\t\t\t\t<Modal\n\t\t\t\t\tisOpen={showModelSelector}\n\t\t\t\t\tonClose={() => setShowModelSelector(false)}\n\t\t\t\t\ttitle=\"Select Model for Research\"\n\t\t\t\t\tmaxWidth=\"md\"\n\t\t\t\t>\n\t\t\t\t\t{(effectiveProvider || effectiveModel) && (\n\t\t\t\t\t\t<UnifiedModelSelector\n\t\t\t\t\t\t\tprovider={effectiveProvider}\n\t\t\t\t\t\t\tmodel={effectiveModel}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Modal>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nfunction formatRelativeTime(timestamp: number): string {\n\tconst diff = Date.now() - timestamp;\n\tconst minutes = Math.floor(diff / 60000);\n\tif (minutes < 1) return 'just now';\n\tif (minutes < 60) return `${minutes}m ago`;\n\tconst hours = Math.floor(minutes / 60);\n\tif (hours < 24) return `${hours}h ago`;\n\tconst days = Math.floor(hours / 24);\n\treturn `${days}d ago`;\n}\n",
|
|
153
154
|
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport {\n\tcreateResearchSession as apiCreateResearchSession,\n\tdeleteResearchSession as apiDeleteResearchSession,\n\texportResearchSession as apiExportResearchSession,\n\tinjectResearchContext as apiInjectResearchContext,\n\tlistResearchSessions as apiListResearchSessions,\n} from '@ottocode/api';\nimport { usePendingResearchStore } from '../stores/pendingResearchStore';\nimport { sessionsQueryKey } from './useSessions';\n\nexport interface ResearchSession {\n\tid: string;\n\ttitle: string | null;\n\tcreatedAt: number;\n\tlastActiveAt: number | null;\n\tprovider: string;\n\tmodel: string;\n\tmessageCount: number;\n}\n\nexport interface ResearchSessionsResponse {\n\tsessions: ResearchSession[];\n}\n\nexport interface CreateResearchResponse {\n\tsession: ResearchSession;\n\tparentSessionId: string;\n}\n\nexport interface InjectContextResponse {\n\tcontent: string;\n\tlabel: string;\n\tsessionId: string;\n\tparentSessionId: string;\n\ttokenEstimate: number;\n}\n\nexport interface ExportToSessionResponse {\n\tnewSession: {\n\t\tid: string;\n\t\ttitle: string | null;\n\t\tagent: string;\n\t\tprovider: string;\n\t\tmodel: string;\n\t};\n\tinjectedContext: string;\n}\n\nclass ResearchApiClient {\n\tasync listResearchSessions(\n\t\tparentSessionId: string,\n\t): Promise<ResearchSessionsResponse> {\n\t\tconst response = await apiListResearchSessions({\n\t\t\tpath: { parentId: parentSessionId },\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as unknown as ResearchSessionsResponse;\n\t}\n\n\tasync createResearchSession(\n\t\tparentSessionId: string,\n\t\tdata: { provider?: string; model?: string; title?: string },\n\t): Promise<CreateResearchResponse> {\n\t\tconst response = await apiCreateResearchSession({\n\t\t\tpath: { parentId: parentSessionId },\n\t\t\tbody: data,\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as unknown as CreateResearchResponse;\n\t}\n\n\tasync deleteResearchSession(\n\t\tresearchId: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await apiDeleteResearchSession({\n\t\t\tpath: { researchId },\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as { success: boolean };\n\t}\n\n\tasync injectContext(\n\t\tparentSessionId: string,\n\t\tresearchSessionId: string,\n\t\tlabel?: string,\n\t): Promise<InjectContextResponse> {\n\t\tconst response = await apiInjectResearchContext({\n\t\t\tpath: { parentId: parentSessionId },\n\t\t\tbody: { researchSessionId, label },\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as InjectContextResponse;\n\t}\n\n\tasync exportToNewSession(\n\t\tresearchId: string,\n\t\tdata?: { provider?: string; model?: string; agent?: string },\n\t): Promise<ExportToSessionResponse> {\n\t\tconst response = await apiExportResearchSession({\n\t\t\tpath: { researchId },\n\t\t\tbody: data ?? {},\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as ExportToSessionResponse;\n\t}\n}\n\nconst researchApi = new ResearchApiClient();\n\nexport function useResearchSessions(\n\tparentSessionId: string | null,\n\tenabled = true,\n) {\n\treturn useQuery({\n\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\tqueryFn: () => researchApi.listResearchSessions(parentSessionId as string),\n\t\tenabled: !!parentSessionId && enabled,\n\t\tstaleTime: 30000,\n\t});\n}\n\nexport function useCreateResearchSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tparentSessionId,\n\t\t\tdata,\n\t\t}: {\n\t\t\tparentSessionId: string;\n\t\t\tdata?: { provider?: string; model?: string; title?: string };\n\t\t}) => researchApi.createResearchSession(parentSessionId, data ?? {}),\n\t\tonSuccess: (_, { parentSessionId }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useDeleteResearchSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (researchId: string) =>\n\t\t\tresearchApi.deleteResearchSession(researchId),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['research', 'sessions'] });\n\t\t},\n\t});\n}\n\nexport function useInjectContext() {\n\tconst addContext = usePendingResearchStore((state) => state.addContext);\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tparentSessionId,\n\t\t\tresearchSessionId,\n\t\t\tlabel,\n\t\t}: {\n\t\t\tparentSessionId: string;\n\t\t\tresearchSessionId: string;\n\t\t\tlabel?: string;\n\t\t}) => researchApi.injectContext(parentSessionId, researchSessionId, label),\n\t\tonSuccess: (data, { parentSessionId }) => {\n\t\t\taddContext(parentSessionId, {\n\t\t\t\tid: data.sessionId,\n\t\t\t\tsessionId: data.sessionId,\n\t\t\t\tlabel: data.label,\n\t\t\t\tcontent: data.content,\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useExportToSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tresearchId,\n\t\t\tdata,\n\t\t}: {\n\t\t\tresearchId: string;\n\t\t\tdata?: { provider?: string; model?: string; agent?: string };\n\t\t}) => researchApi.exportToNewSession(researchId, data),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t},\n\t});\n}\n",
|
|
154
|
-
"import { memo } from 'react';\nimport { FlaskConical } from 'lucide-react';\nimport { useResearchStore } from '../../stores/researchStore';\nimport { useResearchSessions } from '../../hooks/useResearch';\n\ninterface ResearchSidebarToggleProps {\n\tparentSessionId?: string;\n}\n\nexport const ResearchSidebarToggle = memo(function ResearchSidebarToggle({\n\tparentSessionId,\n}: ResearchSidebarToggleProps) {\n\tconst isExpanded = useResearchStore((state) => state.isExpanded);\n\tconst toggleSidebar = useResearchStore((state) => state.toggleSidebar);\n\tconst { data } = useResearchSessions(parentSessionId ?? null);\n\n\tconst sessionCount = data?.sessions?.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-
|
|
155
|
-
"import { memo, useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport {\n\tSettings,\n\tChevronRight,\n\tWallet,\n\tCpu,\n\tZap,\n\tUser,\n\tChevronDown,\n\tRefreshCw,\n\tPlus,\n\tPencil,\n\tCopy,\n\tCheck,\n\tKey,\n\tLoader2,\n\tType,\n\tSparkles,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\nimport { Modal } from '../ui/Modal';\nimport { useSettingsStore } from '../../stores/settingsStore';\nimport { useOnboardingStore } from '../../stores/onboardingStore';\nimport { useAuthStatus } from '../../hooks/useAuthStatus';\nimport {\n\tuseConfig,\n\tuseAllModels,\n\tuseUpdateDefaults,\n} from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useOttoRouterStore } from '../../stores/ottorouterStore';\nimport { OttoRouterTopupModal } from './OttoRouterTopupModal';\nimport { useOttoRouterBalance } from '../../hooks/useOttoRouterBalance';\nimport { useTopupCallback } from '../../hooks/useTopupCallback';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { ResizeHandle } from '../ui/ResizeHandle';\nimport { apiClient } from '../../lib/api-client';\n\nconst SETTINGS_PANEL_KEY = 'settings';\nconst SETTINGS_DEFAULT_WIDTH = 320;\nconst SETTINGS_MIN_WIDTH = 320;\nconst SETTINGS_MAX_WIDTH = 500;\nconst DEFAULT_FONT_FAMILY = 'IBM Plex Mono';\nconst COMMON_SYSTEM_FONTS = [\n\tDEFAULT_FONT_FAMILY,\n\t'System UI',\n\t'Arial',\n\t'Avenir',\n\t'BlinkMacSystemFont',\n\t'Courier New',\n\t'Fira Code',\n\t'Georgia',\n\t'Helvetica',\n\t'Inter',\n\t'Menlo',\n\t'Monaco',\n\t'SF Mono',\n\t'Segoe UI',\n\t'Times New Roman',\n\t'Ubuntu',\n\t'Verdana',\n];\n\ninterface LocalFontData {\n\tfamily: string;\n}\n\ninterface LocalFontWindow extends Window {\n\tqueryLocalFonts?: () => Promise<LocalFontData[]>;\n}\n\ninterface SystemFontsResultMessage {\n\ttype: 'otto-system-fonts-result';\n\trequestId: string;\n\tfonts?: string[];\n\terror?: string;\n}\n\nfunction requestDesktopSystemFonts(): Promise<string[] | null> {\n\tif (typeof window === 'undefined' || window.self === window.top) {\n\t\treturn Promise.resolve(null);\n\t}\n\n\treturn new Promise((resolve, reject) => {\n\t\tconst requestId = crypto.randomUUID();\n\t\tconst timeout = window.setTimeout(() => {\n\t\t\twindow.removeEventListener('message', handleMessage);\n\t\t\tresolve(null);\n\t\t}, 3000);\n\n\t\tfunction handleMessage(event: MessageEvent<SystemFontsResultMessage>) {\n\t\t\tif (\n\t\t\t\tevent.data?.type !== 'otto-system-fonts-result' ||\n\t\t\t\tevent.data.requestId !== requestId\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twindow.clearTimeout(timeout);\n\t\t\twindow.removeEventListener('message', handleMessage);\n\n\t\t\tif (event.data.error) {\n\t\t\t\treject(new Error(event.data.error));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolve(event.data.fonts ?? null);\n\t\t}\n\n\t\twindow.addEventListener('message', handleMessage);\n\t\twindow.parent.postMessage(\n\t\t\t{ type: 'otto-list-system-fonts', requestId },\n\t\t\t'*',\n\t\t);\n\t});\n}\n\ninterface SettingsSectionProps {\n\ttitle: string;\n\ticon: React.ReactNode;\n\tchildren: React.ReactNode;\n\taction?: React.ReactNode;\n}\n\nconst SettingsSection = memo(function SettingsSection({\n\ttitle,\n\ticon,\n\tchildren,\n\taction,\n}: SettingsSectionProps) {\n\treturn (\n\t\t<div className=\"border-b border-border\">\n\t\t\t<div className=\"px-4 py-3 flex items-center gap-2 bg-muted/30\">\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"text-sm font-medium flex-1\">{title}</span>\n\t\t\t\t{action}\n\t\t\t</div>\n\t\t\t<div className=\"px-4 py-3 space-y-3\">{children}</div>\n\t\t</div>\n\t);\n});\n\ninterface SettingRowProps {\n\tlabel: string;\n\tvalue: React.ReactNode;\n}\n\nconst SettingRow = memo(function SettingRow({ label, value }: SettingRowProps) {\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<span className=\"font-mono text-foreground\">{value}</span>\n\t\t</div>\n\t);\n});\n\ninterface ToggleRowProps {\n\tlabel: string;\n\tchecked: boolean;\n\tonChange: (checked: boolean) => void;\n}\n\nconst ToggleRow = memo(function ToggleRow({\n\tlabel,\n\tchecked,\n\tonChange,\n}: ToggleRowProps) {\n\treturn (\n\t\t<div className=\"flex min-w-0 items-center justify-between gap-3 text-sm\">\n\t\t\t<span className=\"min-w-0 flex-1 truncate text-muted-foreground\">\n\t\t\t\t{label}\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"switch\"\n\t\t\t\taria-checked={checked}\n\t\t\t\tonClick={() => onChange(!checked)}\n\t\t\t\tclassName={`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${\n\t\t\t\t\tchecked ? 'bg-primary' : 'bg-muted'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\tchecked ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t} ${checked ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t</div>\n\t);\n});\n\ninterface SelectRowProps {\n\tlabel: string;\n\tvalue: string;\n\toptions: Array<{ id: string; label: string }>;\n\tonChange: (value: string) => void;\n\tdisabled?: boolean;\n}\n\nconst SelectRow = memo(function SelectRow({\n\tlabel,\n\tvalue,\n\toptions,\n\tonChange,\n\tdisabled,\n}: SelectRowProps) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [menuStyle, setMenuStyle] = useState<{\n\t\ttop: number;\n\t\tleft: number;\n\t\twidth: number;\n\t} | null>(null);\n\tconst buttonRef = useRef<HTMLButtonElement | null>(null);\n\tconst selectedOption = options.find((o) => o.id === value);\n\n\tuseEffect(() => {\n\t\tif (!isOpen || !buttonRef.current) return;\n\t\tconst update = () => {\n\t\t\tconst rect = buttonRef.current?.getBoundingClientRect();\n\t\t\tif (!rect) return;\n\t\t\tconst width = Math.max(rect.width, 160);\n\t\t\tsetMenuStyle({\n\t\t\t\ttop: rect.bottom + 4,\n\t\t\t\tleft: rect.right - width,\n\t\t\t\twidth,\n\t\t\t});\n\t\t};\n\t\tupdate();\n\t\twindow.addEventListener('scroll', update, true);\n\t\twindow.addEventListener('resize', update);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('scroll', update, true);\n\t\t\twindow.removeEventListener('resize', update);\n\t\t};\n\t}, [isOpen]);\n\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<div className=\"relative\">\n\t\t\t\t<button\n\t\t\t\t\tref={buttonRef}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-xs font-mono bg-muted hover:bg-muted/80 rounded border border-border disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"max-w-[120px] truncate\">\n\t\t\t\t\t\t{selectedOption?.label || value || 'Select...'}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronDown className=\"w-3 h-3\" />\n\t\t\t\t</button>\n\t\t\t\t{isOpen &&\n\t\t\t\t\tmenuStyle &&\n\t\t\t\t\ttypeof document !== 'undefined' &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: click-away backdrop pattern */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"fixed inset-0 z-[10000]\"\n\t\t\t\t\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"fixed z-[10001] max-h-[240px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttop: menuStyle.top,\n\t\t\t\t\t\t\t\t\tleft: menuStyle.left,\n\t\t\t\t\t\t\t\t\tminWidth: menuStyle.width,\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{options.map((option) => (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tkey={option.id}\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tonChange(option.id);\n\t\t\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName={`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${\n\t\t\t\t\t\t\t\t\t\t\toption.id === value ? 'bg-muted/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\t{option.label}\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\tdocument.body,\n\t\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\ninterface FontPickerRowProps {\n\tvalue: string;\n\tonChange: (value: string) => void;\n}\n\nconst FontPickerRow = memo(function FontPickerRow({\n\tvalue,\n\tonChange,\n}: FontPickerRowProps) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [search, setSearch] = useState('');\n\tconst [localFonts, setLocalFonts] = useState<string[]>([]);\n\tconst [isLoadingFonts, setIsLoadingFonts] = useState(false);\n\tconst [fontError, setFontError] = useState<string | null>(null);\n\tconst canQueryLocalFonts =\n\t\ttypeof window !== 'undefined' &&\n\t\ttypeof (window as LocalFontWindow).queryLocalFonts === 'function';\n\tconst canRequestDesktopFonts =\n\t\ttypeof window !== 'undefined' && window.self !== window.top;\n\n\tconst fontOptions = useMemo(() => {\n\t\treturn Array.from(\n\t\t\tnew Set([value, ...localFonts, ...COMMON_SYSTEM_FONTS].filter(Boolean)),\n\t\t).sort((a, b) => a.localeCompare(b));\n\t}, [localFonts, value]);\n\n\tconst filteredFonts = useMemo(() => {\n\t\tconst query = search.trim().toLowerCase();\n\t\tif (!query) return fontOptions;\n\t\treturn fontOptions.filter((font) => font.toLowerCase().includes(query));\n\t}, [fontOptions, search]);\n\n\tconst loadLocalFonts = useCallback(async () => {\n\t\tif (isLoadingFonts || localFonts.length > 0) return;\n\t\tconst queryLocalFonts = (window as LocalFontWindow).queryLocalFonts;\n\n\t\tsetIsLoadingFonts(true);\n\t\tsetFontError(null);\n\t\ttry {\n\t\t\tif (queryLocalFonts) {\n\t\t\t\tconst fonts = await queryLocalFonts();\n\t\t\t\tsetLocalFonts(\n\t\t\t\t\tArray.from(new Set(fonts.map((font) => font.family).filter(Boolean))),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst desktopFonts = await requestDesktopSystemFonts();\n\t\t\tif (desktopFonts?.length) {\n\t\t\t\tsetLocalFonts(desktopFonts);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetFontError('Local font access is not supported in this browser');\n\t\t} catch (error) {\n\t\t\tsetFontError(\n\t\t\t\terror instanceof Error ? error.message : 'Unable to load local fonts',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsLoadingFonts(false);\n\t\t}\n\t}, [isLoadingFonts, localFonts.length]);\n\n\tconst openPicker = () => {\n\t\tsetIsOpen(true);\n\t\tvoid loadLocalFonts();\n\t};\n\n\treturn (\n\t\t<div className=\"space-y-2 text-sm\">\n\t\t\t<div className=\"flex items-center justify-between gap-3\">\n\t\t\t\t<span className=\"text-muted-foreground\">UI Font</span>\n\t\t\t\t<div className=\"relative min-w-0\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={() => (isOpen ? setIsOpen(false) : openPicker())}\n\t\t\t\t\t\tclassName=\"flex max-w-[170px] items-center gap-1 rounded border border-border bg-muted px-2 py-1 text-xs hover:bg-muted/80\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"truncate\" style={{ fontFamily: value }}>\n\t\t\t\t\t\t\t{value || DEFAULT_FONT_FAMILY}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<ChevronDown className=\"h-3 w-3 shrink-0\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t{isOpen && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: click-away backdrop pattern */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"fixed inset-0 z-40\"\n\t\t\t\t\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"absolute right-0 top-full z-50 mt-1 w-72 rounded-md border border-border bg-popover shadow-lg\">\n\t\t\t\t\t\t\t\t<div className=\"border-b border-border p-2\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\t\t\t\t\tonChange={(event) => setSearch(event.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Search system fonts...\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full rounded border border-border bg-background px-2 py-1.5 text-xs outline-none placeholder:text-muted-foreground/70 focus:border-primary\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"max-h-64 overflow-y-auto py-1\">\n\t\t\t\t\t\t\t\t\t{filteredFonts.map((font) => (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tkey={font}\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={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChange(font);\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t\t\t\t\tsetSearch('');\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full px-3 py-2 text-left text-xs hover:bg-muted ${\n\t\t\t\t\t\t\t\t\t\t\t\tfont === value ? 'bg-muted/50' : ''\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ fontFamily: font }}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{font}\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{filteredFonts.length === 0 && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"px-3 py-2 text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\tNo fonts found\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</div>\n\t\t\t\t\t\t\t\t<div className=\"border-t border-border px-3 py-2 text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t{isLoadingFonts\n\t\t\t\t\t\t\t\t\t\t? 'Loading local fonts...'\n\t\t\t\t\t\t\t\t\t\t: fontError\n\t\t\t\t\t\t\t\t\t\t\t? fontError\n\t\t\t\t\t\t\t\t\t\t\t: localFonts.length > 0\n\t\t\t\t\t\t\t\t\t\t\t\t? `${localFonts.length} local fonts found`\n\t\t\t\t\t\t\t\t\t\t\t\t: canQueryLocalFonts\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose a font or allow local font access if prompted'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: canRequestDesktopFonts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Loading desktop system fonts if available'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'Showing common system fonts'}\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)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\ninterface NumberInputRowProps {\n\tlabel: string;\n\tvalue: number | null | undefined;\n\tonCommit: (value: number | null) => void;\n\tplaceholder?: string;\n\thint?: string;\n\tdisabled?: boolean;\n}\n\nconst NumberInputRow = memo(function NumberInputRow({\n\tlabel,\n\tvalue,\n\tonCommit,\n\tplaceholder,\n\thint,\n\tdisabled,\n}: NumberInputRowProps) {\n\tconst [draft, setDraft] = useState(\n\t\tvalue !== null && value !== undefined ? String(value) : '',\n\t);\n\n\tuseEffect(() => {\n\t\tsetDraft(value !== null && value !== undefined ? String(value) : '');\n\t}, [value]);\n\n\tconst persistedValue =\n\t\tvalue !== null && value !== undefined ? String(value) : '';\n\tconst trimmedDraft = draft.trim();\n\tconst parsedDraft = trimmedDraft\n\t\t? Number(trimmedDraft.replaceAll(',', ''))\n\t\t: null;\n\tconst normalizedDraft =\n\t\tparsedDraft !== null && Number.isFinite(parsedDraft) && parsedDraft > 0\n\t\t\t? String(Math.floor(parsedDraft))\n\t\t\t: trimmedDraft === ''\n\t\t\t\t? ''\n\t\t\t\t: null;\n\tconst hasChanges =\n\t\tnormalizedDraft !== null && normalizedDraft !== persistedValue;\n\n\tconst commit = useCallback(() => {\n\t\tif (normalizedDraft === null || normalizedDraft === persistedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetDraft(normalizedDraft);\n\t\tonCommit(normalizedDraft === '' ? null : Number(normalizedDraft));\n\t}, [normalizedDraft, onCommit, persistedValue]);\n\n\treturn (\n\t\t<div className=\"space-y-1.5\">\n\t\t\t<div className=\"flex min-w-0 items-center justify-between gap-3 text-sm\">\n\t\t\t\t<span className=\"min-w-0 flex-1 truncate whitespace-nowrap text-muted-foreground\">\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t\t<div className=\"flex shrink-0 items-center gap-1 rounded border border-border bg-muted px-2 py-1 text-xs font-mono transition-colors focus-within:border-primary\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tinputMode=\"numeric\"\n\t\t\t\t\t\tvalue={draft}\n\t\t\t\t\t\tonChange={(event) => setDraft(event.target.value)}\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcommit();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\t\t\t\tsetDraft(persistedValue);\n\t\t\t\t\t\t\t\tevent.currentTarget.blur();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"w-24 bg-transparent text-right outline-none placeholder:text-muted-foreground/70 disabled:opacity-50\"\n\t\t\t\t\t/>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={commit}\n\t\t\t\t\t\tdisabled={disabled || !hasChanges}\n\t\t\t\t\t\tclassName=\"inline-flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40\"\n\t\t\t\t\t\taria-label={`Save ${label}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Check className=\"h-4 w-4\" />\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{hint ? <p className=\"text-xs text-muted-foreground\">{hint}</p> : null}\n\t\t</div>\n\t);\n});\n\ninterface PreferencesModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n}\n\nfunction PreferencesModal({ isOpen, onClose }: PreferencesModalProps) {\n\tconst { data: config } = useConfig();\n\tconst { preferences, updatePreferences } = usePreferences();\n\tconst updateDefaults = useUpdateDefaults();\n\n\treturn (\n\t\t<Modal isOpen={isOpen} onClose={onClose} title=\"Preferences\" maxWidth=\"lg\">\n\t\t\t<div className=\"-m-6\">\n\t\t\t\t<SettingsSection\n\t\t\t\t\ttitle=\"Editor\"\n\t\t\t\t\ticon={<Type className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Vim Mode\"\n\t\t\t\t\t\tchecked={preferences.vimMode}\n\t\t\t\t\t\tonChange={(checked) => updatePreferences({ vimMode: checked })}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Compact Thread\"\n\t\t\t\t\t\tchecked={preferences.compactThread}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdatePreferences({ compactThread: checked })\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Full Width Content\"\n\t\t\t\t\t\tchecked={preferences.fullWidthContent}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdatePreferences({ fullWidthContent: checked })\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<FontPickerRow\n\t\t\t\t\t\tvalue={preferences.fontFamily}\n\t\t\t\t\t\tonChange={(fontFamily) => updatePreferences({ fontFamily })}\n\t\t\t\t\t/>\n\t\t\t\t</SettingsSection>\n\n\t\t\t\t<SettingsSection\n\t\t\t\t\ttitle=\"Automation\"\n\t\t\t\t\ticon={<Zap className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t>\n\t\t\t\t\t<NumberInputRow\n\t\t\t\t\t\tlabel=\"Auto Compact\"\n\t\t\t\t\t\tvalue={config?.defaults?.autoCompactThresholdTokens}\n\t\t\t\t\t\tonCommit={(value) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\tautoCompactThresholdTokens: value,\n\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder=\"Tokens\"\n\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectRow\n\t\t\t\t\t\tlabel=\"Tool Approval\"\n\t\t\t\t\t\tvalue={config?.defaults?.toolApproval ?? 'dangerous'}\n\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t{ id: 'auto', label: 'Auto (no approval)' },\n\t\t\t\t\t\t\t{ id: 'dangerous', label: 'Dangerous only' },\n\t\t\t\t\t\t\t{ id: 'yolo', label: 'YOLO (hard blocks only)' },\n\t\t\t\t\t\t\t{ id: 'all', label: 'All tools' },\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\ttoolApproval: value as 'auto' | 'dangerous' | 'all' | 'yolo',\n\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Guided Mode\"\n\t\t\t\t\t\tchecked={config?.defaults?.guidedMode ?? false}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\tguidedMode: checked,\n\t\t\t\t\t\t\t\tscope: 'global',\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</SettingsSection>\n\n\t\t\t\t<SettingsSection\n\t\t\t\t\ttitle=\"Reasoning\"\n\t\t\t\t\ticon={<Sparkles className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Show Reasoning\"\n\t\t\t\t\t\tchecked={config?.defaults?.reasoningText ?? true}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\treasoningText: checked,\n\t\t\t\t\t\t\t\tscope: 'global',\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\t<SelectRow\n\t\t\t\t\t\tlabel=\"Reasoning Level\"\n\t\t\t\t\t\tvalue={config?.defaults?.reasoningLevel ?? 'high'}\n\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t{ id: 'minimal', label: 'Minimal' },\n\t\t\t\t\t\t\t{ id: 'low', label: 'Low' },\n\t\t\t\t\t\t\t{ id: 'medium', label: 'Medium' },\n\t\t\t\t\t\t\t{ id: 'high', label: 'High' },\n\t\t\t\t\t\t\t{ id: 'max', label: 'Max' },\n\t\t\t\t\t\t\t{ id: 'xhigh', label: 'Extra High' },\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\treasoningLevel: value as\n\t\t\t\t\t\t\t\t\t| 'minimal'\n\t\t\t\t\t\t\t\t\t| 'low'\n\t\t\t\t\t\t\t\t\t| 'medium'\n\t\t\t\t\t\t\t\t\t| 'high'\n\t\t\t\t\t\t\t\t\t| 'max'\n\t\t\t\t\t\t\t\t\t| 'xhigh',\n\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t/>\n\t\t\t\t</SettingsSection>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport const SettingsSidebar = memo(function SettingsSidebar() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSettingsStore((state) => state.collapseSidebar);\n\tconst [isPreferencesOpen, setIsPreferencesOpen] = useState(false);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[SETTINGS_PANEL_KEY] ?? SETTINGS_DEFAULT_WIDTH,\n\t);\n\n\tconst { data: config } = useConfig();\n\tconst { data: allModels } = useAllModels();\n\tconst updateDefaults = useUpdateDefaults();\n\tconst ottorouterBalance = useOttoRouterStore((s) => s.balance);\n\tconst ottorouterWallet = useOttoRouterStore((s) => s.walletAddress);\n\tconst ottorouterUsdcBalance = useOttoRouterStore((s) => s.usdcBalance);\n\tconst ottorouterLoading = useOttoRouterStore((s) => s.isLoading);\n\tconst openTopupModal = useOttoRouterStore((s) => s.openTopupModal);\n\n\t// Handle topup success callback from Polar checkout redirect\n\tuseTopupCallback();\n\n\tconst hasSetu = config?.providers?.includes('ottorouter');\n\tconst { fetchBalance: refreshSetuBalance } = useOttoRouterBalance(\n\t\thasSetu ? 'ottorouter' : undefined,\n\t);\n\n\tconst setOnboardingOpen = useOnboardingStore((s) => s.setOpen);\n\tconst setStep = useOnboardingStore((s) => s.setStep);\n\tconst setManageMode = useOnboardingStore((s) => s.setManageMode);\n\tconst { fetchAuthStatus } = useAuthStatus();\n\n\tconst exportSetuPrivateKey = useCallback(async () => {\n\t\treturn await apiClient.exportOttoRouterWallet();\n\t}, []);\n\n\tconst providerOptions = useMemo(() => {\n\t\tif (!config?.providers || !allModels) return [];\n\t\treturn config.providers\n\t\t\t.filter((p) => allModels[p])\n\t\t\t.map((p) => ({\n\t\t\t\tid: p,\n\t\t\t\tlabel: allModels[p]?.label || p,\n\t\t\t}));\n\t}, [config?.providers, allModels]);\n\n\tconst modelOptions = useMemo(() => {\n\t\tconst provider = config?.defaults?.provider;\n\t\tif (!provider || !allModels?.[provider]) return [];\n\t\treturn allModels[provider].models.map((m) => ({\n\t\t\tid: m.id,\n\t\t\tlabel: m.label,\n\t\t}));\n\t}, [config?.defaults?.provider, allModels]);\n\n\tconst agentOptions = useMemo(() => {\n\t\tif (!config?.agents) return [];\n\t\treturn config.agents.map((a) => ({ id: a, label: a }));\n\t}, [config?.agents]);\n\n\tif (!isExpanded) return null;\n\n\tconst handleProviderChange = (provider: string) => {\n\t\tconst firstModel = allModels?.[provider]?.models?.[0]?.id;\n\t\tupdateDefaults.mutate({\n\t\t\tprovider,\n\t\t\tmodel: firstModel || config?.defaults?.model,\n\t\t\tscope: 'global',\n\t\t});\n\t};\n\n\tconst handleModelChange = (model: string) => {\n\t\tupdateDefaults.mutate({ model, scope: 'global' });\n\t};\n\n\tconst handleAgentChange = (agent: string) => {\n\t\tupdateDefaults.mutate({ agent, scope: 'global' });\n\t};\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={SETTINGS_PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={SETTINGS_MIN_WIDTH}\n\t\t\t\tmaxWidth={SETTINGS_MAX_WIDTH}\n\t\t\t\tdefaultWidth={SETTINGS_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<Settings className=\"w-4 h-4\" />\n\t\t\t\t\t\t<span className=\"font-medium\">Settings</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\">\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Default Model\"\n\t\t\t\t\t\ticon={<Cpu className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Provider\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.provider ?? ''}\n\t\t\t\t\t\t\toptions={providerOptions}\n\t\t\t\t\t\t\tonChange={handleProviderChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Model\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.model ?? ''}\n\t\t\t\t\t\t\toptions={modelOptions}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Agent\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.agent ?? ''}\n\t\t\t\t\t\t\toptions={agentOptions}\n\t\t\t\t\t\t\tonChange={handleAgentChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Providers\"\n\t\t\t\t\t\ticon={<Zap className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t\taction={\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={() => {\n\t\t\t\t\t\t\t\t\tfetchAuthStatus().then(() => {\n\t\t\t\t\t\t\t\t\t\tsetStep('wallet');\n\t\t\t\t\t\t\t\t\t\tsetManageMode(true);\n\t\t\t\t\t\t\t\t\t\tsetOnboardingOpen(true);\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\tclassName=\"p-1 hover:bg-muted rounded transition-colors\"\n\t\t\t\t\t\t\t\ttitle=\"Manage providers\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Pencil className=\"w-3.5 h-3.5 text-muted-foreground\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t{config?.providers?.map((provider) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tkey={provider}\n\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-1 text-xs bg-muted rounded-md font-mono\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{provider}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)) ?? <span className=\"text-muted-foreground text-sm\">None</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t{config?.providers?.includes('ottorouter') && (\n\t\t\t\t\t\t<SetuWalletSection\n\t\t\t\t\t\t\tottorouterWallet={ottorouterWallet}\n\t\t\t\t\t\t\tottorouterBalance={ottorouterBalance}\n\t\t\t\t\t\t\tottorouterUsdcBalance={ottorouterUsdcBalance}\n\t\t\t\t\t\t\tottorouterLoading={ottorouterLoading}\n\t\t\t\t\t\t\trefreshSetuBalance={refreshSetuBalance}\n\t\t\t\t\t\t\topenTopupModal={openTopupModal}\n\t\t\t\t\t\t\tonExportPrivateKey={exportSetuPrivateKey}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<OttoRouterTopupModal />\n\t\t\t\t</div>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => setIsPreferencesOpen(true)}\n\t\t\t\t\ttitle=\"Open preferences\"\n\t\t\t\t\tclassName=\"group shrink-0 w-full h-12 px-4 flex items-center gap-2 bg-muted/20 hover:bg-muted/60 border-t border-border transition-colors text-left cursor-pointer\"\n\t\t\t\t>\n\t\t\t\t\t<User className=\"w-4 h-4 text-muted-foreground group-hover:text-foreground transition-colors\" />\n\t\t\t\t\t<span className=\"text-sm flex-1 text-muted-foreground group-hover:text-foreground transition-colors\">\n\t\t\t\t\t\tPreferences\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronRight className=\"w-4 h-4 text-muted-foreground group-hover:text-foreground group-hover:translate-x-0.5 transition-all\" />\n\t\t\t\t</button>\n\n\t\t\t\t<PreferencesModal\n\t\t\t\t\tisOpen={isPreferencesOpen}\n\t\t\t\t\tonClose={() => setIsPreferencesOpen(false)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nfunction SetuSubscriptionInfo() {\n\tconst subscription = useOttoRouterStore((s) => s.subscription);\n\tconst payg = useOttoRouterStore((s) => s.payg);\n\n\tif (!subscription?.active) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<SettingRow label=\"Plan\" value={subscription.tierName ?? 'GO'} />\n\t\t\t{subscription.usageWindows && (\n\t\t\t\t<>\n\t\t\t\t\t<SettingRow\n\t\t\t\t\t\tlabel=\"5h\"\n\t\t\t\t\t\tvalue={`${Math.round(subscription.usageWindows.fiveHour.percentUsed)}%`}\n\t\t\t\t\t/>\n\t\t\t\t\t<SettingRow\n\t\t\t\t\t\tlabel=\"Week\"\n\t\t\t\t\t\tvalue={`${Math.round(subscription.usageWindows.weekly.percentUsed)}%`}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t{payg && payg.effectiveSpendableUsd > 0 && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"Credits\"\n\t\t\t\t\tvalue={`$${payg.effectiveSpendableUsd.toFixed(2)}`}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{subscription.periodEnd && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"Renews\"\n\t\t\t\t\tvalue={new Date(subscription.periodEnd)\n\t\t\t\t\t\t.toLocaleDateString('en-US', {\n\t\t\t\t\t\t\tmonth: 'short',\n\t\t\t\t\t\t\tday: 'numeric',\n\t\t\t\t\t\t\tyear: 'numeric',\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.replace(',', '')}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\ninterface SetuWalletSectionProps {\n\tottorouterWallet: string | null;\n\tottorouterBalance: number | null;\n\tottorouterUsdcBalance: number | null;\n\tottorouterLoading: boolean;\n\trefreshSetuBalance: () => void;\n\topenTopupModal: () => void;\n\tonExportPrivateKey: () => Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}>;\n}\n\nconst SetuWalletSection = memo(function SetuWalletSection({\n\tottorouterWallet,\n\tottorouterBalance,\n\tottorouterUsdcBalance,\n\tottorouterLoading,\n\trefreshSetuBalance,\n\topenTopupModal,\n\tonExportPrivateKey,\n}: SetuWalletSectionProps) {\n\tconst hasActiveSubscription = useOttoRouterStore(\n\t\t(s) => !!s.subscription?.active,\n\t);\n\tconst [copied, setCopied] = useState(false);\n\tconst [isExportModalOpen, setIsExportModalOpen] = useState(false);\n\tconst [exportPrivateKey, setExportPrivateKey] = useState<string | null>(null);\n\tconst [isExportingPrivateKey, setIsExportingPrivateKey] = useState(false);\n\tconst [exportPrivateKeyError, setExportPrivateKeyError] = useState<\n\t\tstring | null\n\t>(null);\n\tconst [privateKeyCopied, setPrivateKeyCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\tif (!ottorouterWallet) return;\n\t\tawait navigator.clipboard.writeText(ottorouterWallet);\n\t\tsetCopied(true);\n\t\tsetTimeout(() => setCopied(false), 2000);\n\t}, [ottorouterWallet]);\n\n\tconst handleOpenExportPrivateKey = async () => {\n\t\tsetIsExportModalOpen(true);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t\tsetIsExportingPrivateKey(true);\n\t\ttry {\n\t\t\tconst result = await onExportPrivateKey();\n\t\t\tsetExportPrivateKey(result.privateKey);\n\t\t} catch (err) {\n\t\t\tsetExportPrivateKeyError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to export private key',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsExportingPrivateKey(false);\n\t\t}\n\t};\n\n\tconst handleCloseExportPrivateKey = () => {\n\t\tif (isExportingPrivateKey) return;\n\t\tsetIsExportModalOpen(false);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t};\n\n\tconst handleCopyPrivateKey = async () => {\n\t\tif (!exportPrivateKey) return;\n\t\tawait navigator.clipboard.writeText(exportPrivateKey);\n\t\tsetPrivateKeyCopied(true);\n\t\tsetTimeout(() => setPrivateKeyCopied(false), 2000);\n\t};\n\n\tconst truncateWallet = (address: string | null) => {\n\t\tif (!address) return 'Not configured';\n\t\treturn `${address.slice(0, 4)}...${address.slice(-4)}`;\n\t};\n\n\tconst formatBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `$${balance.toFixed(4)}`;\n\t};\n\n\tconst formatUsdcBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `${balance.toFixed(2)} USDC`;\n\t};\n\n\tconst isLoaded = ottorouterWallet !== null;\n\n\treturn (\n\t\t<SettingsSection\n\t\t\ttitle=\"Setu Credits\"\n\t\t\ticon={<Wallet className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\taction={\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={refreshSetuBalance}\n\t\t\t\t\tdisabled={ottorouterLoading}\n\t\t\t\t\tclassName=\"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50\"\n\t\t\t\t\ttitle=\"Refresh balances\"\n\t\t\t\t>\n\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\tclassName={`w-3.5 h-3.5 text-muted-foreground ${ottorouterLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t}\n\t\t>\n\t\t\t{isLoaded ? (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"p-2 bg-white rounded-lg\">\n\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\tvalue={ottorouterWallet}\n\t\t\t\t\t\t\t\tsize={120}\n\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\tincludeMargin={false}\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\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\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={handleCopy}\n\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\ttitle=\"Copy address\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{truncateWallet(ottorouterWallet)}\n\t\t\t\t\t\t\t{copied ? (\n\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) : (\n\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)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SetuSubscriptionInfo />\n\t\t\t\t\t{!hasActiveSubscription && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<SettingRow\n\t\t\t\t\t\t\t\tlabel=\"Balance\"\n\t\t\t\t\t\t\t\tvalue={formatBalance(ottorouterBalance)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<SettingRow\n\t\t\t\t\t\t\t\tlabel=\"USDC\"\n\t\t\t\t\t\t\t\tvalue={formatUsdcBalance(ottorouterUsdcBalance)}\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</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"w-[136px] h-[136px] bg-muted rounded-lg animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\n\t\t\t\t\t\t<div className=\"w-24 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Balance</span>\n\t\t\t\t\t\t<div className=\"w-16 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">USDC</span>\n\t\t\t\t\t\t<div className=\"w-20 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<Button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={openTopupModal}\n\t\t\t\tclassName=\"w-full mt-2 gap-2\"\n\t\t\t>\n\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\tTop Up Balance\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={handleOpenExportPrivateKey}\n\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t>\n\t\t\t\t<Key className=\"w-4 h-4\" />\n\t\t\t\tExport Private Key\n\t\t\t</Button>\n\n\t\t\t{isExportModalOpen && (\n\t\t\t\t<div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm\">\n\t\t\t\t\t<div className=\"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 p-6 border-b border-border\">\n\t\t\t\t\t\t\t<Key className=\"w-5 h-5 text-muted-foreground\" />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Export Setu Private Key</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\tKeep this private key secret. Anyone with this key can spend\n\t\t\t\t\t\t\t\tfunds from your Setu wallet.\n\t\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t\t{isExportingPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\tExporting private key...\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\t\t\tvalue={exportPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground outline-none font-mono text-xs resize-y\"\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\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopyPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-4 h-4 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? 'Copied' : 'Copy Private Key'}\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)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKeyError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 mt-3\">\n\t\t\t\t\t\t\t\t\t{exportPrivateKeyError}\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\t<div className=\"flex gap-3 mt-5\">\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={handleCloseExportPrivateKey}\n\t\t\t\t\t\t\t\t\tdisabled={isExportingPrivateKey}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tClose\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</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</SettingsSection>\n\t);\n});\n",
|
|
155
|
+
"import { memo } from 'react';\nimport { FlaskConical } from 'lucide-react';\nimport { useResearchStore } from '../../stores/researchStore';\nimport { useResearchSessions } from '../../hooks/useResearch';\n\ninterface ResearchSidebarToggleProps {\n\tparentSessionId?: string;\n}\n\nexport const ResearchSidebarToggle = memo(function ResearchSidebarToggle({\n\tparentSessionId,\n}: ResearchSidebarToggleProps) {\n\tconst isExpanded = useResearchStore((state) => state.isExpanded);\n\tconst toggleSidebar = useResearchStore((state) => state.toggleSidebar);\n\tconst { data } = useResearchSessions(parentSessionId ?? null);\n\n\tconst sessionCount = data?.sessions?.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-10 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=\"Research (⌘⇧R)\"\n\t\t>\n\t\t\t<FlaskConical className=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t\t{sessionCount > 0 && (\n\t\t\t\t<span className=\"absolute top-0.5 right-0.5 w-4 h-4 bg-primary text-primary-foreground text-[10px] rounded-full flex items-center justify-center font-semibold\">\n\t\t\t\t\t{sessionCount > 9 ? '9+' : sessionCount}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
|
|
156
|
+
"import { memo, useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport {\n\tSettings,\n\tChevronRight,\n\tWallet,\n\tCpu,\n\tZap,\n\tUser,\n\tChevronDown,\n\tRefreshCw,\n\tPlus,\n\tPencil,\n\tCopy,\n\tCheck,\n\tKey,\n\tLoader2,\n\tType,\n\tSparkles,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\nimport { Modal } from '../ui/Modal';\nimport { SidebarHeader } from '../ui/SidebarHeader';\nimport { useSettingsStore } from '../../stores/settingsStore';\nimport { useOnboardingStore } from '../../stores/onboardingStore';\nimport { useAuthStatus } from '../../hooks/useAuthStatus';\nimport {\n\tuseConfig,\n\tuseAllModels,\n\tuseUpdateDefaults,\n} from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useOttoRouterStore } from '../../stores/ottorouterStore';\nimport { OttoRouterTopupModal } from './OttoRouterTopupModal';\nimport { useOttoRouterBalance } from '../../hooks/useOttoRouterBalance';\nimport { useTopupCallback } from '../../hooks/useTopupCallback';\nimport { usePanelWidthStore } from '../../stores/panelWidthStore';\nimport { ResizeHandle } from '../ui/ResizeHandle';\nimport { apiClient } from '../../lib/api-client';\n\nconst SETTINGS_PANEL_KEY = 'settings';\nconst SETTINGS_DEFAULT_WIDTH = 320;\nconst SETTINGS_MIN_WIDTH = 320;\nconst SETTINGS_MAX_WIDTH = 500;\nconst DEFAULT_FONT_FAMILY = 'IBM Plex Mono';\nconst COMMON_SYSTEM_FONTS = [\n\tDEFAULT_FONT_FAMILY,\n\t'System UI',\n\t'Arial',\n\t'Avenir',\n\t'BlinkMacSystemFont',\n\t'Courier New',\n\t'Fira Code',\n\t'Georgia',\n\t'Helvetica',\n\t'Inter',\n\t'Menlo',\n\t'Monaco',\n\t'SF Mono',\n\t'Segoe UI',\n\t'Times New Roman',\n\t'Ubuntu',\n\t'Verdana',\n];\n\ninterface LocalFontData {\n\tfamily: string;\n}\n\ninterface LocalFontWindow extends Window {\n\tqueryLocalFonts?: () => Promise<LocalFontData[]>;\n}\n\ninterface SystemFontsResultMessage {\n\ttype: 'otto-system-fonts-result';\n\trequestId: string;\n\tfonts?: string[];\n\terror?: string;\n}\n\nfunction requestDesktopSystemFonts(): Promise<string[] | null> {\n\tif (typeof window === 'undefined' || window.self === window.top) {\n\t\treturn Promise.resolve(null);\n\t}\n\n\treturn new Promise((resolve, reject) => {\n\t\tconst requestId = crypto.randomUUID();\n\t\tconst timeout = window.setTimeout(() => {\n\t\t\twindow.removeEventListener('message', handleMessage);\n\t\t\tresolve(null);\n\t\t}, 3000);\n\n\t\tfunction handleMessage(event: MessageEvent<SystemFontsResultMessage>) {\n\t\t\tif (\n\t\t\t\tevent.data?.type !== 'otto-system-fonts-result' ||\n\t\t\t\tevent.data.requestId !== requestId\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twindow.clearTimeout(timeout);\n\t\t\twindow.removeEventListener('message', handleMessage);\n\n\t\t\tif (event.data.error) {\n\t\t\t\treject(new Error(event.data.error));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresolve(event.data.fonts ?? null);\n\t\t}\n\n\t\twindow.addEventListener('message', handleMessage);\n\t\twindow.parent.postMessage(\n\t\t\t{ type: 'otto-list-system-fonts', requestId },\n\t\t\t'*',\n\t\t);\n\t});\n}\n\ninterface SettingsSectionProps {\n\ttitle: string;\n\ticon: React.ReactNode;\n\tchildren: React.ReactNode;\n\taction?: React.ReactNode;\n}\n\nconst SettingsSection = memo(function SettingsSection({\n\ttitle,\n\ticon,\n\tchildren,\n\taction,\n}: SettingsSectionProps) {\n\treturn (\n\t\t<div className=\"border-b border-border\">\n\t\t\t<div className=\"px-4 py-3 flex items-center gap-2 bg-muted/30\">\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"text-sm font-medium flex-1\">{title}</span>\n\t\t\t\t{action}\n\t\t\t</div>\n\t\t\t<div className=\"px-4 py-3 space-y-3\">{children}</div>\n\t\t</div>\n\t);\n});\n\ninterface SettingRowProps {\n\tlabel: string;\n\tvalue: React.ReactNode;\n}\n\nconst SettingRow = memo(function SettingRow({ label, value }: SettingRowProps) {\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<span className=\"font-mono text-foreground\">{value}</span>\n\t\t</div>\n\t);\n});\n\ninterface ToggleRowProps {\n\tlabel: string;\n\tchecked: boolean;\n\tonChange: (checked: boolean) => void;\n}\n\nconst ToggleRow = memo(function ToggleRow({\n\tlabel,\n\tchecked,\n\tonChange,\n}: ToggleRowProps) {\n\treturn (\n\t\t<div className=\"flex min-w-0 items-center justify-between gap-3 text-sm\">\n\t\t\t<span className=\"min-w-0 flex-1 truncate text-muted-foreground\">\n\t\t\t\t{label}\n\t\t\t</span>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"switch\"\n\t\t\t\taria-checked={checked}\n\t\t\t\tonClick={() => onChange(!checked)}\n\t\t\t\tclassName={`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${\n\t\t\t\t\tchecked ? 'bg-primary' : 'bg-muted'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\tchecked ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t} ${checked ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t</div>\n\t);\n});\n\ninterface SelectRowProps {\n\tlabel: string;\n\tvalue: string;\n\toptions: Array<{ id: string; label: string }>;\n\tonChange: (value: string) => void;\n\tdisabled?: boolean;\n}\n\nconst SelectRow = memo(function SelectRow({\n\tlabel,\n\tvalue,\n\toptions,\n\tonChange,\n\tdisabled,\n}: SelectRowProps) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [menuStyle, setMenuStyle] = useState<{\n\t\ttop: number;\n\t\tleft: number;\n\t\twidth: number;\n\t} | null>(null);\n\tconst buttonRef = useRef<HTMLButtonElement | null>(null);\n\tconst selectedOption = options.find((o) => o.id === value);\n\n\tuseEffect(() => {\n\t\tif (!isOpen || !buttonRef.current) return;\n\t\tconst update = () => {\n\t\t\tconst rect = buttonRef.current?.getBoundingClientRect();\n\t\t\tif (!rect) return;\n\t\t\tconst width = Math.max(rect.width, 160);\n\t\t\tsetMenuStyle({\n\t\t\t\ttop: rect.bottom + 4,\n\t\t\t\tleft: rect.right - width,\n\t\t\t\twidth,\n\t\t\t});\n\t\t};\n\t\tupdate();\n\t\twindow.addEventListener('scroll', update, true);\n\t\twindow.addEventListener('resize', update);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('scroll', update, true);\n\t\t\twindow.removeEventListener('resize', update);\n\t\t};\n\t}, [isOpen]);\n\n\treturn (\n\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</span>\n\t\t\t<div className=\"relative\">\n\t\t\t\t<button\n\t\t\t\t\tref={buttonRef}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-xs font-mono bg-muted hover:bg-muted/80 rounded border border-border disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"max-w-[120px] truncate\">\n\t\t\t\t\t\t{selectedOption?.label || value || 'Select...'}\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronDown className=\"w-3 h-3\" />\n\t\t\t\t</button>\n\t\t\t\t{isOpen &&\n\t\t\t\t\tmenuStyle &&\n\t\t\t\t\ttypeof document !== 'undefined' &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: click-away backdrop pattern */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"fixed inset-0 z-[10000]\"\n\t\t\t\t\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"fixed z-[10001] max-h-[240px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttop: menuStyle.top,\n\t\t\t\t\t\t\t\t\tleft: menuStyle.left,\n\t\t\t\t\t\t\t\t\tminWidth: menuStyle.width,\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{options.map((option) => (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tkey={option.id}\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tonChange(option.id);\n\t\t\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName={`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${\n\t\t\t\t\t\t\t\t\t\t\toption.id === value ? 'bg-muted/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\t{option.label}\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\tdocument.body,\n\t\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\ninterface FontPickerRowProps {\n\tvalue: string;\n\tonChange: (value: string) => void;\n}\n\nconst FontPickerRow = memo(function FontPickerRow({\n\tvalue,\n\tonChange,\n}: FontPickerRowProps) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [search, setSearch] = useState('');\n\tconst [localFonts, setLocalFonts] = useState<string[]>([]);\n\tconst [isLoadingFonts, setIsLoadingFonts] = useState(false);\n\tconst [fontError, setFontError] = useState<string | null>(null);\n\tconst canQueryLocalFonts =\n\t\ttypeof window !== 'undefined' &&\n\t\ttypeof (window as LocalFontWindow).queryLocalFonts === 'function';\n\tconst canRequestDesktopFonts =\n\t\ttypeof window !== 'undefined' && window.self !== window.top;\n\n\tconst fontOptions = useMemo(() => {\n\t\treturn Array.from(\n\t\t\tnew Set([value, ...localFonts, ...COMMON_SYSTEM_FONTS].filter(Boolean)),\n\t\t).sort((a, b) => a.localeCompare(b));\n\t}, [localFonts, value]);\n\n\tconst filteredFonts = useMemo(() => {\n\t\tconst query = search.trim().toLowerCase();\n\t\tif (!query) return fontOptions;\n\t\treturn fontOptions.filter((font) => font.toLowerCase().includes(query));\n\t}, [fontOptions, search]);\n\n\tconst loadLocalFonts = useCallback(async () => {\n\t\tif (isLoadingFonts || localFonts.length > 0) return;\n\t\tconst queryLocalFonts = (window as LocalFontWindow).queryLocalFonts;\n\n\t\tsetIsLoadingFonts(true);\n\t\tsetFontError(null);\n\t\ttry {\n\t\t\tif (queryLocalFonts) {\n\t\t\t\tconst fonts = await queryLocalFonts();\n\t\t\t\tsetLocalFonts(\n\t\t\t\t\tArray.from(new Set(fonts.map((font) => font.family).filter(Boolean))),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst desktopFonts = await requestDesktopSystemFonts();\n\t\t\tif (desktopFonts?.length) {\n\t\t\t\tsetLocalFonts(desktopFonts);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetFontError('Local font access is not supported in this browser');\n\t\t} catch (error) {\n\t\t\tsetFontError(\n\t\t\t\terror instanceof Error ? error.message : 'Unable to load local fonts',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsLoadingFonts(false);\n\t\t}\n\t}, [isLoadingFonts, localFonts.length]);\n\n\tconst openPicker = () => {\n\t\tsetIsOpen(true);\n\t\tvoid loadLocalFonts();\n\t};\n\n\treturn (\n\t\t<div className=\"space-y-2 text-sm\">\n\t\t\t<div className=\"flex items-center justify-between gap-3\">\n\t\t\t\t<span className=\"text-muted-foreground\">UI Font</span>\n\t\t\t\t<div className=\"relative min-w-0\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={() => (isOpen ? setIsOpen(false) : openPicker())}\n\t\t\t\t\t\tclassName=\"flex max-w-[170px] items-center gap-1 rounded border border-border bg-muted px-2 py-1 text-xs hover:bg-muted/80\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"truncate\" style={{ fontFamily: value }}>\n\t\t\t\t\t\t\t{value || DEFAULT_FONT_FAMILY}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<ChevronDown className=\"h-3 w-3 shrink-0\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t{isOpen && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: click-away backdrop pattern */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"fixed inset-0 z-40\"\n\t\t\t\t\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"absolute right-0 top-full z-50 mt-1 w-72 rounded-md border border-border bg-popover shadow-lg\">\n\t\t\t\t\t\t\t\t<div className=\"border-b border-border p-2\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t\t\t\t\tvalue={search}\n\t\t\t\t\t\t\t\t\t\tonChange={(event) => setSearch(event.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Search system fonts...\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full rounded border border-border bg-background px-2 py-1.5 text-xs outline-none placeholder:text-muted-foreground/70 focus:border-primary\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"max-h-64 overflow-y-auto py-1\">\n\t\t\t\t\t\t\t\t\t{filteredFonts.map((font) => (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tkey={font}\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={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChange(font);\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t\t\t\t\tsetSearch('');\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full px-3 py-2 text-left text-xs hover:bg-muted ${\n\t\t\t\t\t\t\t\t\t\t\t\tfont === value ? 'bg-muted/50' : ''\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ fontFamily: font }}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{font}\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{filteredFonts.length === 0 && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"px-3 py-2 text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\tNo fonts found\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</div>\n\t\t\t\t\t\t\t\t<div className=\"border-t border-border px-3 py-2 text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t{isLoadingFonts\n\t\t\t\t\t\t\t\t\t\t? 'Loading local fonts...'\n\t\t\t\t\t\t\t\t\t\t: fontError\n\t\t\t\t\t\t\t\t\t\t\t? fontError\n\t\t\t\t\t\t\t\t\t\t\t: localFonts.length > 0\n\t\t\t\t\t\t\t\t\t\t\t\t? `${localFonts.length} local fonts found`\n\t\t\t\t\t\t\t\t\t\t\t\t: canQueryLocalFonts\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose a font or allow local font access if prompted'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: canRequestDesktopFonts\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Loading desktop system fonts if available'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'Showing common system fonts'}\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)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\ninterface NumberInputRowProps {\n\tlabel: string;\n\tvalue: number | null | undefined;\n\tonCommit: (value: number | null) => void;\n\tplaceholder?: string;\n\thint?: string;\n\tdisabled?: boolean;\n}\n\nconst NumberInputRow = memo(function NumberInputRow({\n\tlabel,\n\tvalue,\n\tonCommit,\n\tplaceholder,\n\thint,\n\tdisabled,\n}: NumberInputRowProps) {\n\tconst [draft, setDraft] = useState(\n\t\tvalue !== null && value !== undefined ? String(value) : '',\n\t);\n\n\tuseEffect(() => {\n\t\tsetDraft(value !== null && value !== undefined ? String(value) : '');\n\t}, [value]);\n\n\tconst persistedValue =\n\t\tvalue !== null && value !== undefined ? String(value) : '';\n\tconst trimmedDraft = draft.trim();\n\tconst parsedDraft = trimmedDraft\n\t\t? Number(trimmedDraft.replaceAll(',', ''))\n\t\t: null;\n\tconst normalizedDraft =\n\t\tparsedDraft !== null && Number.isFinite(parsedDraft) && parsedDraft > 0\n\t\t\t? String(Math.floor(parsedDraft))\n\t\t\t: trimmedDraft === ''\n\t\t\t\t? ''\n\t\t\t\t: null;\n\tconst hasChanges =\n\t\tnormalizedDraft !== null && normalizedDraft !== persistedValue;\n\n\tconst commit = useCallback(() => {\n\t\tif (normalizedDraft === null || normalizedDraft === persistedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetDraft(normalizedDraft);\n\t\tonCommit(normalizedDraft === '' ? null : Number(normalizedDraft));\n\t}, [normalizedDraft, onCommit, persistedValue]);\n\n\treturn (\n\t\t<div className=\"space-y-1.5\">\n\t\t\t<div className=\"flex min-w-0 items-center justify-between gap-3 text-sm\">\n\t\t\t\t<span className=\"min-w-0 flex-1 truncate whitespace-nowrap text-muted-foreground\">\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t\t<div className=\"flex shrink-0 items-center gap-1 rounded border border-border bg-muted px-2 py-1 text-xs font-mono transition-colors focus-within:border-primary\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tinputMode=\"numeric\"\n\t\t\t\t\t\tvalue={draft}\n\t\t\t\t\t\tonChange={(event) => setDraft(event.target.value)}\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tcommit();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\t\t\t\tsetDraft(persistedValue);\n\t\t\t\t\t\t\t\tevent.currentTarget.blur();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tclassName=\"w-24 bg-transparent text-right outline-none placeholder:text-muted-foreground/70 disabled:opacity-50\"\n\t\t\t\t\t/>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={commit}\n\t\t\t\t\t\tdisabled={disabled || !hasChanges}\n\t\t\t\t\t\tclassName=\"inline-flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40\"\n\t\t\t\t\t\taria-label={`Save ${label}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Check className=\"h-4 w-4\" />\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{hint ? <p className=\"text-xs text-muted-foreground\">{hint}</p> : null}\n\t\t</div>\n\t);\n});\n\ninterface PreferencesModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n}\n\nfunction PreferencesModal({ isOpen, onClose }: PreferencesModalProps) {\n\tconst { data: config } = useConfig();\n\tconst { preferences, updatePreferences } = usePreferences();\n\tconst updateDefaults = useUpdateDefaults();\n\n\treturn (\n\t\t<Modal isOpen={isOpen} onClose={onClose} title=\"Preferences\" maxWidth=\"lg\">\n\t\t\t<div className=\"-m-6\">\n\t\t\t\t<SettingsSection\n\t\t\t\t\ttitle=\"Editor\"\n\t\t\t\t\ticon={<Type className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Vim Mode\"\n\t\t\t\t\t\tchecked={preferences.vimMode}\n\t\t\t\t\t\tonChange={(checked) => updatePreferences({ vimMode: checked })}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Compact Thread\"\n\t\t\t\t\t\tchecked={preferences.compactThread}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdatePreferences({ compactThread: checked })\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Full Width Content\"\n\t\t\t\t\t\tchecked={preferences.fullWidthContent}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdatePreferences({ fullWidthContent: checked })\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<FontPickerRow\n\t\t\t\t\t\tvalue={preferences.fontFamily}\n\t\t\t\t\t\tonChange={(fontFamily) => updatePreferences({ fontFamily })}\n\t\t\t\t\t/>\n\t\t\t\t</SettingsSection>\n\n\t\t\t\t<SettingsSection\n\t\t\t\t\ttitle=\"Automation\"\n\t\t\t\t\ticon={<Zap className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t>\n\t\t\t\t\t<NumberInputRow\n\t\t\t\t\t\tlabel=\"Auto Compact\"\n\t\t\t\t\t\tvalue={config?.defaults?.autoCompactThresholdTokens}\n\t\t\t\t\t\tonCommit={(value) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\tautoCompactThresholdTokens: value,\n\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder=\"Tokens\"\n\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectRow\n\t\t\t\t\t\tlabel=\"Tool Approval\"\n\t\t\t\t\t\tvalue={config?.defaults?.toolApproval ?? 'dangerous'}\n\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t{ id: 'auto', label: 'Auto (no approval)' },\n\t\t\t\t\t\t\t{ id: 'dangerous', label: 'Dangerous only' },\n\t\t\t\t\t\t\t{ id: 'yolo', label: 'YOLO (hard blocks only)' },\n\t\t\t\t\t\t\t{ id: 'all', label: 'All tools' },\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\ttoolApproval: value as 'auto' | 'dangerous' | 'all' | 'yolo',\n\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Guided Mode\"\n\t\t\t\t\t\tchecked={config?.defaults?.guidedMode ?? false}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\tguidedMode: checked,\n\t\t\t\t\t\t\t\tscope: 'global',\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</SettingsSection>\n\n\t\t\t\t<SettingsSection\n\t\t\t\t\ttitle=\"Reasoning\"\n\t\t\t\t\ticon={<Sparkles className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t>\n\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\tlabel=\"Show Reasoning\"\n\t\t\t\t\t\tchecked={config?.defaults?.reasoningText ?? true}\n\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\treasoningText: checked,\n\t\t\t\t\t\t\t\tscope: 'global',\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\t<SelectRow\n\t\t\t\t\t\tlabel=\"Reasoning Level\"\n\t\t\t\t\t\tvalue={config?.defaults?.reasoningLevel ?? 'high'}\n\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t{ id: 'minimal', label: 'Minimal' },\n\t\t\t\t\t\t\t{ id: 'low', label: 'Low' },\n\t\t\t\t\t\t\t{ id: 'medium', label: 'Medium' },\n\t\t\t\t\t\t\t{ id: 'high', label: 'High' },\n\t\t\t\t\t\t\t{ id: 'max', label: 'Max' },\n\t\t\t\t\t\t\t{ id: 'xhigh', label: 'Extra High' },\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\treasoningLevel: value as\n\t\t\t\t\t\t\t\t\t| 'minimal'\n\t\t\t\t\t\t\t\t\t| 'low'\n\t\t\t\t\t\t\t\t\t| 'medium'\n\t\t\t\t\t\t\t\t\t| 'high'\n\t\t\t\t\t\t\t\t\t| 'max'\n\t\t\t\t\t\t\t\t\t| 'xhigh',\n\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t/>\n\t\t\t\t</SettingsSection>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport const SettingsSidebar = memo(function SettingsSidebar() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSettingsStore((state) => state.collapseSidebar);\n\tconst [isPreferencesOpen, setIsPreferencesOpen] = useState(false);\n\tconst panelWidth = usePanelWidthStore(\n\t\t(s) => s.widths[SETTINGS_PANEL_KEY] ?? SETTINGS_DEFAULT_WIDTH,\n\t);\n\n\tconst { data: config } = useConfig();\n\tconst { data: allModels } = useAllModels();\n\tconst updateDefaults = useUpdateDefaults();\n\tconst ottorouterBalance = useOttoRouterStore((s) => s.balance);\n\tconst ottorouterWallet = useOttoRouterStore((s) => s.walletAddress);\n\tconst ottorouterUsdcBalance = useOttoRouterStore((s) => s.usdcBalance);\n\tconst ottorouterLoading = useOttoRouterStore((s) => s.isLoading);\n\tconst openTopupModal = useOttoRouterStore((s) => s.openTopupModal);\n\n\t// Handle topup success callback from Polar checkout redirect\n\tuseTopupCallback();\n\n\tconst hasSetu = config?.providers?.includes('ottorouter');\n\tconst { fetchBalance: refreshSetuBalance } = useOttoRouterBalance(\n\t\thasSetu ? 'ottorouter' : undefined,\n\t);\n\n\tconst setOnboardingOpen = useOnboardingStore((s) => s.setOpen);\n\tconst setStep = useOnboardingStore((s) => s.setStep);\n\tconst setManageMode = useOnboardingStore((s) => s.setManageMode);\n\tconst { fetchAuthStatus } = useAuthStatus();\n\n\tconst exportSetuPrivateKey = useCallback(async () => {\n\t\treturn await apiClient.exportOttoRouterWallet();\n\t}, []);\n\n\tconst providerOptions = useMemo(() => {\n\t\tif (!config?.providers || !allModels) return [];\n\t\treturn config.providers\n\t\t\t.filter((p) => allModels[p])\n\t\t\t.map((p) => ({\n\t\t\t\tid: p,\n\t\t\t\tlabel: allModels[p]?.label || p,\n\t\t\t}));\n\t}, [config?.providers, allModels]);\n\n\tconst modelOptions = useMemo(() => {\n\t\tconst provider = config?.defaults?.provider;\n\t\tif (!provider || !allModels?.[provider]) return [];\n\t\treturn allModels[provider].models.map((m) => ({\n\t\t\tid: m.id,\n\t\t\tlabel: m.label,\n\t\t}));\n\t}, [config?.defaults?.provider, allModels]);\n\n\tconst agentOptions = useMemo(() => {\n\t\tif (!config?.agents) return [];\n\t\treturn config.agents.map((a) => ({ id: a, label: a }));\n\t}, [config?.agents]);\n\n\tif (!isExpanded) return null;\n\n\tconst handleProviderChange = (provider: string) => {\n\t\tconst firstModel = allModels?.[provider]?.models?.[0]?.id;\n\t\tupdateDefaults.mutate({\n\t\t\tprovider,\n\t\t\tmodel: firstModel || config?.defaults?.model,\n\t\t\tscope: 'global',\n\t\t});\n\t};\n\n\tconst handleModelChange = (model: string) => {\n\t\tupdateDefaults.mutate({ model, scope: 'global' });\n\t};\n\n\tconst handleAgentChange = (agent: string) => {\n\t\tupdateDefaults.mutate({ agent, scope: 'global' });\n\t};\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={SETTINGS_PANEL_KEY}\n\t\t\t\tside=\"right\"\n\t\t\t\tminWidth={SETTINGS_MIN_WIDTH}\n\t\t\t\tmaxWidth={SETTINGS_MAX_WIDTH}\n\t\t\t\tdefaultWidth={SETTINGS_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<SidebarHeader\n\t\t\t\t\ticon={<Settings className=\"size-[15px]\" />}\n\t\t\t\t\ttitle=\"Settings\"\n\t\t\t\t\tonClose={collapseSidebar}\n\t\t\t\t/>\n\n\t\t\t\t<div className=\"flex-1 overflow-y-auto\">\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Default Model\"\n\t\t\t\t\t\ticon={<Cpu className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Provider\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.provider ?? ''}\n\t\t\t\t\t\t\toptions={providerOptions}\n\t\t\t\t\t\t\tonChange={handleProviderChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Model\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.model ?? ''}\n\t\t\t\t\t\t\toptions={modelOptions}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectRow\n\t\t\t\t\t\t\tlabel=\"Agent\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.agent ?? ''}\n\t\t\t\t\t\t\toptions={agentOptions}\n\t\t\t\t\t\t\tonChange={handleAgentChange}\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t<SettingsSection\n\t\t\t\t\t\ttitle=\"Providers\"\n\t\t\t\t\t\ticon={<Zap className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t\taction={\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={() => {\n\t\t\t\t\t\t\t\t\tfetchAuthStatus().then(() => {\n\t\t\t\t\t\t\t\t\t\tsetStep('wallet');\n\t\t\t\t\t\t\t\t\t\tsetManageMode(true);\n\t\t\t\t\t\t\t\t\t\tsetOnboardingOpen(true);\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\tclassName=\"p-1 hover:bg-muted rounded transition-colors\"\n\t\t\t\t\t\t\t\ttitle=\"Manage providers\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Pencil className=\"w-3.5 h-3.5 text-muted-foreground\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t{config?.providers?.map((provider) => (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tkey={provider}\n\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-1 text-xs bg-muted rounded-md font-mono\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{provider}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)) ?? <span className=\"text-muted-foreground text-sm\">None</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</SettingsSection>\n\n\t\t\t\t\t{config?.providers?.includes('ottorouter') && (\n\t\t\t\t\t\t<SetuWalletSection\n\t\t\t\t\t\t\tottorouterWallet={ottorouterWallet}\n\t\t\t\t\t\t\tottorouterBalance={ottorouterBalance}\n\t\t\t\t\t\t\tottorouterUsdcBalance={ottorouterUsdcBalance}\n\t\t\t\t\t\t\tottorouterLoading={ottorouterLoading}\n\t\t\t\t\t\t\trefreshSetuBalance={refreshSetuBalance}\n\t\t\t\t\t\t\topenTopupModal={openTopupModal}\n\t\t\t\t\t\t\tonExportPrivateKey={exportSetuPrivateKey}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<OttoRouterTopupModal />\n\t\t\t\t</div>\n\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => setIsPreferencesOpen(true)}\n\t\t\t\t\ttitle=\"Open preferences\"\n\t\t\t\t\tclassName=\"group shrink-0 w-full h-10 px-3 flex items-center gap-2 bg-muted/20 hover:bg-muted/60 border-t border-border transition-colors text-left cursor-pointer\"\n\t\t\t\t>\n\t\t\t\t\t<User className=\"w-4 h-4 text-muted-foreground group-hover:text-foreground transition-colors\" />\n\t\t\t\t\t<span className=\"text-sm flex-1 text-muted-foreground group-hover:text-foreground transition-colors\">\n\t\t\t\t\t\tPreferences\n\t\t\t\t\t</span>\n\t\t\t\t\t<ChevronRight className=\"w-4 h-4 text-muted-foreground group-hover:text-foreground group-hover:translate-x-0.5 transition-all\" />\n\t\t\t\t</button>\n\n\t\t\t\t<PreferencesModal\n\t\t\t\t\tisOpen={isPreferencesOpen}\n\t\t\t\t\tonClose={() => setIsPreferencesOpen(false)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nfunction SetuSubscriptionInfo() {\n\tconst subscription = useOttoRouterStore((s) => s.subscription);\n\tconst payg = useOttoRouterStore((s) => s.payg);\n\n\tif (!subscription?.active) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<SettingRow label=\"Plan\" value={subscription.tierName ?? 'GO'} />\n\t\t\t{subscription.usageWindows && (\n\t\t\t\t<>\n\t\t\t\t\t<SettingRow\n\t\t\t\t\t\tlabel=\"5h\"\n\t\t\t\t\t\tvalue={`${Math.round(subscription.usageWindows.fiveHour.percentUsed)}%`}\n\t\t\t\t\t/>\n\t\t\t\t\t<SettingRow\n\t\t\t\t\t\tlabel=\"Week\"\n\t\t\t\t\t\tvalue={`${Math.round(subscription.usageWindows.weekly.percentUsed)}%`}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t{payg && payg.effectiveSpendableUsd > 0 && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"Credits\"\n\t\t\t\t\tvalue={`$${payg.effectiveSpendableUsd.toFixed(2)}`}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{subscription.periodEnd && (\n\t\t\t\t<SettingRow\n\t\t\t\t\tlabel=\"Renews\"\n\t\t\t\t\tvalue={new Date(subscription.periodEnd)\n\t\t\t\t\t\t.toLocaleDateString('en-US', {\n\t\t\t\t\t\t\tmonth: 'short',\n\t\t\t\t\t\t\tday: 'numeric',\n\t\t\t\t\t\t\tyear: 'numeric',\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.replace(',', '')}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\ninterface SetuWalletSectionProps {\n\tottorouterWallet: string | null;\n\tottorouterBalance: number | null;\n\tottorouterUsdcBalance: number | null;\n\tottorouterLoading: boolean;\n\trefreshSetuBalance: () => void;\n\topenTopupModal: () => void;\n\tonExportPrivateKey: () => Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}>;\n}\n\nconst SetuWalletSection = memo(function SetuWalletSection({\n\tottorouterWallet,\n\tottorouterBalance,\n\tottorouterUsdcBalance,\n\tottorouterLoading,\n\trefreshSetuBalance,\n\topenTopupModal,\n\tonExportPrivateKey,\n}: SetuWalletSectionProps) {\n\tconst hasActiveSubscription = useOttoRouterStore(\n\t\t(s) => !!s.subscription?.active,\n\t);\n\tconst [copied, setCopied] = useState(false);\n\tconst [isExportModalOpen, setIsExportModalOpen] = useState(false);\n\tconst [exportPrivateKey, setExportPrivateKey] = useState<string | null>(null);\n\tconst [isExportingPrivateKey, setIsExportingPrivateKey] = useState(false);\n\tconst [exportPrivateKeyError, setExportPrivateKeyError] = useState<\n\t\tstring | null\n\t>(null);\n\tconst [privateKeyCopied, setPrivateKeyCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\tif (!ottorouterWallet) return;\n\t\tawait navigator.clipboard.writeText(ottorouterWallet);\n\t\tsetCopied(true);\n\t\tsetTimeout(() => setCopied(false), 2000);\n\t}, [ottorouterWallet]);\n\n\tconst handleOpenExportPrivateKey = async () => {\n\t\tsetIsExportModalOpen(true);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t\tsetIsExportingPrivateKey(true);\n\t\ttry {\n\t\t\tconst result = await onExportPrivateKey();\n\t\t\tsetExportPrivateKey(result.privateKey);\n\t\t} catch (err) {\n\t\t\tsetExportPrivateKeyError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to export private key',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsExportingPrivateKey(false);\n\t\t}\n\t};\n\n\tconst handleCloseExportPrivateKey = () => {\n\t\tif (isExportingPrivateKey) return;\n\t\tsetIsExportModalOpen(false);\n\t\tsetPrivateKeyCopied(false);\n\t\tsetExportPrivateKey(null);\n\t\tsetExportPrivateKeyError(null);\n\t};\n\n\tconst handleCopyPrivateKey = async () => {\n\t\tif (!exportPrivateKey) return;\n\t\tawait navigator.clipboard.writeText(exportPrivateKey);\n\t\tsetPrivateKeyCopied(true);\n\t\tsetTimeout(() => setPrivateKeyCopied(false), 2000);\n\t};\n\n\tconst truncateWallet = (address: string | null) => {\n\t\tif (!address) return 'Not configured';\n\t\treturn `${address.slice(0, 4)}...${address.slice(-4)}`;\n\t};\n\n\tconst formatBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `$${balance.toFixed(4)}`;\n\t};\n\n\tconst formatUsdcBalance = (balance: number | null) => {\n\t\tif (balance === null) return '—';\n\t\treturn `${balance.toFixed(2)} USDC`;\n\t};\n\n\tconst isLoaded = ottorouterWallet !== null;\n\n\treturn (\n\t\t<SettingsSection\n\t\t\ttitle=\"Setu Credits\"\n\t\t\ticon={<Wallet className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\taction={\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={refreshSetuBalance}\n\t\t\t\t\tdisabled={ottorouterLoading}\n\t\t\t\t\tclassName=\"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50\"\n\t\t\t\t\ttitle=\"Refresh balances\"\n\t\t\t\t>\n\t\t\t\t\t<RefreshCw\n\t\t\t\t\t\tclassName={`w-3.5 h-3.5 text-muted-foreground ${ottorouterLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t}\n\t\t>\n\t\t\t{isLoaded ? (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"p-2 bg-white rounded-lg\">\n\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\tvalue={ottorouterWallet}\n\t\t\t\t\t\t\t\tsize={120}\n\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\tincludeMargin={false}\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\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\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={handleCopy}\n\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\ttitle=\"Copy address\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{truncateWallet(ottorouterWallet)}\n\t\t\t\t\t\t\t{copied ? (\n\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) : (\n\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)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SetuSubscriptionInfo />\n\t\t\t\t\t{!hasActiveSubscription && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<SettingRow\n\t\t\t\t\t\t\t\tlabel=\"Balance\"\n\t\t\t\t\t\t\t\tvalue={formatBalance(ottorouterBalance)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<SettingRow\n\t\t\t\t\t\t\t\tlabel=\"USDC\"\n\t\t\t\t\t\t\t\tvalue={formatUsdcBalance(ottorouterUsdcBalance)}\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</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex justify-center pb-3\">\n\t\t\t\t\t\t<div className=\"w-[136px] h-[136px] bg-muted rounded-lg animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Address</span>\n\t\t\t\t\t\t<div className=\"w-24 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">Balance</span>\n\t\t\t\t\t\t<div className=\"w-16 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center justify-between text-sm\">\n\t\t\t\t\t\t<span className=\"text-muted-foreground\">USDC</span>\n\t\t\t\t\t\t<div className=\"w-20 h-4 bg-muted rounded animate-pulse\" />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<Button\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={openTopupModal}\n\t\t\t\tclassName=\"w-full mt-2 gap-2\"\n\t\t\t>\n\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\tTop Up Balance\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tonClick={handleOpenExportPrivateKey}\n\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t>\n\t\t\t\t<Key className=\"w-4 h-4\" />\n\t\t\t\tExport Private Key\n\t\t\t</Button>\n\n\t\t\t{isExportModalOpen && (\n\t\t\t\t<div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm\">\n\t\t\t\t\t<div className=\"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 p-6 border-b border-border\">\n\t\t\t\t\t\t\t<Key className=\"w-5 h-5 text-muted-foreground\" />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Export Setu Private Key</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\tKeep this private key secret. Anyone with this key can spend\n\t\t\t\t\t\t\t\tfunds from your Setu wallet.\n\t\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t\t{isExportingPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-4 h-4 animate-spin\" />\n\t\t\t\t\t\t\t\t\tExporting private key...\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKey && (\n\t\t\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\t\t\tvalue={exportPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground outline-none font-mono text-xs resize-y\"\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\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopyPrivateKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? (\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-4 h-4 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{privateKeyCopied ? 'Copied' : 'Copy Private Key'}\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)}\n\n\t\t\t\t\t\t\t{!isExportingPrivateKey && exportPrivateKeyError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 mt-3\">\n\t\t\t\t\t\t\t\t\t{exportPrivateKeyError}\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\t<div className=\"flex gap-3 mt-5\">\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={handleCloseExportPrivateKey}\n\t\t\t\t\t\t\t\t\tdisabled={isExportingPrivateKey}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tClose\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</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</SettingsSection>\n\t);\n});\n",
|
|
156
157
|
"import { create } from 'zustand';\n\nexport type OnboardingStep = 'wallet' | 'defaults';\n\nexport interface ProviderInfo {\n\tconfigured: boolean;\n\ttype?: 'api' | 'oauth' | 'wallet';\n\tlabel: string;\n\tsupportsOAuth: boolean;\n\tsupportsToken?: boolean;\n\tsupportsGhImport?: boolean;\n\tcustom?: boolean;\n\tmodelCount: number;\n\tcostRange?: { min: number; max: number };\n}\n\nexport interface AuthStatus {\n\tonboardingComplete: boolean;\n\tottorouter: { configured: boolean; publicKey?: string };\n\tproviders: Record<string, ProviderInfo>;\n\tdefaults: {\n\t\tagent: string;\n\t\tprovider: string;\n\t\tmodel: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t};\n}\n\ninterface OnboardingState {\n\tisOpen: boolean;\n\tcurrentStep: OnboardingStep;\n\tmanageMode: boolean;\n\tisLoading: boolean;\n\terror: string | null;\n\tauthStatus: AuthStatus | null;\n\tsetOpen: (open: boolean) => void;\n\tsetStep: (step: OnboardingStep) => void;\n\tsetManageMode: (manageMode: boolean) => void;\n\tsetLoading: (loading: boolean) => void;\n\tsetError: (error: string | null) => void;\n\tsetAuthStatus: (status: AuthStatus | null) => void;\n\tnextStep: () => void;\n\tprevStep: () => void;\n\treset: () => void;\n}\n\nconst STEPS: OnboardingStep[] = ['wallet', 'defaults'];\n\nexport const useOnboardingStore = create<OnboardingState>((set, get) => ({\n\tisOpen: false,\n\tcurrentStep: 'wallet',\n\tmanageMode: false,\n\tisLoading: false,\n\terror: null,\n\tauthStatus: null,\n\tsetOpen: (isOpen) => set({ isOpen }),\n\tsetStep: (currentStep) => set({ currentStep }),\n\tsetManageMode: (manageMode) => set({ manageMode }),\n\tsetLoading: (isLoading) => set({ isLoading }),\n\tsetError: (error) => set({ error }),\n\tsetAuthStatus: (authStatus) => set({ authStatus }),\n\tnextStep: () => {\n\t\tconst { currentStep } = get();\n\t\tconst currentIndex = STEPS.indexOf(currentStep);\n\t\tif (currentIndex < STEPS.length - 1) {\n\t\t\tset({ currentStep: STEPS[currentIndex + 1] });\n\t\t}\n\t},\n\tprevStep: () => {\n\t\tconst { currentStep } = get();\n\t\tconst currentIndex = STEPS.indexOf(currentStep);\n\t\tif (currentIndex > 0) {\n\t\t\tset({ currentStep: STEPS[currentIndex - 1] });\n\t\t}\n\t},\n\treset: () =>\n\t\tset({\n\t\t\tisOpen: false,\n\t\t\tcurrentStep: 'wallet',\n\t\t\tmanageMode: false,\n\t\t\tisLoading: false,\n\t\t\terror: null,\n\t\t}),\n}));\n",
|
|
157
158
|
"import { useEffect, useCallback, useState, useRef } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport { useOnboardingStore } from '../stores/onboardingStore';\n\nconst isInIframe = typeof window !== 'undefined' && window.self !== window.top;\n\nexport function useAuthStatus() {\n\tconst setAuthStatus = useOnboardingStore((s) => s.setAuthStatus);\n\tconst setOpen = useOnboardingStore((s) => s.setOpen);\n\tconst setLoading = useOnboardingStore((s) => s.setLoading);\n\tconst setError = useOnboardingStore((s) => s.setError);\n\tconst authStatus = useOnboardingStore((s) => s.authStatus);\n\tconst isOpen = useOnboardingStore((s) => s.isOpen);\n\tconst queryClient = useQueryClient();\n\n\tconst [initialized, setInitialized] = useState(false);\n\tconst [oauthPolling, setOauthPolling] = useState(false);\n\tconst oauthPollingRef = useRef<ReturnType<typeof setInterval> | null>(null);\n\tconst preOauthProvidersRef = useRef<Set<string>>(new Set());\n\n\tconst fetchAuthStatus = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst status = await apiClient.getAuthStatus();\n\t\t\tsetAuthStatus(status);\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['config'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['models'] });\n\t\t\treturn status;\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : 'Failed to load';\n\t\t\tsetError(message);\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [setAuthStatus, setLoading, setError, queryClient]);\n\n\tconst checkOnboarding = useCallback(async () => {\n\t\tconst status = await fetchAuthStatus();\n\t\tif (status) {\n\t\t\tconst hasAnyProvider = Object.values(status.providers).some(\n\t\t\t\t(p) => p.configured,\n\t\t\t);\n\t\t\tconst needsOnboarding =\n\t\t\t\t!status.onboardingComplete ||\n\t\t\t\t!hasAnyProvider ||\n\t\t\t\t!status.ottorouter.configured;\n\t\t\tif (needsOnboarding) {\n\t\t\t\tsetOpen(true);\n\t\t\t}\n\t\t}\n\t\tsetInitialized(true);\n\t}, [fetchAuthStatus, setOpen]);\n\n\tconst setupWallet = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst result = await apiClient.setupOttoRouterWallet();\n\t\t\tawait fetchAuthStatus();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : 'Setup failed';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError]);\n\n\tconst importWallet = useCallback(\n\t\tasync (privateKey: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.importOttoRouterWallet(privateKey);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message = err instanceof Error ? err.message : 'Import failed';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst addProvider = useCallback(\n\t\tasync (provider: string, apiKey: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.addProvider(provider, apiKey);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to add provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst addCustomProvider = useCallback(\n\t\tasync (data: {\n\t\t\tid: string;\n\t\t\tlabel: string;\n\t\t\tbaseURL: string;\n\t\t\tapiKey?: string;\n\t\t\tcompatibility:\n\t\t\t\t| 'openai-compatible'\n\t\t\t\t| 'openai'\n\t\t\t\t| 'anthropic'\n\t\t\t\t| 'google'\n\t\t\t\t| 'openrouter'\n\t\t\t\t| 'ollama';\n\t\t\tmodels: string[];\n\t\t\tallowAnyModel: boolean;\n\t\t}) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.updateProviderSettings(data.id, {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\tcustom: true,\n\t\t\t\t\tlabel: data.label,\n\t\t\t\t\tbaseURL: data.baseURL,\n\t\t\t\t\t...(data.apiKey ? { apiKey: data.apiKey } : {}),\n\t\t\t\t\tcompatibility: data.compatibility,\n\t\t\t\t\tmodels: data.models,\n\t\t\t\t\tallowAnyModel: data.allowAnyModel,\n\t\t\t\t});\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to add custom provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst removeProvider = useCallback(\n\t\tasync (provider: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst isCustomProvider =\n\t\t\t\t\tuseOnboardingStore.getState().authStatus?.providers[provider]?.custom;\n\t\t\t\tconst result = isCustomProvider\n\t\t\t\t\t? await apiClient.deleteProviderSettings(provider)\n\t\t\t\t\t: await apiClient.removeProvider(provider);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to remove provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst completeOnboarding = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tawait apiClient.completeOnboarding();\n\t\t\tawait fetchAuthStatus();\n\t\t\tsetOpen(false);\n\t\t} catch (err) {\n\t\t\tconst message =\n\t\t\t\terr instanceof Error ? err.message : 'Failed to complete onboarding';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError, setOpen]);\n\n\tconst snapshotConfiguredProviders = useCallback(() => {\n\t\tconst status = useOnboardingStore.getState().authStatus;\n\t\tif (status) {\n\t\t\tpreOauthProvidersRef.current = new Set(\n\t\t\t\tObject.entries(status.providers)\n\t\t\t\t\t.filter(([, p]) => p.configured)\n\t\t\t\t\t.map(([id]) => id),\n\t\t\t);\n\t\t}\n\t}, []);\n\n\tconst startOAuth = useCallback(\n\t\t(provider: string, mode?: string) => {\n\t\t\tconst url = apiClient.getOAuthStartUrl(provider, mode);\n\t\t\tif (isInIframe) {\n\t\t\t\tsnapshotConfiguredProviders();\n\t\t\t\twindow.parent.postMessage({ type: 'otto-open-url', url }, '*');\n\t\t\t\tsetOauthPolling(true);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst width = 600;\n\t\t\tconst height = 700;\n\t\t\tconst left = window.screenX + (window.outerWidth - width) / 2;\n\t\t\tconst top = window.screenY + (window.outerHeight - height) / 2;\n\t\t\tconst popup = window.open(\n\t\t\t\turl,\n\t\t\t\t'oauth_popup',\n\t\t\t\t`width=${width},height=${height},left=${left},top=${top},toolbar=no,menubar=no`,\n\t\t\t);\n\t\t\treturn popup;\n\t\t},\n\t\t[snapshotConfiguredProviders],\n\t);\n\n\tconst startOAuthManual = useCallback(\n\t\tasync (provider: string, mode?: string) => {\n\t\t\tconst { url, sessionId } = await apiClient.getOAuthUrl(provider, mode);\n\n\t\t\tif (isInIframe) {\n\t\t\t\tsnapshotConfiguredProviders();\n\t\t\t\twindow.parent.postMessage({ type: 'otto-open-url', url }, '*');\n\t\t\t\tsetOauthPolling(true);\n\t\t\t\treturn { popup: null, sessionId };\n\t\t\t}\n\n\t\t\tconst width = 600;\n\t\t\tconst height = 700;\n\t\t\tconst left = window.screenX + (window.outerWidth - width) / 2;\n\t\t\tconst top = window.screenY + (window.outerHeight - height) / 2;\n\t\t\tconst popup = window.open(\n\t\t\t\turl,\n\t\t\t\t'oauth_popup',\n\t\t\t\t`width=${width},height=${height},left=${left},top=${top},toolbar=no,menubar=no`,\n\t\t\t);\n\t\t\treturn { popup, sessionId };\n\t\t},\n\t\t[snapshotConfiguredProviders],\n\t);\n\n\tconst exchangeOAuthCode = useCallback(\n\t\tasync (provider: string, code: string, sessionId: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tawait apiClient.exchangeOAuthCode(provider, code, sessionId);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn true;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to exchange code';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!oauthPolling || !isInIframe) return;\n\t\toauthPollingRef.current = setInterval(() => {\n\t\t\tfetchAuthStatus();\n\t\t}, 3000);\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetOauthPolling(false);\n\t\t}, 300000);\n\t\treturn () => {\n\t\t\tclearInterval(oauthPollingRef.current);\n\t\t\tclearTimeout(timeout);\n\t\t};\n\t}, [oauthPolling, fetchAuthStatus]);\n\n\tuseEffect(() => {\n\t\tif (!oauthPolling || !authStatus) return;\n\t\tconst currentConfigured = Object.entries(authStatus.providers).filter(\n\t\t\t([, p]) => p.configured,\n\t\t);\n\t\tconst hasNewProvider = currentConfigured.some(\n\t\t\t([id]) => !preOauthProvidersRef.current.has(id),\n\t\t);\n\t\tif (hasNewProvider) {\n\t\t\tsetOauthPolling(false);\n\t\t}\n\t}, [authStatus, oauthPolling]);\n\n\tuseEffect(() => {\n\t\tconst handleOAuthMessage = (event: MessageEvent) => {\n\t\t\tif (event.data?.type === 'oauth-success') {\n\t\t\t\tfetchAuthStatus();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('message', handleOAuthMessage);\n\t\treturn () => window.removeEventListener('message', handleOAuthMessage);\n\t}, [fetchAuthStatus]);\n\n\tconst pollCopilotDeviceFlow = useCallback(\n\t\tasync (sessionId: string) => {\n\t\t\tconst result = await apiClient.pollCopilotDeviceFlow(sessionId);\n\t\t\tif (result.status === 'complete') {\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\t[fetchAuthStatus],\n\t);\n\n\tconst saveCopilotToken = useCallback(\n\t\tasync (token: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.saveCopilotToken(token);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to save Copilot token';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst importCopilotTokenFromGh = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst result = await apiClient.importCopilotTokenFromGh();\n\t\t\tawait fetchAuthStatus();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tconst message =\n\t\t\t\terr instanceof Error\n\t\t\t\t\t? err.message\n\t\t\t\t\t: 'Failed to import Copilot token from GH';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError]);\n\n\treturn {\n\t\tauthStatus,\n\t\tisOpen,\n\t\tinitialized,\n\t\tfetchAuthStatus,\n\t\tcheckOnboarding,\n\t\tsetupWallet,\n\t\timportWallet,\n\t\taddProvider,\n\t\taddCustomProvider,\n\t\tremoveProvider,\n\t\tcompleteOnboarding,\n\t\tstartOAuth,\n\t\tstartOAuthManual,\n\t\texchangeOAuthCode,\n\t\tstartCopilotDeviceFlow: apiClient.startCopilotDeviceFlow.bind(apiClient),\n\t\tpollCopilotDeviceFlow,\n\t\tgetCopilotAuthMethods: apiClient.getCopilotAuthMethods.bind(apiClient),\n\t\tsaveCopilotToken,\n\t\timportCopilotTokenFromGh,\n\t\tgetCopilotDiagnostics: apiClient.getCopilotDiagnostics.bind(apiClient),\n\t};\n}\n",
|
|
158
159
|
"import { useEffect, useRef } from 'react';\nimport { useToastStore, toast } from '../stores/toastStore';\nimport { useOttoRouterStore } from '../stores/ottorouterStore';\nimport { apiClient } from '../lib/api-client';\n\nconst STORAGE_KEY = 'pendingPolarCheckout';\n\nexport function useTopupCallback() {\n\tconst hasHandled = useRef(false);\n\tconst loadingToastId = useRef<string | null>(null);\n\tconst setBalance = useOttoRouterStore((s) => s.setBalance);\n\tconst removeToast = useToastStore((s) => s.removeToast);\n\n\tuseEffect(() => {\n\t\tif (hasHandled.current) return;\n\n\t\tconst params = new URLSearchParams(window.location.search);\n\t\tconst topupStatus = params.get('topup');\n\n\t\tconst pendingCheckoutId = localStorage.getItem(STORAGE_KEY);\n\n\t\tif (topupStatus === 'pending' || pendingCheckoutId) {\n\t\t\thasHandled.current = true;\n\n\t\t\tconst url = new URL(window.location.href);\n\t\t\turl.searchParams.delete('topup');\n\t\t\twindow.history.replaceState({}, '', url.toString());\n\n\t\t\tif (!pendingCheckoutId) {\n\t\t\t\ttoast.info('Checking top-up status...');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tloadingToastId.current = toast.loading('Verifying top-up...');\n\n\t\t\tlet attempts = 0;\n\t\t\tconst maxAttempts = 10;\n\t\t\tconst delayMs = 2000;\n\n\t\t\tconst dismissLoading = () => {\n\t\t\t\tif (loadingToastId.current) {\n\t\t\t\t\tremoveToast(loadingToastId.current);\n\t\t\t\t\tloadingToastId.current = null;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst checkStatus = async () => {\n\t\t\t\tattempts++;\n\t\t\t\ttry {\n\t\t\t\t\tconst status = await apiClient.getPolarTopupStatus(pendingCheckoutId);\n\n\t\t\t\t\tif (status?.confirmed) {\n\t\t\t\t\t\tlocalStorage.removeItem(STORAGE_KEY);\n\t\t\t\t\t\tdismissLoading();\n\n\t\t\t\t\t\tconst balanceData = await apiClient.getOttoRouterBalance();\n\t\t\t\t\t\tif (balanceData?.balance !== undefined) {\n\t\t\t\t\t\t\tsetBalance(balanceData.balance);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttoast.success(\n\t\t\t\t\t\t\t`Top-up confirmed! +$${status.amountUsd?.toFixed(2)} credited`,\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (attempts < maxAttempts) {\n\t\t\t\t\t\tsetTimeout(checkStatus, delayMs);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlocalStorage.removeItem(STORAGE_KEY);\n\t\t\t\t\t\tdismissLoading();\n\t\t\t\t\t\ttoast.info(\n\t\t\t\t\t\t\t'Top-up is still processing. Balance will update automatically.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tif (attempts < maxAttempts) {\n\t\t\t\t\t\tsetTimeout(checkStatus, delayMs);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlocalStorage.removeItem(STORAGE_KEY);\n\t\t\t\t\t\tdismissLoading();\n\t\t\t\t\t\ttoast.error('Could not verify top-up. Please check your balance.');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tsetTimeout(checkStatus, 1500);\n\t\t}\n\t}, [setBalance, removeToast]);\n}\n",
|
|
159
|
-
"import { memo } from 'react';\nimport { Settings } from 'lucide-react';\nimport { useSettingsStore } from '../../stores/settingsStore';\n\nexport const SettingsSidebarToggle = memo(function SettingsSidebarToggle() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst toggleSidebar = useSettingsStore((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-
|
|
160
|
-
"import { memo, useState } from 'react';\nimport {\n\tGlobe,\n\
|
|
160
|
+
"import { memo } from 'react';\nimport { Settings } from 'lucide-react';\nimport { useSettingsStore } from '../../stores/settingsStore';\n\nexport const SettingsSidebarToggle = memo(function SettingsSidebarToggle() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst toggleSidebar = useSettingsStore((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-10 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=\"Settings\"\n\t\t>\n\t\t\t<Settings className=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t</button>\n\t);\n});\n",
|
|
161
|
+
"import { memo, useState } from 'react';\nimport {\n\tGlobe,\n\tLoader2,\n\tAlertCircle,\n\tCopy,\n\tCheck,\n\tExternalLink,\n\tClock,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { SidebarHeader } from '../ui/SidebarHeader';\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<SidebarHeader\n\t\t\t\ticon={<Globe className=\"size-[15px]\" />}\n\t\t\t\ttitle=\"Remote Access\"\n\t\t\t\tonClose={collapseSidebar}\n\t\t\t/>\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
162
|
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useEffect, useCallback, useRef } from 'react';\nimport {\n\tclient,\n\tgetTunnelQr,\n\tgetTunnelStatus,\n\tstartTunnel as apiStartTunnel,\n\tstopTunnel as apiStopTunnel,\n} from '@ottocode/api';\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 getTunnelStatus();\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as TunnelStatusResponse;\n}\n\nasync function startTunnel(): Promise<TunnelStartResponse> {\n\t// Server uses its own port automatically - no need to pass it\n\tconst response = await apiStartTunnel({\n\t\tbody: {},\n\t});\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as TunnelStartResponse;\n}\n\nasync function stopTunnel(): Promise<{\n\tok: boolean;\n\tmessage?: string;\n\terror?: string;\n}> {\n\tconst response = await apiStopTunnel();\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as { ok: boolean; message?: string; error?: string };\n}\n\nasync function fetchTunnelQr(): Promise<TunnelQrResponse> {\n\tconst response = await getTunnelQr();\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as TunnelQrResponse;\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(\n\t\t\tclient.buildUrl({ baseURL: API_BASE_URL, url: '/v1/tunnel/stream' }),\n\t\t);\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
|
-
"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-
|
|
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",
|
|
163
|
+
"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-10 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=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t\t{isConnected && (\n\t\t\t\t<span className=\"absolute top-1.5 right-1.5 w-2 h-2 bg-green-500 rounded-full animate-pulse\" />\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
|
|
164
|
+
"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 { SidebarHeader } from '../ui/SidebarHeader';\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<SidebarHeader\n\t\t\t\ticon={<Plug className=\"size-[15px]\" />}\n\t\t\t\ttitle={\n\t\t\t\t\t<>\n\t\t\t\t\t\tMCP Servers\n\t\t\t\t\t\t{connectedCount > 0 && (\n\t\t\t\t\t\t\t<span className=\"ml-2 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\t{connectedCount} active\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tonClose={collapseSidebar}\n\t\t\t>\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={() => setIsAddModalOpen(true)}\n\t\t\t\t\ttitle=\"Add MCP server\"\n\t\t\t\t\tclassName=\"h-7 w-7\"\n\t\t\t\t>\n\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t</SidebarHeader>\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
165
|
"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
166
|
"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
167
|
"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",
|
|
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-
|
|
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",
|
|
168
|
+
"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-10 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=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t\t{connectedCount > 0 && (\n\t\t\t\t<span className=\"absolute top-1.5 right-1.5 w-2 h-2 bg-green-500 rounded-full\" />\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
|
|
169
|
+
"import { memo, useMemo } from 'react';\nimport {\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 { SidebarHeader } from '../ui/SidebarHeader';\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<SidebarHeader\n\t\t\t\ticon={<Sparkles className=\"size-[15px]\" />}\n\t\t\t\ttitle=\"Skills\"\n\t\t\t\tonClose={collapseSidebar}\n\t\t\t>\n\t\t\t\t<ToggleSwitch\n\t\t\t\t\tchecked={globalEnabled}\n\t\t\t\t\tloading={updateSkillsConfig.isPending}\n\t\t\t\t\tonChange={() =>\n\t\t\t\t\t\tupdateSkillsConfig.mutate({ enabled: !globalEnabled })\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</SidebarHeader>\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-9 px-3 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
170
|
"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",
|
|
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-
|
|
171
|
+
"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-10 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=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t</button>\n\t);\n});\n",
|
|
171
172
|
"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",
|
|
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\tvendor={item.vendor}\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\tvendor,\n}: {\n\tname: string;\n\tpath: string;\n\ttype: 'file' | 'directory';\n\tgitignored?: boolean;\n\tvendor?: 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 || vendor ? '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<
|
|
173
|
-
"import { memo } from 'react';\nimport { FolderTree } from 'lucide-react';\nimport { useFileBrowserStore } from '../../stores/fileBrowserStore';\n\nexport const FileBrowserSidebarToggle = memo(\n\tfunction FileBrowserSidebarToggle() {\n\t\tconst isExpanded = useFileBrowserStore((s) => s.isExpanded);\n\t\tconst toggleSidebar = useFileBrowserStore((s) => s.toggleSidebar);\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={toggleSidebar}\n\t\t\t\tclassName={`relative h-
|
|
173
|
+
"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';\nimport { SidebarHeader } from '../ui/SidebarHeader';\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\tvendor={item.vendor}\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\tvendor,\n}: {\n\tname: string;\n\tpath: string;\n\ttype: 'file' | 'directory';\n\tgitignored?: boolean;\n\tvendor?: 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 || vendor ? '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<SidebarHeader\n\t\t\t\t\ticon={<FolderTree className=\"size-[15px]\" />}\n\t\t\t\t\ttitle=\"Files\"\n\t\t\t\t\tonClose={collapseSidebar}\n\t\t\t\t/>\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\tvendor={item.vendor}\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-9 px-3 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",
|
|
174
|
+
"import { memo } from 'react';\nimport { FolderTree } from 'lucide-react';\nimport { useFileBrowserStore } from '../../stores/fileBrowserStore';\n\nexport const FileBrowserSidebarToggle = memo(\n\tfunction FileBrowserSidebarToggle() {\n\t\tconst isExpanded = useFileBrowserStore((s) => s.isExpanded);\n\t\tconst toggleSidebar = useFileBrowserStore((s) => s.toggleSidebar);\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={toggleSidebar}\n\t\t\t\tclassName={`relative h-10 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\t\tisExpanded\n\t\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t\t}`}\n\t\t\t\ttitle=\"Files\"\n\t\t\t>\n\t\t\t\t<FolderTree className=\"size-[18px] text-muted-foreground mx-auto\" />\n\t\t\t</button>\n\t\t);\n\t},\n);\n",
|
|
174
175
|
"import { memo, useEffect, type ComponentPropsWithoutRef } from 'react';\nimport { X } from 'lucide-react';\nimport ReactMarkdown from 'react-markdown';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n\tprism,\n\tvscDarkPlus,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport remarkGfm from 'remark-gfm';\nimport { useFileBrowserStore } from '../../stores/fileBrowserStore';\nimport { useFileContent } from '../../hooks/useFileBrowser';\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\tmarkdown: 'markdown',\n\tmdx: 'markdown',\n\ttxt: 'plaintext',\n\tsvelte: 'svelte',\n\ttoml: 'toml',\n\tlock: 'plaintext',\n};\n\nfunction getFileExtension(path: string): string {\n\treturn path.split('.').pop()?.toLowerCase() ?? '';\n}\n\nfunction inferLanguage(path: string): string {\n\tconst ext = getFileExtension(path);\n\treturn LANGUAGE_MAP[ext] ?? 'plaintext';\n}\n\nfunction isMarkdownFile(path: string): boolean {\n\tconst ext = getFileExtension(path);\n\treturn ext === 'md' || ext === 'markdown' || ext === 'mdx';\n}\n\nexport const FileViewerPanel = memo(function FileViewerPanel() {\n\tconst isViewerOpen = useFileBrowserStore((s) => s.isViewerOpen);\n\tconst selectedFile = useFileBrowserStore((s) => s.selectedFile);\n\tconst closeViewer = useFileBrowserStore((s) => s.closeViewer);\n\n\tconst { data, isLoading } = useFileContent(selectedFile);\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 || !selectedFile) return null;\n\n\tconst syntaxTheme = document?.documentElement.classList.contains('dark')\n\t\t? vscDarkPlus\n\t\t: prism;\n\tconst language = inferLanguage(selectedFile);\n\tconst renderMarkdown = isMarkdownFile(selectedFile);\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 file 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\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{data && (\n\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground flex-shrink-0\">\n\t\t\t\t\t\t\t{data.lineCount} lines\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<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 file...\n\t\t\t\t\t</div>\n\t\t\t\t) : data ? (\n\t\t\t\t\trenderMarkdown ? (\n\t\t\t\t\t\t<div className=\"p-4 text-sm text-foreground leading-6 markdown-content max-w-full overflow-x-auto\">\n\t\t\t\t\t\t\t<ReactMarkdown\n\t\t\t\t\t\t\t\tremarkPlugins={[remarkGfm]}\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\ta: ({\n\t\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'a'>) => (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={href}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (window.self !== window.top && href) {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\twindow.parent.postMessage(\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\ttype: 'otto-open-url',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\turl: href,\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'*',\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{...props}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttable: ({\n\t\t\t\t\t\t\t\t\t\tchildren,\n\t\t\t\t\t\t\t\t\t\t...props\n\t\t\t\t\t\t\t\t\t}: ComponentPropsWithoutRef<'table'>) => (\n\t\t\t\t\t\t\t\t\t\t<div className=\"overflow-x-auto max-w-full min-w-0 my-3\">\n\t\t\t\t\t\t\t\t\t\t\t<table {...props}>{children}</table>\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>\n\t\t\t\t\t\t\t\t{data.content}\n\t\t\t\t\t\t\t</ReactMarkdown>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"code-with-line-numbers\">\n\t\t\t\t\t\t\t<SyntaxHighlighter\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tstyle={syntaxTheme}\n\t\t\t\t\t\t\t\twrapLines\n\t\t\t\t\t\t\t\twrapLongLines\n\t\t\t\t\t\t\t\tlineProps={() => ({\n\t\t\t\t\t\t\t\t\tclassName: 'code-line',\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tcustomStyle={{\n\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\tpadding: '1rem',\n\t\t\t\t\t\t\t\t\tbackground: 'transparent',\n\t\t\t\t\t\t\t\t\tfontSize: '0.75rem',\n\t\t\t\t\t\t\t\t\tlineHeight: '1.25rem',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcodeTagProps={{\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tflex: 1,\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>\n\t\t\t\t\t\t\t\t{data.content}\n\t\t\t\t\t\t\t</SyntaxHighlighter>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\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",
|
|
175
176
|
"import { memo, useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport { FileCode, Search } from 'lucide-react';\nimport { useFilePickerStore } from '../../stores/filePickerStore';\nimport { useFileBrowserStore } from '../../stores/fileBrowserStore';\nimport { useFiles } from '../../hooks/useFiles';\n\nfunction fuzzyMatch(\n\tquery: string,\n\ttarget: string,\n): { match: boolean; score: number } {\n\tconst q = query.toLowerCase();\n\tconst t = target.toLowerCase();\n\n\tif (q.length === 0) return { match: true, score: 0 };\n\tif (t.includes(q)) return { match: true, score: 100 - t.indexOf(q) };\n\n\tlet qi = 0;\n\tlet score = 0;\n\tlet lastMatchIdx = -1;\n\n\tfor (let ti = 0; ti < t.length && qi < q.length; ti++) {\n\t\tif (t[ti] === q[qi]) {\n\t\t\tscore += 10;\n\t\t\tif (lastMatchIdx === ti - 1) score += 5;\n\t\t\tif (ti === 0 || t[ti - 1] === '/' || t[ti - 1] === '.') score += 8;\n\t\t\tlastMatchIdx = ti;\n\t\t\tqi++;\n\t\t}\n\t}\n\n\treturn { match: qi === q.length, score };\n}\n\nexport const QuickFilePicker = memo(function QuickFilePicker() {\n\tconst isOpen = useFilePickerStore((s) => s.isOpen);\n\tconst close = useFilePickerStore((s) => s.close);\n\tconst openFile = useFileBrowserStore((s) => s.openFile);\n\tconst expandSidebar = useFileBrowserStore((s) => s.expandSidebar);\n\n\tconst [query, setQuery] = useState('');\n\tconst [selectedIndex, setSelectedIndex] = useState(0);\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst listRef = useRef<HTMLDivElement>(null);\n\n\tconst { data: filesData } = useFiles({ enabled: isOpen, query });\n\n\tconst ignoredSet = useMemo(\n\t\t() => new Set(filesData?.ignoredFiles ?? []),\n\t\t[filesData?.ignoredFiles],\n\t);\n\n\tconst filtered = useMemo(() => {\n\t\tif (!filesData?.files) return [];\n\t\tif (!query) return filesData.files.slice(0, 50);\n\n\t\tconst results = filesData.files\n\t\t\t.map((file) => ({ file, ...fuzzyMatch(query, file) }))\n\t\t\t.filter((r) => r.match)\n\t\t\t.sort((a, b) => b.score - a.score)\n\t\t\t.slice(0, 50);\n\n\t\treturn results.map((r) => r.file);\n\t}, [filesData?.files, query]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetQuery('');\n\t\t\tsetSelectedIndex(0);\n\t\t\tsetTimeout(() => inputRef.current?.focus(), 0);\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tconst item = listRef.current?.children[selectedIndex] as\n\t\t\t| HTMLElement\n\t\t\t| undefined;\n\t\titem?.scrollIntoView({ block: 'nearest' });\n\t}, [selectedIndex]);\n\n\tconst handleSelect = useCallback(\n\t\t(file: string) => {\n\t\t\texpandSidebar();\n\t\t\topenFile(file);\n\t\t\tclose();\n\t\t},\n\t\t[expandSidebar, openFile, close],\n\t);\n\n\tconst handleKeyDown = useCallback(\n\t\t(e: React.KeyboardEvent) => {\n\t\t\tif (e.key === 'ArrowDown' || (e.ctrlKey && e.key === 'j')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetSelectedIndex((i) => Math.min(i + 1, filtered.length - 1));\n\t\t\t} else if (e.key === 'ArrowUp' || (e.ctrlKey && e.key === 'k')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetSelectedIndex((i) => Math.max(i - 1, 0));\n\t\t\t} else if (e.key === 'Enter' && filtered[selectedIndex]) {\n\t\t\t\te.preventDefault();\n\t\t\t\thandleSelect(filtered[selectedIndex]);\n\t\t\t} else if (e.key === 'Escape') {\n\t\t\t\te.preventDefault();\n\t\t\t\tclose();\n\t\t\t}\n\t\t},\n\t\t[filtered, selectedIndex, handleSelect, close],\n\t);\n\n\tconst handleBackdropClick = useCallback(\n\t\t(e: React.MouseEvent) => {\n\t\t\tif (e.target === e.currentTarget) close();\n\t\t},\n\t\t[close],\n\t);\n\n\tif (!isOpen) return null;\n\n\treturn (\n\t\t<div\n\t\t\trole=\"dialog\"\n\t\t\taria-modal=\"true\"\n\t\t\tclassName=\"fixed inset-0 bg-black/50 flex items-start justify-center z-[60] pt-[15vh]\"\n\t\t\tonClick={handleBackdropClick}\n\t\t\tonKeyDown={(e) => {\n\t\t\t\tif (e.key === 'Escape') close();\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"bg-background border border-border rounded-lg shadow-2xl w-full max-w-lg overflow-hidden\">\n\t\t\t\t<div className=\"flex items-center gap-2 px-3 border-b border-border\">\n\t\t\t\t\t<Search className=\"w-4 h-4 text-muted-foreground flex-shrink-0\" />\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={query}\n\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\tsetQuery(e.target.value);\n\t\t\t\t\t\t\tsetSelectedIndex(0);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\tplaceholder=\"Search files by name...\"\n\t\t\t\t\t\tclassName=\"flex-1 bg-transparent py-3 text-sm text-foreground placeholder-muted-foreground outline-none\"\n\t\t\t\t\t/>\n\t\t\t\t\t<kbd className=\"text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded border border-border font-mono\">\n\t\t\t\t\t\tESC\n\t\t\t\t\t</kbd>\n\t\t\t\t</div>\n\n\t\t\t\t<div ref={listRef} className=\"max-h-[40vh] overflow-y-auto\">\n\t\t\t\t\t{filtered.length === 0 ? (\n\t\t\t\t\t\t<div className=\"px-4 py-8 text-center text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t{query ? 'No matching files' : 'No files found'}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tfiltered.map((file, idx) => {\n\t\t\t\t\t\t\tconst isIgnored = ignoredSet.has(file);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tkey={file}\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => handleSelect(file)}\n\t\t\t\t\t\t\t\t\tclassName={`w-full text-left flex items-center gap-2 px-3 py-2 text-sm transition-colors ${\n\t\t\t\t\t\t\t\t\t\tidx === selectedIndex\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-accent text-accent-foreground'\n\t\t\t\t\t\t\t\t\t\t\t: 'text-foreground/80 hover:bg-muted/50'\n\t\t\t\t\t\t\t\t\t} ${isIgnored ? 'opacity-40' : ''}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\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\t\t\t\t<HighlightedPath path={file} query={query} />\n\t\t\t\t\t\t\t\t\t{isIgnored && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"ml-auto text-[10px] text-muted-foreground italic\">\n\t\t\t\t\t\t\t\t\t\t\tignored\n\t\t\t\t\t\t\t\t\t\t</span>\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);\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{filtered.length > 0 && (\n\t\t\t\t\t<div className=\"px-3 py-2 border-t border-border text-xs text-muted-foreground flex items-center gap-3\">\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<kbd className=\"bg-muted px-1 py-0.5 rounded border border-border font-mono\">\n\t\t\t\t\t\t\t\t↑↓\n\t\t\t\t\t\t\t</kbd>{' '}\n\t\t\t\t\t\t\tnavigate\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<kbd className=\"bg-muted px-1 py-0.5 rounded border border-border font-mono\">\n\t\t\t\t\t\t\t\t↵\n\t\t\t\t\t\t\t</kbd>{' '}\n\t\t\t\t\t\t\topen\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"ml-auto\">{filtered.length} files</span>\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\nfunction HighlightedPath({ path, query }: { path: string; query: string }) {\n\tif (!query) {\n\t\treturn <span className=\"truncate font-mono text-xs\">{path}</span>;\n\t}\n\n\tconst lowerPath = path.toLowerCase();\n\tconst lowerQuery = query.toLowerCase();\n\tconst idx = lowerPath.indexOf(lowerQuery);\n\n\tif (idx >= 0) {\n\t\treturn (\n\t\t\t<span className=\"truncate font-mono text-xs\">\n\t\t\t\t{path.slice(0, idx)}\n\t\t\t\t<span className=\"text-primary font-semibold\">\n\t\t\t\t\t{path.slice(idx, idx + query.length)}\n\t\t\t\t</span>\n\t\t\t\t{path.slice(idx + query.length)}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn <span className=\"truncate font-mono text-xs\">{path}</span>;\n}\n",
|
|
176
177
|
"import { create } from 'zustand';\n\ninterface FilePickerState {\n\tisOpen: boolean;\n\topen: () => void;\n\tclose: () => void;\n\ttoggle: () => void;\n}\n\nexport const useFilePickerStore = create<FilePickerState>((set) => ({\n\tisOpen: false,\n\topen: () => set({ isOpen: true }),\n\tclose: () => set({ isOpen: false }),\n\ttoggle: () => set((state) => ({ isOpen: !state.isOpen })),\n}));\n",
|
|
@@ -183,7 +184,7 @@
|
|
|
183
184
|
"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",
|
|
184
185
|
"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"
|
|
185
186
|
],
|
|
186
|
-
"mappings": "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",
|
|
187
|
-
"debugId": "
|
|
187
|
+
"mappings": "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",
|
|
188
|
+
"debugId": "A0D9DB2AD6889D8964756E2164756E21",
|
|
188
189
|
"names": []
|
|
189
190
|
}
|