From c68607fb2bfdcfb09ba5cd9f339e2c86f2e27c0c Mon Sep 17 00:00:00 2001 From: Brandon <37277901+brandonwisnicki@users.noreply.github.com> Date: Thu, 30 Oct 2025 13:15:21 -0400 Subject: [PATCH] feat: Adds session id to Agent context metadata (#3559) Co-authored-by: Brandon Wisnicki --- packages/opencode/src/tool/task.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/opencode/src/tool/task.ts b/packages/opencode/src/tool/task.ts index 830c298a..342645c3 100644 --- a/packages/opencode/src/tool/task.ts +++ b/packages/opencode/src/tool/task.ts @@ -33,6 +33,14 @@ export const TaskTool = Tool.define("task", async () => { }) const msg = await Session.getMessage({ sessionID: ctx.sessionID, messageID: ctx.messageID }) if (msg.info.role !== "assistant") throw new Error("Not an assistant message") + + ctx.metadata({ + title: params.description, + metadata: { + sessionId: session.id, + }, + }) + const messageID = Identifier.ascending("message") const parts: Record = {} const unsub = Bus.subscribe(MessageV2.Event.PartUpdated, async (evt) => { @@ -44,6 +52,7 @@ export const TaskTool = Tool.define("task", async () => { title: params.description, metadata: { summary: Object.values(parts).sort((a, b) => a.id?.localeCompare(b.id)), + sessionId: session.id, }, }) }) @@ -87,6 +96,7 @@ export const TaskTool = Tool.define("task", async () => { title: params.description, metadata: { summary: all, + sessionId: session.id, }, output: (result.parts.findLast((x: any) => x.type === "text") as any)?.text ?? "", }