import { createNamePolicy, type NamePolicy } from "@alloy-js/core"; import { createTSNamePolicy, type TypeScriptElements } from "@alloy-js/typescript"; import { snakeCase } from "change-case"; export type McpElements = "tool" | TypeScriptElements; export function createMcpNamingPolicy(): NamePolicy { const tsNamingPolicy = createTSNamePolicy(); return createNamePolicy((name, element) => { switch (element) { case "tool": return snakeCase(name); default: return tsNamingPolicy.getName(name, element); } }); }