diff options
Diffstat (limited to 'packages/sdk/js/example/example.ts')
| -rw-r--r-- | packages/sdk/js/example/example.ts | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/packages/sdk/js/example/example.ts b/packages/sdk/js/example/example.ts new file mode 100644 index 000000000..481fc4240 --- /dev/null +++ b/packages/sdk/js/example/example.ts @@ -0,0 +1,55 @@ +import { createOpencodeClient, createOpencodeServer } from "@opencode-ai/sdk" + +const server = await createOpencodeServer() +const client = createOpencodeClient({ baseUrl: server.url }) + +const input = await Array.fromAsync(new Bun.Glob("packages/core/*.ts").scan()) + +const tasks: Promise<void>[] = [] +for await (const file of input) { + console.log("processing", file) + const session = await client.session.create() + tasks.push( + client.session.prompt({ + path: { id: session.data.id }, + body: { + parts: [ + { + type: "file", + mime: "text/plain", + url: `file://${file}`, + }, + { + type: "text", + text: `Write tests for every public function in this file.`, + }, + ], + }, + }), + ) + console.log("done", file) +} + +await Promise.all( + input.map(async (file) => { + const session = await client.session.create() + console.log("processing", file) + await client.session.prompt({ + path: { id: session.data.id }, + body: { + parts: [ + { + type: "file", + mime: "text/plain", + url: `file://${file}`, + }, + { + type: "text", + text: `Write tests for every public function in this file.`, + }, + ], + }, + }) + console.log("done", file) + }), +) |
