import type z from 'zod';

export type AgentContext = {
  chatModel?: { providerId: string; key: string };
  chatHistory?: [string, string][];
};

export type ToolDef = {
  name: string;
  description: string;
  schema: z.ZodObject<Record<string, z.ZodTypeAny>>;
  execute: (params: Record<string, unknown>, ctx?: AgentContext) => Promise<string>;
};
