diff --git a/packages/opencode/src/project/project.ts b/packages/opencode/src/project/project.ts index 8fa0f6c6f..63c1c4cad 100644 --- a/packages/opencode/src/project/project.ts +++ b/packages/opencode/src/project/project.ts @@ -86,8 +86,7 @@ export namespace Project { const gitBinary = Bun.which("git") // cached id calculation - let id = await Bun.file(path.join(dotgit, "opencode")) - .text() + let id = await Filesystem.readText(path.join(dotgit, "opencode")) .then((x) => x.trim()) .catch(() => undefined) @@ -125,9 +124,7 @@ export namespace Project { id = roots[0] if (id) { - void Bun.file(path.join(dotgit, "opencode")) - .write(id) - .catch(() => undefined) + void Filesystem.write(path.join(dotgit, "opencode"), id).catch(() => undefined) } } @@ -277,10 +274,9 @@ export namespace Project { ) const shortest = matches.sort((a, b) => a.length - b.length)[0] if (!shortest) return - const file = Bun.file(shortest) - const buffer = await file.arrayBuffer() - const base64 = Buffer.from(buffer).toString("base64") - const mime = file.type || "image/png" + const buffer = await Filesystem.readBytes(shortest) + const base64 = buffer.toString("base64") + const mime = Filesystem.mimeType(shortest) || "image/png" const url = `data:${mime};base64,${base64}` await update({ projectID: input.id, @@ -381,10 +377,8 @@ export namespace Project { const data = fromRow(row) const valid: string[] = [] for (const dir of data.sandboxes) { - const stat = await Bun.file(dir) - .stat() - .catch(() => undefined) - if (stat?.isDirectory()) valid.push(dir) + const s = Filesystem.stat(dir) + if (s?.isDirectory()) valid.push(dir) } return valid }