@ottocode/web-sdk 0.1.248 → 0.1.250

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.
Files changed (32) hide show
  1. package/dist/components/chat/ChatInput.d.ts +1 -0
  2. package/dist/components/chat/ChatInput.d.ts.map +1 -1
  3. package/dist/components/chat/ChatInputContainer.d.ts.map +1 -1
  4. package/dist/components/chat/NewSessionLanding.d.ts.map +1 -1
  5. package/dist/components/chat/UnifiedModelSelector.d.ts.map +1 -1
  6. package/dist/components/index.js +573 -84
  7. package/dist/components/index.js.map +13 -13
  8. package/dist/components/onboarding/OnboardingModal.d.ts.map +1 -1
  9. package/dist/components/onboarding/steps/ProviderSetupStep.d.ts +10 -0
  10. package/dist/components/onboarding/steps/ProviderSetupStep.d.ts.map +1 -1
  11. package/dist/hooks/index.js +64 -3
  12. package/dist/hooks/index.js.map +7 -7
  13. package/dist/hooks/useAuthStatus.d.ts +13 -0
  14. package/dist/hooks/useAuthStatus.d.ts.map +1 -1
  15. package/dist/hooks/useConfig.d.ts +2 -0
  16. package/dist/hooks/useConfig.d.ts.map +1 -1
  17. package/dist/index.js +573 -84
  18. package/dist/index.js.map +13 -13
  19. package/dist/lib/api-client/auth.d.ts +1 -0
  20. package/dist/lib/api-client/auth.d.ts.map +1 -1
  21. package/dist/lib/api-client/config.d.ts +42 -0
  22. package/dist/lib/api-client/config.d.ts.map +1 -1
  23. package/dist/lib/api-client/index.d.ts +31 -0
  24. package/dist/lib/api-client/index.d.ts.map +1 -1
  25. package/dist/lib/index.js +36 -2
  26. package/dist/lib/index.js.map +5 -5
  27. package/dist/stores/index.js.map +2 -2
  28. package/dist/stores/onboardingStore.d.ts +1 -0
  29. package/dist/stores/onboardingStore.d.ts.map +1 -1
  30. package/dist/types/api.d.ts +2 -0
  31. package/dist/types/api.d.ts.map +1 -1
  32. package/package.json +3 -3
@@ -15,7 +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 {\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\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\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 { data: filesData, isLoading: filesLoading } = useFiles();\n\t\tconst { preferences, updatePreferences } = usePreferences();\n\t\tconst { data: configData } = useConfig();\n\t\tconst updateDefaultsMutation = useUpdateDefaults();\n\t\tconst files = filesData?.files || [];\n\t\tconst changedFiles = filesData?.changedFiles || [];\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 {\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{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",
18
+ "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 { data: filesData, isLoading: filesLoading } = useFiles();\n\t\tconst { preferences, updatePreferences } = usePreferences();\n\t\tconst { data: configData } = useConfig();\n\t\tconst updateDefaultsMutation = useUpdateDefaults();\n\t\tconst files = filesData?.files || [];\n\t\tconst changedFiles = filesData?.changedFiles || [];\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 {\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
19
  "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
20
  "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",
21
21
  "import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\n\ntype ConfigData = Awaited<ReturnType<typeof apiClient.getConfig>>;\n\nexport function useConfig() {\n\treturn useQuery({\n\t\tqueryKey: ['config'],\n\t\tqueryFn: () => apiClient.getConfig(),\n\t\tstaleTime: 30000,\n\t});\n}\n\nexport function useModels(provider?: string) {\n\treturn useQuery({\n\t\tqueryKey: ['models', provider],\n\t\tqueryFn: () => (provider ? apiClient.getModels(provider) : null),\n\t\tenabled: !!provider,\n\t});\n}\n\nexport function useAllModels() {\n\treturn useQuery({\n\t\tqueryKey: ['models', 'all'],\n\t\tqueryFn: () => apiClient.getAllModels(),\n\t});\n}\n\nexport function useUpdateDefaults() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: {\n\t\t\tagent?: string;\n\t\t\tprovider?: string;\n\t\t\tmodel?: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t\tscope?: 'global' | 'local';\n\t\t}) => apiClient.updateDefaults(data),\n\t\tonMutate: async (data) => {\n\t\t\tawait queryClient.cancelQueries({ queryKey: ['config'] });\n\n\t\t\tconst previousConfig = queryClient.getQueryData<ConfigData>(['config']);\n\t\t\tif (previousConfig) {\n\t\t\t\tconst defaultUpdates = Object.fromEntries(\n\t\t\t\t\tObject.entries(data).filter(\n\t\t\t\t\t\t([key, value]) => key !== 'scope' && value !== undefined,\n\t\t\t\t\t),\n\t\t\t\t) as Partial<ConfigData['defaults']>;\n\n\t\t\t\tqueryClient.setQueryData<ConfigData>(['config'], {\n\t\t\t\t\t...previousConfig,\n\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t...previousConfig.defaults,\n\t\t\t\t\t\t...defaultUpdates,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn { previousConfig };\n\t\t},\n\t\tonError: (_error, _data, context) => {\n\t\t\tif (context?.previousConfig) {\n\t\t\t\tqueryClient.setQueryData(['config'], context.previousConfig);\n\t\t\t}\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['config'] });\n\t\t},\n\t});\n}\n",
@@ -23,14 +23,14 @@
23
23
  "import { client } from '@ottocode/api';\nimport type {\n\tSession as ApiSession,\n\tMessage as ApiMessage,\n} from '@ottocode/api';\nimport { API_BASE_URL } from '../config';\nimport type { Session, Message } from '../../types/api';\n\ninterface WindowWithAgiServerUrl extends Window {\n\tOTTO_SERVER_URL?: string;\n}\n\nfunction getClientAdapter(): 'fetch' | undefined {\n\tif (typeof window !== 'undefined' && typeof window.fetch === 'function') {\n\t\treturn 'fetch';\n\t}\n\treturn undefined;\n}\n\nexport function extractErrorMessage(error: unknown): string {\n\tif (!error) return 'Unknown error';\n\tif (typeof error === 'string') return error;\n\tif (error && typeof error === 'object') {\n\t\tconst errObj = error as Record<string, unknown>;\n\t\tif (errObj.error && typeof errObj.error === 'object') {\n\t\t\tconst innerError = errObj.error as Record<string, unknown>;\n\t\t\tif (typeof innerError.message === 'string') return innerError.message;\n\t\t}\n\t\tif (typeof errObj.error === 'string') return errObj.error;\n\t\tif (typeof errObj.message === 'string') return errObj.message;\n\t\ttry {\n\t\t\treturn JSON.stringify(error);\n\t\t} catch {\n\t\t\treturn 'Error occurred (unable to parse)';\n\t\t}\n\t}\n\treturn 'Unknown error';\n}\n\nexport function configureApiClient() {\n\tconst win = window as WindowWithAgiServerUrl;\n\tconst baseURL = win.OTTO_SERVER_URL || API_BASE_URL;\n\tclient.setConfig({\n\t\tbaseURL,\n\t\tadapter: getClientAdapter(),\n\t});\n}\n\nconfigureApiClient();\n\nexport function getBaseUrl(): string {\n\tconst win = window as WindowWithAgiServerUrl;\n\tif (win.OTTO_SERVER_URL) return win.OTTO_SERVER_URL;\n\treturn API_BASE_URL;\n}\n\nexport function convertSession(apiSession: ApiSession): Session {\n\treturn {\n\t\t...apiSession,\n\t\ttitle: apiSession.title ?? null,\n\t\tcreatedAt:\n\t\t\ttypeof apiSession.createdAt === 'string'\n\t\t\t\t? new Date(apiSession.createdAt).getTime()\n\t\t\t\t: apiSession.createdAt,\n\t\tlastActiveAt:\n\t\t\ttypeof apiSession.lastActiveAt === 'string'\n\t\t\t\t? new Date(apiSession.lastActiveAt).getTime()\n\t\t\t\t: apiSession.lastActiveAt,\n\t} as Session;\n}\n\nexport function convertMessage(apiMessage: ApiMessage): Message {\n\treturn {\n\t\t...apiMessage,\n\t\tcreatedAt:\n\t\t\ttypeof apiMessage.createdAt === 'string'\n\t\t\t\t? new Date(apiMessage.createdAt).getTime()\n\t\t\t\t: apiMessage.createdAt,\n\t\tcompletedAt: apiMessage.completedAt\n\t\t\t? typeof apiMessage.completedAt === 'string'\n\t\t\t\t? new Date(apiMessage.completedAt).getTime()\n\t\t\t\t: apiMessage.completedAt\n\t\t\t: null,\n\t} as Message;\n}\n",
24
24
  "// Extend Window interface to include custom properties\ninterface OttoWindow extends Window {\n\t__OTTO_API_URL__?: string;\n\tOTTO_SERVER_URL?: string;\n}\n\n// This function will execute at runtime in the browser\nfunction computeApiBaseUrl(): string {\n\t// Check Vite env var first (for dev mode)\n\tconst envUrl = import.meta.env?.VITE_API_BASE_URL;\n\tif (envUrl) {\n\t\treturn envUrl;\n\t}\n\n\t// Check window object for injected values (for production)\n\tif (typeof window !== 'undefined') {\n\t\tconst win = window as OttoWindow;\n\t\tif (win.OTTO_SERVER_URL) {\n\t\t\treturn win.OTTO_SERVER_URL;\n\t\t}\n\t\tif (win.__OTTO_API_URL__) {\n\t\t\treturn win.__OTTO_API_URL__;\n\t\t}\n\t}\n\n\t// Fallback for standalone dev\n\treturn 'http://localhost:9100';\n}\n\nexport function getRuntimeApiBaseUrl(): string {\n\treturn computeApiBaseUrl();\n}\n\nexport const API_BASE_URL = computeApiBaseUrl();\n\nexport const config = {\n\tapiBaseUrl: API_BASE_URL,\n};\n",
25
25
  "import {\n\tgetGitStatus as apiGetGitStatus,\n\tgetGitDiff as apiGetGitDiff,\n\tgetGitBranch as apiGetGitBranch,\n\tstageFiles as apiStageFiles,\n\tunstageFiles as apiUnstageFiles,\n\trestoreFiles as apiRestoreFiles,\n\tdeleteFiles as apiDeleteFiles,\n\tcommitChanges as apiCommitChanges,\n\tgenerateCommitMessage as apiGenerateCommitMessage,\n\tpushCommits as apiPushCommits,\n\tpullChanges as apiPullChanges,\n\tinitGitRepo as apiInitGitRepo,\n\tgetGitRemotes as apiGetGitRemotes,\n\taddGitRemote as apiAddGitRemote,\n\tremoveGitRemote as apiRemoveGitRemote,\n} from '@ottocode/api';\nimport type {\n\tGitStatusResponse,\n\tGitDiffResponse,\n\tGitStageResponse,\n\tGitUnstageResponse,\n\tGitCommitResponse,\n\tGitGenerateCommitMessageResponse,\n\tGitBranchInfo,\n\tGitPushResponse,\n\tGitPullResponse,\n\tGitRemoteInfo,\n} from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const gitMixin = {\n\tasync initGitRepo(): Promise<{ initialized: boolean; path: string }> {\n\t\tconst response = await apiInitGitRepo();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data;\n\t},\n\n\tasync getGitStatus(): Promise<GitStatusResponse> {\n\t\tconst response = await apiGetGitStatus();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitStatusResponse;\n\t},\n\n\tasync getGitDiff(\n\t\tfile: string,\n\t\tstaged: boolean = false,\n\t): Promise<GitDiffResponse> {\n\t\tconst response = await apiGetGitDiff({\n\t\t\tquery: { file, staged: staged ? 'true' : 'false' },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitDiffResponse;\n\t},\n\n\tasync getGitDiffFullFile(\n\t\tfile: string,\n\t\tstaged = false,\n\t): Promise<GitDiffResponse> {\n\t\tconst response = await apiGetGitDiff({\n\t\t\tquery: {\n\t\t\t\tfile,\n\t\t\t\tstaged: staged ? 'true' : 'false',\n\t\t\t\tfullFile: 'true',\n\t\t\t},\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitDiffResponse;\n\t},\n\n\tasync generateCommitMessage(\n\t\tsessionId?: string,\n\t): Promise<GitGenerateCommitMessageResponse> {\n\t\tconst response = await apiGenerateCommitMessage({\n\t\t\tbody: sessionId ? { sessionId } : {},\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitGenerateCommitMessageResponse;\n\t},\n\n\tasync stageFiles(files: string[]): Promise<GitStageResponse> {\n\t\tconst response = await apiStageFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitStageResponse;\n\t},\n\n\tasync unstageFiles(files: string[]): Promise<GitUnstageResponse> {\n\t\tconst response = await apiUnstageFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitUnstageResponse;\n\t},\n\n\tasync restoreFiles(files: string[]): Promise<{ restored: string[] }> {\n\t\tconst response = await apiRestoreFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { restored: string[] };\n\t},\n\n\tasync deleteFiles(files: string[]): Promise<{ deleted: string[] }> {\n\t\tconst response = await apiDeleteFiles({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { files } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { deleted: string[] };\n\t},\n\n\tasync commitChanges(message: string): Promise<GitCommitResponse> {\n\t\tconst response = await apiCommitChanges({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { message } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitCommitResponse;\n\t},\n\n\tasync getGitBranch(): Promise<GitBranchInfo> {\n\t\tconst response = await apiGetGitBranch();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitBranchInfo;\n\t},\n\n\tasync pushCommits(): Promise<GitPushResponse> {\n\t\tconst response = await apiPushCommits({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: {} as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitPushResponse;\n\t},\n\n\tasync pullChanges(): Promise<GitPullResponse> {\n\t\tconst response = await apiPullChanges({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: {} as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as GitPullResponse;\n\t},\n\n\tasync getRemotes(): Promise<GitRemoteInfo[]> {\n\t\tconst response = await apiGetGitRemotes();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data?.remotes as GitRemoteInfo[];\n\t},\n\n\tasync addRemote(\n\t\tname: string,\n\t\turl: string,\n\t): Promise<{ name: string; url: string }> {\n\t\tconst response = await apiAddGitRemote({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { name, url } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { name: string; url: string };\n\t},\n\n\tasync removeRemote(name: string): Promise<{ removed: string }> {\n\t\tconst response = await apiRemoveGitRemote({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { name } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn (response.data as any)?.data as { removed: string };\n\t},\n};\n",
26
- "import {\n\tgetConfig as apiGetConfig,\n\tgetProviderModels as apiGetProviderModels,\n\tgetAllModels as apiGetAllModels,\n\tupdateDefaults as apiUpdateDefaults,\n} from '@ottocode/api';\nimport type { AllModelsResponse } from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const configMixin = {\n\tasync getConfig(): Promise<{\n\t\tagents: string[];\n\t\tproviders: string[];\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiGetConfig();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getModels(providerId: string): Promise<{\n\t\tmodels: Array<{\n\t\t\tid: string;\n\t\t\tlabel: string;\n\t\t\ttoolCall?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\tvision?: boolean;\n\t\t\tattachment?: boolean;\n\t\t\tfree?: boolean;\n\t\t\tavailable?: boolean;\n\t\t\tunavailableReason?: string;\n\t\t}>;\n\t\tdefault: string;\n\t\tallowAnyModel?: boolean;\n\t\tdynamicModels?: boolean;\n\t\tlabel?: string;\n\t}> {\n\t\tconst response = await apiGetProviderModels({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tpath: { provider: providerId as any },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getAllModels(): Promise<AllModelsResponse> {\n\t\tconst response = await apiGetAllModels();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as AllModelsResponse;\n\t},\n\n\tasync updateDefaults(data: {\n\t\tagent?: string;\n\t\tprovider?: string;\n\t\tmodel?: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\tguidedMode?: boolean;\n\t\treasoningText?: boolean;\n\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\tfullWidthContent?: boolean;\n\t\tautoCompactThresholdTokens?: number | null;\n\t\tscope?: 'global' | 'local';\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiUpdateDefaults({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
26
+ "import {\n\tgetConfig as apiGetConfig,\n\tgetProviderModels as apiGetProviderModels,\n\tgetAllModels as apiGetAllModels,\n\tupdateDefaults as apiUpdateDefaults,\n\tupdateProviderSettings as apiUpdateProviderSettings,\n\tdeleteProviderSettings as apiDeleteProviderSettings,\n} from '@ottocode/api';\nimport type { AllModelsResponse } from '../../types/api';\nimport { extractErrorMessage, getBaseUrl } from './utils';\n\ntype ProviderCompatibility =\n\t| 'openai'\n\t| 'anthropic'\n\t| 'google'\n\t| 'openrouter'\n\t| 'ollama'\n\t| 'openai-compatible';\n\nexport type DiscoveredProviderModel = {\n\tid: string;\n\tlabel: string;\n\ttoolCall?: boolean;\n\treasoningText?: boolean;\n\tvision?: boolean;\n\tattachment?: boolean;\n\tcontextWindow?: number;\n\tmaxOutputTokens?: number;\n};\n\nexport const configMixin = {\n\tasync getConfig(): Promise<{\n\t\tagents: string[];\n\t\tproviders: string[];\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiGetConfig();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getModels(providerId: string): Promise<{\n\t\tmodels: Array<{\n\t\t\tid: string;\n\t\t\tlabel: string;\n\t\t\ttoolCall?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\tvision?: boolean;\n\t\t\tattachment?: boolean;\n\t\t\tfree?: boolean;\n\t\t\tcontextWindow?: number;\n\t\t\tmaxOutputTokens?: number;\n\t\t\tavailable?: boolean;\n\t\t\tunavailableReason?: string;\n\t\t}>;\n\t\tdefault: string;\n\t\tallowAnyModel?: boolean;\n\t\tdynamicModels?: boolean;\n\t\tlabel?: string;\n\t}> {\n\t\tconst response = await apiGetProviderModels({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tpath: { provider: providerId as any },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getAllModels(): Promise<AllModelsResponse> {\n\t\tconst response = await apiGetAllModels();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as AllModelsResponse;\n\t},\n\n\tasync discoverProviderModels(data: {\n\t\tcompatibility: ProviderCompatibility;\n\t\tbaseURL: string;\n\t\tapiKey?: string;\n\t}): Promise<{\n\t\tbaseURL?: string;\n\t\tmodels: DiscoveredProviderModel[];\n\t\tunsupported?: boolean;\n\t\tmessage?: string;\n\t}> {\n\t\tconst response = await fetch(\n\t\t\t`${getBaseUrl()}/v1/config/providers/discover-models`,\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'content-type': 'application/json' },\n\t\t\t\tbody: JSON.stringify(data),\n\t\t\t},\n\t\t);\n\t\tconst payload = await response.json();\n\t\tif (!response.ok) throw new Error(extractErrorMessage(payload));\n\t\treturn payload as {\n\t\t\tbaseURL?: string;\n\t\t\tmodels: DiscoveredProviderModel[];\n\t\t\tunsupported?: boolean;\n\t\t\tmessage?: string;\n\t\t};\n\t},\n\n\tasync updateProviderSettings(\n\t\tprovider: string,\n\t\tdata: {\n\t\t\tenabled?: boolean;\n\t\t\tcustom?: boolean;\n\t\t\tlabel?: string;\n\t\t\tcompatibility?: ProviderCompatibility;\n\t\t\tbaseURL?: string | null;\n\t\t\tapiKey?: string | null;\n\t\t\tmodels?: string[];\n\t\t\tallowAnyModel?: boolean;\n\t\t\tscope?: 'global' | 'local';\n\t\t},\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiUpdateProviderSettings({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tpath: { provider: provider as any },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync deleteProviderSettings(\n\t\tprovider: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiDeleteProviderSettings({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tpath: { provider: provider as any },\n\t\t\tquery: { scope: 'local' },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync updateDefaults(data: {\n\t\tagent?: string;\n\t\tprovider?: string;\n\t\tmodel?: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\tguidedMode?: boolean;\n\t\treasoningText?: boolean;\n\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\tfullWidthContent?: boolean;\n\t\tautoCompactThresholdTokens?: number | null;\n\t\tscope?: 'global' | 'local';\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t\tguidedMode?: boolean;\n\t\t\treasoningText?: boolean;\n\t\t\treasoningLevel?: 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\t\t\tfullWidthContent?: boolean;\n\t\t\tautoCompactThresholdTokens?: number | null;\n\t\t};\n\t}> {\n\t\tconst response = await apiUpdateDefaults({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
27
27
  "import {\n\tlistFiles as apiListFiles,\n\tgetFileTree as apiGetFileTree,\n\treadFile as apiReadFile,\n\tgetSessionFiles as apiGetSessionFiles,\n} from '@ottocode/api';\nimport type { SessionFilesResponse } from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const filesMixin = {\n\tasync listFiles() {\n\t\tconst response = await apiListFiles();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as {\n\t\t\tfiles: string[];\n\t\t\tignoredFiles?: string[];\n\t\t\tchangedFiles: Array<{ path: string; status: string }>;\n\t\t\ttruncated: boolean;\n\t\t};\n\t},\n\n\tasync getFileTree(dirPath = '.'): Promise<{\n\t\titems: Array<{\n\t\t\tname: string;\n\t\t\tpath: string;\n\t\t\ttype: 'file' | 'directory';\n\t\t\tgitignored?: boolean;\n\t\t}>;\n\t\tpath: string;\n\t}> {\n\t\tconst response = await apiGetFileTree({\n\t\t\tquery: { path: dirPath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync readFileContent(filePath: string): Promise<{\n\t\tcontent: string;\n\t\tpath: string;\n\t\textension: string;\n\t\tlineCount: number;\n\t}> {\n\t\tconst response = await apiReadFile({\n\t\t\tquery: { path: filePath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getSessionFiles(sessionId: string): Promise<SessionFilesResponse> {\n\t\tconst response = await apiGetSessionFiles({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SessionFilesResponse;\n\t},\n};\n",
28
28
  "import {\n\tcreateBranch as apiCreateBranch,\n\tlistBranches as apiListBranches,\n\tgetParentSession as apiGetParentSession,\n\tgetShareStatus as apiGetShareStatus,\n\tshareSession as apiShareSession,\n\tsyncShare as apiSyncShare,\n} from '@ottocode/api';\nimport type {\n\tCreateBranchRequest,\n\tBranchResult,\n\tListBranchesResponse,\n\tParentSessionResponse,\n\tShareStatus,\n\tShareSessionResponse,\n\tSyncSessionResponse,\n} from '../../types/api';\nimport { extractErrorMessage } from './utils';\n\nexport const branchesMixin = {\n\tasync createBranch(\n\t\tsessionId: string,\n\t\tdata: CreateBranchRequest,\n\t): Promise<BranchResult> {\n\t\tconst response = await apiCreateBranch({\n\t\t\tpath: { sessionId },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: data as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as unknown as BranchResult;\n\t},\n\n\tasync listBranches(sessionId: string): Promise<ListBranchesResponse> {\n\t\tconst response = await apiListBranches({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as unknown as ListBranchesResponse;\n\t},\n\n\tasync getParentSession(sessionId: string): Promise<ParentSessionResponse> {\n\t\tconst response = await apiGetParentSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ParentSessionResponse;\n\t},\n\n\tasync getShareStatus(sessionId: string): Promise<ShareStatus> {\n\t\tconst response = await apiGetShareStatus({ path: { sessionId } });\n\t\tif (response.error) return { shared: false };\n\t\treturn response.data as ShareStatus;\n\t},\n\n\tasync shareSession(sessionId: string): Promise<ShareSessionResponse> {\n\t\tconst response = await apiShareSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ShareSessionResponse;\n\t},\n\n\tasync syncSession(sessionId: string): Promise<SyncSessionResponse> {\n\t\tconst response = await apiSyncShare({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SyncSessionResponse;\n\t},\n};\n",
29
29
  "import {\n\tresolveApproval as apiResolveApproval,\n\tgetPendingApprovals as apiGetPendingApprovals,\n} from '@ottocode/api';\n\nexport const approvalMixin = {\n\tasync approveToolCall(\n\t\tsessionId: string,\n\t\tcallId: string,\n\t\tapproved: boolean,\n\t): Promise<{ ok: boolean; callId: string; approved: boolean }> {\n\t\tconst response = await apiResolveApproval({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { id: sessionId } as any,\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { callId, approved, sessionId } as any,\n\t\t});\n\t\tif (response.error) throw new Error('Failed to send tool approval');\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getPendingApprovals(sessionId: string): Promise<{\n\t\tok: boolean;\n\t\tpending: Array<{\n\t\t\tcallId: string;\n\t\t\ttoolName: string;\n\t\t\targs: unknown;\n\t\t\tmessageId: string;\n\t\t\tcreatedAt: number;\n\t\t}>;\n\t}> {\n\t\tconst response = await apiGetPendingApprovals({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { id: sessionId } as any,\n\t\t});\n\t\tif (response.error) return { ok: false, pending: [] };\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
30
30
  "import {\n\tgetOttoRouterBalance as apiGetSetuBalance,\n\tgetOttoRouterWallet as apiGetSetuWallet,\n\tgetOttoRouterUsdcBalance as apiGetSetuUsdcBalance,\n\tcreatePolarCheckout as apiCreatePolarCheckout,\n\tgetPolarTopupEstimate as apiGetPolarTopupEstimate,\n\tgetPolarTopupStatus as apiGetPolarTopupStatus,\n\tgetRazorpayTopupEstimate as apiGetRazorpayTopupEstimate,\n\tcreateRazorpayOrder as apiCreateRazorpayOrder,\n\tverifyRazorpayPayment as apiVerifyRazorpayPayment,\n\tselectTopupMethod as apiSelectTopupMethod,\n\tcancelTopup as apiCancelTopup,\n\tgetPendingTopup as apiGetPendingTopup,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport const ottorouterMixin = {\n\tasync getOttoRouterBalance(): Promise<{\n\t\twalletAddress: string;\n\t\tbalance: number;\n\t\ttotalSpent: number;\n\t\ttotalTopups: number;\n\t\trequestCount: number;\n\t\tscope?: 'wallet' | 'account';\n\t\tpayg?: {\n\t\t\twalletBalanceUsd: number;\n\t\t\taccountBalanceUsd: number;\n\t\t\trawPoolUsd: number;\n\t\t\teffectiveSpendableUsd: number;\n\t\t};\n\t\tlimits?: {\n\t\t\tenabled: boolean;\n\t\t\tdailyLimitUsd: number | null;\n\t\t\tdailySpentUsd: number;\n\t\t\tdailyRemainingUsd: number | null;\n\t\t\tmonthlyLimitUsd: number | null;\n\t\t\tmonthlySpentUsd: number;\n\t\t\tmonthlyRemainingUsd: number | null;\n\t\t\tcapRemainingUsd: number | null;\n\t\t} | null;\n\t\tsubscription?: {\n\t\t\tactive: boolean;\n\t\t\ttierId?: string;\n\t\t\ttierName?: string;\n\t\t\tcreditsIncluded?: number;\n\t\t\tcreditsUsed?: number;\n\t\t\tcreditsRemaining?: number;\n\t\t\tcreditsWeeklyLimit?: number | null;\n\t\t\tcreditsFiveHourLimit?: number | null;\n\t\t\tusageWindows?: {\n\t\t\t\tweekly: {\n\t\t\t\t\tlimit: number | null;\n\t\t\t\t\tused: number;\n\t\t\t\t\tremaining: number | null;\n\t\t\t\t\tpercentUsed: number;\n\t\t\t\t};\n\t\t\t\tfiveHour: {\n\t\t\t\t\tlimit: number | null;\n\t\t\t\t\tused: number;\n\t\t\t\t\tremaining: number | null;\n\t\t\t\t\tpercentUsed: number;\n\t\t\t\t};\n\t\t\t};\n\t\t\tperiodStart?: string;\n\t\t\tperiodEnd?: string;\n\t\t} | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuBalance();\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getOttoRouterWallet(): Promise<{\n\t\tconfigured: boolean;\n\t\tpublicKey?: string;\n\t\terror?: string;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuWallet();\n\t\t\tif (response.error) return { configured: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { configured: false };\n\t\t}\n\t},\n\n\tasync getOttoRouterUsdcBalance(\n\t\tnetwork: 'mainnet' | 'devnet' = 'mainnet',\n\t): Promise<{\n\t\twalletAddress: string;\n\t\tusdcBalance: number;\n\t\tnetwork: 'mainnet' | 'devnet';\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetSetuUsdcBalance({\n\t\t\t\tquery: { network },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getPolarTopupEstimate(amount: number): Promise<{\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t\tfeeBreakdown: {\n\t\t\tbasePercent: number;\n\t\t\tinternationalPercent: number;\n\t\t\tfixedCents: number;\n\t\t};\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createPolarCheckout(\n\t\tamount: number,\n\t\tsuccessUrl: string,\n\t): Promise<{\n\t\tsuccess: boolean;\n\t\tcheckoutId: string;\n\t\tcheckoutUrl: string;\n\t\tcreditAmount: number;\n\t\tchargeAmount: number;\n\t\tfeeAmount: number;\n\t}> {\n\t\tconst response = await apiCreatePolarCheckout({\n\t\t\tbody: { amount, successUrl },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync selectTopupMethod(\n\t\tsessionId: string,\n\t\tmethod: 'crypto' | 'fiat',\n\t): Promise<{ success: boolean; method: string }> {\n\t\tconst response = await apiSelectTopupMethod({\n\t\t\tbody: { sessionId, method },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync cancelTopup(\n\t\tsessionId: string,\n\t\treason?: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await apiCancelTopup({\n\t\t\tbody: { sessionId, reason },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getPendingTopup(sessionId: string): Promise<{\n\t\thasPending: boolean;\n\t\tsessionId?: string;\n\t\tmessageId?: string;\n\t\tamountUsd?: number;\n\t\tcurrentBalance?: number;\n\t\tcreatedAt?: number;\n\t}> {\n\t\ttry {\n\t\t\tconst response = await apiGetPendingTopup({\n\t\t\t\tquery: { sessionId },\n\t\t\t});\n\t\t\tif (response.error) return { hasPending: false };\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn { hasPending: false };\n\t\t}\n\t},\n\n\tasync getPolarTopupStatus(checkoutId: string): Promise<{\n\t\tcheckoutId: string;\n\t\tconfirmed: boolean;\n\t\tamountUsd: number | null;\n\t\tconfirmedAt: string | null;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetPolarTopupStatus({\n\t\t\t\tquery: { checkoutId },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync getRazorpayTopupEstimate(amount: number): Promise<{\n\t\tcreditAmountUsd: number;\n\t\tchargeAmountInr: number;\n\t\tfeeAmountInr: number;\n\t\tcurrency: string;\n\t\texchangeRate: number;\n\t} | null> {\n\t\ttry {\n\t\t\tconst response = await apiGetRazorpayTopupEstimate({\n\t\t\t\tquery: { amount },\n\t\t\t});\n\t\t\tif (response.error) return null;\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\t\treturn response.data as any;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tasync createRazorpayOrder(amount: number): Promise<{\n\t\tsuccess: boolean;\n\t\torderId: string;\n\t\tamount: number;\n\t\tcurrency: string;\n\t\tcreditAmountUsd: number;\n\t\tkeyId: string;\n\t}> {\n\t\tconst response = await apiCreateRazorpayOrder({\n\t\t\tbody: { amount },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync verifyRazorpayPayment(params: {\n\t\trazorpay_order_id: string;\n\t\trazorpay_payment_id: string;\n\t\trazorpay_signature: string;\n\t}): Promise<{\n\t\tsuccess: boolean;\n\t\tcredited: number;\n\t\tnewBalance: number;\n\t}> {\n\t\tconst response = await apiVerifyRazorpayPayment({\n\t\t\tbody: params,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n};\n",
31
- "import {\n\tgetAuthStatus as apiGetAuthStatus,\n\tsetupOttoRouterWallet as apiSetupSetuWallet,\n\timportOttoRouterWallet as apiImportSetuWallet,\n\texportOttoRouterWallet as apiExportSetuWallet,\n\taddProviderApiKey as apiAddProviderApiKey,\n\tremoveProvider as apiRemoveProvider,\n\tcompleteOnboarding as apiCompleteOnboarding,\n\tgetOAuthUrl as apiGetOAuthUrl,\n\texchangeOAuthCode as apiExchangeOAuthCode,\n\tstartCopilotDeviceFlow as apiStartCopilotDeviceFlow,\n\tpollCopilotDeviceFlow as apiPollCopilotDeviceFlow,\n\tgetCopilotAuthMethods as apiGetCopilotAuthMethods,\n\tsaveCopilotToken as apiSaveCopilotToken,\n\timportCopilotTokenFromGh as apiImportCopilotTokenFromGh,\n\tgetCopilotDiagnostics as apiGetCopilotDiagnostics,\n\tgetProviderUsage as apiGetProviderUsage,\n} from '@ottocode/api';\nimport type { ProviderUsageResponse } from '../../types/api';\nimport { extractErrorMessage, getBaseUrl } from './utils';\n\nexport const authMixin = {\n\tasync getAuthStatus(): Promise<{\n\t\tonboardingComplete: boolean;\n\t\tottorouter: { configured: boolean; publicKey?: string };\n\t\tproviders: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tconfigured: boolean;\n\t\t\t\ttype?: 'api' | 'oauth' | 'wallet';\n\t\t\t\tlabel: string;\n\t\t\t\tsupportsOAuth: boolean;\n\t\t\t\tsupportsToken?: boolean;\n\t\t\t\tsupportsGhImport?: boolean;\n\t\t\t\tmodelCount: number;\n\t\t\t\tcostRange?: { min: number; max: number };\n\t\t\t}\n\t\t>;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t};\n\t}> {\n\t\tconst response = await apiGetAuthStatus();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync setupOttoRouterWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tisNew: boolean;\n\t}> {\n\t\tconst response = await apiSetupSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importOttoRouterWallet(privateKey: string): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t}> {\n\t\tconst response = await apiImportSetuWallet({\n\t\t\tbody: { privateKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exportOttoRouterWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}> {\n\t\tconst response = await apiExportSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync addProvider(\n\t\tprovider: string,\n\t\tapiKey: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiAddProviderApiKey({\n\t\t\tpath: { provider },\n\t\t\tbody: { apiKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync removeProvider(\n\t\tprovider: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiRemoveProvider({ path: { provider } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync completeOnboarding(): Promise<{ success: boolean }> {\n\t\tconst response = await apiCompleteOnboarding();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tgetOAuthStartUrl(provider: string, mode?: string): string {\n\t\tconst baseUrl = `${getBaseUrl()}/v1/auth/${provider}/oauth/start`;\n\t\tif (mode) return `${baseUrl}?mode=${mode}`;\n\t\treturn baseUrl;\n\t},\n\n\tasync getOAuthUrl(\n\t\tprovider: string,\n\t\tmode?: string,\n\t): Promise<{ url: string; sessionId: string; provider: string }> {\n\t\tconst response = await apiGetOAuthUrl({\n\t\t\tpath: { provider },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { mode } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exchangeOAuthCode(\n\t\tprovider: string,\n\t\tcode: string,\n\t\tsessionId: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiExchangeOAuthCode({\n\t\t\tpath: { provider },\n\t\t\tbody: { code, sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync startCopilotDeviceFlow(): Promise<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t}> {\n\t\tconst response = await apiStartCopilotDeviceFlow();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync pollCopilotDeviceFlow(\n\t\tsessionId: string,\n\t): Promise<{ status: 'complete' | 'pending' | 'error'; error?: string }> {\n\t\tconst response = await apiPollCopilotDeviceFlow({\n\t\t\tbody: { sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotAuthMethods(): Promise<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t}> {\n\t\tconst response = await apiGetCopilotAuthMethods();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync saveCopilotToken(token: string): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'token';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiSaveCopilotToken({ body: { token } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importCopilotTokenFromGh(): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'gh';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiImportCopilotTokenFromGh();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotDiagnostics(): Promise<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\tsampleModels?: string[];\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\trestrictionMessage?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t\tmethods: {\n\t\t\toauth: boolean;\n\t\t\ttoken: boolean;\n\t\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t\t};\n\t}> {\n\t\tconst response = await apiGetCopilotDiagnostics();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getProviderUsage(provider: string): Promise<ProviderUsageResponse> {\n\t\tconst response = await apiGetProviderUsage({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { provider } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ProviderUsageResponse;\n\t},\n};\n",
31
+ "import {\n\tgetAuthStatus as apiGetAuthStatus,\n\tsetupOttoRouterWallet as apiSetupSetuWallet,\n\timportOttoRouterWallet as apiImportSetuWallet,\n\texportOttoRouterWallet as apiExportSetuWallet,\n\taddProviderApiKey as apiAddProviderApiKey,\n\tremoveProvider as apiRemoveProvider,\n\tcompleteOnboarding as apiCompleteOnboarding,\n\tgetOAuthUrl as apiGetOAuthUrl,\n\texchangeOAuthCode as apiExchangeOAuthCode,\n\tstartCopilotDeviceFlow as apiStartCopilotDeviceFlow,\n\tpollCopilotDeviceFlow as apiPollCopilotDeviceFlow,\n\tgetCopilotAuthMethods as apiGetCopilotAuthMethods,\n\tsaveCopilotToken as apiSaveCopilotToken,\n\timportCopilotTokenFromGh as apiImportCopilotTokenFromGh,\n\tgetCopilotDiagnostics as apiGetCopilotDiagnostics,\n\tgetProviderUsage as apiGetProviderUsage,\n} from '@ottocode/api';\nimport type { ProviderUsageResponse } from '../../types/api';\nimport { extractErrorMessage, getBaseUrl } from './utils';\n\nexport const authMixin = {\n\tasync getAuthStatus(): Promise<{\n\t\tonboardingComplete: boolean;\n\t\tottorouter: { configured: boolean; publicKey?: string };\n\t\tproviders: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tconfigured: boolean;\n\t\t\t\ttype?: 'api' | 'oauth' | 'wallet';\n\t\t\t\tlabel: string;\n\t\t\t\tsupportsOAuth: boolean;\n\t\t\t\tsupportsToken?: boolean;\n\t\t\t\tsupportsGhImport?: boolean;\n\t\t\t\tcustom?: boolean;\n\t\t\t\tmodelCount: number;\n\t\t\t\tcostRange?: { min: number; max: number };\n\t\t\t}\n\t\t>;\n\t\tdefaults: {\n\t\t\tagent: string;\n\t\t\tprovider: string;\n\t\t\tmodel: string;\n\t\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\t};\n\t}> {\n\t\tconst response = await apiGetAuthStatus();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync setupOttoRouterWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tisNew: boolean;\n\t}> {\n\t\tconst response = await apiSetupSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importOttoRouterWallet(privateKey: string): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t}> {\n\t\tconst response = await apiImportSetuWallet({\n\t\t\tbody: { privateKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exportOttoRouterWallet(): Promise<{\n\t\tsuccess: boolean;\n\t\tpublicKey: string;\n\t\tprivateKey: string;\n\t}> {\n\t\tconst response = await apiExportSetuWallet();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync addProvider(\n\t\tprovider: string,\n\t\tapiKey: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiAddProviderApiKey({\n\t\t\tpath: { provider },\n\t\t\tbody: { apiKey },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync removeProvider(\n\t\tprovider: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiRemoveProvider({ path: { provider } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync completeOnboarding(): Promise<{ success: boolean }> {\n\t\tconst response = await apiCompleteOnboarding();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tgetOAuthStartUrl(provider: string, mode?: string): string {\n\t\tconst baseUrl = `${getBaseUrl()}/v1/auth/${provider}/oauth/start`;\n\t\tif (mode) return `${baseUrl}?mode=${mode}`;\n\t\treturn baseUrl;\n\t},\n\n\tasync getOAuthUrl(\n\t\tprovider: string,\n\t\tmode?: string,\n\t): Promise<{ url: string; sessionId: string; provider: string }> {\n\t\tconst response = await apiGetOAuthUrl({\n\t\t\tpath: { provider },\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API type mismatch\n\t\t\tbody: { mode } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync exchangeOAuthCode(\n\t\tprovider: string,\n\t\tcode: string,\n\t\tsessionId: string,\n\t): Promise<{ success: boolean; provider: string }> {\n\t\tconst response = await apiExchangeOAuthCode({\n\t\t\tpath: { provider },\n\t\t\tbody: { code, sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync startCopilotDeviceFlow(): Promise<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t}> {\n\t\tconst response = await apiStartCopilotDeviceFlow();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync pollCopilotDeviceFlow(\n\t\tsessionId: string,\n\t): Promise<{ status: 'complete' | 'pending' | 'error'; error?: string }> {\n\t\tconst response = await apiPollCopilotDeviceFlow({\n\t\t\tbody: { sessionId },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotAuthMethods(): Promise<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t}> {\n\t\tconst response = await apiGetCopilotAuthMethods();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync saveCopilotToken(token: string): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'token';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiSaveCopilotToken({ body: { token } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync importCopilotTokenFromGh(): Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'gh';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}> {\n\t\tconst response = await apiImportCopilotTokenFromGh();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getCopilotDiagnostics(): Promise<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\tsampleModels?: string[];\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\trestrictionMessage?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t\tmethods: {\n\t\t\toauth: boolean;\n\t\t\ttoken: boolean;\n\t\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t\t};\n\t}> {\n\t\tconst response = await apiGetCopilotDiagnostics();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getProviderUsage(provider: string): Promise<ProviderUsageResponse> {\n\t\tconst response = await apiGetProviderUsage({\n\t\t\t// biome-ignore lint/suspicious/noExplicitAny: API path type mismatch\n\t\t\tpath: { provider } as any,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as ProviderUsageResponse;\n\t},\n};\n",
32
32
  "import {\n\tgetSkillsConfig as apiGetSkillsConfig,\n\tupdateSkillsConfig as apiUpdateSkillsConfig,\n\tlistSkills as apiListSkills,\n\tgetSkill as apiGetSkill,\n\tlistSkillFiles as apiListSkillFiles,\n\tgetSkillFile as apiGetSkillFile,\n} from '@ottocode/api';\nimport { extractErrorMessage } from './utils';\n\nexport interface SkillSummary {\n\tname: string;\n\tdescription: string;\n\tscope: string;\n\tpath: string;\n\tenabled?: boolean;\n}\n\nexport interface SkillsConfigResponse {\n\tenabled: boolean;\n\ttotalCount: number;\n\tenabledCount: number;\n\titems: SkillSummary[];\n}\n\nexport interface SkillDetail {\n\tname: string;\n\tdescription: string;\n\tlicense?: string | null;\n\tcompatibility?: string | null;\n\tmetadata?: unknown;\n\tallowedTools?: string[] | null;\n\tpath: string;\n\tscope: string;\n\tcontent: string;\n}\n\nexport interface SkillFileInfo {\n\trelativePath: string;\n\tsize: number;\n}\n\nexport const skillsMixin = {\n\tasync listSkills(): Promise<{ skills: SkillSummary[] }> {\n\t\tconst response = await apiListSkills();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { skills: SkillSummary[] };\n\t},\n\n\tasync getSkill(name: string): Promise<SkillDetail> {\n\t\tconst response = await apiGetSkill({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillDetail;\n\t},\n\n\tasync getSkillFiles(name: string): Promise<{ files: SkillFileInfo[] }> {\n\t\tconst response = await apiListSkillFiles({ path: { name } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { files: SkillFileInfo[] };\n\t},\n\n\tasync getSkillFileContent(\n\t\tname: string,\n\t\tfilePath: string,\n\t): Promise<{ content: string; path: string }> {\n\t\tconst response = await apiGetSkillFile({\n\t\t\tpath: { name, filePath },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { content: string; path: string };\n\t},\n\n\tasync getSkillsConfig(): Promise<SkillsConfigResponse> {\n\t\tconst response = await apiGetSkillsConfig();\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillsConfigResponse;\n\t},\n\n\tasync updateSkillsConfig(input: {\n\t\tenabled?: boolean;\n\t\titems?: Record<string, { enabled?: boolean }>;\n\t\tscope?: 'global' | 'local';\n\t}): Promise<SkillsConfigResponse> {\n\t\tconst response = await apiUpdateSkillsConfig({ body: input });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SkillsConfigResponse;\n\t},\n};\n",
33
- "import { sessionsMixin } from './sessions';\nimport { gitMixin } from './git';\nimport { configMixin } from './config';\nimport { filesMixin } from './files';\nimport { branchesMixin } from './branches';\nimport { approvalMixin } from './approval';\nimport { ottorouterMixin } from './ottorouter';\nimport { authMixin } from './auth';\nimport { skillsMixin } from './skills';\n\nexport { configureApiClient } from './utils';\n\nclass ApiClient {\n\tgetSessions = sessionsMixin.getSessions;\n\tgetSessionsPage = sessionsMixin.getSessionsPage;\n\tcreateSession = sessionsMixin.createSession;\n\tupdateSession = sessionsMixin.updateSession;\n\tdeleteSession = sessionsMixin.deleteSession;\n\tabortSession = sessionsMixin.abortSession;\n\tabortMessage = sessionsMixin.abortMessage;\n\tgetQueueState = sessionsMixin.getQueueState;\n\tremoveFromQueue = sessionsMixin.removeFromQueue;\n\tgetMessages = sessionsMixin.getMessages;\n\tsendMessage = sessionsMixin.sendMessage;\n\tgetStreamUrl = sessionsMixin.getStreamUrl;\n\tretryMessage = sessionsMixin.retryMessage;\n\n\tinitGitRepo = gitMixin.initGitRepo;\n\tgetGitStatus = gitMixin.getGitStatus;\n\tgetGitDiff = gitMixin.getGitDiff;\n\tgetGitDiffFullFile = gitMixin.getGitDiffFullFile;\n\tgenerateCommitMessage = gitMixin.generateCommitMessage;\n\tstageFiles = gitMixin.stageFiles;\n\tunstageFiles = gitMixin.unstageFiles;\n\trestoreFiles = gitMixin.restoreFiles;\n\tdeleteFiles = gitMixin.deleteFiles;\n\tcommitChanges = gitMixin.commitChanges;\n\tgetGitBranch = gitMixin.getGitBranch;\n\tpushCommits = gitMixin.pushCommits;\n\tpullChanges = gitMixin.pullChanges;\n\tgetRemotes = gitMixin.getRemotes;\n\taddRemote = gitMixin.addRemote;\n\tremoveRemote = gitMixin.removeRemote;\n\n\tgetConfig = configMixin.getConfig;\n\tgetModels = configMixin.getModels;\n\tgetAllModels = configMixin.getAllModels;\n\tupdateDefaults = configMixin.updateDefaults;\n\n\tlistFiles = filesMixin.listFiles;\n\tgetFileTree = filesMixin.getFileTree;\n\treadFileContent = filesMixin.readFileContent;\n\tgetSessionFiles = filesMixin.getSessionFiles;\n\n\tcreateBranch = branchesMixin.createBranch;\n\tlistBranches = branchesMixin.listBranches;\n\tgetParentSession = branchesMixin.getParentSession;\n\tgetShareStatus = branchesMixin.getShareStatus;\n\tshareSession = branchesMixin.shareSession;\n\tsyncSession = branchesMixin.syncSession;\n\n\tapproveToolCall = approvalMixin.approveToolCall;\n\tgetPendingApprovals = approvalMixin.getPendingApprovals;\n\n\tgetOttoRouterBalance = ottorouterMixin.getOttoRouterBalance;\n\tgetOttoRouterWallet = ottorouterMixin.getOttoRouterWallet;\n\tgetOttoRouterUsdcBalance = ottorouterMixin.getOttoRouterUsdcBalance;\n\tgetPolarTopupEstimate = ottorouterMixin.getPolarTopupEstimate;\n\tcreatePolarCheckout = ottorouterMixin.createPolarCheckout;\n\tselectTopupMethod = ottorouterMixin.selectTopupMethod;\n\tcancelTopup = ottorouterMixin.cancelTopup;\n\tgetPendingTopup = ottorouterMixin.getPendingTopup;\n\tgetPolarTopupStatus = ottorouterMixin.getPolarTopupStatus;\n\tgetRazorpayTopupEstimate = ottorouterMixin.getRazorpayTopupEstimate;\n\tcreateRazorpayOrder = ottorouterMixin.createRazorpayOrder;\n\tverifyRazorpayPayment = ottorouterMixin.verifyRazorpayPayment;\n\n\tgetAuthStatus = authMixin.getAuthStatus;\n\tsetupOttoRouterWallet = authMixin.setupOttoRouterWallet;\n\timportOttoRouterWallet = authMixin.importOttoRouterWallet;\n\texportOttoRouterWallet = authMixin.exportOttoRouterWallet;\n\taddProvider = authMixin.addProvider;\n\tremoveProvider = authMixin.removeProvider;\n\tcompleteOnboarding = authMixin.completeOnboarding;\n\tgetOAuthStartUrl = authMixin.getOAuthStartUrl;\n\tgetOAuthUrl = authMixin.getOAuthUrl;\n\texchangeOAuthCode = authMixin.exchangeOAuthCode;\n\tstartCopilotDeviceFlow = authMixin.startCopilotDeviceFlow;\n\tpollCopilotDeviceFlow = authMixin.pollCopilotDeviceFlow;\n\tgetCopilotAuthMethods = authMixin.getCopilotAuthMethods;\n\tsaveCopilotToken = authMixin.saveCopilotToken;\n\timportCopilotTokenFromGh = authMixin.importCopilotTokenFromGh;\n\tgetCopilotDiagnostics = authMixin.getCopilotDiagnostics;\n\tgetProviderUsage = authMixin.getProviderUsage;\n\n\tlistSkills = skillsMixin.listSkills;\n\tgetSkill = skillsMixin.getSkill;\n\tgetSkillFiles = skillsMixin.getSkillFiles;\n\tgetSkillFileContent = skillsMixin.getSkillFileContent;\n\tgetSkillsConfig = skillsMixin.getSkillsConfig;\n\tupdateSkillsConfig = skillsMixin.updateSkillsConfig;\n}\n\nexport const apiClient = new ApiClient();\n",
33
+ "import { sessionsMixin } from './sessions';\nimport { gitMixin } from './git';\nimport { configMixin } from './config';\nimport { filesMixin } from './files';\nimport { branchesMixin } from './branches';\nimport { approvalMixin } from './approval';\nimport { ottorouterMixin } from './ottorouter';\nimport { authMixin } from './auth';\nimport { skillsMixin } from './skills';\n\nexport { configureApiClient } from './utils';\n\nclass ApiClient {\n\tgetSessions = sessionsMixin.getSessions;\n\tgetSessionsPage = sessionsMixin.getSessionsPage;\n\tcreateSession = sessionsMixin.createSession;\n\tupdateSession = sessionsMixin.updateSession;\n\tdeleteSession = sessionsMixin.deleteSession;\n\tabortSession = sessionsMixin.abortSession;\n\tabortMessage = sessionsMixin.abortMessage;\n\tgetQueueState = sessionsMixin.getQueueState;\n\tremoveFromQueue = sessionsMixin.removeFromQueue;\n\tgetMessages = sessionsMixin.getMessages;\n\tsendMessage = sessionsMixin.sendMessage;\n\tgetStreamUrl = sessionsMixin.getStreamUrl;\n\tretryMessage = sessionsMixin.retryMessage;\n\n\tinitGitRepo = gitMixin.initGitRepo;\n\tgetGitStatus = gitMixin.getGitStatus;\n\tgetGitDiff = gitMixin.getGitDiff;\n\tgetGitDiffFullFile = gitMixin.getGitDiffFullFile;\n\tgenerateCommitMessage = gitMixin.generateCommitMessage;\n\tstageFiles = gitMixin.stageFiles;\n\tunstageFiles = gitMixin.unstageFiles;\n\trestoreFiles = gitMixin.restoreFiles;\n\tdeleteFiles = gitMixin.deleteFiles;\n\tcommitChanges = gitMixin.commitChanges;\n\tgetGitBranch = gitMixin.getGitBranch;\n\tpushCommits = gitMixin.pushCommits;\n\tpullChanges = gitMixin.pullChanges;\n\tgetRemotes = gitMixin.getRemotes;\n\taddRemote = gitMixin.addRemote;\n\tremoveRemote = gitMixin.removeRemote;\n\n\tgetConfig = configMixin.getConfig;\n\tgetModels = configMixin.getModels;\n\tgetAllModels = configMixin.getAllModels;\n\tdiscoverProviderModels = configMixin.discoverProviderModels;\n\tupdateProviderSettings = configMixin.updateProviderSettings;\n\tdeleteProviderSettings = configMixin.deleteProviderSettings;\n\tupdateDefaults = configMixin.updateDefaults;\n\n\tlistFiles = filesMixin.listFiles;\n\tgetFileTree = filesMixin.getFileTree;\n\treadFileContent = filesMixin.readFileContent;\n\tgetSessionFiles = filesMixin.getSessionFiles;\n\n\tcreateBranch = branchesMixin.createBranch;\n\tlistBranches = branchesMixin.listBranches;\n\tgetParentSession = branchesMixin.getParentSession;\n\tgetShareStatus = branchesMixin.getShareStatus;\n\tshareSession = branchesMixin.shareSession;\n\tsyncSession = branchesMixin.syncSession;\n\n\tapproveToolCall = approvalMixin.approveToolCall;\n\tgetPendingApprovals = approvalMixin.getPendingApprovals;\n\n\tgetOttoRouterBalance = ottorouterMixin.getOttoRouterBalance;\n\tgetOttoRouterWallet = ottorouterMixin.getOttoRouterWallet;\n\tgetOttoRouterUsdcBalance = ottorouterMixin.getOttoRouterUsdcBalance;\n\tgetPolarTopupEstimate = ottorouterMixin.getPolarTopupEstimate;\n\tcreatePolarCheckout = ottorouterMixin.createPolarCheckout;\n\tselectTopupMethod = ottorouterMixin.selectTopupMethod;\n\tcancelTopup = ottorouterMixin.cancelTopup;\n\tgetPendingTopup = ottorouterMixin.getPendingTopup;\n\tgetPolarTopupStatus = ottorouterMixin.getPolarTopupStatus;\n\tgetRazorpayTopupEstimate = ottorouterMixin.getRazorpayTopupEstimate;\n\tcreateRazorpayOrder = ottorouterMixin.createRazorpayOrder;\n\tverifyRazorpayPayment = ottorouterMixin.verifyRazorpayPayment;\n\n\tgetAuthStatus = authMixin.getAuthStatus;\n\tsetupOttoRouterWallet = authMixin.setupOttoRouterWallet;\n\timportOttoRouterWallet = authMixin.importOttoRouterWallet;\n\texportOttoRouterWallet = authMixin.exportOttoRouterWallet;\n\taddProvider = authMixin.addProvider;\n\tremoveProvider = authMixin.removeProvider;\n\tcompleteOnboarding = authMixin.completeOnboarding;\n\tgetOAuthStartUrl = authMixin.getOAuthStartUrl;\n\tgetOAuthUrl = authMixin.getOAuthUrl;\n\texchangeOAuthCode = authMixin.exchangeOAuthCode;\n\tstartCopilotDeviceFlow = authMixin.startCopilotDeviceFlow;\n\tpollCopilotDeviceFlow = authMixin.pollCopilotDeviceFlow;\n\tgetCopilotAuthMethods = authMixin.getCopilotAuthMethods;\n\tsaveCopilotToken = authMixin.saveCopilotToken;\n\timportCopilotTokenFromGh = authMixin.importCopilotTokenFromGh;\n\tgetCopilotDiagnostics = authMixin.getCopilotDiagnostics;\n\tgetProviderUsage = authMixin.getProviderUsage;\n\n\tlistSkills = skillsMixin.listSkills;\n\tgetSkill = skillsMixin.getSkill;\n\tgetSkillFiles = skillsMixin.getSkillFiles;\n\tgetSkillFileContent = skillsMixin.getSkillFileContent;\n\tgetSkillsConfig = skillsMixin.getSkillsConfig;\n\tupdateSkillsConfig = skillsMixin.updateSkillsConfig;\n}\n\nexport const apiClient = new ApiClient();\n",
34
34
  "import { useCallback, useMemo, useSyncExternalStore } from 'react';\nimport { useConfig, useUpdateDefaults } from './useConfig';\n\ninterface StoredPreferences {\n\tvimMode: boolean;\n\tcompactThread: boolean;\n}\n\ninterface Preferences extends StoredPreferences {\n\tfullWidthContent: boolean;\n}\n\nconst STORAGE_KEY = 'otto-preferences';\nconst DEFAULT_STORED_PREFERENCES: StoredPreferences = {\n\tvimMode: false,\n\tcompactThread: true,\n};\n\nfunction resolveInitialPreferences(): StoredPreferences {\n\tif (typeof window === 'undefined') {\n\t\treturn DEFAULT_STORED_PREFERENCES;\n\t}\n\ttry {\n\t\tconst stored = window.localStorage.getItem(STORAGE_KEY);\n\t\tif (stored) {\n\t\t\tconst parsed = JSON.parse(stored) as Partial<StoredPreferences>;\n\t\t\treturn {\n\t\t\t\tvimMode:\n\t\t\t\t\ttypeof parsed.vimMode === 'boolean'\n\t\t\t\t\t\t? parsed.vimMode\n\t\t\t\t\t\t: DEFAULT_STORED_PREFERENCES.vimMode,\n\t\t\t\tcompactThread:\n\t\t\t\t\ttypeof parsed.compactThread === 'boolean'\n\t\t\t\t\t\t? parsed.compactThread\n\t\t\t\t\t\t: DEFAULT_STORED_PREFERENCES.compactThread,\n\t\t\t};\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn('Failed to load preferences', error);\n\t}\n\treturn DEFAULT_STORED_PREFERENCES;\n}\n\nlet preferences: StoredPreferences = resolveInitialPreferences();\nconst listeners = new Set<() => void>();\n\nfunction getSnapshot(): StoredPreferences {\n\treturn preferences;\n}\n\nfunction getServerSnapshot(): StoredPreferences {\n\treturn DEFAULT_STORED_PREFERENCES;\n}\n\nfunction subscribe(listener: () => void): () => void {\n\tlisteners.add(listener);\n\treturn () => listeners.delete(listener);\n}\n\nfunction notifyListeners() {\n\tfor (const listener of listeners) {\n\t\tlistener();\n\t}\n}\n\nfunction updateStore(updates: Partial<StoredPreferences>) {\n\tpreferences = { ...preferences, ...updates };\n\tif (typeof window !== 'undefined') {\n\t\ttry {\n\t\t\twindow.localStorage.setItem(STORAGE_KEY, JSON.stringify(preferences));\n\t\t} catch (error) {\n\t\t\tconsole.warn('Failed to persist preferences', error);\n\t\t}\n\t}\n\tnotifyListeners();\n}\n\nexport function usePreferences() {\n\tconst currentPreferences = useSyncExternalStore(\n\t\tsubscribe,\n\t\tgetSnapshot,\n\t\tgetServerSnapshot,\n\t);\n\tconst { data: config } = useConfig();\n\tconst updateDefaults = useUpdateDefaults();\n\n\tconst updatePreferences = useCallback(\n\t\t(updates: Partial<Preferences>) => {\n\t\t\tconst localUpdates: Partial<StoredPreferences> = {};\n\n\t\t\tif (updates.vimMode !== undefined) {\n\t\t\t\tlocalUpdates.vimMode = updates.vimMode;\n\t\t\t}\n\t\t\tif (updates.compactThread !== undefined) {\n\t\t\t\tlocalUpdates.compactThread = updates.compactThread;\n\t\t\t}\n\n\t\t\tif (Object.keys(localUpdates).length > 0) {\n\t\t\t\tupdateStore(localUpdates);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tupdates.fullWidthContent !== undefined &&\n\t\t\t\tupdates.fullWidthContent !== config?.defaults?.fullWidthContent\n\t\t\t) {\n\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\tfullWidthContent: updates.fullWidthContent,\n\t\t\t\t\tscope: 'global',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[config?.defaults?.fullWidthContent, updateDefaults],\n\t);\n\n\tconst resolvedPreferences = useMemo<Preferences>(\n\t\t() => ({\n\t\t\t...currentPreferences,\n\t\t\tfullWidthContent: config?.defaults?.fullWidthContent ?? false,\n\t\t}),\n\t\t[currentPreferences, config?.defaults?.fullWidthContent],\n\t);\n\n\treturn useMemo(\n\t\t() => ({ preferences: resolvedPreferences, updatePreferences }),\n\t\t[resolvedPreferences, updatePreferences],\n\t);\n}\n\nexport type { Preferences };\n",
35
35
  "import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport type { ShareStatus } from '../types/api';\n\nexport function useShareStatus(sessionId: string | undefined): {\n\tdata: ShareStatus | undefined;\n\tisLoading: boolean;\n\terror: Error | null;\n} {\n\tconst { data, isLoading, error } = useQuery({\n\t\tqueryKey: ['share-status', sessionId],\n\t\tqueryFn: () => apiClient.getShareStatus(sessionId as string),\n\t\tenabled: !!sessionId,\n\t\tstaleTime: 30000,\n\t});\n\n\treturn { data, isLoading, error: error as Error | null };\n}\n",
36
36
  "import {\n\tTerminal,\n\tSparkles,\n\tPlus,\n\tKeyboard,\n\tCode,\n\tBrain,\n\tStopCircle,\n\tGitBranch,\n\tCheck,\n\tMinimize2,\n\tSplit,\n\tTrash2,\n\tShare2,\n\tRefreshCw,\n\tFileText,\n} from 'lucide-react';\n\nexport interface Command {\n\tid: string;\n\tlabel: string;\n\tdescription: string | ((state: CommandState) => string);\n\ticon: typeof Terminal;\n}\n\nexport interface CommandState {\n\tvimModeEnabled: boolean;\n\treasoningEnabled: boolean;\n\tisShared?: boolean;\n}\n\nexport const COMMANDS: Command[] = [\n\t{\n\t\tid: 'models',\n\t\tlabel: '/models',\n\t\tdescription: 'Open model selector',\n\t\ticon: Sparkles,\n\t},\n\t{\n\t\tid: 'agents',\n\t\tlabel: '/agents',\n\t\tdescription: 'Open agent selector',\n\t\ticon: Terminal,\n\t},\n\t{\n\t\tid: 'new',\n\t\tlabel: '/new',\n\t\tdescription: 'Create new session',\n\t\ticon: Plus,\n\t},\n\t{\n\t\tid: 'stop',\n\t\tlabel: '/stop',\n\t\tdescription: 'Stop current generation',\n\t\ticon: StopCircle,\n\t},\n\t{\n\t\tid: 'help',\n\t\tlabel: '/help',\n\t\tdescription: 'Show keyboard shortcuts and help',\n\t\ticon: Keyboard,\n\t},\n\t{\n\t\tid: 'vim',\n\t\tlabel: '/vim',\n\t\tdescription: (state) =>\n\t\t\tstate.vimModeEnabled ? 'Disable Vim mode' : 'Enable Vim mode',\n\t\ticon: Code,\n\t},\n\t{\n\t\tid: 'reasoning',\n\t\tlabel: '/reasoning',\n\t\tdescription: (state) =>\n\t\t\tstate.reasoningEnabled\n\t\t\t\t? 'Disable extended thinking'\n\t\t\t\t: 'Enable extended thinking',\n\t\ticon: Brain,\n\t},\n\t{\n\t\tid: 'stage',\n\t\tlabel: '/stage',\n\t\tdescription: 'Stage all changes (git add -A)',\n\t\ticon: GitBranch,\n\t},\n\t{\n\t\tid: 'commit',\n\t\tlabel: '/commit',\n\t\tdescription: 'Commit staged changes',\n\t\ticon: Check,\n\t},\n\t{\n\t\tid: 'compact',\n\t\tlabel: '/compact',\n\t\tdescription: 'Compact conversation to reduce context size',\n\t\ticon: Minimize2,\n\t},\n\t{\n\t\tid: 'init',\n\t\tlabel: '/init',\n\t\tdescription:\n\t\t\t'Generate AGENTS.md and .agents docs from the real repo structure',\n\t\ticon: FileText,\n\t},\n\t{\n\t\tid: 'branch',\n\t\tlabel: '/branch',\n\t\tdescription: 'Branch session from last message',\n\t\ticon: Split,\n\t},\n\t{\n\t\tid: 'delete',\n\t\tlabel: '/delete',\n\t\tdescription: 'Delete current session',\n\t\ticon: Trash2,\n\t},\n\t{\n\t\tid: 'share',\n\t\tlabel: '/share',\n\t\tdescription: 'Share session publicly',\n\t\ticon: Share2,\n\t},\n\t{\n\t\tid: 'sync',\n\t\tlabel: '/sync',\n\t\tdescription: 'Sync new messages to shared session',\n\t\ticon: RefreshCw,\n\t},\n];\n\nexport function getCommandDescription(\n\tcmd: Command,\n\tstate: CommandState,\n): string {\n\treturn typeof cmd.description === 'function'\n\t\t? cmd.description(state)\n\t\t: cmd.description;\n}\n\nexport function findExactCommand(input: string): Command | undefined {\n\tconst normalized = input.trim().toLowerCase();\n\tif (!normalized.startsWith('/')) return undefined;\n\treturn COMMANDS.find(\n\t\t(cmd) =>\n\t\t\tcmd.label.toLowerCase() === normalized ||\n\t\t\t`/${cmd.id}`.toLowerCase() === normalized,\n\t);\n}\n\nexport function shouldSendSlashCommandAsMessage(commandId: string): boolean {\n\treturn commandId === 'compact' || commandId === 'init';\n}\n\nexport function getCommandLabel(commandId: string): string | undefined {\n\treturn COMMANDS.find((cmd) => cmd.id === commandId)?.label;\n}\n\nexport function filterCommands(query: string, state: CommandState): Command[] {\n\tconst baseCommands = COMMANDS.filter((cmd) => {\n\t\tif (cmd.id === 'share' && state.isShared) return false;\n\t\tif (cmd.id === 'sync' && !state.isShared) return false;\n\t\treturn true;\n\t});\n\n\tif (!query) {\n\t\treturn baseCommands;\n\t}\n\n\tconst lowerQuery = query.toLowerCase();\n\tconst matches: (Command & { matchScore: number })[] = [];\n\n\tfor (const cmd of baseCommands) {\n\t\tconst desc = getCommandDescription(cmd, state);\n\t\tconst labelMatch = cmd.label.toLowerCase().includes(lowerQuery);\n\t\tconst descriptionMatch = desc.toLowerCase().includes(lowerQuery);\n\n\t\tif (labelMatch || descriptionMatch) {\n\t\t\tconst matchScore = labelMatch ? 10 : 5;\n\t\t\tmatches.push({ ...cmd, matchScore });\n\t\t}\n\t}\n\n\treturn matches.sort((a, b) => {\n\t\tconst scoreDiff = b.matchScore - a.matchScore;\n\t\tif (scoreDiff !== 0) return scoreDiff;\n\t\treturn a.label.localeCompare(b.label);\n\t});\n}\n",
@@ -45,7 +45,7 @@
45
45
  "import type { KeyboardEvent } from 'react';\nimport type { VimMode } from '../../hooks/useVimMode';\nimport { COMMANDS } from '../../lib/commands';\n\ninterface ChatInputKeyHandlerOptions {\n\tshowFileMention: boolean;\n\tshowCommandSuggestions: boolean;\n\tmentionSelectedIndex: number;\n\tcommandSelectedIndex: number;\n\tcurrentFileToSelect: string | undefined;\n\tcurrentCommandToSelect: string | undefined;\n\tisPlanMode: boolean;\n\tvimModeEnabled: boolean;\n\tvimMode: VimMode;\n\tsetMentionSelectedIndex: (index: number) => void;\n\tsetCommandSelectedIndex: (index: number) => void;\n\tsetShowFileMention: (show: boolean) => void;\n\tsetShowCommandSuggestions: (show: boolean) => void;\n\tsetIsPlanMode: (mode: boolean) => void;\n\tsetVimMode: (mode: VimMode) => void;\n\thandleFileSelect: (file: string) => void;\n\thandleCommandSelect: (commandId: string) => void;\n\thandleSend: () => void;\n\thandleVimNormalMode: (e: KeyboardEvent<HTMLTextAreaElement>) => boolean;\n\tonPlanModeToggle?: (isPlanMode: boolean) => void;\n}\n\nexport function createChatInputKeyHandler(options: ChatInputKeyHandlerOptions) {\n\treturn (e: KeyboardEvent<HTMLTextAreaElement>) => {\n\t\tconst {\n\t\t\tshowFileMention,\n\t\t\tshowCommandSuggestions,\n\t\t\tmentionSelectedIndex,\n\t\t\tcommandSelectedIndex,\n\t\t\tcurrentFileToSelect,\n\t\t\tcurrentCommandToSelect,\n\t\t\tisPlanMode,\n\t\t\tvimModeEnabled,\n\t\t\tvimMode,\n\t\t\tsetMentionSelectedIndex,\n\t\t\tsetCommandSelectedIndex,\n\t\t\tsetShowFileMention,\n\t\t\tsetShowCommandSuggestions,\n\t\t\tsetIsPlanMode,\n\t\t\tsetVimMode,\n\t\t\thandleFileSelect,\n\t\t\thandleCommandSelect,\n\t\t\thandleSend,\n\t\t\thandleVimNormalMode,\n\t\t\tonPlanModeToggle,\n\t\t} = options;\n\n\t\tif (showCommandSuggestions) {\n\t\t\tconst count = COMMANDS.length;\n\t\t\tif (e.key === 'ArrowDown' || (e.ctrlKey && e.key === 'j')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetCommandSelectedIndex((commandSelectedIndex + 1) % count);\n\t\t\t} else if (e.key === 'ArrowUp' || (e.ctrlKey && e.key === 'k')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetCommandSelectedIndex((commandSelectedIndex - 1 + count) % count);\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tif (currentCommandToSelect) {\n\t\t\t\t\thandleCommandSelect(currentCommandToSelect);\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Escape') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetShowCommandSuggestions(false);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (showFileMention) {\n\t\t\tif (e.key === 'ArrowDown' || (e.ctrlKey && e.key === 'j')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetMentionSelectedIndex((mentionSelectedIndex + 1) % 20);\n\t\t\t} else if (e.key === 'ArrowUp' || (e.ctrlKey && e.key === 'k')) {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetMentionSelectedIndex((mentionSelectedIndex - 1 + 20) % 20);\n\t\t\t} else if (e.key === 'Enter') {\n\t\t\t\te.preventDefault();\n\t\t\t\tif (currentFileToSelect) {\n\t\t\t\t\thandleFileSelect(currentFileToSelect);\n\t\t\t\t}\n\t\t\t} else if (e.key === 'Escape') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetShowFileMention(false);\n\t\t\t\tif (vimModeEnabled) {\n\t\t\t\t\tsetVimMode('normal');\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (vimModeEnabled && vimMode === 'normal') {\n\t\t\tconst handled = handleVimNormalMode(e);\n\t\t\tif (handled) return;\n\t\t}\n\n\t\tif (vimModeEnabled && vimMode === 'insert' && e.key === 'Escape') {\n\t\t\te.preventDefault();\n\t\t\tsetVimMode('normal');\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === 'Tab') {\n\t\t\te.preventDefault();\n\t\t\tconst newPlanMode = !isPlanMode;\n\t\t\tsetIsPlanMode(newPlanMode);\n\t\t\tonPlanModeToggle?.(newPlanMode);\n\t\t} else if (\n\t\t\te.key === 'Enter' &&\n\t\t\t!e.shiftKey &&\n\t\t\t(!vimModeEnabled || vimMode === 'normal')\n\t\t) {\n\t\t\te.preventDefault();\n\t\t\thandleSend();\n\t\t}\n\t};\n}\n",
46
46
  "import { create } from 'zustand';\n\ninterface OttoRouterUsageWindow {\n\tlimit: number | null;\n\tused: number;\n\tremaining: number | null;\n\tpercentUsed: number;\n}\n\ninterface OttoRouterSubscription {\n\tactive: boolean;\n\ttierId?: string;\n\ttierName?: string;\n\tcreditsIncluded?: number;\n\tcreditsUsed?: number;\n\tcreditsRemaining?: number;\n\tcreditsWeeklyLimit?: number | null;\n\tcreditsFiveHourLimit?: number | null;\n\tusageWindows?: {\n\t\tweekly: OttoRouterUsageWindow;\n\t\tfiveHour: OttoRouterUsageWindow;\n\t};\n\tperiodStart?: string;\n\tperiodEnd?: string;\n}\n\ninterface OttoRouterPayg {\n\twalletBalanceUsd: number;\n\taccountBalanceUsd: number;\n\trawPoolUsd: number;\n\teffectiveSpendableUsd: number;\n}\n\ninterface OttoRouterLimits {\n\tenabled: boolean;\n\tdailyLimitUsd: number | null;\n\tdailySpentUsd: number;\n\tdailyRemainingUsd: number | null;\n\tmonthlyLimitUsd: number | null;\n\tmonthlySpentUsd: number;\n\tmonthlyRemainingUsd: number | null;\n\tcapRemainingUsd: number | null;\n}\n\ninterface OttoRouterState {\n\tbalance: number | null;\n\tusdcBalance: number | null;\n\tnetwork: 'mainnet' | 'devnet';\n\tisPaymentPending: boolean;\n\tlastPaymentAmount: number | null;\n\twalletAddress: string | null;\n\tisLoading: boolean;\n\tisTopupModalOpen: boolean;\n\tscope: 'wallet' | 'account' | null;\n\tpayg: OttoRouterPayg | null;\n\tsubscription: OttoRouterSubscription | null;\n\tlimits: OttoRouterLimits | null;\n\tsetBalance: (balance: number | null) => void;\n\tsetUsdcBalance: (usdcBalance: number | null) => void;\n\tsetNetwork: (network: 'mainnet' | 'devnet') => void;\n\tsetPaymentPending: (pending: boolean) => void;\n\tsetLastPaymentAmount: (amount: number | null) => void;\n\tsetWalletAddress: (address: string | null) => void;\n\tsetLoading: (loading: boolean) => void;\n\topenTopupModal: () => void;\n\tcloseTopupModal: () => void;\n\tsetScope: (scope: 'wallet' | 'account' | null) => void;\n\tsetPayg: (payg: OttoRouterPayg | null) => void;\n\tsetSubscription: (subscription: OttoRouterSubscription | null) => void;\n\tsetLimits: (limits: OttoRouterLimits | null) => void;\n}\n\nexport const useOttoRouterStore = create<OttoRouterState>((set) => ({\n\tbalance: null,\n\tusdcBalance: null,\n\tnetwork: 'mainnet',\n\tisPaymentPending: false,\n\tlastPaymentAmount: null,\n\twalletAddress: null,\n\tisLoading: false,\n\tisTopupModalOpen: false,\n\tscope: null,\n\tpayg: null,\n\tsubscription: null,\n\tlimits: null,\n\tsetBalance: (balance) => set({ balance }),\n\tsetUsdcBalance: (usdcBalance) => set({ usdcBalance }),\n\tsetNetwork: (network) => set({ network }),\n\tsetPaymentPending: (isPaymentPending) => set({ isPaymentPending }),\n\tsetLastPaymentAmount: (lastPaymentAmount) => set({ lastPaymentAmount }),\n\tsetWalletAddress: (walletAddress) => set({ walletAddress }),\n\tsetLoading: (isLoading) => set({ isLoading }),\n\topenTopupModal: () => set({ isTopupModalOpen: true }),\n\tcloseTopupModal: () => set({ isTopupModalOpen: false }),\n\tsetScope: (scope) => set({ scope }),\n\tsetPayg: (payg) => set({ payg }),\n\tsetSubscription: (subscription) => set({ subscription }),\n\tsetLimits: (limits) => set({ limits }),\n}));\n",
47
47
  "import { memo, useCallback, useState } from 'react';\nimport { Shield, Check, X, CheckCheck } from 'lucide-react';\nimport type { PendingToolApproval } from '../../stores/toolApprovalStore';\nimport { useToolApprovalStore } from '../../stores/toolApprovalStore';\nimport { apiClient } from '../../lib/api-client';\n\ninterface InputApprovalBarProps {\n\tsessionId: string;\n}\n\nfunction formatArgs(args: unknown): string {\n\tif (!args) return '';\n\tif (typeof args === 'string') return args;\n\ttry {\n\t\tconst obj = args as Record<string, unknown>;\n\t\tconst cmd = obj.cmd ?? obj.command;\n\t\tif (typeof cmd === 'string') return cmd;\n\t\tconst path = obj.path ?? obj.pattern ?? obj.query;\n\t\tif (typeof path === 'string') return path;\n\t\tconst str = JSON.stringify(args, null, 2);\n\t\treturn str.length > 120 ? `${str.slice(0, 120)}...` : str;\n\t} catch {\n\t\treturn String(args);\n\t}\n}\n\nfunction ApprovalItem({\n\tapproval,\n\tsessionId,\n\tisProcessing,\n\tonProcess,\n}: {\n\tapproval: PendingToolApproval;\n\tsessionId: string;\n\tisProcessing: boolean;\n\tonProcess: (callId: string) => void;\n}) {\n\tconst { removePendingApproval } = useToolApprovalStore();\n\tconst toolLabel = approval.toolName.replace(/_/g, ' ');\n\tconst target = formatArgs(approval.args);\n\n\tconst handleApprove = useCallback(async () => {\n\t\tonProcess(approval.callId);\n\t\ttry {\n\t\t\tawait apiClient.approveToolCall(sessionId, approval.callId, true);\n\t\t\tremovePendingApproval(approval.callId);\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to approve:', error);\n\t\t}\n\t}, [sessionId, approval.callId, removePendingApproval, onProcess]);\n\n\tconst handleReject = useCallback(async () => {\n\t\tonProcess(approval.callId);\n\t\ttry {\n\t\t\tawait apiClient.approveToolCall(sessionId, approval.callId, false);\n\t\t\tremovePendingApproval(approval.callId);\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to reject:', error);\n\t\t}\n\t}, [sessionId, approval.callId, removePendingApproval, onProcess]);\n\n\treturn (\n\t\t<div className=\"flex items-center gap-2 px-3 py-2 min-w-0\">\n\t\t\t<Shield className=\"h-3.5 w-3.5 text-amber-500 flex-shrink-0\" />\n\t\t\t<span className=\"text-xs font-medium text-foreground truncate\">\n\t\t\t\t{toolLabel}\n\t\t\t</span>\n\t\t\t{target && (\n\t\t\t\t<code className=\"text-[11px] font-mono text-muted-foreground bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-[200px]\">\n\t\t\t\t\t{target}\n\t\t\t\t</code>\n\t\t\t)}\n\t\t\t<div className=\"flex items-center gap-1.5 ml-auto flex-shrink-0\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleReject}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Reject (N)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"w-3 h-3\" />\n\t\t\t\t\t<span className=\"hidden sm:inline\">Reject</span>\n\t\t\t\t\t<kbd className=\"ml-0.5 text-[9px] text-muted-foreground opacity-70\">\n\t\t\t\t\t\tN\n\t\t\t\t\t</kbd>\n\t\t\t\t</button>\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={handleApprove}\n\t\t\t\t\tdisabled={isProcessing}\n\t\t\t\t\ttitle=\"Approve (Y)\"\n\t\t\t\t\tclassName=\"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50\"\n\t\t\t\t>\n\t\t\t\t\t<Check className=\"w-3 h-3\" />\n\t\t\t\t\t{isProcessing ? '...' : 'Approve'}\n\t\t\t\t\t{!isProcessing && (\n\t\t\t\t\t\t<kbd className=\"ml-0.5 text-[9px] opacity-70\">Y</kbd>\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\nexport const InputApprovalBar = memo(function InputApprovalBar({\n\tsessionId,\n}: InputApprovalBarProps) {\n\tconst { pendingApprovals, removePendingApproval } = useToolApprovalStore();\n\tconst [processingId, setProcessingId] = useState<string | null>(null);\n\n\tconst handleApproveAll = useCallback(async () => {\n\t\ttry {\n\t\t\tawait Promise.all(\n\t\t\t\tpendingApprovals.map((a) =>\n\t\t\t\t\tapiClient.approveToolCall(sessionId, a.callId, true),\n\t\t\t\t),\n\t\t\t);\n\t\t\tfor (const a of pendingApprovals) {\n\t\t\t\tremovePendingApproval(a.callId);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to approve all:', error);\n\t\t}\n\t}, [sessionId, pendingApprovals, removePendingApproval]);\n\n\tconst hasApprovals = pendingApprovals.length > 0;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"grid transition-[grid-template-rows,opacity] duration-200 ease-out\"\n\t\t\tstyle={{\n\t\t\t\tgridTemplateRows: hasApprovals ? '1fr' : '0fr',\n\t\t\t\topacity: hasApprovals ? 1 : 0,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"overflow-hidden\">\n\t\t\t\t<div className=\"border border-amber-200 dark:border-amber-800 border-b-0 bg-amber-50/80 dark:bg-amber-950/30 rounded-t-xl overflow-hidden -mb-1 pb-2\">\n\t\t\t\t\t<div className=\"divide-y divide-amber-200/50 dark:divide-amber-800/50\">\n\t\t\t\t\t\t{pendingApprovals.map((approval) => (\n\t\t\t\t\t\t\t<ApprovalItem\n\t\t\t\t\t\t\t\tkey={approval.callId}\n\t\t\t\t\t\t\t\tapproval={approval}\n\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\tisProcessing={processingId === approval.callId}\n\t\t\t\t\t\t\t\tonProcess={setProcessingId}\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\t{pendingApprovals.length > 1 && (\n\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-2 px-3 py-1.5 border-t border-amber-200 dark:border-amber-800 bg-amber-100/50 dark:bg-amber-900/20\">\n\t\t\t\t\t\t\t<span className=\"text-[11px] text-amber-800 dark:text-amber-200\">\n\t\t\t\t\t\t\t\t{pendingApprovals.length} tools waiting\n\t\t\t\t\t\t\t</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={handleApproveAll}\n\t\t\t\t\t\t\t\ttitle=\"Approve All (A)\"\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1 px-2.5 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckCheck className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\tApprove All\n\t\t\t\t\t\t\t\t<kbd className=\"ml-0.5 text-[9px] opacity-70\">A</kbd>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\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",
48
- "import {\n\tmemo,\n\tuseState,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tforwardRef,\n\tuseImperativeHandle,\n\tuseMemo,\n} from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useSendMessage } from '../../hooks/useMessages';\nimport {\n\tuseSession,\n\tuseUpdateSession,\n\tuseDeleteSession,\n} from '../../hooks/useSessions';\nimport { useAllModels, useConfig } from '../../hooks/useConfig';\nimport { useGitStatus, useStageFiles } from '../../hooks/useGit';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useFileUpload } from '../../hooks/useFileUpload';\nimport { useQueueStore } from '../../stores/queueStore';\nimport { usePendingResearchStore } from '../../stores/pendingResearchStore';\nimport { formatResearchContextForMessage } from '../../lib/parseResearchContext';\nimport { toast } from '../../stores/toastStore';\nimport { useToastStore } from '../../stores/toastStore';\nimport { apiClient } from '../../lib/api-client';\nimport { ChatInput } from './ChatInput';\nimport { ConfigModal } from './ConfigModal';\n\ninterface ChatInputContainerProps {\n\tsessionId: string;\n\tuserContext?: string;\n\tonNewSession?: () => void;\n\tonDeleteSession?: () => void;\n\tmodalPosition?: 'fixed' | 'absolute';\n}\n\nexport interface ChatInputContainerRef {\n\tfocus: () => void;\n}\n\nexport const ChatInputContainer = memo(\n\tforwardRef<ChatInputContainerRef, ChatInputContainerProps>(\n\t\tfunction ChatInputContainer(\n\t\t\t{ sessionId, userContext, onNewSession, onDeleteSession, modalPosition },\n\t\t\tref,\n\t\t) {\n\t\t\tconst session = useSession(sessionId);\n\t\t\tconst [agent, setAgent] = useState('');\n\t\t\tconst [provider, setProvider] = useState('');\n\t\t\tconst [model, setModel] = useState('');\n\t\t\tconst [isConfigOpen, setIsConfigOpen] = useState(false);\n\t\t\tconst [configFocusTarget, setConfigFocusTarget] = useState<\n\t\t\t\t'agent' | 'model' | null\n\t\t\t>(null);\n\t\t\tconst [inputKey, setInputKey] = useState(0);\n\n\t\t\tconst chatInputRef = useRef<{\n\t\t\t\tfocus: () => void;\n\t\t\t\tsetValue: (value: string) => void;\n\t\t\t}>(null);\n\n\t\t\tconst sendMessage = useSendMessage(sessionId);\n\t\t\tconst updateSession = useUpdateSession(sessionId);\n\t\t\tconst deleteSession = useDeleteSession();\n\t\t\tconst { data: allModels } = useAllModels();\n\t\t\tconst { data: config } = useConfig();\n\t\t\tconst { data: gitStatus } = useGitStatus();\n\t\t\tconst stageFiles = useStageFiles();\n\t\t\tconst openCommitModalForSession = useGitStore(\n\t\t\t\t(state) => state.openCommitModalForSession,\n\t\t\t);\n\t\t\tconst setActiveSessionId = useGitStore(\n\t\t\t\t(state) => state.setActiveSessionId,\n\t\t\t);\n\t\t\tconst queryClient = useQueryClient();\n\n\t\t\tconst modelSupportsReasoning = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.reasoningText;\n\n\t\t\tconst modelSupportsVision = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.vision;\n\n\t\t\tconst modelSupportsAttachment = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.attachment;\n\n\t\t\tconst modelIsFree = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.free;\n\n\t\t\tconst {\n\t\t\t\timages,\n\t\t\t\tdocuments,\n\t\t\t\tisDragging,\n\t\t\t\tremoveFile,\n\t\t\t\tclearFiles,\n\t\t\t\thandlePaste,\n\t\t\t} = useFileUpload({\n\t\t\t\tsupportsImages: !!modelSupportsVision,\n\t\t\t\tsupportsFileAttachments: !!modelSupportsAttachment,\n\t\t\t\tonError: toast.error,\n\t\t\t});\n\n\t\t\tconst pendingContextsMap = usePendingResearchStore(\n\t\t\t\t(state) => state.pendingContexts,\n\t\t\t);\n\t\t\tconst removeResearchContext = usePendingResearchStore(\n\t\t\t\t(state) => state.removeContext,\n\t\t\t);\n\t\t\tconst consumeResearchContexts = usePendingResearchStore(\n\t\t\t\t(state) => state.consumeContexts,\n\t\t\t);\n\n\t\t\tconst pendingResearchContexts = pendingContextsMap.get(sessionId) || [];\n\n\t\t\tconst researchContexts = useMemo(\n\t\t\t\t() =>\n\t\t\t\t\tpendingResearchContexts.map((ctx) => ({\n\t\t\t\t\t\tid: ctx.id,\n\t\t\t\t\t\tlabel: ctx.label,\n\t\t\t\t\t})),\n\t\t\t\t[pendingResearchContexts],\n\t\t\t);\n\n\t\t\tconst handleResearchContextRemove = useCallback(\n\t\t\t\t(contextId: string) => {\n\t\t\t\t\tremoveResearchContext(sessionId, contextId);\n\t\t\t\t},\n\t\t\t\t[sessionId, removeResearchContext],\n\t\t\t);\n\n\t\t\tconst providerAuthType = allModels?.[provider]?.authType;\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (session) {\n\t\t\t\t\tsetAgent(session.agent);\n\t\t\t\t\tsetProvider(session.provider);\n\t\t\t\t\tsetModel(session.model);\n\t\t\t\t}\n\t\t\t}, [session]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetActiveSessionId(sessionId);\n\t\t\t\treturn () => setActiveSessionId(null);\n\t\t\t}, [sessionId, setActiveSessionId]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetInputKey((prev) => prev + 1);\n\t\t\t}, []);\n\n\t\t\tconst pendingRestoreText = useQueueStore(\n\t\t\t\t(state) => state.pendingRestoreText,\n\t\t\t);\n\t\t\tconst consumeRestoreText = useQueueStore(\n\t\t\t\t(state) => state.consumeRestoreText,\n\t\t\t);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (pendingRestoreText) {\n\t\t\t\t\tconst text = consumeRestoreText();\n\t\t\t\t\tif (text) {\n\t\t\t\t\t\tchatInputRef.current?.setValue(text);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, [pendingRestoreText, consumeRestoreText]);\n\n\t\t\tuseImperativeHandle(ref, () => ({\n\t\t\t\tfocus: () => {\n\t\t\t\t\tchatInputRef.current?.focus();\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tconst handleSendMessage = useCallback(\n\t\t\t\tasync (content: string) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst researchCtxs = consumeResearchContexts(sessionId);\n\t\t\t\t\t\tconst researchPrefix =\n\t\t\t\t\t\t\tformatResearchContextForMessage(researchCtxs);\n\t\t\t\t\t\tconst finalContent = researchPrefix\n\t\t\t\t\t\t\t? `${researchPrefix}\\n\\n${content}`\n\t\t\t\t\t\t\t: content;\n\n\t\t\t\t\t\tconst imageData =\n\t\t\t\t\t\t\timages.length > 0\n\t\t\t\t\t\t\t\t? images.map((img) => ({\n\t\t\t\t\t\t\t\t\t\tdata: img.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: img.mediaType,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst fileData =\n\t\t\t\t\t\t\tdocuments.length > 0\n\t\t\t\t\t\t\t\t? documents.map((f) => ({\n\t\t\t\t\t\t\t\t\t\ttype: f.type,\n\t\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: f.mediaType,\n\t\t\t\t\t\t\t\t\t\ttextContent: f.textContent,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tawait sendMessage.mutateAsync({\n\t\t\t\t\t\t\tcontent: finalContent,\n\t\t\t\t\t\t\timages: imageData,\n\t\t\t\t\t\t\tfiles: fileData,\n\t\t\t\t\t\t\tagent: agent || undefined,\n\t\t\t\t\t\t\tprovider: provider || undefined,\n\t\t\t\t\t\t\tmodel: model || undefined,\n\t\t\t\t\t\t\tuserContext: userContext || undefined,\n\t\t\t\t\t\t\treasoningText:\n\t\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true),\n\t\t\t\t\t\t\treasoningLevel: config?.defaults?.reasoningLevel ?? 'high',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tclearFiles();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to send message:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tsendMessage,\n\t\t\t\t\tdocuments,\n\t\t\t\t\timages,\n\t\t\t\t\tclearFiles,\n\t\t\t\t\tagent,\n\t\t\t\t\tprovider,\n\t\t\t\t\tmodel,\n\t\t\t\t\tuserContext,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tconsumeResearchContexts,\n\t\t\t\t\tconfig?.defaults?.reasoningLevel,\n\t\t\t\t\tconfig?.defaults?.reasoningText,\n\t\t\t\t\tmodelSupportsReasoning,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst handleToggleConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen((prev) => !prev);\n\t\t\t}, []);\n\n\t\t\tconst handleCloseConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen(false);\n\t\t\t\tsetConfigFocusTarget(null);\n\t\t\t}, []);\n\n\t\t\tconst handleCommand = useCallback(\n\t\t\t\tasync (commandId: string) => {\n\t\t\t\t\tif (commandId === 'models') {\n\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t} else if (commandId === 'agents') {\n\t\t\t\t\t\tsetConfigFocusTarget('agent');\n\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t} else if (commandId === 'new') {\n\t\t\t\t\t\tonNewSession?.();\n\t\t\t\t\t} else if (commandId === 'stage') {\n\t\t\t\t\t\tconst unstagedPaths = gitStatus?.unstaged?.map((f) => f.path) ?? [];\n\t\t\t\t\t\tconst untrackedPaths =\n\t\t\t\t\t\t\tgitStatus?.untracked?.map((f) => f.path) ?? [];\n\t\t\t\t\t\tconst allUnstaged = [...unstagedPaths, ...untrackedPaths];\n\t\t\t\t\t\tif (allUnstaged.length > 0) {\n\t\t\t\t\t\t\tstageFiles.mutate(allUnstaged);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (commandId === 'commit') {\n\t\t\t\t\t\topenCommitModalForSession(sessionId);\n\t\t\t\t\t} else if (commandId === 'compact') {\n\t\t\t\t\t\thandleSendMessage('/compact');\n\t\t\t\t\t} else if (commandId === 'init') {\n\t\t\t\t\t\thandleSendMessage('/init');\n\t\t\t\t\t} else if (commandId === 'delete') {\n\t\t\t\t\t\tdeleteSession.mutate(sessionId, {\n\t\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\t\tonDeleteSession?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (commandId === 'share') {\n\t\t\t\t\t\tconst toastId = toast.loading('Sharing session...');\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst result = await apiClient.shareSession(sessionId);\n\t\t\t\t\t\t\tif (result.shared) {\n\t\t\t\t\t\t\t\ttoast.successWithAction(\n\t\t\t\t\t\t\t\t\tresult.message === 'Already shared'\n\t\t\t\t\t\t\t\t\t\t? 'Already shared'\n\t\t\t\t\t\t\t\t\t\t: 'Session shared!',\n\t\t\t\t\t\t\t\t\t{ label: 'Open', href: result.url },\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\t\t\t\t\tqueryKey: ['share-status', sessionId],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to share',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tuseToastStore.getState().removeToast(toastId);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (commandId === 'sync') {\n\t\t\t\t\t\tconst toastId = toast.loading('Syncing session...');\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst result = await apiClient.syncSession(sessionId);\n\t\t\t\t\t\t\tif (result.synced) {\n\t\t\t\t\t\t\t\tconst msg =\n\t\t\t\t\t\t\t\t\tresult.newMessages > 0\n\t\t\t\t\t\t\t\t\t\t? `Synced ${result.newMessages} new messages`\n\t\t\t\t\t\t\t\t\t\t: 'Already synced';\n\t\t\t\t\t\t\t\ttoast.successWithAction(msg, {\n\t\t\t\t\t\t\t\t\tlabel: 'Open',\n\t\t\t\t\t\t\t\t\thref: result.url,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\t\t\t\t\tqueryKey: ['share-status', sessionId],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to sync',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tuseToastStore.getState().removeToast(toastId);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tonNewSession,\n\t\t\t\t\tgitStatus,\n\t\t\t\t\tstageFiles,\n\t\t\t\t\topenCommitModalForSession,\n\t\t\t\t\thandleSendMessage,\n\t\t\t\t\tdeleteSession,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tonDeleteSession,\n\t\t\t\t\tqueryClient,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst handleAgentChange = useCallback(\n\t\t\t\tasync (value: string) => {\n\t\t\t\t\tsetAgent(value);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ agent: value });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update agent:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\tconst handleModelSelectorChange = useCallback(\n\t\t\t\tasync (newProvider: string, newModel: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\t\t\tmodel: newModel,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update model:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\tconst handleProviderChange = useCallback(\n\t\t\t\tasync (newProvider: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tif (model) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error('Failed to update provider:', error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[model, updateSession],\n\t\t\t);\n\n\t\t\tconst handleModelChange = useCallback(\n\t\t\t\tasync (newModel: string) => {\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ provider, model: newModel });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update model:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[provider, updateSession],\n\t\t\t);\n\n\t\t\tconst handlePlanModeToggle = useCallback(\n\t\t\t\tasync (isPlanMode: boolean) => {\n\t\t\t\t\tconst newAgent = isPlanMode ? 'plan' : 'build';\n\t\t\t\t\tsetAgent(newAgent);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ agent: newAgent });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to switch agent:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<ConfigModal\n\t\t\t\t\t\tisOpen={isConfigOpen}\n\t\t\t\t\t\tonClose={handleCloseConfig}\n\t\t\t\t\t\tinitialFocus={configFocusTarget}\n\t\t\t\t\t\tchatInputRef={chatInputRef}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tprovider={provider}\n\t\t\t\t\t\tmodel={model}\n\t\t\t\t\t\tmodelSupportsReasoning={modelSupportsReasoning}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t\tonProviderChange={handleProviderChange}\n\t\t\t\t\t\tonModelChange={handleModelChange}\n\t\t\t\t\t\tonModelSelectorChange={handleModelSelectorChange}\n\t\t\t\t\t\tmodalPosition={modalPosition}\n\t\t\t\t\t/>\n\t\t\t\t\t<ChatInput\n\t\t\t\t\t\tref={chatInputRef}\n\t\t\t\t\t\tkey={inputKey}\n\t\t\t\t\t\tonSend={handleSendMessage}\n\t\t\t\t\t\tonCommand={handleCommand}\n\t\t\t\t\t\tdisabled={sendMessage.isPending}\n\t\t\t\t\t\tonConfigClick={handleToggleConfig}\n\t\t\t\t\t\tonPlanModeToggle={handlePlanModeToggle}\n\t\t\t\t\t\tisPlanMode={agent === 'plan'}\n\t\t\t\t\t\treasoningEnabled={\n\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\timages={images}\n\t\t\t\t\t\tdocuments={documents}\n\t\t\t\t\t\tonFileRemove={removeFile}\n\t\t\t\t\t\tisDragging={isDragging}\n\t\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\t\tvisionEnabled={modelSupportsVision}\n\t\t\t\t\t\tattachmentEnabled={modelSupportsAttachment}\n\t\t\t\t\t\tmodelName={model}\n\t\t\t\t\t\tproviderName={provider}\n\t\t\t\t\t\tauthType={providerAuthType}\n\t\t\t\t\t\tisFreeModel={modelIsFree}\n\t\t\t\t\t\tresearchContexts={researchContexts}\n\t\t\t\t\t\tonResearchContextRemove={handleResearchContextRemove}\n\t\t\t\t\t\tonModelInfoClick={() => {\n\t\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tagents={config?.agents}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t),\n);\n",
48
+ "import {\n\tmemo,\n\tuseState,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tforwardRef,\n\tuseImperativeHandle,\n\tuseMemo,\n} from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useSendMessage } from '../../hooks/useMessages';\nimport {\n\tuseSession,\n\tuseUpdateSession,\n\tuseDeleteSession,\n} from '../../hooks/useSessions';\nimport { useAllModels, useConfig } from '../../hooks/useConfig';\nimport { useGitStatus, useStageFiles } from '../../hooks/useGit';\nimport { useGitStore } from '../../stores/gitStore';\nimport { useFileUpload } from '../../hooks/useFileUpload';\nimport { useQueueStore } from '../../stores/queueStore';\nimport { usePendingResearchStore } from '../../stores/pendingResearchStore';\nimport { formatResearchContextForMessage } from '../../lib/parseResearchContext';\nimport { toast } from '../../stores/toastStore';\nimport { useToastStore } from '../../stores/toastStore';\nimport { apiClient } from '../../lib/api-client';\nimport { ChatInput } from './ChatInput';\nimport { ConfigModal } from './ConfigModal';\n\ninterface ChatInputContainerProps {\n\tsessionId: string;\n\tuserContext?: string;\n\tonNewSession?: () => void;\n\tonDeleteSession?: () => void;\n\tmodalPosition?: 'fixed' | 'absolute';\n}\n\nexport interface ChatInputContainerRef {\n\tfocus: () => void;\n}\n\nexport const ChatInputContainer = memo(\n\tforwardRef<ChatInputContainerRef, ChatInputContainerProps>(\n\t\tfunction ChatInputContainer(\n\t\t\t{ sessionId, userContext, onNewSession, onDeleteSession, modalPosition },\n\t\t\tref,\n\t\t) {\n\t\t\tconst session = useSession(sessionId);\n\t\t\tconst [agent, setAgent] = useState('');\n\t\t\tconst [provider, setProvider] = useState('');\n\t\t\tconst [model, setModel] = useState('');\n\t\t\tconst [isConfigOpen, setIsConfigOpen] = useState(false);\n\t\t\tconst [configFocusTarget, setConfigFocusTarget] = useState<\n\t\t\t\t'agent' | 'model' | null\n\t\t\t>(null);\n\t\t\tconst [inputKey, setInputKey] = useState(0);\n\n\t\t\tconst chatInputRef = useRef<{\n\t\t\t\tfocus: () => void;\n\t\t\t\tsetValue: (value: string) => void;\n\t\t\t}>(null);\n\n\t\t\tconst sendMessage = useSendMessage(sessionId);\n\t\t\tconst updateSession = useUpdateSession(sessionId);\n\t\t\tconst deleteSession = useDeleteSession();\n\t\t\tconst { data: allModels } = useAllModels();\n\t\t\tconst { data: config } = useConfig();\n\t\t\tconst { data: gitStatus } = useGitStatus();\n\t\t\tconst stageFiles = useStageFiles();\n\t\t\tconst openCommitModalForSession = useGitStore(\n\t\t\t\t(state) => state.openCommitModalForSession,\n\t\t\t);\n\t\t\tconst setActiveSessionId = useGitStore(\n\t\t\t\t(state) => state.setActiveSessionId,\n\t\t\t);\n\t\t\tconst queryClient = useQueryClient();\n\n\t\t\tconst modelSupportsReasoning = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.reasoningText;\n\n\t\t\tconst modelSupportsVision = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.vision;\n\n\t\t\tconst modelSupportsAttachment = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.attachment;\n\n\t\t\tconst modelIsFree = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.free;\n\n\t\t\tconst {\n\t\t\t\timages,\n\t\t\t\tdocuments,\n\t\t\t\tisDragging,\n\t\t\t\tremoveFile,\n\t\t\t\tclearFiles,\n\t\t\t\thandlePaste,\n\t\t\t} = useFileUpload({\n\t\t\t\tsupportsImages: !!modelSupportsVision,\n\t\t\t\tsupportsFileAttachments: !!modelSupportsAttachment,\n\t\t\t\tonError: toast.error,\n\t\t\t});\n\n\t\t\tconst pendingContextsMap = usePendingResearchStore(\n\t\t\t\t(state) => state.pendingContexts,\n\t\t\t);\n\t\t\tconst removeResearchContext = usePendingResearchStore(\n\t\t\t\t(state) => state.removeContext,\n\t\t\t);\n\t\t\tconst consumeResearchContexts = usePendingResearchStore(\n\t\t\t\t(state) => state.consumeContexts,\n\t\t\t);\n\n\t\t\tconst pendingResearchContexts = pendingContextsMap.get(sessionId) || [];\n\n\t\t\tconst researchContexts = useMemo(\n\t\t\t\t() =>\n\t\t\t\t\tpendingResearchContexts.map((ctx) => ({\n\t\t\t\t\t\tid: ctx.id,\n\t\t\t\t\t\tlabel: ctx.label,\n\t\t\t\t\t})),\n\t\t\t\t[pendingResearchContexts],\n\t\t\t);\n\n\t\t\tconst handleResearchContextRemove = useCallback(\n\t\t\t\t(contextId: string) => {\n\t\t\t\t\tremoveResearchContext(sessionId, contextId);\n\t\t\t\t},\n\t\t\t\t[sessionId, removeResearchContext],\n\t\t\t);\n\n\t\t\tconst providerAuthType = allModels?.[provider]?.authType;\n\t\t\tconst isCustomProvider =\n\t\t\t\tallModels?.[provider]?.label?.includes('(custom)') ?? false;\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (session) {\n\t\t\t\t\tsetAgent(session.agent);\n\t\t\t\t\tsetProvider(session.provider);\n\t\t\t\t\tsetModel(session.model);\n\t\t\t\t}\n\t\t\t}, [session]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetActiveSessionId(sessionId);\n\t\t\t\treturn () => setActiveSessionId(null);\n\t\t\t}, [sessionId, setActiveSessionId]);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tsetInputKey((prev) => prev + 1);\n\t\t\t}, []);\n\n\t\t\tconst pendingRestoreText = useQueueStore(\n\t\t\t\t(state) => state.pendingRestoreText,\n\t\t\t);\n\t\t\tconst consumeRestoreText = useQueueStore(\n\t\t\t\t(state) => state.consumeRestoreText,\n\t\t\t);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (pendingRestoreText) {\n\t\t\t\t\tconst text = consumeRestoreText();\n\t\t\t\t\tif (text) {\n\t\t\t\t\t\tchatInputRef.current?.setValue(text);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, [pendingRestoreText, consumeRestoreText]);\n\n\t\t\tuseImperativeHandle(ref, () => ({\n\t\t\t\tfocus: () => {\n\t\t\t\t\tchatInputRef.current?.focus();\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tconst handleSendMessage = useCallback(\n\t\t\t\tasync (content: string) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst researchCtxs = consumeResearchContexts(sessionId);\n\t\t\t\t\t\tconst researchPrefix =\n\t\t\t\t\t\t\tformatResearchContextForMessage(researchCtxs);\n\t\t\t\t\t\tconst finalContent = researchPrefix\n\t\t\t\t\t\t\t? `${researchPrefix}\\n\\n${content}`\n\t\t\t\t\t\t\t: content;\n\n\t\t\t\t\t\tconst imageData =\n\t\t\t\t\t\t\timages.length > 0\n\t\t\t\t\t\t\t\t? images.map((img) => ({\n\t\t\t\t\t\t\t\t\t\tdata: img.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: img.mediaType,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst fileData =\n\t\t\t\t\t\t\tdocuments.length > 0\n\t\t\t\t\t\t\t\t? documents.map((f) => ({\n\t\t\t\t\t\t\t\t\t\ttype: f.type,\n\t\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: f.mediaType,\n\t\t\t\t\t\t\t\t\t\ttextContent: f.textContent,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tawait sendMessage.mutateAsync({\n\t\t\t\t\t\t\tcontent: finalContent,\n\t\t\t\t\t\t\timages: imageData,\n\t\t\t\t\t\t\tfiles: fileData,\n\t\t\t\t\t\t\tagent: agent || undefined,\n\t\t\t\t\t\t\tprovider: provider || undefined,\n\t\t\t\t\t\t\tmodel: model || undefined,\n\t\t\t\t\t\t\tuserContext: userContext || undefined,\n\t\t\t\t\t\t\treasoningText:\n\t\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true),\n\t\t\t\t\t\t\treasoningLevel: config?.defaults?.reasoningLevel ?? 'high',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tclearFiles();\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to send message:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tsendMessage,\n\t\t\t\t\tdocuments,\n\t\t\t\t\timages,\n\t\t\t\t\tclearFiles,\n\t\t\t\t\tagent,\n\t\t\t\t\tprovider,\n\t\t\t\t\tmodel,\n\t\t\t\t\tuserContext,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tconsumeResearchContexts,\n\t\t\t\t\tconfig?.defaults?.reasoningLevel,\n\t\t\t\t\tconfig?.defaults?.reasoningText,\n\t\t\t\t\tmodelSupportsReasoning,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst handleToggleConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen((prev) => !prev);\n\t\t\t}, []);\n\n\t\t\tconst handleCloseConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen(false);\n\t\t\t\tsetConfigFocusTarget(null);\n\t\t\t}, []);\n\n\t\t\tconst handleCommand = useCallback(\n\t\t\t\tasync (commandId: string) => {\n\t\t\t\t\tif (commandId === 'models') {\n\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t} else if (commandId === 'agents') {\n\t\t\t\t\t\tsetConfigFocusTarget('agent');\n\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t} else if (commandId === 'new') {\n\t\t\t\t\t\tonNewSession?.();\n\t\t\t\t\t} else if (commandId === 'stage') {\n\t\t\t\t\t\tconst unstagedPaths = gitStatus?.unstaged?.map((f) => f.path) ?? [];\n\t\t\t\t\t\tconst untrackedPaths =\n\t\t\t\t\t\t\tgitStatus?.untracked?.map((f) => f.path) ?? [];\n\t\t\t\t\t\tconst allUnstaged = [...unstagedPaths, ...untrackedPaths];\n\t\t\t\t\t\tif (allUnstaged.length > 0) {\n\t\t\t\t\t\t\tstageFiles.mutate(allUnstaged);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (commandId === 'commit') {\n\t\t\t\t\t\topenCommitModalForSession(sessionId);\n\t\t\t\t\t} else if (commandId === 'compact') {\n\t\t\t\t\t\thandleSendMessage('/compact');\n\t\t\t\t\t} else if (commandId === 'init') {\n\t\t\t\t\t\thandleSendMessage('/init');\n\t\t\t\t\t} else if (commandId === 'delete') {\n\t\t\t\t\t\tdeleteSession.mutate(sessionId, {\n\t\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\t\tonDeleteSession?.();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (commandId === 'share') {\n\t\t\t\t\t\tconst toastId = toast.loading('Sharing session...');\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst result = await apiClient.shareSession(sessionId);\n\t\t\t\t\t\t\tif (result.shared) {\n\t\t\t\t\t\t\t\ttoast.successWithAction(\n\t\t\t\t\t\t\t\t\tresult.message === 'Already shared'\n\t\t\t\t\t\t\t\t\t\t? 'Already shared'\n\t\t\t\t\t\t\t\t\t\t: 'Session shared!',\n\t\t\t\t\t\t\t\t\t{ label: 'Open', href: result.url },\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\t\t\t\t\tqueryKey: ['share-status', sessionId],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to share',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tuseToastStore.getState().removeToast(toastId);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (commandId === 'sync') {\n\t\t\t\t\t\tconst toastId = toast.loading('Syncing session...');\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst result = await apiClient.syncSession(sessionId);\n\t\t\t\t\t\t\tif (result.synced) {\n\t\t\t\t\t\t\t\tconst msg =\n\t\t\t\t\t\t\t\t\tresult.newMessages > 0\n\t\t\t\t\t\t\t\t\t\t? `Synced ${result.newMessages} new messages`\n\t\t\t\t\t\t\t\t\t\t: 'Already synced';\n\t\t\t\t\t\t\t\ttoast.successWithAction(msg, {\n\t\t\t\t\t\t\t\t\tlabel: 'Open',\n\t\t\t\t\t\t\t\t\thref: result.url,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\t\t\t\t\tqueryKey: ['share-status', sessionId],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to sync',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tuseToastStore.getState().removeToast(toastId);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tonNewSession,\n\t\t\t\t\tgitStatus,\n\t\t\t\t\tstageFiles,\n\t\t\t\t\topenCommitModalForSession,\n\t\t\t\t\thandleSendMessage,\n\t\t\t\t\tdeleteSession,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tonDeleteSession,\n\t\t\t\t\tqueryClient,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst handleAgentChange = useCallback(\n\t\t\t\tasync (value: string) => {\n\t\t\t\t\tsetAgent(value);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ agent: value });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update agent:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\tconst handleModelSelectorChange = useCallback(\n\t\t\t\tasync (newProvider: string, newModel: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\t\t\tmodel: newModel,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update model:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\tconst handleProviderChange = useCallback(\n\t\t\t\tasync (newProvider: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tif (model) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait updateSession.mutateAsync({\n\t\t\t\t\t\t\t\tprovider: newProvider,\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error('Failed to update provider:', error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[model, updateSession],\n\t\t\t);\n\n\t\t\tconst handleModelChange = useCallback(\n\t\t\t\tasync (newModel: string) => {\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ provider, model: newModel });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to update model:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[provider, updateSession],\n\t\t\t);\n\n\t\t\tconst handlePlanModeToggle = useCallback(\n\t\t\t\tasync (isPlanMode: boolean) => {\n\t\t\t\t\tconst newAgent = isPlanMode ? 'plan' : 'build';\n\t\t\t\t\tsetAgent(newAgent);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait updateSession.mutateAsync({ agent: newAgent });\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Failed to switch agent:', error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[updateSession],\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<ConfigModal\n\t\t\t\t\t\tisOpen={isConfigOpen}\n\t\t\t\t\t\tonClose={handleCloseConfig}\n\t\t\t\t\t\tinitialFocus={configFocusTarget}\n\t\t\t\t\t\tchatInputRef={chatInputRef}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tprovider={provider}\n\t\t\t\t\t\tmodel={model}\n\t\t\t\t\t\tmodelSupportsReasoning={modelSupportsReasoning}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t\tonProviderChange={handleProviderChange}\n\t\t\t\t\t\tonModelChange={handleModelChange}\n\t\t\t\t\t\tonModelSelectorChange={handleModelSelectorChange}\n\t\t\t\t\t\tmodalPosition={modalPosition}\n\t\t\t\t\t/>\n\t\t\t\t\t<ChatInput\n\t\t\t\t\t\tref={chatInputRef}\n\t\t\t\t\t\tkey={inputKey}\n\t\t\t\t\t\tonSend={handleSendMessage}\n\t\t\t\t\t\tonCommand={handleCommand}\n\t\t\t\t\t\tdisabled={sendMessage.isPending}\n\t\t\t\t\t\tonConfigClick={handleToggleConfig}\n\t\t\t\t\t\tonPlanModeToggle={handlePlanModeToggle}\n\t\t\t\t\t\tisPlanMode={agent === 'plan'}\n\t\t\t\t\t\treasoningEnabled={\n\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\timages={images}\n\t\t\t\t\t\tdocuments={documents}\n\t\t\t\t\t\tonFileRemove={removeFile}\n\t\t\t\t\t\tisDragging={isDragging}\n\t\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\t\tvisionEnabled={modelSupportsVision}\n\t\t\t\t\t\tattachmentEnabled={modelSupportsAttachment}\n\t\t\t\t\t\tmodelName={model}\n\t\t\t\t\t\tproviderName={provider}\n\t\t\t\t\t\tisCustomProvider={isCustomProvider}\n\t\t\t\t\t\tauthType={providerAuthType}\n\t\t\t\t\t\tisFreeModel={modelIsFree}\n\t\t\t\t\t\tresearchContexts={researchContexts}\n\t\t\t\t\t\tonResearchContextRemove={handleResearchContextRemove}\n\t\t\t\t\t\tonModelInfoClick={() => {\n\t\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tagents={config?.agents}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t),\n);\n",
49
49
  "import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport type { SendMessageRequest } from '../types/api';\nimport { sessionsQueryKey } from './useSessions';\n\ninterface UseMessagesOptions {\n\tenabled?: boolean;\n\tstaleTime?: number;\n}\n\nexport function useMessages(\n\tsessionId: string | undefined,\n\toptions: UseMessagesOptions = {},\n) {\n\tconst { enabled = true, staleTime = 15_000 } = options;\n\n\treturn useQuery({\n\t\tqueryKey: ['messages', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) {\n\t\t\t\tthrow new Error('Session ID is required');\n\t\t\t}\n\t\t\treturn apiClient.getMessages(sessionId);\n\t\t},\n\t\tenabled: !!sessionId && enabled,\n\t\tstaleTime,\n\t\trefetchOnWindowFocus: false,\n\t});\n}\n\nexport function useSendMessage(sessionId: string) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: SendMessageRequest) =>\n\t\t\tapiClient.sendMessage(sessionId, data),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['messages', sessionId] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t},\n\t});\n}\n",
50
50
  "import {\n\tuseInfiniteQuery,\n\tuseMutation,\n\tuseQueryClient,\n} from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport type {\n\tCreateSessionRequest,\n\tUpdateSessionRequest,\n\tSession,\n\tSessionsPage,\n} from '../types/api';\n\nconst SESSIONS_PAGE_SIZE = 50;\n\nexport const sessionsQueryKey = ['sessions', 'list'] as const;\n\nexport function useSessionsInfinite() {\n\treturn useInfiniteQuery({\n\t\tqueryKey: sessionsQueryKey,\n\t\tqueryFn: ({ pageParam = 0 }) =>\n\t\t\tapiClient.getSessionsPage({\n\t\t\t\tlimit: SESSIONS_PAGE_SIZE,\n\t\t\t\toffset: pageParam,\n\t\t\t}),\n\t\tgetNextPageParam: (lastPage) => lastPage.nextOffset ?? undefined,\n\t\tinitialPageParam: 0,\n\t\tstaleTime: 30_000,\n\t\trefetchInterval: 30_000,\n\t\trefetchOnWindowFocus: false,\n\t});\n}\n\nexport function useSessions() {\n\tconst query = useSessionsInfinite();\n\tconst data = useMemo<Session[]>(() => {\n\t\tif (!query.data?.pages) return [];\n\t\treturn query.data.pages.flatMap((p) => p.items ?? []);\n\t}, [query.data]);\n\n\treturn {\n\t\tdata,\n\t\tisLoading: query.isLoading,\n\t\tisError: query.isError,\n\t\terror: query.error,\n\t\thasNextPage: query.hasNextPage,\n\t\tfetchNextPage: query.fetchNextPage,\n\t\tisFetchingNextPage: query.isFetchingNextPage,\n\t};\n}\n\nexport function useSession(sessionId: string) {\n\tconst { data: sessions } = useSessions();\n\treturn sessions?.find((s) => s.id === sessionId);\n}\n\nexport function useCreateSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: CreateSessionRequest) => apiClient.createSession(data),\n\t\tonSuccess: (newSession) => {\n\t\t\tqueryClient.setQueryData<{ pages: SessionsPage[]; pageParams: number[] }>(\n\t\t\t\tsessionsQueryKey,\n\t\t\t\t(old) => {\n\t\t\t\t\tif (!old) return old;\n\t\t\t\t\tconst firstPage = old.pages[0];\n\t\t\t\t\tif (!firstPage) return old;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...old,\n\t\t\t\t\t\tpages: [\n\t\t\t\t\t\t\t{ ...firstPage, items: [newSession, ...firstPage.items] },\n\t\t\t\t\t\t\t...old.pages.slice(1),\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\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t},\n\t});\n}\n\nexport function useUpdateSession(sessionId: string) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: UpdateSessionRequest) =>\n\t\t\tapiClient.updateSession(sessionId, data),\n\t\tonSuccess: async () => {\n\t\t\tawait queryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t\tawait queryClient.invalidateQueries({ queryKey: ['session', sessionId] });\n\t\t},\n\t});\n}\n\nexport function useDeleteSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (sessionId: string) => apiClient.deleteSession(sessionId),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t},\n\t});\n}\n",
51
51
  "import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport { useGitStore } from '../stores/gitStore';\n\nexport function useGitStatus() {\n\tconst isExpanded = useGitStore((state) => state.isExpanded);\n\n\treturn useQuery({\n\t\tqueryKey: ['git', 'status'],\n\t\tqueryFn: () => apiClient.getGitStatus(),\n\t\t// Only poll when sidebar is expanded to reduce unnecessary requests\n\t\t// Disabled during active generation to prevent interference\n\t\trefetchInterval: isExpanded ? 5000 : false, // Poll every 5 seconds when expanded\n\t\tretry: 1,\n\t\t// Keep data fresh but don't spam the server\n\t\tstaleTime: 3000,\n\t});\n}\n\nexport function useGitDiff(file: string | null, staged = false) {\n\treturn useQuery({\n\t\tqueryKey: ['git', 'diff', file, staged],\n\t\tqueryFn: () => (file ? apiClient.getGitDiff(file, staged) : null),\n\t\tenabled: !!file,\n\t\tretry: 1,\n\t\t// Don't refetch automatically for diff views\n\t\trefetchInterval: false,\n\t});\n}\n\nexport function useGitBranch() {\n\tconst isExpanded = useGitStore((state) => state.isExpanded);\n\n\treturn useQuery({\n\t\tqueryKey: ['git', 'branch'],\n\t\tqueryFn: () => apiClient.getGitBranch(),\n\t\t// Only poll when sidebar is expanded\n\t\trefetchInterval: isExpanded ? 10000 : false, // Poll every 10 seconds\n\t\tretry: 1,\n\t\tstaleTime: 5000,\n\t});\n}\n\nexport function useGenerateCommitMessage(sessionId?: string | null) {\n\treturn useMutation({\n\t\tmutationFn: () => apiClient.generateCommitMessage(sessionId ?? undefined),\n\t});\n}\n\nexport function useStageFiles() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (files: string[]) => apiClient.stageFiles(files),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t},\n\t});\n}\n\nexport function useUnstageFiles() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (files: string[]) => apiClient.unstageFiles(files),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t},\n\t});\n}\n\nexport function useRestoreFiles() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (files: string[]) => apiClient.restoreFiles(files),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t},\n\t});\n}\n\nexport function useDeleteFiles() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (files: string[]) => apiClient.deleteFiles(files),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t},\n\t});\n}\n\nexport function useCommitChanges() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (message: string) => apiClient.commitChanges(message),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'branch'] });\n\t\t},\n\t});\n}\n\nexport function usePushCommits() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: () => apiClient.pushCommits(),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'branch'] });\n\t\t},\n\t});\n}\n\nexport function usePullChanges() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: () => apiClient.pullChanges(),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'branch'] });\n\t\t},\n\t});\n}\n\nexport function useGitInit() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: () => apiClient.initGitRepo(),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'branch'] });\n\t\t},\n\t});\n}\n\nexport function useGitRemotes() {\n\tconst isExpanded = useGitStore((state) => state.isExpanded);\n\n\treturn useQuery({\n\t\tqueryKey: ['git', 'remotes'],\n\t\tqueryFn: () => apiClient.getRemotes(),\n\t\tenabled: isExpanded,\n\t\tretry: 1,\n\t\tstaleTime: 10000,\n\t});\n}\n\nexport function useAddRemote() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: ({ name, url }: { name: string; url: string }) =>\n\t\t\tapiClient.addRemote(name, url),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'remotes'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t},\n\t});\n}\n\nexport function useRemoveRemote() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (name: string) => apiClient.removeRemote(name),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'remotes'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['git', 'status'] });\n\t\t},\n\t});\n}\n",
@@ -62,11 +62,11 @@
62
62
  "import { create } from 'zustand';\n\nexport interface PendingResearchContext {\n\tid: string;\n\tsessionId: string;\n\tlabel: string;\n\tcontent: string;\n}\n\ninterface PendingResearchState {\n\tpendingContexts: Map<string, PendingResearchContext[]>;\n\taddContext: (\n\t\tparentSessionId: string,\n\t\tcontext: PendingResearchContext,\n\t) => void;\n\tremoveContext: (parentSessionId: string, contextId: string) => void;\n\tgetContexts: (parentSessionId: string) => PendingResearchContext[];\n\tclearContexts: (parentSessionId: string) => void;\n\tconsumeContexts: (parentSessionId: string) => PendingResearchContext[];\n}\n\nexport const usePendingResearchStore = create<PendingResearchState>(\n\t(set, get) => ({\n\t\tpendingContexts: new Map(),\n\n\t\taddContext: (parentSessionId, context) => {\n\t\t\tset((state) => {\n\t\t\t\tconst newMap = new Map(state.pendingContexts);\n\t\t\t\tconst existing = newMap.get(parentSessionId) || [];\n\t\t\t\tif (!existing.some((c) => c.id === context.id)) {\n\t\t\t\t\tnewMap.set(parentSessionId, [...existing, context]);\n\t\t\t\t}\n\t\t\t\treturn { pendingContexts: newMap };\n\t\t\t});\n\t\t},\n\n\t\tremoveContext: (parentSessionId, contextId) => {\n\t\t\tset((state) => {\n\t\t\t\tconst newMap = new Map(state.pendingContexts);\n\t\t\t\tconst existing = newMap.get(parentSessionId) || [];\n\t\t\t\tnewMap.set(\n\t\t\t\t\tparentSessionId,\n\t\t\t\t\texisting.filter((c) => c.id !== contextId),\n\t\t\t\t);\n\t\t\t\treturn { pendingContexts: newMap };\n\t\t\t});\n\t\t},\n\n\t\tgetContexts: (parentSessionId) => {\n\t\t\treturn get().pendingContexts.get(parentSessionId) || [];\n\t\t},\n\n\t\tclearContexts: (parentSessionId) => {\n\t\t\tset((state) => {\n\t\t\t\tconst newMap = new Map(state.pendingContexts);\n\t\t\t\tnewMap.delete(parentSessionId);\n\t\t\t\treturn { pendingContexts: newMap };\n\t\t\t});\n\t\t},\n\n\t\tconsumeContexts: (parentSessionId) => {\n\t\t\tconst contexts = get().getContexts(parentSessionId);\n\t\t\tget().clearContexts(parentSessionId);\n\t\t\treturn contexts;\n\t\t},\n\t}),\n);\n",
63
63
  "export interface ParsedResearchContext {\n\tid: string;\n\tlabel: string;\n\tcontent: string;\n\tfrom: string;\n}\n\nexport interface ParseResult {\n\tresearchContexts: ParsedResearchContext[];\n\tcleanContent: string;\n}\n\nconst RESEARCH_CONTEXT_REGEX =\n\t/<research-context\\s+from=\"([^\"]+)\"\\s+label=\"([^\"]+)\"[^>]*>([\\s\\S]*?)<\\/research-context>/g;\n\nexport function parseResearchContext(content: string): ParseResult {\n\tconst researchContexts: ParsedResearchContext[] = [];\n\tlet cleanContent = content;\n\n\tconst regex = new RegExp(RESEARCH_CONTEXT_REGEX);\n\tlet match = regex.exec(content);\n\n\twhile (match !== null) {\n\t\tconst [fullMatch, from, label, innerContent] = match;\n\t\tresearchContexts.push({\n\t\t\tid: from,\n\t\t\tfrom,\n\t\t\tlabel,\n\t\t\tcontent: innerContent.trim(),\n\t\t});\n\t\tcleanContent = cleanContent.replace(fullMatch, '');\n\t\tmatch = regex.exec(content);\n\t}\n\n\tcleanContent = cleanContent.trim();\n\n\treturn {\n\t\tresearchContexts,\n\t\tcleanContent,\n\t};\n}\n\nexport function formatResearchContextForMessage(\n\tcontexts: Array<{ sessionId: string; label: string; content: string }>,\n): string {\n\tif (contexts.length === 0) return '';\n\n\t// content is already the full XML from server, just join them\n\treturn contexts.map((ctx) => ctx.content).join('\\n\\n');\n}\n",
64
64
  "import { useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { useConfig, useUpdateDefaults } from '../../hooks/useConfig';\nimport { Modal } from '../ui/Modal';\nimport {\n\tUnifiedModelSelector,\n\ttype UnifiedModelSelectorRef,\n} from './UnifiedModelSelector';\nimport {\n\tUnifiedAgentSelector,\n\ttype UnifiedAgentSelectorRef,\n} from './UnifiedAgentSelector';\n\ntype ReasoningLevel = 'minimal' | 'low' | 'medium' | 'high' | 'max' | 'xhigh';\n\nconst REASONING_LEVELS: { value: ReasoningLevel; label: string }[] = [\n\t{ value: 'minimal', label: 'Minimal' },\n\t{ value: 'low', label: 'Low' },\n\t{ value: 'medium', label: 'Medium' },\n\t{ value: 'high', label: 'High' },\n\t{ value: 'max', label: 'Max' },\n\t{ value: 'xhigh', label: 'X-High' },\n];\n\nfunction ReasoningTabs({\n\tvalue,\n\tonChange,\n\tdisabled,\n}: {\n\tvalue: ReasoningLevel;\n\tonChange: (level: ReasoningLevel) => void;\n\tdisabled: boolean;\n}) {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst [pillStyle, setPillStyle] = useState({ left: 0, width: 0 });\n\n\tuseLayoutEffect(() => {\n\t\tif (!containerRef.current) return;\n\t\tconst activeIndex = REASONING_LEVELS.findIndex((l) => l.value === value);\n\t\tconst buttons =\n\t\t\tcontainerRef.current.querySelectorAll<HTMLButtonElement>('[data-tab]');\n\t\tconst activeBtn = buttons[activeIndex];\n\t\tif (activeBtn) {\n\t\t\tsetPillStyle({\n\t\t\t\tleft: activeBtn.offsetLeft,\n\t\t\t\twidth: activeBtn.offsetWidth,\n\t\t\t});\n\t\t}\n\t}, [value]);\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tclassName={`relative flex rounded-full bg-muted p-1 ${disabled ? 'opacity-40 pointer-events-none' : ''}`}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"absolute top-1 bottom-1 rounded-full bg-foreground shadow-md\"\n\t\t\t\tstyle={{\n\t\t\t\t\tleft: pillStyle.left,\n\t\t\t\t\twidth: pillStyle.width,\n\t\t\t\t\ttransition: 'left 200ms ease, width 200ms ease',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{REASONING_LEVELS.map((level) => (\n\t\t\t\t<button\n\t\t\t\t\tkey={level.value}\n\t\t\t\t\tdata-tab\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => onChange(level.value)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName={`relative z-10 flex-1 px-3 py-1.5 text-xs font-medium rounded-full transition-colors duration-200 ${\n\t\t\t\t\t\tvalue === level.value\n\t\t\t\t\t\t\t? 'text-background'\n\t\t\t\t\t\t\t: 'text-muted-foreground hover:text-foreground'\n\t\t\t\t\t}`}\n\t\t\t\t>\n\t\t\t\t\t{level.label}\n\t\t\t\t</button>\n\t\t\t))}\n\t\t</div>\n\t);\n}\n\ninterface ConfigModalProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\tinitialFocus?: 'agent' | 'model' | null;\n\tchatInputRef?: React.RefObject<{ focus: () => void }>;\n\tagent: string;\n\tprovider: string;\n\tmodel: string;\n\tmodelSupportsReasoning?: boolean;\n\tonAgentChange: (agent: string) => void;\n\tonProviderChange: (provider: string) => void;\n\tonModelChange: (model: string) => void;\n\tonModelSelectorChange?: (provider: string, model: string) => void;\n\tmodalPosition?: 'fixed' | 'absolute';\n}\n\nexport function ConfigModal({\n\tisOpen,\n\tonClose,\n\tinitialFocus,\n\tchatInputRef,\n\tagent,\n\tprovider,\n\tmodel,\n\tmodelSupportsReasoning,\n\tonAgentChange,\n\tonProviderChange,\n\tonModelChange,\n\tonModelSelectorChange,\n\tmodalPosition = 'fixed',\n}: ConfigModalProps) {\n\tconst { data: config, isLoading: configLoading } = useConfig();\n\tconst updateDefaults = useUpdateDefaults();\n\tconst reasoningEnabled = config?.defaults?.reasoningText ?? true;\n\tconst reasoningLevel = config?.defaults?.reasoningLevel ?? 'high';\n\tconst agentSelectorRef = useRef<UnifiedAgentSelectorRef>(null);\n\tconst modelSelectorRef = useRef<UnifiedModelSelectorRef>(null);\n\n\tuseEffect(() => {\n\t\tif (isOpen && initialFocus) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (initialFocus === 'agent') {\n\t\t\t\t\tagentSelectorRef.current?.openAndFocus();\n\t\t\t\t} else if (initialFocus === 'model') {\n\t\t\t\t\tmodelSelectorRef.current?.openAndFocus();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t}\n\t}, [isOpen, initialFocus]);\n\n\tconst handleClose = () => {\n\t\tonClose();\n\t\tsetTimeout(() => {\n\t\t\tchatInputRef?.current?.focus();\n\t\t}, 100);\n\t};\n\n\tconst handleModelChange = (\n\t\tselectedProvider: string,\n\t\tselectedModel: string,\n\t) => {\n\t\tif (onModelSelectorChange) {\n\t\t\tonModelSelectorChange(selectedProvider, selectedModel);\n\t\t} else {\n\t\t\tonProviderChange(selectedProvider);\n\t\t\tonModelChange(selectedModel);\n\t\t}\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\tisOpen={isOpen}\n\t\t\tonClose={handleClose}\n\t\t\ttitle=\"Configuration\"\n\t\t\tcloseOnEscape={true}\n\t\t\tcloseOnBackdropClick={true}\n\t\t\tmaxWidth=\"lg\"\n\t\t\tposition={modalPosition}\n\t\t>\n\t\t\t{configLoading ? (\n\t\t\t\t<div className=\"text-center text-muted-foreground py-8\">\n\t\t\t\t\tLoading configuration...\n\t\t\t\t</div>\n\t\t\t) : config ? (\n\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t{modelSupportsReasoning && (\n\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\tExtended Thinking\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\taria-checked={reasoningEnabled}\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\t\t\treasoningText: !reasoningEnabled,\n\t\t\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${\n\t\t\t\t\t\t\t\t\t\treasoningEnabled ? 'bg-primary' : 'bg-muted'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\t\t\t\t\t\treasoningEnabled ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t\t\t\t\t\t} ${reasoningEnabled ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<ReasoningTabs\n\t\t\t\t\t\t\t\tvalue={reasoningLevel as ReasoningLevel}\n\t\t\t\t\t\t\t\tonChange={(level) =>\n\t\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\t\treasoningLevel: level,\n\t\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={!reasoningEnabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"block text-sm font-medium text-foreground mb-2\">\n\t\t\t\t\t\t\tAgent\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<UnifiedAgentSelector\n\t\t\t\t\t\t\tref={agentSelectorRef}\n\t\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\t\tagents={config.agents}\n\t\t\t\t\t\t\tonChange={onAgentChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"block text-sm font-medium text-foreground mb-2\">\n\t\t\t\t\t\t\tProvider / Model\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<UnifiedModelSelector\n\t\t\t\t\t\t\tref={modelSelectorRef}\n\t\t\t\t\t\t\tprovider={provider}\n\t\t\t\t\t\t\tmodel={model}\n\t\t\t\t\t\t\tonChange={handleModelChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</Modal>\n\t);\n}\n",
65
- "import {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseMemo,\n\tuseImperativeHandle,\n\tforwardRef,\n} from 'react';\nimport { ChevronDown, Search } from 'lucide-react';\nimport Fuse from 'fuse.js';\nimport { useAllModels, useModels } from '../../hooks/useConfig';\nimport { apiClient } from '../../lib/api-client';\nimport type { AllModelsResponse, ProviderModels } from '../../types/api';\n\ninterface UnifiedModelSelectorProps {\n\tprovider: string;\n\tmodel: string;\n\tonChange: (provider: string, model: string) => void;\n\tdisabled?: boolean;\n}\n\ninterface FlattenedModel {\n\tproviderKey: string;\n\tproviderLabel: string;\n\tmodelId: string;\n\tmodelLabel: string;\n\ttoolCall?: boolean;\n\treasoningText?: boolean;\n\tavailable?: boolean;\n\tunavailableReason?: string;\n}\n\nexport interface UnifiedModelSelectorRef {\n\topenAndFocus: () => void;\n}\n\nexport const UnifiedModelSelector = forwardRef<\n\tUnifiedModelSelectorRef,\n\tUnifiedModelSelectorProps\n>(function UnifiedModelSelector(\n\t{ provider, model, onChange, disabled = false },\n\tref,\n) {\n\tconst { data: allModels } = useAllModels();\n\tconst { data: currentProviderModels, isLoading: isCurrentProviderLoading } =\n\t\tuseModels(provider);\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [searchQuery, setSearchQuery] = useState('');\n\tconst [highlightedIndex, setHighlightedIndex] = useState(0);\n\tconst [loadedModels, setLoadedModels] = useState<AllModelsResponse>({});\n\tconst [loadingProviders, setLoadingProviders] = useState<\n\t\tRecord<string, boolean>\n\t>({});\n\tconst [hydratedProviders, setHydratedProviders] = useState<\n\t\tRecord<string, boolean>\n\t>({});\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\tconst itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n\tuseEffect(() => {\n\t\tif (!allModels) return;\n\t\tsetLoadedModels((prev) => {\n\t\t\tconst next: AllModelsResponse = { ...prev };\n\t\t\tfor (const [providerId, providerData] of Object.entries(allModels)) {\n\t\t\t\tnext[providerId] = {\n\t\t\t\t\t...providerData,\n\t\t\t\t\tmodels: hydratedProviders[providerId]\n\t\t\t\t\t\t? (prev[providerId]?.models ?? providerData.models)\n\t\t\t\t\t\t: providerData.models,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn next;\n\t\t});\n\t}, [allModels, hydratedProviders]);\n\n\tconst configuredProviders = useMemo(() => {\n\t\tconst providers = Object.keys(allModels ?? {});\n\t\tif (!provider || providers.includes(provider)) {\n\t\t\treturn providers;\n\t\t}\n\t\treturn [provider, ...providers];\n\t}, [allModels, provider]);\n\n\tuseEffect(() => {\n\t\tif (!provider || !currentProviderModels) return;\n\t\tsetLoadedModels((prev) => ({\n\t\t\t...prev,\n\t\t\t[provider]: {\n\t\t\t\t...(prev[provider] ?? {}),\n\t\t\t\tlabel: currentProviderModels.label || provider,\n\t\t\t\tmodels: currentProviderModels.models,\n\t\t\t},\n\t\t}));\n\t\tsetHydratedProviders((prev) => ({ ...prev, [provider]: true }));\n\t}, [currentProviderModels, provider]);\n\n\tuseEffect(() => {\n\t\tif (!isOpen || !configuredProviders.length) return;\n\n\t\tfor (const providerId of configuredProviders) {\n\t\t\tconst providerData = loadedModels[providerId] ?? allModels?.[providerId];\n\t\t\tif (\n\t\t\t\t!providerData?.dynamicModels ||\n\t\t\t\thydratedProviders[providerId] ||\n\t\t\t\tloadingProviders[providerId]\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsetLoadingProviders((prev) => ({ ...prev, [providerId]: true }));\n\n\t\t\tvoid apiClient\n\t\t\t\t.getModels(providerId)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetLoadedModels((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[providerId]: {\n\t\t\t\t\t\t\t...(prev[providerId] ?? allModels?.[providerId] ?? {}),\n\t\t\t\t\t\t\tlabel: data.label || providerId,\n\t\t\t\t\t\t\tmodels: data.models,\n\t\t\t\t\t\t\tallowAnyModel: data.allowAnyModel,\n\t\t\t\t\t\t\tdynamicModels: true,\n\t\t\t\t\t\t} satisfies ProviderModels,\n\t\t\t\t\t}));\n\t\t\t\t\tsetHydratedProviders((prev) => ({ ...prev, [providerId]: true }));\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tsetHydratedProviders((prev) => ({ ...prev, [providerId]: true }));\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetLoadingProviders((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[providerId]: false,\n\t\t\t\t\t}));\n\t\t\t\t});\n\t\t}\n\t}, [\n\t\tallModels,\n\t\tconfiguredProviders,\n\t\thydratedProviders,\n\t\tisOpen,\n\t\tloadedModels,\n\t\tloadingProviders,\n\t]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\topenAndFocus: () => {\n\t\t\tsetIsOpen(true);\n\t\t},\n\t}));\n\n\tconst flattenedModels = useMemo(() => {\n\t\tconst flattened: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(loadedModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tflattened.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn flattened;\n\t}, [loadedModels]);\n\n\tconst fuse = useMemo(() => {\n\t\treturn new Fuse(flattenedModels, {\n\t\t\tkeys: [\n\t\t\t\t{ name: 'modelLabel', weight: 2 },\n\t\t\t\t{ name: 'modelId', weight: 1 },\n\t\t\t\t{ name: 'providerLabel', weight: 0.5 },\n\t\t\t],\n\t\t\tthreshold: 0.3,\n\t\t\tignoreLocation: true,\n\t\t\tincludeScore: true,\n\t\t\tdistance: 100,\n\t\t\tminMatchCharLength: 1,\n\t\t});\n\t}, [flattenedModels]);\n\n\tconst filteredModels = useMemo(() => {\n\t\tif (!searchQuery.trim()) return loadedModels;\n\n\t\tconst results = fuse.search(searchQuery);\n\n\t\tconst sortedResults = results.sort((a, b) => {\n\t\t\tconst scoreA = a.score ?? 1;\n\t\t\tconst scoreB = b.score ?? 1;\n\t\t\tif (Math.abs(scoreA - scoreB) < 0.001) {\n\t\t\t\tconst labelA = a.item.modelLabel.toLowerCase();\n\t\t\t\tconst labelB = b.item.modelLabel.toLowerCase();\n\t\t\t\tconst query = searchQuery.toLowerCase();\n\t\t\t\tconst indexA = labelA.indexOf(query);\n\t\t\t\tconst indexB = labelB.indexOf(query);\n\t\t\t\tif (indexA >= 0 && indexB < 0) return -1;\n\t\t\t\tif (indexB >= 0 && indexA < 0) return 1;\n\t\t\t\tif (indexA >= 0 && indexB >= 0) return indexA - indexB;\n\t\t\t}\n\t\t\treturn scoreA - scoreB;\n\t\t});\n\n\t\tconst filtered: AllModelsResponse = {};\n\n\t\tfor (const result of sortedResults) {\n\t\t\tconst item = result.item;\n\n\t\t\tif (!filtered[item.providerKey]) {\n\t\t\t\tfiltered[item.providerKey] = {\n\t\t\t\t\tlabel: item.providerLabel,\n\t\t\t\t\tmodels: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst existingModel = filtered[item.providerKey].models.find(\n\t\t\t\t(m) => m.id === item.modelId,\n\t\t\t);\n\t\t\tif (!existingModel) {\n\t\t\t\tfiltered[item.providerKey].models.push({\n\t\t\t\t\tid: item.modelId,\n\t\t\t\t\tlabel: item.modelLabel,\n\t\t\t\t\ttoolCall: item.toolCall,\n\t\t\t\t\treasoningText: item.reasoningText,\n\t\t\t\t\tavailable: item.available,\n\t\t\t\t\tunavailableReason: item.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn filtered;\n\t}, [loadedModels, searchQuery, fuse]);\n\n\tconst filteredFlatList = useMemo(() => {\n\t\tconst list: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(filteredModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tlist.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn list;\n\t}, [filteredModels]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetHighlightedIndex(0);\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisOpen &&\n\t\t\thighlightedIndex >= 0 &&\n\t\t\thighlightedIndex < itemRefs.current.length\n\t\t) {\n\t\t\titemRefs.current[highlightedIndex]?.scrollIntoView({\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t\t}\n\t}, [highlightedIndex, isOpen]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (\n\t\t\t\tdropdownRef.current &&\n\t\t\t\t!dropdownRef.current.contains(event.target as Node)\n\t\t\t) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tconst target = event.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (event.key === 'Escape' || (event.key === 'q' && !isInInput)) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tif (isOpen) {\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.addEventListener('keydown', handleEscape);\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 0);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.removeEventListener('keydown', handleEscape);\n\t\t};\n\t}, [isOpen]);\n\n\tconst handleSelect = (\n\t\tselectedProvider: string,\n\t\tselectedModel: string,\n\t\tavailable?: boolean,\n\t) => {\n\t\tif (available === false) return;\n\t\tonChange(selectedProvider, selectedModel);\n\t\tsetIsOpen(false);\n\t\tsetSearchQuery('');\n\t};\n\n\tconst handleSearchKeyDown = (event: React.KeyboardEvent) => {\n\t\tif (filteredFlatList.length === 0) return;\n\n\t\tif (event.key === 'ArrowDown' || (event.ctrlKey && event.key === 'j')) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev < filteredFlatList.length - 1 ? prev + 1 : 0,\n\t\t\t);\n\t\t} else if (\n\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t(event.ctrlKey && event.key === 'k')\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev > 0 ? prev - 1 : filteredFlatList.length - 1,\n\t\t\t);\n\t\t} else if (event.key === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t\tconst highlighted = filteredFlatList[highlightedIndex];\n\t\t\tif (highlighted && highlighted.available !== false) {\n\t\t\t\thandleSelect(\n\t\t\t\t\thighlighted.providerKey,\n\t\t\t\t\thighlighted.modelId,\n\t\t\t\t\thighlighted.available,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst currentProviderLabel =\n\t\tloadedModels[provider]?.label || currentProviderModels?.label || provider;\n\tconst currentModelLabel =\n\t\tloadedModels[provider]?.models.find((m) => m.id === model)?.label ||\n\t\tcurrentProviderModels?.models.find((m) => m.id === model)?.label ||\n\t\tmodel;\n\tconst displayedProviderKeys = searchQuery.trim()\n\t\t? Object.keys(filteredModels)\n\t\t: configuredProviders;\n\n\treturn (\n\t\t<div ref={dropdownRef} className=\"relative w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName=\"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\t>\n\t\t\t\t<span className=\"flex items-center gap-2 text-sm truncate\">\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t{currentProviderLabel}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]/50\">/</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--foreground))]\">\n\t\t\t\t\t\t{currentModelLabel}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<ChevronDown\n\t\t\t\t\tclassName={`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t\t{isOpen && (\n\t\t\t\t<div className=\"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col\">\n\t\t\t\t\t<div className=\"p-2 border-b border-[hsl(var(--border))]\">\n\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tvalue={searchQuery}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchQuery(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={handleSearchKeyDown}\n\t\t\t\t\t\t\t\tplaceholder=\"Search providers and models...\"\n\t\t\t\t\t\t\t\tclassName=\"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"overflow-y-auto\">\n\t\t\t\t\t\t{displayedProviderKeys.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm\">\n\t\t\t\t\t\t\t\t{isCurrentProviderLoading\n\t\t\t\t\t\t\t\t\t? 'Loading models...'\n\t\t\t\t\t\t\t\t\t: 'No models found'}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tdisplayedProviderKeys.map((providerKey) => {\n\t\t\t\t\t\t\t\tconst providerData = filteredModels[providerKey];\n\t\t\t\t\t\t\t\tconst isProviderLoading =\n\t\t\t\t\t\t\t\t\tloadingProviders[providerKey] ||\n\t\t\t\t\t\t\t\t\t(providerKey === provider &&\n\t\t\t\t\t\t\t\t\t\tisCurrentProviderLoading &&\n\t\t\t\t\t\t\t\t\t\t!providerData);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={providerKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"border-b border-[hsl(var(--border))] last:border-0\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))] z-10\">\n\t\t\t\t\t\t\t\t\t\t\t{providerData?.label || providerKey}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t{isProviderLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tLoading models...\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : providerData?.models.length ? (\n\t\t\t\t\t\t\t\t\t\t\t\tproviderData.models.map((modelItem) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey === provider && modelItem.id === model;\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst flatIndex = filteredFlatList.findIndex(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.providerKey === providerKey &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.modelId === modelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isHighlighted = flatIndex === highlightedIndex;\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isAvailable = modelItem.available !== false;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={modelItem.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (flatIndex >= 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemRefs.current[flatIndex] = el;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!isAvailable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={modelItem.unavailableReason}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSelect(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.available,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetHighlightedIndex(flatIndex)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisHighlighted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-[hsl(var(--accent-foreground))] font-medium'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-[hsl(var(--foreground))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!isAvailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'opacity-60 cursor-not-allowed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isAvailable ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.toolCall ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.reasoningText) && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex gap-1 ml-2 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!isAvailable && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tUnavailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.toolCall && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTools\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.reasoningText && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReasoning\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tNo models available\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
65
+ "import {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseMemo,\n\tuseImperativeHandle,\n\tforwardRef,\n} from 'react';\nimport { ChevronDown, Search } from 'lucide-react';\nimport Fuse from 'fuse.js';\nimport { useAllModels, useModels } from '../../hooks/useConfig';\nimport { apiClient } from '../../lib/api-client';\nimport type { AllModelsResponse, ProviderModels } from '../../types/api';\n\ninterface UnifiedModelSelectorProps {\n\tprovider: string;\n\tmodel: string;\n\tonChange: (provider: string, model: string) => void;\n\tdisabled?: boolean;\n}\n\ninterface FlattenedModel {\n\tproviderKey: string;\n\tproviderLabel: string;\n\tmodelId: string;\n\tmodelLabel: string;\n\ttoolCall?: boolean;\n\treasoningText?: boolean;\n\tcontextWindow?: number;\n\tmaxOutputTokens?: number;\n\tavailable?: boolean;\n\tunavailableReason?: string;\n}\n\nexport interface UnifiedModelSelectorRef {\n\topenAndFocus: () => void;\n}\n\nexport const UnifiedModelSelector = forwardRef<\n\tUnifiedModelSelectorRef,\n\tUnifiedModelSelectorProps\n>(function UnifiedModelSelector(\n\t{ provider, model, onChange, disabled = false },\n\tref,\n) {\n\tconst { data: allModels } = useAllModels();\n\tconst { data: currentProviderModels, isLoading: isCurrentProviderLoading } =\n\t\tuseModels(provider);\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [searchQuery, setSearchQuery] = useState('');\n\tconst [highlightedIndex, setHighlightedIndex] = useState(0);\n\tconst [loadedModels, setLoadedModels] = useState<AllModelsResponse>({});\n\tconst [loadingProviders, setLoadingProviders] = useState<\n\t\tRecord<string, boolean>\n\t>({});\n\tconst [hydratedProviders, setHydratedProviders] = useState<\n\t\tRecord<string, boolean>\n\t>({});\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\tconst itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n\tuseEffect(() => {\n\t\tif (!allModels) return;\n\t\tsetLoadedModels((prev) => {\n\t\t\tconst next: AllModelsResponse = { ...prev };\n\t\t\tfor (const [providerId, providerData] of Object.entries(allModels)) {\n\t\t\t\tnext[providerId] = {\n\t\t\t\t\t...providerData,\n\t\t\t\t\tmodels: hydratedProviders[providerId]\n\t\t\t\t\t\t? (prev[providerId]?.models ?? providerData.models)\n\t\t\t\t\t\t: providerData.models,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn next;\n\t\t});\n\t}, [allModels, hydratedProviders]);\n\n\tconst configuredProviders = useMemo(() => {\n\t\tconst providers = Object.keys(allModels ?? {});\n\t\tif (!provider || providers.includes(provider)) {\n\t\t\treturn providers;\n\t\t}\n\t\treturn [provider, ...providers];\n\t}, [allModels, provider]);\n\n\tuseEffect(() => {\n\t\tif (!provider || !currentProviderModels) return;\n\t\tsetLoadedModels((prev) => ({\n\t\t\t...prev,\n\t\t\t[provider]: {\n\t\t\t\t...(prev[provider] ?? {}),\n\t\t\t\tlabel: currentProviderModels.label || provider,\n\t\t\t\tmodels: currentProviderModels.models,\n\t\t\t},\n\t\t}));\n\t\tsetHydratedProviders((prev) => ({ ...prev, [provider]: true }));\n\t}, [currentProviderModels, provider]);\n\n\tuseEffect(() => {\n\t\tif (!isOpen || !configuredProviders.length) return;\n\n\t\tfor (const providerId of configuredProviders) {\n\t\t\tconst providerData = loadedModels[providerId] ?? allModels?.[providerId];\n\t\t\tif (\n\t\t\t\t!providerData?.dynamicModels ||\n\t\t\t\thydratedProviders[providerId] ||\n\t\t\t\tloadingProviders[providerId]\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsetLoadingProviders((prev) => ({ ...prev, [providerId]: true }));\n\n\t\t\tvoid apiClient\n\t\t\t\t.getModels(providerId)\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetLoadedModels((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[providerId]: {\n\t\t\t\t\t\t\t...(prev[providerId] ?? allModels?.[providerId] ?? {}),\n\t\t\t\t\t\t\tlabel: data.label || providerId,\n\t\t\t\t\t\t\tmodels: data.models,\n\t\t\t\t\t\t\tallowAnyModel: data.allowAnyModel,\n\t\t\t\t\t\t\tdynamicModels: true,\n\t\t\t\t\t\t} satisfies ProviderModels,\n\t\t\t\t\t}));\n\t\t\t\t\tsetHydratedProviders((prev) => ({ ...prev, [providerId]: true }));\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tsetHydratedProviders((prev) => ({ ...prev, [providerId]: true }));\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetLoadingProviders((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[providerId]: false,\n\t\t\t\t\t}));\n\t\t\t\t});\n\t\t}\n\t}, [\n\t\tallModels,\n\t\tconfiguredProviders,\n\t\thydratedProviders,\n\t\tisOpen,\n\t\tloadedModels,\n\t\tloadingProviders,\n\t]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\topenAndFocus: () => {\n\t\t\tsetIsOpen(true);\n\t\t},\n\t}));\n\n\tconst flattenedModels = useMemo(() => {\n\t\tconst flattened: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(loadedModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tflattened.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tcontextWindow: modelItem.contextWindow,\n\t\t\t\t\tmaxOutputTokens: modelItem.maxOutputTokens,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn flattened;\n\t}, [loadedModels]);\n\n\tconst fuse = useMemo(() => {\n\t\treturn new Fuse(flattenedModels, {\n\t\t\tkeys: [\n\t\t\t\t{ name: 'modelLabel', weight: 2 },\n\t\t\t\t{ name: 'modelId', weight: 1 },\n\t\t\t\t{ name: 'providerLabel', weight: 0.5 },\n\t\t\t],\n\t\t\tthreshold: 0.3,\n\t\t\tignoreLocation: true,\n\t\t\tincludeScore: true,\n\t\t\tdistance: 100,\n\t\t\tminMatchCharLength: 1,\n\t\t});\n\t}, [flattenedModels]);\n\n\tconst filteredModels = useMemo(() => {\n\t\tif (!searchQuery.trim()) return loadedModels;\n\n\t\tconst results = fuse.search(searchQuery);\n\n\t\tconst sortedResults = results.sort((a, b) => {\n\t\t\tconst scoreA = a.score ?? 1;\n\t\t\tconst scoreB = b.score ?? 1;\n\t\t\tif (Math.abs(scoreA - scoreB) < 0.001) {\n\t\t\t\tconst labelA = a.item.modelLabel.toLowerCase();\n\t\t\t\tconst labelB = b.item.modelLabel.toLowerCase();\n\t\t\t\tconst query = searchQuery.toLowerCase();\n\t\t\t\tconst indexA = labelA.indexOf(query);\n\t\t\t\tconst indexB = labelB.indexOf(query);\n\t\t\t\tif (indexA >= 0 && indexB < 0) return -1;\n\t\t\t\tif (indexB >= 0 && indexA < 0) return 1;\n\t\t\t\tif (indexA >= 0 && indexB >= 0) return indexA - indexB;\n\t\t\t}\n\t\t\treturn scoreA - scoreB;\n\t\t});\n\n\t\tconst filtered: AllModelsResponse = {};\n\n\t\tfor (const result of sortedResults) {\n\t\t\tconst item = result.item;\n\n\t\t\tif (!filtered[item.providerKey]) {\n\t\t\t\tfiltered[item.providerKey] = {\n\t\t\t\t\tlabel: item.providerLabel,\n\t\t\t\t\tmodels: [],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst existingModel = filtered[item.providerKey].models.find(\n\t\t\t\t(m) => m.id === item.modelId,\n\t\t\t);\n\t\t\tif (!existingModel) {\n\t\t\t\tfiltered[item.providerKey].models.push({\n\t\t\t\t\tid: item.modelId,\n\t\t\t\t\tlabel: item.modelLabel,\n\t\t\t\t\ttoolCall: item.toolCall,\n\t\t\t\t\treasoningText: item.reasoningText,\n\t\t\t\t\tcontextWindow: item.contextWindow,\n\t\t\t\t\tmaxOutputTokens: item.maxOutputTokens,\n\t\t\t\t\tavailable: item.available,\n\t\t\t\t\tunavailableReason: item.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn filtered;\n\t}, [loadedModels, searchQuery, fuse]);\n\n\tconst filteredFlatList = useMemo(() => {\n\t\tconst list: FlattenedModel[] = [];\n\t\tfor (const [providerKey, providerData] of Object.entries(filteredModels)) {\n\t\t\tfor (const modelItem of providerData.models) {\n\t\t\t\tlist.push({\n\t\t\t\t\tproviderKey,\n\t\t\t\t\tproviderLabel: providerData.label,\n\t\t\t\t\tmodelId: modelItem.id,\n\t\t\t\t\tmodelLabel: modelItem.label,\n\t\t\t\t\ttoolCall: modelItem.toolCall,\n\t\t\t\t\treasoningText: modelItem.reasoningText,\n\t\t\t\t\tcontextWindow: modelItem.contextWindow,\n\t\t\t\t\tmaxOutputTokens: modelItem.maxOutputTokens,\n\t\t\t\t\tavailable: modelItem.available,\n\t\t\t\t\tunavailableReason: modelItem.unavailableReason,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn list;\n\t}, [filteredModels]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetHighlightedIndex(0);\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisOpen &&\n\t\t\thighlightedIndex >= 0 &&\n\t\t\thighlightedIndex < itemRefs.current.length\n\t\t) {\n\t\t\titemRefs.current[highlightedIndex]?.scrollIntoView({\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t\t}\n\t}, [highlightedIndex, isOpen]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (\n\t\t\t\tdropdownRef.current &&\n\t\t\t\t!dropdownRef.current.contains(event.target as Node)\n\t\t\t) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tconst target = event.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (event.key === 'Escape' || (event.key === 'q' && !isInInput)) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tif (isOpen) {\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.addEventListener('keydown', handleEscape);\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 0);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.removeEventListener('keydown', handleEscape);\n\t\t};\n\t}, [isOpen]);\n\n\tconst handleSelect = (\n\t\tselectedProvider: string,\n\t\tselectedModel: string,\n\t\tavailable?: boolean,\n\t) => {\n\t\tif (available === false) return;\n\t\tonChange(selectedProvider, selectedModel);\n\t\tsetIsOpen(false);\n\t\tsetSearchQuery('');\n\t};\n\n\tconst handleSearchKeyDown = (event: React.KeyboardEvent) => {\n\t\tif (filteredFlatList.length === 0) return;\n\n\t\tif (event.key === 'ArrowDown' || (event.ctrlKey && event.key === 'j')) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev < filteredFlatList.length - 1 ? prev + 1 : 0,\n\t\t\t);\n\t\t} else if (\n\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t(event.ctrlKey && event.key === 'k')\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev > 0 ? prev - 1 : filteredFlatList.length - 1,\n\t\t\t);\n\t\t} else if (event.key === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t\tconst highlighted = filteredFlatList[highlightedIndex];\n\t\t\tif (highlighted && highlighted.available !== false) {\n\t\t\t\thandleSelect(\n\t\t\t\t\thighlighted.providerKey,\n\t\t\t\t\thighlighted.modelId,\n\t\t\t\t\thighlighted.available,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst currentProviderLabel =\n\t\tloadedModels[provider]?.label || currentProviderModels?.label || provider;\n\tconst currentModelLabel =\n\t\tloadedModels[provider]?.models.find((m) => m.id === model)?.label ||\n\t\tcurrentProviderModels?.models.find((m) => m.id === model)?.label ||\n\t\tmodel;\n\tconst displayedProviderKeys = searchQuery.trim()\n\t\t? Object.keys(filteredModels)\n\t\t: configuredProviders;\n\n\treturn (\n\t\t<div ref={dropdownRef} className=\"relative w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName=\"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\t>\n\t\t\t\t<span className=\"flex items-center gap-2 text-sm truncate\">\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t{currentProviderLabel}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--muted-foreground))]/50\">/</span>\n\t\t\t\t\t<span className=\"text-[hsl(var(--foreground))]\">\n\t\t\t\t\t\t{currentModelLabel}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<ChevronDown\n\t\t\t\t\tclassName={`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}`}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t\t{isOpen && (\n\t\t\t\t<div className=\"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col\">\n\t\t\t\t\t<div className=\"p-2 border-b border-[hsl(var(--border))]\">\n\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tvalue={searchQuery}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchQuery(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={handleSearchKeyDown}\n\t\t\t\t\t\t\t\tplaceholder=\"Search providers and models...\"\n\t\t\t\t\t\t\t\tclassName=\"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"overflow-y-auto\">\n\t\t\t\t\t\t{displayedProviderKeys.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm\">\n\t\t\t\t\t\t\t\t{isCurrentProviderLoading\n\t\t\t\t\t\t\t\t\t? 'Loading models...'\n\t\t\t\t\t\t\t\t\t: 'No models found'}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tdisplayedProviderKeys.map((providerKey) => {\n\t\t\t\t\t\t\t\tconst providerData = filteredModels[providerKey];\n\t\t\t\t\t\t\t\tconst isProviderLoading =\n\t\t\t\t\t\t\t\t\tloadingProviders[providerKey] ||\n\t\t\t\t\t\t\t\t\t(providerKey === provider &&\n\t\t\t\t\t\t\t\t\t\tisCurrentProviderLoading &&\n\t\t\t\t\t\t\t\t\t\t!providerData);\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={providerKey}\n\t\t\t\t\t\t\t\t\t\tclassName=\"border-b border-[hsl(var(--border))] last:border-0\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"sticky top-0 px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))] z-10\">\n\t\t\t\t\t\t\t\t\t\t\t{providerData?.label || providerKey}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t{isProviderLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tLoading models...\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : providerData?.models.length ? (\n\t\t\t\t\t\t\t\t\t\t\t\tproviderData.models.map((modelItem) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey === provider && modelItem.id === model;\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst flatIndex = filteredFlatList.findIndex(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.providerKey === providerKey &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.modelId === modelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isHighlighted = flatIndex === highlightedIndex;\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst isAvailable = modelItem.available !== false;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={modelItem.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (flatIndex >= 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemRefs.current[flatIndex] = el;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!isAvailable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={modelItem.unavailableReason}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSelect(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproviderKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.available,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetHighlightedIndex(flatIndex)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisHighlighted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-[hsl(var(--accent-foreground))] font-medium'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-[hsl(var(--foreground))]'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!isAvailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'opacity-60 cursor-not-allowed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!isAvailable ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.toolCall ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelItem.reasoningText) && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex gap-1 ml-2 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!isAvailable && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tUnavailable\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.toolCall && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTools\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelItem.reasoningText && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReasoning\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tNo models available\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
66
66
  "import {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseMemo,\n\tuseImperativeHandle,\n\tforwardRef,\n} from 'react';\nimport { ChevronDown, Search } from 'lucide-react';\nimport Fuse from 'fuse.js';\n\ninterface UnifiedAgentSelectorProps {\n\tagent: string;\n\tagents: string[];\n\tonChange: (agent: string) => void;\n\tdisabled?: boolean;\n}\n\nexport interface UnifiedAgentSelectorRef {\n\topenAndFocus: () => void;\n}\n\nexport const UnifiedAgentSelector = forwardRef<\n\tUnifiedAgentSelectorRef,\n\tUnifiedAgentSelectorProps\n>(function UnifiedAgentSelector(\n\t{ agent, agents, onChange, disabled = false },\n\tref,\n) {\n\tconst [isOpen, setIsOpen] = useState(false);\n\tconst [searchQuery, setSearchQuery] = useState('');\n\tconst [highlightedIndex, setHighlightedIndex] = useState(0);\n\tconst dropdownRef = useRef<HTMLDivElement>(null);\n\tconst searchInputRef = useRef<HTMLInputElement>(null);\n\tconst itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\topenAndFocus: () => {\n\t\t\tsetIsOpen(true);\n\t\t},\n\t}));\n\n\tconst fuse = useMemo(() => {\n\t\treturn new Fuse(agents, {\n\t\t\tthreshold: 0.4,\n\t\t\tignoreLocation: true,\n\t\t});\n\t}, [agents]);\n\n\tconst filteredAgents = useMemo(() => {\n\t\tif (!searchQuery.trim()) return agents;\n\t\tconst results = fuse.search(searchQuery);\n\t\treturn results.map((result) => result.item);\n\t}, [agents, searchQuery, fuse]);\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetHighlightedIndex(0);\n\t\t}\n\t}, [isOpen]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisOpen &&\n\t\t\thighlightedIndex >= 0 &&\n\t\t\thighlightedIndex < itemRefs.current.length\n\t\t) {\n\t\t\titemRefs.current[highlightedIndex]?.scrollIntoView({\n\t\t\t\tblock: 'nearest',\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t\t}\n\t}, [highlightedIndex, isOpen]);\n\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tif (\n\t\t\t\tdropdownRef.current &&\n\t\t\t\t!dropdownRef.current.contains(event.target as Node)\n\t\t\t) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tconst target = event.target as HTMLElement;\n\t\t\tconst isInInput =\n\t\t\t\ttarget.tagName === 'INPUT' ||\n\t\t\t\ttarget.tagName === 'TEXTAREA' ||\n\t\t\t\ttarget.isContentEditable;\n\t\t\tif (event.key === 'Escape' || (event.key === 'q' && !isInInput)) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tif (isOpen) {\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.addEventListener('keydown', handleEscape);\n\t\t\tsetTimeout(() => searchInputRef.current?.focus(), 0);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.removeEventListener('keydown', handleEscape);\n\t\t};\n\t}, [isOpen]);\n\n\tconst handleSelect = (selectedAgent: string) => {\n\t\tonChange(selectedAgent);\n\t\tsetIsOpen(false);\n\t\tsetSearchQuery('');\n\t};\n\n\tconst handleSearchKeyDown = (event: React.KeyboardEvent) => {\n\t\tif (filteredAgents.length === 0) return;\n\n\t\tif (event.key === 'ArrowDown' || (event.ctrlKey && event.key === 'j')) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev < filteredAgents.length - 1 ? prev + 1 : 0,\n\t\t\t);\n\t\t} else if (\n\t\t\tevent.key === 'ArrowUp' ||\n\t\t\t(event.ctrlKey && event.key === 'k')\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tsetHighlightedIndex((prev) =>\n\t\t\t\tprev > 0 ? prev - 1 : filteredAgents.length - 1,\n\t\t\t);\n\t\t} else if (event.key === 'Enter') {\n\t\t\tevent.preventDefault();\n\t\t\tconst highlighted = filteredAgents[highlightedIndex];\n\t\t\tif (highlighted) {\n\t\t\t\thandleSelect(highlighted);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<div ref={dropdownRef} className=\"relative w-full\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={() => !disabled && setIsOpen(!isOpen)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tclassName=\"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\t>\n\t\t\t\t<span className=\"text-sm text-[hsl(var(--foreground))] truncate\">\n\t\t\t\t\t{agent}\n\t\t\t\t</span>\n\t\t\t\t<ChevronDown\n\t\t\t\t\tclassName={`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${isOpen ? 'rotate-180' : ''}`}\n\t\t\t\t/>\n\t\t\t</button>\n\n\t\t\t{isOpen && (\n\t\t\t\t<div className=\"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col\">\n\t\t\t\t\t<div className=\"p-2 border-b border-[hsl(var(--border))]\">\n\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t<Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tvalue={searchQuery}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchQuery(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={handleSearchKeyDown}\n\t\t\t\t\t\t\t\tplaceholder=\"Search agents...\"\n\t\t\t\t\t\t\t\tclassName=\"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"overflow-y-auto\">\n\t\t\t\t\t\t{filteredAgents.length === 0 ? (\n\t\t\t\t\t\t\t<div className=\"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm\">\n\t\t\t\t\t\t\t\tNo agents found\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tfilteredAgents.map((agentItem, index) => {\n\t\t\t\t\t\t\t\tconst isSelected = agentItem === agent;\n\t\t\t\t\t\t\t\tconst isHighlighted = index === highlightedIndex;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tkey={agentItem}\n\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\titemRefs.current[index] = el;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelect(agentItem)}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={() => setHighlightedIndex(index)}\n\t\t\t\t\t\t\t\t\t\tclassName={`w-full text-left px-4 py-2 text-sm transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\tisHighlighted\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'hover:bg-[hsl(var(--accent))]'\n\t\t\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t? 'text-[hsl(var(--accent-foreground))] font-medium'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'text-[hsl(var(--foreground))]'\n\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span className=\"truncate\">{agentItem}</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
67
67
  "import { useEffect } from 'react';\nimport { Settings } from 'lucide-react';\nimport { useConfig, useModels } from '../../hooks/useConfig';\nimport { usePreferences } from '../../hooks/usePreferences';\n\ninterface ConfigSelectorProps {\n\tagent: string;\n\tprovider: string;\n\tmodel: string;\n\tonAgentChange: (agent: string) => void;\n\tonProviderChange: (provider: string) => void;\n\tonModelChange: (model: string) => void;\n}\n\nexport function ConfigSelector({\n\tagent,\n\tprovider,\n\tmodel,\n\tonAgentChange,\n\tonProviderChange,\n\tonModelChange,\n}: ConfigSelectorProps) {\n\tconst { data: config, isLoading: configLoading } = useConfig();\n\tconst { data: modelsData, isLoading: modelsLoading } = useModels(provider);\n\tconst { preferences } = usePreferences();\n\n\tconsole.log('ConfigSelector rendered', {\n\t\tconfig,\n\t\tconfigLoading,\n\t\tagent,\n\t\tprovider,\n\t\tmodel,\n\t});\n\n\t// Set defaults when config loads\n\tuseEffect(() => {\n\t\tif (config && !agent && !provider && !model) {\n\t\t\tonAgentChange(config.defaults.agent);\n\t\t\tonProviderChange(config.defaults.provider);\n\t\t\tonModelChange(config.defaults.model);\n\t\t}\n\t}, [\n\t\tconfig,\n\t\tagent,\n\t\tprovider,\n\t\tmodel,\n\t\tonAgentChange,\n\t\tonProviderChange,\n\t\tonModelChange,\n\t]);\n\n\t// Update model when provider changes\n\tuseEffect(() => {\n\t\tif (modelsData && modelsData.models.length > 0) {\n\t\t\tconst currentModelExists = modelsData.models.some((m) => m.id === model);\n\t\t\tif (!currentModelExists) {\n\t\t\t\tonModelChange(modelsData.default || modelsData.models[0].id);\n\t\t\t}\n\t\t}\n\t}, [modelsData, model, onModelChange]);\n\n\tif (configLoading) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center gap-2 px-4 py-2 border-t border-border bg-background/50\">\n\t\t\t\t<Settings className=\"h-4 w-4 text-muted-foreground animate-spin\" />\n\t\t\t\t<span className=\"text-xs text-muted-foreground\">Loading config...</span>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (!config) return null;\n\n\tconst selectorWidthClass = preferences.fullWidthContent\n\t\t? 'w-full pointer-events-auto'\n\t\t: 'max-w-3xl mx-auto pointer-events-auto';\n\n\treturn (\n\t\t<div className=\"absolute bottom-24 left-0 right-0 pb-2 px-4 pointer-events-none z-40\">\n\t\t\t<div className={selectorWidthClass}>\n\t\t\t\t<div className=\"flex items-center gap-2 px-4 py-2 border border-border bg-background/95 backdrop-blur-sm rounded-lg\">\n\t\t\t\t\t<Settings className=\"h-4 w-4 text-muted-foreground\" />\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={agent}\n\t\t\t\t\t\tonChange={(e) => onAgentChange(e.target.value)}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{config.agents.map((a) => (\n\t\t\t\t\t\t\t<option key={a} value={a}>\n\t\t\t\t\t\t\t\t{a}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={provider}\n\t\t\t\t\t\tonChange={(e) => onProviderChange(e.target.value)}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{config.providers.map((p) => (\n\t\t\t\t\t\t\t<option key={p} value={p}>\n\t\t\t\t\t\t\t\t{p}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\n\t\t\t\t\t<select\n\t\t\t\t\t\tvalue={model}\n\t\t\t\t\t\tonChange={(e) => onModelChange(e.target.value)}\n\t\t\t\t\t\tdisabled={modelsLoading || !modelsData}\n\t\t\t\t\t\tclassName=\"text-xs bg-background border border-border rounded px-2 py-1 outline-none disabled:opacity-50\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{modelsData?.models.map((m) => (\n\t\t\t\t\t\t\t<option key={m.id} value={m.id}>\n\t\t\t\t\t\t\t\t{m.label}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n",
68
68
  "import { StopCircle } from 'lucide-react';\nimport { useState } from 'react';\nimport { apiClient } from '../../lib/api-client';\n\ninterface StopButtonProps {\n\tsessionId: string;\n\tonStop?: () => void;\n\tdisabled?: boolean;\n}\n\nexport function StopButton({ sessionId, onStop, disabled }: StopButtonProps) {\n\tconst [isAborting, setIsAborting] = useState(false);\n\n\tconst handleStop = async () => {\n\t\tif (isAborting) return;\n\t\tsetIsAborting(true);\n\n\t\ttry {\n\t\t\tawait apiClient.abortSession(sessionId);\n\t\t\tonStop?.();\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to abort stream:', error);\n\t\t} finally {\n\t\t\t// Keep button disabled for a bit to prevent double-clicks\n\t\t\tsetTimeout(() => setIsAborting(false), 1000);\n\t\t}\n\t};\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tonClick={handleStop}\n\t\t\tdisabled={disabled || isAborting}\n\t\t\tclassName=\"flex items-center gap-1.5 text-sm text-destructive hover:text-destructive/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n\t\t\ttitle=\"Stop generation\"\n\t\t>\n\t\t\t<StopCircle className=\"w-4 h-4\" />\n\t\t\t<span className=\"font-medium\">{isAborting ? 'Stopping...' : 'Stop'}</span>\n\t\t</button>\n\t);\n}\n",
69
- "import {\n\tmemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tforwardRef,\n\tuseImperativeHandle,\n\tuseEffect,\n\tuseMemo,\n} from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useConfig, useAllModels } from '../../hooks/useConfig';\nimport { useFileUpload } from '../../hooks/useFileUpload';\nimport { toast } from '../../stores/toastStore';\nimport { ChatInput } from './ChatInput';\nimport { ConfigModal } from './ConfigModal';\nimport { apiClient } from '../../lib/api-client';\nimport { sessionsQueryKey } from '../../hooks/useSessions';\nimport type { Session } from '../../types/api';\n\ninterface NewSessionLandingProps {\n\tonSessionCreated: (sessionId: string) => void;\n\twordmark?: React.ReactNode;\n\tcompact?: boolean;\n\tmodalPosition?: 'fixed' | 'absolute';\n}\n\nexport interface NewSessionLandingRef {\n\tfocus: () => void;\n}\n\nexport const NewSessionLanding = memo(\n\tforwardRef<NewSessionLandingRef, NewSessionLandingProps>(\n\t\tfunction NewSessionLanding(\n\t\t\t{ onSessionCreated, wordmark, compact, modalPosition },\n\t\t\tref,\n\t\t) {\n\t\t\tconst { data: config } = useConfig();\n\t\t\tconst { data: allModels } = useAllModels();\n\t\t\tconst queryClient = useQueryClient();\n\t\t\tconst [sending, setSending] = useState(false);\n\t\t\tconst [transitioning, setTransitioning] = useState(false);\n\t\t\tconst pendingSessionIdRef = useRef<string | null>(null);\n\t\t\tconst [agent, setAgent] = useState('');\n\t\t\tconst [provider, setProvider] = useState('');\n\t\t\tconst [model, setModel] = useState('');\n\t\t\tconst [isConfigOpen, setIsConfigOpen] = useState(false);\n\t\t\tconst [configFocusTarget, setConfigFocusTarget] = useState<\n\t\t\t\t'agent' | 'model' | null\n\t\t\t>(null);\n\t\t\tconst chatInputRef = useRef<{\n\t\t\t\tfocus: () => void;\n\t\t\t\tsetValue: (value: string) => void;\n\t\t\t}>(null);\n\t\t\tconst initializedRef = useRef(false);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (initializedRef.current || !config?.defaults) return;\n\t\t\t\tinitializedRef.current = true;\n\t\t\t\tsetAgent(config.defaults.agent || 'general');\n\t\t\t\tsetProvider(config.defaults.provider || '');\n\t\t\t\tsetModel(config.defaults.model || '');\n\t\t\t}, [config]);\n\n\t\t\tconst modelSupportsVision = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.vision;\n\n\t\t\tconst modelSupportsAttachment = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.attachment;\n\n\t\t\tconst modelSupportsReasoning = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.reasoningText;\n\n\t\t\tconst modelIsFree = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.free;\n\n\t\t\tconst providerAuthType = allModels?.[provider]?.authType;\n\n\t\t\tconst {\n\t\t\t\timages,\n\t\t\t\tdocuments,\n\t\t\t\tisDragging,\n\t\t\t\tremoveFile,\n\t\t\t\tclearFiles,\n\t\t\t\thandlePaste,\n\t\t\t} = useFileUpload({\n\t\t\t\tsupportsImages: !!modelSupportsVision,\n\t\t\t\tsupportsFileAttachments: !!modelSupportsAttachment,\n\t\t\t\tonError: toast.error,\n\t\t\t});\n\n\t\t\tuseImperativeHandle(ref, () => ({\n\t\t\t\tfocus: () => {\n\t\t\t\t\tchatInputRef.current?.focus();\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tuseEffect(() => {\n\t\t\t\tconst timer = setTimeout(() => {\n\t\t\t\t\tchatInputRef.current?.focus();\n\t\t\t\t}, 100);\n\t\t\t\treturn () => clearTimeout(timer);\n\t\t\t}, []);\n\n\t\t\tconst handleAgentChange = useCallback((value: string) => {\n\t\t\t\tsetAgent(value);\n\t\t\t}, []);\n\n\t\t\tconst handlePlanModeToggle = useCallback((isPlanMode: boolean) => {\n\t\t\t\tsetAgent(isPlanMode ? 'plan' : 'build');\n\t\t\t}, []);\n\n\t\t\tconst handleProviderChange = useCallback((value: string) => {\n\t\t\t\tsetProvider(value);\n\t\t\t}, []);\n\n\t\t\tconst handleModelChange = useCallback((value: string) => {\n\t\t\t\tsetModel(value);\n\t\t\t}, []);\n\n\t\t\tconst handleModelSelectorChange = useCallback(\n\t\t\t\t(newProvider: string, newModel: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t},\n\t\t\t\t[],\n\t\t\t);\n\n\t\t\tconst handleToggleConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen((prev) => !prev);\n\t\t\t}, []);\n\n\t\t\tconst handleCloseConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen(false);\n\t\t\t\tsetConfigFocusTarget(null);\n\t\t\t}, []);\n\n\t\t\tconst handleCommand = useCallback((commandId: string) => {\n\t\t\t\tif (commandId === 'models') {\n\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t} else if (commandId === 'agents') {\n\t\t\t\t\tsetConfigFocusTarget('agent');\n\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t}\n\t\t\t}, []);\n\n\t\t\tconst handleSend = useCallback(\n\t\t\t\tasync (content: string) => {\n\t\t\t\t\tif (sending || !content.trim()) return;\n\t\t\t\t\tsetSending(true);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst session: Session = await apiClient.createSession({\n\t\t\t\t\t\t\tagent: agent || 'general',\n\t\t\t\t\t\t\tprovider: provider || undefined,\n\t\t\t\t\t\t\tmodel: model || undefined,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\n\t\t\t\t\t\tconst imageData =\n\t\t\t\t\t\t\timages.length > 0\n\t\t\t\t\t\t\t\t? images.map((img) => ({\n\t\t\t\t\t\t\t\t\t\tdata: img.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: img.mediaType,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst fileData =\n\t\t\t\t\t\t\tdocuments.length > 0\n\t\t\t\t\t\t\t\t? documents.map((f) => ({\n\t\t\t\t\t\t\t\t\t\ttype: f.type,\n\t\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: f.mediaType,\n\t\t\t\t\t\t\t\t\t\ttextContent: f.textContent,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tawait apiClient.sendMessage(session.id, {\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\timages: imageData,\n\t\t\t\t\t\t\tfiles: fileData,\n\t\t\t\t\t\t\tagent: agent || undefined,\n\t\t\t\t\t\t\tprovider: provider || undefined,\n\t\t\t\t\t\t\tmodel: model || undefined,\n\t\t\t\t\t\t\treasoningText:\n\t\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true),\n\t\t\t\t\t\t\treasoningLevel: config?.defaults?.reasoningLevel ?? 'high',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tclearFiles();\n\t\t\t\t\t\tpendingSessionIdRef.current = session.id;\n\t\t\t\t\t\tsetTransitioning(true);\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tif (pendingSessionIdRef.current) {\n\t\t\t\t\t\t\t\tonSessionCreated(pendingSessionIdRef.current);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 250);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t\t: 'Failed to create session',\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetSending(false);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tsending,\n\t\t\t\t\tconfig,\n\t\t\t\t\tagent,\n\t\t\t\t\tprovider,\n\t\t\t\t\tmodel,\n\t\t\t\t\timages,\n\t\t\t\t\tdocuments,\n\t\t\t\t\tclearFiles,\n\t\t\t\t\tonSessionCreated,\n\t\t\t\t\tqueryClient,\n\t\t\t\t\tmodelSupportsReasoning,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst defaultWordmark = useMemo(\n\t\t\t\t() => (\n\t\t\t\t\t<svg\n\t\t\t\t\t\twidth={compact ? 60 : 80}\n\t\t\t\t\t\theight={compact ? 24 : 32}\n\t\t\t\t\t\tviewBox=\"0 0 748 303\"\n\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\tclassName=\"text-muted-foreground/30\"\n\t\t\t\t\t\taria-label=\"otto\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<path d=\"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t),\n\t\t\t\t[compact],\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`flex-1 flex flex-col items-center justify-center px-4 transition-opacity duration-250 ease-out ${\n\t\t\t\t\t\ttransitioning ? 'opacity-0 scale-[0.98]' : 'opacity-100 scale-100'\n\t\t\t\t\t}`}\n\t\t\t\t\tstyle={{ transitionProperty: 'opacity, transform' }}\n\t\t\t\t>\n\t\t\t\t\t<ConfigModal\n\t\t\t\t\t\tisOpen={isConfigOpen}\n\t\t\t\t\t\tonClose={handleCloseConfig}\n\t\t\t\t\t\tinitialFocus={configFocusTarget}\n\t\t\t\t\t\tchatInputRef={chatInputRef}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tprovider={provider}\n\t\t\t\t\t\tmodel={model}\n\t\t\t\t\t\tmodelSupportsReasoning={modelSupportsReasoning}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t\tonProviderChange={handleProviderChange}\n\t\t\t\t\t\tonModelChange={handleModelChange}\n\t\t\t\t\t\tonModelSelectorChange={handleModelSelectorChange}\n\t\t\t\t\t\tmodalPosition={modalPosition}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className={`w-full ${compact ? 'max-w-xl' : 'max-w-2xl'}`}>\n\t\t\t\t\t\t<div className=\"flex justify-center mb-6\">\n\t\t\t\t\t\t\t{wordmark || defaultWordmark}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"relative min-h-[110px]\">\n\t\t\t\t\t\t\t<ChatInput\n\t\t\t\t\t\t\t\tref={chatInputRef}\n\t\t\t\t\t\t\t\tonSend={handleSend}\n\t\t\t\t\t\t\t\tonCommand={handleCommand}\n\t\t\t\t\t\t\t\tdisabled={sending}\n\t\t\t\t\t\t\t\tsessionId={undefined}\n\t\t\t\t\t\t\t\timages={images}\n\t\t\t\t\t\t\t\tdocuments={documents}\n\t\t\t\t\t\t\t\tonFileRemove={removeFile}\n\t\t\t\t\t\t\t\tisDragging={isDragging}\n\t\t\t\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\t\t\t\tvisionEnabled={modelSupportsVision}\n\t\t\t\t\t\t\t\tattachmentEnabled={modelSupportsAttachment}\n\t\t\t\t\t\t\t\tmodelName={model}\n\t\t\t\t\t\t\t\tproviderName={provider}\n\t\t\t\t\t\t\t\tauthType={providerAuthType}\n\t\t\t\t\t\t\t\tisFreeModel={modelIsFree}\n\t\t\t\t\t\t\t\tonConfigClick={handleToggleConfig}\n\t\t\t\t\t\t\t\tonModelInfoClick={() => {\n\t\t\t\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\treasoningEnabled={\n\t\t\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\t\t\tagents={config?.agents}\n\t\t\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t\t\t\tonPlanModeToggle={handlePlanModeToggle}\n\t\t\t\t\t\t\t\tisPlanMode={agent === 'plan'}\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);\n\t\t},\n\t),\n);\n",
69
+ "import {\n\tmemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tforwardRef,\n\tuseImperativeHandle,\n\tuseEffect,\n\tuseMemo,\n} from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useConfig, useAllModels } from '../../hooks/useConfig';\nimport { useFileUpload } from '../../hooks/useFileUpload';\nimport { toast } from '../../stores/toastStore';\nimport { ChatInput } from './ChatInput';\nimport { ConfigModal } from './ConfigModal';\nimport { apiClient } from '../../lib/api-client';\nimport { sessionsQueryKey } from '../../hooks/useSessions';\nimport type { Session } from '../../types/api';\n\ninterface NewSessionLandingProps {\n\tonSessionCreated: (sessionId: string) => void;\n\twordmark?: React.ReactNode;\n\tcompact?: boolean;\n\tmodalPosition?: 'fixed' | 'absolute';\n}\n\nexport interface NewSessionLandingRef {\n\tfocus: () => void;\n}\n\nexport const NewSessionLanding = memo(\n\tforwardRef<NewSessionLandingRef, NewSessionLandingProps>(\n\t\tfunction NewSessionLanding(\n\t\t\t{ onSessionCreated, wordmark, compact, modalPosition },\n\t\t\tref,\n\t\t) {\n\t\t\tconst { data: config } = useConfig();\n\t\t\tconst { data: allModels } = useAllModels();\n\t\t\tconst queryClient = useQueryClient();\n\t\t\tconst [sending, setSending] = useState(false);\n\t\t\tconst [transitioning, setTransitioning] = useState(false);\n\t\t\tconst pendingSessionIdRef = useRef<string | null>(null);\n\t\t\tconst [agent, setAgent] = useState('');\n\t\t\tconst [provider, setProvider] = useState('');\n\t\t\tconst [model, setModel] = useState('');\n\t\t\tconst [isConfigOpen, setIsConfigOpen] = useState(false);\n\t\t\tconst [configFocusTarget, setConfigFocusTarget] = useState<\n\t\t\t\t'agent' | 'model' | null\n\t\t\t>(null);\n\t\t\tconst chatInputRef = useRef<{\n\t\t\t\tfocus: () => void;\n\t\t\t\tsetValue: (value: string) => void;\n\t\t\t}>(null);\n\t\t\tconst initializedRef = useRef(false);\n\n\t\t\tuseEffect(() => {\n\t\t\t\tif (initializedRef.current || !config?.defaults) return;\n\t\t\t\tinitializedRef.current = true;\n\t\t\t\tsetAgent(config.defaults.agent || 'general');\n\t\t\t\tsetProvider(config.defaults.provider || '');\n\t\t\t\tsetModel(config.defaults.model || '');\n\t\t\t}, [config]);\n\n\t\t\tconst modelSupportsVision = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.vision;\n\n\t\t\tconst modelSupportsAttachment = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.attachment;\n\n\t\t\tconst modelSupportsReasoning = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.reasoningText;\n\n\t\t\tconst modelIsFree = allModels?.[provider]?.models?.find(\n\t\t\t\t(m) => m.id === model,\n\t\t\t)?.free;\n\n\t\t\tconst providerAuthType = allModels?.[provider]?.authType;\n\t\t\tconst isCustomProvider =\n\t\t\t\tallModels?.[provider]?.label?.includes('(custom)') ?? false;\n\n\t\t\tconst {\n\t\t\t\timages,\n\t\t\t\tdocuments,\n\t\t\t\tisDragging,\n\t\t\t\tremoveFile,\n\t\t\t\tclearFiles,\n\t\t\t\thandlePaste,\n\t\t\t} = useFileUpload({\n\t\t\t\tsupportsImages: !!modelSupportsVision,\n\t\t\t\tsupportsFileAttachments: !!modelSupportsAttachment,\n\t\t\t\tonError: toast.error,\n\t\t\t});\n\n\t\t\tuseImperativeHandle(ref, () => ({\n\t\t\t\tfocus: () => {\n\t\t\t\t\tchatInputRef.current?.focus();\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tuseEffect(() => {\n\t\t\t\tconst timer = setTimeout(() => {\n\t\t\t\t\tchatInputRef.current?.focus();\n\t\t\t\t}, 100);\n\t\t\t\treturn () => clearTimeout(timer);\n\t\t\t}, []);\n\n\t\t\tconst handleAgentChange = useCallback((value: string) => {\n\t\t\t\tsetAgent(value);\n\t\t\t}, []);\n\n\t\t\tconst handlePlanModeToggle = useCallback((isPlanMode: boolean) => {\n\t\t\t\tsetAgent(isPlanMode ? 'plan' : 'build');\n\t\t\t}, []);\n\n\t\t\tconst handleProviderChange = useCallback((value: string) => {\n\t\t\t\tsetProvider(value);\n\t\t\t}, []);\n\n\t\t\tconst handleModelChange = useCallback((value: string) => {\n\t\t\t\tsetModel(value);\n\t\t\t}, []);\n\n\t\t\tconst handleModelSelectorChange = useCallback(\n\t\t\t\t(newProvider: string, newModel: string) => {\n\t\t\t\t\tsetProvider(newProvider);\n\t\t\t\t\tsetModel(newModel);\n\t\t\t\t},\n\t\t\t\t[],\n\t\t\t);\n\n\t\t\tconst handleToggleConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen((prev) => !prev);\n\t\t\t}, []);\n\n\t\t\tconst handleCloseConfig = useCallback(() => {\n\t\t\t\tsetIsConfigOpen(false);\n\t\t\t\tsetConfigFocusTarget(null);\n\t\t\t}, []);\n\n\t\t\tconst handleCommand = useCallback((commandId: string) => {\n\t\t\t\tif (commandId === 'models') {\n\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t} else if (commandId === 'agents') {\n\t\t\t\t\tsetConfigFocusTarget('agent');\n\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t}\n\t\t\t}, []);\n\n\t\t\tconst handleSend = useCallback(\n\t\t\t\tasync (content: string) => {\n\t\t\t\t\tif (sending || !content.trim()) return;\n\t\t\t\t\tsetSending(true);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst session: Session = await apiClient.createSession({\n\t\t\t\t\t\t\tagent: agent || 'general',\n\t\t\t\t\t\t\tprovider: provider || undefined,\n\t\t\t\t\t\t\tmodel: model || undefined,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\n\t\t\t\t\t\tconst imageData =\n\t\t\t\t\t\t\timages.length > 0\n\t\t\t\t\t\t\t\t? images.map((img) => ({\n\t\t\t\t\t\t\t\t\t\tdata: img.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: img.mediaType,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst fileData =\n\t\t\t\t\t\t\tdocuments.length > 0\n\t\t\t\t\t\t\t\t? documents.map((f) => ({\n\t\t\t\t\t\t\t\t\t\ttype: f.type,\n\t\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\t\tmediaType: f.mediaType,\n\t\t\t\t\t\t\t\t\t\ttextContent: f.textContent,\n\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tawait apiClient.sendMessage(session.id, {\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\timages: imageData,\n\t\t\t\t\t\t\tfiles: fileData,\n\t\t\t\t\t\t\tagent: agent || undefined,\n\t\t\t\t\t\t\tprovider: provider || undefined,\n\t\t\t\t\t\t\tmodel: model || undefined,\n\t\t\t\t\t\t\treasoningText:\n\t\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true),\n\t\t\t\t\t\t\treasoningLevel: config?.defaults?.reasoningLevel ?? 'high',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tclearFiles();\n\t\t\t\t\t\tpendingSessionIdRef.current = session.id;\n\t\t\t\t\t\tsetTransitioning(true);\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tif (pendingSessionIdRef.current) {\n\t\t\t\t\t\t\t\tonSessionCreated(pendingSessionIdRef.current);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 250);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t\t: 'Failed to create session',\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetSending(false);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\tsending,\n\t\t\t\t\tconfig,\n\t\t\t\t\tagent,\n\t\t\t\t\tprovider,\n\t\t\t\t\tmodel,\n\t\t\t\t\timages,\n\t\t\t\t\tdocuments,\n\t\t\t\t\tclearFiles,\n\t\t\t\t\tonSessionCreated,\n\t\t\t\t\tqueryClient,\n\t\t\t\t\tmodelSupportsReasoning,\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tconst defaultWordmark = useMemo(\n\t\t\t\t() => (\n\t\t\t\t\t<svg\n\t\t\t\t\t\twidth={compact ? 60 : 80}\n\t\t\t\t\t\theight={compact ? 24 : 32}\n\t\t\t\t\t\tviewBox=\"0 0 748 303\"\n\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\tclassName=\"text-muted-foreground/30\"\n\t\t\t\t\t\taria-label=\"otto\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<path d=\"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t),\n\t\t\t\t[compact],\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`flex-1 flex flex-col items-center justify-center px-4 transition-opacity duration-250 ease-out ${\n\t\t\t\t\t\ttransitioning ? 'opacity-0 scale-[0.98]' : 'opacity-100 scale-100'\n\t\t\t\t\t}`}\n\t\t\t\t\tstyle={{ transitionProperty: 'opacity, transform' }}\n\t\t\t\t>\n\t\t\t\t\t<ConfigModal\n\t\t\t\t\t\tisOpen={isConfigOpen}\n\t\t\t\t\t\tonClose={handleCloseConfig}\n\t\t\t\t\t\tinitialFocus={configFocusTarget}\n\t\t\t\t\t\tchatInputRef={chatInputRef}\n\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\tprovider={provider}\n\t\t\t\t\t\tmodel={model}\n\t\t\t\t\t\tmodelSupportsReasoning={modelSupportsReasoning}\n\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t\tonProviderChange={handleProviderChange}\n\t\t\t\t\t\tonModelChange={handleModelChange}\n\t\t\t\t\t\tonModelSelectorChange={handleModelSelectorChange}\n\t\t\t\t\t\tmodalPosition={modalPosition}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className={`w-full ${compact ? 'max-w-xl' : 'max-w-2xl'}`}>\n\t\t\t\t\t\t<div className=\"flex justify-center mb-6\">\n\t\t\t\t\t\t\t{wordmark || defaultWordmark}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"relative min-h-[110px]\">\n\t\t\t\t\t\t\t<ChatInput\n\t\t\t\t\t\t\t\tref={chatInputRef}\n\t\t\t\t\t\t\t\tonSend={handleSend}\n\t\t\t\t\t\t\t\tonCommand={handleCommand}\n\t\t\t\t\t\t\t\tdisabled={sending}\n\t\t\t\t\t\t\t\tsessionId={undefined}\n\t\t\t\t\t\t\t\timages={images}\n\t\t\t\t\t\t\t\tdocuments={documents}\n\t\t\t\t\t\t\t\tonFileRemove={removeFile}\n\t\t\t\t\t\t\t\tisDragging={isDragging}\n\t\t\t\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\t\t\t\tvisionEnabled={modelSupportsVision}\n\t\t\t\t\t\t\t\tattachmentEnabled={modelSupportsAttachment}\n\t\t\t\t\t\t\t\tmodelName={model}\n\t\t\t\t\t\t\t\tproviderName={provider}\n\t\t\t\t\t\t\t\tisCustomProvider={isCustomProvider}\n\t\t\t\t\t\t\t\tauthType={providerAuthType}\n\t\t\t\t\t\t\t\tisFreeModel={modelIsFree}\n\t\t\t\t\t\t\t\tonConfigClick={handleToggleConfig}\n\t\t\t\t\t\t\t\tonModelInfoClick={() => {\n\t\t\t\t\t\t\t\t\tsetConfigFocusTarget('model');\n\t\t\t\t\t\t\t\t\tsetIsConfigOpen(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\treasoningEnabled={\n\t\t\t\t\t\t\t\t\tmodelSupportsReasoning &&\n\t\t\t\t\t\t\t\t\t(config?.defaults?.reasoningText ?? true)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tagent={agent}\n\t\t\t\t\t\t\t\tagents={config?.agents}\n\t\t\t\t\t\t\t\tonAgentChange={handleAgentChange}\n\t\t\t\t\t\t\t\tonPlanModeToggle={handlePlanModeToggle}\n\t\t\t\t\t\t\t\tisPlanMode={agent === 'plan'}\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);\n\t\t},\n\t),\n);\n",
70
70
  "import { useEffect, useRef, useState, useMemo, memo, useCallback } from 'react';\nimport { ArrowDown } from 'lucide-react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport type { Message, Session } from '../../types/api';\nimport { AssistantMessageGroup } from './AssistantMessageGroup';\nimport { UserMessageGroup } from './UserMessageGroup';\nimport { SessionHeader } from '../sessions/SessionHeader';\nimport { LeanHeader } from '../sessions/LeanHeader';\nimport { TopupApprovalCard } from './TopupApprovalCard';\nimport { usePreferences } from '../../hooks/usePreferences';\nimport { useTopupApprovalStore } from '../../stores/topupApprovalStore';\nimport { apiClient } from '../../lib/api-client';\nimport { toast } from '../../stores/toastStore';\n\ninterface MessageThreadProps {\n\tmessages: Message[];\n\tsession?: Session;\n\tsessionId?: string;\n\tisGenerating?: boolean;\n\tcompact?: boolean;\n\tdisableAutoScroll?: boolean;\n\tonSelectSession?: (sessionId: string) => void;\n}\n\nexport const MessageThread = memo(function MessageThread({\n\tmessages,\n\tsession,\n\tsessionId,\n\tisGenerating,\n\tcompact = false,\n\tdisableAutoScroll = false,\n\tonSelectSession,\n}: MessageThreadProps) {\n\tconst queryClient = useQueryClient();\n\tconst { preferences } = usePreferences();\n\tconst bottomRef = useRef<HTMLDivElement>(null);\n\tconst scrollContainerRef = useRef<HTMLDivElement>(null);\n\tconst sessionHeaderRef = useRef<HTMLDivElement>(null);\n\tconst [autoScroll, setAutoScroll] = useState(true);\n\tconst autoScrollRef = useRef(true);\n\tconst [showLeanHeader, setShowLeanHeader] = useState(false);\n\tconst userScrollingRef = useRef(false);\n\tconst userScrollTimeoutRef = useRef<\n\t\tReturnType<typeof setTimeout> | undefined\n\t>(undefined);\n\tconst targetScrollRef = useRef(0);\n\tconst animationFrameRef = useRef<number | undefined>(undefined);\n\tconst initialScrollDoneRef = useRef(false);\n\tconst lastSessionIdRef = useRef<string | undefined>(session?.id);\n\tconst prevMessagesLengthRef = useRef(messages.length);\n\tconst prevIsGeneratingRef = useRef(isGenerating);\n\tconst lastScrollHeightRef = useRef(0);\n\tconst lastScrollTopRef = useRef(0);\n\n\tconst pendingTopup = useTopupApprovalStore((s) => s.pendingTopup);\n\tconst clearPendingTopup = useTopupApprovalStore((s) => s.clearPendingTopup);\n\n\tconst showTopupApproval =\n\t\tpendingTopup && pendingTopup.sessionId === sessionId;\n\n\tconst handleScroll = useCallback(() => {\n\t\tconst container = scrollContainerRef.current;\n\t\tif (!container) return;\n\n\t\tconst { scrollTop, scrollHeight, clientHeight } = container;\n\t\tconst distanceFromBottom = scrollHeight - scrollTop - clientHeight;\n\n\t\tconst scrollHeightIncreased = scrollHeight > lastScrollHeightRef.current;\n\t\tconst userScrolledUp = scrollTop < lastScrollTopRef.current - 5;\n\n\t\tlastScrollHeightRef.current = scrollHeight;\n\t\tlastScrollTopRef.current = scrollTop;\n\n\t\tif (distanceFromBottom < 100) {\n\t\t\tautoScrollRef.current = true;\n\t\t\tsetAutoScroll(true);\n\t\t} else if (userScrolledUp) {\n\t\t\tautoScrollRef.current = false;\n\t\t\tsetAutoScroll(false);\n\t\t\tuserScrollingRef.current = true;\n\t\t} else if (!scrollHeightIncreased && autoScrollRef.current) {\n\t\t\tautoScrollRef.current = false;\n\t\t\tsetAutoScroll(false);\n\t\t}\n\t\tif (\n\t\t\tuserScrolledUp ||\n\t\t\t(!autoScrollRef.current && distanceFromBottom >= 100)\n\t\t) {\n\t\t\tif (userScrollTimeoutRef.current) {\n\t\t\t\tclearTimeout(userScrollTimeoutRef.current);\n\t\t\t}\n\t\t\tuserScrollTimeoutRef.current = setTimeout(() => {\n\t\t\t\tuserScrollingRef.current = false;\n\t\t\t}, 150);\n\t\t}\n\n\t\tconst headerElement = sessionHeaderRef.current;\n\t\tif (headerElement) {\n\t\t\tconst headerRect = headerElement.getBoundingClientRect();\n\t\t\tconst containerRect = container.getBoundingClientRect();\n\t\t\tsetShowLeanHeader(headerRect.bottom < containerRect.top);\n\t\t}\n\t}, []);\n\n\t// Immediate scroll to bottom on initial load or session change\n\tuseEffect(() => {\n\t\tif (disableAutoScroll) return;\n\n\t\tconst sessionChanged = session?.id !== lastSessionIdRef.current;\n\t\tlastSessionIdRef.current = session?.id;\n\n\t\tif (sessionChanged) {\n\t\t\tinitialScrollDoneRef.current = false;\n\t\t}\n\n\t\tif (!initialScrollDoneRef.current && messages.length > 0) {\n\t\t\tinitialScrollDoneRef.current = true;\n\t\t\tconst container = scrollContainerRef.current;\n\t\t\tif (container) {\n\t\t\t\tcontainer.scrollTop = container.scrollHeight;\n\t\t\t}\n\t\t}\n\t}, [messages.length, session?.id, disableAutoScroll]);\n\n\tuseEffect(() => {\n\t\tif (disableAutoScroll) return;\n\n\t\tconst justStartedGenerating = isGenerating && !prevIsGeneratingRef.current;\n\t\tconst messagesAdded = messages.length > prevMessagesLengthRef.current;\n\n\t\tprevIsGeneratingRef.current = isGenerating;\n\t\tprevMessagesLengthRef.current = messages.length;\n\n\t\t// Scroll to bottom when generation starts (user just sent a message)\n\t\tif (justStartedGenerating) {\n\t\t\tuserScrollingRef.current = false;\n\t\t\tautoScrollRef.current = true;\n\t\t\tsetAutoScroll(true);\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tconst container = scrollContainerRef.current;\n\t\t\t\t\tif (container) {\n\t\t\t\t\t\tcontainer.scrollTop = container.scrollHeight;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t} else if (messagesAdded && !userScrollingRef.current && !isGenerating) {\n\t\t\tautoScrollRef.current = true;\n\t\t\tsetAutoScroll(true);\n\t\t}\n\t}, [messages.length, isGenerating, disableAutoScroll]);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: messages dep needed for streaming content updates\n\tuseEffect(() => {\n\t\tif (disableAutoScroll) return;\n\n\t\tconst container = scrollContainerRef.current;\n\t\tif (!container || !autoScroll || userScrollingRef.current) return;\n\n\t\ttargetScrollRef.current = container.scrollHeight - container.clientHeight;\n\n\t\tconst animate = () => {\n\t\t\tconst el = scrollContainerRef.current;\n\t\t\tif (!el || userScrollingRef.current) return;\n\n\t\t\tconst current = el.scrollTop;\n\t\t\tconst target = el.scrollHeight - el.clientHeight;\n\t\t\tconst diff = target - current;\n\n\t\t\tif (Math.abs(diff) < 1) {\n\t\t\t\tel.scrollTop = el.scrollHeight - el.clientHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If very close, just snap to bottom\n\t\t\tif (Math.abs(diff) < 10) {\n\t\t\t\tel.scrollTop = el.scrollHeight - el.clientHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tel.scrollTop = current + diff * 0.15;\n\t\t\tanimationFrameRef.current = requestAnimationFrame(animate);\n\t\t};\n\n\t\tif (animationFrameRef.current) {\n\t\t\tcancelAnimationFrame(animationFrameRef.current);\n\t\t}\n\t\tanimationFrameRef.current = requestAnimationFrame(animate);\n\t}, [messages, autoScroll]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (userScrollTimeoutRef.current) {\n\t\t\t\tclearTimeout(userScrollTimeoutRef.current);\n\t\t\t}\n\t\t\tif (animationFrameRef.current) {\n\t\t\t\tcancelAnimationFrame(animationFrameRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst scrollToBottom = () => {\n\t\tuserScrollingRef.current = false;\n\t\tautoScrollRef.current = true;\n\t\tsetAutoScroll(true);\n\t\tconst container = scrollContainerRef.current;\n\t\tif (container) {\n\t\t\tcontainer.scrollTop = container.scrollHeight;\n\t\t}\n\t};\n\n\tconst filteredMessages = useMemo(() => {\n\t\treturn messages.filter((message) => message.role !== 'system');\n\t}, [messages]);\n\n\tconst contentWidthClass = preferences.fullWidthContent\n\t\t? compact\n\t\t\t? 'w-full space-y-4'\n\t\t\t: 'w-full space-y-6'\n\t\t: compact\n\t\t\t? 'max-w-3xl mx-auto space-y-4'\n\t\t\t: 'max-w-3xl mx-auto space-y-6';\n\n\t// Create a retry handler for error messages\n\tconst createRetryHandler = useCallback(\n\t\t(messageId: string) => {\n\t\t\treturn async () => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\tif (!messageId) return;\n\n\t\t\t\tqueryClient.setQueryData<Message[]>(\n\t\t\t\t\t['messages', sessionId],\n\t\t\t\t\t(oldMessages) => {\n\t\t\t\t\t\tif (!oldMessages) return oldMessages;\n\t\t\t\t\t\treturn oldMessages.map((msg) => {\n\t\t\t\t\t\t\tif (msg.id !== messageId) return msg;\n\t\t\t\t\t\t\tconst partsToKeep =\n\t\t\t\t\t\t\t\tmsg.parts?.filter(\n\t\t\t\t\t\t\t\t\t(part: { type: string; toolName?: string }) => {\n\t\t\t\t\t\t\t\t\t\tif (part.type === 'error') return false;\n\t\t\t\t\t\t\t\t\t\tif (part.type === 'tool_call' && part.toolName === 'finish')\n\t\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t\treturn 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\treturn {\n\t\t\t\t\t\t\t\t...msg,\n\t\t\t\t\t\t\t\tstatus: 'pending',\n\t\t\t\t\t\t\t\tparts: partsToKeep,\n\t\t\t\t\t\t\t\terror: null,\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\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.retryMessage(sessionId, messageId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\ttoast.error(\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to retry',\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\t[sessionId, queryClient],\n\t);\n\n\tconst handleCompact = useCallback(async () => {\n\t\tif (!sessionId) return;\n\t\ttry {\n\t\t\tawait apiClient.sendMessage(sessionId, { content: '/compact' });\n\t\t} catch (error) {\n\t\t\ttoast.error(error instanceof Error ? error.message : 'Failed to compact');\n\t\t}\n\t}, [sessionId]);\n\n\tif (messages.length === 0) {\n\t\treturn (\n\t\t\t<div className=\"flex-1 flex items-center justify-center text-muted-foreground text-sm\">\n\t\t\t\tNo messages yet. Start a conversation below.\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"absolute inset-0 flex flex-col\">\n\t\t\t{/* Lean Header - shows when session header scrolls off - positioned within thread */}\n\t\t\t{session && (\n\t\t\t\t<LeanHeader\n\t\t\t\t\tsession={session}\n\t\t\t\t\tisVisible={showLeanHeader}\n\t\t\t\t\tisGenerating={isGenerating}\n\t\t\t\t\tonNavigateToSession={onSelectSession}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tref={scrollContainerRef}\n\t\t\t\tclassName=\"flex-1 overflow-y-auto\"\n\t\t\t\tonScroll={handleScroll}\n\t\t\t>\n\t\t\t\t{/* Session Header - scrolls with content */}\n\t\t\t\t<div ref={sessionHeaderRef}>\n\t\t\t\t\t{session && (\n\t\t\t\t\t\t<SessionHeader\n\t\t\t\t\t\t\tsession={session}\n\t\t\t\t\t\t\tonNavigateToSession={onSelectSession}\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{/* Messages */}\n\t\t\t\t<div className={compact ? 'p-4 pb-56' : 'p-6 pb-64'}>\n\t\t\t\t\t<div className={contentWidthClass}>\n\t\t\t\t\t\t{filteredMessages.map((message, idx) => {\n\t\t\t\t\t\t\tconst prevMessage = filteredMessages[idx - 1];\n\t\t\t\t\t\t\tconst nextMessage = filteredMessages[idx + 1];\n\t\t\t\t\t\t\tconst isLastMessage = idx === filteredMessages.length - 1;\n\n\t\t\t\t\t\t\tif (message.role === 'user') {\n\t\t\t\t\t\t\t\tconst nextAssistantMessage =\n\t\t\t\t\t\t\t\t\tnextMessage && nextMessage.role === 'assistant'\n\t\t\t\t\t\t\t\t\t\t? nextMessage\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<UserMessageGroup\n\t\t\t\t\t\t\t\t\t\tkey={message.id}\n\t\t\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\t\t\t\t\tisFirst={idx === 0}\n\t\t\t\t\t\t\t\t\t\tnextAssistantMessageId={nextAssistantMessage?.id}\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\n\t\t\t\t\t\t\tif (message.role === 'assistant') {\n\t\t\t\t\t\t\t\tconst showHeader =\n\t\t\t\t\t\t\t\t\t!prevMessage || prevMessage.role !== 'assistant';\n\t\t\t\t\t\t\t\tconst nextIsAssistant =\n\t\t\t\t\t\t\t\t\tnextMessage && nextMessage.role === 'assistant';\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<AssistantMessageGroup\n\t\t\t\t\t\t\t\t\t\tkey={message.id}\n\t\t\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\t\t\t\t\tshowHeader={showHeader}\n\t\t\t\t\t\t\t\t\t\thasNextAssistantMessage={nextIsAssistant}\n\t\t\t\t\t\t\t\t\t\tisLastMessage={isLastMessage}\n\t\t\t\t\t\t\t\t\t\tonBranchCreated={onSelectSession}\n\t\t\t\t\t\t\t\t\t\tonRetry={\n\t\t\t\t\t\t\t\t\t\t\tisLastMessage ? createRetryHandler(message.id) : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t\t\t\t\tonCompact={isLastMessage ? handleCompact : undefined}\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\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t{/* Topup Approval Card - shown when payment required */}\n\t\t\t\t\t\t{showTopupApproval && pendingTopup && (\n\t\t\t\t\t\t\t<div className=\"py-4\">\n\t\t\t\t\t\t\t\t<TopupApprovalCard\n\t\t\t\t\t\t\t\t\tpendingTopup={pendingTopup}\n\t\t\t\t\t\t\t\t\tonMethodSelected={() => clearPendingTopup()}\n\t\t\t\t\t\t\t\t\tonCancel={() => clearPendingTopup()}\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\n\t\t\t\t\t\t<div ref={bottomRef} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Scroll to bottom button - only shown when user has scrolled up */}\n\t\t\t{!autoScroll && (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={scrollToBottom}\n\t\t\t\t\tclassName=\"absolute bottom-36 left-1/2 -translate-x-1/2 flex items-center gap-2 px-4 py-2 bg-background border border-border rounded-full shadow-lg hover:bg-muted/50 transition-all text-sm text-foreground z-10\"\n\t\t\t\t>\n\t\t\t\t\t<ArrowDown className=\"w-4 h-4\" />\n\t\t\t\t\t<span>Scroll to bottom</span>\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
71
71
  "import { memo, useState, useCallback, useMemo } from 'react';\nimport {\n\tSparkles,\n\tGitBranch,\n\tCopy,\n\tCheck,\n\tShield,\n\tCheckCheck,\n} from 'lucide-react';\nimport type { Message, MessagePart } from '../../types/api';\nimport { MessagePartItem } from './MessagePartItem';\nimport { CompactActivityGroup } from './CompactActivityGroup';\nimport { ActionToolBox } from './ActionToolBox';\nimport { useMessageQueuePosition } from '../../hooks/useQueueState';\nimport { BranchModal } from '../branch/BranchModal';\nimport { ProviderLogo } from '../common/ProviderLogo';\nimport { useToolApprovalStore } from '../../stores/toolApprovalStore';\nimport { apiClient } from '../../lib/api-client';\nimport {\n\ttype CompactActivityEntry,\n\tbuildCompactActivityEntries,\n\tisCompactActivityPart,\n} from './compactActivity';\n\ninterface AssistantMessageGroupProps {\n\tsessionId?: string;\n\tmessage: Message;\n\tshowHeader: boolean;\n\thasNextAssistantMessage: boolean;\n\tisLastMessage: boolean;\n\tonBranchCreated?: (newSessionId: string) => void;\n\tcompact?: boolean;\n\tshowBranchButton?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\nconst loadingMessages = [\n\t'Generating...',\n\t'Cooking up something...',\n\t'Thinking...',\n\t'Processing...',\n\t'Working on it...',\n\t'Crafting response...',\n\t'Brewing magic...',\n\t'Computing...',\n];\n\nfunction getLoadingMessage(messageId: string) {\n\tconst hash = messageId\n\t\t.split('')\n\t\t.reduce((acc, char) => acc + char.charCodeAt(0), 0);\n\treturn loadingMessages[hash % loadingMessages.length];\n}\n\ntype AssistantRenderItem =\n\t| {\n\t\t\tkind: 'part';\n\t\t\tindex: number;\n\t\t\tpart: MessagePart;\n\t }\n\t| {\n\t\t\tkind: 'group';\n\t\t\tid: string;\n\t\t\tentries: CompactActivityEntry[];\n\t\t\ttitleOverride?: string;\n\t };\n\nexport const AssistantMessageGroup = memo(\n\tfunction AssistantMessageGroup({\n\t\tsessionId,\n\t\tmessage,\n\t\tshowHeader,\n\t\thasNextAssistantMessage,\n\t\tonBranchCreated,\n\t\tcompact,\n\t\tshowBranchButton = true,\n\t\tonNavigateToSession,\n\t\tonRetry,\n\t\tonCompact,\n\t}: AssistantMessageGroupProps) {\n\t\tconst { isQueued } = useMessageQueuePosition(sessionId, message.id);\n\t\tconst [isHovered, setIsHovered] = useState(false);\n\t\tconst [showBranchModal, setShowBranchModal] = useState(false);\n\t\tconst [copied, setCopied] = useState(false);\n\n\t\t// Tool approval handling\n\t\tconst { pendingApprovals, removePendingApproval } = useToolApprovalStore();\n\n\t\tconst handleApprove = useCallback(\n\t\t\tasync (callId: string) => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.approveToolCall(sessionId, callId, true);\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to approve tool call:', error);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[sessionId, removePendingApproval],\n\t\t);\n\n\t\tconst handleReject = useCallback(\n\t\t\tasync (callId: string) => {\n\t\t\t\tif (!sessionId) return;\n\t\t\t\ttry {\n\t\t\t\t\tawait apiClient.approveToolCall(sessionId, callId, false);\n\t\t\t\t\tremovePendingApproval(callId);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Failed to reject tool call:', error);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[sessionId, removePendingApproval],\n\t\t);\n\n\t\t// Handle approving all pending approvals for this message\n\t\tconst messagePendingApprovals = useMemo(() => {\n\t\t\treturn pendingApprovals.filter((a) => a.messageId === message.id);\n\t\t}, [pendingApprovals, message.id]);\n\n\t\tconst handleApproveAll = useCallback(async () => {\n\t\t\tif (!sessionId) return;\n\t\t\ttry {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tmessagePendingApprovals.map((a) =>\n\t\t\t\t\t\tapiClient.approveToolCall(sessionId, a.callId, true),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tfor (const a of messagePendingApprovals) {\n\t\t\t\t\tremovePendingApproval(a.callId);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Failed to approve all tool calls:', error);\n\t\t\t}\n\t\t}, [sessionId, messagePendingApprovals, removePendingApproval]);\n\n\t\t// Sort parts by index to maintain correct order when tool results come in\n\t\tconst parts = useMemo(() => {\n\t\t\tconst rawParts = message.parts || [];\n\t\t\treturn [...rawParts].sort((a, b) => {\n\t\t\t\tconst indexDiff = (a.index ?? 0) - (b.index ?? 0);\n\t\t\t\tif (indexDiff !== 0) return indexDiff;\n\t\t\t\tconst stepDiff = (a.stepIndex ?? 0) - (b.stepIndex ?? 0);\n\t\t\t\tif (stepDiff !== 0) return stepDiff;\n\t\t\t\t// Secondary sort by startedAt for parts with same index\n\t\t\t\treturn (a.startedAt ?? 0) - (b.startedAt ?? 0);\n\t\t\t});\n\t\t}, [message.parts]);\n\n\t\tconst hasFinish = parts.some((part) => part.toolName === 'finish');\n\t\tconst latestProgressUpdateIndex = parts.reduce(\n\t\t\t(lastIndex, part, index) =>\n\t\t\t\tpart.type === 'tool_result' && part.toolName === 'progress_update'\n\t\t\t\t\t? index\n\t\t\t\t\t: lastIndex,\n\t\t\t-1,\n\t\t);\n\t\tconst latestProgressUpdatePart =\n\t\t\tlatestProgressUpdateIndex >= 0 ? parts[latestProgressUpdateIndex] : null;\n\t\tconst liveActionToolCallIds = new Set(\n\t\t\tparts\n\t\t\t\t.filter(\n\t\t\t\t\t(part) =>\n\t\t\t\t\t\tpart.ephemeral &&\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'shell',\n\t\t\t\t\t\t\t'bash',\n\t\t\t\t\t\t\t'edit',\n\t\t\t\t\t\t\t'multiedit',\n\t\t\t\t\t\t\t'write',\n\t\t\t\t\t\t\t'apply_patch',\n\t\t\t\t\t\t\t'terminal',\n\t\t\t\t\t\t].includes(part.toolName || ''),\n\t\t\t\t)\n\t\t\t\t.map((part) => part.toolCallId)\n\t\t\t\t.filter((callId): callId is string => Boolean(callId)),\n\t\t);\n\t\tconst renderItems = useMemo(() => {\n\t\t\tconst items: AssistantRenderItem[] = [];\n\t\t\tlet compactBuffer: MessagePart[] = [];\n\t\t\tlet bufferStartIndex = -1;\n\t\t\tlet pendingTitle: string | undefined;\n\n\t\t\tconst flushCompactBuffer = (nextTitle?: string) => {\n\t\t\t\tif (compactBuffer.length === 0) {\n\t\t\t\t\tif (nextTitle) {\n\t\t\t\t\t\tpendingTitle = nextTitle;\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst entries = buildCompactActivityEntries(compactBuffer);\n\t\t\t\tif (entries.length > 0) {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\tkind: 'group',\n\t\t\t\t\t\tid: `compact-${compactBuffer[0].id}`,\n\t\t\t\t\t\tentries,\n\t\t\t\t\t\ttitleOverride: pendingTitle,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tfor (const [offset, part] of compactBuffer.entries()) {\n\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\tkind: 'part',\n\t\t\t\t\t\t\tindex: bufferStartIndex + offset,\n\t\t\t\t\t\t\tpart,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcompactBuffer = [];\n\t\t\t\tbufferStartIndex = -1;\n\t\t\t\tpendingTitle = nextTitle;\n\t\t\t};\n\n\t\t\tfor (const [index, part] of parts.entries()) {\n\t\t\t\tconst isProgressUpdate =\n\t\t\t\t\t(part.type === 'tool_result' || part.type === 'tool_call') &&\n\t\t\t\t\tpart.toolName === 'progress_update';\n\n\t\t\t\tif (isProgressUpdate) {\n\t\t\t\t\tlet msg: string | undefined;\n\t\t\t\t\tconst payload =\n\t\t\t\t\t\tpart.contentJson && typeof part.contentJson === 'object'\n\t\t\t\t\t\t\t? part.contentJson\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\tif (payload) {\n\t\t\t\t\t\tconst bucket =\n\t\t\t\t\t\t\t(payload as Record<string, unknown>).args ??\n\t\t\t\t\t\t\t(payload as Record<string, unknown>).result;\n\t\t\t\t\t\tif (bucket && typeof bucket === 'object') {\n\t\t\t\t\t\t\tconst m = (bucket as Record<string, unknown>).message;\n\t\t\t\t\t\t\tif (typeof m === 'string' && m.trim()) {\n\t\t\t\t\t\t\t\tmsg = m.trim();\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\tif (msg) {\n\t\t\t\t\t\tflushCompactBuffer(msg);\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (compact && isCompactActivityPart(part)) {\n\t\t\t\t\tif (compactBuffer.length === 0) {\n\t\t\t\t\t\tbufferStartIndex = index;\n\t\t\t\t\t}\n\t\t\t\t\tcompactBuffer.push(part);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tflushCompactBuffer();\n\t\t\t\titems.push({ kind: 'part', index, part });\n\t\t\t}\n\n\t\t\tflushCompactBuffer();\n\t\t\treturn items;\n\t\t}, [parts, compact]);\n\t\tconst hasVisibleNonProgressParts = renderItems.length > 0;\n\t\tconst firstVisiblePartIndex = parts.findIndex(\n\t\t\t(part) =>\n\t\t\t\t!(part.type === 'tool_result' && part.toolName === 'progress_update'),\n\t\t);\n\t\tconst shouldShowProgressUpdate =\n\t\t\tmessage.status === 'pending' &&\n\t\t\t!hasFinish &&\n\t\t\tBoolean(latestProgressUpdatePart);\n\t\tconst shouldShowLoadingFallback =\n\t\t\tmessage.status === 'pending' &&\n\t\t\t!hasFinish &&\n\t\t\t!latestProgressUpdatePart &&\n\t\t\t!isQueued;\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 isComplete = message.status === 'complete';\n\n\t\tconst handleCopy = useCallback(() => {\n\t\t\tconst textParts = parts\n\t\t\t\t.filter((p) => p.type === 'text')\n\t\t\t\t.map((p) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst parsed = JSON.parse(p.content || '{}');\n\t\t\t\t\t\treturn parsed?.text || '';\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn p.content || '';\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.join('\\n');\n\n\t\t\tnavigator.clipboard.writeText(textParts);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}, [parts]);\n\n\t\tconst handleBranchClick = useCallback(() => {\n\t\t\tsetShowBranchModal(true);\n\t\t}, []);\n\n\t\tif (isQueued) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: hover state for showing actions\n\t\t\t<div\n\t\t\t\tclassName=\"relative group\"\n\t\t\t\tonMouseEnter={() => setIsHovered(true)}\n\t\t\t\tonMouseLeave={() => setIsHovered(false)}\n\t\t\t>\n\t\t\t\t{showHeader && (\n\t\t\t\t\t<div className=\"pb-2 flex items-center justify-between\">\n\t\t\t\t\t\t<div className=\"inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4 flex-shrink min-w-0\">\n\t\t\t\t\t\t\t<div className=\"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10\">\n\t\t\t\t\t\t\t\t<Sparkles className=\"h-3.5 w-3.5 text-violet-700 dark:text-violet-300\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-x-1.5 md:gap-x-2 text-xs md:text-sm text-muted-foreground pl-2 md:pl-3 min-w-0\">\n\t\t\t\t\t\t\t\t{message.agent && (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\ttitle={message.agent}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{message.agent}\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{message.provider && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{message.agent && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50\">·</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<ProviderLogo\n\t\t\t\t\t\t\t\t\t\t\tprovider={message.provider}\n\t\t\t\t\t\t\t\t\t\t\tsize={14}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"opacity-70\"\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)}\n\t\t\t\t\t\t\t\t{message.model && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span className=\"hidden md:inline text-muted-foreground/50\">\n\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\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"hidden md:inline text-muted-foreground whitespace-nowrap\"\n\t\t\t\t\t\t\t\t\t\t\ttitle={message.model}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{message.model}\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\t{message.createdAt && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/50\">·</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground whitespace-nowrap\">\n\t\t\t\t\t\t\t\t\t\t\t{formatTime(message.createdAt)}\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</div>\n\t\t\t\t\t\t{isHovered && isComplete && sessionId && showBranchButton && (\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={handleBranchClick}\n\t\t\t\t\t\t\t\tclassName=\"ml-4 p-1.5 text-muted-foreground hover:text-primary transition-colors flex-shrink-0\"\n\t\t\t\t\t\t\t\ttitle=\"Branch from this message\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<GitBranch className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t</button>\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=\"relative ml-1\">\n\t\t\t\t\t{renderItems.map((item, renderIndex) => {\n\t\t\t\t\t\tconst hasFollowingContent =\n\t\t\t\t\t\t\trenderIndex < renderItems.length - 1 ||\n\t\t\t\t\t\t\thasNextAssistantMessage ||\n\t\t\t\t\t\t\tshouldShowProgressUpdate;\n\n\t\t\t\t\t\tif (item.kind === 'group') {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<CompactActivityGroup\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\tentries={item.entries}\n\t\t\t\t\t\t\t\t\ttitleOverride={item.titleOverride}\n\t\t\t\t\t\t\t\t\tshowLine={hasFollowingContent}\n\t\t\t\t\t\t\t\t\tcollapsed={\n\t\t\t\t\t\t\t\t\t\tmessage.status !== 'pending' ||\n\t\t\t\t\t\t\t\t\t\trenderIndex < renderItems.length - 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}\n\n\t\t\t\t\t\tconst { part, index } = item;\n\t\t\t\t\t\tconst isLastPart = index === parts.length - 1;\n\t\t\t\t\t\tconst isActionTool =\n\t\t\t\t\t\t\tpart.ephemeral &&\n\t\t\t\t\t\t\t(part.type === 'tool_call' || part.type === 'tool_result') &&\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'shell',\n\t\t\t\t\t\t\t\t'bash',\n\t\t\t\t\t\t\t\t'edit',\n\t\t\t\t\t\t\t\t'multiedit',\n\t\t\t\t\t\t\t\t'write',\n\t\t\t\t\t\t\t\t'apply_patch',\n\t\t\t\t\t\t\t\t'terminal',\n\t\t\t\t\t\t\t].includes(part.toolName || '');\n\n\t\t\t\t\t\tif (isActionTool) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ActionToolBox\n\t\t\t\t\t\t\t\t\tkey={part.id}\n\t\t\t\t\t\t\t\t\tpart={part}\n\t\t\t\t\t\t\t\t\tshowLine={hasFollowingContent}\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\n\t\t\t\t\t\tconst pendingApproval =\n\t\t\t\t\t\t\tpart.type === 'tool_call' && part.toolCallId\n\t\t\t\t\t\t\t\t? (pendingApprovals.find((a) => a.callId === part.toolCallId) ??\n\t\t\t\t\t\t\t\t\tnull)\n\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tpart.type === 'tool_result' &&\n\t\t\t\t\t\t\tpart.toolCallId &&\n\t\t\t\t\t\t\tliveActionToolCallIds.has(part.toolCallId)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst isFinishTool =\n\t\t\t\t\t\t\tpart.type === 'tool_result' && part.toolName === 'finish';\n\t\t\t\t\t\tconst showLine = hasFollowingContent && !isFinishTool;\n\t\t\t\t\t\tconst isLastToolCall = part.type === 'tool_call' && isLastPart;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MessagePartItem\n\t\t\t\t\t\t\t\tkey={part.id}\n\t\t\t\t\t\t\t\tpart={part}\n\t\t\t\t\t\t\t\tshowLine={showLine}\n\t\t\t\t\t\t\t\tisFirstPart={index === firstVisiblePartIndex && !showHeader}\n\t\t\t\t\t\t\t\tisLastToolCall={isLastToolCall}\n\t\t\t\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t\t\tpendingApproval={pendingApproval}\n\t\t\t\t\t\t\t\tonApprove={handleApprove}\n\t\t\t\t\t\t\t\tonReject={handleReject}\n\t\t\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\t\t\t\tonCompact={onCompact}\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\t{/* Approve All banner when multiple approvals pending */}\n\t\t\t\t\t{messagePendingApprovals.length > 1 && (\n\t\t\t\t\t\t<div className=\"flex items-center gap-3 py-2 px-3 my-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg\">\n\t\t\t\t\t\t\t<Shield className=\"h-4 w-4 text-amber-600 dark:text-amber-400 flex-shrink-0\" />\n\t\t\t\t\t\t\t<span className=\"text-sm text-amber-800 dark:text-amber-200 flex-1\">\n\t\t\t\t\t\t\t\t{messagePendingApprovals.length} tools waiting for approval\n\t\t\t\t\t\t\t</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={handleApproveAll}\n\t\t\t\t\t\t\t\ttitle=\"Approve All (A)\"\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckCheck className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\tApprove All\n\t\t\t\t\t\t\t\t<kbd className=\"ml-1 text-[10px] opacity-70\">A</kbd>\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{shouldShowProgressUpdate && latestProgressUpdatePart && (\n\t\t\t\t\t\t<MessagePartItem\n\t\t\t\t\t\t\tkey={latestProgressUpdatePart.id}\n\t\t\t\t\t\t\tpart={latestProgressUpdatePart}\n\t\t\t\t\t\t\tshowLine={hasNextAssistantMessage}\n\t\t\t\t\t\t\tisFirstPart={!hasVisibleNonProgressParts && !showHeader}\n\t\t\t\t\t\t\tisLastProgressUpdate\n\t\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{shouldShowLoadingFallback && (\n\t\t\t\t\t\t<div className=\"flex gap-3 pb-2 relative\">\n\t\t\t\t\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-card text-violet-700 dark:bg-background dark:text-violet-300\">\n\t\t\t\t\t\t\t\t\t<Sparkles className=\"h-4 w-4\" />\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 className=\"flex-1 pt-0.5\">\n\t\t\t\t\t\t\t\t<div className=\"text-base text-foreground animate-pulse\">\n\t\t\t\t\t\t\t\t\t{getLoadingMessage(message.id)}\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)}\n\t\t\t\t</div>\n\n\t\t\t\t{isComplete && sessionId && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"grid ml-7 transition-[grid-template-rows] duration-200 ease-out\"\n\t\t\t\t\t\tstyle={{ gridTemplateRows: isHovered ? '1fr' : '0fr' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"overflow-hidden\">\n\t\t\t\t\t\t\t<div className=\"flex gap-2 mt-2\">\n\t\t\t\t\t\t\t\t{showBranchButton && (\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={handleBranchClick}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<GitBranch className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\tBranch\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<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<Check className=\"h-3 w-3 text-green-500\" />\n\t\t\t\t\t\t\t\t\t\t\tCopied\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<>\n\t\t\t\t\t\t\t\t\t\t\t<Copy className=\"h-3 w-3\" />\n\t\t\t\t\t\t\t\t\t\t\tCopy\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</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)}\n\n\t\t\t\t{showBranchModal && sessionId && (\n\t\t\t\t\t<BranchModal\n\t\t\t\t\t\tisOpen={showBranchModal}\n\t\t\t\t\t\tonClose={() => setShowBranchModal(false)}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\tonBranchCreated={onBranchCreated}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\tconst prevParts = prevProps.message.parts || [];\n\t\tconst nextParts = nextProps.message.parts || [];\n\n\t\tif (prevParts.length !== nextParts.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let i = 0; i < prevParts.length; i++) {\n\t\t\tconst prevPart = prevParts[i];\n\t\t\tconst nextPart = nextParts[i];\n\t\t\tif (\n\t\t\t\tprevPart.id !== nextPart.id ||\n\t\t\t\tprevPart.index !== nextPart.index ||\n\t\t\t\tprevPart.stepIndex !== nextPart.stepIndex ||\n\t\t\t\tprevPart.type !== nextPart.type ||\n\t\t\t\tprevPart.content !== nextPart.content ||\n\t\t\t\tprevPart.contentJson !== nextPart.contentJson ||\n\t\t\t\tprevPart.toolName !== nextPart.toolName ||\n\t\t\t\tprevPart.toolCallId !== nextPart.toolCallId ||\n\t\t\t\tprevPart.ephemeral !== nextPart.ephemeral ||\n\t\t\t\tprevPart.completedAt !== nextPart.completedAt ||\n\t\t\t\tprevPart.startedAt !== nextPart.startedAt\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\tprevProps.message.id === nextProps.message.id &&\n\t\t\tprevProps.message.status === nextProps.message.status &&\n\t\t\tprevProps.message.completedAt === nextProps.message.completedAt &&\n\t\t\tprevProps.showHeader === nextProps.showHeader &&\n\t\t\tprevProps.hasNextAssistantMessage === nextProps.hasNextAssistantMessage &&\n\t\t\tprevProps.isLastMessage === nextProps.isLastMessage &&\n\t\t\tprevProps.sessionId === nextProps.sessionId &&\n\t\t\tprevProps.compact === nextProps.compact &&\n\t\t\tprevProps.onNavigateToSession === nextProps.onNavigateToSession\n\t\t);\n\t},\n);\n",
72
72
  "import {\n\tSparkles,\n\tLoader2,\n\tGitBranch,\n\tDiff,\n\tGitCommit,\n\tCheck,\n\tTerminal,\n\tFileText,\n\tFileEdit,\n\tSearch,\n\tFolderTree,\n\tList,\n\tAlertCircle,\n\tXOctagon,\n\tBrain,\n\tDatabase,\n\tPlug,\n\tBookOpen,\n} from 'lucide-react';\nimport {\n\tFragment,\n\tmemo,\n\ttype ReactNode,\n\ttype ComponentPropsWithoutRef,\n} from 'react';\nimport type { PendingToolApproval } from '../../stores/toolApprovalStore';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport { ToolApprovalCard } from './ToolApprovalCard';\nimport type { MessagePart } from '../../types/api';\nimport {\n\tToolResultRenderer,\n\tReasoningRenderer,\n\ttype ContentJson,\n} from './renderers';\nimport { CopyButton } from './renderers/shared';\n\nfunction getToolCallPayload(part: MessagePart): Record<string, unknown> | null {\n\tconst fromJson = part.contentJson;\n\tif (fromJson && typeof fromJson === 'object') {\n\t\treturn fromJson;\n\t}\n\ttry {\n\t\tif (part.content) {\n\t\t\tconst parsed = JSON.parse(part.content);\n\t\t\tif (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {\n\t\t\t\treturn parsed as Record<string, unknown>;\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn null;\n}\n\nfunction getToolCallArgs(\n\tpart: MessagePart,\n): Record<string, unknown> | undefined {\n\tconst payload = getToolCallPayload(part);\n\tif (!payload) return undefined;\n\n\tconst args = (payload as { args?: unknown }).args;\n\tif (args && typeof args === 'object' && !Array.isArray(args)) {\n\t\treturn args as Record<string, unknown>;\n\t}\n\n\treturn undefined;\n}\n\nfunction getPrimaryCommand(\n\targs: Record<string, unknown> | undefined,\n): string | null {\n\tif (!args) return null;\n\tconst candidates = ['cmd', 'command', 'script', 'input'];\n\tfor (const key of candidates) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.trim().length > 0) {\n\t\t\treturn value.trim();\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction getPatchedFileFromPatch(patch: string): string | null {\n\tconst match = patch.match(\n\t\t/^\\*\\*\\*\\s+(?:Update|Add|Delete|Replace in):\\s+(.+)$/m,\n\t);\n\treturn match?.[1]?.trim() || null;\n}\n\nfunction normalizeToolName(toolName: string): string {\n\treturn toolName === 'bash' ? 'shell' : toolName;\n}\n\nfunction isShellTool(toolName: string): boolean {\n\treturn normalizeToolName(toolName) === 'shell';\n}\n\nfunction normalizeToolTarget(\n\ttoolName: string,\n\targs: Record<string, unknown> | undefined,\n): { key: string; value: string } | null {\n\tif (!args) return null;\n\tconst candidates = [\n\t\t{ key: 'path', match: true },\n\t\t{ key: 'file', match: true },\n\t\t{ key: 'target', match: true },\n\t\t{ key: 'cwd', match: true },\n\t\t{ key: 'query', match: true },\n\t\t{ key: 'pattern', match: true },\n\t\t{ key: 'glob', match: true },\n\t\t{ key: 'dir', match: true },\n\t];\n\tfor (const { key } of candidates) {\n\t\tconst value = args[key];\n\t\tif (typeof value === 'string' && value.trim().length > 0) {\n\t\t\treturn { key, value: value.trim() };\n\t\t}\n\t}\n\tif (isShellTool(toolName)) {\n\t\tconst command = args.command;\n\t\tif (typeof command === 'string' && command.trim().length > 0) {\n\t\t\treturn { key: 'command', value: command.trim() };\n\t\t}\n\t}\n\tif (toolName === 'apply_patch') {\n\t\tconst patch = args.patch;\n\t\tif (typeof patch === 'string' && patch.trim().length > 0) {\n\t\t\tconst target = getPatchedFileFromPatch(patch);\n\t\t\tif (target) {\n\t\t\t\treturn { key: 'patch', value: target };\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction formatArgsPreview(\n\targs: Record<string, unknown> | undefined,\n\tskipKey?: string,\n): string | null {\n\tif (!args) return null;\n\tconst pieces: string[] = [];\n\tfor (const [key, value] of Object.entries(args)) {\n\t\tif (skipKey && key === skipKey) continue;\n\t\tif (typeof value === 'string' || typeof value === 'number') {\n\t\t\tconst rendered = `${key}=${String(value)}`;\n\t\t\tpieces.push(rendered);\n\t\t}\n\t\tif (pieces.length >= 3) break;\n\t}\n\tif (!pieces.length) return null;\n\tconst joined = pieces.join(' ');\n\treturn joined.length > 120 ? `${joined.slice(0, 117)}…` : joined;\n}\n\ninterface MessagePartItemProps {\n\tpart: MessagePart;\n\tshowLine: boolean;\n\tisFirstPart: boolean;\n\tisLastToolCall?: boolean;\n\tisLastProgressUpdate?: boolean;\n\tonNavigateToSession?: (sessionId: string) => void;\n\tcompact?: boolean;\n\tpendingApproval?: PendingToolApproval | null;\n\tonApprove?: (callId: string) => void;\n\tonReject?: (callId: string) => void;\n\tsessionId?: string;\n\tonRetry?: () => void;\n\tonCompact?: () => void;\n}\n\nexport const MessagePartItem = memo(\n\tfunction MessagePartItem({\n\t\tpart,\n\t\tshowLine,\n\t\tisLastToolCall,\n\t\tisLastProgressUpdate,\n\t\tonNavigateToSession,\n\t\tcompact,\n\t\tpendingApproval,\n\t\tonApprove,\n\t\tonReject,\n\t\tsessionId,\n\t\tonRetry,\n\t\tonCompact,\n\t}: MessagePartItemProps) {\n\t\t// Show tool_call if it's the last one OR if it has a pending approval\n\t\t// Never show loading indicator for progress_update calls\n\t\tif (part.type === 'tool_call') {\n\t\t\tconst toolName = part.toolName || '';\n\t\t\tif (toolName === 'progress_update') return null;\n\t\t\tif (!isLastToolCall && !pendingApproval) return null;\n\t\t}\n\n\t\tif (\n\t\t\tpart.type === 'tool_result' &&\n\t\t\tpart.toolName === 'progress_update' &&\n\t\t\t!isLastProgressUpdate\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (part.type === 'text') {\n\t\t\tconst data = part.contentJson || part.content;\n\t\t\tlet content = '';\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\tcontent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\tcontent = data;\n\t\t\t}\n\t\t\tif (!content || !content.trim()) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tif (part.type === 'reasoning') {\n\t\t\tconst data = part.contentJson || part.content;\n\t\t\tlet content = '';\n\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\tcontent = String(data.text);\n\t\t\t} else if (typeof data === 'string') {\n\t\t\t\tcontent = data;\n\t\t\t}\n\t\t\tif (!content || !content.trim()) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\n\t\tconst isToolMessage =\n\t\t\tpart.type === 'tool_call' || part.type === 'tool_result';\n\n\t\tconst contentClasses = ['flex-1', 'min-w-0', 'max-w-full'];\n\n\t\tif (isToolMessage || part.type === 'reasoning') {\n\t\t\tcontentClasses.push(compact ? 'pt-0.5' : 'pt-1');\n\t\t} else if (part.type === 'error') {\n\t\t\tcontentClasses.push('pt-0.5');\n\t\t} else if (part.type === 'text') {\n\t\t\tcontentClasses.push('pt-0');\n\t\t\tcontentClasses.push('-mt-0.5');\n\t\t} else {\n\t\t\tcontentClasses.push('pt-0');\n\t\t}\n\n\t\tconst contentClassName = contentClasses.join(' ');\n\n\t\tconst renderIcon = () => {\n\t\t\tif (part.type === 'reasoning') {\n\t\t\t\treturn (\n\t\t\t\t\t<Brain className=\"h-4 w-4 text-indigo-600 dark:text-indigo-300\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_call') {\n\t\t\t\treturn (\n\t\t\t\t\t<Loader2 className=\"h-4 w-4 text-amber-600 dark:text-amber-300 animate-spin\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'error') {\n\t\t\t\tconst payload = getToolCallPayload(part);\n\t\t\t\tconst isAborted = payload?.isAborted === true;\n\t\t\t\treturn isAborted ? (\n\t\t\t\t\t<XOctagon className=\"h-4 w-4 text-amber-600 dark:text-amber-400\" />\n\t\t\t\t) : (\n\t\t\t\t\t<AlertCircle className=\"h-4 w-4 text-red-600 dark:text-red-400\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_result') {\n\t\t\t\tconst toolName = part.toolName || '';\n\t\t\t\tif (toolName === 'read')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FileText className=\"h-4 w-4 text-blue-600 dark:text-blue-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'write')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FileEdit className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'ls')\n\t\t\t\t\treturn <List className=\"h-4 w-4 text-cyan-600 dark:text-cyan-300\" />;\n\t\t\t\tif (toolName === 'tree')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FolderTree className=\"h-4 w-4 text-cyan-600 dark:text-cyan-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (isShellTool(toolName))\n\t\t\t\t\treturn <Terminal className=\"h-4 w-4 text-muted-foreground\" />;\n\t\t\t\tif (\n\t\t\t\t\ttoolName === 'ripgrep' ||\n\t\t\t\t\ttoolName === 'grep' ||\n\t\t\t\t\ttoolName === 'glob'\n\t\t\t\t)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Search className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'apply_patch')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Diff className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_status')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GitBranch className=\"h-4 w-4 text-blue-600 dark:text-blue-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_diff')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Diff className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'git_commit')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GitCommit className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'finish')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Check className=\"h-4 w-4 text-emerald-600 dark:text-emerald-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\ttoolName === 'query_sessions' ||\n\t\t\t\t\ttoolName === 'query_messages' ||\n\t\t\t\t\ttoolName === 'search_history' ||\n\t\t\t\t\ttoolName === 'get_session_context' ||\n\t\t\t\t\ttoolName === 'get_parent_session'\n\t\t\t\t)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Database className=\"h-4 w-4 text-teal-600 dark:text-teal-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'terminal')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Terminal className=\"h-4 w-4 text-amber-600 dark:text-amber-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName === 'skill')\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BookOpen className=\"h-4 w-4 text-violet-600 dark:text-violet-300\" />\n\t\t\t\t\t);\n\t\t\t\tif (toolName.includes('__'))\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Plug className=\"h-4 w-4 text-purple-600 dark:text-purple-300\" />\n\t\t\t\t\t);\n\t\t\t\treturn <Terminal className=\"h-4 w-4 text-muted-foreground\" />;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Sparkles className=\"h-4 w-4 text-violet-600 dark:text-violet-300\" />\n\t\t\t);\n\t\t};\n\n\t\tconst renderToolResult = () => {\n\t\t\tconst toolName = part.toolName || '';\n\n\t\t\tlet contentJson: ContentJson;\n\t\t\ttry {\n\t\t\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\t\t\tcontentJson = part.contentJson as ContentJson;\n\t\t\t\t} else if (typeof part.content === 'string') {\n\t\t\t\t\tcontentJson = JSON.parse(part.content);\n\t\t\t\t} else {\n\t\t\t\t\tcontentJson = {};\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tcontentJson = { result: part.content } as ContentJson;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<ToolResultRenderer\n\t\t\t\t\ttoolName={toolName}\n\t\t\t\t\tcontentJson={contentJson}\n\t\t\t\t\ttoolDurationMs={part.toolDurationMs}\n\t\t\t\t\tdebug={false}\n\t\t\t\t\tonNavigateToSession={onNavigateToSession}\n\t\t\t\t\tcompact={compact}\n\t\t\t\t/>\n\t\t\t);\n\t\t};\n\n\t\tconst renderContent = () => {\n\t\t\tif (part.type === 'reasoning') {\n\t\t\t\treturn <ReasoningRenderer part={part} />;\n\t\t\t}\n\n\t\t\tif (part.type === 'text') {\n\t\t\t\tlet content = '';\n\t\t\t\tconst data = part.contentJson || part.content;\n\t\t\t\tif (data && typeof data === 'object' && 'text' in data) {\n\t\t\t\t\tcontent = String(data.text);\n\t\t\t\t} else if (typeof data === 'string') {\n\t\t\t\t\tcontent = data;\n\t\t\t\t} else if (data) {\n\t\t\t\t\tcontent = JSON.stringify(data, null, 2);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"relative group\">\n\t\t\t\t\t\t<div className=\"absolute -top-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\ttext={content}\n\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\tsize=\"md\"\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=\"text-base text-foreground leading-relaxed 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\tpre: ({\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<'pre'>) => {\n\t\t\t\t\t\t\t\t\t\tconst codeContent = (() => {\n\t\t\t\t\t\t\t\t\t\t\tif (!children) return '';\n\t\t\t\t\t\t\t\t\t\t\tconst child = Array.isArray(children)\n\t\t\t\t\t\t\t\t\t\t\t\t? children[0]\n\t\t\t\t\t\t\t\t\t\t\t\t: children;\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tchild &&\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof child === 'object' &&\n\t\t\t\t\t\t\t\t\t\t\t\t'props' in child\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst codeProps = child.props as { children?: unknown };\n\t\t\t\t\t\t\t\t\t\t\t\tif (typeof codeProps.children === 'string') {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn codeProps.children;\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\treturn '';\n\t\t\t\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"relative group/code my-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"absolute top-2 right-2 opacity-0 group-hover/code:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext={codeContent}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\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\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\t<pre {...props} className=\"overflow-x-auto\">\n\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</pre>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t},\n\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{content}\n\t\t\t\t\t\t\t</ReactMarkdown>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{content.length > 500 && (\n\t\t\t\t\t\t\t<div className=\"absolute -bottom-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10\">\n\t\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\t\ttext={content}\n\t\t\t\t\t\t\t\t\tclassName=\"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm\"\n\t\t\t\t\t\t\t\t\tsize=\"md\"\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}\n\n\t\t\tif (part.type === 'error') {\n\t\t\t\tlet contentJson: ContentJson;\n\t\t\t\ttry {\n\t\t\t\t\tif (part.contentJson && typeof part.contentJson === 'object') {\n\t\t\t\t\t\tcontentJson = part.contentJson as ContentJson;\n\t\t\t\t\t} else if (typeof part.content === 'string') {\n\t\t\t\t\t\tcontentJson = JSON.parse(part.content);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontentJson = {};\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tcontentJson = {\n\t\t\t\t\t\tmessage: part.content || 'Unknown error',\n\t\t\t\t\t} as ContentJson;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolResultRenderer\n\t\t\t\t\t\ttoolName=\"error\"\n\t\t\t\t\t\tcontentJson={contentJson}\n\t\t\t\t\t\ttoolDurationMs={part.toolDurationMs}\n\t\t\t\t\t\tdebug={false}\n\t\t\t\t\t\tcompact={compact}\n\t\t\t\t\t\tsessionId={sessionId}\n\t\t\t\t\t\tonRetry={onRetry}\n\t\t\t\t\t\tonCompact={onCompact}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_call') {\n\t\t\t\tconst payload = getToolCallPayload(part);\n\t\t\t\tconst rawToolName =\n\t\t\t\t\tpart.toolName ||\n\t\t\t\t\t(typeof (payload as { name?: unknown })?.name === 'string'\n\t\t\t\t\t\t? ((payload as { name?: unknown }).name as string)\n\t\t\t\t\t\t: 'tool');\n\t\t\t\tconst normalizedToolName = normalizeToolName(rawToolName);\n\t\t\t\tconst toolLabel = normalizedToolName.includes('__')\n\t\t\t\t\t? normalizedToolName.replace('__', ' › ')\n\t\t\t\t\t: normalizedToolName.replace(/_/g, ' ');\n\t\t\t\t// Use args from pending approval if available (for early approval display)\n\t\t\t\t// Fall back to part args for normal tool calls\n\t\t\t\tconst partArgs = getToolCallArgs(part);\n\t\t\t\tconst approvalArgs = pendingApproval?.args as\n\t\t\t\t\t| Record<string, unknown>\n\t\t\t\t\t| undefined;\n\t\t\t\tconst args = partArgs || approvalArgs;\n\t\t\t\tconst primary = normalizeToolTarget(normalizedToolName, args);\n\t\t\t\tconst argsPreview = formatArgsPreview(args, primary?.key);\n\t\t\t\tconst command = isShellTool(normalizedToolName)\n\t\t\t\t\t? getPrimaryCommand(args)\n\t\t\t\t\t: null;\n\t\t\t\tconst segments: Array<{ key: string; node: ReactNode }> = [];\n\t\t\t\tif (command) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'cmd',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<code className=\"font-mono text-foreground/90 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{command}\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t} else if (primary) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'primary',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<code className=\"font-mono text-foreground/85 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{primary.value}\n\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (argsPreview) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'args',\n\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground/80 truncate max-w-xs\">\n\t\t\t\t\t\t\t\t{argsPreview}\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\n\t\t\t\t// Check if this tool call has a pending approval\n\t\t\t\tconst hasPendingApproval =\n\t\t\t\t\tpendingApproval && pendingApproval.callId === part.toolCallId;\n\n\t\t\t\tif (hasPendingApproval && onApprove && onReject) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolApprovalCard\n\t\t\t\t\t\t\ttoolName={rawToolName}\n\t\t\t\t\t\t\targs={args}\n\t\t\t\t\t\t\tpendingApproval={pendingApproval}\n\t\t\t\t\t\t\tonApprove={onApprove}\n\t\t\t\t\t\t\tonReject={onReject}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} else if (segments.length === 0) {\n\t\t\t\t\tsegments.push({\n\t\t\t\t\t\tkey: 'running',\n\t\t\t\t\t\tnode: <span className=\"text-muted-foreground/75\">running…</span>,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst containerClasses = [\n\t\t\t\t\t'flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-foreground/80 max-w-full',\n\t\t\t\t];\n\t\t\t\tif (part.ephemeral) containerClasses.push('animate-pulse');\n\t\t\t\treturn (\n\t\t\t\t\t<div className={containerClasses.join(' ')}>\n\t\t\t\t\t\t<span className=\"font-medium text-foreground\">{toolLabel}</span>\n\t\t\t\t\t\t{segments.map((segment) => (\n\t\t\t\t\t\t\t<Fragment key={segment.key}>\n\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground/65\">·</span>\n\t\t\t\t\t\t\t\t{segment.node}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (part.type === 'tool_result') {\n\t\t\t\treturn renderToolResult();\n\t\t\t}\n\n\t\t\treturn null;\n\t\t};\n\n\t\treturn (\n\t\t\t<div className=\"flex gap-3 pb-2 relative max-w-full overflow-hidden\">\n\t\t\t\t<div className=\"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5\">\n\t\t\t\t\t<div className=\"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background\">\n\t\t\t\t\t\t{renderIcon()}\n\t\t\t\t\t</div>\n\t\t\t\t\t{showLine && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0\"\n\t\t\t\t\t\t\tstyle={{ top: '1.25rem', bottom: '-0.5rem' }}\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={contentClassName}>{renderContent()}</div>\n\t\t\t</div>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\treturn (\n\t\t\tprevProps.part.id === nextProps.part.id &&\n\t\t\tprevProps.part.content === nextProps.part.content &&\n\t\t\tprevProps.part.contentJson === nextProps.part.contentJson &&\n\t\t\tprevProps.part.ephemeral === nextProps.part.ephemeral &&\n\t\t\tprevProps.part.completedAt === nextProps.part.completedAt &&\n\t\t\tprevProps.showLine === nextProps.showLine &&\n\t\t\tprevProps.isLastToolCall === nextProps.isLastToolCall &&\n\t\t\tprevProps.isLastProgressUpdate === nextProps.isLastProgressUpdate &&\n\t\t\tprevProps.compact === nextProps.compact &&\n\t\t\tprevProps.onNavigateToSession === nextProps.onNavigateToSession &&\n\t\t\tprevProps.pendingApproval?.callId === nextProps.pendingApproval?.callId &&\n\t\t\tprevProps.onApprove === nextProps.onApprove &&\n\t\t\tprevProps.onReject === nextProps.onReject\n\t\t);\n\t},\n);\n",
@@ -153,8 +153,8 @@
153
153
  "import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { API_BASE_URL } from '../lib/config';\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\tprivate get baseUrl(): string {\n\t\t// Check for runtime injected URL first\n\t\tconst win = window as Window & { OTTO_SERVER_URL?: string };\n\t\tif (win.OTTO_SERVER_URL) {\n\t\t\treturn win.OTTO_SERVER_URL;\n\t\t}\n\t\t// Check for Vite env var\n\t\tif (import.meta.env?.VITE_API_BASE_URL) {\n\t\t\treturn import.meta.env.VITE_API_BASE_URL;\n\t\t}\n\t\treturn API_BASE_URL;\n\t}\n\n\tasync listResearchSessions(\n\t\tparentSessionId: string,\n\t): Promise<ResearchSessionsResponse> {\n\t\tconst response = await fetch(\n\t\t\t`${this.baseUrl}/v1/sessions/${parentSessionId}/research`,\n\t\t\t{\n\t\t\t\tmethod: 'GET',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to fetch research sessions' }));\n\t\t\tthrow new Error(error.error || 'Failed to fetch research sessions');\n\t\t}\n\n\t\treturn response.json();\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 fetch(\n\t\t\t`${this.baseUrl}/v1/sessions/${parentSessionId}/research`,\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\tbody: JSON.stringify(data),\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to create research session' }));\n\t\t\tthrow new Error(error.error || 'Failed to create research session');\n\t\t}\n\n\t\treturn response.json();\n\t}\n\n\tasync deleteResearchSession(\n\t\tresearchId: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await fetch(`${this.baseUrl}/v1/research/${researchId}`, {\n\t\t\tmethod: 'DELETE',\n\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t});\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to delete research session' }));\n\t\t\tthrow new Error(error.error || 'Failed to delete research session');\n\t\t}\n\n\t\treturn response.json();\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 fetch(\n\t\t\t`${this.baseUrl}/v1/sessions/${parentSessionId}/inject`,\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\tbody: JSON.stringify({ researchSessionId, label }),\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to inject context' }));\n\t\t\tthrow new Error(error.error || 'Failed to inject context');\n\t\t}\n\n\t\treturn response.json();\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 fetch(\n\t\t\t`${this.baseUrl}/v1/research/${researchId}/export`,\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\t\tbody: JSON.stringify(data ?? {}),\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tconst error = await response\n\t\t\t\t.json()\n\t\t\t\t.catch(() => ({ error: 'Failed to export to session' }));\n\t\t\tthrow new Error(error.error || 'Failed to export to session');\n\t\t}\n\n\t\treturn response.json();\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
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-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Research (⌘⇧R)\"\n\t\t>\n\t\t\t<FlaskConical className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t\t{sessionCount > 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{sessionCount > 9 ? '9+' : sessionCount}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</button>\n\t);\n});\n",
155
155
  "import { memo, useState, useMemo, useCallback, useEffect } from 'react';\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} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\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;\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 items-center justify-between text-sm\">\n\t\t\t<span className=\"text-muted-foreground\">{label}</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 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 selectedOption = options.find((o) => o.id === value);\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\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\t<>\n\t\t\t\t\t\t{/* biome-ignore lint/a11y/noStaticElementInteractions: click-away backdrop pattern */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"fixed inset-0 z-40\"\n\t\t\t\t\t\t\tonClick={() => setIsOpen(false)}\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"absolute right-0 top-full mt-1 z-50 min-w-[160px] max-h-[200px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg\">\n\t\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tkey={option.id}\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tonChange(option.id);\n\t\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t\t}}\n\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\toption.id === value ? 'bg-muted/50' : ''\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{option.label}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\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\nexport const SettingsSidebar = memo(function SettingsSidebar() {\n\tconst isExpanded = useSettingsStore((state) => state.isExpanded);\n\tconst collapseSidebar = useSettingsStore((state) => state.collapseSidebar);\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 { preferences, updatePreferences } = usePreferences();\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=\"Preferences\"\n\t\t\t\t\t\ticon={<User className=\"w-4 h-4 text-muted-foreground\" />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Vim Mode\"\n\t\t\t\t\t\t\tchecked={preferences.vimMode}\n\t\t\t\t\t\t\tonChange={(checked) => updatePreferences({ vimMode: checked })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Compact Thread\"\n\t\t\t\t\t\t\tchecked={preferences.compactThread}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdatePreferences({ compactThread: checked })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Full Width Content\"\n\t\t\t\t\t\t\tchecked={preferences.fullWidthContent}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdatePreferences({ fullWidthContent: checked })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<NumberInputRow\n\t\t\t\t\t\t\tlabel=\"Auto Compact\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.autoCompactThresholdTokens}\n\t\t\t\t\t\t\tonCommit={(value) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\tautoCompactThresholdTokens: value,\n\t\t\t\t\t\t\t\t\tscope: 'global',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder=\"Tokens\"\n\t\t\t\t\t\t\tdisabled={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Show Reasoning\"\n\t\t\t\t\t\t\tchecked={config?.defaults?.reasoningText ?? true}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\treasoningText: checked,\n\t\t\t\t\t\t\t\t\tscope: 'global',\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<SelectRow\n\t\t\t\t\t\t\tlabel=\"Reasoning Level\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.reasoningLevel ?? 'high'}\n\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t{ id: 'minimal', label: 'Minimal' },\n\t\t\t\t\t\t\t\t{ id: 'low', label: 'Low' },\n\t\t\t\t\t\t\t\t{ id: 'medium', label: 'Medium' },\n\t\t\t\t\t\t\t\t{ id: 'high', label: 'High' },\n\t\t\t\t\t\t\t\t{ id: 'max', label: 'Max' },\n\t\t\t\t\t\t\t\t{ id: 'xhigh', label: 'Extra High' },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\treasoningLevel: value as\n\t\t\t\t\t\t\t\t\t\t| 'minimal'\n\t\t\t\t\t\t\t\t\t\t| 'low'\n\t\t\t\t\t\t\t\t\t\t| 'medium'\n\t\t\t\t\t\t\t\t\t\t| 'high'\n\t\t\t\t\t\t\t\t\t\t| 'max'\n\t\t\t\t\t\t\t\t\t\t| 'xhigh',\n\t\t\t\t\t\t\t\t\tscope: 'global',\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={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=\"Tool Approval\"\n\t\t\t\t\t\t\tvalue={config?.defaults?.toolApproval ?? 'dangerous'}\n\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t{ id: 'auto', label: 'Auto (no approval)' },\n\t\t\t\t\t\t\t\t{ id: 'dangerous', label: 'Dangerous only' },\n\t\t\t\t\t\t\t\t{ id: 'yolo', label: 'YOLO (hard blocks only)' },\n\t\t\t\t\t\t\t\t{ id: 'all', label: 'All tools' },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tonChange={(value) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\ttoolApproval: value as 'auto' | 'dangerous' | 'all' | 'yolo',\n\t\t\t\t\t\t\t\t\tscope: 'global',\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={updateDefaults.isPending}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleRow\n\t\t\t\t\t\t\tlabel=\"Guided Mode\"\n\t\t\t\t\t\t\tchecked={config?.defaults?.guidedMode ?? false}\n\t\t\t\t\t\t\tonChange={(checked) =>\n\t\t\t\t\t\t\t\tupdateDefaults.mutate({\n\t\t\t\t\t\t\t\t\tguidedMode: checked,\n\t\t\t\t\t\t\t\t\tscope: 'global',\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</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\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
- "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\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
- "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 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 result = 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\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",
156
+ "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
+ "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\tscope: 'local',\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
158
  "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
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-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${\n\t\t\t\tisExpanded\n\t\t\t\t\t? 'bg-muted border-primary'\n\t\t\t\t\t: 'border-transparent hover:bg-muted/50'\n\t\t\t}`}\n\t\t\ttitle=\"Settings\"\n\t\t>\n\t\t\t<Settings className=\"w-5 h-5 text-muted-foreground mx-auto\" />\n\t\t</button>\n\t);\n});\n",
160
160
  "import { memo, useState } from 'react';\nimport {\n\tGlobe,\n\tChevronRight,\n\tLoader2,\n\tAlertCircle,\n\tCopy,\n\tCheck,\n\tExternalLink,\n\tClock,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { Button } from '../ui/Button';\nimport { useTunnelStore } from '../../stores/tunnelStore';\nimport {\n\tuseStartTunnel,\n\tuseStopTunnel,\n\tuseTunnelStream,\n\tuseTunnelStatus,\n} from '../../hooks/useTunnel';\nimport { openUrl } from '../../lib/open-url';\n\nfunction truncateUrl(url: string): string {\n\ttry {\n\t\tconst parsed = new URL(url);\n\t\tconst host = parsed.hostname;\n\t\tif (host.length > 24) {\n\t\t\treturn `${host.slice(0, 12)}...${host.slice(-8)}`;\n\t\t}\n\t\treturn host;\n\t} catch {\n\t\treturn url.length > 24 ? `${url.slice(0, 12)}...${url.slice(-8)}` : url;\n\t}\n}\n\nexport const TunnelSidebar = memo(function TunnelSidebar() {\n\tconst isExpanded = useTunnelStore((s) => s.isExpanded);\n\tconst collapseSidebar = useTunnelStore((s) => s.collapseSidebar);\n\tconst status = useTunnelStore((s) => s.status);\n\tconst url = useTunnelStore((s) => s.url);\n\tconst error = useTunnelStore((s) => s.error);\n\tconst progress = useTunnelStore((s) => s.progress);\n\n\tconst startTunnel = useStartTunnel();\n\tconst stopTunnel = useStopTunnel();\n\tconst [copied, setCopied] = useState(false);\n\n\tuseTunnelStatus();\n\tuseTunnelStream();\n\n\tconst handleCopyUrl = async () => {\n\t\tif (url) {\n\t\t\tawait navigator.clipboard.writeText(url);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}\n\t};\n\n\tconst handleStart = () => {\n\t\tstartTunnel.mutate();\n\t};\n\n\tconst handleStop = () => {\n\t\tstopTunnel.mutate();\n\t};\n\n\tif (!isExpanded) return null;\n\n\treturn (\n\t\t<div className=\"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full\">\n\t\t\t<div className=\"h-14 flex items-center justify-between px-3 border-b border-border\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Globe className=\"w-4 h-4 text-muted-foreground\" />\n\t\t\t\t\t<span className=\"font-medium text-sm\">Remote Access</span>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tonClick={collapseSidebar}\n\t\t\t\t\ttitle=\"Close sidebar\"\n\t\t\t\t>\n\t\t\t\t\t<ChevronRight className=\"w-4 h-4\" />\n\t\t\t\t</Button>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex-1 overflow-y-auto p-4\">\n\t\t\t\t{status === 'idle' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t<Globe className=\"w-12 h-12 text-muted-foreground/30 mb-4\" />\n\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Access from anywhere</h3>\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[200px]\">\n\t\t\t\t\t\t\tStart a secure tunnel to access otto from your phone or another\n\t\t\t\t\t\t\tdevice.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStart}\n\t\t\t\t\t\t\tdisabled={startTunnel.isPending}\n\t\t\t\t\t\t\tclassName=\"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{startTunnel.isPending ? 'Starting...' : 'Start Tunnel'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'starting' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t<Loader2 className=\"w-8 h-8 text-primary animate-spin mb-4\" />\n\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Setting up...</h3>\n\t\t\t\t\t\t{progress && (\n\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground max-w-[220px] break-words\">\n\t\t\t\t\t\t\t\t{progress}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'connected' && url && (\n\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 mb-4\">\n\t\t\t\t\t\t\t<div className=\"w-2 h-2 rounded-full bg-green-500 animate-pulse\" />\n\t\t\t\t\t\t\t<span className=\"text-xs font-medium text-green-600\">\n\t\t\t\t\t\t\t\tConnected\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex justify-center pb-4\">\n\t\t\t\t\t\t\t<div className=\"p-3 bg-white rounded-lg\">\n\t\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\t\tvalue={url}\n\t\t\t\t\t\t\t\t\tsize={160}\n\t\t\t\t\t\t\t\t\tlevel=\"M\"\n\t\t\t\t\t\t\t\t\tincludeMargin={false}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-4 text-center\">\n\t\t\t\t\t\t\tScan with your phone camera\n\t\t\t\t\t\t</p>\n\n\t\t\t\t\t\t<div className=\"flex items-center justify-between text-sm mb-4\">\n\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">URL</span>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tonClick={handleCopyUrl}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors\"\n\t\t\t\t\t\t\t\ttitle=\"Copy URL\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{truncateUrl(url)}\n\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t<Check className=\"w-3 h-3 text-green-500\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Copy className=\"w-3 h-3 text-muted-foreground\" />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => openUrl(url)}\n\t\t\t\t\t\t\tclassName=\"flex items-center justify-center gap-2 px-4 py-2 border border-border rounded-md text-sm hover:bg-muted transition-colors mb-3\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ExternalLink className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\tOpen in browser\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStop}\n\t\t\t\t\t\t\tdisabled={stopTunnel.isPending}\n\t\t\t\t\t\t\tclassName=\"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{stopTunnel.isPending ? 'Stopping...' : 'Stop Tunnel'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{status === 'error' && (\n\t\t\t\t\t<div className=\"flex flex-col items-center justify-center h-full text-center\">\n\t\t\t\t\t\t{error?.includes('Rate limited') ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Clock className=\"w-8 h-8 text-yellow-500 mb-4\" />\n\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Rate Limited</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[220px]\">\n\t\t\t\t\t\t\t\t\tCloudflare limits anonymous tunnel requests. Please wait 5-10\n\t\t\t\t\t\t\t\t\tminutes before trying again.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<AlertCircle className=\"w-8 h-8 text-destructive mb-4\" />\n\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-medium mb-2\">Connection failed</h3>\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground mb-6 max-w-[200px]\">\n\t\t\t\t\t\t\t\t\t{error || 'Unable to establish tunnel connection.'}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleStart}\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\tstartTunnel.isPending || error?.includes('Rate limited')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\t\terror?.includes('Rate limited')\n\t\t\t\t\t\t\t\t\t? 'Wait 5-10 minutes'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{error?.includes('Rate limited')\n\t\t\t\t\t\t\t\t? 'Wait & Try Again'\n\t\t\t\t\t\t\t\t: 'Try Again'}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n",
@@ -174,11 +174,11 @@
174
174
  "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
175
  "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();\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
176
  "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",
177
- "import { memo } from 'react';\nimport { ProviderSetupStep } from './steps/ProviderSetupStep';\nimport { DefaultsStep } from './steps/DefaultsStep';\nimport { useOnboardingStore } from '../../stores/onboardingStore';\nimport { useOttoRouterStore } from '../../stores/ottorouterStore';\nimport { useAuthStatus } from '../../hooks/useAuthStatus';\n\ninterface OnboardingModalProps {\n\thideHeader?: boolean;\n}\n\nexport const OnboardingModal = memo(function OnboardingModal({\n\thideHeader = false,\n}: OnboardingModalProps) {\n\tconst isOpen = useOnboardingStore((s) => s.isOpen);\n\tconst currentStep = useOnboardingStore((s) => s.currentStep);\n\tconst manageMode = useOnboardingStore((s) => s.manageMode);\n\tconst authStatus = useOnboardingStore((s) => s.authStatus);\n\tconst nextStep = useOnboardingStore((s) => s.nextStep);\n\tconst prevStep = useOnboardingStore((s) => s.prevStep);\n\tconst reset = useOnboardingStore((s) => s.reset);\n\tconst openTopupModal = useOttoRouterStore((s) => s.openTopupModal);\n\n\tconst {\n\t\tsetupWallet,\n\t\timportWallet,\n\t\taddProvider,\n\t\tremoveProvider,\n\t\tcompleteOnboarding,\n\t\tstartOAuth,\n\t\tstartOAuthManual,\n\t\texchangeOAuthCode,\n\t\tstartCopilotDeviceFlow,\n\t\tpollCopilotDeviceFlow,\n\t\tgetCopilotAuthMethods,\n\t\tsaveCopilotToken,\n\t\timportCopilotTokenFromGh,\n\t\tgetCopilotDiagnostics,\n\t} = useAuthStatus();\n\n\tif (!isOpen || !authStatus) return null;\n\n\treturn (\n\t\t<div className=\"fixed inset-0 z-[9999] bg-background text-foreground overflow-y-auto\">\n\t\t\t{currentStep === 'wallet' && (\n\t\t\t\t<ProviderSetupStep\n\t\t\t\t\tauthStatus={authStatus}\n\t\t\t\t\tonSetupWallet={setupWallet}\n\t\t\t\t\tonImportWallet={importWallet}\n\t\t\t\t\tonAddProvider={addProvider}\n\t\t\t\t\tonRemoveProvider={removeProvider}\n\t\t\t\t\tonStartOAuth={startOAuth}\n\t\t\t\t\tonStartOAuthManual={startOAuthManual}\n\t\t\t\t\tonExchangeOAuthCode={exchangeOAuthCode}\n\t\t\t\t\tonOpenTopup={openTopupModal}\n\t\t\t\t\tonNext={nextStep}\n\t\t\t\t\tmanageMode={manageMode}\n\t\t\t\t\tonClose={reset}\n\t\t\t\t\thideHeader={hideHeader}\n\t\t\t\t\tonStartCopilotDeviceFlow={startCopilotDeviceFlow}\n\t\t\t\t\tonPollCopilotDeviceFlow={pollCopilotDeviceFlow}\n\t\t\t\t\tonGetCopilotAuthMethods={getCopilotAuthMethods}\n\t\t\t\t\tonSaveCopilotToken={saveCopilotToken}\n\t\t\t\t\tonImportCopilotTokenFromGh={importCopilotTokenFromGh}\n\t\t\t\t\tonGetCopilotDiagnostics={getCopilotDiagnostics}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{currentStep === 'defaults' && (\n\t\t\t\t<DefaultsStep\n\t\t\t\t\tauthStatus={authStatus}\n\t\t\t\t\tonComplete={completeOnboarding}\n\t\t\t\t\tonBack={prevStep}\n\t\t\t\t\thideHeader={hideHeader}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
178
- "import { memo, useEffect, useState, useRef } from 'react';\nimport {\n\tCopy,\n\tCheck,\n\tCreditCard,\n\tLoader2,\n\tX,\n\tKey,\n\tExternalLink,\n\tArrowRight,\n\tRefreshCw,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { ProviderLogo } from '../../common/ProviderLogo';\nimport type { AuthStatus } from '../../../stores/onboardingStore';\nimport { useOttoRouterStore } from '../../../stores/ottorouterStore';\nimport { useOttoRouterBalance } from '../../../hooks/useOttoRouterBalance';\nimport { openUrl } from '../../../lib/open-url';\n\ninterface ProviderSetupStepProps {\n\tauthStatus: AuthStatus;\n\tonSetupWallet: () => Promise<unknown>;\n\tonImportWallet: (privateKey: string) => Promise<unknown>;\n\tonAddProvider: (provider: string, apiKey: string) => Promise<unknown>;\n\tonRemoveProvider: (provider: string) => Promise<unknown>;\n\tonStartOAuth: (provider: string, mode?: string) => Window | null;\n\tonStartOAuthManual: (\n\t\tprovider: string,\n\t\tmode?: string,\n\t) => Promise<{ popup: Window | null; sessionId: string }>;\n\tonExchangeOAuthCode: (\n\t\tprovider: string,\n\t\tcode: string,\n\t\tsessionId: string,\n\t) => Promise<boolean>;\n\tonOpenTopup: () => void;\n\tonNext: () => void;\n\tmanageMode?: boolean;\n\tonClose?: () => void;\n\thideHeader?: boolean;\n\tonStartCopilotDeviceFlow?: () => Promise<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t}>;\n\tonPollCopilotDeviceFlow?: (\n\t\tsessionId: string,\n\t) => Promise<{ status: 'complete' | 'pending' | 'error'; error?: string }>;\n\tonGetCopilotAuthMethods?: () => Promise<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t}>;\n\tonSaveCopilotToken?: (token: string) => Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'token';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}>;\n\tonImportCopilotTokenFromGh?: () => Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'gh';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}>;\n\tonGetCopilotDiagnostics?: () => Promise<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t\tmethods: {\n\t\t\toauth: boolean;\n\t\t\ttoken: boolean;\n\t\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t\t};\n\t}>;\n}\n\nexport const ProviderSetupStep = memo(function ProviderSetupStep({\n\tauthStatus,\n\tonSetupWallet,\n\tonImportWallet,\n\tonAddProvider,\n\tonRemoveProvider,\n\tonStartOAuth,\n\tonStartOAuthManual,\n\tonExchangeOAuthCode,\n\tonOpenTopup,\n\tonNext,\n\tmanageMode = false,\n\tonClose,\n\thideHeader = false,\n\tonStartCopilotDeviceFlow,\n\tonPollCopilotDeviceFlow,\n\tonGetCopilotAuthMethods,\n\tonSaveCopilotToken,\n\tonImportCopilotTokenFromGh,\n\tonGetCopilotDiagnostics,\n}: ProviderSetupStepProps) {\n\tconst [copied, setCopied] = useState(false);\n\tconst [isSettingUp, setIsSettingUp] = useState(false);\n\tconst [isImportModalOpen, setIsImportModalOpen] = useState(false);\n\tconst [importPrivateKey, setImportPrivateKey] = useState('');\n\tconst [isImportingWallet, setIsImportingWallet] = useState(false);\n\tconst [importWalletError, setImportWalletError] = useState<string | null>(\n\t\tnull,\n\t);\n\tconst [addingProvider, setAddingProvider] = useState<string | null>(null);\n\tconst [apiKeyInput, setApiKeyInput] = useState('');\n\tconst [removingProvider, setRemovingProvider] = useState<string | null>(null);\n\tconst [confirmingDelete, setConfirmingDelete] = useState<string | null>(null);\n\tconst [oauthSession, setOauthSession] = useState<{\n\t\tprovider: string;\n\t\tsessionId: string | null;\n\t\tmode?: string;\n\t} | null>(null);\n\tconst [oauthCodeInput, setOauthCodeInput] = useState('');\n\tconst [isExchangingCode, setIsExchangingCode] = useState(false);\n\tconst [isOpeningPopup, setIsOpeningPopup] = useState(false);\n\tconst [copilotDevice, setCopilotDevice] = useState<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t} | null>(null);\n\tconst [copilotPolling, setCopilotPolling] = useState(false);\n\tconst [copilotError, setCopilotError] = useState<string | null>(null);\n\tconst [copilotAuthMode, setCopilotAuthMode] = useState<'oauth' | 'token'>(\n\t\t'oauth',\n\t);\n\tconst [copilotTokenInput, setCopilotTokenInput] = useState('');\n\tconst [copilotTokenSaving, setCopilotTokenSaving] = useState(false);\n\tconst [copilotGhImporting, setCopilotGhImporting] = useState(false);\n\tconst [copilotAuthMethods, setCopilotAuthMethods] = useState<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t} | null>(null);\n\tconst [copilotDiagnostics, setCopilotDiagnostics] = useState<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t} | null>(null);\n\tconst [copilotCodeCopied, setCopilotCodeCopied] = useState(false);\n\tconst [copilotModalOpen, setCopilotModalOpen] = useState(false);\n\tconst [copilotLoading, setCopilotLoading] = useState(false);\n\tconst copilotPollRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\tconst copilotCancelledRef = useRef(false);\n\tconst copilotPollFnRef = useRef(onPollCopilotDeviceFlow);\n\tcopilotPollFnRef.current = onPollCopilotDeviceFlow;\n\tconst balance = useOttoRouterStore((s) => s.balance);\n\tconst usdcBalance = useOttoRouterStore((s) => s.usdcBalance);\n\tconst payg = useOttoRouterStore((s) => s.payg);\n\tconst subscription = useOttoRouterStore((s) => s.subscription);\n\tconst isBalanceLoading = useOttoRouterStore((s) => s.isLoading);\n\tconst apiKeyInputRef = useRef<HTMLInputElement>(null);\n\tconst oauthCodeInputRef = useRef<HTMLInputElement>(null);\n\tconst importPrivateKeyRef = useRef<HTMLTextAreaElement>(null);\n\tconst isTopupModalOpen = useOttoRouterStore((s) => s.isTopupModalOpen);\n\tconst prevTopupModalOpen = useRef(false);\n\tconst { fetchBalance } = useOttoRouterBalance('ottorouter');\n\tconst effectivePayg = payg?.effectiveSpendableUsd ?? balance ?? 0;\n\tconst setuStatusLabel = subscription?.active\n\t\t? `GO ${(subscription.creditsRemaining ?? 0).toFixed(1)} credits`\n\t\t: `$${effectivePayg.toFixed(2)}`;\n\n\t// Refetch balance when topup modal closes\n\tuseEffect(() => {\n\t\tif (prevTopupModalOpen.current && !isTopupModalOpen) {\n\t\t\t// Modal was closed, refresh balance\n\t\t\tfetchBalance();\n\t\t}\n\t\tprevTopupModalOpen.current = isTopupModalOpen;\n\t}, [isTopupModalOpen, fetchBalance]);\n\n\tuseEffect(() => {\n\t\tif (!authStatus.ottorouter.configured && !isSettingUp) {\n\t\t\tsetIsSettingUp(true);\n\t\t\tonSetupWallet().finally(() => setIsSettingUp(false));\n\t\t}\n\t}, [authStatus.ottorouter.configured, onSetupWallet, isSettingUp]);\n\n\tuseEffect(() => {\n\t\tif (addingProvider && apiKeyInputRef.current) {\n\t\t\tapiKeyInputRef.current.focus();\n\t\t}\n\t}, [addingProvider]);\n\n\tuseEffect(() => {\n\t\tif (oauthSession && oauthCodeInputRef.current) {\n\t\t\toauthCodeInputRef.current.focus();\n\t\t}\n\t}, [oauthSession]);\n\n\tuseEffect(() => {\n\t\tif (isImportModalOpen && importPrivateKeyRef.current) {\n\t\t\timportPrivateKeyRef.current.focus();\n\t\t}\n\t}, [isImportModalOpen]);\n\n\tuseEffect(() => {\n\t\tif (!copilotPolling || !copilotDevice || !copilotPollFnRef.current) return;\n\t\tcopilotCancelledRef.current = false;\n\t\tconst pollIntervalMs = Math.max(\n\t\t\t(copilotDevice.interval || 5) * 1000 + 2000,\n\t\t\t7000,\n\t\t);\n\t\tconst schedulePoll = () => {\n\t\t\tcopilotPollRef.current = setTimeout(async () => {\n\t\t\t\tif (copilotCancelledRef.current) return;\n\t\t\t\ttry {\n\t\t\t\t\tconst pollFn = copilotPollFnRef.current;\n\t\t\t\t\tif (!pollFn) return;\n\t\t\t\t\tconst result = await pollFn(copilotDevice.sessionId);\n\t\t\t\t\tif (copilotCancelledRef.current) return;\n\t\t\t\t\tif (result.status === 'complete') {\n\t\t\t\t\t\tsetCopilotDevice(null);\n\t\t\t\t\t\tsetCopilotPolling(false);\n\t\t\t\t\t\tsetCopilotError(null);\n\t\t\t\t\t\tsetCopilotModalOpen(false);\n\t\t\t\t\t} else if (result.status === 'error') {\n\t\t\t\t\t\tsetCopilotError(result.error || 'Authorization failed');\n\t\t\t\t\t\tsetCopilotPolling(false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tschedulePoll();\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tif (!copilotCancelledRef.current) schedulePoll();\n\t\t\t\t}\n\t\t\t}, pollIntervalMs);\n\t\t};\n\t\tschedulePoll();\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetCopilotPolling(false);\n\t\t\tsetCopilotError('Authorization timed out. Please try again.');\n\t\t}, 300000);\n\t\treturn () => {\n\t\t\tcopilotCancelledRef.current = true;\n\t\t\tif (copilotPollRef.current) clearTimeout(copilotPollRef.current);\n\t\t\tclearTimeout(timeout);\n\t\t};\n\t}, [copilotPolling, copilotDevice]);\n\n\tconst handleCopy = async () => {\n\t\tif (authStatus.ottorouter.publicKey) {\n\t\t\tawait navigator.clipboard.writeText(authStatus.ottorouter.publicKey);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}\n\t};\n\n\tconst truncateAddress = (addr: string) =>\n\t\t`${addr.slice(0, 8)}...${addr.slice(-6)}`;\n\n\tconst handleAddProvider = async (providerId: string) => {\n\t\tif (!apiKeyInput.trim()) return;\n\t\ttry {\n\t\t\tawait onAddProvider(providerId, apiKeyInput.trim());\n\t\t\tsetAddingProvider(null);\n\t\t\tsetApiKeyInput('');\n\t\t} catch {}\n\t};\n\n\tconst handleRemoveProvider = async (providerId: string) => {\n\t\tif (confirmingDelete === providerId) {\n\t\t\tsetRemovingProvider(providerId);\n\t\t\ttry {\n\t\t\t\tawait onRemoveProvider(providerId);\n\t\t\t} finally {\n\t\t\t\tsetRemovingProvider(null);\n\t\t\t\tsetConfirmingDelete(null);\n\t\t\t}\n\t\t} else {\n\t\t\tsetConfirmingDelete(providerId);\n\t\t}\n\t};\n\n\tconst handleCancelDelete = () => {\n\t\tsetConfirmingDelete(null);\n\t};\n\n\tconst startCopilotDeviceAuthorization = () => {\n\t\tif (!onStartCopilotDeviceFlow) return;\n\t\tsetCopilotLoading(true);\n\t\tsetCopilotError(null);\n\t\tonStartCopilotDeviceFlow()\n\t\t\t.then((data) => {\n\t\t\t\tsetCopilotDevice(data);\n\t\t\t\tsetCopilotLoading(false);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetCopilotError(\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to start device flow',\n\t\t\t\t);\n\t\t\t\tsetCopilotLoading(false);\n\t\t\t});\n\t};\n\n\tconst handleStartOAuth = async (providerId: string, mode?: string) => {\n\t\tif (providerId === 'anthropic') {\n\t\t\tsetOauthSession({ provider: providerId, sessionId: null, mode });\n\t\t} else if (providerId === 'copilot') {\n\t\t\tsetCopilotAuthMode('oauth');\n\t\t\tsetCopilotTokenInput('');\n\t\t\tsetCopilotDiagnostics(null);\n\t\t\tsetCopilotAuthMethods(null);\n\t\t\tsetCopilotPolling(false);\n\t\t\tsetCopilotDevice(null);\n\t\t\tsetCopilotError(null);\n\t\t\tsetCopilotModalOpen(true);\n\n\t\t\tif (onGetCopilotAuthMethods) {\n\t\t\t\tonGetCopilotAuthMethods()\n\t\t\t\t\t.then((methods) => setCopilotAuthMethods(methods))\n\t\t\t\t\t.catch(() => {});\n\t\t\t}\n\n\t\t\tif (onGetCopilotDiagnostics) {\n\t\t\t\tonGetCopilotDiagnostics()\n\t\t\t\t\t.then((diagnostics) => setCopilotDiagnostics(diagnostics))\n\t\t\t\t\t.catch(() => {});\n\t\t\t}\n\n\t\t\tstartCopilotDeviceAuthorization();\n\t\t} else {\n\t\t\tonStartOAuth(providerId, mode);\n\t\t}\n\t};\n\n\tconst handleOpenPopup = async () => {\n\t\tif (!oauthSession) return;\n\t\tsetIsOpeningPopup(true);\n\t\ttry {\n\t\t\tconst { sessionId } = await onStartOAuthManual(\n\t\t\t\toauthSession.provider,\n\t\t\t\toauthSession.mode,\n\t\t\t);\n\t\t\tsetOauthSession({ ...oauthSession, sessionId });\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to start OAuth:', err);\n\t\t}\n\t\tsetIsOpeningPopup(false);\n\t};\n\n\tconst handleExchangeCode = async () => {\n\t\tif (!oauthSession || !oauthSession.sessionId || !oauthCodeInput.trim())\n\t\t\treturn;\n\t\tsetIsExchangingCode(true);\n\t\ttry {\n\t\t\tawait onExchangeOAuthCode(\n\t\t\t\toauthSession.provider,\n\t\t\t\toauthCodeInput.trim(),\n\t\t\t\toauthSession.sessionId,\n\t\t\t);\n\t\t\tsetOauthSession(null);\n\t\t\tsetOauthCodeInput('');\n\t\t} catch {}\n\t\tsetIsExchangingCode(false);\n\t};\n\n\tconst handleCancelOAuth = () => {\n\t\tsetOauthSession(null);\n\t\tsetOauthCodeInput('');\n\t};\n\n\tconst handleCopilotOpenGithub = () => {\n\t\tif (!copilotDevice) return;\n\t\topenUrl(copilotDevice.verificationUri);\n\t\tsetCopilotPolling(true);\n\t};\n\n\tconst handleCopilotSwitchMode = (mode: 'oauth' | 'token') => {\n\t\tsetCopilotAuthMode(mode);\n\t\tsetCopilotError(null);\n\t\tif (mode === 'token') {\n\t\t\tsetCopilotPolling(false);\n\t\t}\n\t\tif (mode === 'oauth' && !copilotDevice && !copilotLoading) {\n\t\t\tstartCopilotDeviceAuthorization();\n\t\t}\n\t};\n\n\tconst handleCopilotSaveToken = async () => {\n\t\tif (!copilotTokenInput.trim() || !onSaveCopilotToken) return;\n\t\tsetCopilotTokenSaving(true);\n\t\tsetCopilotError(null);\n\t\ttry {\n\t\t\tawait onSaveCopilotToken(copilotTokenInput.trim());\n\t\t\thandleCancelCopilot();\n\t\t} catch (err) {\n\t\t\tsetCopilotError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to save Copilot token',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetCopilotTokenSaving(false);\n\t\t}\n\t};\n\n\tconst handleCopilotImportFromGh = async () => {\n\t\tif (!onImportCopilotTokenFromGh) return;\n\t\tsetCopilotGhImporting(true);\n\t\tsetCopilotError(null);\n\t\ttry {\n\t\t\tawait onImportCopilotTokenFromGh();\n\t\t\thandleCancelCopilot();\n\t\t} catch (err) {\n\t\t\tsetCopilotError(\n\t\t\t\terr instanceof Error\n\t\t\t\t\t? err.message\n\t\t\t\t\t: 'Failed to import token from GitHub CLI',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetCopilotGhImporting(false);\n\t\t}\n\t};\n\n\tconst handleCopilotCopyCode = async () => {\n\t\tif (!copilotDevice) return;\n\t\tawait navigator.clipboard.writeText(copilotDevice.userCode);\n\t\tsetCopilotCodeCopied(true);\n\t\tsetTimeout(() => setCopilotCodeCopied(false), 2000);\n\t};\n\n\tconst handleCancelCopilot = () => {\n\t\tsetCopilotDevice(null);\n\t\tsetCopilotPolling(false);\n\t\tsetCopilotError(null);\n\t\tsetCopilotTokenInput('');\n\t\tsetCopilotTokenSaving(false);\n\t\tsetCopilotGhImporting(false);\n\t\tsetCopilotAuthMode('oauth');\n\t\tsetCopilotCodeCopied(false);\n\t\tsetCopilotModalOpen(false);\n\t\tsetCopilotLoading(false);\n\t\tcopilotCancelledRef.current = true;\n\t\tif (copilotPollRef.current) {\n\t\t\tclearTimeout(copilotPollRef.current);\n\t\t\tcopilotPollRef.current = undefined;\n\t\t}\n\t};\n\n\tconst handleOpenImportWallet = () => {\n\t\tsetImportWalletError(null);\n\t\tsetImportPrivateKey('');\n\t\tsetIsImportModalOpen(true);\n\t};\n\n\tconst handleCloseImportWallet = () => {\n\t\tif (isImportingWallet) return;\n\t\tsetIsImportModalOpen(false);\n\t\tsetImportWalletError(null);\n\t\tsetImportPrivateKey('');\n\t};\n\n\tconst handleImportWallet = async () => {\n\t\tif (!importPrivateKey.trim() || isImportingWallet) return;\n\t\tsetIsImportingWallet(true);\n\t\tsetImportWalletError(null);\n\t\ttry {\n\t\t\tawait onImportWallet(importPrivateKey.trim());\n\t\t\tsetIsImportModalOpen(false);\n\t\t\tsetImportPrivateKey('');\n\t\t\tfetchBalance();\n\t\t} catch (err) {\n\t\t\tsetImportWalletError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to import wallet',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsImportingWallet(false);\n\t\t}\n\t};\n\n\tconst configuredProviders = Object.entries(authStatus.providers).filter(\n\t\t([id, info]) => info.configured && id !== 'ottorouter',\n\t);\n\tconst unconfiguredProviders = Object.entries(authStatus.providers).filter(\n\t\t([id, info]) => !info.configured && id !== 'ottorouter',\n\t);\n\n\treturn (\n\t\t<div className=\"min-h-screen flex flex-col\">\n\t\t\t{!hideHeader && (\n\t\t\t\t<div className=\"flex items-center justify-between px-4 sm:px-6 py-4 border-b border-border\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<ProviderLogo provider=\"ottorouter\" size={24} />\n\t\t\t\t\t\t<span className=\"font-semibold text-foreground\">otto</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!manageMode && (\n\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<span className=\"w-2 h-2 rounded-full bg-green-500\" />\n\t\t\t\t\t\t\tStep 1 of 2\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{/* Main Content */}\n\t\t\t<div\n\t\t\t\tclassName={`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${hideHeader ? 'pt-8 sm:pt-10 lg:pt-14' : 'pt-6 sm:pt-8 lg:pt-12'}`}\n\t\t\t>\n\t\t\t\t<div className=\"max-w-7xl mx-auto\">\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t<div className=\"mb-10\">\n\t\t\t\t\t\t<h1 className=\"text-2xl sm:text-3xl lg:text-4xl font-semibold text-foreground mb-3\">\n\t\t\t\t\t\t\t{manageMode ? 'Manage Providers' : 'Welcome to otto'}\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<p className=\"text-lg text-muted-foreground max-w-2xl\">\n\t\t\t\t\t\t\t{manageMode\n\t\t\t\t\t\t\t\t? 'Add or remove AI providers. Your changes are saved automatically.'\n\t\t\t\t\t\t\t\t: 'Setu is your default AI provider. GO plan credits are applied automatically.'}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-3 gap-6 sm:gap-8\">\n\t\t\t\t\t\t{/* Left Column - Wallet */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"bg-card rounded-2xl border border-border p-5\">\n\t\t\t\t\t\t\t\t{authStatus.ottorouter.configured &&\n\t\t\t\t\t\t\t\tauthStatus.ottorouter.publicKey ? (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t\t\t\t{/* Setu Default Provider Badge */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 bg-green-500/10 border border-green-500/20 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider=\"ottorouter\" size={16} />\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-green-600 dark:text-green-400\">\n\t\t\t\t\t\t\t\t\t\t\t\tSetu\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<span className=\"text-xs text-green-600/60 dark:text-green-500/60 ml-auto\">\n\t\t\t\t\t\t\t\t\t\t\t\tDefault Provider\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex justify-center py-4 mt-4\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"bg-white p-2 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={authStatus.ottorouter.publicKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize={140}\n\t\t\t\t\t\t\t\t\t\t\t\t\tlevel=\"M\"\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</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2 mt-4\">\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={handleCopy}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full flex items-center justify-center gap-2 px-3 py-2 bg-muted hover:bg-muted/80 rounded-lg text-xs font-mono text-muted-foreground transition-colors\"\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{truncateAddress(authStatus.ottorouter.publicKey)}\n\t\t\t\t\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-3.5 h-3.5 text-green-500\" />\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<Copy className=\"w-3.5 h-3.5 text-muted-foreground\" />\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\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-1.5 px-3 py-2 bg-muted/50 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"font-mono text-xs sm:text-sm text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{setuStatusLabel}\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</div>\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\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={fetchBalance}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={isBalanceLoading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0.5 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50\"\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<RefreshCw\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isBalanceLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground font-mono\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tBalance ${(balance ?? 0).toFixed(2)} • On-chain{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(usdcBalance ?? 0).toFixed(2)} USDC\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</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* OR Divider */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-4 py-4\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex-1 h-px bg-border\" />\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\tOR\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<div className=\"flex-1 h-px bg-border\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\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={onOpenTopup}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<CreditCard className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\tTop Up with Card\n\t\t\t\t\t\t\t\t\t\t</button>\n\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={handleOpenImportWallet}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full mt-2 flex items-center justify-center gap-2 px-4 py-2.5 border border-border text-foreground rounded-lg text-sm font-medium hover:bg-muted/50 transition-colors\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Key className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\tImport Wallet\n\t\t\t\t\t\t\t\t\t\t</button>\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<div className=\"flex items-center justify-center py-16\">\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-8 h-8 animate-spin text-muted-foreground\" />\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</div>\n\n\t\t\t\t\t\t{/* Right Column - Providers */}\n\t\t\t\t\t\t<div className=\"sm:col-span-2 space-y-6\">\n\t\t\t\t\t\t\t{/* Connected Providers */}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between mb-4\">\n\t\t\t\t\t\t\t\t\t<h2 className=\"font-semibold text-foreground\">\n\t\t\t\t\t\t\t\t\t\tConnected Providers\n\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t{configuredProviders.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{configuredProviders.length} active\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</div>\n\n\t\t\t\t\t\t\t\t{configuredProviders.length === 0 ? (\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm text-muted-foreground py-4\">\n\t\t\t\t\t\t\t\t\t\tNo providers connected yet. Add one below.\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<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t\t{configuredProviders.map(([id, info]) => (\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={id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center gap-2 pl-3 pr-2 py-2 rounded-full transition-all duration-200 ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfirmingDelete === id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-destructive/10 border border-destructive/30'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'group bg-green-500/10 border border-green-500/20'\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<ProviderLogo provider={id} size={16} />\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\tclassName={`text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconfirmingDelete === id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-destructive'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-green-600 dark:text-green-400'\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{info.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\t{confirmingDelete !== id && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-green-600/60 dark:text-green-500/60\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.type === 'oauth' ? 'OAuth' : 'API'}\n\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)}\n\t\t\t\t\t\t\t\t\t\t\t\t{confirmingDelete === id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 ml-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-destructive/80 mr-1\">\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\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleRemoveProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={removingProvider === id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-xs bg-destructive text-destructive-foreground rounded hover:bg-destructive/90 transition-colors disabled:opacity-50\"\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{removingProvider === id ? (\n\t\t\t\t\t\t\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\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Yes'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCancelDelete}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-xs bg-muted text-muted-foreground rounded hover:bg-muted/80 transition-colors\"\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\tNo\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\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\tid !== 'ottorouter' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleRemoveProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-1 p-1 text-green-600/40 dark:text-green-500/40 hover:text-green-600/80 dark:hover:text-green-500/80 opacity-0 group-hover:opacity-100 transition-opacity\"\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<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</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</div>\n\n\t\t\t\t\t\t\t{/* Add Providers */}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<h2 className=\"font-semibold text-foreground mb-4\">\n\t\t\t\t\t\t\t\t\tAdd Providers\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-2 gap-3 items-start\">\n\t\t\t\t\t\t\t\t\t{unconfiguredProviders.map(([id, info]) => (\n\t\t\t\t\t\t\t\t\t\t<div key={id}>\n\t\t\t\t\t\t\t\t\t\t\t{addingProvider === id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 p-3 bg-card border border-ring rounded-xl overflow-hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider={id} size={18} />\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<input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={apiKeyInputRef}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={apiKeyInput}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setApiKeyInput(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={`${info.label} API key...`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground text-foreground\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleAddProvider(id);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetAddingProvider(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetApiKeyInput('');\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\t<button\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={() => handleAddProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!apiKeyInput.trim()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0 px-3 py-1.5 bg-primary text-primary-foreground text-sm font-medium rounded-lg disabled:opacity-50\"\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\tAdd\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<button\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\tsetAddingProvider(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetApiKeyInput('');\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=\"shrink-0 p-1.5 text-muted-foreground hover:text-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<X className=\"w-4 h-4\" />\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</div>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between p-3 bg-card border border-border hover:border-border/80 rounded-xl transition-colors gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-3 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider={id} size={20} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"font-medium text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.modelCount} models\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</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<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{id !== 'copilot' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => setAddingProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Key className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAPI\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.supportsOAuth && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleStartOAuth(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid === 'anthropic' ? 'max' : undefined,\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\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{id === 'anthropic'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Pro'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: id === 'copilot'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Login'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'OAuth'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\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</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</div>\n\n\t\t\t{/* Bottom Bar */}\n\t\t\t<div className=\"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto flex items-center justify-between\">\n\t\t\t\t\t{!manageMode && (\n\t\t\t\t\t\t<div className=\"text-xs sm:text-sm text-muted-foreground hidden sm:block\">\n\t\t\t\t\t\t\tYou can add more providers later in settings\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{manageMode ? (\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={onClose}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors ml-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDone\n\t\t\t\t\t\t</button>\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={onNext}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tContinue\n\t\t\t\t\t\t\t<ArrowRight className=\"w-4 h-4\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isImportModalOpen && (\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<ProviderLogo provider=\"ottorouter\" size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Import Setu Wallet</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\tPaste your base58 private key to replace the current wallet used\n\t\t\t\t\t\t\t\tfor Setu.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\tref={importPrivateKeyRef}\n\t\t\t\t\t\t\t\tvalue={importPrivateKey}\n\t\t\t\t\t\t\t\tonChange={(e) => setImportPrivateKey(e.target.value)}\n\t\t\t\t\t\t\t\tplaceholder=\"Enter private key\"\n\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 placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-xs resize-y\"\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tif ((e.metaKey || e.ctrlKey) && e.key === 'Enter') {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleImportWallet();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') handleCloseImportWallet();\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{importWalletError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 mt-3\">{importWalletError}</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={handleCloseImportWallet}\n\t\t\t\t\t\t\t\t\tdisabled={isImportingWallet}\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\tCancel\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={handleImportWallet}\n\t\t\t\t\t\t\t\t\tdisabled={!importPrivateKey.trim() || isImportingWallet}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isImportingWallet ? (\n\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) : (\n\t\t\t\t\t\t\t\t\t\t'Import Wallet'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* OAuth Code Modal */}\n\t\t\t{oauthSession && (\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<ProviderLogo provider={oauthSession.provider} size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">\n\t\t\t\t\t\t\t\tConnect{' '}\n\t\t\t\t\t\t\t\t{authStatus.providers[oauthSession.provider]?.label ||\n\t\t\t\t\t\t\t\t\toauthSession.provider}\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{!oauthSession.sessionId ? (\n\t\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-6\">\n\t\t\t\t\t\t\t\t\tYou'll be redirected to{' '}\n\t\t\t\t\t\t\t\t\t{authStatus.providers[oauthSession.provider]?.label ||\n\t\t\t\t\t\t\t\t\t\toauthSession.provider}{' '}\n\t\t\t\t\t\t\t\t\tto authorize access. After authorizing, copy the code and\n\t\t\t\t\t\t\t\t\treturn here.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<div className=\"flex gap-3\">\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={handleCancelOAuth}\n\t\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\"\n\t\t\t\t\t\t\t\t\t>\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={handleOpenPopup}\n\t\t\t\t\t\t\t\t\t\tdisabled={isOpeningPopup}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{isOpeningPopup ? (\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<>\n\t\t\t\t\t\t\t\t\t\t\t\tContinue\n\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-4 h-4\" />\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</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\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\t\tPaste the authorization code:\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tref={oauthCodeInputRef}\n\t\t\t\t\t\t\t\t\tvalue={oauthCodeInput}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setOauthCodeInput(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder=\"Paste code here...\"\n\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors mb-4 font-mono text-sm\"\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') handleExchangeCode();\n\t\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') handleCancelOAuth();\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<div className=\"flex gap-3\">\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={handleCancelOAuth}\n\t\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\"\n\t\t\t\t\t\t\t\t\t>\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={handleExchangeCode}\n\t\t\t\t\t\t\t\t\t\tdisabled={!oauthCodeInput.trim() || isExchangingCode}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{isExchangingCode ? (\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'Connect'\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\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{/* Copilot Device Flow Modal */}\n\t\t\t{copilotModalOpen && (\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<ProviderLogo provider=\"copilot\" size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Connect GitHub Copilot</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6 space-y-4\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-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={() => handleCopilotSwitchMode('oauth')}\n\t\t\t\t\t\t\t\t\tclassName={`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMode === 'oauth'\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-foreground text-background'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted 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>\n\t\t\t\t\t\t\t\t\tOAuth\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={() => handleCopilotSwitchMode('token')}\n\t\t\t\t\t\t\t\t\tclassName={`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMode === 'token'\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-foreground text-background'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted 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>\n\t\t\t\t\t\t\t\t\tToken\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{copilotAuthMode === 'oauth' ? (\n\t\t\t\t\t\t\t\t<>\n\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\tEnter this code on GitHub to authorize:\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-center gap-3\">\n\t\t\t\t\t\t\t\t\t\t{copilotLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"bg-muted px-6 py-3 rounded-lg animate-pulse\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"h-9 w-48 bg-muted-foreground/20 rounded\" />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : copilotDevice ? (\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<code className=\"text-3xl font-mono font-bold tracking-widest text-foreground bg-muted px-6 py-3 rounded-lg select-all\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{copilotDevice.userCode}\n\t\t\t\t\t\t\t\t\t\t\t\t</code>\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={handleCopilotCopyCode}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-2 text-muted-foreground hover:text-foreground transition-colors\"\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{copilotCodeCopied ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-5 h-5 text-green-500\" />\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<Copy className=\"w-5 h-5\" />\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</>\n\t\t\t\t\t\t\t\t\t\t) : null}\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\t\t<>\n\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\tPaste a GitHub token with Copilot model access.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\tvalue={copilotTokenInput}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setCopilotTokenInput(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"gho_...\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{copilotAuthMethods?.ghImport.available && (\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={handleCopilotImportFromGh}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={copilotGhImporting}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-10 px-4 bg-muted text-foreground rounded-lg font-medium hover:bg-muted/80 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{copilotGhImporting ? (\n\t\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\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t'Import from GH CLI'\n\t\t\t\t\t\t\t\t\t\t\t)}\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{copilotAuthMethods?.ghImport.available &&\n\t\t\t\t\t\t\t\t\t\t!copilotAuthMethods.ghImport.authenticated && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{copilotAuthMethods.ghImport.reason ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t'GitHub CLI is not authenticated'}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{copilotAuthMethods &&\n\t\t\t\t\t\t\t\t\t\t!copilotAuthMethods.ghImport.available &&\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMethods.ghImport.reason && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{copilotAuthMethods.ghImport.reason}\n\t\t\t\t\t\t\t\t\t\t\t</p>\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)}\n\n\t\t\t\t\t\t\t{copilotDiagnostics &&\n\t\t\t\t\t\t\t\tcopilotDiagnostics.tokenSources.length > 0 && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground space-y-1\">\n\t\t\t\t\t\t\t\t\t\t{copilotDiagnostics.tokenSources.map((source) => (\n\t\t\t\t\t\t\t\t\t\t\t<div key={source.source}>\n\t\t\t\t\t\t\t\t\t\t\t\t{source.source}:{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{source.configured\n\t\t\t\t\t\t\t\t\t\t\t\t\t? source.error\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? source.error\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `${source.modelCount ?? 0} models visible`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'not configured'}\n\t\t\t\t\t\t\t\t\t\t\t\t{source.restrictedByOrgPolicy && source.restrictedOrg\n\t\t\t\t\t\t\t\t\t\t\t\t\t? ` (org restriction: ${source.restrictedOrg})`\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</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\n\t\t\t\t\t\t\t{copilotError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 text-center\">\n\t\t\t\t\t\t\t\t\t{copilotError}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{copilotPolling && copilotAuthMode === 'oauth' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-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\tWaiting for authorization...\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 gap-3\">\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={handleCancelCopilot}\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\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{copilotAuthMode === 'oauth' ? (\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={handleCopilotOpenGithub}\n\t\t\t\t\t\t\t\t\t\tdisabled={copilotPolling || copilotLoading}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{copilotPolling || copilotLoading ? (\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<>\n\t\t\t\t\t\t\t\t\t\t\t\tOpen GitHub\n\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-4 h-4\" />\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</button>\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={handleCopilotSaveToken}\n\t\t\t\t\t\t\t\t\t\tdisabled={!copilotTokenInput.trim() || copilotTokenSaving}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{copilotTokenSaving ? (\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'Save token'\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)}\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</div>\n\t);\n});\n",
177
+ "import { memo } from 'react';\nimport { ProviderSetupStep } from './steps/ProviderSetupStep';\nimport { DefaultsStep } from './steps/DefaultsStep';\nimport { useOnboardingStore } from '../../stores/onboardingStore';\nimport { useOttoRouterStore } from '../../stores/ottorouterStore';\nimport { useAuthStatus } from '../../hooks/useAuthStatus';\n\ninterface OnboardingModalProps {\n\thideHeader?: boolean;\n}\n\nexport const OnboardingModal = memo(function OnboardingModal({\n\thideHeader = false,\n}: OnboardingModalProps) {\n\tconst isOpen = useOnboardingStore((s) => s.isOpen);\n\tconst currentStep = useOnboardingStore((s) => s.currentStep);\n\tconst manageMode = useOnboardingStore((s) => s.manageMode);\n\tconst authStatus = useOnboardingStore((s) => s.authStatus);\n\tconst nextStep = useOnboardingStore((s) => s.nextStep);\n\tconst prevStep = useOnboardingStore((s) => s.prevStep);\n\tconst reset = useOnboardingStore((s) => s.reset);\n\tconst openTopupModal = useOttoRouterStore((s) => s.openTopupModal);\n\n\tconst {\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,\n\t\tpollCopilotDeviceFlow,\n\t\tgetCopilotAuthMethods,\n\t\tsaveCopilotToken,\n\t\timportCopilotTokenFromGh,\n\t\tgetCopilotDiagnostics,\n\t} = useAuthStatus();\n\n\tif (!isOpen || !authStatus) return null;\n\n\treturn (\n\t\t<div className=\"fixed inset-0 z-[9999] bg-background text-foreground overflow-y-auto\">\n\t\t\t{currentStep === 'wallet' && (\n\t\t\t\t<ProviderSetupStep\n\t\t\t\t\tauthStatus={authStatus}\n\t\t\t\t\tonSetupWallet={setupWallet}\n\t\t\t\t\tonImportWallet={importWallet}\n\t\t\t\t\tonAddProvider={addProvider}\n\t\t\t\t\tonAddCustomProvider={addCustomProvider}\n\t\t\t\t\tonRemoveProvider={removeProvider}\n\t\t\t\t\tonStartOAuth={startOAuth}\n\t\t\t\t\tonStartOAuthManual={startOAuthManual}\n\t\t\t\t\tonExchangeOAuthCode={exchangeOAuthCode}\n\t\t\t\t\tonOpenTopup={openTopupModal}\n\t\t\t\t\tonNext={nextStep}\n\t\t\t\t\tmanageMode={manageMode}\n\t\t\t\t\tonClose={reset}\n\t\t\t\t\thideHeader={hideHeader}\n\t\t\t\t\tonStartCopilotDeviceFlow={startCopilotDeviceFlow}\n\t\t\t\t\tonPollCopilotDeviceFlow={pollCopilotDeviceFlow}\n\t\t\t\t\tonGetCopilotAuthMethods={getCopilotAuthMethods}\n\t\t\t\t\tonSaveCopilotToken={saveCopilotToken}\n\t\t\t\t\tonImportCopilotTokenFromGh={importCopilotTokenFromGh}\n\t\t\t\t\tonGetCopilotDiagnostics={getCopilotDiagnostics}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{currentStep === 'defaults' && (\n\t\t\t\t<DefaultsStep\n\t\t\t\t\tauthStatus={authStatus}\n\t\t\t\t\tonComplete={completeOnboarding}\n\t\t\t\t\tonBack={prevStep}\n\t\t\t\t\thideHeader={hideHeader}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n});\n",
178
+ "import { memo, useEffect, useState, useRef } from 'react';\nimport {\n\tCopy,\n\tCheck,\n\tCreditCard,\n\tLoader2,\n\tX,\n\tKey,\n\tExternalLink,\n\tArrowRight,\n\tRefreshCw,\n\tPlus,\n} from 'lucide-react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { ProviderLogo } from '../../common/ProviderLogo';\nimport type { AuthStatus } from '../../../stores/onboardingStore';\nimport { useOttoRouterStore } from '../../../stores/ottorouterStore';\nimport { useOttoRouterBalance } from '../../../hooks/useOttoRouterBalance';\nimport { openUrl } from '../../../lib/open-url';\nimport { apiClient } from '../../../lib/api-client';\nimport type { DiscoveredProviderModel } from '../../../lib/api-client/config';\n\ntype CustomProviderCompatibility =\n\t| 'openai-compatible'\n\t| 'openai'\n\t| 'anthropic'\n\t| 'google'\n\t| 'openrouter'\n\t| 'ollama';\n\nconst CUSTOM_PROVIDER_COMPATIBILITY_OPTIONS: Array<{\n\tvalue: CustomProviderCompatibility;\n\tlabel: string;\n}> = [\n\t{ value: 'openai-compatible', label: 'OpenAI-compatible' },\n\t{ value: 'openai', label: 'OpenAI' },\n\t{ value: 'anthropic', label: 'Anthropic' },\n\t{ value: 'google', label: 'Google' },\n\t{ value: 'openrouter', label: 'OpenRouter' },\n\t{ value: 'ollama', label: 'Ollama' },\n];\n\nfunction formatTokenCount(tokens: number): string {\n\tif (tokens >= 1_000_000) return `${(tokens / 1_000_000).toFixed(1)}M`;\n\tif (tokens >= 1_000) return `${Math.round(tokens / 1_000)}K`;\n\treturn String(tokens);\n}\n\ninterface ProviderSetupStepProps {\n\tauthStatus: AuthStatus;\n\tonSetupWallet: () => Promise<unknown>;\n\tonImportWallet: (privateKey: string) => Promise<unknown>;\n\tonAddProvider: (provider: string, apiKey: string) => Promise<unknown>;\n\tonAddCustomProvider: (data: {\n\t\tid: string;\n\t\tlabel: string;\n\t\tbaseURL: string;\n\t\tapiKey?: string;\n\t\tcompatibility: CustomProviderCompatibility;\n\t\tmodels: string[];\n\t\tallowAnyModel: boolean;\n\t}) => Promise<unknown>;\n\tonRemoveProvider: (provider: string) => Promise<unknown>;\n\tonStartOAuth: (provider: string, mode?: string) => Window | null;\n\tonStartOAuthManual: (\n\t\tprovider: string,\n\t\tmode?: string,\n\t) => Promise<{ popup: Window | null; sessionId: string }>;\n\tonExchangeOAuthCode: (\n\t\tprovider: string,\n\t\tcode: string,\n\t\tsessionId: string,\n\t) => Promise<boolean>;\n\tonOpenTopup: () => void;\n\tonNext: () => void;\n\tmanageMode?: boolean;\n\tonClose?: () => void;\n\thideHeader?: boolean;\n\tonStartCopilotDeviceFlow?: () => Promise<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t}>;\n\tonPollCopilotDeviceFlow?: (\n\t\tsessionId: string,\n\t) => Promise<{ status: 'complete' | 'pending' | 'error'; error?: string }>;\n\tonGetCopilotAuthMethods?: () => Promise<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t}>;\n\tonSaveCopilotToken?: (token: string) => Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'token';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}>;\n\tonImportCopilotTokenFromGh?: () => Promise<{\n\t\tsuccess: boolean;\n\t\tprovider: string;\n\t\tsource: 'gh';\n\t\tmodelCount: number;\n\t\thasGpt52Codex: boolean;\n\t\tsampleModels: string[];\n\t}>;\n\tonGetCopilotDiagnostics?: () => Promise<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t\tmethods: {\n\t\t\toauth: boolean;\n\t\t\ttoken: boolean;\n\t\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t\t};\n\t}>;\n}\n\nexport const ProviderSetupStep = memo(function ProviderSetupStep({\n\tauthStatus,\n\tonSetupWallet,\n\tonImportWallet,\n\tonAddProvider,\n\tonAddCustomProvider,\n\tonRemoveProvider,\n\tonStartOAuth,\n\tonStartOAuthManual,\n\tonExchangeOAuthCode,\n\tonOpenTopup,\n\tonNext,\n\tmanageMode = false,\n\tonClose,\n\thideHeader = false,\n\tonStartCopilotDeviceFlow,\n\tonPollCopilotDeviceFlow,\n\tonGetCopilotAuthMethods,\n\tonSaveCopilotToken,\n\tonImportCopilotTokenFromGh,\n\tonGetCopilotDiagnostics,\n}: ProviderSetupStepProps) {\n\tconst [copied, setCopied] = useState(false);\n\tconst [isSettingUp, setIsSettingUp] = useState(false);\n\tconst [isImportModalOpen, setIsImportModalOpen] = useState(false);\n\tconst [importPrivateKey, setImportPrivateKey] = useState('');\n\tconst [isImportingWallet, setIsImportingWallet] = useState(false);\n\tconst [importWalletError, setImportWalletError] = useState<string | null>(\n\t\tnull,\n\t);\n\tconst [addingProvider, setAddingProvider] = useState<string | null>(null);\n\tconst [apiKeyInput, setApiKeyInput] = useState('');\n\tconst [isCustomProviderModalOpen, setIsCustomProviderModalOpen] =\n\t\tuseState(false);\n\tconst [customProviderId, setCustomProviderId] = useState('');\n\tconst [customProviderLabel, setCustomProviderLabel] = useState('');\n\tconst [customProviderBaseURL, setCustomProviderBaseURL] = useState('');\n\tconst [customProviderApiKey, setCustomProviderApiKey] = useState('');\n\tconst [customProviderModels, setCustomProviderModels] = useState('');\n\tconst [customProviderCompatibility, setCustomProviderCompatibility] =\n\t\tuseState<CustomProviderCompatibility>('openai-compatible');\n\tconst [customProviderAllowAnyModel, setCustomProviderAllowAnyModel] =\n\t\tuseState(true);\n\tconst [isAddingCustomProvider, setIsAddingCustomProvider] = useState(false);\n\tconst [customProviderError, setCustomProviderError] = useState<string | null>(\n\t\tnull,\n\t);\n\tconst [isDiscoveringCustomModels, setIsDiscoveringCustomModels] =\n\t\tuseState(false);\n\tconst [discoveredCustomModels, setDiscoveredCustomModels] = useState<\n\t\tDiscoveredProviderModel[]\n\t>([]);\n\tconst [customProviderDiscoveryMessage, setCustomProviderDiscoveryMessage] =\n\t\tuseState<string | null>(null);\n\tconst [removingProvider, setRemovingProvider] = useState<string | null>(null);\n\tconst [confirmingDelete, setConfirmingDelete] = useState<string | null>(null);\n\tconst [oauthSession, setOauthSession] = useState<{\n\t\tprovider: string;\n\t\tsessionId: string | null;\n\t\tmode?: string;\n\t} | null>(null);\n\tconst [oauthCodeInput, setOauthCodeInput] = useState('');\n\tconst [isExchangingCode, setIsExchangingCode] = useState(false);\n\tconst [isOpeningPopup, setIsOpeningPopup] = useState(false);\n\tconst [copilotDevice, setCopilotDevice] = useState<{\n\t\tsessionId: string;\n\t\tuserCode: string;\n\t\tverificationUri: string;\n\t\tinterval: number;\n\t} | null>(null);\n\tconst [copilotPolling, setCopilotPolling] = useState(false);\n\tconst [copilotError, setCopilotError] = useState<string | null>(null);\n\tconst [copilotAuthMode, setCopilotAuthMode] = useState<'oauth' | 'token'>(\n\t\t'oauth',\n\t);\n\tconst [copilotTokenInput, setCopilotTokenInput] = useState('');\n\tconst [copilotTokenSaving, setCopilotTokenSaving] = useState(false);\n\tconst [copilotGhImporting, setCopilotGhImporting] = useState(false);\n\tconst [copilotAuthMethods, setCopilotAuthMethods] = useState<{\n\t\toauth: boolean;\n\t\ttoken: boolean;\n\t\tghImport: { available: boolean; authenticated: boolean; reason?: string };\n\t} | null>(null);\n\tconst [copilotDiagnostics, setCopilotDiagnostics] = useState<{\n\t\ttokenSources: Array<{\n\t\t\tsource: 'env' | 'stored';\n\t\t\tconfigured: boolean;\n\t\t\tmodelCount?: number;\n\t\t\thasGpt52Codex?: boolean;\n\t\t\trestrictedByOrgPolicy?: boolean;\n\t\t\trestrictedOrg?: string;\n\t\t\terror?: string;\n\t\t}>;\n\t} | null>(null);\n\tconst [copilotCodeCopied, setCopilotCodeCopied] = useState(false);\n\tconst [copilotModalOpen, setCopilotModalOpen] = useState(false);\n\tconst [copilotLoading, setCopilotLoading] = useState(false);\n\tconst copilotPollRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\tconst copilotCancelledRef = useRef(false);\n\tconst copilotPollFnRef = useRef(onPollCopilotDeviceFlow);\n\tcopilotPollFnRef.current = onPollCopilotDeviceFlow;\n\tconst balance = useOttoRouterStore((s) => s.balance);\n\tconst usdcBalance = useOttoRouterStore((s) => s.usdcBalance);\n\tconst payg = useOttoRouterStore((s) => s.payg);\n\tconst subscription = useOttoRouterStore((s) => s.subscription);\n\tconst isBalanceLoading = useOttoRouterStore((s) => s.isLoading);\n\tconst apiKeyInputRef = useRef<HTMLInputElement>(null);\n\tconst oauthCodeInputRef = useRef<HTMLInputElement>(null);\n\tconst importPrivateKeyRef = useRef<HTMLTextAreaElement>(null);\n\tconst isTopupModalOpen = useOttoRouterStore((s) => s.isTopupModalOpen);\n\tconst prevTopupModalOpen = useRef(false);\n\tconst { fetchBalance } = useOttoRouterBalance('ottorouter');\n\tconst effectivePayg = payg?.effectiveSpendableUsd ?? balance ?? 0;\n\tconst setuStatusLabel = subscription?.active\n\t\t? `GO ${(subscription.creditsRemaining ?? 0).toFixed(1)} credits`\n\t\t: `$${effectivePayg.toFixed(2)}`;\n\n\t// Refetch balance when topup modal closes\n\tuseEffect(() => {\n\t\tif (prevTopupModalOpen.current && !isTopupModalOpen) {\n\t\t\t// Modal was closed, refresh balance\n\t\t\tfetchBalance();\n\t\t}\n\t\tprevTopupModalOpen.current = isTopupModalOpen;\n\t}, [isTopupModalOpen, fetchBalance]);\n\n\tuseEffect(() => {\n\t\tif (!authStatus.ottorouter.configured && !isSettingUp) {\n\t\t\tsetIsSettingUp(true);\n\t\t\tonSetupWallet().finally(() => setIsSettingUp(false));\n\t\t}\n\t}, [authStatus.ottorouter.configured, onSetupWallet, isSettingUp]);\n\n\tuseEffect(() => {\n\t\tif (addingProvider && apiKeyInputRef.current) {\n\t\t\tapiKeyInputRef.current.focus();\n\t\t}\n\t}, [addingProvider]);\n\n\tuseEffect(() => {\n\t\tif (oauthSession && oauthCodeInputRef.current) {\n\t\t\toauthCodeInputRef.current.focus();\n\t\t}\n\t}, [oauthSession]);\n\n\tuseEffect(() => {\n\t\tif (isImportModalOpen && importPrivateKeyRef.current) {\n\t\t\timportPrivateKeyRef.current.focus();\n\t\t}\n\t}, [isImportModalOpen]);\n\n\tuseEffect(() => {\n\t\tif (!copilotPolling || !copilotDevice || !copilotPollFnRef.current) return;\n\t\tcopilotCancelledRef.current = false;\n\t\tconst pollIntervalMs = Math.max(\n\t\t\t(copilotDevice.interval || 5) * 1000 + 2000,\n\t\t\t7000,\n\t\t);\n\t\tconst schedulePoll = () => {\n\t\t\tcopilotPollRef.current = setTimeout(async () => {\n\t\t\t\tif (copilotCancelledRef.current) return;\n\t\t\t\ttry {\n\t\t\t\t\tconst pollFn = copilotPollFnRef.current;\n\t\t\t\t\tif (!pollFn) return;\n\t\t\t\t\tconst result = await pollFn(copilotDevice.sessionId);\n\t\t\t\t\tif (copilotCancelledRef.current) return;\n\t\t\t\t\tif (result.status === 'complete') {\n\t\t\t\t\t\tsetCopilotDevice(null);\n\t\t\t\t\t\tsetCopilotPolling(false);\n\t\t\t\t\t\tsetCopilotError(null);\n\t\t\t\t\t\tsetCopilotModalOpen(false);\n\t\t\t\t\t} else if (result.status === 'error') {\n\t\t\t\t\t\tsetCopilotError(result.error || 'Authorization failed');\n\t\t\t\t\t\tsetCopilotPolling(false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tschedulePoll();\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\tif (!copilotCancelledRef.current) schedulePoll();\n\t\t\t\t}\n\t\t\t}, pollIntervalMs);\n\t\t};\n\t\tschedulePoll();\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetCopilotPolling(false);\n\t\t\tsetCopilotError('Authorization timed out. Please try again.');\n\t\t}, 300000);\n\t\treturn () => {\n\t\t\tcopilotCancelledRef.current = true;\n\t\t\tif (copilotPollRef.current) clearTimeout(copilotPollRef.current);\n\t\t\tclearTimeout(timeout);\n\t\t};\n\t}, [copilotPolling, copilotDevice]);\n\n\tconst handleCopy = async () => {\n\t\tif (authStatus.ottorouter.publicKey) {\n\t\t\tawait navigator.clipboard.writeText(authStatus.ottorouter.publicKey);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 2000);\n\t\t}\n\t};\n\n\tconst truncateAddress = (addr: string) =>\n\t\t`${addr.slice(0, 8)}...${addr.slice(-6)}`;\n\n\tconst handleAddProvider = async (providerId: string) => {\n\t\tif (!apiKeyInput.trim()) return;\n\t\ttry {\n\t\t\tawait onAddProvider(providerId, apiKeyInput.trim());\n\t\t\tsetAddingProvider(null);\n\t\t\tsetApiKeyInput('');\n\t\t} catch {}\n\t};\n\n\tconst resetCustomProviderForm = () => {\n\t\tsetCustomProviderId('');\n\t\tsetCustomProviderLabel('');\n\t\tsetCustomProviderBaseURL('');\n\t\tsetCustomProviderApiKey('');\n\t\tsetCustomProviderModels('');\n\t\tsetCustomProviderCompatibility('openai-compatible');\n\t\tsetCustomProviderAllowAnyModel(true);\n\t\tsetCustomProviderError(null);\n\t\tsetDiscoveredCustomModels([]);\n\t\tsetCustomProviderDiscoveryMessage(null);\n\t};\n\n\tconst handleCloseCustomProviderModal = () => {\n\t\tif (isAddingCustomProvider) return;\n\t\tsetIsCustomProviderModalOpen(false);\n\t\tresetCustomProviderForm();\n\t};\n\n\tconst handleDiscoverCustomProviderModels = async () => {\n\t\tconst baseURL = customProviderBaseURL.trim();\n\t\tif (!baseURL) {\n\t\t\tsetCustomProviderDiscoveryMessage('Enter a base URL first.');\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsDiscoveringCustomModels(true);\n\t\tsetCustomProviderDiscoveryMessage(null);\n\t\ttry {\n\t\t\tconst result = await apiClient.discoverProviderModels({\n\t\t\t\tcompatibility: customProviderCompatibility,\n\t\t\t\tbaseURL,\n\t\t\t\tapiKey: customProviderApiKey.trim() || undefined,\n\t\t\t});\n\n\t\t\tif (result.baseURL) setCustomProviderBaseURL(result.baseURL);\n\t\t\tsetDiscoveredCustomModels(result.models);\n\t\t\tif (result.models.length > 0) {\n\t\t\t\tsetCustomProviderModels(\n\t\t\t\t\tresult.models.map((model) => model.id).join('\\n'),\n\t\t\t\t);\n\t\t\t}\n\t\t\tsetCustomProviderDiscoveryMessage(\n\t\t\t\tresult.message ||\n\t\t\t\t\t(result.models.length > 0\n\t\t\t\t\t\t? `Fetched ${result.models.length} model${\n\t\t\t\t\t\t\t\tresult.models.length === 1 ? '' : 's'\n\t\t\t\t\t\t\t}.`\n\t\t\t\t\t\t: 'No models found.'),\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tsetDiscoveredCustomModels([]);\n\t\t\tsetCustomProviderDiscoveryMessage(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to fetch models',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsDiscoveringCustomModels(false);\n\t\t}\n\t};\n\n\tconst handleAddCustomProvider = async () => {\n\t\tconst id = customProviderId.trim();\n\t\tconst label = customProviderLabel.trim() || id;\n\t\tconst baseURL = customProviderBaseURL.trim();\n\t\tconst apiKey = customProviderApiKey.trim();\n\t\tconst models = customProviderModels\n\t\t\t.split(/[\\n,]/)\n\t\t\t.map((model) => model.trim())\n\t\t\t.filter(Boolean);\n\n\t\tif (!id || !baseURL) {\n\t\t\tsetCustomProviderError('Provider ID and base URL are required.');\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsAddingCustomProvider(true);\n\t\tsetCustomProviderError(null);\n\t\ttry {\n\t\t\tawait onAddCustomProvider({\n\t\t\t\tid,\n\t\t\t\tlabel,\n\t\t\t\tbaseURL,\n\t\t\t\tapiKey: apiKey || undefined,\n\t\t\t\tcompatibility: customProviderCompatibility,\n\t\t\t\tmodels,\n\t\t\t\tallowAnyModel: customProviderAllowAnyModel,\n\t\t\t});\n\t\t\tsetIsCustomProviderModalOpen(false);\n\t\t\tresetCustomProviderForm();\n\t\t} catch (err) {\n\t\t\tsetCustomProviderError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to add custom provider',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsAddingCustomProvider(false);\n\t\t}\n\t};\n\n\tconst handleRemoveProvider = async (providerId: string) => {\n\t\tif (confirmingDelete === providerId) {\n\t\t\tsetRemovingProvider(providerId);\n\t\t\ttry {\n\t\t\t\tawait onRemoveProvider(providerId);\n\t\t\t} finally {\n\t\t\t\tsetRemovingProvider(null);\n\t\t\t\tsetConfirmingDelete(null);\n\t\t\t}\n\t\t} else {\n\t\t\tsetConfirmingDelete(providerId);\n\t\t}\n\t};\n\n\tconst handleCancelDelete = () => {\n\t\tsetConfirmingDelete(null);\n\t};\n\n\tconst startCopilotDeviceAuthorization = () => {\n\t\tif (!onStartCopilotDeviceFlow) return;\n\t\tsetCopilotLoading(true);\n\t\tsetCopilotError(null);\n\t\tonStartCopilotDeviceFlow()\n\t\t\t.then((data) => {\n\t\t\t\tsetCopilotDevice(data);\n\t\t\t\tsetCopilotLoading(false);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetCopilotError(\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to start device flow',\n\t\t\t\t);\n\t\t\t\tsetCopilotLoading(false);\n\t\t\t});\n\t};\n\n\tconst handleStartOAuth = async (providerId: string, mode?: string) => {\n\t\tif (providerId === 'anthropic') {\n\t\t\tsetOauthSession({ provider: providerId, sessionId: null, mode });\n\t\t} else if (providerId === 'copilot') {\n\t\t\tsetCopilotAuthMode('oauth');\n\t\t\tsetCopilotTokenInput('');\n\t\t\tsetCopilotDiagnostics(null);\n\t\t\tsetCopilotAuthMethods(null);\n\t\t\tsetCopilotPolling(false);\n\t\t\tsetCopilotDevice(null);\n\t\t\tsetCopilotError(null);\n\t\t\tsetCopilotModalOpen(true);\n\n\t\t\tif (onGetCopilotAuthMethods) {\n\t\t\t\tonGetCopilotAuthMethods()\n\t\t\t\t\t.then((methods) => setCopilotAuthMethods(methods))\n\t\t\t\t\t.catch(() => {});\n\t\t\t}\n\n\t\t\tif (onGetCopilotDiagnostics) {\n\t\t\t\tonGetCopilotDiagnostics()\n\t\t\t\t\t.then((diagnostics) => setCopilotDiagnostics(diagnostics))\n\t\t\t\t\t.catch(() => {});\n\t\t\t}\n\n\t\t\tstartCopilotDeviceAuthorization();\n\t\t} else {\n\t\t\tonStartOAuth(providerId, mode);\n\t\t}\n\t};\n\n\tconst handleOpenPopup = async () => {\n\t\tif (!oauthSession) return;\n\t\tsetIsOpeningPopup(true);\n\t\ttry {\n\t\t\tconst { sessionId } = await onStartOAuthManual(\n\t\t\t\toauthSession.provider,\n\t\t\t\toauthSession.mode,\n\t\t\t);\n\t\t\tsetOauthSession({ ...oauthSession, sessionId });\n\t\t} catch (err) {\n\t\t\tconsole.error('Failed to start OAuth:', err);\n\t\t}\n\t\tsetIsOpeningPopup(false);\n\t};\n\n\tconst handleExchangeCode = async () => {\n\t\tif (!oauthSession || !oauthSession.sessionId || !oauthCodeInput.trim())\n\t\t\treturn;\n\t\tsetIsExchangingCode(true);\n\t\ttry {\n\t\t\tawait onExchangeOAuthCode(\n\t\t\t\toauthSession.provider,\n\t\t\t\toauthCodeInput.trim(),\n\t\t\t\toauthSession.sessionId,\n\t\t\t);\n\t\t\tsetOauthSession(null);\n\t\t\tsetOauthCodeInput('');\n\t\t} catch {}\n\t\tsetIsExchangingCode(false);\n\t};\n\n\tconst handleCancelOAuth = () => {\n\t\tsetOauthSession(null);\n\t\tsetOauthCodeInput('');\n\t};\n\n\tconst handleCopilotOpenGithub = () => {\n\t\tif (!copilotDevice) return;\n\t\topenUrl(copilotDevice.verificationUri);\n\t\tsetCopilotPolling(true);\n\t};\n\n\tconst handleCopilotSwitchMode = (mode: 'oauth' | 'token') => {\n\t\tsetCopilotAuthMode(mode);\n\t\tsetCopilotError(null);\n\t\tif (mode === 'token') {\n\t\t\tsetCopilotPolling(false);\n\t\t}\n\t\tif (mode === 'oauth' && !copilotDevice && !copilotLoading) {\n\t\t\tstartCopilotDeviceAuthorization();\n\t\t}\n\t};\n\n\tconst handleCopilotSaveToken = async () => {\n\t\tif (!copilotTokenInput.trim() || !onSaveCopilotToken) return;\n\t\tsetCopilotTokenSaving(true);\n\t\tsetCopilotError(null);\n\t\ttry {\n\t\t\tawait onSaveCopilotToken(copilotTokenInput.trim());\n\t\t\thandleCancelCopilot();\n\t\t} catch (err) {\n\t\t\tsetCopilotError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to save Copilot token',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetCopilotTokenSaving(false);\n\t\t}\n\t};\n\n\tconst handleCopilotImportFromGh = async () => {\n\t\tif (!onImportCopilotTokenFromGh) return;\n\t\tsetCopilotGhImporting(true);\n\t\tsetCopilotError(null);\n\t\ttry {\n\t\t\tawait onImportCopilotTokenFromGh();\n\t\t\thandleCancelCopilot();\n\t\t} catch (err) {\n\t\t\tsetCopilotError(\n\t\t\t\terr instanceof Error\n\t\t\t\t\t? err.message\n\t\t\t\t\t: 'Failed to import token from GitHub CLI',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetCopilotGhImporting(false);\n\t\t}\n\t};\n\n\tconst handleCopilotCopyCode = async () => {\n\t\tif (!copilotDevice) return;\n\t\tawait navigator.clipboard.writeText(copilotDevice.userCode);\n\t\tsetCopilotCodeCopied(true);\n\t\tsetTimeout(() => setCopilotCodeCopied(false), 2000);\n\t};\n\n\tconst handleCancelCopilot = () => {\n\t\tsetCopilotDevice(null);\n\t\tsetCopilotPolling(false);\n\t\tsetCopilotError(null);\n\t\tsetCopilotTokenInput('');\n\t\tsetCopilotTokenSaving(false);\n\t\tsetCopilotGhImporting(false);\n\t\tsetCopilotAuthMode('oauth');\n\t\tsetCopilotCodeCopied(false);\n\t\tsetCopilotModalOpen(false);\n\t\tsetCopilotLoading(false);\n\t\tcopilotCancelledRef.current = true;\n\t\tif (copilotPollRef.current) {\n\t\t\tclearTimeout(copilotPollRef.current);\n\t\t\tcopilotPollRef.current = undefined;\n\t\t}\n\t};\n\n\tconst handleOpenImportWallet = () => {\n\t\tsetImportWalletError(null);\n\t\tsetImportPrivateKey('');\n\t\tsetIsImportModalOpen(true);\n\t};\n\n\tconst handleCloseImportWallet = () => {\n\t\tif (isImportingWallet) return;\n\t\tsetIsImportModalOpen(false);\n\t\tsetImportWalletError(null);\n\t\tsetImportPrivateKey('');\n\t};\n\n\tconst handleImportWallet = async () => {\n\t\tif (!importPrivateKey.trim() || isImportingWallet) return;\n\t\tsetIsImportingWallet(true);\n\t\tsetImportWalletError(null);\n\t\ttry {\n\t\t\tawait onImportWallet(importPrivateKey.trim());\n\t\t\tsetIsImportModalOpen(false);\n\t\t\tsetImportPrivateKey('');\n\t\t\tfetchBalance();\n\t\t} catch (err) {\n\t\t\tsetImportWalletError(\n\t\t\t\terr instanceof Error ? err.message : 'Failed to import wallet',\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsImportingWallet(false);\n\t\t}\n\t};\n\n\tconst configuredProviders = Object.entries(authStatus.providers).filter(\n\t\t([id, info]) => info.configured && id !== 'ottorouter',\n\t);\n\tconst unconfiguredProviders = Object.entries(authStatus.providers).filter(\n\t\t([id, info]) => !info.configured && id !== 'ottorouter',\n\t);\n\n\treturn (\n\t\t<div className=\"min-h-screen flex flex-col\">\n\t\t\t{!hideHeader && (\n\t\t\t\t<div className=\"flex items-center justify-between px-4 sm:px-6 py-4 border-b border-border\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<ProviderLogo provider=\"ottorouter\" size={24} />\n\t\t\t\t\t\t<span className=\"font-semibold text-foreground\">otto</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!manageMode && (\n\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<span className=\"w-2 h-2 rounded-full bg-green-500\" />\n\t\t\t\t\t\t\tStep 1 of 2\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{/* Main Content */}\n\t\t\t<div\n\t\t\t\tclassName={`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${hideHeader ? 'pt-8 sm:pt-10 lg:pt-14' : 'pt-6 sm:pt-8 lg:pt-12'}`}\n\t\t\t>\n\t\t\t\t<div className=\"max-w-7xl mx-auto\">\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t<div className=\"mb-10\">\n\t\t\t\t\t\t<h1 className=\"text-2xl sm:text-3xl lg:text-4xl font-semibold text-foreground mb-3\">\n\t\t\t\t\t\t\t{manageMode ? 'Manage Providers' : 'Welcome to otto'}\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<p className=\"text-lg text-muted-foreground max-w-2xl\">\n\t\t\t\t\t\t\t{manageMode\n\t\t\t\t\t\t\t\t? 'Add or remove AI providers. Your changes are saved automatically.'\n\t\t\t\t\t\t\t\t: 'Setu is your default AI provider. GO plan credits are applied automatically.'}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-3 gap-6 sm:gap-8\">\n\t\t\t\t\t\t{/* Left Column - Wallet */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"bg-card rounded-2xl border border-border p-5\">\n\t\t\t\t\t\t\t\t{authStatus.ottorouter.configured &&\n\t\t\t\t\t\t\t\tauthStatus.ottorouter.publicKey ? (\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full\">\n\t\t\t\t\t\t\t\t\t\t{/* Setu Default Provider Badge */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 px-3 py-2 bg-green-500/10 border border-green-500/20 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider=\"ottorouter\" size={16} />\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-green-600 dark:text-green-400\">\n\t\t\t\t\t\t\t\t\t\t\t\tSetu\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<span className=\"text-xs text-green-600/60 dark:text-green-500/60 ml-auto\">\n\t\t\t\t\t\t\t\t\t\t\t\tDefault Provider\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex justify-center py-4 mt-4\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"bg-white p-2 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<QRCodeSVG\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={authStatus.ottorouter.publicKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize={140}\n\t\t\t\t\t\t\t\t\t\t\t\t\tlevel=\"M\"\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</div>\n\n\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2 mt-4\">\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={handleCopy}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full flex items-center justify-center gap-2 px-3 py-2 bg-muted hover:bg-muted/80 rounded-lg text-xs font-mono text-muted-foreground transition-colors\"\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{truncateAddress(authStatus.ottorouter.publicKey)}\n\t\t\t\t\t\t\t\t\t\t\t\t{copied ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-3.5 h-3.5 text-green-500\" />\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<Copy className=\"w-3.5 h-3.5 text-muted-foreground\" />\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\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-1.5 px-3 py-2 bg-muted/50 rounded-lg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1.5 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"font-mono text-xs sm:text-sm text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{setuStatusLabel}\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</div>\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\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={fetchBalance}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={isBalanceLoading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0.5 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50\"\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<RefreshCw\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`w-3 h-3 ${isBalanceLoading ? 'animate-spin' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] text-muted-foreground font-mono\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tBalance ${(balance ?? 0).toFixed(2)} • On-chain{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(usdcBalance ?? 0).toFixed(2)} USDC\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</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* OR Divider */}\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-4 py-4\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex-1 h-px bg-border\" />\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-muted-foreground font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\tOR\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<div className=\"flex-1 h-px bg-border\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\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={onOpenTopup}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<CreditCard className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\tTop Up with Card\n\t\t\t\t\t\t\t\t\t\t</button>\n\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={handleOpenImportWallet}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full mt-2 flex items-center justify-center gap-2 px-4 py-2.5 border border-border text-foreground rounded-lg text-sm font-medium hover:bg-muted/50 transition-colors\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Key className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t\tImport Wallet\n\t\t\t\t\t\t\t\t\t\t</button>\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<div className=\"flex items-center justify-center py-16\">\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-8 h-8 animate-spin text-muted-foreground\" />\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</div>\n\n\t\t\t\t\t\t{/* Right Column - Providers */}\n\t\t\t\t\t\t<div className=\"sm:col-span-2 space-y-6\">\n\t\t\t\t\t\t\t{/* Connected Providers */}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between mb-4\">\n\t\t\t\t\t\t\t\t\t<h2 className=\"font-semibold text-foreground\">\n\t\t\t\t\t\t\t\t\t\tConnected Providers\n\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t{configuredProviders.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{configuredProviders.length} active\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</div>\n\n\t\t\t\t\t\t\t\t{configuredProviders.length === 0 ? (\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm text-muted-foreground py-4\">\n\t\t\t\t\t\t\t\t\t\tNo providers connected yet. Add one below.\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<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t\t{configuredProviders.map(([id, info]) => (\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={id}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`flex items-center gap-2 pl-3 pr-2 py-2 rounded-full transition-all duration-200 ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tconfirmingDelete === id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-destructive/10 border border-destructive/30'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'group bg-green-500/10 border border-green-500/20'\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<ProviderLogo provider={id} size={16} />\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\tclassName={`text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconfirmingDelete === id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'text-destructive'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'text-green-600 dark:text-green-400'\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{info.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\t{confirmingDelete !== id && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-green-600/60 dark:text-green-500/60\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.type === 'oauth' ? 'OAuth' : 'API'}\n\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)}\n\t\t\t\t\t\t\t\t\t\t\t\t{confirmingDelete === id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 ml-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-destructive/80 mr-1\">\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\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleRemoveProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={removingProvider === id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-xs bg-destructive text-destructive-foreground rounded hover:bg-destructive/90 transition-colors disabled:opacity-50\"\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{removingProvider === id ? (\n\t\t\t\t\t\t\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\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Yes'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleCancelDelete}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-2 py-0.5 text-xs bg-muted text-muted-foreground rounded hover:bg-muted/80 transition-colors\"\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\tNo\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\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\tid !== 'ottorouter' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleRemoveProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-1 p-1 text-green-600/40 dark:text-green-500/40 hover:text-green-600/80 dark:hover:text-green-500/80 opacity-0 group-hover:opacity-100 transition-opacity\"\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<X className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</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</div>\n\n\t\t\t\t\t\t\t{/* Add Providers */}\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<h2 className=\"font-semibold text-foreground mb-4\">\n\t\t\t\t\t\t\t\t\tAdd Providers\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-2 gap-3 items-start\">\n\t\t\t\t\t\t\t\t\t{unconfiguredProviders.map(([id, info]) => (\n\t\t\t\t\t\t\t\t\t\t<div key={id}>\n\t\t\t\t\t\t\t\t\t\t\t{addingProvider === id ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 p-3 bg-card border border-ring rounded-xl overflow-hidden\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider={id} size={18} />\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<input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tref={apiKeyInputRef}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={apiKeyInput}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setApiKeyInput(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={`${info.label} API key...`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground text-foreground\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter') handleAddProvider(id);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetAddingProvider(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetApiKeyInput('');\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\t<button\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={() => handleAddProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!apiKeyInput.trim()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0 px-3 py-1.5 bg-primary text-primary-foreground text-sm font-medium rounded-lg disabled:opacity-50\"\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\tAdd\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<button\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\tsetAddingProvider(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetApiKeyInput('');\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=\"shrink-0 p-1.5 text-muted-foreground hover:text-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<X className=\"w-4 h-4\" />\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</div>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between p-3 bg-card border border-border hover:border-border/80 rounded-xl transition-colors gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-3 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ProviderLogo provider={id} size={20} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"font-medium text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.modelCount} models\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</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<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{id !== 'copilot' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => setAddingProvider(id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Key className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAPI\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{info.supportsOAuth && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleStartOAuth(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid === 'anthropic' ? 'max' : undefined,\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\tclassName=\"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{id === 'anthropic'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Pro'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: id === 'copilot'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Login'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'OAuth'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\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<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => setIsCustomProviderModalOpen(true)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"group flex items-center justify-between p-3 bg-card border border-dashed border-border hover:border-primary/60 hover:bg-primary/5 hover:shadow-sm rounded-xl transition-all gap-2 text-left cursor-pointer\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-3 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"inline-flex items-center justify-center w-5 h-5 rounded-full bg-muted text-muted-foreground group-hover:bg-primary/10 group-hover:text-primary transition-colors\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Plus className=\"w-3.5 h-3.5\" />\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<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"font-medium text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tCustom Provider\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\t<div className=\"text-xs text-muted-foreground group-hover:text-foreground/70 transition-colors\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tOpenAI-compatible or Ollama endpoint\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</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground group-hover:text-primary group-hover:bg-primary/10 rounded-lg transition-colors\">\n\t\t\t\t\t\t\t\t\t\t\t<Key className=\"w-3.5 h-3.5\" />\n\t\t\t\t\t\t\t\t\t\t\tAdd\n\t\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</div>\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</div>\n\n\t\t\t{/* Bottom Bar */}\n\t\t\t<div className=\"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto flex items-center justify-between\">\n\t\t\t\t\t{!manageMode && (\n\t\t\t\t\t\t<div className=\"text-xs sm:text-sm text-muted-foreground hidden sm:block\">\n\t\t\t\t\t\t\tYou can add more providers later in settings\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{manageMode ? (\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={onClose}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors ml-auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tDone\n\t\t\t\t\t\t</button>\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={onNext}\n\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tContinue\n\t\t\t\t\t\t\t<ArrowRight className=\"w-4 h-4\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isCustomProviderModalOpen && (\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-2xl mx-6 shadow-2xl max-h-[90vh] overflow-y-auto\">\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<span className=\"inline-flex items-center justify-center w-6 h-6 rounded-full bg-muted text-muted-foreground\">\n\t\t\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Add Custom Provider</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6 space-y-4\">\n\t\t\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n\t\t\t\t\t\t\t\t<label className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\tProvider ID\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\tvalue={customProviderId}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setCustomProviderId(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"my-provider\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<label className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\tDisplay Name\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\tvalue={customProviderLabel}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setCustomProviderLabel(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"My Provider\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-3 p-3 bg-muted/30 border border-border rounded-lg\">\n\t\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\tFetch models from provider\n\t\t\t\t\t\t\t\t\t</div>\n\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\tFor Ollama, this reads /api/tags and /api/show to include\n\t\t\t\t\t\t\t\t\t\tcontext windows.\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\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={handleDiscoverCustomProviderModels}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!customProviderBaseURL.trim() || isDiscoveringCustomModels\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"shrink-0 px-3 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 flex items-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isDiscoveringCustomModels && (\n\t\t\t\t\t\t\t\t\t\t<Loader2 className=\"w-3.5 h-3.5 animate-spin\" />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tFetch Models\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{customProviderDiscoveryMessage && (\n\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t{customProviderDiscoveryMessage}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{discoveredCustomModels.length > 0 && (\n\t\t\t\t\t\t\t\t<div className=\"space-y-2 max-h-44 overflow-y-auto border border-border rounded-lg p-2\">\n\t\t\t\t\t\t\t\t\t{discoveredCustomModels.map((model) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={model.id}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center justify-between gap-3 p-2 bg-card rounded-md\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-sm font-medium text-foreground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{model.label}\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\t<div className=\"text-xs text-muted-foreground font-mono truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{model.id}\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</div>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap justify-end gap-1 shrink-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t{model.contextWindow && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-blue-600/20 text-blue-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formatTokenCount(model.contextWindow)} ctx\n\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)}\n\t\t\t\t\t\t\t\t\t\t\t\t{model.maxOutputTokens && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-cyan-600/20 text-cyan-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formatTokenCount(model.maxOutputTokens)} out\n\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)}\n\t\t\t\t\t\t\t\t\t\t\t\t{model.toolCall && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTools\n\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)}\n\t\t\t\t\t\t\t\t\t\t\t\t{model.reasoningText && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tReasoning\n\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)}\n\t\t\t\t\t\t\t\t\t\t\t\t{model.vision && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-[10px] px-1.5 py-0.5 bg-orange-600/20 text-orange-400 rounded\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tVision\n\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)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t))}\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<label className=\"space-y-2 block\">\n\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\tBase URL\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t\t\t\tvalue={customProviderBaseURL}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setCustomProviderBaseURL(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder=\"https://api.example.com/v1\"\n\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t\t<div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n\t\t\t\t\t\t\t\t<label className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\tAPI Key\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\tvalue={customProviderApiKey}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setCustomProviderApiKey(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Optional\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<label className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\tCompatibility\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\t\tvalue={customProviderCompatibility}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\tsetCustomProviderCompatibility(\n\t\t\t\t\t\t\t\t\t\t\t\te.target.value as CustomProviderCompatibility,\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\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground outline-none focus:border-foreground/30 transition-colors text-sm\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{CUSTOM_PROVIDER_COMPATIBILITY_OPTIONS.map((option) => (\n\t\t\t\t\t\t\t\t\t\t\t<option key={option.value} value={option.value}>\n\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<label className=\"space-y-2 block\">\n\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\tModels\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\tvalue={customProviderModels}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setCustomProviderModels(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder=\"gpt-4o, claude-sonnet-4-5, llama3.3\"\n\t\t\t\t\t\t\t\t\tclassName=\"w-full min-h-[90px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm resize-y\"\n\t\t\t\t\t\t\t\t/>\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\tComma or newline separated. Leave blank to allow any model.\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t\t<label className=\"flex items-center gap-3 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t\tchecked={customProviderAllowAnyModel}\n\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\tsetCustomProviderAllowAnyModel(e.target.checked)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"h-4 w-4 accent-primary\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\tAllow entering model IDs not listed above\n\t\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t\t{customProviderError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500\">{customProviderError}</p>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<div className=\"flex gap-3 pt-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={handleCloseCustomProviderModal}\n\t\t\t\t\t\t\t\t\tdisabled={isAddingCustomProvider}\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\tCancel\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={handleAddCustomProvider}\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t!customProviderId.trim() ||\n\t\t\t\t\t\t\t\t\t\t!customProviderBaseURL.trim() ||\n\t\t\t\t\t\t\t\t\t\tisAddingCustomProvider\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isAddingCustomProvider ? (\n\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) : (\n\t\t\t\t\t\t\t\t\t\t'Add Provider'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{isImportModalOpen && (\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<ProviderLogo provider=\"ottorouter\" size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Import Setu Wallet</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\tPaste your base58 private key to replace the current wallet used\n\t\t\t\t\t\t\t\tfor Setu.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\tref={importPrivateKeyRef}\n\t\t\t\t\t\t\t\tvalue={importPrivateKey}\n\t\t\t\t\t\t\t\tonChange={(e) => setImportPrivateKey(e.target.value)}\n\t\t\t\t\t\t\t\tplaceholder=\"Enter private key\"\n\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 placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-xs resize-y\"\n\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\tif ((e.metaKey || e.ctrlKey) && e.key === 'Enter') {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleImportWallet();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') handleCloseImportWallet();\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{importWalletError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 mt-3\">{importWalletError}</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={handleCloseImportWallet}\n\t\t\t\t\t\t\t\t\tdisabled={isImportingWallet}\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\tCancel\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={handleImportWallet}\n\t\t\t\t\t\t\t\t\tdisabled={!importPrivateKey.trim() || isImportingWallet}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{isImportingWallet ? (\n\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) : (\n\t\t\t\t\t\t\t\t\t\t'Import Wallet'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* OAuth Code Modal */}\n\t\t\t{oauthSession && (\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<ProviderLogo provider={oauthSession.provider} size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">\n\t\t\t\t\t\t\t\tConnect{' '}\n\t\t\t\t\t\t\t\t{authStatus.providers[oauthSession.provider]?.label ||\n\t\t\t\t\t\t\t\t\toauthSession.provider}\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{!oauthSession.sessionId ? (\n\t\t\t\t\t\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-6\">\n\t\t\t\t\t\t\t\t\tYou'll be redirected to{' '}\n\t\t\t\t\t\t\t\t\t{authStatus.providers[oauthSession.provider]?.label ||\n\t\t\t\t\t\t\t\t\t\toauthSession.provider}{' '}\n\t\t\t\t\t\t\t\t\tto authorize access. After authorizing, copy the code and\n\t\t\t\t\t\t\t\t\treturn here.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<div className=\"flex gap-3\">\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={handleCancelOAuth}\n\t\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\"\n\t\t\t\t\t\t\t\t\t>\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={handleOpenPopup}\n\t\t\t\t\t\t\t\t\t\tdisabled={isOpeningPopup}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{isOpeningPopup ? (\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<>\n\t\t\t\t\t\t\t\t\t\t\t\tContinue\n\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-4 h-4\" />\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</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\t\t<div className=\"p-6\">\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mb-4\">\n\t\t\t\t\t\t\t\t\tPaste the authorization code:\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tref={oauthCodeInputRef}\n\t\t\t\t\t\t\t\t\tvalue={oauthCodeInput}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setOauthCodeInput(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder=\"Paste code here...\"\n\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors mb-4 font-mono text-sm\"\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') handleExchangeCode();\n\t\t\t\t\t\t\t\t\t\tif (e.key === 'Escape') handleCancelOAuth();\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<div className=\"flex gap-3\">\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={handleCancelOAuth}\n\t\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\"\n\t\t\t\t\t\t\t\t\t>\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={handleExchangeCode}\n\t\t\t\t\t\t\t\t\t\tdisabled={!oauthCodeInput.trim() || isExchangingCode}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{isExchangingCode ? (\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'Connect'\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\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{/* Copilot Device Flow Modal */}\n\t\t\t{copilotModalOpen && (\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<ProviderLogo provider=\"copilot\" size={24} />\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold\">Connect GitHub Copilot</h3>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"p-6 space-y-4\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-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={() => handleCopilotSwitchMode('oauth')}\n\t\t\t\t\t\t\t\t\tclassName={`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMode === 'oauth'\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-foreground text-background'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted 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>\n\t\t\t\t\t\t\t\t\tOAuth\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={() => handleCopilotSwitchMode('token')}\n\t\t\t\t\t\t\t\t\tclassName={`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMode === 'token'\n\t\t\t\t\t\t\t\t\t\t\t? 'bg-foreground text-background'\n\t\t\t\t\t\t\t\t\t\t\t: 'bg-muted 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>\n\t\t\t\t\t\t\t\t\tToken\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{copilotAuthMode === 'oauth' ? (\n\t\t\t\t\t\t\t\t<>\n\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\tEnter this code on GitHub to authorize:\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-center gap-3\">\n\t\t\t\t\t\t\t\t\t\t{copilotLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"bg-muted px-6 py-3 rounded-lg animate-pulse\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"h-9 w-48 bg-muted-foreground/20 rounded\" />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) : copilotDevice ? (\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<code className=\"text-3xl font-mono font-bold tracking-widest text-foreground bg-muted px-6 py-3 rounded-lg select-all\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{copilotDevice.userCode}\n\t\t\t\t\t\t\t\t\t\t\t\t</code>\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={handleCopilotCopyCode}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-2 text-muted-foreground hover:text-foreground transition-colors\"\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{copilotCodeCopied ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className=\"w-5 h-5 text-green-500\" />\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<Copy className=\"w-5 h-5\" />\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</>\n\t\t\t\t\t\t\t\t\t\t) : null}\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\t\t<>\n\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\tPaste a GitHub token with Copilot model access.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\tvalue={copilotTokenInput}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setCopilotTokenInput(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"gho_...\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{copilotAuthMethods?.ghImport.available && (\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={handleCopilotImportFromGh}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={copilotGhImporting}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-10 px-4 bg-muted text-foreground rounded-lg font-medium hover:bg-muted/80 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{copilotGhImporting ? (\n\t\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\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t'Import from GH CLI'\n\t\t\t\t\t\t\t\t\t\t\t)}\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{copilotAuthMethods?.ghImport.available &&\n\t\t\t\t\t\t\t\t\t\t!copilotAuthMethods.ghImport.authenticated && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{copilotAuthMethods.ghImport.reason ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t'GitHub CLI is not authenticated'}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{copilotAuthMethods &&\n\t\t\t\t\t\t\t\t\t\t!copilotAuthMethods.ghImport.available &&\n\t\t\t\t\t\t\t\t\t\tcopilotAuthMethods.ghImport.reason && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{copilotAuthMethods.ghImport.reason}\n\t\t\t\t\t\t\t\t\t\t\t</p>\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)}\n\n\t\t\t\t\t\t\t{copilotDiagnostics &&\n\t\t\t\t\t\t\t\tcopilotDiagnostics.tokenSources.length > 0 && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-muted-foreground space-y-1\">\n\t\t\t\t\t\t\t\t\t\t{copilotDiagnostics.tokenSources.map((source) => (\n\t\t\t\t\t\t\t\t\t\t\t<div key={source.source}>\n\t\t\t\t\t\t\t\t\t\t\t\t{source.source}:{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{source.configured\n\t\t\t\t\t\t\t\t\t\t\t\t\t? source.error\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? source.error\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `${source.modelCount ?? 0} models visible`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'not configured'}\n\t\t\t\t\t\t\t\t\t\t\t\t{source.restrictedByOrgPolicy && source.restrictedOrg\n\t\t\t\t\t\t\t\t\t\t\t\t\t? ` (org restriction: ${source.restrictedOrg})`\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</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\n\t\t\t\t\t\t\t{copilotError && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-red-500 text-center\">\n\t\t\t\t\t\t\t\t\t{copilotError}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{copilotPolling && copilotAuthMode === 'oauth' && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-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\tWaiting for authorization...\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 gap-3\">\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={handleCancelCopilot}\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\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{copilotAuthMode === 'oauth' ? (\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={handleCopilotOpenGithub}\n\t\t\t\t\t\t\t\t\t\tdisabled={copilotPolling || copilotLoading}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{copilotPolling || copilotLoading ? (\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<>\n\t\t\t\t\t\t\t\t\t\t\t\tOpen GitHub\n\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink className=\"w-4 h-4\" />\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</button>\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={handleCopilotSaveToken}\n\t\t\t\t\t\t\t\t\t\tdisabled={!copilotTokenInput.trim() || copilotTokenSaving}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{copilotTokenSaving ? (\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'Save token'\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)}\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</div>\n\t);\n});\n",
179
179
  "import { memo, useState, useEffect, useId, useRef } from 'react';\nimport { Loader2, ArrowLeft, Sparkles, ChevronDown } from 'lucide-react';\nimport { apiClient } from '../../../lib/api-client';\nimport type { AuthStatus } from '../../../stores/onboardingStore';\nimport { ProviderLogo } from '../../common/ProviderLogo';\n\ninterface DefaultsStepProps {\n\tauthStatus: AuthStatus;\n\tonComplete: () => Promise<void>;\n\tonBack: () => void;\n\thideHeader?: boolean;\n}\n\ninterface ConfigData {\n\tagents: string[];\n\tproviders: string[];\n\tdefaults: {\n\t\tagent: string;\n\t\tprovider: string;\n\t\tmodel: string;\n\t\ttoolApproval?: 'auto' | 'dangerous' | 'all' | 'yolo';\n\t\tguidedMode?: boolean;\n\t\tfullWidthContent?: boolean;\n\t};\n}\n\ntype AllModels = Record<\n\tstring,\n\t{\n\t\tlabel: string;\n\t\tmodels: Array<{ id: string; label: string }>;\n\t}\n>;\n\nexport const DefaultsStep = memo(function DefaultsStep({\n\tauthStatus,\n\tonComplete,\n\tonBack,\n\thideHeader = false,\n}: DefaultsStepProps) {\n\tconst [config, setConfig] = useState<ConfigData | null>(null);\n\tconst [allModels, setAllModels] = useState<AllModels | null>(null);\n\tconst [isLoading, setIsLoading] = useState(true);\n\tconst [isSaving, setIsSaving] = useState(false);\n\n\tconst [selectedProvider, setSelectedProvider] = useState('ottorouter');\n\tconst [selectedModel, setSelectedModel] = useState('kimi-k2.5');\n\tconst [selectedAgent, setSelectedAgent] = useState(\n\t\tauthStatus.defaults.agent || 'build',\n\t);\n\tconst [selectedApproval, setSelectedApproval] = useState<\n\t\t'auto' | 'dangerous' | 'all' | 'yolo'\n\t>(authStatus.defaults.toolApproval || 'dangerous');\n\tconst [guidedMode, setGuidedMode] = useState(false);\n\tconst hasUserChangedProvider = useRef(false);\n\n\tconst providerId = useId();\n\tconst modelId = useId();\n\tconst agentId = useId();\n\tconst approvalId = useId();\n\n\tuseEffect(() => {\n\t\tconst loadConfig = async () => {\n\t\t\ttry {\n\t\t\t\tconst [configData, modelsData] = await Promise.all([\n\t\t\t\t\tapiClient.getConfig(),\n\t\t\t\t\tapiClient.getAllModels(),\n\t\t\t\t]);\n\t\t\t\tsetConfig(configData);\n\t\t\t\tsetAllModels(modelsData);\n\t\t\t\tconst cfgProvider = configData?.defaults?.provider || 'ottorouter';\n\t\t\t\tconst cfgModel = configData?.defaults?.model || 'kimi-k2.5';\n\t\t\t\tconst providerHasModels = modelsData?.[cfgProvider]?.models?.length > 0;\n\t\t\t\tconst resolvedProvider = providerHasModels ? cfgProvider : 'ottorouter';\n\t\t\t\tconst resolvedModel =\n\t\t\t\t\tproviderHasModels &&\n\t\t\t\t\tmodelsData[cfgProvider].models.some(\n\t\t\t\t\t\t(m: { id: string }) => m.id === cfgModel,\n\t\t\t\t\t)\n\t\t\t\t\t\t? cfgModel\n\t\t\t\t\t\t: modelsData?.[resolvedProvider]?.models?.[0]?.id || 'kimi-k2.5';\n\t\t\t\tsetSelectedProvider(resolvedProvider);\n\t\t\t\tsetSelectedModel(resolvedModel);\n\t\t\t\tif (configData?.defaults?.agent) {\n\t\t\t\t\tsetSelectedAgent(configData.defaults.agent);\n\t\t\t\t}\n\t\t\t\tif (configData?.defaults?.toolApproval) {\n\t\t\t\t\tsetSelectedApproval(configData.defaults.toolApproval);\n\t\t\t\t}\n\t\t\t\tif (configData?.defaults?.guidedMode) {\n\t\t\t\t\tsetGuidedMode(configData.defaults.guidedMode);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t} finally {\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t};\n\t\tloadConfig();\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (config?.agents?.length) {\n\t\t\tconst agents = config.agents;\n\t\t\tif (!selectedAgent || !agents.includes(selectedAgent)) {\n\t\t\t\tsetSelectedAgent(agents.includes('build') ? 'build' : agents[0]);\n\t\t\t}\n\t\t}\n\t}, [config, selectedAgent]);\n\n\tuseEffect(() => {\n\t\tif (allModels?.[selectedProvider] && hasUserChangedProvider.current) {\n\t\t\tconst providerModels = allModels[selectedProvider];\n\t\t\tif (!providerModels.models.some((m) => m.id === selectedModel)) {\n\t\t\t\tsetSelectedModel(providerModels.models[0]?.id || '');\n\t\t\t}\n\t\t}\n\t}, [selectedProvider, allModels, selectedModel]);\n\n\tconst handleFinish = async () => {\n\t\tsetIsSaving(true);\n\t\ttry {\n\t\t\tawait apiClient.updateDefaults({\n\t\t\t\tprovider: selectedProvider,\n\t\t\t\tmodel: selectedModel,\n\t\t\t\tagent: selectedAgent,\n\t\t\t\ttoolApproval: selectedApproval,\n\t\t\t\tguidedMode,\n\t\t\t\tfullWidthContent: config?.defaults?.fullWidthContent ?? true,\n\t\t\t\tscope: 'global',\n\t\t\t});\n\t\t\tawait onComplete();\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetIsSaving(false);\n\t\t}\n\t};\n\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<div className=\"min-h-screen flex items-center justify-center\">\n\t\t\t\t<Loader2 className=\"w-8 h-8 animate-spin text-muted-foreground\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst availableProviders = config?.providers.filter(\n\t\t(p) =>\n\t\t\t(authStatus.providers[p]?.configured || p === 'ottorouter') &&\n\t\t\tallModels?.[p]?.models?.length > 0,\n\t) || ['ottorouter'];\n\n\tconst currentProviderModels = allModels?.[selectedProvider]?.models || [];\n\n\treturn (\n\t\t<div className=\"min-h-screen flex flex-col\">\n\t\t\t{!hideHeader && (\n\t\t\t\t<div className=\"flex items-center justify-between px-6 py-4 border-b border-border\">\n\t\t\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t\t\t<ProviderLogo provider=\"ottorouter\" size={24} />\n\t\t\t\t\t\t<span className=\"font-semibold text-foreground\">otto</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t<span className=\"w-2 h-2 rounded-full bg-blue-500\" />\n\t\t\t\t\t\tStep 2 of 2\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Main Content */}\n\t\t\t<div\n\t\t\t\tclassName={`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${hideHeader ? 'pt-8 sm:pt-10 lg:pt-14' : 'pt-6 sm:pt-8 lg:pt-12'}`}\n\t\t\t>\n\t\t\t\t<div className=\"max-w-7xl mx-auto\">\n\t\t\t\t\t{/* Header */}\n\t\t\t\t\t<div className=\"mb-10\">\n\t\t\t\t\t\t<h1 className=\"text-3xl lg:text-4xl font-semibold text-foreground mb-3\">\n\t\t\t\t\t\t\tConfigure Defaults\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<p className=\"text-lg text-muted-foreground\">\n\t\t\t\t\t\t\tSet your preferences. You can change these anytime in settings.\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Form */}\n\t\t\t\t\t<div className=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\n\t\t\t\t\t\t{/* Provider */}\n\t\t\t\t\t\t<div className=\"md:col-span-2\">\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={providerId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDefault Provider\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={providerId}\n\t\t\t\t\t\t\t\t\tvalue={selectedProvider}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\thasUserChangedProvider.current = true;\n\t\t\t\t\t\t\t\t\t\tsetSelectedProvider(e.target.value);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{availableProviders.map((p) => (\n\t\t\t\t\t\t\t\t\t\t<option key={p} value={p}>\n\t\t\t\t\t\t\t\t\t\t\t{authStatus.providers[p]?.label || p}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\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{/* Model */}\n\t\t\t\t\t\t<div className=\"md:col-span-2\">\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={modelId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDefault Model\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={modelId}\n\t\t\t\t\t\t\t\t\tvalue={selectedModel}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSelectedModel(e.target.value)}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{currentProviderModels.map((m) => (\n\t\t\t\t\t\t\t\t\t\t<option key={m.id} value={m.id}>\n\t\t\t\t\t\t\t\t\t\t\t{m.label || m.id}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\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{/* Agent */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={agentId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDefault Agent\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={agentId}\n\t\t\t\t\t\t\t\t\tvalue={selectedAgent}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSelectedAgent(e.target.value)}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{(config?.agents || ['build']).map((a) => (\n\t\t\t\t\t\t\t\t\t\t<option key={a} value={a}>\n\t\t\t\t\t\t\t\t\t\t\t{a}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\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{/* Tool Approval */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\thtmlFor={approvalId}\n\t\t\t\t\t\t\t\tclassName=\"block text-sm font-medium text-muted-foreground mb-2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tTool Approval\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tid={approvalId}\n\t\t\t\t\t\t\t\t\tvalue={selectedApproval}\n\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\tsetSelectedApproval(\n\t\t\t\t\t\t\t\t\t\t\te.target.value as 'auto' | 'dangerous' | 'all' | 'yolo',\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<option value=\"auto\">Auto - run without asking</option>\n\t\t\t\t\t\t\t\t\t<option value=\"dangerous\">\n\t\t\t\t\t\t\t\t\t\tDangerous - approve writes only\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t<option value=\"yolo\">\n\t\t\t\t\t\t\t\t\t\tYOLO - skip approvals except hard safety blocks\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t<option value=\"all\">All - approve every tool</option>\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<ChevronDown className=\"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p className=\"mt-2 text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\tControls when tool executions need approval. YOLO still blocks\n\t\t\t\t\t\t\t\textreme destructive commands.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Guided Mode */}\n\t\t\t\t\t\t<div className=\"md:col-span-2\">\n\t\t\t\t\t\t\t<div className=\"flex items-center justify-between px-4 py-3 bg-card border border-border rounded-xl\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<span className=\"text-sm font-medium text-foreground\">\n\t\t\t\t\t\t\t\t\t\tGuided Mode\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground mt-0.5\">\n\t\t\t\t\t\t\t\t\t\tAI will run commands and manage services for you instead of\n\t\t\t\t\t\t\t\t\t\tgiving instructions\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\t\t\t\taria-checked={guidedMode}\n\t\t\t\t\t\t\t\t\tonClick={() => setGuidedMode(!guidedMode)}\n\t\t\t\t\t\t\t\t\tclassName={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${\n\t\t\t\t\t\t\t\t\t\tguidedMode ? 'bg-primary' : 'bg-muted'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`inline-block h-4 w-4 transform rounded-full transition-transform ${\n\t\t\t\t\t\t\t\t\t\t\tguidedMode ? 'translate-x-6' : 'translate-x-1'\n\t\t\t\t\t\t\t\t\t\t} ${guidedMode ? 'bg-primary-foreground' : 'bg-foreground'}`}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Bottom Bar */}\n\t\t\t<div className=\"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background\">\n\t\t\t\t<div className=\"max-w-7xl mx-auto flex items-center justify-between\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={onBack}\n\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-4 py-3 text-muted-foreground hover:text-foreground transition-colors\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ArrowLeft className=\"w-4 h-4\" />\n\t\t\t\t\t\tBack\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={handleFinish}\n\t\t\t\t\t\tdisabled={isSaving}\n\t\t\t\t\t\tclassName=\"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors disabled:opacity-50\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{isSaving ? (\n\t\t\t\t\t\t\t<>\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\tSetting up...\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\tStart Using otto\n\t\t\t\t\t\t\t\t<Sparkles className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n"
180
180
  ],
181
- "mappings": "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",
182
- "debugId": "7F0EBE4B932F92B664756E2164756E21",
181
+ "mappings": "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",
182
+ "debugId": "0DFF52692CB7F20A64756E2164756E21",
183
183
  "names": []
184
184
  }