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:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user