@ottocode/web-sdk 0.1.260 → 0.1.261
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/git/GitDiffViewer.d.ts.map +1 -1
- package/dist/components/index.js +84 -89
- package/dist/components/index.js.map +8 -8
- package/dist/components/ui/ToolApprovalDialog.d.ts.map +1 -1
- package/dist/hooks/index.js +75 -90
- package/dist/hooks/index.js.map +7 -7
- package/dist/hooks/useConfig.d.ts.map +1 -1
- package/dist/hooks/useResearch.d.ts.map +1 -1
- package/dist/hooks/useTunnel.d.ts.map +1 -1
- package/dist/hooks/useWorkingDirectory.d.ts.map +1 -1
- package/dist/index.js +94 -103
- package/dist/index.js.map +9 -9
- package/dist/lib/api-client/config.d.ts.map +1 -1
- package/dist/lib/api-client/index.d.ts.map +1 -1
- package/dist/lib/api-client/sessions.d.ts.map +1 -1
- package/dist/lib/index.js +10 -11
- package/dist/lib/index.js.map +4 -4
- package/package.json +3 -3
package/dist/hooks/index.js.map
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
"sources": ["../src/hooks/useConfig.ts", "../src/lib/api-client/sessions.ts", "../src/lib/api-client/utils.ts", "../src/lib/config.ts", "../src/lib/api-client/git.ts", "../src/lib/api-client/config.ts", "../src/lib/api-client/files.ts", "../src/lib/api-client/branches.ts", "../src/lib/api-client/approval.ts", "../src/lib/api-client/ottorouter.ts", "../src/lib/api-client/auth.ts", "../src/lib/api-client/skills.ts", "../src/lib/api-client/index.ts", "../src/hooks/usePreferences.ts", "../src/hooks/useFiles.ts", "../src/hooks/useGit.ts", "../src/stores/gitStore.ts", "../src/stores/sessionFilesStore.ts", "../src/stores/researchStore.ts", "../src/stores/settingsStore.ts", "../src/stores/tunnelStore.ts", "../src/stores/fileBrowserStore.ts", "../src/stores/mcpStore.ts", "../src/stores/skillsStore.ts", "../src/hooks/useMessages.ts", "../src/hooks/useSessions.ts", "../src/hooks/useSessionStream.ts", "../src/lib/sse-client.ts", "../src/stores/toolApprovalStore.ts", "../src/hooks/useTheme.ts", "../src/hooks/useWorkingDirectory.ts", "../src/hooks/useKeyboardShortcuts.ts", "../src/stores/focusStore.ts", "../src/stores/sidebarStore.ts", "../src/stores/filePickerStore.ts", "../src/hooks/useImageUpload.ts", "../src/hooks/useFileUpload.ts", "../src/hooks/useSessionFiles.ts", "../src/hooks/useQueueState.ts", "../src/hooks/useBranch.ts", "../src/hooks/useResearch.ts", "../src/stores/pendingResearchStore.ts", "../src/hooks/useSetuPayments.ts", "../src/stores/toastStore.ts", "../src/stores/ottorouterStore.ts", "../src/stores/topupApprovalStore.ts", "../src/hooks/useOttoRouterBalance.ts", "../src/stores/usageStore.ts", "../src/hooks/useShareStatus.ts", "../src/hooks/useToolApprovalShortcuts.ts", "../src/hooks/useTopupCallback.ts", "../src/hooks/useAuthStatus.ts", "../src/stores/onboardingStore.ts", "../src/hooks/useTunnel.ts", "../src/hooks/useProviderUsage.ts", "../src/hooks/useFileBrowser.ts", "../src/hooks/useMCP.ts", "../src/hooks/useSkills.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"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",
|
|
6
|
-
"import {\n\tcreateSession as apiCreateSession,\n\tlistSessions as apiListSessions,\n\tlistMessages as apiListMessages,\n\tcreateMessage as apiCreateMessage,\n\tabortSession as apiAbortSession,\n\tdeleteSession as apiDeleteSession,\n\tupdateSession as apiUpdateSession,\n\tgetSessionQueue as apiGetSessionQueue,\n\tremoveFromQueue as apiRemoveFromQueue,\n\tretryMessage as apiRetryMessage,\n\ttype Session as ApiSession,\n\ttype CreateSessionData,\n\ttype CreateMessageData,\n} from '@ottocode/api';\nimport type {\n\tSession,\n\tMessage,\n\tCreateSessionRequest,\n\tSendMessageRequest,\n\tSendMessageResponse,\n\tUpdateSessionRequest,\n\tSessionsPage,\n} from '../../types/api';\nimport {\n\textractErrorMessage,\n\tconvertSession,\n\tconvertMessage,\n\tgetBaseUrl,\n} from './utils';\n\nexport const sessionsMixin = {\n\tasync getSessions(): Promise<Session[]> {\n\t\tconst page = await this.getSessionsPage({ limit: 200 });\n\t\treturn page.items;\n\t},\n\n\tasync getSessionsPage(\n\t\tparams: { limit?: number; offset?: number } = {},\n\t): Promise<SessionsPage> {\n\t\tconst { limit = 50, offset = 0 } = params;\n\t\tconst response = await apiListSessions({\n\t\t\tquery: { limit, offset },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\tconst data = response.data;\n\t\treturn {\n\t\t\titems: (data?.items ?? []).map((s) => convertSession(s as ApiSession)),\n\t\t\thasMore: data?.hasMore ?? false,\n\t\t\tnextOffset: data?.nextOffset ?? null,\n\t\t};\n\t},\n\n\tasync createSession(data: CreateSessionRequest): Promise<Session> {\n\t\tconst response = await apiCreateSession({\n\t\t\tbody: data as CreateSessionData['body'],\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\tif (!response.data) throw new Error('No data returned from create session');\n\t\treturn convertSession(response.data);\n\t},\n\n\tasync updateSession(\n\t\tsessionId: string,\n\t\tdata: UpdateSessionRequest,\n\t): Promise<Session> {\n\t\tconst response = await apiUpdateSession({\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 convertSession(response.data as ApiSession);\n\t},\n\n\tasync deleteSession(sessionId: string): Promise<{ success: boolean }> {\n\t\tconst response = await apiDeleteSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { success: boolean };\n\t},\n\n\tasync abortSession(sessionId: string): Promise<{ success: boolean }> {\n\t\tconst response = await apiAbortSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { success: boolean };\n\t},\n\n\tasync abortMessage(\n\t\tsessionId: string,\n\t\t_messageId: string,\n\t): Promise<{ success: boolean; wasRunning: boolean; messageId: string }> {\n\t\tconst response = await apiAbortSession({\n\t\t\tpath: { sessionId },\n\t\t});\n\t\tif (response.error) throw new Error('Failed to abort message');\n\t\treturn response.data as {\n\t\t\tsuccess: boolean;\n\t\t\twasRunning: boolean;\n\t\t\tmessageId: string;\n\t\t};\n\t},\n\n\tasync getQueueState(sessionId: string): Promise<{\n\t\tcurrentMessageId: string | null;\n\t\tqueuedMessages: Array<{ messageId: string; position: number }>;\n\t\tisRunning: boolean;\n\t}> {\n\t\tconst response = await apiGetSessionQueue({ path: { sessionId } });\n\t\tif (response.error) throw new Error('Failed to get queue state');\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync removeFromQueue(\n\t\tsessionId: string,\n\t\tmessageId: string,\n\t): Promise<{\n\t\tsuccess: boolean;\n\t\tremoved: boolean;\n\t\twasQueued?: boolean;\n\t\twasRunning?: boolean;\n\t}> {\n\t\tconst response = await apiRemoveFromQueue({\n\t\t\tpath: { sessionId, messageId },\n\t\t});\n\t\tif (response.error) throw new Error('Failed to remove from queue');\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getMessages(sessionId: string): Promise<Message[]> {\n\t\tconst response = await apiListMessages({ path: { id: sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn (response.data || []).map(convertMessage);\n\t},\n\n\tasync sendMessage(\n\t\tsessionId: string,\n\t\tdata: SendMessageRequest,\n\t): Promise<SendMessageResponse> {\n\t\tconst response = await apiCreateMessage({\n\t\t\tpath: { id: sessionId },\n\t\t\tbody: data as CreateMessageData['body'],\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SendMessageResponse;\n\t},\n\n\tgetStreamUrl(sessionId: string): string {\n\t\treturn
|
|
6
|
+
"import {\n\tcreateSession as apiCreateSession,\n\tlistSessions as apiListSessions,\n\tlistMessages as apiListMessages,\n\tcreateMessage as apiCreateMessage,\n\tabortSession as apiAbortSession,\n\tdeleteSession as apiDeleteSession,\n\tupdateSession as apiUpdateSession,\n\tgetSessionQueue as apiGetSessionQueue,\n\tremoveFromQueue as apiRemoveFromQueue,\n\tretryMessage as apiRetryMessage,\n\tbuildSessionStreamUrl,\n\ttype Session as ApiSession,\n\ttype CreateSessionData,\n\ttype CreateMessageData,\n} from '@ottocode/api';\nimport type {\n\tSession,\n\tMessage,\n\tCreateSessionRequest,\n\tSendMessageRequest,\n\tSendMessageResponse,\n\tUpdateSessionRequest,\n\tSessionsPage,\n} from '../../types/api';\nimport {\n\textractErrorMessage,\n\tconvertSession,\n\tconvertMessage,\n\tgetBaseUrl,\n} from './utils';\n\nexport const sessionsMixin = {\n\tasync getSessions(): Promise<Session[]> {\n\t\tconst page = await this.getSessionsPage({ limit: 200 });\n\t\treturn page.items;\n\t},\n\n\tasync getSessionsPage(\n\t\tparams: { limit?: number; offset?: number } = {},\n\t): Promise<SessionsPage> {\n\t\tconst { limit = 50, offset = 0 } = params;\n\t\tconst response = await apiListSessions({\n\t\t\tquery: { limit, offset },\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\tconst data = response.data;\n\t\treturn {\n\t\t\titems: (data?.items ?? []).map((s) => convertSession(s as ApiSession)),\n\t\t\thasMore: data?.hasMore ?? false,\n\t\t\tnextOffset: data?.nextOffset ?? null,\n\t\t};\n\t},\n\n\tasync createSession(data: CreateSessionRequest): Promise<Session> {\n\t\tconst response = await apiCreateSession({\n\t\t\tbody: data as CreateSessionData['body'],\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\tif (!response.data) throw new Error('No data returned from create session');\n\t\treturn convertSession(response.data);\n\t},\n\n\tasync updateSession(\n\t\tsessionId: string,\n\t\tdata: UpdateSessionRequest,\n\t): Promise<Session> {\n\t\tconst response = await apiUpdateSession({\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 convertSession(response.data as ApiSession);\n\t},\n\n\tasync deleteSession(sessionId: string): Promise<{ success: boolean }> {\n\t\tconst response = await apiDeleteSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { success: boolean };\n\t},\n\n\tasync abortSession(sessionId: string): Promise<{ success: boolean }> {\n\t\tconst response = await apiAbortSession({ path: { sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as { success: boolean };\n\t},\n\n\tasync abortMessage(\n\t\tsessionId: string,\n\t\t_messageId: string,\n\t): Promise<{ success: boolean; wasRunning: boolean; messageId: string }> {\n\t\tconst response = await apiAbortSession({\n\t\t\tpath: { sessionId },\n\t\t});\n\t\tif (response.error) throw new Error('Failed to abort message');\n\t\treturn response.data as {\n\t\t\tsuccess: boolean;\n\t\t\twasRunning: boolean;\n\t\t\tmessageId: string;\n\t\t};\n\t},\n\n\tasync getQueueState(sessionId: string): Promise<{\n\t\tcurrentMessageId: string | null;\n\t\tqueuedMessages: Array<{ messageId: string; position: number }>;\n\t\tisRunning: boolean;\n\t}> {\n\t\tconst response = await apiGetSessionQueue({ path: { sessionId } });\n\t\tif (response.error) throw new Error('Failed to get queue state');\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync removeFromQueue(\n\t\tsessionId: string,\n\t\tmessageId: string,\n\t): Promise<{\n\t\tsuccess: boolean;\n\t\tremoved: boolean;\n\t\twasQueued?: boolean;\n\t\twasRunning?: boolean;\n\t}> {\n\t\tconst response = await apiRemoveFromQueue({\n\t\t\tpath: { sessionId, messageId },\n\t\t});\n\t\tif (response.error) throw new Error('Failed to remove from queue');\n\t\t// biome-ignore lint/suspicious/noExplicitAny: API response structure\n\t\treturn response.data as any;\n\t},\n\n\tasync getMessages(sessionId: string): Promise<Message[]> {\n\t\tconst response = await apiListMessages({ path: { id: sessionId } });\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn (response.data || []).map(convertMessage);\n\t},\n\n\tasync sendMessage(\n\t\tsessionId: string,\n\t\tdata: SendMessageRequest,\n\t): Promise<SendMessageResponse> {\n\t\tconst response = await apiCreateMessage({\n\t\t\tpath: { id: sessionId },\n\t\t\tbody: data as CreateMessageData['body'],\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data as SendMessageResponse;\n\t},\n\n\tgetStreamUrl(sessionId: string): string {\n\t\treturn buildSessionStreamUrl({ baseUrl: getBaseUrl(), sessionId });\n\t},\n\n\tasync retryMessage(\n\t\tsessionId: string,\n\t\tmessageId: string,\n\t): Promise<{ success: boolean; messageId: string }> {\n\t\tconst response = await apiRetryMessage({\n\t\t\tpath: { sessionId, messageId },\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",
|
|
7
7
|
"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",
|
|
8
8
|
"// 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",
|
|
9
9
|
"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",
|
|
10
|
-
"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
|
|
10
|
+
"import {\n\tgetConfig as apiGetConfig,\n\tgetProviderModels as apiGetProviderModels,\n\tgetAllModels as apiGetAllModels,\n\tdiscoverProviderModels as apiDiscoverProviderModels,\n\tupdateDefaults as apiUpdateDefaults,\n\tupdateProviderSettings as apiUpdateProviderSettings,\n\tdeleteProviderSettings as apiDeleteProviderSettings,\n} from '@ottocode/api';\nimport type { AllModelsResponse } from '../../types/api';\nimport { extractErrorMessage } 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 apiDiscoverProviderModels({\n\t\t\tbody: data,\n\t\t});\n\t\tif (response.error) throw new Error(extractErrorMessage(response.error));\n\t\treturn response.data 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},\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});\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",
|
|
11
11
|
"import {\n\tlistFiles as apiListFiles,\n\tsearchFiles as apiSearchFiles,\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 searchFiles(query = '') {\n\t\tconst response = await apiSearchFiles({ query: { q: query } });\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\tvendor?: boolean;\n\t\t\tsearchable?: boolean;\n\t\t}>;\n\t\tpath: string;\n\t\ttruncated: boolean;\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",
|
|
12
12
|
"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",
|
|
13
13
|
"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",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"import type { SSEEvent } from '../types/api';\n\nexport type SSEEventHandler = (event: SSEEvent) => void;\n\nexport class SSEClient {\n\tprivate abortController: AbortController | null = null;\n\tprivate handlers: Map<string, Set<SSEEventHandler>> = new Map();\n\tprivate running = false;\n\n\tasync connect(url: string) {\n\t\tif (this.abortController) {\n\t\t\tthis.abortController.abort();\n\t\t}\n\n\t\tthis.abortController = new AbortController();\n\t\tthis.running = true;\n\n\t\tconst isTunnel = !url.includes('localhost') && !url.includes('127.0.0.1');\n\n\t\ttry {\n\t\t\tconst response = await fetch(url, {\n\t\t\t\tmethod: isTunnel ? 'POST' : 'GET',\n\t\t\t\theaders: { Accept: 'text/event-stream' },\n\t\t\t\tsignal: this.abortController.signal,\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\tconsole.error('[SSE] Connection failed:', response.status);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst reader = response.body?.getReader();\n\t\t\tif (!reader) {\n\t\t\t\tconsole.error('[SSE] No response body');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst decoder = new TextDecoder();\n\t\t\tlet buffer = '';\n\n\t\t\twhile (this.running) {\n\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\tif (done) break;\n\n\t\t\t\tbuffer += decoder.decode(value, { stream: true });\n\t\t\t\tlet idx = buffer.indexOf('\\n\\n');\n\n\t\t\t\twhile (idx !== -1) {\n\t\t\t\t\tconst raw = buffer.slice(0, idx);\n\t\t\t\t\tbuffer = buffer.slice(idx + 2);\n\t\t\t\t\tconst lines = raw.split('\\n');\n\n\t\t\t\t\tlet eventType = 'message';\n\t\t\t\t\tlet data = '';\n\n\t\t\t\t\tfor (const line of lines) {\n\t\t\t\t\t\tif (line.startsWith('event: ')) {\n\t\t\t\t\t\t\teventType = line.slice(7).trim();\n\t\t\t\t\t\t} else if (line.startsWith('data: ')) {\n\t\t\t\t\t\t\tdata += (data ? '\\n' : '') + line.slice(6);\n\t\t\t\t\t\t} else if (line.startsWith(':')) {\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (data) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst payload = JSON.parse(data);\n\t\t\t\t\t\t\tthis.emit({ type: eventType, payload });\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconsole.error(`[SSE] Failed to parse ${eventType}:`, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tidx = buffer.indexOf('\\n\\n');\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error instanceof Error && error.name === 'AbortError') {\n\t\t\t} else if (\n\t\t\t\terror instanceof TypeError &&\n\t\t\t\terror.message === 'Load failed'\n\t\t\t) {\n\t\t\t} else {\n\t\t\t\tconsole.error('[SSE] Connection error:', error);\n\t\t\t}\n\t\t}\n\t}\n\n\tdisconnect() {\n\t\tthis.running = false;\n\t\tif (this.abortController) {\n\t\t\tthis.abortController.abort();\n\t\t\tthis.abortController = null;\n\t\t}\n\t}\n\n\ton(eventType: string, handler: SSEEventHandler) {\n\t\tif (!this.handlers.has(eventType)) {\n\t\t\tthis.handlers.set(eventType, new Set());\n\t\t}\n\t\tthis.handlers.get(eventType)?.add(handler);\n\n\t\treturn () => {\n\t\t\tthis.off(eventType, handler);\n\t\t};\n\t}\n\n\toff(eventType: string, handler: SSEEventHandler) {\n\t\tconst handlers = this.handlers.get(eventType);\n\t\tif (handlers) {\n\t\t\thandlers.delete(handler);\n\t\t\tif (handlers.size === 0) {\n\t\t\t\tthis.handlers.delete(eventType);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate emit(event: SSEEvent) {\n\t\tconst handlers = this.handlers.get(event.type);\n\t\tif (handlers) {\n\t\t\tfor (const handler of handlers) {\n\t\t\t\thandler(event);\n\t\t\t}\n\t\t}\n\n\t\tconst allHandlers = this.handlers.get('*');\n\t\tif (allHandlers) {\n\t\t\tfor (const handler of allHandlers) {\n\t\t\t\thandler(event);\n\t\t\t}\n\t\t}\n\t}\n}\n",
|
|
33
33
|
"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",
|
|
34
34
|
"import { useEffect, useState, useCallback, useMemo } from 'react';\n\ntype Theme = 'light' | 'dark';\n\nconst STORAGE_KEY = 'otto-theme';\n\nfunction resolveInitialTheme(): Theme {\n\tif (typeof window === 'undefined') {\n\t\treturn 'dark';\n\t}\n\tconst stored = window.localStorage.getItem(STORAGE_KEY) as Theme | null;\n\tif (stored === 'light' || stored === 'dark') {\n\t\treturn stored;\n\t}\n\tif (window.matchMedia?.('(prefers-color-scheme: light)').matches) {\n\t\treturn 'light';\n\t}\n\treturn 'dark';\n}\n\nexport function useTheme() {\n\tconst [theme, setTheme] = useState<Theme>(() => resolveInitialTheme());\n\n\tuseEffect(() => {\n\t\tif (typeof document === 'undefined') return;\n\n\t\tconst root = document.documentElement;\n\t\tif (theme === 'dark') {\n\t\t\troot.classList.add('dark');\n\t\t} else {\n\t\t\troot.classList.remove('dark');\n\t\t}\n\n\t\ttry {\n\t\t\twindow.localStorage.setItem(STORAGE_KEY, theme);\n\t\t} catch (error) {\n\t\t\tconsole.warn('Failed to persist theme preference', error);\n\t\t}\n\n\t\tif (window.parent && window.parent !== window) {\n\t\t\twindow.parent.postMessage({ type: 'otto-set-theme', theme }, '*');\n\t\t}\n\t}, [theme]);\n\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return;\n\t\tconst handler = (e: MessageEvent) => {\n\t\t\tif (\n\t\t\t\te.data?.type === 'otto-set-theme' &&\n\t\t\t\t(e.data.theme === 'light' || e.data.theme === 'dark')\n\t\t\t) {\n\t\t\t\tsetTheme(e.data.theme);\n\t\t\t}\n\t\t};\n\t\twindow.addEventListener('message', handler);\n\t\treturn () => window.removeEventListener('message', handler);\n\t}, []);\n\n\t// Memoize toggleTheme to prevent creating new function reference on every render\n\tconst toggleTheme = useCallback(() => {\n\t\tsetTheme((prev) => (prev === 'dark' ? 'light' : 'dark'));\n\t}, []);\n\n\t// Return a stable object reference\n\treturn useMemo(\n\t\t() => ({ theme, setTheme, toggleTheme }),\n\t\t[theme, toggleTheme],\n\t);\n}\n\nexport type { Theme };\n",
|
|
35
|
-
"import { useEffect, useState } from 'react';\nimport {
|
|
35
|
+
"import { useEffect, useState } from 'react';\nimport { getCwd } from '@ottocode/api';\nimport { getBaseUrl } from '../lib/api-client/utils';\n\ninterface WorkingDirectoryInfo {\n\tcwd: string;\n\tdirName: string;\n}\n\nexport function useWorkingDirectory() {\n\tconst [dirName, setDirName] = useState<string | null>(null);\n\n\tuseEffect(() => {\n\t\tconst fetchWorkingDirectory = async () => {\n\t\t\ttry {\n\t\t\t\tconst response = await getCwd({ baseURL: getBaseUrl() });\n\t\t\t\tif (response.error) {\n\t\t\t\t\tthrow new Error(JSON.stringify(response.error));\n\t\t\t\t}\n\n\t\t\t\tconst data = response.data as WorkingDirectoryInfo;\n\t\t\t\tconsole.log('[useWorkingDirectory] Success:', data);\n\n\t\t\t\tif (data.dirName) {\n\t\t\t\t\tconsole.log('[useWorkingDirectory] Setting title to:', data.dirName);\n\t\t\t\t\tsetDirName(data.dirName);\n\t\t\t\t\tdocument.title = data.dirName;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('[useWorkingDirectory] Error:', error);\n\t\t\t\tdocument.title = 'otto'; // Fallback title\n\t\t\t}\n\t\t};\n\n\t\tfetchWorkingDirectory();\n\t}, []); // Run once on mount\n\n\treturn dirName;\n}\n",
|
|
36
36
|
"import { useEffect, useCallback } from 'react';\nimport { useFocusStore } from '../stores/focusStore';\nimport { useSidebarStore } from '../stores/sidebarStore';\nimport { useGitStore } from '../stores/gitStore';\nimport { useResearchStore } from '../stores/researchStore';\nimport { useFilePickerStore } from '../stores/filePickerStore';\n\ninterface UseKeyboardShortcutsOptions {\n\tsessionIds: string[];\n\tactiveSessionId?: string;\n\tgitFiles: Array<{ path: string; staged: boolean; status?: string }>;\n\tonSelectSession: (sessionId: string) => void;\n\tonNewSession: () => void;\n\tonStageFile?: (path: string) => void;\n\tonUnstageFile?: (path: string) => void;\n\tonRestoreFile?: (path: string) => void;\n\tonDeleteFile?: (path: string) => void;\n\tonStageAll?: () => void;\n\tonUnstageAll?: () => void;\n\tonOpenCommitModal?: () => void;\n\tonViewDiff?: (file: string, staged: boolean) => void;\n\tonReturnToInput?: () => void;\n}\n\nexport function useKeyboardShortcuts({\n\tsessionIds,\n\tactiveSessionId,\n\tgitFiles,\n\tonSelectSession,\n\tonNewSession,\n\tonStageFile,\n\tonUnstageFile,\n\tonRestoreFile,\n\tonDeleteFile,\n\tonStageAll,\n\tonUnstageAll,\n\tonOpenCommitModal,\n\tonViewDiff,\n\tonReturnToInput,\n}: UseKeyboardShortcutsOptions) {\n\tconst {\n\t\tcurrentFocus,\n\t\tsessionIndex,\n\t\tgitFileIndex,\n\t\tsetFocus,\n\t\tsetSessionIndex,\n\t\tsetGitFileIndex,\n\t\tresetGitFileIndex,\n\t} = useFocusStore();\n\tconst {\n\t\tsetCollapsed: setSessionListCollapsed,\n\t\ttoggleCollapse: toggleSessionList,\n\t} = useSidebarStore();\n\tconst { isExpanded: isGitExpanded, toggleSidebar: toggleGit } = useGitStore();\n\tconst closeDiff = useGitStore((state) => state.closeDiff);\n\tconst toggleResearch = useResearchStore((state) => state.toggleSidebar);\n\n\tconst currentSessionIndex = sessionIds.indexOf(activeSessionId || '');\n\n\tconst handleKeyDown = useCallback(\n\t\t(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\tconst isInTerminal = !!target.closest('[data-terminal-viewer]');\n\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === 'h') {\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// Ctrl+H: center -> left, left -> center, right -> center\n\t\t\t\tif (currentFocus === 'sessions') {\n\t\t\t\t\t// Already on sessions, go back to center\n\t\t\t\t\t(document.activeElement as HTMLElement)?.blur();\n\t\t\t\t\tsetFocus('input');\n\t\t\t\t\tsetSessionListCollapsed(true);\n\t\t\t\t\t// Focus the input after a small delay to ensure sidebar is collapsing\n\t\t\t\t\tsetTimeout(() => onReturnToInput?.(), 50);\n\t\t\t\t} else if (currentFocus === 'git') {\n\t\t\t\t\t// On right sidebar, go back to center (don't jump to left)\n\t\t\t\t\t(document.activeElement as HTMLElement)?.blur();\n\t\t\t\t\tsetFocus('input');\n\t\t\t\t\ttoggleGit();\n\t\t\t\t\tcloseDiff();\n\t\t\t\t\tsetTimeout(() => onReturnToInput?.(), 50);\n\t\t\t\t} else {\n\t\t\t\t\t// From center, go to left sidebar\n\t\t\t\t\t(document.activeElement as HTMLElement)?.blur();\n\t\t\t\t\tsetFocus('sessions');\n\t\t\t\t\tsetSessionListCollapsed(false);\n\t\t\t\t\tif (currentSessionIndex >= 0) {\n\t\t\t\t\t\tsetSessionIndex(currentSessionIndex);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === 'l') {\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// Ctrl+L: center -> right, right -> center, left -> center\n\t\t\t\tif (currentFocus === 'git') {\n\t\t\t\t\t// Already on git, go back to center\n\t\t\t\t\t(document.activeElement as HTMLElement)?.blur();\n\t\t\t\t\tsetFocus('input');\n\t\t\t\t\ttoggleGit();\n\t\t\t\t\tcloseDiff();\n\t\t\t\t\t// Focus the input after a small delay to ensure sidebar is collapsing\n\t\t\t\t\tsetTimeout(() => onReturnToInput?.(), 50);\n\t\t\t\t} else if (currentFocus === 'sessions') {\n\t\t\t\t\t// On left sidebar, go back to center (don't jump to right)\n\t\t\t\t\t(document.activeElement as HTMLElement)?.blur();\n\t\t\t\t\tsetFocus('input');\n\t\t\t\t\tsetSessionListCollapsed(true);\n\t\t\t\t\tsetTimeout(() => onReturnToInput?.(), 50);\n\t\t\t\t} else {\n\t\t\t\t\t// From center, go to right sidebar\n\t\t\t\t\t(document.activeElement as HTMLElement)?.blur();\n\t\t\t\t\tif (!isGitExpanded) {\n\t\t\t\t\t\ttoggleGit();\n\t\t\t\t\t}\n\t\t\t\t\tsetFocus('git');\n\t\t\t\t\tresetGitFileIndex();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === '/') {\n\t\t\t\te.preventDefault();\n\t\t\t\ttoggleSessionList();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === '\\\\') {\n\t\t\t\te.preventDefault();\n\t\t\t\ttoggleGit();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.shiftKey && e.key === 'r') {\n\t\t\t\te.preventDefault();\n\t\t\t\ttoggleResearch();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === 'n') {\n\t\t\t\te.preventDefault();\n\t\t\t\tonNewSession();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === 'p') {\n\t\t\t\te.preventDefault();\n\t\t\t\tuseFilePickerStore.getState().toggle();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only handle q when not in input and a sidebar is focused\n\t\t\tif (\n\t\t\t\t(e.key === 'Escape' && !isInTerminal) ||\n\t\t\t\t(e.key === 'q' &&\n\t\t\t\t\t!isInInput &&\n\t\t\t\t\t(currentFocus === 'sessions' || currentFocus === 'git'))\n\t\t\t) {\n\t\t\t\te.preventDefault();\n\t\t\t\t// Close sidebar if focused on one\n\t\t\t\tif (currentFocus === 'sessions') {\n\t\t\t\t\tsetSessionListCollapsed(true);\n\t\t\t\t} else if (currentFocus === 'git') {\n\t\t\t\t\ttoggleGit();\n\t\t\t\t\tcloseDiff();\n\t\t\t\t}\n\t\t\t\tsetFocus('input');\n\t\t\t\tonReturnToInput?.();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (currentFocus === 'sessions' && !isInInput) {\n\t\t\t\tif (e.key === 'j' && sessionIds.length > 0) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst nextIndex = Math.min(sessionIndex + 1, sessionIds.length - 1);\n\t\t\t\t\tsetSessionIndex(nextIndex);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'k' && sessionIds.length > 0) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst prevIndex = Math.max(sessionIndex - 1, 0);\n\t\t\t\t\tsetSessionIndex(prevIndex);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'Enter' && sessionIds[sessionIndex]) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonSelectSession(sessionIds[sessionIndex]);\n\t\t\t\t\tsetFocus('input');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (currentFocus === 'git' && !isInInput) {\n\t\t\t\tif (e.key === 'j' && gitFiles.length > 0) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst nextIndex = Math.min(gitFileIndex + 1, gitFiles.length - 1);\n\t\t\t\t\tsetGitFileIndex(nextIndex);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'k' && gitFiles.length > 0) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst prevIndex = Math.max(gitFileIndex - 1, 0);\n\t\t\t\t\tsetGitFileIndex(prevIndex);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === ' ' && gitFiles[gitFileIndex]) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst file = gitFiles[gitFileIndex];\n\t\t\t\t\tif (file.staged) {\n\t\t\t\t\t\tonUnstageFile?.(file.path);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tonStageFile?.(file.path);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'a') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonStageAll?.();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'u') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonUnstageAll?.();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'R' && gitFiles[gitFileIndex]) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst file = gitFiles[gitFileIndex];\n\t\t\t\t\t// Only allow restore for unstaged, tracked files (not new/untracked)\n\t\t\t\t\tconst canRestore =\n\t\t\t\t\t\t!file.staged &&\n\t\t\t\t\t\tfile.status !== 'untracked' &&\n\t\t\t\t\t\tfile.status !== 'added';\n\t\t\t\t\tif (canRestore) {\n\t\t\t\t\t\tonRestoreFile?.(file.path);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Delete file - Shift+D or Delete (only for untracked files)\n\t\t\t\tif ((e.shiftKey && e.key === 'D') || e.key === 'Backspace') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst file = gitFiles[gitFileIndex];\n\t\t\t\t\tif (file && !file.staged && file.status === 'untracked') {\n\t\t\t\t\t\tonDeleteFile?.(file.path);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'c') {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonOpenCommitModal?.();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.key === 'Enter' && gitFiles[gitFileIndex]) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst file = gitFiles[gitFileIndex];\n\t\t\t\t\tonViewDiff?.(file.path, file.staged);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tcurrentFocus,\n\t\t\tsessionIndex,\n\t\t\tgitFileIndex,\n\t\t\tsessionIds,\n\t\t\tgitFiles,\n\t\t\tcurrentSessionIndex,\n\t\t\tisGitExpanded,\n\t\t\tsetFocus,\n\t\t\tsetSessionIndex,\n\t\t\tsetGitFileIndex,\n\t\t\tresetGitFileIndex,\n\t\t\tsetSessionListCollapsed,\n\t\t\ttoggleGit,\n\t\t\ttoggleResearch,\n\t\t\ttoggleSessionList,\n\t\t\tonSelectSession,\n\t\t\tonNewSession,\n\t\t\tonStageFile,\n\t\t\tonUnstageFile,\n\t\t\tonRestoreFile,\n\t\t\tonDeleteFile,\n\t\t\tonStageAll,\n\t\t\tonUnstageAll,\n\t\t\tonOpenCommitModal,\n\t\t\tonViewDiff,\n\t\t\tonReturnToInput,\n\t\t\tcloseDiff,\n\t\t],\n\t);\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('keydown', handleKeyDown);\n\t\treturn () => window.removeEventListener('keydown', handleKeyDown);\n\t}, [handleKeyDown]);\n\n\treturn {\n\t\tcurrentFocus,\n\t\tsessionIndex,\n\t\tgitFileIndex,\n\t};\n}\n",
|
|
37
37
|
"import { create } from 'zustand';\n\ntype FocusArea = 'input' | 'sessions' | 'git' | null;\n\ninterface FocusState {\n\tcurrentFocus: FocusArea;\n\tsessionIndex: number;\n\tgitFileIndex: number;\n\n\tsetFocus: (area: FocusArea) => void;\n\tsetSessionIndex: (index: number) => void;\n\tsetGitFileIndex: (index: number) => void;\n\tresetGitFileIndex: () => void;\n\tresetSessionIndex: () => void;\n}\n\nexport const useFocusStore = create<FocusState>((set) => ({\n\tcurrentFocus: null,\n\tsessionIndex: 0,\n\tgitFileIndex: 0,\n\n\tsetFocus: (area) => set({ currentFocus: area }),\n\tsetSessionIndex: (index) => set({ sessionIndex: index }),\n\tsetGitFileIndex: (index) => set({ gitFileIndex: index }),\n\tresetGitFileIndex: () => set({ gitFileIndex: 0 }),\n\tresetSessionIndex: () => set({ sessionIndex: 0 }),\n}));\n",
|
|
38
38
|
"import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\ninterface SidebarState {\n\tisCollapsed: boolean;\n\ttoggleCollapse: () => void;\n\tsetCollapsed: (collapsed: boolean) => void;\n}\n\nexport const useSidebarStore = create<SidebarState>()(\n\tpersist(\n\t\t(set) => ({\n\t\t\tisCollapsed: false,\n\t\t\ttoggleCollapse: () =>\n\t\t\t\tset((state) => ({ isCollapsed: !state.isCollapsed })),\n\t\t\tsetCollapsed: (collapsed) => set({ isCollapsed: collapsed }),\n\t\t}),\n\t\t{\n\t\t\tname: 'sidebar-storage',\n\t\t},\n\t),\n);\n",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport { useSessionFilesStore } from '../stores/sessionFilesStore';\n\nexport function useSessionFiles(sessionId: string | undefined, enabled = true) {\n\tconst isExpanded = useSessionFilesStore((state) => state.isExpanded);\n\n\treturn useQuery({\n\t\tqueryKey: ['session', sessionId, 'files'],\n\t\tqueryFn: () => (sessionId ? apiClient.getSessionFiles(sessionId) : null),\n\t\tenabled: !!sessionId && enabled,\n\t\trefetchInterval: isExpanded && enabled ? 5000 : false,\n\t\tretry: 1,\n\t\tstaleTime: 3000,\n\t});\n}\n",
|
|
43
43
|
"import { useQuery } from '@tanstack/react-query';\n\nexport type QueueState = {\n\tcurrentMessageId: string | null;\n\tqueuedMessages: Array<{ messageId: string; position: number }>;\n\tqueueLength: number;\n};\n\nconst defaultQueueState: QueueState = {\n\tcurrentMessageId: null,\n\tqueuedMessages: [],\n\tqueueLength: 0,\n};\n\nexport function useQueueState(sessionId: string | undefined): QueueState {\n\tconst { data } = useQuery<QueueState>({\n\t\tqueryKey: ['queueState', sessionId],\n\t\tqueryFn: () => defaultQueueState,\n\t\tenabled: !!sessionId,\n\t\tinitialData: defaultQueueState,\n\t\tstaleTime: Infinity,\n\t});\n\n\treturn data ?? defaultQueueState;\n}\n\nexport function useMessageQueuePosition(\n\tsessionId: string | undefined,\n\tmessageId: string,\n): { isQueued: boolean; isRunning: boolean; position: number | null } {\n\tconst queueState = useQueueState(sessionId);\n\n\tif (!sessionId || !queueState) {\n\t\treturn { isQueued: false, isRunning: false, position: null };\n\t}\n\n\tif (queueState.currentMessageId === messageId) {\n\t\treturn { isQueued: false, isRunning: true, position: null };\n\t}\n\n\tconst queuedItem = queueState.queuedMessages.find(\n\t\t(item) => item.messageId === messageId,\n\t);\n\n\tif (queuedItem) {\n\t\treturn { isQueued: true, isRunning: false, position: queuedItem.position };\n\t}\n\n\treturn { isQueued: false, isRunning: false, position: null };\n}\n",
|
|
44
44
|
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport type { CreateBranchRequest } from '../types/api';\nimport { sessionsQueryKey } from './useSessions';\n\nexport function useCreateBranch(sessionId: string | undefined) {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (data: CreateBranchRequest) => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.createBranch(sessionId, data);\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t\tif (sessionId) {\n\t\t\t\tqueryClient.invalidateQueries({\n\t\t\t\t\tqueryKey: ['branches', sessionId],\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t});\n}\n\nexport function useBranches(sessionId: string | undefined) {\n\treturn useQuery({\n\t\tqueryKey: ['branches', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.listBranches(sessionId);\n\t\t},\n\t\tenabled: Boolean(sessionId),\n\t});\n}\n\nexport function useParentSession(sessionId: string | undefined) {\n\treturn useQuery({\n\t\tqueryKey: ['parentSession', sessionId],\n\t\tqueryFn: () => {\n\t\t\tif (!sessionId) throw new Error('No session ID');\n\t\t\treturn apiClient.getParentSession(sessionId);\n\t\t},\n\t\tenabled: Boolean(sessionId),\n\t});\n}\n",
|
|
45
|
-
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport {
|
|
45
|
+
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport {\n\tcreateResearchSession as apiCreateResearchSession,\n\tdeleteResearchSession as apiDeleteResearchSession,\n\texportResearchSession as apiExportResearchSession,\n\tinjectResearchContext as apiInjectResearchContext,\n\tlistResearchSessions as apiListResearchSessions,\n} from '@ottocode/api';\nimport { usePendingResearchStore } from '../stores/pendingResearchStore';\nimport { sessionsQueryKey } from './useSessions';\n\nexport interface ResearchSession {\n\tid: string;\n\ttitle: string | null;\n\tcreatedAt: number;\n\tlastActiveAt: number | null;\n\tprovider: string;\n\tmodel: string;\n\tmessageCount: number;\n}\n\nexport interface ResearchSessionsResponse {\n\tsessions: ResearchSession[];\n}\n\nexport interface CreateResearchResponse {\n\tsession: ResearchSession;\n\tparentSessionId: string;\n}\n\nexport interface InjectContextResponse {\n\tcontent: string;\n\tlabel: string;\n\tsessionId: string;\n\tparentSessionId: string;\n\ttokenEstimate: number;\n}\n\nexport interface ExportToSessionResponse {\n\tnewSession: {\n\t\tid: string;\n\t\ttitle: string | null;\n\t\tagent: string;\n\t\tprovider: string;\n\t\tmodel: string;\n\t};\n\tinjectedContext: string;\n}\n\nclass ResearchApiClient {\n\tasync listResearchSessions(\n\t\tparentSessionId: string,\n\t): Promise<ResearchSessionsResponse> {\n\t\tconst response = await apiListResearchSessions({\n\t\t\tpath: { parentId: parentSessionId },\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as unknown as ResearchSessionsResponse;\n\t}\n\n\tasync createResearchSession(\n\t\tparentSessionId: string,\n\t\tdata: { provider?: string; model?: string; title?: string },\n\t): Promise<CreateResearchResponse> {\n\t\tconst response = await apiCreateResearchSession({\n\t\t\tpath: { parentId: parentSessionId },\n\t\t\tbody: data,\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as unknown as CreateResearchResponse;\n\t}\n\n\tasync deleteResearchSession(\n\t\tresearchId: string,\n\t): Promise<{ success: boolean }> {\n\t\tconst response = await apiDeleteResearchSession({\n\t\t\tpath: { researchId },\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as { success: boolean };\n\t}\n\n\tasync injectContext(\n\t\tparentSessionId: string,\n\t\tresearchSessionId: string,\n\t\tlabel?: string,\n\t): Promise<InjectContextResponse> {\n\t\tconst response = await apiInjectResearchContext({\n\t\t\tpath: { parentId: parentSessionId },\n\t\t\tbody: { researchSessionId, label },\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as InjectContextResponse;\n\t}\n\n\tasync exportToNewSession(\n\t\tresearchId: string,\n\t\tdata?: { provider?: string; model?: string; agent?: string },\n\t): Promise<ExportToSessionResponse> {\n\t\tconst response = await apiExportResearchSession({\n\t\t\tpath: { researchId },\n\t\t\tbody: data ?? {},\n\t\t});\n\t\tif (response.error) throw new Error(JSON.stringify(response.error));\n\t\treturn response.data as ExportToSessionResponse;\n\t}\n}\n\nconst researchApi = new ResearchApiClient();\n\nexport function useResearchSessions(\n\tparentSessionId: string | null,\n\tenabled = true,\n) {\n\treturn useQuery({\n\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\tqueryFn: () => researchApi.listResearchSessions(parentSessionId as string),\n\t\tenabled: !!parentSessionId && enabled,\n\t\tstaleTime: 30000,\n\t});\n}\n\nexport function useCreateResearchSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tparentSessionId,\n\t\t\tdata,\n\t\t}: {\n\t\t\tparentSessionId: string;\n\t\t\tdata?: { provider?: string; model?: string; title?: string };\n\t\t}) => researchApi.createResearchSession(parentSessionId, data ?? {}),\n\t\tonSuccess: (_, { parentSessionId }) => {\n\t\t\tqueryClient.invalidateQueries({\n\t\t\t\tqueryKey: ['research', 'sessions', parentSessionId],\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useDeleteResearchSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: (researchId: string) =>\n\t\t\tresearchApi.deleteResearchSession(researchId),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['research', 'sessions'] });\n\t\t},\n\t});\n}\n\nexport function useInjectContext() {\n\tconst addContext = usePendingResearchStore((state) => state.addContext);\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tparentSessionId,\n\t\t\tresearchSessionId,\n\t\t\tlabel,\n\t\t}: {\n\t\t\tparentSessionId: string;\n\t\t\tresearchSessionId: string;\n\t\t\tlabel?: string;\n\t\t}) => researchApi.injectContext(parentSessionId, researchSessionId, label),\n\t\tonSuccess: (data, { parentSessionId }) => {\n\t\t\taddContext(parentSessionId, {\n\t\t\t\tid: data.sessionId,\n\t\t\t\tsessionId: data.sessionId,\n\t\t\t\tlabel: data.label,\n\t\t\t\tcontent: data.content,\n\t\t\t});\n\t\t},\n\t});\n}\n\nexport function useExportToSession() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: ({\n\t\t\tresearchId,\n\t\t\tdata,\n\t\t}: {\n\t\t\tresearchId: string;\n\t\t\tdata?: { provider?: string; model?: string; agent?: string };\n\t\t}) => researchApi.exportToNewSession(researchId, data),\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: sessionsQueryKey });\n\t\t},\n\t});\n}\n",
|
|
46
46
|
"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",
|
|
47
47
|
"import { useEffect, useRef } from 'react';\nimport { SSEClient } from '../lib/sse-client';\nimport { apiClient } from '../lib/api-client';\nimport { toast, useToastStore } from '../stores/toastStore';\nimport { useOttoRouterStore } from '../stores/ottorouterStore';\nimport { useTopupApprovalStore } from '../stores/topupApprovalStore';\n\nexport function useSetuPayments(sessionId: string | undefined) {\n\tconst clientRef = useRef<SSEClient | null>(null);\n\tconst loadingToastIdRef = useRef<string | null>(null);\n\tconst setBalance = useOttoRouterStore((s) => s.setBalance);\n\tconst setPaymentPending = useOttoRouterStore((s) => s.setPaymentPending);\n\tconst removeToast = useToastStore((s) => s.removeToast);\n\tconst updateToast = useToastStore((s) => s.updateToast);\n\tconst setPendingTopup = useTopupApprovalStore((s) => s.setPendingTopup);\n\tconst clearPendingTopup = useTopupApprovalStore((s) => s.clearPendingTopup);\n\n\tuseEffect(() => {\n\t\tif (!sessionId) return;\n\n\t\tconst client = new SSEClient();\n\t\tclientRef.current = client;\n\n\t\tconst url = apiClient.getStreamUrl(sessionId);\n\t\tclient.connect(url);\n\n\t\tconst unsubscribe = client.on('*', (event) => {\n\t\t\tconst payload = event.payload as Record<string, unknown> | undefined;\n\n\t\t\tswitch (event.type) {\n\t\t\t\tcase 'ottorouter.topup.required': {\n\t\t\t\t\tconst amountUsd =\n\t\t\t\t\t\ttypeof payload?.amountUsd === 'number' ? payload.amountUsd : 0;\n\t\t\t\t\tconst currentBalance =\n\t\t\t\t\t\ttypeof payload?.currentBalance === 'number'\n\t\t\t\t\t\t\t? payload.currentBalance\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tconst minTopupUsd =\n\t\t\t\t\t\ttypeof payload?.minTopupUsd === 'number' ? payload.minTopupUsd : 5;\n\t\t\t\t\tconst suggestedTopupUsd =\n\t\t\t\t\t\ttypeof payload?.suggestedTopupUsd === 'number'\n\t\t\t\t\t\t\t? payload.suggestedTopupUsd\n\t\t\t\t\t\t\t: 10;\n\t\t\t\t\tconst messageId =\n\t\t\t\t\t\ttypeof payload?.messageId === 'string' ? payload.messageId : '';\n\n\t\t\t\t\tsetPendingTopup({\n\t\t\t\t\t\tsessionId,\n\t\t\t\t\t\tmessageId,\n\t\t\t\t\t\tamountUsd,\n\t\t\t\t\t\tcurrentBalance,\n\t\t\t\t\t\tminTopupUsd,\n\t\t\t\t\t\tsuggestedTopupUsd,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.topup.method_selected': {\n\t\t\t\t\tconst method = payload?.method;\n\t\t\t\t\tif (method === 'crypto') {\n\t\t\t\t\t\tsetPaymentPending(true);\n\t\t\t\t\t\tloadingToastIdRef.current = toast.loading(\n\t\t\t\t\t\t\t'💳 Processing crypto payment...',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.topup.cancelled': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tconst reason =\n\t\t\t\t\t\ttypeof payload?.reason === 'string'\n\t\t\t\t\t\t\t? payload.reason\n\t\t\t\t\t\t\t: 'Request cancelled';\n\t\t\t\t\ttoast(`⚠️ ${reason}`);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.required': {\n\t\t\t\t\tconst amountUsd =\n\t\t\t\t\t\ttypeof payload?.amountUsd === 'number' ? payload.amountUsd : 0;\n\t\t\t\t\tsetPaymentPending(true);\n\t\t\t\t\tif (!loadingToastIdRef.current) {\n\t\t\t\t\t\tloadingToastIdRef.current = toast.loading(\n\t\t\t\t\t\t\t`💳 Payment required: $${amountUsd.toFixed(2)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.signing': {\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tupdateToast(loadingToastIdRef.current, {\n\t\t\t\t\t\t\tmessage: '✍️ Signing transaction...',\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tloadingToastIdRef.current = toast.loading(\n\t\t\t\t\t\t\t'✍️ Signing transaction...',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.complete': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tconst rawAmount = payload?.amountUsd;\n\t\t\t\t\tconst rawBalance = payload?.newBalance;\n\t\t\t\t\tconst transactionId =\n\t\t\t\t\t\ttypeof payload?.transactionId === 'string'\n\t\t\t\t\t\t\t? payload.transactionId\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\tconst amountUsd =\n\t\t\t\t\t\ttypeof rawAmount === 'number'\n\t\t\t\t\t\t\t? rawAmount\n\t\t\t\t\t\t\t: typeof rawAmount === 'string'\n\t\t\t\t\t\t\t\t? parseFloat(rawAmount)\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tconst newBalance =\n\t\t\t\t\t\ttypeof rawBalance === 'number'\n\t\t\t\t\t\t\t? rawBalance\n\t\t\t\t\t\t\t: typeof rawBalance === 'string'\n\t\t\t\t\t\t\t\t? parseFloat(rawBalance)\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tsetBalance(newBalance);\n\t\t\t\t\tsetPaymentPending(false);\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tremoveToast(loadingToastIdRef.current);\n\t\t\t\t\t\tloadingToastIdRef.current = null;\n\t\t\t\t\t}\n\t\t\t\t\tconst message = `✅ Paid $${amountUsd.toFixed(2)}`;\n\t\t\t\t\tif (transactionId) {\n\t\t\t\t\t\ttoast.successWithAction(message, {\n\t\t\t\t\t\t\tlabel: 'View Tx',\n\t\t\t\t\t\t\thref: `https://orbmarkets.io/tx/${transactionId}`,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttoast.success(message);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.fiat.checkout_created': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tsetPaymentPending(false);\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tremoveToast(loadingToastIdRef.current);\n\t\t\t\t\t\tloadingToastIdRef.current = null;\n\t\t\t\t\t}\n\t\t\t\t\t// Modal is already opened by TopupApprovalCard\n\t\t\t\t\t// Just show a helpful toast\n\t\t\t\t\ttoast.success('💳 Complete payment, then retry your message');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.balance.updated': {\n\t\t\t\t\tconst rawBalance = payload?.balanceRemaining;\n\t\t\t\t\tconst newBalance =\n\t\t\t\t\t\ttypeof rawBalance === 'number'\n\t\t\t\t\t\t\t? rawBalance\n\t\t\t\t\t\t\t: typeof rawBalance === 'string'\n\t\t\t\t\t\t\t\t? parseFloat(rawBalance)\n\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\tif (newBalance !== null && !Number.isNaN(newBalance)) {\n\t\t\t\t\t\tsetBalance(newBalance);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ottorouter.payment.error': {\n\t\t\t\t\tclearPendingTopup();\n\t\t\t\t\tconst error =\n\t\t\t\t\t\ttypeof payload?.error === 'string'\n\t\t\t\t\t\t\t? payload.error\n\t\t\t\t\t\t\t: 'Payment failed';\n\t\t\t\t\tsetPaymentPending(false);\n\t\t\t\t\tif (loadingToastIdRef.current) {\n\t\t\t\t\t\tremoveToast(loadingToastIdRef.current);\n\t\t\t\t\t\tloadingToastIdRef.current = null;\n\t\t\t\t\t}\n\t\t\t\t\ttoast.error(`❌ ${error}`);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t\tclient.disconnect();\n\t\t};\n\t}, [\n\t\tsessionId,\n\t\tsetBalance,\n\t\tsetPaymentPending,\n\t\tremoveToast,\n\t\tupdateToast,\n\t\tsetPendingTopup,\n\t\tclearPendingTopup,\n\t]);\n}\n",
|
|
48
48
|
"import { create } from 'zustand';\n\nexport type ToastType = 'default' | 'success' | 'error' | 'loading';\n\nexport interface Toast {\n\tid: string;\n\tmessage: string;\n\ttype: ToastType;\n\tduration?: number;\n\ticon?: string;\n\taction?: {\n\t\tlabel: string;\n\t\thref: string;\n\t};\n}\n\ninterface ToastState {\n\ttoasts: Toast[];\n\taddToast: (toast: Omit<Toast, 'id'>) => string;\n\tremoveToast: (id: string) => void;\n\tupdateToast: (id: string, updates: Partial<Omit<Toast, 'id'>>) => void;\n\tclearToasts: () => void;\n}\n\nlet toastId = 0;\n\nexport const useToastStore = create<ToastState>((set) => ({\n\ttoasts: [],\n\taddToast: (toast) => {\n\t\tconst id = `toast-${++toastId}`;\n\t\tset((state) => ({\n\t\t\ttoasts: [...state.toasts, { ...toast, id }],\n\t\t}));\n\t\treturn id;\n\t},\n\tremoveToast: (id) =>\n\t\tset((state) => ({\n\t\t\ttoasts: state.toasts.filter((t) => t.id !== id),\n\t\t})),\n\tupdateToast: (id, updates) =>\n\t\tset((state) => ({\n\t\t\ttoasts: state.toasts.map((t) => (t.id === id ? { ...t, ...updates } : t)),\n\t\t})),\n\tclearToasts: () => set({ toasts: [] }),\n}));\n\nexport function toast(\n\tmessage: string,\n\ttype: ToastType = 'default',\n\tduration = 4000,\n) {\n\tconst id = useToastStore.getState().addToast({ message, type, duration });\n\tif (duration > 0) {\n\t\tsetTimeout(() => {\n\t\t\tuseToastStore.getState().removeToast(id);\n\t\t}, duration);\n\t}\n\treturn id;\n}\n\ntoast.success = (message: string, duration = 4000) =>\n\ttoast(message, 'success', duration);\ntoast.error = (message: string, duration = 5000) =>\n\ttoast(message, 'error', duration);\ntoast.info = (message: string, duration = 4000) =>\n\ttoast(message, 'default', duration);\ntoast.loading = (message: string) => toast(message, 'loading', 0);\n\ntoast.successWithAction = (\n\tmessage: string,\n\taction: { label: string; href: string },\n\tduration = 6000,\n) => {\n\tconst id = useToastStore.getState().addToast({\n\t\tmessage,\n\t\ttype: 'success',\n\t\tduration,\n\t\taction,\n\t});\n\tif (duration > 0) {\n\t\tsetTimeout(() => {\n\t\t\tuseToastStore.getState().removeToast(id);\n\t\t}, duration);\n\t}\n\treturn id;\n};\n",
|
|
@@ -55,13 +55,13 @@
|
|
|
55
55
|
"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",
|
|
56
56
|
"import { useEffect, useCallback, useState, useRef } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\nimport { useOnboardingStore } from '../stores/onboardingStore';\n\nconst isInIframe = typeof window !== 'undefined' && window.self !== window.top;\n\nexport function useAuthStatus() {\n\tconst setAuthStatus = useOnboardingStore((s) => s.setAuthStatus);\n\tconst setOpen = useOnboardingStore((s) => s.setOpen);\n\tconst setLoading = useOnboardingStore((s) => s.setLoading);\n\tconst setError = useOnboardingStore((s) => s.setError);\n\tconst authStatus = useOnboardingStore((s) => s.authStatus);\n\tconst isOpen = useOnboardingStore((s) => s.isOpen);\n\tconst queryClient = useQueryClient();\n\n\tconst [initialized, setInitialized] = useState(false);\n\tconst [oauthPolling, setOauthPolling] = useState(false);\n\tconst oauthPollingRef = useRef<ReturnType<typeof setInterval> | null>(null);\n\tconst preOauthProvidersRef = useRef<Set<string>>(new Set());\n\n\tconst fetchAuthStatus = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst status = await apiClient.getAuthStatus();\n\t\t\tsetAuthStatus(status);\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['config'] });\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['models'] });\n\t\t\treturn status;\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : 'Failed to load';\n\t\t\tsetError(message);\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [setAuthStatus, setLoading, setError, queryClient]);\n\n\tconst checkOnboarding = useCallback(async () => {\n\t\tconst status = await fetchAuthStatus();\n\t\tif (status) {\n\t\t\tconst hasAnyProvider = Object.values(status.providers).some(\n\t\t\t\t(p) => p.configured,\n\t\t\t);\n\t\t\tconst needsOnboarding =\n\t\t\t\t!status.onboardingComplete ||\n\t\t\t\t!hasAnyProvider ||\n\t\t\t\t!status.ottorouter.configured;\n\t\t\tif (needsOnboarding) {\n\t\t\t\tsetOpen(true);\n\t\t\t}\n\t\t}\n\t\tsetInitialized(true);\n\t}, [fetchAuthStatus, setOpen]);\n\n\tconst setupWallet = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst result = await apiClient.setupOttoRouterWallet();\n\t\t\tawait fetchAuthStatus();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tconst message = err instanceof Error ? err.message : 'Setup failed';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError]);\n\n\tconst importWallet = useCallback(\n\t\tasync (privateKey: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.importOttoRouterWallet(privateKey);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message = err instanceof Error ? err.message : 'Import failed';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst addProvider = useCallback(\n\t\tasync (provider: string, apiKey: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.addProvider(provider, apiKey);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to add provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst addCustomProvider = useCallback(\n\t\tasync (data: {\n\t\t\tid: string;\n\t\t\tlabel: string;\n\t\t\tbaseURL: string;\n\t\t\tapiKey?: string;\n\t\t\tcompatibility:\n\t\t\t\t| 'openai-compatible'\n\t\t\t\t| 'openai'\n\t\t\t\t| 'anthropic'\n\t\t\t\t| 'google'\n\t\t\t\t| 'openrouter'\n\t\t\t\t| 'ollama';\n\t\t\tmodels: string[];\n\t\t\tallowAnyModel: boolean;\n\t\t}) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.updateProviderSettings(data.id, {\n\t\t\t\t\tenabled: true,\n\t\t\t\t\tcustom: true,\n\t\t\t\t\tlabel: data.label,\n\t\t\t\t\tbaseURL: data.baseURL,\n\t\t\t\t\t...(data.apiKey ? { apiKey: data.apiKey } : {}),\n\t\t\t\t\tcompatibility: data.compatibility,\n\t\t\t\t\tmodels: data.models,\n\t\t\t\t\tallowAnyModel: data.allowAnyModel,\n\t\t\t\t});\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to add custom provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst removeProvider = useCallback(\n\t\tasync (provider: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst isCustomProvider =\n\t\t\t\t\tuseOnboardingStore.getState().authStatus?.providers[provider]?.custom;\n\t\t\t\tconst result = isCustomProvider\n\t\t\t\t\t? await apiClient.deleteProviderSettings(provider)\n\t\t\t\t\t: await apiClient.removeProvider(provider);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to remove provider';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst completeOnboarding = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tawait apiClient.completeOnboarding();\n\t\t\tawait fetchAuthStatus();\n\t\t\tsetOpen(false);\n\t\t} catch (err) {\n\t\t\tconst message =\n\t\t\t\terr instanceof Error ? err.message : 'Failed to complete onboarding';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError, setOpen]);\n\n\tconst snapshotConfiguredProviders = useCallback(() => {\n\t\tconst status = useOnboardingStore.getState().authStatus;\n\t\tif (status) {\n\t\t\tpreOauthProvidersRef.current = new Set(\n\t\t\t\tObject.entries(status.providers)\n\t\t\t\t\t.filter(([, p]) => p.configured)\n\t\t\t\t\t.map(([id]) => id),\n\t\t\t);\n\t\t}\n\t}, []);\n\n\tconst startOAuth = useCallback(\n\t\t(provider: string, mode?: string) => {\n\t\t\tconst url = apiClient.getOAuthStartUrl(provider, mode);\n\t\t\tif (isInIframe) {\n\t\t\t\tsnapshotConfiguredProviders();\n\t\t\t\twindow.parent.postMessage({ type: 'otto-open-url', url }, '*');\n\t\t\t\tsetOauthPolling(true);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst width = 600;\n\t\t\tconst height = 700;\n\t\t\tconst left = window.screenX + (window.outerWidth - width) / 2;\n\t\t\tconst top = window.screenY + (window.outerHeight - height) / 2;\n\t\t\tconst popup = window.open(\n\t\t\t\turl,\n\t\t\t\t'oauth_popup',\n\t\t\t\t`width=${width},height=${height},left=${left},top=${top},toolbar=no,menubar=no`,\n\t\t\t);\n\t\t\treturn popup;\n\t\t},\n\t\t[snapshotConfiguredProviders],\n\t);\n\n\tconst startOAuthManual = useCallback(\n\t\tasync (provider: string, mode?: string) => {\n\t\t\tconst { url, sessionId } = await apiClient.getOAuthUrl(provider, mode);\n\n\t\t\tif (isInIframe) {\n\t\t\t\tsnapshotConfiguredProviders();\n\t\t\t\twindow.parent.postMessage({ type: 'otto-open-url', url }, '*');\n\t\t\t\tsetOauthPolling(true);\n\t\t\t\treturn { popup: null, sessionId };\n\t\t\t}\n\n\t\t\tconst width = 600;\n\t\t\tconst height = 700;\n\t\t\tconst left = window.screenX + (window.outerWidth - width) / 2;\n\t\t\tconst top = window.screenY + (window.outerHeight - height) / 2;\n\t\t\tconst popup = window.open(\n\t\t\t\turl,\n\t\t\t\t'oauth_popup',\n\t\t\t\t`width=${width},height=${height},left=${left},top=${top},toolbar=no,menubar=no`,\n\t\t\t);\n\t\t\treturn { popup, sessionId };\n\t\t},\n\t\t[snapshotConfiguredProviders],\n\t);\n\n\tconst exchangeOAuthCode = useCallback(\n\t\tasync (provider: string, code: string, sessionId: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tawait apiClient.exchangeOAuthCode(provider, code, sessionId);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn true;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to exchange code';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!oauthPolling || !isInIframe) return;\n\t\toauthPollingRef.current = setInterval(() => {\n\t\t\tfetchAuthStatus();\n\t\t}, 3000);\n\t\tconst timeout = setTimeout(() => {\n\t\t\tsetOauthPolling(false);\n\t\t}, 300000);\n\t\treturn () => {\n\t\t\tclearInterval(oauthPollingRef.current);\n\t\t\tclearTimeout(timeout);\n\t\t};\n\t}, [oauthPolling, fetchAuthStatus]);\n\n\tuseEffect(() => {\n\t\tif (!oauthPolling || !authStatus) return;\n\t\tconst currentConfigured = Object.entries(authStatus.providers).filter(\n\t\t\t([, p]) => p.configured,\n\t\t);\n\t\tconst hasNewProvider = currentConfigured.some(\n\t\t\t([id]) => !preOauthProvidersRef.current.has(id),\n\t\t);\n\t\tif (hasNewProvider) {\n\t\t\tsetOauthPolling(false);\n\t\t}\n\t}, [authStatus, oauthPolling]);\n\n\tuseEffect(() => {\n\t\tconst handleOAuthMessage = (event: MessageEvent) => {\n\t\t\tif (event.data?.type === 'oauth-success') {\n\t\t\t\tfetchAuthStatus();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('message', handleOAuthMessage);\n\t\treturn () => window.removeEventListener('message', handleOAuthMessage);\n\t}, [fetchAuthStatus]);\n\n\tconst pollCopilotDeviceFlow = useCallback(\n\t\tasync (sessionId: string) => {\n\t\t\tconst result = await apiClient.pollCopilotDeviceFlow(sessionId);\n\t\t\tif (result.status === 'complete') {\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\t[fetchAuthStatus],\n\t);\n\n\tconst saveCopilotToken = useCallback(\n\t\tasync (token: string) => {\n\t\t\tsetLoading(true);\n\t\t\tsetError(null);\n\t\t\ttry {\n\t\t\t\tconst result = await apiClient.saveCopilotToken(token);\n\t\t\t\tawait fetchAuthStatus();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\tconst message =\n\t\t\t\t\terr instanceof Error ? err.message : 'Failed to save Copilot token';\n\t\t\t\tsetError(message);\n\t\t\t\tthrow err;\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t},\n\t\t[fetchAuthStatus, setLoading, setError],\n\t);\n\n\tconst importCopilotTokenFromGh = useCallback(async () => {\n\t\tsetLoading(true);\n\t\tsetError(null);\n\t\ttry {\n\t\t\tconst result = await apiClient.importCopilotTokenFromGh();\n\t\t\tawait fetchAuthStatus();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tconst message =\n\t\t\t\terr instanceof Error\n\t\t\t\t\t? err.message\n\t\t\t\t\t: 'Failed to import Copilot token from GH';\n\t\t\tsetError(message);\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [fetchAuthStatus, setLoading, setError]);\n\n\treturn {\n\t\tauthStatus,\n\t\tisOpen,\n\t\tinitialized,\n\t\tfetchAuthStatus,\n\t\tcheckOnboarding,\n\t\tsetupWallet,\n\t\timportWallet,\n\t\taddProvider,\n\t\taddCustomProvider,\n\t\tremoveProvider,\n\t\tcompleteOnboarding,\n\t\tstartOAuth,\n\t\tstartOAuthManual,\n\t\texchangeOAuthCode,\n\t\tstartCopilotDeviceFlow: apiClient.startCopilotDeviceFlow.bind(apiClient),\n\t\tpollCopilotDeviceFlow,\n\t\tgetCopilotAuthMethods: apiClient.getCopilotAuthMethods.bind(apiClient),\n\t\tsaveCopilotToken,\n\t\timportCopilotTokenFromGh,\n\t\tgetCopilotDiagnostics: apiClient.getCopilotDiagnostics.bind(apiClient),\n\t};\n}\n",
|
|
57
57
|
"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",
|
|
58
|
-
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useEffect, useCallback, useRef } from 'react';\nimport { useTunnelStore } from '../stores/tunnelStore';\nimport { API_BASE_URL } from '../lib/config';\n\ninterface TunnelStatusResponse {\n\tstatus: 'idle' | 'starting' | 'connected' | 'error';\n\turl: string | null;\n\terror: string | null;\n\tbinaryInstalled: boolean;\n\tisRunning: boolean;\n}\n\ninterface TunnelStartResponse {\n\tok: boolean;\n\turl?: string;\n\tmessage?: string;\n\terror?: string;\n}\n\ninterface TunnelQrResponse {\n\tok: boolean;\n\turl?: string;\n\tqrCode?: string;\n\terror?: string;\n}\n\nasync function fetchTunnelStatus(): Promise<TunnelStatusResponse> {\n\tconst response = await
|
|
58
|
+
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useEffect, useCallback, useRef } from 'react';\nimport {\n\tclient,\n\tgetTunnelQr,\n\tgetTunnelStatus,\n\tstartTunnel as apiStartTunnel,\n\tstopTunnel as apiStopTunnel,\n} from '@ottocode/api';\nimport { useTunnelStore } from '../stores/tunnelStore';\nimport { API_BASE_URL } from '../lib/config';\n\ninterface TunnelStatusResponse {\n\tstatus: 'idle' | 'starting' | 'connected' | 'error';\n\turl: string | null;\n\terror: string | null;\n\tbinaryInstalled: boolean;\n\tisRunning: boolean;\n}\n\ninterface TunnelStartResponse {\n\tok: boolean;\n\turl?: string;\n\tmessage?: string;\n\terror?: string;\n}\n\ninterface TunnelQrResponse {\n\tok: boolean;\n\turl?: string;\n\tqrCode?: string;\n\terror?: string;\n}\n\nasync function fetchTunnelStatus(): Promise<TunnelStatusResponse> {\n\tconst response = await getTunnelStatus();\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as TunnelStatusResponse;\n}\n\nasync function startTunnel(): Promise<TunnelStartResponse> {\n\t// Server uses its own port automatically - no need to pass it\n\tconst response = await apiStartTunnel({\n\t\tbody: {},\n\t});\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as TunnelStartResponse;\n}\n\nasync function stopTunnel(): Promise<{\n\tok: boolean;\n\tmessage?: string;\n\terror?: string;\n}> {\n\tconst response = await apiStopTunnel();\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as { ok: boolean; message?: string; error?: string };\n}\n\nasync function fetchTunnelQr(): Promise<TunnelQrResponse> {\n\tconst response = await getTunnelQr();\n\tif (response.error) throw new Error(JSON.stringify(response.error));\n\treturn response.data as TunnelQrResponse;\n}\n\nexport function useTunnelStatus() {\n\tconst setStatus = useTunnelStore((s) => s.setStatus);\n\tconst setUrl = useTunnelStore((s) => s.setUrl);\n\tconst setError = useTunnelStore((s) => s.setError);\n\n\tconst query = useQuery<TunnelStatusResponse>({\n\t\tqueryKey: ['tunnel', 'status'],\n\t\tqueryFn: fetchTunnelStatus,\n\t\trefetchInterval: 3000,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data) {\n\t\t\tsetStatus(query.data.status);\n\t\t\tsetUrl(query.data.url);\n\t\t\tsetError(query.data.error);\n\t\t}\n\t}, [query.data, setStatus, setUrl, setError]);\n\n\treturn query;\n}\n\nexport function useStartTunnel() {\n\tconst queryClient = useQueryClient();\n\tconst setStatus = useTunnelStore((s) => s.setStatus);\n\tconst setUrl = useTunnelStore((s) => s.setUrl);\n\tconst setError = useTunnelStore((s) => s.setError);\n\tconst setProgress = useTunnelStore((s) => s.setProgress);\n\n\treturn useMutation<TunnelStartResponse, Error, void>({\n\t\tmutationFn: () => startTunnel(),\n\t\tonMutate: () => {\n\t\t\tsetStatus('starting');\n\t\t\tsetProgress('Connecting...');\n\t\t\tsetError(null);\n\t\t},\n\t\tonSuccess: (data) => {\n\t\t\tif (data.ok && data.url) {\n\t\t\t\tsetStatus('connected');\n\t\t\t\tsetUrl(data.url);\n\t\t\t\tsetProgress(null);\n\t\t\t} else if (!data.ok) {\n\t\t\t\tsetStatus('error');\n\t\t\t\tsetError(data.error || 'Failed to start tunnel');\n\t\t\t\tsetProgress(null);\n\t\t\t}\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['tunnel'] });\n\t\t},\n\t\tonError: (error) => {\n\t\t\tsetStatus('error');\n\t\t\tsetError(error.message);\n\t\t\tsetProgress(null);\n\t\t},\n\t});\n}\n\nexport function useStopTunnel() {\n\tconst queryClient = useQueryClient();\n\tconst reset = useTunnelStore((s) => s.reset);\n\n\treturn useMutation({\n\t\tmutationFn: stopTunnel,\n\t\tonSuccess: () => {\n\t\t\treset();\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['tunnel'] });\n\t\t},\n\t});\n}\n\nexport function useTunnelQr() {\n\tconst url = useTunnelStore((s) => s.url);\n\tconst setQrCode = useTunnelStore((s) => s.setQrCode);\n\n\tconst query = useQuery<TunnelQrResponse>({\n\t\tqueryKey: ['tunnel', 'qr', url],\n\t\tqueryFn: fetchTunnelQr,\n\t\tenabled: !!url,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data?.ok && query.data.qrCode) {\n\t\t\tsetQrCode(query.data.qrCode);\n\t\t}\n\t}, [query.data, setQrCode]);\n\n\treturn query;\n}\n\nexport function useTunnelStream() {\n\tconst setStatus = useTunnelStore((s) => s.setStatus);\n\tconst setUrl = useTunnelStore((s) => s.setUrl);\n\tconst setError = useTunnelStore((s) => s.setError);\n\tconst setProgress = useTunnelStore((s) => s.setProgress);\n\tconst isExpanded = useTunnelStore((s) => s.isExpanded);\n\tconst eventSourceRef = useRef<EventSource | null>(null);\n\n\tconst connect = useCallback(() => {\n\t\tif (eventSourceRef.current) {\n\t\t\teventSourceRef.current.close();\n\t\t}\n\n\t\tconst es = new EventSource(\n\t\t\tclient.buildUrl({ baseURL: API_BASE_URL, url: '/v1/tunnel/stream' }),\n\t\t);\n\t\teventSourceRef.current = es;\n\n\t\tes.onmessage = (event) => {\n\t\t\ttry {\n\t\t\t\tconst data = JSON.parse(event.data);\n\t\t\t\tif (data.type === 'status') {\n\t\t\t\t\tsetStatus(data.status);\n\t\t\t\t\tsetUrl(data.url);\n\t\t\t\t\tsetError(data.error);\n\t\t\t\t\tsetProgress(data.progress);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// ignore parse errors\n\t\t\t}\n\t\t};\n\n\t\tes.onerror = () => {\n\t\t\tes.close();\n\t\t\teventSourceRef.current = null;\n\t\t};\n\n\t\treturn () => {\n\t\t\tes.close();\n\t\t\teventSourceRef.current = null;\n\t\t};\n\t}, [setStatus, setUrl, setError, setProgress]);\n\n\tuseEffect(() => {\n\t\tif (isExpanded) {\n\t\t\tconst cleanup = connect();\n\t\t\treturn cleanup;\n\t\t}\n\t\treturn () => {\n\t\t\tif (eventSourceRef.current) {\n\t\t\t\teventSourceRef.current.close();\n\t\t\t\teventSourceRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [isExpanded, connect]);\n\n\treturn { connect };\n}\n",
|
|
59
59
|
"import { useEffect, useCallback, useRef } from 'react';\nimport { apiClient } from '../lib/api-client';\nimport { useUsageStore } from '../stores/usageStore';\n\nconst POLL_INTERVAL = 60_000;\nconst STALE_THRESHOLD = 30_000;\n\nconst inflight = new Set<string>();\n\nexport function useProviderUsage(\n\tprovider: string | undefined,\n\tauthType: string | undefined,\n) {\n\tconst setUsage = useUsageStore((s) => s.setUsage);\n\tconst setLoading = useUsageStore((s) => s.setLoading);\n\tconst setLastFetched = useUsageStore((s) => s.setLastFetched);\n\tconst usage = useUsageStore((s) =>\n\t\tprovider ? s.usage[provider] : undefined,\n\t);\n\n\tconst isOAuthProvider =\n\t\tauthType === 'oauth' && (provider === 'anthropic' || provider === 'openai');\n\n\tconst fetchUsage = useCallback(async () => {\n\t\tif (!provider || !isOAuthProvider) return;\n\t\tif (inflight.has(provider)) return;\n\n\t\tconst last = useUsageStore.getState().lastFetched[provider] ?? 0;\n\t\tif (last && Date.now() - last < STALE_THRESHOLD) return;\n\n\t\tinflight.add(provider);\n\t\tsetLoading(provider, true);\n\t\ttry {\n\t\t\tconst data = await apiClient.getProviderUsage(provider);\n\t\t\tsetUsage(provider, data);\n\t\t\tsetLastFetched(provider, Date.now());\n\t\t} catch {\n\t\t} finally {\n\t\t\tsetLoading(provider, false);\n\t\t\tinflight.delete(provider);\n\t\t}\n\t}, [provider, isOAuthProvider, setUsage, setLoading, setLastFetched]);\n\n\tconst fetchRef = useRef(fetchUsage);\n\tfetchRef.current = fetchUsage;\n\n\tuseEffect(() => {\n\t\tif (!provider || !isOAuthProvider) return;\n\n\t\tfetchRef.current();\n\n\t\tconst interval = setInterval(() => fetchRef.current(), POLL_INTERVAL);\n\t\treturn () => clearInterval(interval);\n\t}, [isOAuthProvider, provider]);\n\n\treturn {\n\t\tusage,\n\t\tfetchUsage,\n\t\tisOAuthProvider,\n\t};\n}\n",
|
|
60
60
|
"import { useQuery } from '@tanstack/react-query';\nimport { apiClient } from '../lib/api-client';\n\nexport function useFileTree(dirPath: string, enabled = true) {\n\treturn useQuery({\n\t\tqueryKey: ['files', 'tree', dirPath],\n\t\tqueryFn: () => apiClient.getFileTree(dirPath),\n\t\tenabled,\n\t\tstaleTime: 10000,\n\t\tretry: 1,\n\t});\n}\n\nexport function useFileContent(filePath: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['files', 'read', filePath],\n\t\tqueryFn: () => (filePath ? apiClient.readFileContent(filePath) : null),\n\t\tenabled: !!filePath,\n\t\tstaleTime: 5000,\n\t\tretry: 1,\n\t});\n}\n\nexport function useGitDiffFullFile(\n\tfile: string | null,\n\tstaged = false,\n\tenabled = false,\n) {\n\treturn useQuery({\n\t\tqueryKey: ['git', 'diff', 'fullFile', file, staged],\n\t\tqueryFn: () => (file ? apiClient.getGitDiffFullFile(file, staged) : null),\n\t\tenabled: enabled && !!file,\n\t\tretry: 1,\n\t\trefetchInterval: false,\n\t});\n}\n",
|
|
61
61
|
"import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { useMCPStore, type MCPServerInfo } from '../stores/mcpStore';\nimport { useEffect, useRef, useCallback } from 'react';\nimport {\n\tlistMcpServers,\n\tstartMcpServer,\n\tstopMcpServer,\n\taddMcpServer,\n\tremoveMcpServer,\n\tinitiateMcpAuth,\n\trevokeMcpAuth,\n\tgetMcpAuthStatus,\n\tcompleteMcpAuth,\n} from '@ottocode/api';\n\ninterface MCPServersResponse {\n\tservers: MCPServerInfo[];\n}\n\nexport function useMCPServers() {\n\tconst setServers = useMCPStore((s) => s.setServers);\n\n\tconst query = useQuery({\n\t\tqueryKey: ['mcp', 'servers'],\n\t\tqueryFn: async () => {\n\t\t\tconst { data } = await listMcpServers();\n\t\t\treturn data as MCPServersResponse;\n\t\t},\n\t\trefetchInterval: 10000,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data?.servers) {\n\t\t\tsetServers(query.data.servers);\n\t\t}\n\t}, [query.data, setServers]);\n\n\treturn query;\n}\n\nexport function useStartMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await startMcpServer({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to start server');\n\t\t\tconst result = data as {\n\t\t\t\tok: boolean;\n\t\t\t\terror?: string;\n\t\t\t\tconnected?: boolean;\n\t\t\t\tauthRequired?: boolean;\n\t\t\t\tauthUrl?: string;\n\t\t\t\tauthType?: string;\n\t\t\t\tauthenticated?: boolean;\n\t\t\t\tsessionId?: string;\n\t\t\t\tuserCode?: string;\n\t\t\t\tverificationUri?: string;\n\t\t\t\tinterval?: number;\n\t\t\t};\n\t\t\tif (!result.ok) throw new Error(result.error || 'Failed to start server');\n\t\t\treturn result;\n\t\t},\n\t\tonSettled: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useStopMCPServer() {\n\tconst queryClient = useQueryClient();\n\tconst setLoading = useMCPStore((s) => s.setLoading);\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tsetLoading(name, true);\n\t\t\tconst { data, error } = await stopMcpServer({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to stop server');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok) throw new Error(result.error || 'Failed to stop server');\n\t\t\treturn result;\n\t\t},\n\t\tonSettled: (_data, _error, name) => {\n\t\t\tsetLoading(name, false);\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport interface AddMCPServerParams {\n\tname: string;\n\ttransport?: 'stdio' | 'http' | 'sse';\n\tcommand?: string;\n\targs?: string[];\n\tenv?: Record<string, string>;\n\turl?: string;\n\theaders?: Record<string, string>;\n\toauth?: Record<string, unknown>;\n\tscope?: 'global' | 'project';\n}\n\nexport function useAddMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (params: AddMCPServerParams) => {\n\t\t\tconst { data, error } = await addMcpServer({\n\t\t\t\tbody: params,\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to add MCP server');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok)\n\t\t\t\tthrow new Error(result.error || 'Failed to add MCP server');\n\t\t\treturn result;\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useRemoveMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await removeMcpServer({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to remove MCP server');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok)\n\t\t\t\tthrow new Error(result.error || 'Failed to remove MCP server');\n\t\t\treturn result;\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useAuthenticateMCPServer() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await initiateMcpAuth({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to initiate auth');\n\t\t\tconst result = data as {\n\t\t\t\tok: boolean;\n\t\t\t\tauthUrl?: string;\n\t\t\t\tauthType?: string;\n\t\t\t\tsessionId?: string;\n\t\t\t\tuserCode?: string;\n\t\t\t\tverificationUri?: string;\n\t\t\t\tinterval?: number;\n\t\t\t\tauthenticated?: boolean;\n\t\t\t\tname: string;\n\t\t\t\terror?: string;\n\t\t\t};\n\t\t\tif (!result.ok)\n\t\t\t\tthrow new Error(result.error || 'Failed to initiate auth');\n\t\t\treturn result;\n\t\t},\n\t\tonSettled: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useRevokeMCPAuth() {\n\tconst queryClient = useQueryClient();\n\n\treturn useMutation({\n\t\tmutationFn: async (name: string) => {\n\t\t\tconst { data, error } = await revokeMcpAuth({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\tif (error) throw new Error('Failed to revoke auth');\n\t\t\tconst result = data as { ok: boolean; error?: string };\n\t\t\tif (!result.ok) throw new Error(result.error || 'Failed to revoke auth');\n\t\t\treturn result;\n\t\t},\n\t\tonSuccess: () => {\n\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t},\n\t});\n}\n\nexport function useMCPAuthStatus(name: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['mcp', 'auth', name],\n\t\tqueryFn: async () => {\n\t\t\tif (!name) return { authenticated: false };\n\t\t\tconst { data } = await getMcpAuthStatus({\n\t\t\t\tpath: { name },\n\t\t\t});\n\t\t\treturn data as {\n\t\t\t\tauthenticated: boolean;\n\t\t\t\texpiresAt?: number;\n\t\t\t};\n\t\t},\n\t\tenabled: !!name,\n\t\trefetchInterval: 3000,\n\t});\n}\n\nexport function useCopilotDevicePoller() {\n\tconst copilotDevice = useMCPStore((s) => s.copilotDevice);\n\tconst setCopilotDevice = useMCPStore((s) => s.setCopilotDevice);\n\tconst setLoading = useMCPStore((s) => s.setLoading);\n\tconst queryClient = useQueryClient();\n\tconst timerRef = useRef<ReturnType<typeof setInterval> | null>(null);\n\n\tconst stopPolling = useCallback(() => {\n\t\tif (timerRef.current) {\n\t\t\tclearInterval(timerRef.current);\n\t\t\ttimerRef.current = null;\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!copilotDevice) {\n\t\t\tstopPolling();\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sessionId, serverName, interval } = copilotDevice;\n\t\tconst pollMs = (interval || 5) * 1000 + 1000;\n\n\t\ttimerRef.current = setInterval(async () => {\n\t\t\ttry {\n\t\t\t\tconst { data } = await completeMcpAuth({\n\t\t\t\t\tpath: { name: serverName },\n\t\t\t\t\tbody: { sessionId },\n\t\t\t\t});\n\n\t\t\t\tconst result = data as {\n\t\t\t\t\tok: boolean;\n\t\t\t\t\tstatus: string;\n\t\t\t\t\terror?: string;\n\t\t\t\t};\n\n\t\t\t\tif (result?.status === 'complete') {\n\t\t\t\t\tstopPolling();\n\t\t\t\t\tsetCopilotDevice(null);\n\t\t\t\t\tsetLoading(serverName, false);\n\t\t\t\t\tqueryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });\n\t\t\t\t} else if (result?.status === 'error') {\n\t\t\t\t\tstopPolling();\n\t\t\t\t\tsetCopilotDevice(null);\n\t\t\t\t\tsetLoading(serverName, false);\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tstopPolling();\n\t\t\t\tsetCopilotDevice(null);\n\t\t\t\tsetLoading(serverName, false);\n\t\t\t}\n\t\t}, pollMs);\n\n\t\treturn stopPolling;\n\t}, [copilotDevice, setCopilotDevice, setLoading, queryClient, stopPolling]);\n\n\treturn copilotDevice;\n}\n",
|
|
62
62
|
"import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { useSkillsStore } from '../stores/skillsStore';\nimport { useEffect } from 'react';\nimport { apiClient } from '../lib/api-client';\n\nexport function useSkills() {\n\tconst setSkillsConfig = useSkillsStore((s) => s.setSkillsConfig);\n\n\tconst query = useQuery({\n\t\tqueryKey: ['skills'],\n\t\tqueryFn: async () => {\n\t\t\treturn apiClient.getSkillsConfig();\n\t\t},\n\t\trefetchInterval: 30000,\n\t});\n\n\tuseEffect(() => {\n\t\tif (query.data?.items) {\n\t\t\tsetSkillsConfig({\n\t\t\t\tskills: query.data.items,\n\t\t\t\tglobalEnabled: query.data.enabled,\n\t\t\t\ttotalCount: query.data.totalCount,\n\t\t\t\tenabledCount: query.data.enabledCount,\n\t\t\t});\n\t\t}\n\t}, [query.data, setSkillsConfig]);\n\n\treturn query;\n}\n\nexport function useUpdateSkillsConfig() {\n\tconst queryClient = useQueryClient();\n\tconst setSkillsConfig = useSkillsStore((s) => s.setSkillsConfig);\n\n\treturn useMutation({\n\t\tmutationFn: (input: {\n\t\t\tenabled?: boolean;\n\t\t\titems?: Record<string, { enabled?: boolean }>;\n\t\t\tscope?: 'global' | 'local';\n\t\t}) => apiClient.updateSkillsConfig(input),\n\t\tonSuccess: (data) => {\n\t\t\tsetSkillsConfig({\n\t\t\t\tskills: data.items,\n\t\t\t\tglobalEnabled: data.enabled,\n\t\t\t\ttotalCount: data.totalCount,\n\t\t\t\tenabledCount: data.enabledCount,\n\t\t\t});\n\t\t\tqueryClient.setQueryData(['skills'], data);\n\t\t},\n\t});\n}\n\nexport function useSkillDetail(name: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['skills', name],\n\t\tqueryFn: async () => {\n\t\t\tif (!name) return null;\n\t\t\treturn apiClient.getSkill(name);\n\t\t},\n\t\tenabled: !!name,\n\t});\n}\n\nexport function useSkillFiles(name: string | null) {\n\treturn useQuery({\n\t\tqueryKey: ['skills', name, 'files'],\n\t\tqueryFn: async () => {\n\t\t\tif (!name) return null;\n\t\t\treturn apiClient.getSkillFiles(name);\n\t\t},\n\t\tenabled: !!name,\n\t});\n}\n\nexport function useSkillFileContent(\n\tname: string | null,\n\tfilePath: string | null,\n) {\n\treturn useQuery({\n\t\tqueryKey: ['skills', name, 'files', filePath],\n\t\tqueryFn: async () => {\n\t\t\tif (!name || !filePath) return null;\n\t\t\treturn apiClient.getSkillFileContent(name, filePath);\n\t\t},\n\t\tenabled: !!name && !!filePath,\n\t});\n}\n"
|
|
63
63
|
],
|
|
64
|
-
"mappings": "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",
|
|
65
|
-
"debugId": "
|
|
64
|
+
"mappings": "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",
|
|
65
|
+
"debugId": "2FC62A50D828F41864756E2164756E21",
|
|
66
66
|
"names": []
|
|
67
67
|
}
|