From ac3da518907df35f73b8bf1151c272d50e7e4466 Mon Sep 17 00:00:00 2001 From: icarus Date: Thu, 18 Sep 2025 12:46:45 +0800 Subject: [PATCH] refactor(types): replace AgentConfiguration interface with zod schema Use zod schema for better type safety and validation capabilities --- src/renderer/src/types/agent.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/types/agent.ts b/src/renderer/src/types/agent.ts index 1f55f6a9e5..d86126f89e 100644 --- a/src/renderer/src/types/agent.ts +++ b/src/renderer/src/types/agent.ts @@ -24,10 +24,14 @@ export interface Tool { requirePermissions?: boolean } -export interface AgentConfiguration extends Record { - permission_mode: PermissionMode // Permission mode, default to 'default' - max_turns: number // Maximum number of interaction turns, default to 10 -} +export const AgentConfigurationSchema = z + .object({ + permission_mode: PermissionModeSchema.default('default'), // Permission mode, default to 'default' + max_turns: z.number().default(10) // Maximum number of interaction turns, default to 10 + }) + .loose() + +export type AgentConfiguration = z.infer // Shared configuration interface for both agents and sessions export interface AgentBase {