diff --git a/packages/client/script/build.ts b/packages/client/script/build.ts index a69a54a6fa..95af4c026e 100644 --- a/packages/client/script/build.ts +++ b/packages/client/script/build.ts @@ -3,6 +3,7 @@ import { SessionGroup } from "@opencode-ai/server/groups/session" import { compile, emitEffectImported, emitPromise, write } from "@opencode-ai/httpapi-codegen" import { Effect } from "effect" import { HttpApi } from "effect/unstable/httpapi" +import { fileURLToPath } from "url" const Api = HttpApi.make("opencode-client").add(SessionGroup) const contract = compile(Api, { groupNames: { "server.session": "sessions" } }) @@ -10,13 +11,13 @@ const contract = compile(Api, { groupNames: { "server.session": "sessions" } }) await Effect.runPromise( Effect.all( [ - write(emitPromise(contract), new URL("../src/generated", import.meta.url).pathname), + write(emitPromise(contract), fileURLToPath(new URL("../src/generated", import.meta.url))), write( emitEffectImported(contract, { module: "@opencode-ai/server/groups/session", group: "SessionGroup", }), - new URL("../src/generated-effect", import.meta.url).pathname, + fileURLToPath(new URL("../src/generated-effect", import.meta.url)), ), ], { concurrency: 2, discard: true }, diff --git a/packages/client/src/effect-embedded.ts b/packages/client/src/effect-embedded.ts index 8fc8bd9cf9..746827a405 100644 --- a/packages/client/src/effect-embedded.ts +++ b/packages/client/src/effect-embedded.ts @@ -44,11 +44,11 @@ export const create = Effect.fn("OpenCode.create")(function* () { } }) -export interface Interface extends Effect.Success> {} +export type Interface = Effect.Success> export class Service extends Context.Service()("@opencode-ai/client/OpenCode") {} -export const layer = Layer.effect(Service, create().pipe(Effect.map(Service.of))) +export const layer = Layer.effect(Service, create()) export { ClientError } from "./generated-effect/index" export { Tool } from "@opencode-ai/core/public/tool"