From 8a279a6c20994b018a81c70821a28c9fa63885da Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Sun, 31 May 2026 00:44:19 +0900 Subject: [PATCH] fix(skills): avoid raw Bun serve in bundle --- .../opencode-runtime-skills/source-server.ts | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/features/opencode-runtime-skills/source-server.ts b/src/features/opencode-runtime-skills/source-server.ts index 6a5ef7e4e..939b2b71e 100644 --- a/src/features/opencode-runtime-skills/source-server.ts +++ b/src/features/opencode-runtime-skills/source-server.ts @@ -5,6 +5,21 @@ export type RuntimeSkillSourceServer = { readonly stop: () => void } +type BunServeServer = { + readonly url: URL + stop(closeActiveConnections?: boolean): void +} + +type BunServeRuntime = { + serve(options: { + readonly hostname: string + readonly port: number + readonly fetch: (request: Request) => Response | Promise + }): BunServeServer +} + +const runtime = globalThis as typeof globalThis & { Bun?: BunServeRuntime } + function jsonResponse(body: unknown): Response { return Response.json(body, { headers: { @@ -35,7 +50,12 @@ export function createRuntimeSkillSourceServer(options: { })), } - const server = Bun.serve({ + const bun = runtime.Bun + if (!bun) { + throw new Error("Runtime skill source server requires Bun.serve") + } + + const server = bun.serve({ hostname: "127.0.0.1", port: 0, fetch(request) {