feat(02-02): add council orchestrator and result collector
- Implement executeCouncil with parallel member launch and partial-failure tolerance - Add result collection mapping and wire Athena exports with read-only athena tool restrictions
This commit is contained in:
@@ -6,6 +6,8 @@ import { stripInvisibleAgentCharacters } from "./agent-display-names"
|
||||
* true = tool allowed, false = tool denied.
|
||||
*/
|
||||
|
||||
import { createAgentToolRestrictions } from "./permission-compat"
|
||||
|
||||
const EXPLORATION_AGENT_DENYLIST: Record<string, boolean> = {
|
||||
write: false,
|
||||
edit: false,
|
||||
@@ -13,6 +15,10 @@ const EXPLORATION_AGENT_DENYLIST: Record<string, boolean> = {
|
||||
call_omo_agent: false,
|
||||
}
|
||||
|
||||
const ATHENA_RESTRICTIONS = permissionToToolBooleans(
|
||||
createAgentToolRestrictions(["write", "edit", "task"]).permission
|
||||
)
|
||||
|
||||
const AGENT_RESTRICTIONS: Record<string, Record<string, boolean>> = {
|
||||
explore: EXPLORATION_AGENT_DENYLIST,
|
||||
|
||||
@@ -44,6 +50,16 @@ const AGENT_RESTRICTIONS: Record<string, Record<string, boolean>> = {
|
||||
"sisyphus-junior": {
|
||||
task: false,
|
||||
},
|
||||
|
||||
athena: ATHENA_RESTRICTIONS,
|
||||
}
|
||||
|
||||
function permissionToToolBooleans(
|
||||
permission: Record<string, "ask" | "allow" | "deny">
|
||||
): Record<string, boolean> {
|
||||
return Object.fromEntries(
|
||||
Object.entries(permission).map(([tool, value]) => [tool, value === "allow"])
|
||||
)
|
||||
}
|
||||
|
||||
export function getAgentToolRestrictions(agentName: string): Record<string, boolean> {
|
||||
|
||||
Reference in New Issue
Block a user