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}
/>
);
}