feat(athena-junior): add athena_council bulk launch tool
- Create src/tools/athena-council/ with council-launcher, tool factory, types - Launch all council members in parallel via BackgroundManager with writeOutputToFile: true - Wire tool into registry with backgroundManager + councilConfig dependencies - Grant athena-junior athena_council permission, remove task permission - Update non-interactive prompt to use athena_council instead of task tool - Add explicit stop-after-result instruction to prevent post-output text - 23 tests (14 tool + 9 launcher) using real temp files, no mock.module
This commit is contained in:
@@ -30,6 +30,7 @@ import {
|
||||
createTaskUpdateTool,
|
||||
createHashlineEditTool,
|
||||
createPrepareCouncilPromptTool,
|
||||
createAthenaCouncilTool,
|
||||
} from "../tools"
|
||||
import { createCouncilFinalize } from "../tools/council-archive"
|
||||
import { getMainSessionID } from "../features/claude-code-session-state"
|
||||
@@ -282,6 +283,10 @@ export function createToolRegistry(args: {
|
||||
...hashlineToolsRecord,
|
||||
prepare_council_prompt: createPrepareCouncilPromptTool(ctx.directory),
|
||||
council_finalize: createCouncilFinalize(ctx.directory),
|
||||
athena_council: createAthenaCouncilTool({
|
||||
backgroundManager: managers.backgroundManager,
|
||||
councilConfig: pluginConfig.agents?.athena?.council,
|
||||
}),
|
||||
}
|
||||
|
||||
for (const toolDefinition of Object.values(allTools)) {
|
||||
|
||||
Reference in New Issue
Block a user