fix(athena): guide callers to background_wait when athena-junior is force-backgrounded

When athena-junior is force-backgrounded (caller passed run_in_background=false),
the response now instructs the caller to use background_wait instead of
background_output, preventing repeated polling loops.
This commit is contained in:
ismeth
2026-03-03 18:17:24 +01:00
committed by YeonGyu-Kim
parent 513a5c90b1
commit 4d3cbda8ce
2 changed files with 12 additions and 4 deletions
+10 -3
View File
@@ -799,7 +799,11 @@ describe("sisyphus-task", () => {
)
//#then — should be forced to background despite run_in_background=false
expect(String(result)).toContain("Background task launched")
const resultStr = String(result)
expect(resultStr).toContain("Background task launched")
expect(resultStr).toContain("background_wait")
expect(resultStr).toContain("automatically backgrounded")
expect(resultStr).not.toContain("System notifies on completion")
}, { timeout: 10000 })
test("athena-junior with run_in_background=true still runs in background normally", async () => {
@@ -857,8 +861,11 @@ describe("sisyphus-task", () => {
toolContext
)
//#then — should still be background
expect(String(result)).toContain("Background task launched")
//#then — should still be background but with normal (non-forced) message
const resultStr = String(result)
expect(resultStr).toContain("Background task launched")
expect(resultStr).toContain("System notifies on completion")
expect(resultStr).not.toContain("automatically backgrounded")
}, { timeout: 10000 })
})
+2 -1
View File
@@ -263,7 +263,8 @@ export function createDelegateTask(options: DelegateTaskToolOptions): ToolDefini
})
if (effectiveRunInBackground) {
return executeBackgroundTask(args, ctx, options, parentContext, agentToUse, categoryModel, systemContent, fallbackChain)
const wasForced = isAthenaJunior && !runInBackground
return executeBackgroundTask(args, ctx, options, parentContext, agentToUse, categoryModel, systemContent, fallbackChain, wasForced)
}
return executeSyncTask(args, ctx, options, parentContext, agentToUse, categoryModel, systemContent, modelInfo, fallbackChain)