diff options
| author | Dax Raad <[email protected]> | 2025-08-21 12:58:37 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-08-21 12:58:37 -0400 |
| commit | 9a3186317b010ec03b1680ae9249d90ea6f94356 (patch) | |
| tree | 6f3a244d943f7250e77c4ee62e635902f7d25950 /packages/sdk/js/src/server.ts | |
| parent | b1e584ca1dac90e17732a3daf58fb6b50f201c33 (diff) | |
| download | opencode-9a3186317b010ec03b1680ae9249d90ea6f94356.tar.gz opencode-9a3186317b010ec03b1680ae9249d90ea6f94356.zip | |
allow importing sdk from @opencode-ai/sdk/server and @opencode-ai/sdk/client
Diffstat (limited to 'packages/sdk/js/src/server.ts')
| -rw-r--r-- | packages/sdk/js/src/server.ts | 26 |
1 files changed, 26 insertions, 0 deletions
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() + }, + } +} |
