import { z } from "zod"; import type { StandardSchemaV1, InferSchemaOutput } from "@copilotkit/shared"; import type { VueToolCallRenderer } from "./vue-tool-call-renderer"; import type { VueToolCallRendererRenderFn } from "./vue-tool-call-renderer"; export function defineToolCallRenderer(def: { name: "*"; render: VueToolCallRendererRenderFn; agentId?: string; }): VueToolCallRenderer; export function defineToolCallRenderer(def: { name: string; args: S; render: VueToolCallRendererRenderFn>; agentId?: string; }): VueToolCallRenderer>; export function defineToolCallRenderer(def: { name: string; args?: S; render: VueToolCallRendererRenderFn; agentId?: string; }): VueToolCallRenderer { const argsSchema = def.name === "*" && !def.args ? z.any() : def.args; return { name: def.name, args: argsSchema as StandardSchemaV1, render: def.render as VueToolCallRenderer["render"], ...(def.agentId ? { agentId: def.agentId } : {}), }; }