summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/utils/server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/utils/server.ts')
-rw-r--r--packages/app/src/utils/server.ts22
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,
+ })
+}