From f2db3db6b6f37e7af765c9185c9fcf8b048fc802 Mon Sep 17 00:00:00 2001 From: "Fahim H." Date: Wed, 1 Apr 2026 19:31:44 -0400 Subject: [PATCH 1/3] fix type mismatch --- packages/daemon/src/opencode.ts | 12 +++++++----- packages/daemon/src/server.ts | 8 ++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/daemon/src/opencode.ts b/packages/daemon/src/opencode.ts index 599b773..c71a647 100644 --- a/packages/daemon/src/opencode.ts +++ b/packages/daemon/src/opencode.ts @@ -10,7 +10,7 @@ export interface OpencodeSessionClient { create(parameters: { directory?: string; title?: string; - }): Promise<{ data: Session }>; + }): Promise; prompt(parameters: { sessionID: string; directory?: string; @@ -22,7 +22,7 @@ export interface OpencodeSessionClient { system?: string; variant?: string; parts?: Array; - }): Promise<{ data: { info: AssistantMessage; parts: Part[] } }>; + }): Promise<{ info: AssistantMessage; parts: Part[] }>; abort(parameters: { sessionID: string; directory?: string; @@ -70,7 +70,7 @@ export class OpencodeRegistry implements OpencodeRuntimeManager { return entry.starting; } - const starting = createOpencode().then(({ client, server }) => { + const starting = createOpencode().then(async ({ client, server }) => { const runtime: ManagedOpencodeRuntime = { client: { instance: { @@ -78,16 +78,18 @@ export class OpencodeRegistry implements OpencodeRuntimeManager { }, session: { create: async (parameters) => { - return await client.session.create(parameters, { + const res = await client.session.create(parameters, { throwOnError: true, responseStyle: "data", }); + return res as unknown as Session; }, prompt: async (parameters) => { - return await client.session.prompt(parameters, { + const res = await client.session.prompt(parameters, { throwOnError: true, responseStyle: "data", }); + return res as unknown as { info: AssistantMessage; parts: Part[] }; }, abort: (parameters) => client.session.abort(parameters, { diff --git a/packages/daemon/src/server.ts b/packages/daemon/src/server.ts index 0560a4a..a04ce65 100644 --- a/packages/daemon/src/server.ts +++ b/packages/daemon/src/server.ts @@ -538,8 +538,8 @@ export class Daemon { variant: job.task.variant, parts: [{ type: "text", text: job.task.prompt }], }); - job.messageId = response.data.info.id; - job.outputText = extractText(response.data.parts); + job.messageId = response.info.id; + job.outputText = extractText(response.parts); job.error = undefined; job.state = controller.signal.aborted ? "cancelled" : "succeeded"; break; @@ -575,10 +575,10 @@ export class Daemon { directory: instance.directory, title: job.session.title, }); - job.sessionId = session.data.id; + job.sessionId = session.id; this.state = this.store.upsertJob(this.state, job); await this.store.save(this.state); - return session.data.id; + return session.id; } private async startInstance(instanceId: string): Promise { From 79b2b7ff841873096e0ce854220e026bc750a0be Mon Sep 17 00:00:00 2001 From: Chenxin Yan Date: Thu, 2 Apr 2026 17:09:17 -0400 Subject: [PATCH 2/3] lint --- packages/daemon/src/opencode.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/daemon/src/opencode.ts b/packages/daemon/src/opencode.ts index c71a647..641dddf 100644 --- a/packages/daemon/src/opencode.ts +++ b/packages/daemon/src/opencode.ts @@ -7,10 +7,7 @@ import { } from "@opencode-ai/sdk/v2"; export interface OpencodeSessionClient { - create(parameters: { - directory?: string; - title?: string; - }): Promise; + create(parameters: { directory?: string; title?: string }): Promise; prompt(parameters: { sessionID: string; directory?: string; @@ -89,7 +86,10 @@ export class OpencodeRegistry implements OpencodeRuntimeManager { throwOnError: true, responseStyle: "data", }); - return res as unknown as { info: AssistantMessage; parts: Part[] }; + return res as unknown as { + info: AssistantMessage; + parts: Part[]; + }; }, abort: (parameters) => client.session.abort(parameters, { From 97b98b219ed71184fb861ec7d5304f8bf9fd6def Mon Sep 17 00:00:00 2001 From: "Fahim H." Date: Mon, 6 Apr 2026 00:30:37 -0400 Subject: [PATCH 3/3] fix type error in daemon tests --- packages/daemon/src/__tests__/helpers.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/daemon/src/__tests__/helpers.ts b/packages/daemon/src/__tests__/helpers.ts index 3ebd06f..e26073a 100644 --- a/packages/daemon/src/__tests__/helpers.ts +++ b/packages/daemon/src/__tests__/helpers.ts @@ -78,7 +78,7 @@ export class FakeOpencodeRegistry implements OpencodeRuntimeManager { session: { create: async () => { const id = `session-${instanceId}-${this.sessionSequence++}`; - return { data: fakeSession({ id }) }; + return fakeSession({ id }); }, prompt: async (parameters) => { const sessionId = parameters.sessionID; @@ -111,10 +111,8 @@ export class FakeOpencodeRegistry implements OpencodeRuntimeManager { } const messageId = `message-${this.messageSequence++}`; return { - data: { - info: fakeAssistantMessage({ id: messageId }), - parts: [fakeTextPart({ text: `reply:${prompt}` })], - }, + info: fakeAssistantMessage({ id: messageId }), + parts: [fakeTextPart({ text: `reply:${prompt}` })], }; } finally { this.activeByInstance.set(instanceId, active - 1);