archgen-skill 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/node_modules/archgen-mcp/README.md +131 -0
- package/lib/node_modules/archgen-mcp/assets/briefs/investigate.md +21 -0
- package/lib/node_modules/archgen-mcp/assets/briefs/review.md +47 -0
- package/lib/node_modules/archgen-mcp/assets/briefs/survey.md +19 -0
- package/lib/node_modules/archgen-mcp/assets/briefs/verifier.md +56 -0
- package/lib/node_modules/archgen-mcp/assets/depth-ladder.json +90 -0
- package/lib/node_modules/archgen-mcp/assets/harness-mcp.json +398 -0
- package/lib/node_modules/archgen-mcp/assets/mcp-template.json +45 -0
- package/lib/node_modules/archgen-mcp/assets/platform-capabilities.json +579 -0
- package/lib/node_modules/archgen-mcp/assets/references/artifact-templates.md +120 -0
- package/lib/node_modules/archgen-mcp/assets/references/interview.md +161 -0
- package/lib/node_modules/archgen-mcp/assets/references/mcp-and-skills.md +62 -0
- package/lib/node_modules/archgen-mcp/assets/references/orchestration.md +149 -0
- package/lib/node_modules/archgen-mcp/assets/references/platforms.md +81 -0
- package/lib/node_modules/archgen-mcp/assets/skill-registry.json +128 -0
- package/lib/node_modules/archgen-mcp/assets/templates/adr.md +8 -0
- package/lib/node_modules/archgen-mcp/assets/templates/architecture.yaml +61 -0
- package/lib/node_modules/archgen-mcp/assets/templates/edge-matrix.md +8 -0
- package/lib/node_modules/archgen-mcp/assets/templates/mermaid.md +40 -0
- package/lib/node_modules/archgen-mcp/assets/templates/prd.md +31 -0
- package/lib/node_modules/archgen-mcp/assets/templates/tasks.yaml +47 -0
- package/lib/node_modules/archgen-mcp/bin/archgen-mcp.mjs +35 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/LICENSE +216 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/README.md +40 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-B7cIpDZF.d.mts +293 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-B7cIpDZF.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-CV4m0LEJ.cjs +294 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-CV4m0LEJ.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-CmOFayUJ.d.cts +293 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-CmOFayUJ.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-UMQCo-ad.mjs +209 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/auth-UMQCo-ad.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.cjs +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.d.cts +316 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.d.mts +316 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.mjs +94 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/ext/skills/index.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/index.cjs +176 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/index.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/index.d.mts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/index.mjs +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/internal.cjs +202 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +100 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/internal.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +100 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/internal.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/internal.mjs +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-CzwpZ9-S.d.cts +8219 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-CzwpZ9-S.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-DBHuY3cl.d.mts +8219 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-DBHuY3cl.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-DscsoNZN.mjs +1476 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-DscsoNZN.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-lGLjBX8n.cjs +2619 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/dist/schemas-lGLjBX8n.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/core/package.json +98 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/LICENSE +216 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/README.md +24 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-B7XXxEF7.d.mts +1071 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-B7XXxEF7.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-D4aTKfX2.d.cts +1071 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-D4aTKfX2.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-DPYcD0gV.cjs +8027 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-DPYcD0gV.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-DyjnscPj.mjs +8010 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ajvProvider-DyjnscPj.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-B9jJP0v5.d.cts +74 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-B9jJP0v5.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-Bxo2L8Ch.d.mts +74 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-Bxo2L8Ch.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-QxAbCgU1.cjs +986 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-QxAbCgU1.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-hgYAfIZf.mjs +981 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/cfWorkerProvider-hgYAfIZf.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/chunk-Bnu9O96Y.cjs +60 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/chunk-vYduTEsO.mjs +42 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CadSHsnp.d.cts +498 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CadSHsnp.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DzlXH0KL.d.mts +498 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DzlXH0KL.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/dialects-CDpMbily.mjs +34 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/dialects-CDpMbily.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/dialects-D8eXzoGv.cjs +46 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/dialects-D8eXzoGv.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.cjs +70 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.d.cts +42 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.d.mts +42 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.mjs +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/index.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.cjs +78 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.d.cts +30 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.d.mts +30 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.mjs +75 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/ext/skills/node.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-B1GvIBnG.d.mts +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-B1GvIBnG.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-B6_E7IiR.d.cts +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-B6_E7IiR.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-Co9uP6Ds.cjs +1576 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-Co9uP6Ds.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-Pm4HwRE6.mjs +1528 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/extension-Pm4HwRE6.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.cjs +1766 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.d.cts +811 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.d.mts +811 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.mjs +1578 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/listenRouter-Bartj63y.mjs +426 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/listenRouter-Bartj63y.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/listenRouter-Dcw_aIh6.cjs +457 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/listenRouter-Dcw_aIh6.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-BCJHyo7l.d.mts +3682 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-BCJHyo7l.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-DbUPMDd5.d.cts +3684 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-DbUPMDd5.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-oHn3ureC.mjs +2166 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-oHn3ureC.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-uPg2RfP3.cjs +2293 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/mcp-uPg2RfP3.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.cjs +23 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.cts +11 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.mts +11 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.mjs +22 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsBrowser.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsNode.cjs +12 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsNode.d.mts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsNode.mjs +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +30 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.cts +10 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.mts +10 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/src-BvE2tDzk.cjs +8223 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/src-BvE2tDzk.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/src-DdvbAHrR.mjs +7713 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/src-DdvbAHrR.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +592 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.cjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +590 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/stdio.mjs.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/types-DDiDRBhz.d.mts +1099 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/types-DDiDRBhz.d.mts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/types-DqbrgVmG.d.cts +1099 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/types-DqbrgVmG.d.cts.map +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/ajv.cjs +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.cts +2 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/ajv.d.mts +2 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/ajv.mjs +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.cjs +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.cts +2 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.d.mts +2 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/dist/validators/cfWorker.mjs +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/@modelcontextprotocol/server/package.json +186 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/LICENSE +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/README.md +218 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/compile.cjs +96 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/compile.d.cts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/compile.d.ts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/compile.js +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/index.cjs +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/index.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/index.d.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/index.js +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/locales/index.cjs +36 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/locales/index.d.cts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/locales/index.d.ts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/locales/index.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/locales/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/mini/index.cjs +51 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/mini/index.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/mini/index.d.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/mini/index.js +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/mini/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/package.json +147 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/compile.ts +56 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/index.ts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/locales/index.ts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/mini/index.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/ZodError.ts +340 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/errors.ts +13 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/external.ts +6 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/index.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/error.test.ts +586 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/intersection.test.ts +128 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/language-server.test.ts +206 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/object.test.ts +431 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/readonly.test.ts +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/string.test.ts +922 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v3/types.ts +5138 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/checks.ts +33 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/compat.ts +78 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/errors.ts +97 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/external.ts +57 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/from-json-schema.ts +944 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/iso.ts +20 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/parse.ts +88 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/schemas.ts +2937 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/apply.test.ts +86 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/array.test.ts +291 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/assignability.test.ts +402 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/bigint.test.ts +89 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/catch.test.ts +604 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +572 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/codec.test.ts +704 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/date.test.ts +92 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/datetime.test.ts +316 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/default.test.ts +455 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +221 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +942 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/enum.test.ts +305 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +917 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/error.test.ts +1108 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +1467 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/function.test.ts +391 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/global-config.test.ts +32 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/hash.test.ts +67 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/index.test.ts +958 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +127 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/intersection.test.ts +334 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +39 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/lazy.test.ts +262 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/literal.test.ts +128 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/map.test.ts +349 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/number.test.ts +401 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/object.test.ts +1006 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/optional.test.ts +366 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/partial.test.ts +497 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/prefault.test.ts +144 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +44 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/readonly.test.ts +184 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/record.test.ts +885 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +707 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/refine.test.ts +693 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/set.test.ts +196 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +153 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/string.test.ts +1440 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +812 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +4733 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/tuple.test.ts +511 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/union.test.ts +310 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/api.ts +1875 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/checks.ts +1266 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/compile.ts +2322 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/core.ts +230 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/doc.ts +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/errors.ts +543 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/index.ts +19 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/json-schema-generator.ts +131 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/json-schema-processors.ts +934 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/json-schema.ts +148 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/memoizer.ts +331 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/parse.ts +309 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/regexes.ts +217 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/schemas.ts +5226 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/el.test.ts +214 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/es.test.ts +180 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/to-json-schema.ts +857 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/util.ts +1293 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/index.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ar.ts +120 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/az.ts +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/be.ts +188 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/bg.ts +133 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/bn.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ca.ts +121 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ckb.ts +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/cs.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/da.ts +128 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/de.ts +121 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/el.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/en.ts +136 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/eo.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/es.ts +145 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/fa.ts +131 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/fi.ts +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/fr-CA.ts +121 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/fr.ts +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/gu.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/he.ts +253 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/hi.ts +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/hr.ts +135 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/hu.ts +122 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/hy.ts +175 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/id.ts +120 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/index.ts +63 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/is.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/it.ts +121 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ja.ts +119 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ka.ts +128 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/km.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/kn.ts +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ko.ts +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/lt.ts +243 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/mk.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ms.ts +120 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ne.ts +128 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/nl.ts +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/nn.ts +121 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/no.ts +121 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ota.ts +122 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/pl.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ps.ts +131 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/pt.ts +159 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ro.ts +132 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ru.ts +188 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/sk.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/sl.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/sv.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ta.ts +123 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/th.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/tk.ts +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/tr.ts +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/uk.ts +122 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/ur.ts +124 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/uz.ts +120 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/vi.ts +122 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/yo.ts +129 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/zh-CN.ts +121 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/locales/zh-TW.ts +120 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/checks.ts +33 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/external.ts +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/parse.ts +16 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/schemas.ts +2051 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/apply.test.ts +57 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/assignability.test.ts +190 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/checks.test.ts +158 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/codec.test.ts +582 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/computed.test.ts +30 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/error.test.ts +41 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/functions.test.ts +14 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/index.test.ts +1146 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/number.test.ts +109 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/object.test.ts +292 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +341 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4/mini/tests/string.test.ts +396 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/ZodError.cjs +167 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/ZodError.js +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/errors.cjs +36 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/errors.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/errors.d.ts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/errors.js +9 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/external.cjs +41 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/external.d.cts +6 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/external.d.ts +6 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/external.js +6 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/enumUtil.cjs +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/errorUtil.cjs +28 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/parseUtil.cjs +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/partialUtil.cjs +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/typeAliases.cjs +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/util.cjs +156 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/helpers/util.js +133 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/index.cjs +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/index.d.cts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/index.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/index.js +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/locales/en.cjs +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/locales/en.js +109 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/standard-schema.cjs +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/standard-schema.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/types.cjs +3798 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/types.d.cts +1034 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/types.d.ts +1034 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v3/types.js +3697 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/checks.cjs +53 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/checks.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/coerce.cjs +66 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/coerce.js +17 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/compat.cjs +80 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/compat.d.cts +48 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/compat.d.ts +48 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/compat.js +31 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/errors.cjs +102 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/errors.d.cts +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/errors.d.ts +29 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/errors.js +57 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/external.cjs +97 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/external.d.cts +19 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/external.d.ts +19 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/external.js +17 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/from-json-schema.cjs +926 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/from-json-schema.js +881 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/in-out.cjs +82 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/in-out.js +36 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/index.cjs +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/index.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/index.d.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/index.js +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/iso.cjs +68 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/iso.d.cts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/iso.d.ts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/iso.js +15 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/parse.cjs +63 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/parse.d.cts +44 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/parse.d.ts +44 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/parse.js +16 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/schemas.cjs +1676 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/schemas.d.cts +816 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/schemas.d.ts +816 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/classic/schemas.js +1535 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/api.cjs +1269 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/api.d.cts +335 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/api.d.ts +335 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/api.js +1107 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/checks.cjs +561 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/checks.d.cts +294 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/checks.d.ts +294 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/checks.js +516 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/compile.cjs +1916 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/compile.d.cts +65 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/compile.d.ts +65 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/compile.js +1866 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/core.cjs +167 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/core.d.cts +82 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/core.d.ts +82 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/core.js +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/doc.cjs +61 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/doc.d.cts +16 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/doc.d.ts +16 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/doc.js +38 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/errors.cjs +317 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/errors.d.cts +225 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/errors.d.ts +225 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/errors.js +267 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/index.cjs +70 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/index.d.cts +19 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/index.d.ts +19 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/index.js +19 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-generator.cjs +122 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-generator.js +99 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-processors.cjs +929 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-processors.d.cts +65 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-processors.d.ts +65 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema-processors.js +843 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema.cjs +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema.d.cts +89 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema.d.ts +89 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/json-schema.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/memoizer.cjs +360 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/memoizer.js +311 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/parse.cjs +233 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/parse.d.cts +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/parse.d.ts +52 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/parse.js +175 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/regexes.cjs +209 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/regexes.d.cts +90 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/regexes.d.ts +90 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/regexes.js +156 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/registries.cjs +75 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/registries.js +51 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/schemas.cjs +2699 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/schemas.d.cts +1275 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/schemas.d.ts +1275 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/schemas.js +2636 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/standard-schema.cjs +21 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/to-json-schema.cjs +681 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/to-json-schema.d.cts +154 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/to-json-schema.d.ts +154 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/to-json-schema.js +651 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/util.cjs +964 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/util.d.cts +280 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/util.d.ts +280 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/util.js +873 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/versions.cjs +27 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/versions.js +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/visit.cjs +214 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/core/visit.js +169 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/index.cjs +51 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/index.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/index.d.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/index.js +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ar.cjs +138 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ar.js +111 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/az.cjs +137 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/az.js +110 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/be.cjs +195 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/be.js +168 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bg.cjs +152 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bg.js +125 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bn.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/bn.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ca.cjs +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ca.js +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ckb.cjs +160 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ckb.js +133 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/cs.cjs +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/cs.js +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/da.cjs +147 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/da.js +120 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/de.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/de.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/el.cjs +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/el.js +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/en.cjs +152 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/en.js +125 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/eo.cjs +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/eo.js +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/es.cjs +163 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/es.js +136 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fa.cjs +146 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fa.js +119 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fi.cjs +144 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fi.js +117 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr-CA.cjs +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr-CA.js +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr.cjs +156 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/fr.js +129 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/gu.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/gu.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/he.cjs +248 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/he.js +221 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hi.cjs +138 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hi.js +111 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hr.cjs +153 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hr.js +126 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hu.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hu.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hy.cjs +185 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/hy.js +158 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/id.cjs +138 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/id.js +111 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/index.cjs +152 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/index.d.cts +63 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/index.d.ts +63 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/index.js +63 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/is.cjs +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/is.js +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/it.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/it.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ja.cjs +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ja.js +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ka.cjs +144 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ka.js +117 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kh.js +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/km.cjs +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/km.js +115 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kn.cjs +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/kn.js +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ko.cjs +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ko.js +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/lt.cjs +234 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/lt.js +207 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/mk.cjs +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/mk.js +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ms.cjs +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ms.js +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ne.cjs +138 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ne.js +111 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nl.cjs +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nl.js +115 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nn.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/nn.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/no.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/no.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ota.cjs +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ota.js +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pl.cjs +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pl.js +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ps.cjs +146 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ps.js +119 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt-BR.js +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt.cjs +169 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/pt.js +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ro.cjs +149 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ro.js +122 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ru.cjs +195 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ru.js +168 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sk.cjs +143 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sk.js +116 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sl.cjs +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sl.js +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sv.cjs +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/sv.js +115 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ta.cjs +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ta.js +115 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tg.js +117 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/th.cjs +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/th.js +115 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tk.cjs +134 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tk.js +107 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tr.cjs +137 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/tr.js +110 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ua.js +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uk.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uk.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ur.cjs +142 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/ur.js +115 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uz.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/uz.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/vi.cjs +140 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/vi.js +113 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/yo.cjs +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/yo.js +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-CN.cjs +141 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-CN.js +114 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-TW.cjs +139 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/locales/zh-TW.js +112 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/checks.cjs +54 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/checks.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/coerce.cjs +71 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/coerce.js +22 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/external.cjs +95 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/external.d.cts +16 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/external.d.ts +16 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/external.js +16 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/in-out.cjs +82 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/in-out.js +36 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/index.cjs +51 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/index.js +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/iso.cjs +83 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/iso.js +34 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/parse.cjs +37 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/parse.js +1 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/schemas.cjs +1147 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/schemas.d.cts +480 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/schemas.d.ts +480 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/mini/schemas.js +1002 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4/package.json +7 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4-mini/index.cjs +51 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4-mini/index.js +3 -0
- package/lib/node_modules/archgen-mcp/node_modules/zod/v4-mini/package.json +7 -0
- package/lib/node_modules/archgen-mcp/package.json +49 -0
- package/lib/node_modules/archgen-mcp/src/cli.mjs +244 -0
- package/lib/node_modules/archgen-mcp/src/context.mjs +198 -0
- package/lib/node_modules/archgen-mcp/src/core/brief-context.mjs +106 -0
- package/lib/node_modules/archgen-mcp/src/core/brief-scope.mjs +218 -0
- package/lib/node_modules/archgen-mcp/src/core/briefs.mjs +168 -0
- package/lib/node_modules/archgen-mcp/src/core/codegraph-manager.mjs +512 -0
- package/lib/node_modules/archgen-mcp/src/core/compat.mjs +187 -0
- package/lib/node_modules/archgen-mcp/src/core/doc-navigator.mjs +620 -0
- package/lib/node_modules/archgen-mcp/src/core/docs.mjs +178 -0
- package/lib/node_modules/archgen-mcp/src/core/errors.mjs +65 -0
- package/lib/node_modules/archgen-mcp/src/core/fs-safety.mjs +247 -0
- package/lib/node_modules/archgen-mcp/src/core/graph.mjs +227 -0
- package/lib/node_modules/archgen-mcp/src/core/guidance.mjs +142 -0
- package/lib/node_modules/archgen-mcp/src/core/harness-wiring.mjs +604 -0
- package/lib/node_modules/archgen-mcp/src/core/impact-analyzer.mjs +89 -0
- package/lib/node_modules/archgen-mcp/src/core/jsonc-config.mjs +706 -0
- package/lib/node_modules/archgen-mcp/src/core/mcp-server-manager.mjs +143 -0
- package/lib/node_modules/archgen-mcp/src/core/plan-coverage.mjs +69 -0
- package/lib/node_modules/archgen-mcp/src/core/plan-grapher.mjs +347 -0
- package/lib/node_modules/archgen-mcp/src/core/platform-caps.mjs +95 -0
- package/lib/node_modules/archgen-mcp/src/core/refs.mjs +184 -0
- package/lib/node_modules/archgen-mcp/src/core/registry-updater.mjs +232 -0
- package/lib/node_modules/archgen-mcp/src/core/resume-snapshot.mjs +120 -0
- package/lib/node_modules/archgen-mcp/src/core/scaffold.mjs +199 -0
- package/lib/node_modules/archgen-mcp/src/core/scope.mjs +99 -0
- package/lib/node_modules/archgen-mcp/src/core/skill-manager.mjs +479 -0
- package/lib/node_modules/archgen-mcp/src/core/skill-roots.mjs +92 -0
- package/lib/node_modules/archgen-mcp/src/core/status-mutator.mjs +121 -0
- package/lib/node_modules/archgen-mcp/src/core/tokens.mjs +78 -0
- package/lib/node_modules/archgen-mcp/src/core/validator.mjs +121 -0
- package/lib/node_modules/archgen-mcp/src/core/verifier.mjs +99 -0
- package/lib/node_modules/archgen-mcp/src/core/wave-resolver.mjs +116 -0
- package/lib/node_modules/archgen-mcp/src/core/worker-contract.mjs +298 -0
- package/lib/node_modules/archgen-mcp/src/core/yaml.mjs +517 -0
- package/lib/node_modules/archgen-mcp/src/envelope.mjs +65 -0
- package/lib/node_modules/archgen-mcp/src/server.mjs +58 -0
- package/lib/node_modules/archgen-mcp/src/tools/_register.mjs +120 -0
- package/lib/node_modules/archgen-mcp/src/tools/codegraph.mjs +53 -0
- package/lib/node_modules/archgen-mcp/src/tools/docs.mjs +113 -0
- package/lib/node_modules/archgen-mcp/src/tools/help.mjs +284 -0
- package/lib/node_modules/archgen-mcp/src/tools/plan.mjs +176 -0
- package/lib/node_modules/archgen-mcp/src/tools/refs.mjs +62 -0
- package/lib/node_modules/archgen-mcp/src/tools/registry.mjs +35 -0
- package/lib/node_modules/archgen-mcp/src/tools/setup.mjs +179 -0
- package/lib/node_modules/archgen-mcp/src/tools/skills.mjs +207 -0
- package/lib/node_modules/archgen-mcp/src/tools/tasks.mjs +206 -0
- package/lib/store.js +31 -11
- package/package.json +1 -1
- package/vendor/skills/archgen/SKILL.md +16 -12
- package/vendor/skills/archgen/archgen.config.json +1 -1
- package/vendor/skills/archgen/references/code-standards.md +24 -8
|
@@ -0,0 +1,1576 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-Bnu9O96Y.cjs');
|
|
2
|
+
const require_mcp = require('./mcp-uPg2RfP3.cjs');
|
|
3
|
+
const require_src = require('./src-BvE2tDzk.cjs');
|
|
4
|
+
let _modelcontextprotocol_core_ext_skills = require("@modelcontextprotocol/core/ext/skills");
|
|
5
|
+
|
|
6
|
+
//#region src/ext/skills/errors.ts
|
|
7
|
+
/**
|
|
8
|
+
* Thrown when a skill catalog cannot be built: storage failures always, skill problems under `strict`.
|
|
9
|
+
* Branded, so `instanceof` also matches an instance from another bundled copy of the SDK.
|
|
10
|
+
*/
|
|
11
|
+
var SkillCatalogError = class extends Error {
|
|
12
|
+
static {
|
|
13
|
+
Object.defineProperty(this, "mcpBrand", { value: "mcp.SkillCatalogError" });
|
|
14
|
+
}
|
|
15
|
+
static [Symbol.hasInstance](value) {
|
|
16
|
+
return require_src.brandedHasInstance(this, value);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Brand-based type guard: equivalent to `value instanceof this`, as an
|
|
20
|
+
* explicit static predicate (the axios/AWS-SDK `isInstance` style). Must be
|
|
21
|
+
* invoked on the class — in callback position write
|
|
22
|
+
* `v => SkillCatalogError.isInstance(v)`, not `.filter(SkillCatalogError.isInstance)`.
|
|
23
|
+
*/
|
|
24
|
+
static isInstance(value) {
|
|
25
|
+
if (typeof this !== "function") throw new TypeError("isInstance must be called on the class (e.g. `SkillCatalogError.isInstance(value)`); for callbacks use `v => SkillCatalogError.isInstance(v)`");
|
|
26
|
+
return require_src.brandedHasInstance(this, value);
|
|
27
|
+
}
|
|
28
|
+
problems;
|
|
29
|
+
constructor(problems) {
|
|
30
|
+
const lines = problems.map((problem) => ` ${problem.path}: ${problem.message}`).join("\n");
|
|
31
|
+
super(`${problems.length} skill problem${problems.length === 1 ? "" : "s"}:\n${lines}`);
|
|
32
|
+
this.name = "SkillCatalogError";
|
|
33
|
+
this.problems = problems;
|
|
34
|
+
require_src.stampErrorBrands(this, new.target);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
function defaultWarn(warning) {
|
|
38
|
+
console.warn(`[mcp-sdk] skills: ${warning.path}: ${warning.message}`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region ../core-internal/src/ext/skills/bytes.ts
|
|
43
|
+
const encoder = new TextEncoder();
|
|
44
|
+
/** UTF-8 bytes of `text`. */
|
|
45
|
+
function encodeUtf8(text) {
|
|
46
|
+
return encoder.encode(text);
|
|
47
|
+
}
|
|
48
|
+
/** Decodes UTF-8 only if decoding loses nothing (a BOM is kept); otherwise `undefined`. */
|
|
49
|
+
function decodeUtf8Lossless(bytes) {
|
|
50
|
+
try {
|
|
51
|
+
return new TextDecoder("utf-8", {
|
|
52
|
+
fatal: true,
|
|
53
|
+
ignoreBOM: true
|
|
54
|
+
}).decode(bytes);
|
|
55
|
+
} catch {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Standard base64 of `bytes`. */
|
|
60
|
+
function encodeBase64(bytes) {
|
|
61
|
+
let binary = "";
|
|
62
|
+
const chunk = 32768;
|
|
63
|
+
for (let offset = 0; offset < bytes.length; offset += chunk) binary += String.fromCodePoint(...bytes.subarray(offset, offset + chunk));
|
|
64
|
+
return btoa(binary);
|
|
65
|
+
}
|
|
66
|
+
/** Bytes of a standard base64 string. */
|
|
67
|
+
function decodeBase64(base64) {
|
|
68
|
+
const binary = atob(base64);
|
|
69
|
+
const bytes = new Uint8Array(binary.length);
|
|
70
|
+
for (let index = 0; index < binary.length; index++) bytes[index] = binary.codePointAt(index);
|
|
71
|
+
return bytes;
|
|
72
|
+
}
|
|
73
|
+
/** `sha256:` followed by the lowercase hex SHA-256 of `bytes` (WebCrypto, every runtime). */
|
|
74
|
+
async function sha256Digest(bytes) {
|
|
75
|
+
const { buffer, byteOffset, byteLength } = bytes;
|
|
76
|
+
const view = buffer instanceof ArrayBuffer ? new Uint8Array(buffer, byteOffset, byteLength) : new Uint8Array(bytes);
|
|
77
|
+
const hash = new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256", view));
|
|
78
|
+
let hex = "";
|
|
79
|
+
for (const byte of hash) hex += byte.toString(16).padStart(2, "0");
|
|
80
|
+
return `sha256:${hex}`;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region ../core-internal/src/ext/skills/frontmatter.ts
|
|
85
|
+
/**
|
|
86
|
+
* Frontmatter reader for `SKILL.md` (SEP-2640).
|
|
87
|
+
*
|
|
88
|
+
* Reads the YAML subset real skills use — block mappings and sequences;
|
|
89
|
+
* plain, quoted and block scalars; one-line flow collections; comments — with
|
|
90
|
+
* YAML 1.2 core-schema typing. Anything outside the subset throws a
|
|
91
|
+
* {@linkcode FrontmatterError} instead of being read differently from a full
|
|
92
|
+
* YAML parser. Server catalogs and client verification both call it; it is
|
|
93
|
+
* kept behind this module so it can be swapped for a YAML library.
|
|
94
|
+
*/
|
|
95
|
+
var FrontmatterError = class extends Error {
|
|
96
|
+
line;
|
|
97
|
+
constructor(message, line) {
|
|
98
|
+
super(line === void 0 ? message : `line ${line}: ${message}`);
|
|
99
|
+
this.name = "FrontmatterError";
|
|
100
|
+
this.line = line;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const MAX_DEPTH = 32;
|
|
104
|
+
/** Splits `SKILL.md` into its frontmatter YAML and markdown body. */
|
|
105
|
+
function splitFrontmatter(markdown) {
|
|
106
|
+
let text = markdown.replaceAll("\r\n", "\n");
|
|
107
|
+
if (text.codePointAt(0) === 65279) text = text.slice(1);
|
|
108
|
+
if (!text.startsWith("---\n")) throw new FrontmatterError("SKILL.md must begin with a \"---\" line", 1);
|
|
109
|
+
const rest = text.slice(4);
|
|
110
|
+
const close = /^---[\t ]*$/m.exec(rest);
|
|
111
|
+
if (close === null) throw new FrontmatterError("frontmatter has no closing \"---\" line");
|
|
112
|
+
let body = rest.slice(close.index + close[0].length);
|
|
113
|
+
if (body.startsWith("\n")) body = body.slice(1);
|
|
114
|
+
return {
|
|
115
|
+
yaml: rest.slice(0, close.index),
|
|
116
|
+
body
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** Splits and parses `SKILL.md`. Line numbers in errors count from the file's first line. */
|
|
120
|
+
function parseSkillMarkdown(markdown) {
|
|
121
|
+
const { yaml, body } = splitFrontmatter(markdown);
|
|
122
|
+
return {
|
|
123
|
+
frontmatter: parseFrontmatterYaml(yaml, 2),
|
|
124
|
+
body
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/** Parses frontmatter YAML into a JSON object. `firstLine` numbers the first YAML line in errors. */
|
|
128
|
+
function parseFrontmatterYaml(yaml, firstLine = 1) {
|
|
129
|
+
return new Parser(toLines(yaml, firstLine)).parseDocument();
|
|
130
|
+
}
|
|
131
|
+
function toLines(yaml, firstLine) {
|
|
132
|
+
const raws = yaml.split("\n");
|
|
133
|
+
if (raws.at(-1) === "") raws.pop();
|
|
134
|
+
return raws.map((raw, index) => ({
|
|
135
|
+
no: firstLine + index,
|
|
136
|
+
indent: /^ */.exec(raw)?.[0].length ?? 0,
|
|
137
|
+
text: trimWhiteStart(raw),
|
|
138
|
+
raw
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
const TAB_INDENT = "tabs cannot be used for indentation";
|
|
142
|
+
const isSkippable = (line) => line.text === "" || line.text.startsWith("#");
|
|
143
|
+
const isTabIndented = (line) => line.raw[line.indent] === " ";
|
|
144
|
+
const isSequenceItem = (text) => /^-(?:[\t ]|$)/.test(text);
|
|
145
|
+
var Parser = class {
|
|
146
|
+
index = 0;
|
|
147
|
+
constructor(lines) {
|
|
148
|
+
this.lines = lines;
|
|
149
|
+
}
|
|
150
|
+
parseDocument() {
|
|
151
|
+
const first = this.peek();
|
|
152
|
+
if (first === void 0) return {};
|
|
153
|
+
if (first.text.startsWith("")) throw new FrontmatterError("a byte order mark inside the frontmatter is not supported", first.no);
|
|
154
|
+
if (isSequenceItem(first.text) || matchKey(first.text, first.no) === void 0) throw new FrontmatterError("frontmatter must be a mapping of keys to values", first.no);
|
|
155
|
+
const map = this.parseMapping(first.indent, 0);
|
|
156
|
+
const extra = this.peek();
|
|
157
|
+
if (extra !== void 0) throw new FrontmatterError("unexpected content", extra.no);
|
|
158
|
+
return map;
|
|
159
|
+
}
|
|
160
|
+
peek() {
|
|
161
|
+
while (this.index < this.lines.length && isSkippable(this.lines[this.index])) this.index++;
|
|
162
|
+
const line = this.lines[this.index];
|
|
163
|
+
if (line !== void 0 && isTabIndented(line)) throw new FrontmatterError(TAB_INDENT, line.no);
|
|
164
|
+
return line;
|
|
165
|
+
}
|
|
166
|
+
parseMapping(indent, depth) {
|
|
167
|
+
assertDepth(depth, this.lines[this.index]?.no);
|
|
168
|
+
const map = {};
|
|
169
|
+
for (let line = this.peek(); line !== void 0 && line.indent >= indent; line = this.peek()) {
|
|
170
|
+
if (line.indent > indent) throw new FrontmatterError("unexpected indentation", line.no);
|
|
171
|
+
if (isSequenceItem(line.text)) break;
|
|
172
|
+
const match = matchKey(line.text, line.no);
|
|
173
|
+
if (match === void 0) throw new FrontmatterError("expected \"key: value\"", line.no);
|
|
174
|
+
if (Object.hasOwn(map, match.key)) throw new FrontmatterError(`duplicate key "${match.key}"`, line.no);
|
|
175
|
+
this.index++;
|
|
176
|
+
map[match.key] = this.parseValue(match.rest, line, indent, depth + 1, true);
|
|
177
|
+
}
|
|
178
|
+
return map;
|
|
179
|
+
}
|
|
180
|
+
parseSequence(indent, depth) {
|
|
181
|
+
assertDepth(depth, this.lines[this.index]?.no);
|
|
182
|
+
const items = [];
|
|
183
|
+
for (let line = this.peek(); line !== void 0 && line.indent >= indent; line = this.peek()) {
|
|
184
|
+
if (line.indent > indent) throw new FrontmatterError("unexpected indentation", line.no);
|
|
185
|
+
if (!isSequenceItem(line.text)) break;
|
|
186
|
+
const after = line.text.slice(1);
|
|
187
|
+
const rest = trimWhiteStart(after);
|
|
188
|
+
const column = line.indent + 1 + (after.length - rest.length);
|
|
189
|
+
if (rest !== "" && !rest.startsWith("#") && (isSequenceItem(rest) || matchKey(rest, line.no) !== void 0)) {
|
|
190
|
+
if (/^ *\t/.test(after)) throw new FrontmatterError(TAB_INDENT, line.no);
|
|
191
|
+
this.lines[this.index] = {
|
|
192
|
+
...line,
|
|
193
|
+
indent: column,
|
|
194
|
+
text: rest
|
|
195
|
+
};
|
|
196
|
+
items.push(isSequenceItem(rest) ? this.parseSequence(column, depth + 1) : this.parseMapping(column, depth + 1));
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
this.index++;
|
|
200
|
+
items.push(this.parseValue(rest, line, indent, depth + 1, false));
|
|
201
|
+
}
|
|
202
|
+
return items;
|
|
203
|
+
}
|
|
204
|
+
parseValue(rest, line, parentIndent, depth, allowCompactSequence) {
|
|
205
|
+
if (rest === "" || rest.startsWith("#")) {
|
|
206
|
+
const next = this.peek();
|
|
207
|
+
if (next !== void 0 && next.indent > parentIndent) return this.parseIndented(parentIndent, depth);
|
|
208
|
+
if (allowCompactSequence && next !== void 0 && next.indent === parentIndent && isSequenceItem(next.text)) return this.parseSequence(parentIndent, depth);
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
const first = rest[0];
|
|
212
|
+
if (first === "|" || first === ">") return this.parseBlockScalar(rest, line, parentIndent);
|
|
213
|
+
if (first === "\"" || first === "'") {
|
|
214
|
+
const { value, end } = readQuoted(rest, 0, line.no);
|
|
215
|
+
expectOnlyComment(rest.slice(end), line.no);
|
|
216
|
+
return value;
|
|
217
|
+
}
|
|
218
|
+
if (first === "[" || first === "{") {
|
|
219
|
+
const { value, end } = readFlow(rest, 0, line.no, depth);
|
|
220
|
+
expectOnlyComment(rest.slice(end), line.no);
|
|
221
|
+
return value;
|
|
222
|
+
}
|
|
223
|
+
if ("&*!".includes(first)) throw new FrontmatterError("anchors, aliases and tags are not supported", line.no);
|
|
224
|
+
if ("%@`,]}".includes(first)) throw new FrontmatterError(`"${first}" cannot start a plain value; quote it`, line.no);
|
|
225
|
+
if (isSequenceItem(rest) || /^\?(?:[\t ]|$)/.test(rest)) throw new FrontmatterError("a nested collection must start on its own line", line.no);
|
|
226
|
+
return this.parsePlain(rest, line, parentIndent);
|
|
227
|
+
}
|
|
228
|
+
parseIndented(parentIndent, depth) {
|
|
229
|
+
const line = this.peek();
|
|
230
|
+
if (isSequenceItem(line.text)) return this.parseSequence(line.indent, depth);
|
|
231
|
+
if (matchKey(line.text, line.no) !== void 0) return this.parseMapping(line.indent, depth);
|
|
232
|
+
this.index++;
|
|
233
|
+
return this.parseValue(line.text, line, parentIndent, depth, false);
|
|
234
|
+
}
|
|
235
|
+
parsePlain(first, line, parentIndent) {
|
|
236
|
+
let value = stripComment(first);
|
|
237
|
+
assertPlain(value, line.no);
|
|
238
|
+
let commented = COMMENT.test(first);
|
|
239
|
+
let blanks = 0;
|
|
240
|
+
while (this.index < this.lines.length) {
|
|
241
|
+
const next = this.lines[this.index];
|
|
242
|
+
if (next.text === "") {
|
|
243
|
+
blanks++;
|
|
244
|
+
this.index++;
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
if (next.indent <= parentIndent || next.text.startsWith("#")) break;
|
|
248
|
+
if (isTabIndented(next)) throw new FrontmatterError(TAB_INDENT, next.no);
|
|
249
|
+
if (commented) throw new FrontmatterError("a comment ends a plain value; quote a value that continues past it", next.no);
|
|
250
|
+
const part = stripComment(next.text);
|
|
251
|
+
assertPlain(part, next.no);
|
|
252
|
+
commented = COMMENT.test(next.text);
|
|
253
|
+
value += blanks > 0 ? "\n".repeat(blanks) : " ";
|
|
254
|
+
value += part;
|
|
255
|
+
blanks = 0;
|
|
256
|
+
this.index++;
|
|
257
|
+
}
|
|
258
|
+
return resolvePlain(value, line.no);
|
|
259
|
+
}
|
|
260
|
+
parseBlockScalar(header, line, parentIndent) {
|
|
261
|
+
const match = /^([>|])([+-]?)(?:[\t ]+#.*)?[\t ]*$/.exec(header);
|
|
262
|
+
if (match === null) throw new FrontmatterError(/^[>|][+-]?\d|^[>|]\d/.test(header) ? "block scalar indentation indicators are not supported" : "invalid block scalar header", line.no);
|
|
263
|
+
const contents = [];
|
|
264
|
+
let contentIndent = -1;
|
|
265
|
+
let leadingWidth = 0;
|
|
266
|
+
while (this.index < this.lines.length) {
|
|
267
|
+
const next = this.lines[this.index];
|
|
268
|
+
const spacesOnly = next.indent === next.raw.length;
|
|
269
|
+
if (contentIndent === -1 && !spacesOnly && next.indent > parentIndent) {
|
|
270
|
+
contentIndent = next.indent;
|
|
271
|
+
if (leadingWidth > contentIndent) throw new FrontmatterError("a leading blank line is indented more than the block scalar content", next.no);
|
|
272
|
+
}
|
|
273
|
+
if (contentIndent !== -1 && next.indent >= contentIndent) contents.push(next.raw.slice(contentIndent));
|
|
274
|
+
else if (spacesOnly) {
|
|
275
|
+
if (contentIndent === -1) leadingWidth = Math.max(leadingWidth, next.indent);
|
|
276
|
+
contents.push("");
|
|
277
|
+
} else if (isTabIndented(next)) throw new FrontmatterError(TAB_INDENT, next.no);
|
|
278
|
+
else break;
|
|
279
|
+
this.index++;
|
|
280
|
+
}
|
|
281
|
+
return foldBlock(contents, match[1] === ">", match[2] ?? "");
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
function assertDepth(depth, line) {
|
|
285
|
+
if (depth > MAX_DEPTH) throw new FrontmatterError(`nesting deeper than ${MAX_DEPTH} levels is not supported`, line);
|
|
286
|
+
}
|
|
287
|
+
function matchKey(text, no) {
|
|
288
|
+
const first = text[0];
|
|
289
|
+
if (first === "\"" || first === "'") {
|
|
290
|
+
const { value, end } = readQuoted(text, 0, no);
|
|
291
|
+
const after = text.slice(end);
|
|
292
|
+
if (after === ":" || /^:[\t ]/.test(after)) return {
|
|
293
|
+
key: checkKey(value, no),
|
|
294
|
+
rest: trimWhiteStart(after.slice(1))
|
|
295
|
+
};
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
if (first === "?") throw new FrontmatterError("complex keys (\"?\") are not supported", no);
|
|
299
|
+
if (first === void 0 || "[]{}&*!|>%@`#,".includes(first)) return void 0;
|
|
300
|
+
for (let index = 0; index < text.length; index++) {
|
|
301
|
+
const char = text[index];
|
|
302
|
+
const previous = text[index - 1];
|
|
303
|
+
if (char === "#" && (previous === " " || previous === " ")) return void 0;
|
|
304
|
+
if (char === ":") {
|
|
305
|
+
const next = text[index + 1];
|
|
306
|
+
if (next === void 0 || next === " " || next === " ") {
|
|
307
|
+
const key = trimWhiteEnd(text.slice(0, index));
|
|
308
|
+
if (key === "") return void 0;
|
|
309
|
+
return {
|
|
310
|
+
key: resolveKey(key, no),
|
|
311
|
+
rest: trimWhiteStart(text.slice(index + 1))
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
function checkKey(key, no) {
|
|
318
|
+
if (key === "__proto__") throw new FrontmatterError("the key \"__proto__\" is not supported", no);
|
|
319
|
+
return key;
|
|
320
|
+
}
|
|
321
|
+
function resolveKey(raw, no) {
|
|
322
|
+
if (typeof resolvePlain(raw, no) !== "string") throw new FrontmatterError(`key "${raw}" must be a string; quote it`, no);
|
|
323
|
+
return checkKey(raw, no);
|
|
324
|
+
}
|
|
325
|
+
function assertPlain(text, no) {
|
|
326
|
+
if (/:(?:[\t ]|$)/.test(text)) throw new FrontmatterError("a plain value cannot contain \": \"; quote the value", no);
|
|
327
|
+
}
|
|
328
|
+
const COMMENT = /[\t ]#/;
|
|
329
|
+
function stripComment(text) {
|
|
330
|
+
const match = COMMENT.exec(text);
|
|
331
|
+
return trimWhiteEnd(match === null ? text : text.slice(0, match.index));
|
|
332
|
+
}
|
|
333
|
+
function expectOnlyComment(after, no) {
|
|
334
|
+
if (trimWhiteStart(after) === "" || /^[\t ]+#/.test(after)) return;
|
|
335
|
+
throw new FrontmatterError("unexpected text after the value", no);
|
|
336
|
+
}
|
|
337
|
+
function trimWhiteStart(text) {
|
|
338
|
+
return text.slice(skipSpaces(text, 0));
|
|
339
|
+
}
|
|
340
|
+
function trimWhiteEnd(text) {
|
|
341
|
+
let end = text.length;
|
|
342
|
+
while (end > 0 && (text[end - 1] === " " || text[end - 1] === " ")) end--;
|
|
343
|
+
return text.slice(0, end);
|
|
344
|
+
}
|
|
345
|
+
const NULL = /^(?:~|null|Null|NULL)$/;
|
|
346
|
+
const TRUE = /^(?:true|True|TRUE)$/;
|
|
347
|
+
const FALSE = /^(?:false|False|FALSE)$/;
|
|
348
|
+
const INTEGER = /^[+-]?\d+$/;
|
|
349
|
+
const OCTAL = /^0o[0-7]+$/;
|
|
350
|
+
const HEXADECIMAL = /^0x[\dA-Fa-f]+$/;
|
|
351
|
+
const FLOAT = /^[+-]?(?:\.\d+|\d+(?:\.\d*)?)(?:[Ee][+-]?\d+)?$/;
|
|
352
|
+
const SPECIAL_FLOAT = /^(?:[+-]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/;
|
|
353
|
+
function resolvePlain(text, no) {
|
|
354
|
+
if (text === "" || NULL.test(text)) return null;
|
|
355
|
+
if (TRUE.test(text)) return true;
|
|
356
|
+
if (FALSE.test(text)) return false;
|
|
357
|
+
let number;
|
|
358
|
+
if (INTEGER.test(text) || FLOAT.test(text)) number = Number(text);
|
|
359
|
+
else if (OCTAL.test(text)) number = Number.parseInt(text.slice(2), 8);
|
|
360
|
+
else if (HEXADECIMAL.test(text)) number = Number.parseInt(text.slice(2), 16);
|
|
361
|
+
else if (SPECIAL_FLOAT.test(text)) number = NaN;
|
|
362
|
+
if (number === void 0) return text;
|
|
363
|
+
if (!Number.isFinite(number)) throw new FrontmatterError(`"${text}" cannot be represented in JSON; quote it`, no);
|
|
364
|
+
return number;
|
|
365
|
+
}
|
|
366
|
+
const SIMPLE_ESCAPES = {
|
|
367
|
+
"0": "\0",
|
|
368
|
+
a: "\x07",
|
|
369
|
+
b: "\b",
|
|
370
|
+
t: " ",
|
|
371
|
+
" ": " ",
|
|
372
|
+
n: "\n",
|
|
373
|
+
v: "\v",
|
|
374
|
+
f: "\f",
|
|
375
|
+
r: "\r",
|
|
376
|
+
e: "\x1B",
|
|
377
|
+
" ": " ",
|
|
378
|
+
"\"": "\"",
|
|
379
|
+
"/": "/",
|
|
380
|
+
"\\": "\\",
|
|
381
|
+
N: "
",
|
|
382
|
+
_: "\xA0",
|
|
383
|
+
L: "\u2028",
|
|
384
|
+
P: "\u2029"
|
|
385
|
+
};
|
|
386
|
+
const HEX_ESCAPE_WIDTH = {
|
|
387
|
+
x: 2,
|
|
388
|
+
u: 4,
|
|
389
|
+
U: 8
|
|
390
|
+
};
|
|
391
|
+
const UNCLOSED_QUOTE = "a quoted value must close on the same line (multi-line quoted values are not supported)";
|
|
392
|
+
function readQuoted(text, start, no) {
|
|
393
|
+
const quote = text[start];
|
|
394
|
+
let value = "";
|
|
395
|
+
let index = start + 1;
|
|
396
|
+
while (index < text.length) {
|
|
397
|
+
const char = text[index];
|
|
398
|
+
if (quote === "'") {
|
|
399
|
+
if (char === "'") {
|
|
400
|
+
if (text[index + 1] === "'") {
|
|
401
|
+
value += "'";
|
|
402
|
+
index += 2;
|
|
403
|
+
continue;
|
|
404
|
+
}
|
|
405
|
+
return {
|
|
406
|
+
value,
|
|
407
|
+
end: index + 1
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
value += char;
|
|
411
|
+
index++;
|
|
412
|
+
continue;
|
|
413
|
+
}
|
|
414
|
+
if (char === "\"") return {
|
|
415
|
+
value,
|
|
416
|
+
end: index + 1
|
|
417
|
+
};
|
|
418
|
+
if (char === "\\") {
|
|
419
|
+
const escape = decodeEscape(text, index, no);
|
|
420
|
+
value += escape.decoded;
|
|
421
|
+
index += escape.length;
|
|
422
|
+
continue;
|
|
423
|
+
}
|
|
424
|
+
value += char;
|
|
425
|
+
index++;
|
|
426
|
+
}
|
|
427
|
+
throw new FrontmatterError(UNCLOSED_QUOTE, no);
|
|
428
|
+
}
|
|
429
|
+
function decodeEscape(text, index, no) {
|
|
430
|
+
const code = text[index + 1];
|
|
431
|
+
if (code === void 0) throw new FrontmatterError(UNCLOSED_QUOTE, no);
|
|
432
|
+
const simple = SIMPLE_ESCAPES[code];
|
|
433
|
+
if (simple !== void 0) return {
|
|
434
|
+
decoded: simple,
|
|
435
|
+
length: 2
|
|
436
|
+
};
|
|
437
|
+
const width = HEX_ESCAPE_WIDTH[code];
|
|
438
|
+
if (width === void 0) throw new FrontmatterError(`unknown escape "\\${code}"`, no);
|
|
439
|
+
const hex = text.slice(index + 2, index + 2 + width);
|
|
440
|
+
if (hex.length !== width || !/^[\dA-Fa-f]+$/.test(hex) || Number.parseInt(hex, 16) > 1114111) throw new FrontmatterError(`invalid escape "\\${code}${hex}"`, no);
|
|
441
|
+
return {
|
|
442
|
+
decoded: String.fromCodePoint(Number.parseInt(hex, 16)),
|
|
443
|
+
length: 2 + width
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
function skipSpaces(text, index) {
|
|
447
|
+
let position = index;
|
|
448
|
+
while (text[position] === " " || text[position] === " ") position++;
|
|
449
|
+
return position;
|
|
450
|
+
}
|
|
451
|
+
const UNCLOSED_FLOW = "a flow collection must close on the same line";
|
|
452
|
+
function readFlow(text, start, no, depth) {
|
|
453
|
+
assertDepth(depth, no);
|
|
454
|
+
const open = text[start];
|
|
455
|
+
const close = open === "[" ? "]" : "}";
|
|
456
|
+
const list = [];
|
|
457
|
+
const map = {};
|
|
458
|
+
let index = skipSpaces(text, start + 1);
|
|
459
|
+
if (text[index] === close) return {
|
|
460
|
+
value: open === "[" ? list : map,
|
|
461
|
+
end: index + 1
|
|
462
|
+
};
|
|
463
|
+
for (;;) {
|
|
464
|
+
if (open === "[") {
|
|
465
|
+
const item = readFlowValue(text, index, no, depth);
|
|
466
|
+
list.push(item.value);
|
|
467
|
+
index = skipSpaces(text, item.end);
|
|
468
|
+
} else {
|
|
469
|
+
const key = readFlowKey(text, index, no);
|
|
470
|
+
const item = readFlowValue(text, key.end + 1, no, depth);
|
|
471
|
+
if (Object.hasOwn(map, key.key)) throw new FrontmatterError(`duplicate key "${key.key}"`, no);
|
|
472
|
+
map[key.key] = item.value;
|
|
473
|
+
index = skipSpaces(text, item.end);
|
|
474
|
+
}
|
|
475
|
+
const char = text[index];
|
|
476
|
+
if (char === ",") {
|
|
477
|
+
index = skipSpaces(text, index + 1);
|
|
478
|
+
if (text[index] === close) return {
|
|
479
|
+
value: open === "[" ? list : map,
|
|
480
|
+
end: index + 1
|
|
481
|
+
};
|
|
482
|
+
continue;
|
|
483
|
+
}
|
|
484
|
+
if (char === close) return {
|
|
485
|
+
value: open === "[" ? list : map,
|
|
486
|
+
end: index + 1
|
|
487
|
+
};
|
|
488
|
+
if (char === void 0) throw new FrontmatterError(UNCLOSED_FLOW, no);
|
|
489
|
+
throw new FrontmatterError(`unexpected "${char}" in a flow collection`, no);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
function readFlowKey(text, start, no) {
|
|
493
|
+
const index = skipSpaces(text, start);
|
|
494
|
+
const char = text[index];
|
|
495
|
+
if (char === void 0) throw new FrontmatterError(UNCLOSED_FLOW, no);
|
|
496
|
+
if (char === "\"" || char === "'") {
|
|
497
|
+
const quoted = readQuoted(text, index, no);
|
|
498
|
+
const colon = skipSpaces(text, quoted.end);
|
|
499
|
+
if (text[colon] !== ":") throw new FrontmatterError("expected \": \" after a key in a flow mapping", no);
|
|
500
|
+
return {
|
|
501
|
+
key: checkKey(quoted.value, no),
|
|
502
|
+
end: colon
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
if (char === "[" || char === "{") throw new FrontmatterError("complex keys (flow collections as keys) are not supported", no);
|
|
506
|
+
assertFlowPlainStart(text, index, no);
|
|
507
|
+
const end = scanFlowPlain(text, index);
|
|
508
|
+
const raw = trimWhiteEnd(text.slice(index, end));
|
|
509
|
+
const after = text[end + 1];
|
|
510
|
+
if (raw === "" || text[end] !== ":" || after !== " " && after !== " ") throw new FrontmatterError("expected \"key: value\" in a flow mapping", no);
|
|
511
|
+
return {
|
|
512
|
+
key: resolveKey(raw, no),
|
|
513
|
+
end
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
const FLOW_SEPARATORS = " ,[]{}";
|
|
517
|
+
function assertFlowPlainStart(text, index, no) {
|
|
518
|
+
const char = text[index];
|
|
519
|
+
if ("&*!".includes(char)) throw new FrontmatterError("anchors, aliases and tags are not supported", no);
|
|
520
|
+
if ("|>%@`#".includes(char) || "-?:".includes(char) && FLOW_SEPARATORS.includes(text[index + 1] ?? " ")) throw new FrontmatterError(`"${char}" cannot start a plain value in a flow collection; quote it`, no);
|
|
521
|
+
}
|
|
522
|
+
function scanFlowPlain(text, index) {
|
|
523
|
+
let end = index;
|
|
524
|
+
while (end < text.length) {
|
|
525
|
+
const char = text[end];
|
|
526
|
+
if (",[]{}".includes(char)) break;
|
|
527
|
+
if (char === "#" && (text[end - 1] === " " || text[end - 1] === " ")) break;
|
|
528
|
+
if (char === ":" && FLOW_SEPARATORS.includes(text[end + 1] ?? " ")) break;
|
|
529
|
+
end++;
|
|
530
|
+
}
|
|
531
|
+
return end;
|
|
532
|
+
}
|
|
533
|
+
function readFlowValue(text, start, no, depth) {
|
|
534
|
+
const index = skipSpaces(text, start);
|
|
535
|
+
const char = text[index];
|
|
536
|
+
if (char === void 0) throw new FrontmatterError(UNCLOSED_FLOW, no);
|
|
537
|
+
if (char === "[" || char === "{") return readFlow(text, index, no, depth + 1);
|
|
538
|
+
if (char === "\"" || char === "'") return readQuoted(text, index, no);
|
|
539
|
+
assertFlowPlainStart(text, index, no);
|
|
540
|
+
const end = scanFlowPlain(text, index);
|
|
541
|
+
if (text[end] === ":") throw new FrontmatterError("mappings inside flow collections are not supported; quote the value", no);
|
|
542
|
+
const raw = trimWhiteEnd(text.slice(index, end));
|
|
543
|
+
if (raw === "") throw new FrontmatterError("empty value in a flow collection", no);
|
|
544
|
+
return {
|
|
545
|
+
value: resolvePlain(raw, no),
|
|
546
|
+
end
|
|
547
|
+
};
|
|
548
|
+
}
|
|
549
|
+
function foldBlock(contents, folded, chomping) {
|
|
550
|
+
let result = "";
|
|
551
|
+
let emptyLines = 0;
|
|
552
|
+
let didReadContent = false;
|
|
553
|
+
let atMoreIndented = false;
|
|
554
|
+
for (const content of contents) {
|
|
555
|
+
if (content === "") {
|
|
556
|
+
emptyLines++;
|
|
557
|
+
continue;
|
|
558
|
+
}
|
|
559
|
+
if (folded) if (content.startsWith(" ") || content.startsWith(" ")) {
|
|
560
|
+
atMoreIndented = true;
|
|
561
|
+
result += "\n".repeat(didReadContent ? 1 + emptyLines : emptyLines);
|
|
562
|
+
} else if (atMoreIndented) {
|
|
563
|
+
atMoreIndented = false;
|
|
564
|
+
result += "\n".repeat(emptyLines + 1);
|
|
565
|
+
} else if (emptyLines === 0) {
|
|
566
|
+
if (didReadContent) result += " ";
|
|
567
|
+
} else result += "\n".repeat(emptyLines);
|
|
568
|
+
else result += "\n".repeat(didReadContent ? 1 + emptyLines : emptyLines);
|
|
569
|
+
result += content;
|
|
570
|
+
didReadContent = true;
|
|
571
|
+
emptyLines = 0;
|
|
572
|
+
}
|
|
573
|
+
if (chomping === "+") result += "\n".repeat(didReadContent ? 1 + emptyLines : emptyLines);
|
|
574
|
+
else if (chomping === "" && didReadContent) result += "\n";
|
|
575
|
+
return result;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
//#endregion
|
|
579
|
+
//#region ../core-internal/src/ext/skills/uri.ts
|
|
580
|
+
const ENCODED_IN_SEGMENT = /[^\w!$&'()*+,.:;=@[\]|~-]/gu;
|
|
581
|
+
function encodePathText(text) {
|
|
582
|
+
return text.replaceAll(ENCODED_IN_SEGMENT, (char) => encodeURIComponent(char));
|
|
583
|
+
}
|
|
584
|
+
/** Percent-encodes one path segment as WHATWG URL does, plus `%`, `/`, `\` and the dots of `.` and `..`; throws `URIError` on a lone surrogate. */
|
|
585
|
+
function encodeSegment(segment) {
|
|
586
|
+
if (segment === "." || segment === "..") return segment.replaceAll(".", "%2E");
|
|
587
|
+
return encodePathText(segment);
|
|
588
|
+
}
|
|
589
|
+
/** `text` without its trailing `/`s; a loop, since `/\/+$/` backtracks polynomially on a long run of `/`. */
|
|
590
|
+
function trimTrailingSlashes(text) {
|
|
591
|
+
let end = text.length;
|
|
592
|
+
while (end > 0 && text.codePointAt(end - 1) === 47) end--;
|
|
593
|
+
return text.slice(0, end);
|
|
594
|
+
}
|
|
595
|
+
/** `base` (`scheme://`, or a URI without a trailing slash) + `/`-joined encoded segments; an authority is encoded strictly. */
|
|
596
|
+
function joinUri(base, segments) {
|
|
597
|
+
if (!base.endsWith("://")) return `${trimTrailingSlashes(base)}/${segments.map((segment) => encodeSegment(segment)).join("/")}`;
|
|
598
|
+
const [authority, ...path] = segments;
|
|
599
|
+
if (authority === void 0) return base;
|
|
600
|
+
return [base + encodeURIComponent(authority), ...path.map((segment) => encodeSegment(segment))].join("/");
|
|
601
|
+
}
|
|
602
|
+
/** WHATWG-serialised form of `uri`, or `undefined` if it does not parse. */
|
|
603
|
+
function canonicalUri(uri) {
|
|
604
|
+
try {
|
|
605
|
+
return new URL(uri).href;
|
|
606
|
+
} catch {
|
|
607
|
+
return;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
/** True when `uri` is already in canonical form. */
|
|
611
|
+
function isRoundTripUri(uri) {
|
|
612
|
+
return canonicalUri(uri) === uri;
|
|
613
|
+
}
|
|
614
|
+
const MANIFEST_SUFFIX = "/SKILL.md";
|
|
615
|
+
/** The skill's root directory URI (no trailing slash), or `undefined` if `skillMdUri` is not a `…/SKILL.md` URI in a named directory. */
|
|
616
|
+
function skillRootUri(skillMdUri) {
|
|
617
|
+
const canonical = canonicalUri(skillMdUri);
|
|
618
|
+
if (canonical === void 0 || !canonical.endsWith(MANIFEST_SUFFIX)) return void 0;
|
|
619
|
+
const root = canonical.slice(0, -9);
|
|
620
|
+
return root.endsWith("/") ? void 0 : root;
|
|
621
|
+
}
|
|
622
|
+
function safeDecode(segment) {
|
|
623
|
+
try {
|
|
624
|
+
return decodeURIComponent(segment);
|
|
625
|
+
} catch {
|
|
626
|
+
return segment;
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
/** The decoded last segment of a directory URI (the authority when the path is empty). */
|
|
630
|
+
function lastSegmentOf(rootUri) {
|
|
631
|
+
const url = new URL(rootUri);
|
|
632
|
+
const path = url.pathname;
|
|
633
|
+
return safeDecode(path === "" || path === "/" ? url.host : path.slice(path.lastIndexOf("/") + 1));
|
|
634
|
+
}
|
|
635
|
+
/** True when `uri` is strictly inside `rootUri` and no segment below it decodes to empty, `.`, `..`, or a name holding `/` or NUL. */
|
|
636
|
+
function isWithin(rootUri, uri) {
|
|
637
|
+
const canonical = canonicalUri(uri);
|
|
638
|
+
if (canonical === void 0 || !canonical.startsWith(`${rootUri}/`)) return false;
|
|
639
|
+
return canonical.slice(rootUri.length + 1).split("/").every((segment) => {
|
|
640
|
+
const decoded = safeDecode(segment);
|
|
641
|
+
return decoded !== "" && decoded !== "." && decoded !== ".." && !decoded.includes("/") && !decoded.includes("\0");
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
function decodeOrUndefined(escapes) {
|
|
645
|
+
try {
|
|
646
|
+
return decodeURIComponent(escapes);
|
|
647
|
+
} catch {
|
|
648
|
+
return;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
function utf8Width(lead) {
|
|
652
|
+
if (lead >= 240) return 4;
|
|
653
|
+
if (lead >= 224) return 3;
|
|
654
|
+
if (lead >= 192) return 2;
|
|
655
|
+
return 1;
|
|
656
|
+
}
|
|
657
|
+
function keyOfEscapes(run) {
|
|
658
|
+
let key = "";
|
|
659
|
+
for (let at = 0; at < run.length;) {
|
|
660
|
+
const width = 3 * utf8Width(Number.parseInt(run.slice(at + 1, at + 3), 16));
|
|
661
|
+
const decoded = decodeOrUndefined(run.slice(at, at + width));
|
|
662
|
+
if (decoded === void 0) {
|
|
663
|
+
key += `%25${run.slice(at + 1, at + 3)}`;
|
|
664
|
+
at += 3;
|
|
665
|
+
} else {
|
|
666
|
+
key += encodePathText(decoded);
|
|
667
|
+
at += width;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
return key;
|
|
671
|
+
}
|
|
672
|
+
const ESCAPE_RUN = /((?:%[\dA-Fa-f]{2})+)/;
|
|
673
|
+
function keyOfSegment(segment) {
|
|
674
|
+
return segment.split(ESCAPE_RUN).map((part, index) => index % 2 === 0 ? encodePathText(part) : keyOfEscapes(part)).join("");
|
|
675
|
+
}
|
|
676
|
+
/** The one spelling all ways of writing a file's URI below `rootUri` share (`Q&A.md`, `Q%26A.md#x`); `undefined` if it does not parse. */
|
|
677
|
+
function skillFileKey(rootUri, uri) {
|
|
678
|
+
let url;
|
|
679
|
+
try {
|
|
680
|
+
url = new URL(uri);
|
|
681
|
+
} catch {
|
|
682
|
+
return;
|
|
683
|
+
}
|
|
684
|
+
url.hash = "";
|
|
685
|
+
const canonical = url.href;
|
|
686
|
+
if (canonical.includes("?") || !canonical.startsWith(`${rootUri}/`)) return canonical;
|
|
687
|
+
return `${rootUri}/${canonical.slice(rootUri.length + 1).split("/").map((segment) => keyOfSegment(segment)).join("/")}`;
|
|
688
|
+
}
|
|
689
|
+
/** Code-unit order of two URIs: the one order for entries, directory children and cursors. */
|
|
690
|
+
function compareUris(a, b) {
|
|
691
|
+
if (a < b) return -1;
|
|
692
|
+
if (a > b) return 1;
|
|
693
|
+
return 0;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
//#endregion
|
|
697
|
+
//#region ../core-internal/src/ext/skills/entry.ts
|
|
698
|
+
/** Agent Skills name rule: lowercase letters, digits and single hyphens (length checked separately). */
|
|
699
|
+
const SKILL_NAME_PATTERN = /^[\da-z]+(?:-[\da-z]+)*$/;
|
|
700
|
+
const isStringMap = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && Object.values(value).every((item) => typeof item === "string");
|
|
701
|
+
function countCharacters(text) {
|
|
702
|
+
let count = 0;
|
|
703
|
+
for (let index = 0; index < text.length; index += text.codePointAt(index) > 65535 ? 2 : 1) count++;
|
|
704
|
+
return count;
|
|
705
|
+
}
|
|
706
|
+
/** Structural rules of the stable spec and Agent Skills. Empty array = valid. */
|
|
707
|
+
function validateSkillEntry(skill) {
|
|
708
|
+
const problems = [];
|
|
709
|
+
const root = skillRootUri(skill.uri);
|
|
710
|
+
if (root === void 0) return [`uri "${skill.uri}" must be a URI ending in /SKILL.md inside a named directory`];
|
|
711
|
+
const frontmatter = skill.frontmatter;
|
|
712
|
+
const { name, description } = skill.frontmatter;
|
|
713
|
+
if (name.length === 0 || name.length > 64 || !SKILL_NAME_PATTERN.test(name)) problems.push(`frontmatter name "${name}" must be 1-64 lowercase letters, digits and single hyphens`);
|
|
714
|
+
else if (lastSegmentOf(root) !== name) problems.push(`frontmatter name "${name}" must match the last path segment "${lastSegmentOf(root)}"`);
|
|
715
|
+
if (description === "" || countCharacters(description) > 1024) problems.push("frontmatter description must be 1-1024 characters");
|
|
716
|
+
const compatibility = frontmatter["compatibility"];
|
|
717
|
+
if (compatibility !== void 0 && (typeof compatibility !== "string" || compatibility === "" || countCharacters(compatibility) > 500)) problems.push("frontmatter compatibility must be a string of 1-500 characters");
|
|
718
|
+
if (frontmatter["metadata"] !== void 0 && !isStringMap(frontmatter["metadata"])) problems.push("frontmatter metadata must map strings to strings");
|
|
719
|
+
if (skill.resources !== "dynamic") {
|
|
720
|
+
const self = canonicalUri(skill.uri);
|
|
721
|
+
const seen = /* @__PURE__ */ new Set();
|
|
722
|
+
let hasSelf = false;
|
|
723
|
+
for (const resource of skill.resources) {
|
|
724
|
+
const canonical = canonicalUri(resource.uri);
|
|
725
|
+
if (canonical === void 0) {
|
|
726
|
+
problems.push(`resource "${resource.uri}" is not a valid URI`);
|
|
727
|
+
continue;
|
|
728
|
+
}
|
|
729
|
+
if (/[#?]/.test(canonical)) {
|
|
730
|
+
problems.push(`resource "${resource.uri}" must not have a query or fragment`);
|
|
731
|
+
continue;
|
|
732
|
+
}
|
|
733
|
+
const key = skillFileKey(root, canonical) ?? canonical;
|
|
734
|
+
if (seen.has(key)) problems.push(`resource "${resource.uri}" is listed more than once`);
|
|
735
|
+
seen.add(key);
|
|
736
|
+
if (canonical === self) hasSelf = true;
|
|
737
|
+
else if (!isWithin(root, resource.uri)) problems.push(`resource "${resource.uri}" is outside the skill directory ${root}`);
|
|
738
|
+
}
|
|
739
|
+
if (!hasSelf) problems.push(`resources must include ${skill.uri}`);
|
|
740
|
+
}
|
|
741
|
+
return problems;
|
|
742
|
+
}
|
|
743
|
+
/** Schema check plus {@linkcode validateSkillEntry}, for values received from elsewhere. */
|
|
744
|
+
function skillEntryProblems(value) {
|
|
745
|
+
const parsed = _modelcontextprotocol_core_ext_skills.SkillSchema.safeParse(value);
|
|
746
|
+
if (!parsed.success) return parsed.error.issues.map((issue) => `${issue.path.join(".") || "(entry)"}: ${issue.message}`);
|
|
747
|
+
return validateSkillEntry(parsed.data);
|
|
748
|
+
}
|
|
749
|
+
/** Builds an entry from a skill's files: parses `SKILL.md`, hashes every file, sorts by URI, validates. */
|
|
750
|
+
async function buildSkillEntry(skillMdUri, files) {
|
|
751
|
+
const manifest = files.find((file) => file.uri === skillMdUri);
|
|
752
|
+
if (manifest === void 0) return { problems: ["SKILL.md is missing"] };
|
|
753
|
+
const text = decodeUtf8Lossless(manifest.bytes);
|
|
754
|
+
if (text === void 0) return { problems: ["SKILL.md is not valid UTF-8"] };
|
|
755
|
+
let frontmatter;
|
|
756
|
+
try {
|
|
757
|
+
frontmatter = parseSkillMarkdown(text).frontmatter;
|
|
758
|
+
} catch (error) {
|
|
759
|
+
if (error instanceof FrontmatterError) return { problems: [`SKILL.md frontmatter: ${error.message}`] };
|
|
760
|
+
throw error;
|
|
761
|
+
}
|
|
762
|
+
if (typeof frontmatter["name"] !== "string" || typeof frontmatter["description"] !== "string") return { problems: ["SKILL.md frontmatter must contain string \"name\" and \"description\""] };
|
|
763
|
+
const resources = await Promise.all(files.map(async (file) => ({
|
|
764
|
+
uri: file.uri,
|
|
765
|
+
digest: await sha256Digest(file.bytes),
|
|
766
|
+
size: file.bytes.byteLength
|
|
767
|
+
})));
|
|
768
|
+
resources.sort((a, b) => compareUris(a.uri, b.uri));
|
|
769
|
+
const skill = {
|
|
770
|
+
uri: skillMdUri,
|
|
771
|
+
frontmatter,
|
|
772
|
+
resources
|
|
773
|
+
};
|
|
774
|
+
return {
|
|
775
|
+
skill,
|
|
776
|
+
problems: validateSkillEntry(skill)
|
|
777
|
+
};
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
//#endregion
|
|
781
|
+
//#region ../core-internal/src/ext/skills/mime.ts
|
|
782
|
+
const BY_EXTENSION = {
|
|
783
|
+
md: "text/markdown",
|
|
784
|
+
markdown: "text/markdown",
|
|
785
|
+
txt: "text/plain",
|
|
786
|
+
json: "application/json",
|
|
787
|
+
yaml: "application/yaml",
|
|
788
|
+
yml: "application/yaml",
|
|
789
|
+
py: "text/x-python",
|
|
790
|
+
sh: "application/x-sh",
|
|
791
|
+
bash: "application/x-sh",
|
|
792
|
+
js: "text/javascript",
|
|
793
|
+
mjs: "text/javascript",
|
|
794
|
+
ts: "text/typescript",
|
|
795
|
+
html: "text/html",
|
|
796
|
+
css: "text/css",
|
|
797
|
+
csv: "text/csv",
|
|
798
|
+
xml: "application/xml",
|
|
799
|
+
svg: "image/svg+xml",
|
|
800
|
+
png: "image/png",
|
|
801
|
+
jpg: "image/jpeg",
|
|
802
|
+
jpeg: "image/jpeg",
|
|
803
|
+
gif: "image/gif",
|
|
804
|
+
webp: "image/webp",
|
|
805
|
+
pdf: "application/pdf"
|
|
806
|
+
};
|
|
807
|
+
/** MIME type from the file extension; `application/octet-stream` when unknown. */
|
|
808
|
+
function mimeTypeFor(fileName) {
|
|
809
|
+
const dot = fileName.lastIndexOf(".");
|
|
810
|
+
if (dot <= 0) return "application/octet-stream";
|
|
811
|
+
const extension = fileName.slice(dot + 1).toLowerCase();
|
|
812
|
+
return Object.hasOwn(BY_EXTENSION, extension) ? BY_EXTENSION[extension] : "application/octet-stream";
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
//#endregion
|
|
816
|
+
//#region src/ext/skills/catalogBuild.ts
|
|
817
|
+
const basename = (path) => path.slice(path.lastIndexOf("/") + 1);
|
|
818
|
+
const dirname = (path) => {
|
|
819
|
+
const slash = path.lastIndexOf("/");
|
|
820
|
+
return slash === -1 ? "" : path.slice(0, slash);
|
|
821
|
+
};
|
|
822
|
+
const errorText$1 = (error) => error instanceof Error ? error.message : String(error);
|
|
823
|
+
const NOT_FOLLOWED = "symlinks and other special files are not followed; copy the file instead";
|
|
824
|
+
const isManifest = (entry) => entry.kind !== "directory" && basename(entry.path) === "SKILL.md";
|
|
825
|
+
function append(lists, key, value) {
|
|
826
|
+
const list = lists.get(key);
|
|
827
|
+
if (list === void 0) lists.set(key, [value]);
|
|
828
|
+
else list.push(value);
|
|
829
|
+
}
|
|
830
|
+
function representableUri(uriOf, path) {
|
|
831
|
+
let uri;
|
|
832
|
+
try {
|
|
833
|
+
uri = uriOf(path);
|
|
834
|
+
} catch (error) {
|
|
835
|
+
if (error instanceof URIError) return void 0;
|
|
836
|
+
throw error;
|
|
837
|
+
}
|
|
838
|
+
return isRoundTripUri(uri) ? uri : void 0;
|
|
839
|
+
}
|
|
840
|
+
async function walk(files) {
|
|
841
|
+
const tree = [];
|
|
842
|
+
const visit = async (dir) => {
|
|
843
|
+
let entries;
|
|
844
|
+
try {
|
|
845
|
+
entries = await files.list(dir);
|
|
846
|
+
} catch (error) {
|
|
847
|
+
throw new SkillCatalogError([{
|
|
848
|
+
path: dir === "" ? "." : dir,
|
|
849
|
+
message: `cannot be listed: ${errorText$1(error)}`
|
|
850
|
+
}]);
|
|
851
|
+
}
|
|
852
|
+
for (const entry of entries.toSorted((a, b) => compareUris(a.name, b.name))) {
|
|
853
|
+
if (entry.name.startsWith(".")) continue;
|
|
854
|
+
const path = dir === "" ? entry.name : `${dir}/${entry.name}`;
|
|
855
|
+
tree.push({
|
|
856
|
+
path,
|
|
857
|
+
kind: entry.kind
|
|
858
|
+
});
|
|
859
|
+
if (entry.kind === "directory") await visit(path);
|
|
860
|
+
}
|
|
861
|
+
};
|
|
862
|
+
await visit("");
|
|
863
|
+
return tree;
|
|
864
|
+
}
|
|
865
|
+
async function readFile(files, path) {
|
|
866
|
+
try {
|
|
867
|
+
return await files.read(path);
|
|
868
|
+
} catch (error) {
|
|
869
|
+
throw new SkillCatalogError([{
|
|
870
|
+
path,
|
|
871
|
+
message: `cannot be read: ${errorText$1(error)}`
|
|
872
|
+
}]);
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
async function buildCatalogSnapshot(files, options) {
|
|
876
|
+
const tree = await walk(files);
|
|
877
|
+
const problems = [];
|
|
878
|
+
const report = (warning) => {
|
|
879
|
+
if (options.strict) problems.push(warning);
|
|
880
|
+
else options.warn(warning);
|
|
881
|
+
};
|
|
882
|
+
const uriOf = (path) => joinUri("skill://", [...options.prefix, ...path.split("/")]);
|
|
883
|
+
for (const entry of tree) {
|
|
884
|
+
const name = basename(entry.path);
|
|
885
|
+
if (entry.kind === "file" && name !== "SKILL.md" && name.toLowerCase() === "skill.md") options.warn({
|
|
886
|
+
path: entry.path,
|
|
887
|
+
message: "did you mean SKILL.md? File names are case-sensitive"
|
|
888
|
+
});
|
|
889
|
+
}
|
|
890
|
+
const skillDirs = new Set(tree.filter((entry) => isManifest(entry)).map((entry) => dirname(entry.path)));
|
|
891
|
+
const insideOf = /* @__PURE__ */ new Map();
|
|
892
|
+
for (const entry of tree) {
|
|
893
|
+
let inSkill = false;
|
|
894
|
+
for (let dir = dirname(entry.path); dir !== ""; dir = dirname(dir)) {
|
|
895
|
+
if (!skillDirs.has(dir)) continue;
|
|
896
|
+
inSkill = true;
|
|
897
|
+
append(insideOf, dir, entry);
|
|
898
|
+
}
|
|
899
|
+
if (!inSkill && entry.kind === "unsupported" && !isManifest(entry)) report({
|
|
900
|
+
path: entry.path,
|
|
901
|
+
message: `${NOT_FOLLOWED} (skipped)`
|
|
902
|
+
});
|
|
903
|
+
}
|
|
904
|
+
const built = [];
|
|
905
|
+
const hashed = /* @__PURE__ */ new Map();
|
|
906
|
+
const manifests = tree.filter((entry) => isManifest(entry)).toSorted((a, b) => b.path.split("/").length - a.path.split("/").length);
|
|
907
|
+
for (const entry of manifests) {
|
|
908
|
+
const dir = dirname(entry.path);
|
|
909
|
+
if (dir === "") {
|
|
910
|
+
report({
|
|
911
|
+
path: entry.path,
|
|
912
|
+
message: "a SKILL.md at the root has no skill path; point loadSkills (or your adapter) at its parent folder (skipped)"
|
|
913
|
+
});
|
|
914
|
+
continue;
|
|
915
|
+
}
|
|
916
|
+
const skill = await buildOne(files, insideOf.get(dir) ?? [], dir, uriOf, options, report, hashed);
|
|
917
|
+
if (skill !== void 0) built.push(skill);
|
|
918
|
+
}
|
|
919
|
+
if (problems.length > 0) throw new SkillCatalogError(problems);
|
|
920
|
+
if (built.length === 0) options.warn({
|
|
921
|
+
path: ".",
|
|
922
|
+
message: "no skills found (a skill is a folder containing SKILL.md)"
|
|
923
|
+
});
|
|
924
|
+
return assemble(built, tree, uriOf);
|
|
925
|
+
}
|
|
926
|
+
async function buildOne(files, inside, dir, uriOf, options, report, hashed) {
|
|
927
|
+
const unsupported = inside.find((entry) => entry.kind === "unsupported");
|
|
928
|
+
if (unsupported !== void 0) {
|
|
929
|
+
report({
|
|
930
|
+
path: unsupported.path,
|
|
931
|
+
message: `${NOT_FOLLOWED} (skill skipped)`
|
|
932
|
+
});
|
|
933
|
+
return;
|
|
934
|
+
}
|
|
935
|
+
const manifestPath = `${dir}/SKILL.md`;
|
|
936
|
+
const manifest = [];
|
|
937
|
+
const catalogFiles = [];
|
|
938
|
+
for (const entry of inside) {
|
|
939
|
+
const uri = representableUri(uriOf, entry.path);
|
|
940
|
+
if (uri === void 0) {
|
|
941
|
+
report({
|
|
942
|
+
path: entry.path,
|
|
943
|
+
message: "this name cannot be represented in a URI (skill skipped)"
|
|
944
|
+
});
|
|
945
|
+
return;
|
|
946
|
+
}
|
|
947
|
+
if (entry.kind !== "file") continue;
|
|
948
|
+
const own = entry.path === manifestPath;
|
|
949
|
+
let file = own ? void 0 : hashed.get(entry.path);
|
|
950
|
+
if (file === void 0) {
|
|
951
|
+
const bytes = await readFile(files, entry.path);
|
|
952
|
+
if (own) manifest.push({
|
|
953
|
+
uri,
|
|
954
|
+
bytes
|
|
955
|
+
});
|
|
956
|
+
file = {
|
|
957
|
+
digest: await sha256Digest(bytes),
|
|
958
|
+
size: bytes.byteLength
|
|
959
|
+
};
|
|
960
|
+
hashed.set(entry.path, file);
|
|
961
|
+
}
|
|
962
|
+
catalogFiles.push({
|
|
963
|
+
path: entry.path,
|
|
964
|
+
uri,
|
|
965
|
+
...file,
|
|
966
|
+
mimeType: mimeTypeFor(basename(entry.path))
|
|
967
|
+
});
|
|
968
|
+
}
|
|
969
|
+
const parsed = await buildSkillEntry(uriOf(manifestPath), manifest);
|
|
970
|
+
const resources = catalogFiles.map(({ uri, digest, size }) => ({
|
|
971
|
+
uri,
|
|
972
|
+
digest,
|
|
973
|
+
size
|
|
974
|
+
})).toSorted((a, b) => compareUris(a.uri, b.uri));
|
|
975
|
+
const skill = parsed.skill === void 0 ? void 0 : {
|
|
976
|
+
...parsed.skill,
|
|
977
|
+
resources
|
|
978
|
+
};
|
|
979
|
+
const problems = skill === void 0 ? parsed.problems : validateSkillEntry(skill);
|
|
980
|
+
if (skill === void 0 || problems.length > 0) {
|
|
981
|
+
for (const message of problems) report({
|
|
982
|
+
path: manifestPath,
|
|
983
|
+
message: `${message} (skill skipped)`
|
|
984
|
+
});
|
|
985
|
+
return;
|
|
986
|
+
}
|
|
987
|
+
let totalBytes = 0;
|
|
988
|
+
for (const file of catalogFiles) totalBytes += file.size;
|
|
989
|
+
if (catalogFiles.length > options.limits.files || totalBytes > options.limits.bytes) {
|
|
990
|
+
const remedy = options.strict ? "Raise limits to allow it" : "Set strict: true to fail instead, or raise limits";
|
|
991
|
+
report({
|
|
992
|
+
path: dir,
|
|
993
|
+
message: `${catalogFiles.length} files / ${totalBytes} bytes exceeds the limit of ${options.limits.files} files / ${options.limits.bytes} bytes; some hosts may decline it. ${remedy}`
|
|
994
|
+
});
|
|
995
|
+
}
|
|
996
|
+
return {
|
|
997
|
+
dir,
|
|
998
|
+
skill,
|
|
999
|
+
files: catalogFiles,
|
|
1000
|
+
manifestSize: catalogFiles.find((file) => file.path === manifestPath)?.size ?? 0,
|
|
1001
|
+
inside
|
|
1002
|
+
};
|
|
1003
|
+
}
|
|
1004
|
+
function deepFreeze(value) {
|
|
1005
|
+
if (typeof value === "object" && value !== null && !Object.isFrozen(value)) {
|
|
1006
|
+
Object.freeze(value);
|
|
1007
|
+
for (const item of Object.values(value)) deepFreeze(item);
|
|
1008
|
+
}
|
|
1009
|
+
return value;
|
|
1010
|
+
}
|
|
1011
|
+
function assemble(built, tree, uriOf) {
|
|
1012
|
+
const ordered = Object.freeze(built.map((item) => deepFreeze(item.skill)).toSorted((a, b) => compareUris(a.uri, b.uri)));
|
|
1013
|
+
const files = /* @__PURE__ */ new Map();
|
|
1014
|
+
const dirPaths = /* @__PURE__ */ new Set();
|
|
1015
|
+
for (const item of built) {
|
|
1016
|
+
for (const file of item.files) files.set(file.uri, file);
|
|
1017
|
+
dirPaths.add(item.dir);
|
|
1018
|
+
for (const entry of item.inside) if (entry.kind === "directory") dirPaths.add(entry.path);
|
|
1019
|
+
}
|
|
1020
|
+
const childrenOf = /* @__PURE__ */ new Map();
|
|
1021
|
+
for (const entry of tree) append(childrenOf, dirname(entry.path), entry);
|
|
1022
|
+
const dirs = /* @__PURE__ */ new Map();
|
|
1023
|
+
for (const dirPath of dirPaths) {
|
|
1024
|
+
const children = [];
|
|
1025
|
+
for (const entry of childrenOf.get(dirPath) ?? []) {
|
|
1026
|
+
if (entry.kind === "directory") {
|
|
1027
|
+
children.push({
|
|
1028
|
+
uri: uriOf(entry.path),
|
|
1029
|
+
name: basename(entry.path),
|
|
1030
|
+
mimeType: _modelcontextprotocol_core_ext_skills.DIRECTORY_MIME_TYPE
|
|
1031
|
+
});
|
|
1032
|
+
continue;
|
|
1033
|
+
}
|
|
1034
|
+
const file = files.get(uriOf(entry.path));
|
|
1035
|
+
if (entry.kind === "file" && file !== void 0) children.push({
|
|
1036
|
+
uri: file.uri,
|
|
1037
|
+
name: basename(entry.path),
|
|
1038
|
+
mimeType: file.mimeType,
|
|
1039
|
+
size: file.size
|
|
1040
|
+
});
|
|
1041
|
+
}
|
|
1042
|
+
children.sort((a, b) => compareUris(a.uri, b.uri));
|
|
1043
|
+
dirs.set(uriOf(dirPath), children);
|
|
1044
|
+
}
|
|
1045
|
+
const listed = built.map((item) => ({
|
|
1046
|
+
uri: item.skill.uri,
|
|
1047
|
+
name: item.skill.frontmatter.name,
|
|
1048
|
+
description: item.skill.frontmatter.description,
|
|
1049
|
+
mimeType: "text/markdown",
|
|
1050
|
+
size: item.manifestSize
|
|
1051
|
+
})).toSorted((a, b) => compareUris(a.uri, b.uri));
|
|
1052
|
+
return {
|
|
1053
|
+
ordered,
|
|
1054
|
+
skills: new Map(ordered.map((skill) => [skill.uri, skill])),
|
|
1055
|
+
files,
|
|
1056
|
+
dirs,
|
|
1057
|
+
listed
|
|
1058
|
+
};
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
//#endregion
|
|
1062
|
+
//#region src/ext/skills/internal.ts
|
|
1063
|
+
const trustedSources = /* @__PURE__ */ new WeakSet();
|
|
1064
|
+
|
|
1065
|
+
//#endregion
|
|
1066
|
+
//#region src/ext/skills/paging.ts
|
|
1067
|
+
const CURSOR_PREFIX = "after:";
|
|
1068
|
+
function encodeCursor(uri) {
|
|
1069
|
+
return encodeBase64(encodeUtf8(CURSOR_PREFIX + uri)).replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/, "");
|
|
1070
|
+
}
|
|
1071
|
+
function decodeCursor(cursor) {
|
|
1072
|
+
try {
|
|
1073
|
+
const base64 = cursor.replaceAll("-", "+").replaceAll("_", "/");
|
|
1074
|
+
const decoded = decodeUtf8Lossless(decodeBase64(base64 + "=".repeat((4 - base64.length % 4) % 4)));
|
|
1075
|
+
return decoded?.startsWith(CURSOR_PREFIX) ? decoded.slice(6) : void 0;
|
|
1076
|
+
} catch {
|
|
1077
|
+
return;
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
function paginate(items, cursor, pageSize, key) {
|
|
1081
|
+
let start = 0;
|
|
1082
|
+
if (cursor !== void 0) {
|
|
1083
|
+
const after = decodeCursor(cursor);
|
|
1084
|
+
if (after === void 0) throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InvalidParams, "Invalid cursor");
|
|
1085
|
+
start = items.findIndex((item) => compareUris(key(item), after) > 0);
|
|
1086
|
+
if (start === -1) start = items.length;
|
|
1087
|
+
}
|
|
1088
|
+
const end = Math.min(items.length, start + pageSize);
|
|
1089
|
+
const page = items.slice(start, end);
|
|
1090
|
+
const last = page.at(-1);
|
|
1091
|
+
return end < items.length && last !== void 0 ? {
|
|
1092
|
+
items: page,
|
|
1093
|
+
nextCursor: encodeCursor(key(last))
|
|
1094
|
+
} : { items: page };
|
|
1095
|
+
}
|
|
1096
|
+
function resolvePageSize(pageSize) {
|
|
1097
|
+
if (pageSize === void 0) return 100;
|
|
1098
|
+
if (pageSize === Number.POSITIVE_INFINITY || Number.isSafeInteger(pageSize) && pageSize > 0) return pageSize;
|
|
1099
|
+
throw new RangeError(`pageSize must be a positive integer or Infinity (got ${pageSize})`);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
//#endregion
|
|
1103
|
+
//#region src/ext/skills/catalogSource.ts
|
|
1104
|
+
const errorText = (error) => error instanceof Error ? error.message : String(error);
|
|
1105
|
+
function catalogSource(state, files, pageSize, warn) {
|
|
1106
|
+
const source = {
|
|
1107
|
+
async list({ cursor }) {
|
|
1108
|
+
const page = paginate(state.current.ordered, cursor, pageSize, (skill) => skill.uri);
|
|
1109
|
+
return page.nextCursor === void 0 ? { skills: page.items } : {
|
|
1110
|
+
skills: page.items,
|
|
1111
|
+
nextCursor: page.nextCursor
|
|
1112
|
+
};
|
|
1113
|
+
},
|
|
1114
|
+
async get(uri) {
|
|
1115
|
+
const canonical = canonicalUri(uri);
|
|
1116
|
+
return canonical === void 0 ? void 0 : state.current.skills.get(canonical);
|
|
1117
|
+
},
|
|
1118
|
+
read: (uri) => readChecked(state.current, files, uri, warn),
|
|
1119
|
+
async readDirectory(uri, { cursor }) {
|
|
1120
|
+
const canonical = canonicalUri(uri);
|
|
1121
|
+
const children = canonical === void 0 ? void 0 : state.current.dirs.get(canonical);
|
|
1122
|
+
if (children === void 0) return;
|
|
1123
|
+
const page = paginate(children, cursor, pageSize, (child) => child.uri);
|
|
1124
|
+
return page.nextCursor === void 0 ? { resources: page.items } : {
|
|
1125
|
+
resources: page.items,
|
|
1126
|
+
nextCursor: page.nextCursor
|
|
1127
|
+
};
|
|
1128
|
+
},
|
|
1129
|
+
async listResources() {
|
|
1130
|
+
return [...state.current.listed];
|
|
1131
|
+
}
|
|
1132
|
+
};
|
|
1133
|
+
trustedSources.add(source);
|
|
1134
|
+
return source;
|
|
1135
|
+
}
|
|
1136
|
+
async function readChecked(snapshot, files, uri, warn) {
|
|
1137
|
+
const canonical = canonicalUri(uri);
|
|
1138
|
+
const file = canonical === void 0 ? void 0 : snapshot.files.get(canonical);
|
|
1139
|
+
if (file === void 0) {
|
|
1140
|
+
if (canonical !== void 0 && snapshot.dirs.has(canonical)) throw new require_src.ResourceNotFoundError(uri, `${uri} is a directory; use resources/directory/read`);
|
|
1141
|
+
return;
|
|
1142
|
+
}
|
|
1143
|
+
let bytes;
|
|
1144
|
+
try {
|
|
1145
|
+
bytes = await files.read(file.path);
|
|
1146
|
+
} catch (error) {
|
|
1147
|
+
warn({
|
|
1148
|
+
path: file.path,
|
|
1149
|
+
message: `could not be read: ${errorText(error)}`
|
|
1150
|
+
});
|
|
1151
|
+
throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InternalError, `${uri} could not be read`);
|
|
1152
|
+
}
|
|
1153
|
+
if (bytes.byteLength !== file.size || await sha256Digest(bytes) !== file.digest) {
|
|
1154
|
+
warn({
|
|
1155
|
+
path: file.path,
|
|
1156
|
+
message: "changed since the catalog was loaded; call reload()"
|
|
1157
|
+
});
|
|
1158
|
+
throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InternalError, `${uri} changed since the skills catalog was loaded`);
|
|
1159
|
+
}
|
|
1160
|
+
const text = decodeUtf8Lossless(bytes);
|
|
1161
|
+
return text === void 0 ? {
|
|
1162
|
+
bytes,
|
|
1163
|
+
mimeType: file.mimeType
|
|
1164
|
+
} : {
|
|
1165
|
+
text,
|
|
1166
|
+
mimeType: file.mimeType
|
|
1167
|
+
};
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
//#endregion
|
|
1171
|
+
//#region src/ext/skills/files.ts
|
|
1172
|
+
function splitRelativePath(path, label) {
|
|
1173
|
+
const segments = path.split("/").filter((segment) => segment !== "" && segment !== ".");
|
|
1174
|
+
if (segments.length === 0 || segments.includes("..")) throw new TypeError(`${label} must be a relative path without ".." (got ${JSON.stringify(path)})`);
|
|
1175
|
+
return segments;
|
|
1176
|
+
}
|
|
1177
|
+
function indexRecord(keys) {
|
|
1178
|
+
const dirs = /* @__PURE__ */ new Map();
|
|
1179
|
+
const files = /* @__PURE__ */ new Map();
|
|
1180
|
+
for (const key of keys) {
|
|
1181
|
+
const segments = splitRelativePath(key, "file path");
|
|
1182
|
+
let dir = "";
|
|
1183
|
+
for (const [depth, name] of segments.entries()) {
|
|
1184
|
+
let children = dirs.get(dir);
|
|
1185
|
+
if (children === void 0) {
|
|
1186
|
+
children = /* @__PURE__ */ new Map();
|
|
1187
|
+
dirs.set(dir, children);
|
|
1188
|
+
}
|
|
1189
|
+
children.set(name, {
|
|
1190
|
+
name,
|
|
1191
|
+
kind: depth < segments.length - 1 ? "directory" : "file"
|
|
1192
|
+
});
|
|
1193
|
+
dir = dir === "" ? name : `${dir}/${name}`;
|
|
1194
|
+
}
|
|
1195
|
+
files.set(dir, key);
|
|
1196
|
+
}
|
|
1197
|
+
return {
|
|
1198
|
+
dirs,
|
|
1199
|
+
files
|
|
1200
|
+
};
|
|
1201
|
+
}
|
|
1202
|
+
/**
|
|
1203
|
+
* An in-memory adapter. The record is re-read whenever a walk starts — `list('')` — so `reload()` sees later changes.
|
|
1204
|
+
* Other calls use the index from that read (built on first use if no walk has started), so their cost does not grow
|
|
1205
|
+
* with the record. File contents are always read live.
|
|
1206
|
+
*/
|
|
1207
|
+
function memorySkillFiles(files) {
|
|
1208
|
+
let index;
|
|
1209
|
+
const reindex = () => {
|
|
1210
|
+
index = indexRecord(Object.keys(files));
|
|
1211
|
+
return index;
|
|
1212
|
+
};
|
|
1213
|
+
return {
|
|
1214
|
+
async list(dir) {
|
|
1215
|
+
const children = (dir === "" ? reindex() : index ?? reindex()).dirs.get(dir);
|
|
1216
|
+
if (children !== void 0) return Array.from(children.values(), (entry) => ({ ...entry }));
|
|
1217
|
+
if (dir === "") return [];
|
|
1218
|
+
throw new Error(`no such directory: ${dir}`);
|
|
1219
|
+
},
|
|
1220
|
+
async read(path) {
|
|
1221
|
+
const key = Object.hasOwn(files, path) ? path : (index ?? reindex()).files.get(path);
|
|
1222
|
+
const content = key === void 0 ? void 0 : files[key];
|
|
1223
|
+
if (content === void 0) throw new Error(`no such file: ${path}`);
|
|
1224
|
+
return typeof content === "string" ? encodeUtf8(content) : content;
|
|
1225
|
+
}
|
|
1226
|
+
};
|
|
1227
|
+
}
|
|
1228
|
+
|
|
1229
|
+
//#endregion
|
|
1230
|
+
//#region src/ext/skills/extension.ts
|
|
1231
|
+
const SCHEME_URI = /^[a-z][\d+.a-z-]*:\/\//i;
|
|
1232
|
+
function describeEntry(value) {
|
|
1233
|
+
const uri = value?.uri;
|
|
1234
|
+
return typeof uri === "string" ? uri : "(entry without a uri)";
|
|
1235
|
+
}
|
|
1236
|
+
function toContents(uri, result) {
|
|
1237
|
+
const mimeType = result.mimeType === void 0 ? {} : { mimeType: result.mimeType };
|
|
1238
|
+
return "text" in result ? {
|
|
1239
|
+
uri,
|
|
1240
|
+
...mimeType,
|
|
1241
|
+
text: result.text
|
|
1242
|
+
} : {
|
|
1243
|
+
uri,
|
|
1244
|
+
...mimeType,
|
|
1245
|
+
blob: encodeBase64(result.bytes)
|
|
1246
|
+
};
|
|
1247
|
+
}
|
|
1248
|
+
const skillsServers = /* @__PURE__ */ new WeakSet();
|
|
1249
|
+
const afterAttach = /* @__PURE__ */ new WeakMap();
|
|
1250
|
+
const ONE_PER_SERVER = "another skills extension is already attached to this server; attach one per server (to serve several folders or sources, combine them behind one SkillFiles adapter or SkillSource)";
|
|
1251
|
+
/**
|
|
1252
|
+
* The MCP Skills extension (SEP-2640) for one catalog of skills. One instance
|
|
1253
|
+
* serves any number of servers: call {@linkcode SkillsExtension.attach} on each
|
|
1254
|
+
* (before connecting). Build it from a {@linkcode SkillSource}, or with
|
|
1255
|
+
* `SkillsExtension.load(files)` from storage.
|
|
1256
|
+
*/
|
|
1257
|
+
var SkillsExtension = class {
|
|
1258
|
+
id = _modelcontextprotocol_core_ext_skills.SKILLS_EXTENSION_ID;
|
|
1259
|
+
#source;
|
|
1260
|
+
#trusted;
|
|
1261
|
+
#baseRoot;
|
|
1262
|
+
#cacheHint;
|
|
1263
|
+
#cache;
|
|
1264
|
+
#strict;
|
|
1265
|
+
#warn;
|
|
1266
|
+
#attached = /* @__PURE__ */ new WeakSet();
|
|
1267
|
+
/**
|
|
1268
|
+
* Builds a catalog from storage through a {@linkcode SkillFiles} adapter
|
|
1269
|
+
* (`memorySkillFiles`, `nodeSkillFiles`, or your own).
|
|
1270
|
+
*/
|
|
1271
|
+
static load(files, options) {
|
|
1272
|
+
return SkillCatalog.load(files, options);
|
|
1273
|
+
}
|
|
1274
|
+
constructor(options) {
|
|
1275
|
+
if (options.cacheHint !== void 0) require_src.assertValidCacheHint(options.cacheHint, "skills cacheHint");
|
|
1276
|
+
const baseUri = options.baseUri ?? "skill://";
|
|
1277
|
+
const canonical = SCHEME_URI.test(baseUri) ? canonicalUri(baseUri) : void 0;
|
|
1278
|
+
if (canonical === void 0) throw new TypeError(`baseUri must be a "scheme://…" URI (got ${JSON.stringify(baseUri)})`);
|
|
1279
|
+
this.#baseRoot = canonical.endsWith("://") ? canonical : `${trimTrailingSlashes(canonical)}/`;
|
|
1280
|
+
this.#source = options.source;
|
|
1281
|
+
this.#trusted = trustedSources.has(options.source);
|
|
1282
|
+
this.#cacheHint = options.cacheHint;
|
|
1283
|
+
this.#cache = {
|
|
1284
|
+
ttlMs: options.cacheHint?.ttlMs ?? 0,
|
|
1285
|
+
cacheScope: options.cacheHint?.cacheScope ?? "private"
|
|
1286
|
+
};
|
|
1287
|
+
this.#strict = options.strict ?? false;
|
|
1288
|
+
this.#warn = options.onWarning ?? defaultWarn;
|
|
1289
|
+
}
|
|
1290
|
+
/**
|
|
1291
|
+
* Serves these skills on `mcp`: registers the skill resource template and
|
|
1292
|
+
* the skills methods, then declares the capability. Must run before
|
|
1293
|
+
* connecting. Calling it again for the same server does nothing. One
|
|
1294
|
+
* skills extension per server: attaching another one throws and leaves the
|
|
1295
|
+
* server as it was, as does attaching to a server that already handles one
|
|
1296
|
+
* of the skills methods.
|
|
1297
|
+
*
|
|
1298
|
+
* @experimental How an extension is wired to a server may change in a minor release.
|
|
1299
|
+
*/
|
|
1300
|
+
attach(mcp) {
|
|
1301
|
+
if (this.#attached.has(mcp)) return;
|
|
1302
|
+
if (mcp.isConnected()) throw new Error("attach skills before connecting the server");
|
|
1303
|
+
if (skillsServers.has(mcp)) throw new Error(ONE_PER_SERVER);
|
|
1304
|
+
const server = mcp.server;
|
|
1305
|
+
const directoryRead = this.#source.readDirectory !== void 0;
|
|
1306
|
+
const list = this.#source.listResources === void 0 ? void 0 : (ctx) => this.#listResources(ctx);
|
|
1307
|
+
server.assertCanSetRequestHandler(_modelcontextprotocol_core_ext_skills.SKILLS_LIST_METHOD);
|
|
1308
|
+
server.assertCanSetRequestHandler(_modelcontextprotocol_core_ext_skills.SKILLS_GET_METHOD);
|
|
1309
|
+
if (directoryRead) server.assertCanSetRequestHandler(_modelcontextprotocol_core_ext_skills.RESOURCES_DIRECTORY_READ_METHOD);
|
|
1310
|
+
mcp.registerResource(_modelcontextprotocol_core_ext_skills.SKILLS_EXTENSION_ID, new require_mcp.ResourceTemplate(`${this.#baseRoot}{+path}`, { list }), this.#cacheHint === void 0 ? {} : { cacheHint: this.#cacheHint }, (uri, _variables, ctx) => this.#read(uri, ctx));
|
|
1311
|
+
server.setRequestHandler(_modelcontextprotocol_core_ext_skills.SKILLS_LIST_METHOD, { params: _modelcontextprotocol_core_ext_skills.ListSkillsRequestParamsSchema }, (params, ctx) => this.#list(server, params.cursor, ctx));
|
|
1312
|
+
server.setRequestHandler(_modelcontextprotocol_core_ext_skills.SKILLS_GET_METHOD, { params: _modelcontextprotocol_core_ext_skills.GetSkillRequestParamsSchema }, (params, ctx) => this.#get(server, params.uri, ctx));
|
|
1313
|
+
if (directoryRead) server.setRequestHandler(_modelcontextprotocol_core_ext_skills.RESOURCES_DIRECTORY_READ_METHOD, { params: _modelcontextprotocol_core_ext_skills.ReadResourceDirectoryRequestParamsSchema }, (params, ctx) => this.#readDirectory(server, params.uri, params.cursor, ctx));
|
|
1314
|
+
server.registerCapabilities({ extensions: { [_modelcontextprotocol_core_ext_skills.SKILLS_EXTENSION_ID]: directoryRead ? { directoryRead: true } : {} } });
|
|
1315
|
+
this.#attached.add(mcp);
|
|
1316
|
+
skillsServers.add(mcp);
|
|
1317
|
+
afterAttach.get(this)?.(mcp);
|
|
1318
|
+
}
|
|
1319
|
+
#cacheFields(server) {
|
|
1320
|
+
return require_src.isModernProtocolVersion(server.getNegotiatedProtocolVersion() ?? "") ? { ...this.#cache } : {};
|
|
1321
|
+
}
|
|
1322
|
+
#keepValid(skills) {
|
|
1323
|
+
if (this.#trusted) return [...skills];
|
|
1324
|
+
const kept = [];
|
|
1325
|
+
for (const candidate of skills) {
|
|
1326
|
+
const problems = skillEntryProblems(candidate);
|
|
1327
|
+
if (problems.length === 0) {
|
|
1328
|
+
kept.push(candidate);
|
|
1329
|
+
continue;
|
|
1330
|
+
}
|
|
1331
|
+
const message = `invalid skill entry from the source: ${problems.join("; ")}`;
|
|
1332
|
+
if (this.#strict) throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InternalError, `${describeEntry(candidate)}: ${message}`);
|
|
1333
|
+
this.#warn({
|
|
1334
|
+
path: describeEntry(candidate),
|
|
1335
|
+
message: `${message} (dropped from skills/list)`
|
|
1336
|
+
});
|
|
1337
|
+
}
|
|
1338
|
+
return kept;
|
|
1339
|
+
}
|
|
1340
|
+
async #list(server, cursor, ctx) {
|
|
1341
|
+
const page = await this.#source.list(cursor === void 0 ? {} : { cursor }, ctx);
|
|
1342
|
+
return {
|
|
1343
|
+
skills: this.#keepValid(page.skills),
|
|
1344
|
+
...page.nextCursor === void 0 ? {} : { nextCursor: page.nextCursor },
|
|
1345
|
+
...this.#cacheFields(server)
|
|
1346
|
+
};
|
|
1347
|
+
}
|
|
1348
|
+
async #get(server, uri, ctx) {
|
|
1349
|
+
const skill = await this.#source.get(uri, ctx);
|
|
1350
|
+
if (skill === void 0) throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InvalidParams, `No skill is served at ${uri}`);
|
|
1351
|
+
if (!this.#trusted) {
|
|
1352
|
+
const problems = skillEntryProblems(skill);
|
|
1353
|
+
if (problems.length > 0) {
|
|
1354
|
+
const message = `invalid skill entry from the source: ${problems.join("; ")}`;
|
|
1355
|
+
this.#warn({
|
|
1356
|
+
path: uri,
|
|
1357
|
+
message
|
|
1358
|
+
});
|
|
1359
|
+
throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InternalError, message);
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
if (canonicalUri(skill.uri) !== canonicalUri(uri)) throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InternalError, `the skill source returned ${skill.uri} for ${uri}`);
|
|
1363
|
+
return {
|
|
1364
|
+
skill,
|
|
1365
|
+
...this.#cacheFields(server)
|
|
1366
|
+
};
|
|
1367
|
+
}
|
|
1368
|
+
async #read(uri, ctx) {
|
|
1369
|
+
const result = await this.#source.read(uri.href, ctx);
|
|
1370
|
+
if (result === void 0) throw new require_src.ResourceNotFoundError(uri.href);
|
|
1371
|
+
return { contents: [toContents(uri.href, result)] };
|
|
1372
|
+
}
|
|
1373
|
+
async #readDirectory(server, uri, cursor, ctx) {
|
|
1374
|
+
const page = await this.#source.readDirectory(uri, cursor === void 0 ? {} : { cursor }, ctx);
|
|
1375
|
+
if (page === void 0) throw new require_src.ProtocolError(require_src.ProtocolErrorCode.InvalidParams, `${uri} is not a directory resource`);
|
|
1376
|
+
return {
|
|
1377
|
+
resources: page.resources,
|
|
1378
|
+
...page.nextCursor === void 0 ? {} : { nextCursor: page.nextCursor },
|
|
1379
|
+
...this.#cacheFields(server)
|
|
1380
|
+
};
|
|
1381
|
+
}
|
|
1382
|
+
async #listResources(ctx) {
|
|
1383
|
+
const resources = await this.#source.listResources(ctx);
|
|
1384
|
+
const kept = [];
|
|
1385
|
+
for (const resource of resources) if (canonicalUri(resource.uri)?.startsWith(this.#baseRoot)) kept.push(resource);
|
|
1386
|
+
else this.#warn({
|
|
1387
|
+
path: resource.uri,
|
|
1388
|
+
message: `listResources returned a URI outside ${this.#baseRoot}; dropped from resources/list`
|
|
1389
|
+
});
|
|
1390
|
+
return { resources: kept };
|
|
1391
|
+
}
|
|
1392
|
+
};
|
|
1393
|
+
const PRUNE_THRESHOLD = 1024;
|
|
1394
|
+
function resolveLimits(limits) {
|
|
1395
|
+
const resolved = {
|
|
1396
|
+
files: limits?.files ?? _modelcontextprotocol_core_ext_skills.SKILL_LIMITS.files,
|
|
1397
|
+
bytes: limits?.bytes ?? _modelcontextprotocol_core_ext_skills.SKILL_LIMITS.bytes
|
|
1398
|
+
};
|
|
1399
|
+
for (const [name, value] of Object.entries(resolved)) if (value !== Number.POSITIVE_INFINITY && !(Number.isSafeInteger(value) && value > 0)) throw new RangeError(`limits.${name} must be a positive integer or Infinity (got ${value})`);
|
|
1400
|
+
return resolved;
|
|
1401
|
+
}
|
|
1402
|
+
function listingKey(snapshot) {
|
|
1403
|
+
return JSON.stringify(snapshot.listed.map((resource) => [
|
|
1404
|
+
resource.uri,
|
|
1405
|
+
resource.name,
|
|
1406
|
+
resource.description
|
|
1407
|
+
]));
|
|
1408
|
+
}
|
|
1409
|
+
function diffSnapshots(previous, next) {
|
|
1410
|
+
const same = (uri) => JSON.stringify(previous.skills.get(uri)) === JSON.stringify(next.skills.get(uri));
|
|
1411
|
+
return {
|
|
1412
|
+
added: [...next.skills.keys()].filter((uri) => !previous.skills.has(uri)),
|
|
1413
|
+
removed: [...previous.skills.keys()].filter((uri) => !next.skills.has(uri)),
|
|
1414
|
+
changed: [...next.skills.keys()].filter((uri) => previous.skills.has(uri) && !same(uri))
|
|
1415
|
+
};
|
|
1416
|
+
}
|
|
1417
|
+
/**
|
|
1418
|
+
* A catalog the SDK built from storage. It holds metadata only: every file
|
|
1419
|
+
* read goes through the adapter and is checked against the published entry.
|
|
1420
|
+
*/
|
|
1421
|
+
var SkillCatalog = class SkillCatalog extends SkillsExtension {
|
|
1422
|
+
#state;
|
|
1423
|
+
#files;
|
|
1424
|
+
#build;
|
|
1425
|
+
#servers = /* @__PURE__ */ new Set();
|
|
1426
|
+
#pruneAt = PRUNE_THRESHOLD;
|
|
1427
|
+
#queue = Promise.resolve();
|
|
1428
|
+
constructor(init) {
|
|
1429
|
+
super(init.sourceOptions);
|
|
1430
|
+
this.#state = init.state;
|
|
1431
|
+
this.#files = init.files;
|
|
1432
|
+
this.#build = init.build;
|
|
1433
|
+
afterAttach.set(this, (mcp) => this.#track(mcp));
|
|
1434
|
+
}
|
|
1435
|
+
static async load(files, options = {}) {
|
|
1436
|
+
const pageSize = resolvePageSize(options.pageSize);
|
|
1437
|
+
const build = {
|
|
1438
|
+
prefix: options.prefix === void 0 ? [] : splitRelativePath(options.prefix, "prefix"),
|
|
1439
|
+
limits: resolveLimits(options.limits),
|
|
1440
|
+
strict: options.strict ?? false,
|
|
1441
|
+
warn: options.onWarning ?? defaultWarn
|
|
1442
|
+
};
|
|
1443
|
+
const state = { current: await buildCatalogSnapshot(files, build) };
|
|
1444
|
+
return new SkillCatalog({
|
|
1445
|
+
state,
|
|
1446
|
+
files,
|
|
1447
|
+
build,
|
|
1448
|
+
sourceOptions: {
|
|
1449
|
+
source: catalogSource(state, files, pageSize, build.warn),
|
|
1450
|
+
baseUri: build.prefix.length === 0 ? "skill://" : joinUri("skill://", build.prefix),
|
|
1451
|
+
cacheHint: options.cacheHint,
|
|
1452
|
+
strict: options.strict,
|
|
1453
|
+
onWarning: build.warn
|
|
1454
|
+
}
|
|
1455
|
+
});
|
|
1456
|
+
}
|
|
1457
|
+
/** The skills this catalog serves, sorted by URI. Frozen (deeply): they are exactly what clients receive. */
|
|
1458
|
+
get entries() {
|
|
1459
|
+
return this.#state.current.ordered;
|
|
1460
|
+
}
|
|
1461
|
+
/**
|
|
1462
|
+
* Scans the storage again and swaps the new catalog in at once. All or
|
|
1463
|
+
* nothing: on failure the old catalog keeps serving. Overlapping calls run
|
|
1464
|
+
* one after another.
|
|
1465
|
+
*
|
|
1466
|
+
* When skills are added or removed, or a `SKILL.md`'s name or description
|
|
1467
|
+
* changes, the result has `listChanged: true` and `resources/list_changed`
|
|
1468
|
+
* goes out through every attached server that is still connected (stdio,
|
|
1469
|
+
* stateful 2025-11-25 HTTP sessions). Servers that `createMcpHandler` builds per
|
|
1470
|
+
* request are closed by then, so publish the change on the handler:
|
|
1471
|
+
* `if (changes.listChanged) handler.notify.resourcesChanged()`. Where the
|
|
1472
|
+
* runtime has no `WeakRef` (Cloudflare Workers with a compatibility date
|
|
1473
|
+
* before 2025-05-05), attached servers are not tracked and nothing is sent.
|
|
1474
|
+
*/
|
|
1475
|
+
reload() {
|
|
1476
|
+
const run = this.#queue.then(() => this.#reloadNow());
|
|
1477
|
+
this.#queue = run.then(() => {}, () => {});
|
|
1478
|
+
return run;
|
|
1479
|
+
}
|
|
1480
|
+
#track(mcp) {
|
|
1481
|
+
if (typeof WeakRef !== "function") return;
|
|
1482
|
+
if (this.#servers.size >= this.#pruneAt) {
|
|
1483
|
+
for (const reference of this.#servers) if (reference.deref() === void 0) this.#servers.delete(reference);
|
|
1484
|
+
this.#pruneAt = Math.max(PRUNE_THRESHOLD, 2 * this.#servers.size);
|
|
1485
|
+
}
|
|
1486
|
+
this.#servers.add(new WeakRef(mcp));
|
|
1487
|
+
}
|
|
1488
|
+
async #reloadNow() {
|
|
1489
|
+
const previous = this.#state.current;
|
|
1490
|
+
const next = await buildCatalogSnapshot(this.#files, this.#build);
|
|
1491
|
+
this.#state.current = next;
|
|
1492
|
+
const listChanged = listingKey(previous) !== listingKey(next);
|
|
1493
|
+
if (listChanged) this.#notify();
|
|
1494
|
+
return {
|
|
1495
|
+
...diffSnapshots(previous, next),
|
|
1496
|
+
listChanged
|
|
1497
|
+
};
|
|
1498
|
+
}
|
|
1499
|
+
#notify() {
|
|
1500
|
+
for (const reference of this.#servers) {
|
|
1501
|
+
const mcp = reference.deref();
|
|
1502
|
+
if (mcp === void 0) {
|
|
1503
|
+
this.#servers.delete(reference);
|
|
1504
|
+
continue;
|
|
1505
|
+
}
|
|
1506
|
+
if (!mcp.isConnected()) continue;
|
|
1507
|
+
const sessionId = mcp.server.transport?.sessionId;
|
|
1508
|
+
try {
|
|
1509
|
+
Promise.resolve(mcp.server.sendResourceListChanged()).catch((error) => this.#notifyFailed(sessionId, error));
|
|
1510
|
+
} catch (error) {
|
|
1511
|
+
this.#notifyFailed(sessionId, error);
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
#notifyFailed(sessionId, error) {
|
|
1516
|
+
const to = sessionId === void 0 ? "" : ` to session ${sessionId}`;
|
|
1517
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
1518
|
+
try {
|
|
1519
|
+
this.#build.warn({
|
|
1520
|
+
path: "resources/list_changed",
|
|
1521
|
+
message: `could not be sent${to}: ${reason}`
|
|
1522
|
+
});
|
|
1523
|
+
} catch {}
|
|
1524
|
+
}
|
|
1525
|
+
};
|
|
1526
|
+
|
|
1527
|
+
//#endregion
|
|
1528
|
+
Object.defineProperty(exports, 'SkillCatalog', {
|
|
1529
|
+
enumerable: true,
|
|
1530
|
+
get: function () {
|
|
1531
|
+
return SkillCatalog;
|
|
1532
|
+
}
|
|
1533
|
+
});
|
|
1534
|
+
Object.defineProperty(exports, 'SkillCatalogError', {
|
|
1535
|
+
enumerable: true,
|
|
1536
|
+
get: function () {
|
|
1537
|
+
return SkillCatalogError;
|
|
1538
|
+
}
|
|
1539
|
+
});
|
|
1540
|
+
Object.defineProperty(exports, 'SkillsExtension', {
|
|
1541
|
+
enumerable: true,
|
|
1542
|
+
get: function () {
|
|
1543
|
+
return SkillsExtension;
|
|
1544
|
+
}
|
|
1545
|
+
});
|
|
1546
|
+
Object.defineProperty(exports, 'buildSkillEntry', {
|
|
1547
|
+
enumerable: true,
|
|
1548
|
+
get: function () {
|
|
1549
|
+
return buildSkillEntry;
|
|
1550
|
+
}
|
|
1551
|
+
});
|
|
1552
|
+
Object.defineProperty(exports, 'encodeUtf8', {
|
|
1553
|
+
enumerable: true,
|
|
1554
|
+
get: function () {
|
|
1555
|
+
return encodeUtf8;
|
|
1556
|
+
}
|
|
1557
|
+
});
|
|
1558
|
+
Object.defineProperty(exports, 'joinUri', {
|
|
1559
|
+
enumerable: true,
|
|
1560
|
+
get: function () {
|
|
1561
|
+
return joinUri;
|
|
1562
|
+
}
|
|
1563
|
+
});
|
|
1564
|
+
Object.defineProperty(exports, 'memorySkillFiles', {
|
|
1565
|
+
enumerable: true,
|
|
1566
|
+
get: function () {
|
|
1567
|
+
return memorySkillFiles;
|
|
1568
|
+
}
|
|
1569
|
+
});
|
|
1570
|
+
Object.defineProperty(exports, 'splitRelativePath', {
|
|
1571
|
+
enumerable: true,
|
|
1572
|
+
get: function () {
|
|
1573
|
+
return splitRelativePath;
|
|
1574
|
+
}
|
|
1575
|
+
});
|
|
1576
|
+
//# sourceMappingURL=extension-Co9uP6Ds.cjs.map
|