fix(athena): resolve 4 compatibility and correctness issues

- Use case-insensitive casing in duplicate name test to verify actual logic
- Align permission type with SDK AgentConfig pattern (as AgentConfig["permission"])
- Move duplicate-name validation from schema to runtime for graceful fallback
- Place skipped members details before 'end your turn' in council guard prompt
This commit is contained in:
ismeth
2026-02-20 20:13:02 +01:00
committed by YeonGyu-Kim
parent 0205601b6c
commit 15b2fe2534
5 changed files with 20 additions and 21 deletions
+1 -7
View File
@@ -20,13 +20,7 @@ export const CouncilMemberSchema = z.object({
}).strict()
export const CouncilConfigSchema = z.object({
members: z.array(CouncilMemberSchema).min(2).refine(
(members) => {
const names = members.map(m => m.name.toLowerCase())
return new Set(names).size === names.length
},
{ message: "Council member names must be unique (case-insensitive)" },
),
members: z.array(CouncilMemberSchema).min(2),
}).strict()
export type CouncilMemberConfig = z.infer<typeof CouncilMemberSchema>