diff options
Diffstat (limited to 'packages/app/src/utils/server.ts')
| -rw-r--r-- | packages/app/src/utils/server.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/app/src/utils/server.ts b/packages/app/src/utils/server.ts new file mode 100644 index 000000000..17f4a3adc --- /dev/null +++ b/packages/app/src/utils/server.ts @@ -0,0 +1,22 @@ +import { createOpencodeClient } from "@opencode-ai/sdk/v2/client" +import type { ServerConnection } from "@/context/server" + +export function createSdkForServer({ + server, + ...config +}: Omit<NonNullable<Parameters<typeof createOpencodeClient>[0]>, "baseUrl"> & { + server: ServerConnection.HttpBase +}) { + const auth = (() => { + if (!server.password) return + return { + Authorization: `Basic ${btoa(`${server.username ?? "opencode"}:${server.password}`)}`, + } + })() + + return createOpencodeClient({ + ...config, + headers: { ...config.headers, ...auth }, + baseUrl: server.url, + }) +} |
