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:
@@ -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 })
|
||||
})
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user