/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/app/src/utils/server.ts
41 строка
1 KB
Kit Langton
fix(app): preserve auth token credentials (#25636)
04 май 2026, 00:13
Не верифицирован
04 май 2026, 00:13
ca6150d
Код
Авторство
О чём код?
import { createOpencodeClient } from "@opencode-ai/sdk/v2/client" import type { ServerConnection } from "@/context/server" import { decode64 } from "@/utils/base64" export function authTokenFromCredentials(input: { username?: string; password: string }) { return btoa(`${input.username ?? "opencode"}:${input.password}`) } export function authFromToken(token: string | null) { const decoded = decode64(token ?? undefined) if (!decoded) return const separator = decoded.indexOf(":") if (separator === -1) return return { username: decoded.slice(0, separator) || "opencode", password: decoded.slice(separator + 1), } } export function createSdkForServer({ server, ...config }: Omit<NonNullable<Parameters<typeof createOpencodeClient>[0]>, "baseUrl"> & { server: ServerConnection.HttpBase }) { const auth = (() => { if (!server.password) return return { Authorization: `Basic ${authTokenFromCredentials({ username: server.username, password: server.password })}`, } })() return createOpencodeClient({ ...config, headers: { ...(config.headers instanceof Headers ? Object.fromEntries(config.headers.entries()) : config.headers), ...auth, }, baseUrl: server.url, }) }