import { For, List, refkey } from "@alloy-js/core"; import { ObjectExpression, ObjectProperty, VarDeclaration } from "@alloy-js/typescript"; import { useTsp } from "@typespec/emitter-framework"; import { ZodSchema, ZodSchemaDeclaration } from "typespec-zod"; import { useMCPServerContext } from "../context/McpServer.js"; import type { ToolDescriptor } from "../context/utils/tool-descriptor.js"; import { getPlausibleName } from "../utils.js"; export function ZodTypes() { const { tools, allTypes } = useMCPServerContext(); const { program } = useTsp(); return ( {(type) => { const rk = refkey(type, "zodSchema"); const name = getPlausibleName(program, type); return ; }} {(tool) => ( } /> )} ); } interface ToolZodSchemaProps { tool: ToolDescriptor; } function ToolZodSchema(props: ToolZodSchemaProps) { const parametersRk = props.tool.keys.zodParametersSchema; const returnTypeRk = props.tool.keys.zodReturnSchema; return ( } refkey={parametersRk} /> } refkey={returnTypeRk} /> ); }