From f179d469fad973eb3a6b19d1038f7f5f5984f339 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Fri, 9 Jan 2026 00:25:58 +0900 Subject: [PATCH] fix(sisyphus-task): use ctx.agent directly for parentAgent The tool context already provides the agent name via ctx.agent. The previous SDK session.messages lookup was completely wrong - SDK messages don't store agent info per message. Removes useless getParentAgentFromSdk function. --- src/tools/sisyphus-task/tools.ts | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/tools/sisyphus-task/tools.ts b/src/tools/sisyphus-task/tools.ts index f7d38eaed..7d988fad3 100644 --- a/src/tools/sisyphus-task/tools.ts +++ b/src/tools/sisyphus-task/tools.ts @@ -38,19 +38,6 @@ function getMessageDir(sessionID: string): string | null { return null } -async function getParentAgentFromSdk(client: OpencodeClient, sessionID: string): Promise { - try { - const messagesResp = await client.session.messages({ path: { id: sessionID } }) - const messages = (messagesResp.data ?? []) as Array<{ info?: { agent?: string } }> - for (let i = messages.length - 1; i >= 0; i--) { - if (messages[i].info?.agent) { - return messages[i].info?.agent - } - } - } catch {} - return undefined -} - function formatDuration(start: Date, end?: Date): string { const duration = (end ?? new Date()).getTime() - start.getTime() const seconds = Math.floor(duration / 1000) @@ -157,10 +144,9 @@ export function createSisyphusTask(options: SisyphusTaskToolOptions): ToolDefini skillContent = Array.from(resolved.values()).join("\n\n") } - const sdkParentAgent = await getParentAgentFromSdk(client, ctx.sessionID) const messageDir = getMessageDir(ctx.sessionID) const prevMessage = messageDir ? findNearestMessageWithFields(messageDir) : null - const parentAgent = sdkParentAgent ?? prevMessage?.agent + const parentAgent = ctx.agent ?? prevMessage?.agent const parentModel = prevMessage?.model?.providerID && prevMessage?.model?.modelID ? { providerID: prevMessage.model.providerID, modelID: prevMessage.model.modelID } : undefined