26 lines · 1.2 KB · TypeScript
RawDownload
// Regenerates src/sdk/call-tool-result-schema.gen.ts from the installed// @modelcontextprotocol/core. The schema is baked into a generated file so// the runtime never imports the core package (importing it costs ~8.6MB of// heap per Cloudflare isolate; see client-module.ts). Run after bumping the// core dependency://   bun scripts/gen-call-tool-result-schema.ts// call-tool-result-schema.test.ts fails if the generated copy drifts from the// installed package.import { writeFileSync } from "node:fs";import { resolve } from "node:path"; import { CallToolResultSchema } from "@modelcontextprotocol/core"; const schema = CallToolResultSchema.toJSONSchema();const target = resolve(import.meta.dir, "../src/sdk/call-tool-result-schema.gen.ts"); writeFileSync(  target,  `// Generated by scripts/gen-call-tool-result-schema.ts — do not edit.// JSON Schema of @modelcontextprotocol/core's CallToolResultSchema, baked in// so the runtime never pays the core package's module-eval cost (see// client-module.ts). call-tool-result-schema.test.ts guards drift.export const callToolResultJsonSchema = ${JSON.stringify(schema, null, 2)} as const;`,);console.log(`wrote ${target}`);