fix(athena): provider-aware config + better council error messages

Use parsed.providerID/modelID in council member description instead of
raw model string (eliminates dead variable). Track skipped members with
reasons and surface them in the missing-council guard prompt so users
see why their council failed to register.
This commit is contained in:
ismeth
2026-02-20 14:40:44 +01:00
committed by YeonGyu-Kim
parent e79f374ea5
commit 4ca623c29c
3 changed files with 32 additions and 14 deletions
+4 -4
View File
@@ -188,8 +188,8 @@ export async function createBuiltinAgents(
result["atlas"] = atlasConfig
}
if (councilConfig && councilConfig.members.length >= 2 && result["athena"]) {
const { agents: councilAgents, registeredKeys } = registerCouncilMemberAgents(councilConfig)
if (councilConfig?.members && councilConfig.members.length >= 2 && result["athena"]) {
const { agents: councilAgents, registeredKeys, skippedMembers } = registerCouncilMemberAgents(councilConfig)
for (const [key, config] of Object.entries(councilAgents)) {
result[key] = config
}
@@ -202,9 +202,9 @@ export async function createBuiltinAgents(
prompt: (result["athena"].prompt ?? "") + councilTaskInstructions,
}
} else {
result["athena"] = appendMissingCouncilPrompt(result["athena"])
result["athena"] = appendMissingCouncilPrompt(result["athena"], skippedMembers)
}
} else if (councilConfig && councilConfig.members.length >= 2 && !result["athena"]) {
} else if (councilConfig?.members && councilConfig.members.length >= 2 && !result["athena"]) {
log("[builtin-agents] Skipping council member registration — Athena is disabled")
} else if (result["athena"]) {
result["athena"] = appendMissingCouncilPrompt(result["athena"])