diff --git a/packages/app/src/components/dialog-connect-provider.tsx b/packages/app/src/components/dialog-connect-provider.tsx index 119219636..76da7d5b4 100644 --- a/packages/app/src/components/dialog-connect-provider.tsx +++ b/packages/app/src/components/dialog-connect-provider.tsx @@ -158,8 +158,8 @@ export function DialogConnectProvider(props: { provider: string }) { } dispatch({ type: "auth.pending" }) const start = Date.now() - await serverSDK().client.provider.oauth - .authorize( + await serverSDK() + .client.provider.oauth.authorize( { providerID: props.provider, method: index, @@ -480,8 +480,8 @@ export function DialogConnectProvider(props: { provider: string }) { } setFormStore("error", undefined) - const result = await serverSDK().client.provider.oauth - .callback({ + const result = await serverSDK() + .client.provider.oauth.callback({ providerID: props.provider, method: store.methodIndex, code, @@ -533,8 +533,8 @@ export function DialogConnectProvider(props: { provider: string }) { onMount(() => { void (async () => { - const result = await serverSDK().client.provider.oauth - .callback({ + const result = await serverSDK() + .client.provider.oauth.callback({ providerID: props.provider, method: store.methodIndex, }) diff --git a/packages/app/src/components/dialog-fork.tsx b/packages/app/src/components/dialog-fork.tsx index 5bdf52ad0..601f03084 100644 --- a/packages/app/src/components/dialog-fork.tsx +++ b/packages/app/src/components/dialog-fork.tsx @@ -68,8 +68,8 @@ export const DialogFork: Component = () => { }) const dir = base64Encode(sdk().directory) - sdk().client.session - .fork({ sessionID, messageID: item.id }) + sdk() + .client.session.fork({ sessionID, messageID: item.id }) .then((forked) => { if (!forked.data) { showToast({ title: language.t("common.requestFailed") }) diff --git a/packages/app/src/components/prompt-input/submit.ts b/packages/app/src/components/prompt-input/submit.ts index 9b016e118..0a42b51e4 100644 --- a/packages/app/src/components/prompt-input/submit.ts +++ b/packages/app/src/components/prompt-input/submit.ts @@ -247,8 +247,8 @@ export function createPromptSubmit(input: PromptSubmitInput) { pending.delete(key) return Promise.resolve() } - return sdk().client.session - .abort({ + return sdk() + .client.session.abort({ sessionID, }) .catch(() => {}) @@ -559,12 +559,14 @@ export function createPromptSubmit(input: PromptSubmitInput) { }, timeoutMs) }) - const result = await Promise.race([WorktreeState.wait(sdk().scope, sessionDirectory), abortWait, timeout]).finally( - () => { - if (timer.id === undefined) return - clearTimeout(timer.id) - }, - ) + const result = await Promise.race([ + WorktreeState.wait(sdk().scope, sessionDirectory), + abortWait, + timeout, + ]).finally(() => { + if (timer.id === undefined) return + clearTimeout(timer.id) + }) pending.delete(pendingKey(session.id)) if (controller.signal.aborted) return false if (result.status === "failed") throw new Error(result.message) diff --git a/packages/app/src/components/settings-general.tsx b/packages/app/src/components/settings-general.tsx index 3ade0b582..1be3ffc51 100644 --- a/packages/app/src/components/settings-general.tsx +++ b/packages/app/src/components/settings-general.tsx @@ -127,8 +127,8 @@ export const SettingsGeneral: Component = () => { const [shells] = createResource( () => - serverSdk().client.pty - .shells() + serverSdk() + .client.pty.shells() .then((res) => res.data ?? []) .catch(() => [] as ShellOption[]), { initialValue: [] as ShellOption[] }, diff --git a/packages/app/src/components/settings-providers.tsx b/packages/app/src/components/settings-providers.tsx index cf1229c9f..24e7a6010 100644 --- a/packages/app/src/components/settings-providers.tsx +++ b/packages/app/src/components/settings-providers.tsx @@ -114,12 +114,14 @@ const SettingsProvidersContent: Component = () => { const disconnect = async (providerID: string, name: string) => { if (isConfigCustom(providerID)) { - await serverSDK().client.auth.remove({ providerID }).catch(() => undefined) + await serverSDK() + .client.auth.remove({ providerID }) + .catch(() => undefined) await disableProvider(providerID, name) return } - await serverSDK().client.auth - .remove({ providerID }) + await serverSDK() + .client.auth.remove({ providerID }) .then(async () => { await serverSDK().client.global.dispose() showToast({ diff --git a/packages/app/src/components/settings-v2/general.tsx b/packages/app/src/components/settings-v2/general.tsx index 8fa15f151..93caa6467 100644 --- a/packages/app/src/components/settings-v2/general.tsx +++ b/packages/app/src/components/settings-v2/general.tsx @@ -126,8 +126,8 @@ export const SettingsGeneralV2: Component = () => { const [shells] = createResource( () => - serverSdk().client.pty - .shells() + serverSdk() + .client.pty.shells() .then((res) => res.data ?? []) .catch(() => [] as ShellOption[]), { initialValue: [] as ShellOption[] }, diff --git a/packages/app/src/components/settings-v2/providers.tsx b/packages/app/src/components/settings-v2/providers.tsx index d3ddf9b14..cd24bbd45 100644 --- a/packages/app/src/components/settings-v2/providers.tsx +++ b/packages/app/src/components/settings-v2/providers.tsx @@ -108,12 +108,14 @@ export const SettingsProvidersV2: Component = () => { const disconnect = async (providerID: string, name: string) => { if (isConfigCustom(providerID)) { - await serverSdk().client.auth.remove({ providerID }).catch(() => undefined) + await serverSdk() + .client.auth.remove({ providerID }) + .catch(() => undefined) await disableProvider(providerID, name) return } - await serverSdk().client.auth - .remove({ providerID }) + await serverSdk() + .client.auth.remove({ providerID }) .then(async () => { await serverSdk().client.global.dispose() showToast({ diff --git a/packages/app/src/context/file.tsx b/packages/app/src/context/file.tsx index 8b20a382c..14ed7466c 100644 --- a/packages/app/src/context/file.tsx +++ b/packages/app/src/context/file.tsx @@ -78,7 +78,10 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({ const tree = createFileTreeStore({ scope, normalizeDir: path.normalizeDir, - list: (dir) => sdk().client.file.list({ path: dir }).then((x) => x.data ?? []), + list: (dir) => + sdk() + .client.file.list({ path: dir }) + .then((x) => x.data ?? []), onError: (message) => { showToast({ variant: "error", @@ -176,8 +179,8 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({ setLoading(file) - const promise = sdk().client.file - .read({ path: file }) + const promise = sdk() + .client.file.read({ path: file }) .then((x) => { if (scope() !== directory) return const content = x.data @@ -200,10 +203,12 @@ export const { use: useFile, provider: FileProvider } = createSimpleContext({ } const search = (query: string, dirs: "true" | "false") => - sdk().client.find.files({ query, dirs }).then( - (x) => (x.data ?? []).map(path.normalize), - () => [], - ) + sdk() + .client.find.files({ query, dirs }) + .then( + (x) => (x.data ?? []).map(path.normalize), + () => [], + ) const stop = sdk().event.listen((e) => { invalidateFromWatcher(e.details, { diff --git a/packages/app/src/context/layout.tsx b/packages/app/src/context/layout.tsx index b28a31ddf..53bf40e70 100644 --- a/packages/app/src/context/layout.tsx +++ b/packages/app/src/context/layout.tsx @@ -536,8 +536,8 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext( continue } - void serverSdk().client.project - .update({ projectID: project.id, directory: worktree, icon: { color } }) + void serverSdk() + .client.project.update({ projectID: project.id, directory: worktree, icon: { color } }) .catch(() => { if (colorRequested.get(worktree) === color) colorRequested.delete(worktree) }) diff --git a/packages/app/src/context/notification.tsx b/packages/app/src/context/notification.tsx index aef40ed47..0814dbce7 100644 --- a/packages/app/src/context/notification.tsx +++ b/packages/app/src/context/notification.tsx @@ -211,8 +211,8 @@ export const { use: useNotification, provider: NotificationProvider } = createSi const [syncStore] = serverSync().child(directory, { bootstrap: false }) const match = Binary.search(syncStore.session, sessionID, (s) => s.id) if (match.found) return syncStore.session[match.index] - return serverSDK().client.session - .get({ directory, sessionID }) + return serverSDK() + .client.session.get({ directory, sessionID }) .then((x) => x.data) .catch(() => undefined) } diff --git a/packages/app/src/context/permission.tsx b/packages/app/src/context/permission.tsx index cf391b041..dce3a4049 100644 --- a/packages/app/src/context/permission.tsx +++ b/packages/app/src/context/permission.tsx @@ -119,9 +119,11 @@ export const { use: usePermission, provider: PermissionProvider } = createSimple } const respond: PermissionRespondFn = (input) => { - serverSDK().client.permission.respond(input).catch(() => { - responded.delete(input.permissionID) - }) + serverSDK() + .client.permission.respond(input) + .catch(() => { + responded.delete(input.permissionID) + }) } function respondOnce(permission: PermissionRequest, directory?: string) { @@ -179,8 +181,8 @@ export const { use: usePermission, provider: PermissionProvider } = createSimple }), ) - serverSDK().client.permission - .list({ directory }) + serverSDK() + .client.permission.list({ directory }) .then((x) => { if (!isAutoAcceptingDirectory(directory)) return for (const perm of x.data ?? []) { @@ -211,8 +213,8 @@ export const { use: usePermission, provider: PermissionProvider } = createSimple }), ) - serverSDK().client.permission - .list({ directory }) + serverSDK() + .client.permission.list({ directory }) .then((x) => { if (enableVersion.get(key) !== version) return if (!isAutoAccepting(sessionID, directory)) return diff --git a/packages/app/src/pages/directory-layout.tsx b/packages/app/src/pages/directory-layout.tsx index 0a2393019..f937c98fa 100644 --- a/packages/app/src/pages/directory-layout.tsx +++ b/packages/app/src/pages/directory-layout.tsx @@ -28,7 +28,10 @@ export function DirectoryDataProvider(props: ParentProps<{ directory: string; dr createResource( () => params.id, - (id) => sync().session.sync(id).catch(() => {}), + (id) => + sync() + .session.sync(id) + .catch(() => {}), ) return ( diff --git a/packages/app/src/pages/home.tsx b/packages/app/src/pages/home.tsx index ea6f5ef31..24c7e4c3a 100644 --- a/packages/app/src/pages/home.tsx +++ b/packages/app/src/pages/home.tsx @@ -1104,8 +1104,8 @@ function LegacyHome() { const language = useLanguage() const homedir = createMemo(() => sync().data.path.home) const recent = createMemo(() => { - return sync().data.project - .slice() + return sync() + .data.project.slice() .sort((a, b) => (b.time.updated ?? b.time.created) - (a.time.updated ?? a.time.created)) .slice(0, 5) }) diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index 1e925b393..d896ce97e 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -1293,8 +1293,8 @@ export default function Layout(props: ParentProps) { } const refreshDirs = async (target?: string) => { if (!target || target === root || canOpen(target)) return canOpen(target) - const listed = await serverSDK().client.worktree - .list({ directory: root }) + const listed = await serverSDK() + .client.worktree.list({ directory: root }) .then((x) => x.data ?? []) .catch(() => [] as string[]) dirs = effectiveWorkspaceOrder(root, [root, ...listed], store.workspaceOrder[root]) @@ -1308,8 +1308,8 @@ export default function Layout(props: ParentProps) { navigateWithSidebarReset(`/${base64Encode(target.directory)}/session/${target.id}`) return true } - const resolved = await serverSDK().client.session - .get({ sessionID: target.id }) + const resolved = await serverSDK() + .client.session.get({ sessionID: target.id }) .then((x) => x.data) .catch(() => undefined) if (!resolved?.directory) return false @@ -1339,8 +1339,8 @@ export default function Layout(props: ParentProps) { await Promise.all( dirs.map(async (item) => ({ path: { directory: item }, - session: await serverSDK().client.session - .list({ directory: item }) + session: await serverSDK() + .client.session.list({ directory: item }) .then((x) => x.data ?? []) .catch(() => []), })), @@ -1495,8 +1495,8 @@ export default function Layout(props: ParentProps) { setBusy(directory, true) - const result = await serverSDK().client.worktree - .remove({ directory: root, worktreeRemoveInput: { directory } }) + const result = await serverSDK() + .client.worktree.remove({ directory: root, worktreeRemoveInput: { directory } }) .then((x) => x.data) .catch((err) => { showToast({ @@ -1553,8 +1553,8 @@ export default function Layout(props: ParentProps) { }) const dismiss = () => toaster.dismiss(progress) - const sessions: Session[] = await serverSDK().client.session - .list({ directory }) + const sessions: Session[] = await serverSDK() + .client.session.list({ directory }) .then((x) => x.data ?? []) .catch(() => []) @@ -1564,10 +1564,12 @@ export default function Layout(props: ParentProps) { platform, serverSDK().scope, ) - await serverSDK().client.instance.dispose({ directory }).catch(() => undefined) + await serverSDK() + .client.instance.dispose({ directory }) + .catch(() => undefined) - const result = await serverSDK().client.worktree - .reset({ directory: root, worktreeResetInput: { directory } }) + const result = await serverSDK() + .client.worktree.reset({ directory: root, worktreeResetInput: { directory } }) .then((x) => x.data) .catch((err) => { showToast({ @@ -1588,8 +1590,8 @@ export default function Layout(props: ParentProps) { sessions .filter((session) => session.time.archived === undefined) .map((session) => - serverSDK().client.session - .update({ + serverSDK() + .client.session.update({ sessionID: session.id, directory: session.directory, time: { archived: archivedAt }, @@ -1629,8 +1631,8 @@ export default function Layout(props: ParentProps) { }) onMount(() => { - serverSDK().client.vcs - .status({ directory: props.directory }) + serverSDK() + .client.vcs.status({ directory: props.directory }) .then((x) => { const files = x.data ?? [] const dirty = files.length > 0 @@ -1688,8 +1690,8 @@ export default function Layout(props: ParentProps) { }) const refresh = async () => { - const sessions = await serverSDK().client.session - .list({ directory: props.directory }) + const sessions = await serverSDK() + .client.session.list({ directory: props.directory }) .then((x) => x.data ?? []) .catch(() => []) const active = sessions.filter((session) => session.time.archived === undefined) @@ -1697,8 +1699,8 @@ export default function Layout(props: ParentProps) { } onMount(() => { - serverSDK().client.vcs - .status({ directory: props.directory }) + serverSDK() + .client.vcs.status({ directory: props.directory }) .then((x) => { const files = x.data ?? [] const dirty = files.length > 0 @@ -1928,8 +1930,8 @@ export default function Layout(props: ParentProps) { const createWorkspace = async (project: LocalProject) => { clearSidebarHoverState() - const created = await serverSDK().client.worktree - .create({ directory: project.worktree }) + const created = await serverSDK() + .client.worktree.create({ directory: project.worktree }) .then((x) => x.data) .catch((err) => { showToast({ diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 9ac8b42f9..5f74650fe 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -469,7 +469,8 @@ export default function Page() { if (store.changes === "git" || store.changes === "branch") return store.changes }) const vcsKey = createMemo( - () => ["session-vcs", sdk().directory, sync().data.vcs?.branch ?? "", sync().data.vcs?.default_branch ?? ""] as const, + () => + ["session-vcs", sdk().directory, sync().data.vcs?.branch ?? "", sync().data.vcs?.default_branch ?? ""] as const, ) const vcsQuery = createQuery(() => { const mode = vcsMode() @@ -480,8 +481,8 @@ export default function Page() { enabled, queryFn: mode ? () => - sdk().client.vcs - .diff({ mode }) + sdk() + .client.vcs.diff({ mode }) .then((result) => list(result.data)) .catch((error) => { console.debug("[session-review] failed to load vcs diff", { mode, error }) @@ -682,7 +683,9 @@ export default function Page() { todoTimer = undefined if (!id) return if (status === "idle" && !blocked) return - const cached = untrack(() => sync().data.todo[id] !== undefined || serverSync().data.session_todo[id] !== undefined) + const cached = untrack( + () => sync().data.todo[id] !== undefined || serverSync().data.session_todo[id] !== undefined, + ) todoFrame = requestAnimationFrame(() => { todoFrame = undefined @@ -1487,7 +1490,11 @@ export default function Page() { } const halt = (sessionID: string) => - busy(sessionID) ? sdk().client.session.abort({ sessionID }).catch(() => {}) : Promise.resolve() + busy(sessionID) + ? sdk() + .client.session.abort({ sessionID }) + .catch(() => {}) + : Promise.resolve() const revertMutation = useMutation(() => ({ mutationFn: async (input: { sessionID: string; messageID: string }) => { diff --git a/packages/app/src/pages/session/composer/session-composer-state.ts b/packages/app/src/pages/session/composer/session-composer-state.ts index c7d885800..edcc37ebd 100644 --- a/packages/app/src/pages/session/composer/session-composer-state.ts +++ b/packages/app/src/pages/session/composer/session-composer-state.ts @@ -78,8 +78,8 @@ export function createSessionComposerState(options?: { closeMs?: number | (() => if (store.responding === perm.id) return setStore("responding", perm.id) - sdk().client.permission - .respond({ sessionID: perm.sessionID, permissionID: perm.id, response }) + sdk() + .client.permission.respond({ sessionID: perm.sessionID, permissionID: perm.id, response }) .catch((err: unknown) => { const description = err instanceof Error ? err.message : String(err) showToast({ title: language.t("common.requestFailed"), description }) diff --git a/packages/app/src/pages/session/message-timeline.tsx b/packages/app/src/pages/session/message-timeline.tsx index ec5069a31..d025043c6 100644 --- a/packages/app/src/pages/session/message-timeline.tsx +++ b/packages/app/src/pages/session/message-timeline.tsx @@ -853,8 +853,8 @@ export function MessageTimeline(props: { const index = sessions.findIndex((s) => s.id === sessionID) const nextSession = index === -1 ? undefined : (sessions[index + 1] ?? sessions[index - 1]) - await sdk().client.session - .update({ sessionID, time: { archived: Date.now() } }) + await sdk() + .client.session.update({ sessionID, time: { archived: Date.now() } }) .then(() => { sync().set( produce((draft) => { @@ -882,8 +882,8 @@ export function MessageTimeline(props: { const index = sessions.findIndex((s) => s.id === sessionID) const nextSession = index === -1 ? undefined : (sessions[index + 1] ?? sessions[index - 1]) - const result = await sdk().client.session - .delete({ sessionID }) + const result = await sdk() + .client.session.delete({ sessionID }) .then((x) => x.data) .catch((err) => { showToast({ diff --git a/packages/app/src/pages/session/review-tab.tsx b/packages/app/src/pages/session/review-tab.tsx index 0974ef3e1..9b5bf93cd 100644 --- a/packages/app/src/pages/session/review-tab.tsx +++ b/packages/app/src/pages/session/review-tab.tsx @@ -53,8 +53,8 @@ export function SessionReviewTab(props: SessionReviewTabProps) { const layout = useLayout() const readFile = async (path: string) => { - return sdk().client.file - .read({ path }) + return sdk() + .client.file.read({ path }) .then((x) => x.data) .catch((error) => { console.debug("[session-review] failed to read file", { path, error }) diff --git a/packages/app/src/pages/session/use-session-commands.tsx b/packages/app/src/pages/session/use-session-commands.tsx index b78d1aa53..e3f0c517d 100644 --- a/packages/app/src/pages/session/use-session-commands.tsx +++ b/packages/app/src/pages/session/use-session-commands.tsx @@ -175,8 +175,8 @@ export const useSessionCommands = (actions: SessionCommandContext) => { return } - const url = await sdk().client.session - .share({ sessionID }) + const url = await sdk() + .client.session.share({ sessionID }) .then((res) => res.data?.share?.url) .catch(() => undefined) if (!url) { @@ -195,8 +195,8 @@ export const useSessionCommands = (actions: SessionCommandContext) => { const sessionID = params.id if (!sessionID) return - await sdk().client.session - .unshare({ sessionID }) + await sdk() + .client.session.unshare({ sessionID }) .then(() => showToast({ title: language.t("toast.session.unshare.success.title"), @@ -284,7 +284,9 @@ export const useSessionCommands = (actions: SessionCommandContext) => { if (!sessionID) return if (sync().data.session_working(params.id ?? "")) { - await sdk().client.session.abort({ sessionID }).catch(() => {}) + await sdk() + .client.session.abort({ sessionID }) + .catch(() => {}) } const revert = info()?.revert?.messageID