summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-08-21 12:58:37 -0400
committerDax Raad <[email protected]>2025-08-21 12:58:37 -0400
commit9a3186317b010ec03b1680ae9249d90ea6f94356 (patch)
tree6f3a244d943f7250e77c4ee62e635902f7d25950
parentb1e584ca1dac90e17732a3daf58fb6b50f201c33 (diff)
downloadopencode-9a3186317b010ec03b1680ae9249d90ea6f94356.tar.gz
opencode-9a3186317b010ec03b1680ae9249d90ea6f94356.zip
allow importing sdk from @opencode-ai/sdk/server and @opencode-ai/sdk/client
-rw-r--r--packages/sdk/js/package.json8
-rw-r--r--packages/sdk/js/src/client.ts10
-rw-r--r--packages/sdk/js/src/index.ts41
-rw-r--r--packages/sdk/js/src/server.ts26
4 files changed, 46 insertions, 39 deletions
diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json
index 13881be47..444fec5d2 100644
--- a/packages/sdk/js/package.json
+++ b/packages/sdk/js/package.json
@@ -10,6 +10,14 @@
".": {
"development": "./src/index.ts",
"import": "./dist/index.js"
+ },
+ "./client": {
+ "development": "./src/client.ts",
+ "import": "./dist/client.js"
+ },
+ "./server": {
+ "development": "./src/server.ts",
+ "import": "./dist/server.js"
}
},
"files": [
diff --git a/packages/sdk/js/src/client.ts b/packages/sdk/js/src/client.ts
new file mode 100644
index 000000000..a5ed488e6
--- /dev/null
+++ b/packages/sdk/js/src/client.ts
@@ -0,0 +1,10 @@
+import { createClient } from "./gen/client/client.js"
+import { type Config } from "./gen/client/types.js"
+import { OpencodeClient } from "./gen/sdk.gen.js"
+export * from "./gen/types.gen.js"
+export { type Config, OpencodeClient }
+
+export function createOpencodeClient(config?: Config) {
+ const client = createClient(config)
+ return new OpencodeClient({ client })
+}
diff --git a/packages/sdk/js/src/index.ts b/packages/sdk/js/src/index.ts
index 4c3bde2ff..03cf66634 100644
--- a/packages/sdk/js/src/index.ts
+++ b/packages/sdk/js/src/index.ts
@@ -1,39 +1,2 @@
-import { createClient } from "./gen/client/client.js"
-import { type Config } from "./gen/client/types.js"
-import { OpencodeClient } from "./gen/sdk.gen.js"
-export * from "./gen/types.gen.js"
-export {
- type Config,
- OpencodeClient
-}
-import { spawn } from "child_process"
-
-export function createOpencodeClient(config?: Config) {
- const client = createClient(config)
- return new OpencodeClient({ client })
-}
-
-export type ServerConfig = {
- host?: string
- port?: number
-}
-
-export async function createOpencodeServer(config?: ServerConfig) {
- config = Object.assign(
- {
- host: "127.0.0.1",
- port: 4096,
- },
- config ?? {},
- )
-
- const proc = spawn(`opencode`, [`serve`, `--host=${config.host}`, `--port=${config.port}`])
- const url = `http://${config.host}:${config.port}`
-
- return {
- url,
- close() {
- proc.kill()
- },
- }
-}
+export * from "./client.js"
+export * from "./server.js"
diff --git a/packages/sdk/js/src/server.ts b/packages/sdk/js/src/server.ts
new file mode 100644
index 000000000..edaa4cf63
--- /dev/null
+++ b/packages/sdk/js/src/server.ts
@@ -0,0 +1,26 @@
+import { spawn } from "node:child_process"
+
+export type ServerConfig = {
+ host?: string
+ port?: number
+}
+
+export async function createOpencodeServer(config?: ServerConfig) {
+ config = Object.assign(
+ {
+ host: "127.0.0.1",
+ port: 4096,
+ },
+ config ?? {},
+ )
+
+ const proc = spawn(`opencode`, [`serve`, `--host=${config.host}`, `--port=${config.port}`])
+ const url = `http://${config.host}:${config.port}`
+
+ return {
+ url,
+ close() {
+ proc.kill()
+ },
+ }
+}