summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-19 13:00:45 -0400
committerDax Raad <[email protected]>2025-06-19 13:00:57 -0400
commit97c4815444a055e3439f027a2ffd5a0a49df31e3 (patch)
tree4bf447ec182c089915d787a964e2f141a76b2d79
parent7d1a1663c8342cdcdfccfa78c897b6a42dba06f7 (diff)
downloadopencode-97c4815444a055e3439f027a2ffd5a0a49df31e3.tar.gz
opencode-97c4815444a055e3439f027a2ffd5a0a49df31e3.zip
fix task agent performance issues
-rw-r--r--packages/opencode/src/session/index.ts3
-rw-r--r--packages/opencode/src/tool/task.ts5
2 files changed, 6 insertions, 2 deletions
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts
index 199d1d9a8..01f126803 100644
--- a/packages/opencode/src/session/index.ts
+++ b/packages/opencode/src/session/index.ts
@@ -584,7 +584,7 @@ export namespace Session {
break
case "tool-call-delta":
- break
+ continue
// for some reason ai sdk claims to not send this part but it does
// @ts-expect-error
@@ -619,6 +619,7 @@ export namespace Session {
l.info("unhandled", {
type: value.type,
})
+ continue
}
await updateMessage(next)
}
diff --git a/packages/opencode/src/tool/task.ts b/packages/opencode/src/tool/task.ts
index a0cab347a..2796d0fec 100644
--- a/packages/opencode/src/tool/task.ts
+++ b/packages/opencode/src/tool/task.ts
@@ -34,13 +34,16 @@ export const TaskTool = Tool.define({
}
const unsub = Bus.subscribe(Message.Event.Updated, async (evt) => {
- if (evt.properties.info.metadata.sessionID !== ctx.sessionID) return
+ if (evt.properties.info.metadata.sessionID !== session.id) return
ctx.metadata({
title: params.description,
summary: summary(evt.properties.info),
})
})
+ ctx.abort.addEventListener("abort", () => {
+ Session.abort(session.id)
+ })
const result = await Session.chat({
sessionID: session.id,
modelID: metadata.modelID,