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
|
//#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 })
|
}, { timeout: 10000 })
|
||||||
|
|
||||||
test("athena-junior with run_in_background=true still runs in background normally", async () => {
|
test("athena-junior with run_in_background=true still runs in background normally", async () => {
|
||||||
@@ -857,8 +861,11 @@ describe("sisyphus-task", () => {
|
|||||||
toolContext
|
toolContext
|
||||||
)
|
)
|
||||||
|
|
||||||
//#then — should still be background
|
//#then — should still be background but with normal (non-forced) message
|
||||||
expect(String(result)).toContain("Background task launched")
|
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 })
|
}, { timeout: 10000 })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -263,7 +263,8 @@ export function createDelegateTask(options: DelegateTaskToolOptions): ToolDefini
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (effectiveRunInBackground) {
|
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)
|
return executeSyncTask(args, ctx, options, parentContext, agentToUse, categoryModel, systemContent, modelInfo, fallbackChain)
|
||||||
|
|||||||
Reference in New Issue
Block a user