diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json index 13881be4..444fec5d 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 00000000..a5ed488e --- /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 4c3bde2f..03cf6663 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 00000000..edaa4cf6 --- /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() + }, + } +}