feat(athena): add background_wait tool for race-style task collection

New tool that takes multiple task IDs and blocks until ANY one completes (Promise.race pattern). Returns the completed task's result plus a progress summary with remaining IDs. Enables Athena to show incremental council progress without polling.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
ismeth
2026-02-19 01:32:30 +01:00
committed by YeonGyu-Kim
parent 5c1601b59f
commit 30d33ccced
5 changed files with 132 additions and 0 deletions
+2
View File
@@ -25,6 +25,7 @@ export { createSkillMcpTool } from "./skill-mcp"
import {
createBackgroundOutput,
createBackgroundCancel,
createBackgroundWait,
type BackgroundOutputManager,
type BackgroundCancelClient,
} from "./background-task"
@@ -53,6 +54,7 @@ export function createBackgroundTools(manager: BackgroundManager, client: Openco
return {
background_output: createBackgroundOutput(outputManager, client),
background_cancel: createBackgroundCancel(manager, cancelClient),
background_wait: createBackgroundWait(outputManager, client),
}
}