summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/js/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/sdk/js/src')
-rw-r--r--packages/sdk/js/src/client.ts12
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/sdk/js/src/client.ts b/packages/sdk/js/src/client.ts
index ac9aa1519..ebe0b8ed4 100644
--- a/packages/sdk/js/src/client.ts
+++ b/packages/sdk/js/src/client.ts
@@ -5,7 +5,7 @@ import { createClient } from "./gen/client/client.gen.js"
import { type Config } from "./gen/client/types.gen.js"
import { OpencodeClient } from "./gen/sdk.gen.js"
-export function createOpencodeClient(config?: Config) {
+export function createOpencodeClient(config?: Config, options?: { directory?: string }) {
if (!config?.fetch) {
config = {
...config,
@@ -18,5 +18,15 @@ export function createOpencodeClient(config?: Config) {
}
const client = createClient(config)
+
+ if (options?.directory) {
+ async function middleware(request: Request) {
+ const url = new URL(request.url)
+ url.searchParams.set("directory", options!.directory!)
+ return new Request(url.toString(), request)
+ }
+ client.interceptors.request.use(middleware)
+ }
+
return new OpencodeClient({ client })
}