mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-19 16:54:22 +01:00
56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
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)
|
|
}),
|
|
)
|