mcp-use 2.0.0-beta.9 → 2.0.1

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.
Files changed (1238) hide show
  1. package/README.md +379 -0
  2. package/dist/bin.js +1 -179
  3. package/dist/branding.d.ts +7 -11
  4. package/dist/buffered-response.d.ts +27 -0
  5. package/dist/{chunk-GTOOHAI2.js → chunk-GX6PGIEO.js} +33 -143
  6. package/dist/chunk-IS7FKXFR.js +1 -0
  7. package/dist/chunk-KGTOBJW2.js +1 -0
  8. package/dist/chunk-MIZQEWZS.js +1 -0
  9. package/dist/chunk-OJF6B5EU.js +1 -0
  10. package/dist/chunk-PSKSL567.js +1 -0
  11. package/dist/chunk-XYHHP43G.js +1 -0
  12. package/dist/chunk-Y26DNVWA.js +3 -0
  13. package/dist/chunk-ZMU5USAZ.js +1 -0
  14. package/dist/chunk-ZXGOR5YI.js +2 -0
  15. package/dist/completable.d.ts +0 -1
  16. package/dist/config.d.ts +24 -84
  17. package/dist/context.d.ts +154 -60
  18. package/dist/fetch-app.d.ts +3 -28
  19. package/dist/index-node.js +781 -0
  20. package/dist/index.d.ts +31 -14
  21. package/dist/index.js +41 -2548
  22. package/dist/internal/node-http-unavailable.js +1 -0
  23. package/dist/internal/node-http.js +1 -0
  24. package/dist/internal/resource-completion.js +1 -7
  25. package/dist/internal/usage.js +1 -0
  26. package/dist/landing-handler-TG6LVQBI.js +1 -0
  27. package/dist/landing-handler.d.ts +1 -2
  28. package/dist/landing.d.ts +19 -5
  29. package/dist/landing.js +1 -7
  30. package/dist/listen-address.d.ts +8 -0
  31. package/dist/logging.d.ts +0 -1
  32. package/dist/mcp-proxy-NETCUGUD.js +2 -0
  33. package/dist/mcp-proxy.d.ts +158 -0
  34. package/dist/middleware/cors.d.ts +0 -1
  35. package/dist/middleware/mcp-middleware.d.ts +178 -104
  36. package/dist/mount-mcp.d.ts +0 -1
  37. package/dist/next/config.d.ts +67 -0
  38. package/dist/next/handler.d.ts +32 -0
  39. package/dist/next/index.d.ts +9 -0
  40. package/dist/next/index.js +1 -0
  41. package/dist/node-bridge.d.ts +33 -4
  42. package/dist/node-bridge.js +1 -151
  43. package/dist/node-http-unavailable.d.ts +9 -0
  44. package/dist/node-http.d.ts +2 -0
  45. package/dist/oauth/adapters.d.ts +0 -1
  46. package/dist/oauth/auth0.d.ts +24 -1
  47. package/dist/oauth/auth0.js +1 -61
  48. package/dist/oauth/better-auth.d.ts +23 -1
  49. package/dist/oauth/better-auth.js +1 -76
  50. package/dist/oauth/clerk.d.ts +30 -3
  51. package/dist/oauth/clerk.js +1 -70
  52. package/dist/oauth/errors.d.ts +3 -0
  53. package/dist/oauth/guards.d.ts +0 -1
  54. package/dist/oauth/index.d.ts +0 -1
  55. package/dist/oauth/index.js +1 -28
  56. package/dist/oauth/internal.d.ts +0 -1
  57. package/dist/oauth/jwt.d.ts +10 -4
  58. package/dist/oauth/keycloak.d.ts +28 -1
  59. package/dist/oauth/keycloak.js +1 -94
  60. package/dist/oauth/provider.d.ts +17 -2
  61. package/dist/oauth/supabase.d.ts +38 -2
  62. package/dist/oauth/supabase.js +1 -101
  63. package/dist/oauth/workos.d.ts +27 -1
  64. package/dist/oauth/workos.js +1 -77
  65. package/dist/openapi/index.d.ts +0 -1
  66. package/dist/openapi/index.js +1 -7
  67. package/dist/openapi/types.d.ts +0 -1
  68. package/dist/prompts.d.ts +7 -4
  69. package/dist/public-route-DAQJGS6K.js +1 -0
  70. package/dist/react/components/error-boundary.d.ts +3 -1
  71. package/dist/react/components/image.d.ts +0 -1
  72. package/dist/react/components/model-context.d.ts +8 -57
  73. package/dist/react/components/theme-provider.d.ts +7 -4
  74. package/dist/react/components/view-controls.d.ts +0 -1
  75. package/dist/react/hooks/use-call-tool.d.ts +29 -12
  76. package/dist/react/hooks/use-display-mode.d.ts +0 -1
  77. package/dist/react/hooks/use-files.d.ts +0 -1
  78. package/dist/react/hooks/use-host-context.d.ts +5 -1
  79. package/dist/react/hooks/use-open-external.d.ts +0 -1
  80. package/dist/react/hooks/use-send-follow-up.d.ts +0 -1
  81. package/dist/react/hooks/use-send-size-changed.d.ts +0 -1
  82. package/dist/react/hooks/use-tool-context.d.ts +0 -1
  83. package/dist/react/hooks/use-view-state.d.ts +23 -0
  84. package/dist/react/hooks/use-view-theme.d.ts +0 -1
  85. package/dist/react/hooks/use-view-tool.d.ts +3 -4
  86. package/dist/react/index.d.ts +9 -9
  87. package/dist/react/index.js +286 -131
  88. package/dist/react/public-assets.d.ts +21 -6
  89. package/dist/react/runtime/bootstrap-view.d.ts +3 -4
  90. package/dist/react/runtime/model-context-store.d.ts +34 -69
  91. package/dist/react/runtime/view-config.d.ts +0 -1
  92. package/dist/react/runtime/view-runtime-context.d.ts +0 -1
  93. package/dist/react/runtime/view-runtime.d.ts +4 -6
  94. package/dist/react/types/file-types.d.ts +2 -1
  95. package/dist/react/types/host-types.d.ts +2 -1
  96. package/dist/react/types/register.d.ts +11 -4
  97. package/dist/react/types/result-types.d.ts +0 -1
  98. package/dist/resource-completion.d.ts +0 -1
  99. package/dist/resources.d.ts +14 -6
  100. package/dist/response-conversion.d.ts +25 -0
  101. package/dist/response-helpers.d.ts +231 -0
  102. package/dist/server.d.ts +118 -51
  103. package/dist/tools.d.ts +14 -14
  104. package/dist/usage.d.ts +14 -0
  105. package/dist/views/capabilities.d.ts +0 -1
  106. package/dist/views/constants.d.ts +1 -2
  107. package/dist/views/csp-env.d.ts +0 -1
  108. package/dist/views/document.d.ts +9 -11
  109. package/dist/views/index.d.ts +0 -1
  110. package/dist/views/origin.d.ts +0 -1
  111. package/dist/views/public-route.d.ts +2 -3
  112. package/dist/views/register.d.ts +1 -2
  113. package/dist/views/routes.d.ts +1 -2
  114. package/dist/views/types.d.ts +21 -17
  115. package/dist/views/wire.d.ts +7 -7
  116. package/dist/vite-client.d.ts +1 -0
  117. package/package.json +41 -21
  118. package/dist/.tsbuildinfo +0 -1
  119. package/dist/bin/args.d.ts +0 -61
  120. package/dist/bin/args.d.ts.map +0 -1
  121. package/dist/bin/main.d.ts +0 -32
  122. package/dist/bin/main.d.ts.map +0 -1
  123. package/dist/bin/start.d.ts +0 -40
  124. package/dist/bin/start.d.ts.map +0 -1
  125. package/dist/bin.d.ts +0 -3
  126. package/dist/bin.d.ts.map +0 -1
  127. package/dist/bin.js.map +0 -1
  128. package/dist/branding.d.ts.map +0 -1
  129. package/dist/chunk-AATFAERC.js +0 -384
  130. package/dist/chunk-AATFAERC.js.map +0 -1
  131. package/dist/chunk-DPL7OEXC.js +0 -518
  132. package/dist/chunk-DPL7OEXC.js.map +0 -1
  133. package/dist/chunk-DQ7LE4ZA.js +0 -237
  134. package/dist/chunk-DQ7LE4ZA.js.map +0 -1
  135. package/dist/chunk-FC2Z2VFO.js +0 -99
  136. package/dist/chunk-FC2Z2VFO.js.map +0 -1
  137. package/dist/chunk-GTOOHAI2.js.map +0 -1
  138. package/dist/chunk-IG2BCCMU.js +0 -98
  139. package/dist/chunk-IG2BCCMU.js.map +0 -1
  140. package/dist/chunk-KIZ72TIK.js +0 -38
  141. package/dist/chunk-KIZ72TIK.js.map +0 -1
  142. package/dist/chunk-QUUANIE4.js +0 -125
  143. package/dist/chunk-QUUANIE4.js.map +0 -1
  144. package/dist/chunk-RQRT27Q3.js +0 -454
  145. package/dist/chunk-RQRT27Q3.js.map +0 -1
  146. package/dist/chunk-SMN75YED.js +0 -66
  147. package/dist/chunk-SMN75YED.js.map +0 -1
  148. package/dist/chunk-STCR3P5O.js +0 -95
  149. package/dist/chunk-STCR3P5O.js.map +0 -1
  150. package/dist/chunk-XUD22N3Y.js +0 -156
  151. package/dist/chunk-XUD22N3Y.js.map +0 -1
  152. package/dist/chunk-Z326HADF.js +0 -82
  153. package/dist/chunk-Z326HADF.js.map +0 -1
  154. package/dist/chunk-ZMIKQPSO.js +0 -151
  155. package/dist/chunk-ZMIKQPSO.js.map +0 -1
  156. package/dist/cli/build.d.ts +0 -61
  157. package/dist/cli/build.d.ts.map +0 -1
  158. package/dist/cli/dev-api.d.ts +0 -49
  159. package/dist/cli/dev-api.d.ts.map +0 -1
  160. package/dist/cli/dev.d.ts +0 -101
  161. package/dist/cli/dev.d.ts.map +0 -1
  162. package/dist/cli/entry.d.ts +0 -31
  163. package/dist/cli/entry.d.ts.map +0 -1
  164. package/dist/cli/index.d.ts +0 -17
  165. package/dist/cli/index.d.ts.map +0 -1
  166. package/dist/cli/port.d.ts +0 -30
  167. package/dist/cli/port.d.ts.map +0 -1
  168. package/dist/cli/tools-declaration.d.ts +0 -22
  169. package/dist/cli/tools-declaration.d.ts.map +0 -1
  170. package/dist/cli/tunnel.d.ts +0 -46
  171. package/dist/cli/tunnel.d.ts.map +0 -1
  172. package/dist/cli/views-bindings.d.ts +0 -30
  173. package/dist/cli/views-bindings.d.ts.map +0 -1
  174. package/dist/cli/views-plugin.d.ts +0 -47
  175. package/dist/cli/views-plugin.d.ts.map +0 -1
  176. package/dist/cli/views.d.ts +0 -75
  177. package/dist/cli/views.d.ts.map +0 -1
  178. package/dist/cli/vite-config.d.ts +0 -21
  179. package/dist/cli/vite-config.d.ts.map +0 -1
  180. package/dist/cli/workspace.d.ts +0 -107
  181. package/dist/cli/workspace.d.ts.map +0 -1
  182. package/dist/commands/build.d.ts +0 -8
  183. package/dist/commands/build.d.ts.map +0 -1
  184. package/dist/commands/build.js +0 -374
  185. package/dist/commands/build.js.map +0 -1
  186. package/dist/commands/client.d.ts +0 -22
  187. package/dist/commands/client.d.ts.map +0 -1
  188. package/dist/commands/client.js +0 -14
  189. package/dist/commands/client.js.map +0 -1
  190. package/dist/commands/cloud-api.d.ts +0 -70
  191. package/dist/commands/cloud-api.d.ts.map +0 -1
  192. package/dist/commands/deploy.d.ts +0 -3
  193. package/dist/commands/deploy.d.ts.map +0 -1
  194. package/dist/commands/deploy.js +0 -242
  195. package/dist/commands/deploy.js.map +0 -1
  196. package/dist/commands/deployments.d.ts +0 -3
  197. package/dist/commands/deployments.d.ts.map +0 -1
  198. package/dist/commands/deployments.js +0 -213
  199. package/dist/commands/deployments.js.map +0 -1
  200. package/dist/commands/dev.d.ts +0 -8
  201. package/dist/commands/dev.d.ts.map +0 -1
  202. package/dist/commands/dev.js +0 -656
  203. package/dist/commands/dev.js.map +0 -1
  204. package/dist/commands/identity.d.ts +0 -3
  205. package/dist/commands/identity.d.ts.map +0 -1
  206. package/dist/commands/identity.js +0 -192
  207. package/dist/commands/identity.js.map +0 -1
  208. package/dist/commands/load-client.d.ts +0 -11
  209. package/dist/commands/load-client.d.ts.map +0 -1
  210. package/dist/commands/organizations.d.ts +0 -3
  211. package/dist/commands/organizations.d.ts.map +0 -1
  212. package/dist/commands/organizations.js +0 -97
  213. package/dist/commands/organizations.js.map +0 -1
  214. package/dist/commands/screenshot.d.ts +0 -3
  215. package/dist/commands/screenshot.d.ts.map +0 -1
  216. package/dist/commands/screenshot.js +0 -463
  217. package/dist/commands/screenshot.js.map +0 -1
  218. package/dist/commands/servers.d.ts +0 -3
  219. package/dist/commands/servers.d.ts.map +0 -1
  220. package/dist/commands/servers.js +0 -278
  221. package/dist/commands/servers.js.map +0 -1
  222. package/dist/commands/shared.d.ts +0 -44
  223. package/dist/commands/shared.d.ts.map +0 -1
  224. package/dist/commands/skills.d.ts +0 -3
  225. package/dist/commands/skills.d.ts.map +0 -1
  226. package/dist/commands/skills.js +0 -84
  227. package/dist/commands/skills.js.map +0 -1
  228. package/dist/commands/start.d.ts +0 -8
  229. package/dist/commands/start.d.ts.map +0 -1
  230. package/dist/commands/start.js +0 -72
  231. package/dist/commands/start.js.map +0 -1
  232. package/dist/completable.d.ts.map +0 -1
  233. package/dist/config.d.ts.map +0 -1
  234. package/dist/context.d.ts.map +0 -1
  235. package/dist/fetch-app.d.ts.map +0 -1
  236. package/dist/index.d.ts.map +0 -1
  237. package/dist/index.js.map +0 -1
  238. package/dist/inspector-shell.d.ts +0 -90
  239. package/dist/inspector-shell.d.ts.map +0 -1
  240. package/dist/internal/resource-completion.js.map +0 -1
  241. package/dist/landing-handler-3VN4BMR2.js +0 -34
  242. package/dist/landing-handler-3VN4BMR2.js.map +0 -1
  243. package/dist/landing-handler.d.ts.map +0 -1
  244. package/dist/landing.d.ts.map +0 -1
  245. package/dist/landing.js.map +0 -1
  246. package/dist/logging.d.ts.map +0 -1
  247. package/dist/middleware/cors.d.ts.map +0 -1
  248. package/dist/middleware/mcp-middleware.d.ts.map +0 -1
  249. package/dist/mount-mcp.d.ts.map +0 -1
  250. package/dist/node-bridge.d.ts.map +0 -1
  251. package/dist/node-bridge.js.map +0 -1
  252. package/dist/oauth/adapters.d.ts.map +0 -1
  253. package/dist/oauth/auth0.d.ts.map +0 -1
  254. package/dist/oauth/auth0.js.map +0 -1
  255. package/dist/oauth/better-auth.d.ts.map +0 -1
  256. package/dist/oauth/better-auth.js.map +0 -1
  257. package/dist/oauth/clerk.d.ts.map +0 -1
  258. package/dist/oauth/clerk.js.map +0 -1
  259. package/dist/oauth/guards.d.ts.map +0 -1
  260. package/dist/oauth/index.d.ts.map +0 -1
  261. package/dist/oauth/index.js.map +0 -1
  262. package/dist/oauth/internal.d.ts.map +0 -1
  263. package/dist/oauth/jwt.d.ts.map +0 -1
  264. package/dist/oauth/keycloak.d.ts.map +0 -1
  265. package/dist/oauth/keycloak.js.map +0 -1
  266. package/dist/oauth/provider.d.ts.map +0 -1
  267. package/dist/oauth/supabase.d.ts.map +0 -1
  268. package/dist/oauth/supabase.js.map +0 -1
  269. package/dist/oauth/workos.d.ts.map +0 -1
  270. package/dist/oauth/workos.js.map +0 -1
  271. package/dist/openapi/index.d.ts.map +0 -1
  272. package/dist/openapi/index.js.map +0 -1
  273. package/dist/openapi/types.d.ts.map +0 -1
  274. package/dist/prompts.d.ts.map +0 -1
  275. package/dist/public-route-5JEGFEIN.js +0 -9
  276. package/dist/public-route-5JEGFEIN.js.map +0 -1
  277. package/dist/react/components/error-boundary.d.ts.map +0 -1
  278. package/dist/react/components/image.d.ts.map +0 -1
  279. package/dist/react/components/model-context.d.ts.map +0 -1
  280. package/dist/react/components/theme-provider.d.ts.map +0 -1
  281. package/dist/react/components/view-controls.d.ts.map +0 -1
  282. package/dist/react/hooks/use-call-tool.d.ts.map +0 -1
  283. package/dist/react/hooks/use-display-mode.d.ts.map +0 -1
  284. package/dist/react/hooks/use-files.d.ts.map +0 -1
  285. package/dist/react/hooks/use-host-context.d.ts.map +0 -1
  286. package/dist/react/hooks/use-open-external.d.ts.map +0 -1
  287. package/dist/react/hooks/use-send-follow-up.d.ts.map +0 -1
  288. package/dist/react/hooks/use-send-size-changed.d.ts.map +0 -1
  289. package/dist/react/hooks/use-tool-context.d.ts.map +0 -1
  290. package/dist/react/hooks/use-view-theme.d.ts.map +0 -1
  291. package/dist/react/hooks/use-view-tool.d.ts.map +0 -1
  292. package/dist/react/index.d.ts.map +0 -1
  293. package/dist/react/index.js.map +0 -1
  294. package/dist/react/public-assets.d.ts.map +0 -1
  295. package/dist/react/runtime/bootstrap-view.d.ts.map +0 -1
  296. package/dist/react/runtime/model-context-store.d.ts.map +0 -1
  297. package/dist/react/runtime/view-config.d.ts.map +0 -1
  298. package/dist/react/runtime/view-runtime-context.d.ts.map +0 -1
  299. package/dist/react/runtime/view-runtime.d.ts.map +0 -1
  300. package/dist/react/types/file-types.d.ts.map +0 -1
  301. package/dist/react/types/host-types.d.ts.map +0 -1
  302. package/dist/react/types/register.d.ts.map +0 -1
  303. package/dist/react/types/result-types.d.ts.map +0 -1
  304. package/dist/resource-completion.d.ts.map +0 -1
  305. package/dist/resources.d.ts.map +0 -1
  306. package/dist/server.d.ts.map +0 -1
  307. package/dist/tools.d.ts.map +0 -1
  308. package/dist/views/capabilities.d.ts.map +0 -1
  309. package/dist/views/constants.d.ts.map +0 -1
  310. package/dist/views/csp-env.d.ts.map +0 -1
  311. package/dist/views/document.d.ts.map +0 -1
  312. package/dist/views/index.d.ts.map +0 -1
  313. package/dist/views/origin.d.ts.map +0 -1
  314. package/dist/views/public-route.d.ts.map +0 -1
  315. package/dist/views/register.d.ts.map +0 -1
  316. package/dist/views/routes.d.ts.map +0 -1
  317. package/dist/views/types.d.ts.map +0 -1
  318. package/dist/views/wire.d.ts.map +0 -1
  319. package/node_modules/@modelcontextprotocol/client/LICENSE +0 -216
  320. package/node_modules/@modelcontextprotocol/client/README.md +0 -26
  321. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-Asx17_Co.mjs +0 -7069
  322. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-Asx17_Co.mjs.map +0 -1
  323. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-B7GnTXYx.d.mts +0 -1054
  324. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-B7GnTXYx.d.mts.map +0 -1
  325. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-B_4czhCS.d.cts +0 -1054
  326. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-B_4czhCS.d.cts.map +0 -1
  327. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-DNzBrkxq.cjs +0 -7086
  328. package/node_modules/@modelcontextprotocol/client/dist/ajvProvider-DNzBrkxq.cjs.map +0 -1
  329. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-D9GAttn8.d.cts +0 -59
  330. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-D9GAttn8.d.cts.map +0 -1
  331. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-DbU8BxXO.mjs +0 -970
  332. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-DbU8BxXO.mjs.map +0 -1
  333. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-Djgwc46-.cjs +0 -976
  334. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-Djgwc46-.cjs.map +0 -1
  335. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-Xtj52JOa.d.mts +0 -59
  336. package/node_modules/@modelcontextprotocol/client/dist/cfWorkerProvider-Xtj52JOa.d.mts.map +0 -1
  337. package/node_modules/@modelcontextprotocol/client/dist/chunk-Bnu9O96Y.cjs +0 -60
  338. package/node_modules/@modelcontextprotocol/client/dist/chunk-Br0eD_fh.mjs +0 -42
  339. package/node_modules/@modelcontextprotocol/client/dist/index-ZagFkUbt.d.mts +0 -2675
  340. package/node_modules/@modelcontextprotocol/client/dist/index-ZagFkUbt.d.mts.map +0 -1
  341. package/node_modules/@modelcontextprotocol/client/dist/index-gN3EXmil.d.cts +0 -2678
  342. package/node_modules/@modelcontextprotocol/client/dist/index-gN3EXmil.d.cts.map +0 -1
  343. package/node_modules/@modelcontextprotocol/client/dist/index.cjs +0 -5427
  344. package/node_modules/@modelcontextprotocol/client/dist/index.cjs.map +0 -1
  345. package/node_modules/@modelcontextprotocol/client/dist/index.d.cts +0 -3196
  346. package/node_modules/@modelcontextprotocol/client/dist/index.d.cts.map +0 -1
  347. package/node_modules/@modelcontextprotocol/client/dist/index.d.mts +0 -3196
  348. package/node_modules/@modelcontextprotocol/client/dist/index.d.mts.map +0 -1
  349. package/node_modules/@modelcontextprotocol/client/dist/index.mjs +0 -5224
  350. package/node_modules/@modelcontextprotocol/client/dist/index.mjs.map +0 -1
  351. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.cjs +0 -14
  352. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.cjs.map +0 -1
  353. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.d.cts +0 -13
  354. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.d.cts.map +0 -1
  355. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.d.mts +0 -13
  356. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.d.mts.map +0 -1
  357. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.mjs +0 -13
  358. package/node_modules/@modelcontextprotocol/client/dist/shimsBrowser.mjs.map +0 -1
  359. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.cjs +0 -14
  360. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.cjs.map +0 -1
  361. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.d.cts +0 -13
  362. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.d.cts.map +0 -1
  363. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.d.mts +0 -13
  364. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.d.mts.map +0 -1
  365. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.mjs +0 -13
  366. package/node_modules/@modelcontextprotocol/client/dist/shimsNode.mjs.map +0 -1
  367. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs +0 -21
  368. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs.map +0 -1
  369. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.d.cts +0 -13
  370. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.d.cts.map +0 -1
  371. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.d.mts +0 -13
  372. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.d.mts.map +0 -1
  373. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs +0 -20
  374. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs.map +0 -1
  375. package/node_modules/@modelcontextprotocol/client/dist/src-BzzZSQyL.cjs +0 -7331
  376. package/node_modules/@modelcontextprotocol/client/dist/src-BzzZSQyL.cjs.map +0 -1
  377. package/node_modules/@modelcontextprotocol/client/dist/src-DGeA9On3.mjs +0 -6963
  378. package/node_modules/@modelcontextprotocol/client/dist/src-DGeA9On3.mjs.map +0 -1
  379. package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs +0 -181
  380. package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs.map +0 -1
  381. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.cts +0 -87
  382. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.cts.map +0 -1
  383. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.mts +0 -87
  384. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.mts.map +0 -1
  385. package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs +0 -176
  386. package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs.map +0 -1
  387. package/node_modules/@modelcontextprotocol/client/dist/types-BDNQEPSs.d.mts +0 -1099
  388. package/node_modules/@modelcontextprotocol/client/dist/types-BDNQEPSs.d.mts.map +0 -1
  389. package/node_modules/@modelcontextprotocol/client/dist/types-DsbMXNFL.d.cts +0 -1099
  390. package/node_modules/@modelcontextprotocol/client/dist/types-DsbMXNFL.d.cts.map +0 -1
  391. package/node_modules/@modelcontextprotocol/client/dist/validators/ajv.cjs +0 -5
  392. package/node_modules/@modelcontextprotocol/client/dist/validators/ajv.d.cts +0 -2
  393. package/node_modules/@modelcontextprotocol/client/dist/validators/ajv.d.mts +0 -2
  394. package/node_modules/@modelcontextprotocol/client/dist/validators/ajv.mjs +0 -3
  395. package/node_modules/@modelcontextprotocol/client/dist/validators/cfWorker.cjs +0 -3
  396. package/node_modules/@modelcontextprotocol/client/dist/validators/cfWorker.d.cts +0 -2
  397. package/node_modules/@modelcontextprotocol/client/dist/validators/cfWorker.d.mts +0 -2
  398. package/node_modules/@modelcontextprotocol/client/dist/validators/cfWorker.mjs +0 -3
  399. package/node_modules/@modelcontextprotocol/client/package.json +0 -166
  400. package/node_modules/@modelcontextprotocol/core/LICENSE +0 -216
  401. package/node_modules/@modelcontextprotocol/core/README.md +0 -40
  402. package/node_modules/@modelcontextprotocol/core/dist/auth-BUWfrB3C.d.cts +0 -8198
  403. package/node_modules/@modelcontextprotocol/core/dist/auth-BUWfrB3C.d.cts.map +0 -1
  404. package/node_modules/@modelcontextprotocol/core/dist/auth-CEFpHq32.cjs +0 -2862
  405. package/node_modules/@modelcontextprotocol/core/dist/auth-CEFpHq32.cjs.map +0 -1
  406. package/node_modules/@modelcontextprotocol/core/dist/auth-CNbu4K4a.d.mts +0 -8198
  407. package/node_modules/@modelcontextprotocol/core/dist/auth-CNbu4K4a.d.mts.map +0 -1
  408. package/node_modules/@modelcontextprotocol/core/dist/auth-DFgbUATV.mjs +0 -1653
  409. package/node_modules/@modelcontextprotocol/core/dist/auth-DFgbUATV.mjs.map +0 -1
  410. package/node_modules/@modelcontextprotocol/core/dist/index.cjs +0 -174
  411. package/node_modules/@modelcontextprotocol/core/dist/index.d.cts +0 -2
  412. package/node_modules/@modelcontextprotocol/core/dist/index.d.mts +0 -2
  413. package/node_modules/@modelcontextprotocol/core/dist/index.mjs +0 -3
  414. package/node_modules/@modelcontextprotocol/core/dist/internal.cjs +0 -199
  415. package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +0 -87
  416. package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts.map +0 -1
  417. package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +0 -87
  418. package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts.map +0 -1
  419. package/node_modules/@modelcontextprotocol/core/dist/internal.mjs +0 -3
  420. package/node_modules/@modelcontextprotocol/core/package.json +0 -85
  421. package/node_modules/jose/LICENSE.md +0 -21
  422. package/node_modules/jose/README.md +0 -153
  423. package/node_modules/jose/dist/types/index.d.ts +0 -55
  424. package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +0 -31
  425. package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +0 -65
  426. package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +0 -31
  427. package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +0 -83
  428. package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +0 -31
  429. package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +0 -74
  430. package/node_modules/jose/dist/types/jwk/embedded.d.ts +0 -17
  431. package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +0 -32
  432. package/node_modules/jose/dist/types/jwks/local.d.ts +0 -29
  433. package/node_modules/jose/dist/types/jwks/remote.d.ts +0 -237
  434. package/node_modules/jose/dist/types/jws/compact/sign.d.ts +0 -36
  435. package/node_modules/jose/dist/types/jws/compact/verify.d.ts +0 -33
  436. package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +0 -42
  437. package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +0 -33
  438. package/node_modules/jose/dist/types/jws/general/sign.d.ts +0 -53
  439. package/node_modules/jose/dist/types/jws/general/verify.d.ts +0 -33
  440. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +0 -35
  441. package/node_modules/jose/dist/types/jwt/encrypt.d.ts +0 -91
  442. package/node_modules/jose/dist/types/jwt/sign.d.ts +0 -43
  443. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +0 -43
  444. package/node_modules/jose/dist/types/jwt/verify.d.ts +0 -37
  445. package/node_modules/jose/dist/types/key/export.d.ts +0 -33
  446. package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +0 -47
  447. package/node_modules/jose/dist/types/key/generate_secret.d.ts +0 -35
  448. package/node_modules/jose/dist/types/key/import.d.ts +0 -83
  449. package/node_modules/jose/dist/types/types.d.ts +0 -841
  450. package/node_modules/jose/dist/types/util/base64url.d.ts +0 -9
  451. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +0 -18
  452. package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +0 -17
  453. package/node_modules/jose/dist/types/util/errors.d.ts +0 -213
  454. package/node_modules/jose/dist/webapi/index.js +0 -32
  455. package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +0 -27
  456. package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +0 -27
  457. package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +0 -165
  458. package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +0 -169
  459. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +0 -31
  460. package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +0 -187
  461. package/node_modules/jose/dist/webapi/jwk/embedded.js +0 -17
  462. package/node_modules/jose/dist/webapi/jwk/thumbprint.js +0 -68
  463. package/node_modules/jose/dist/webapi/jwks/local.js +0 -119
  464. package/node_modules/jose/dist/webapi/jwks/remote.js +0 -179
  465. package/node_modules/jose/dist/webapi/jws/compact/sign.js +0 -18
  466. package/node_modules/jose/dist/webapi/jws/compact/verify.js +0 -21
  467. package/node_modules/jose/dist/webapi/jws/flattened/sign.js +0 -92
  468. package/node_modules/jose/dist/webapi/jws/flattened/verify.js +0 -120
  469. package/node_modules/jose/dist/webapi/jws/general/sign.js +0 -73
  470. package/node_modules/jose/dist/webapi/jws/general/verify.js +0 -24
  471. package/node_modules/jose/dist/webapi/jwt/decrypt.js +0 -23
  472. package/node_modules/jose/dist/webapi/jwt/encrypt.js +0 -108
  473. package/node_modules/jose/dist/webapi/jwt/sign.js +0 -52
  474. package/node_modules/jose/dist/webapi/jwt/unsecured.js +0 -63
  475. package/node_modules/jose/dist/webapi/jwt/verify.js +0 -15
  476. package/node_modules/jose/dist/webapi/key/export.js +0 -11
  477. package/node_modules/jose/dist/webapi/key/generate_key_pair.js +0 -97
  478. package/node_modules/jose/dist/webapi/key/generate_secret.js +0 -40
  479. package/node_modules/jose/dist/webapi/key/import.js +0 -57
  480. package/node_modules/jose/dist/webapi/lib/aesgcmkw.js +0 -16
  481. package/node_modules/jose/dist/webapi/lib/aeskw.js +0 -25
  482. package/node_modules/jose/dist/webapi/lib/asn1.js +0 -243
  483. package/node_modules/jose/dist/webapi/lib/base64.js +0 -22
  484. package/node_modules/jose/dist/webapi/lib/buffer_utils.js +0 -43
  485. package/node_modules/jose/dist/webapi/lib/cek.js +0 -19
  486. package/node_modules/jose/dist/webapi/lib/check_cek_length.js +0 -7
  487. package/node_modules/jose/dist/webapi/lib/check_iv_length.js +0 -7
  488. package/node_modules/jose/dist/webapi/lib/check_key_length.js +0 -8
  489. package/node_modules/jose/dist/webapi/lib/check_key_type.js +0 -122
  490. package/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -143
  491. package/node_modules/jose/dist/webapi/lib/decrypt.js +0 -106
  492. package/node_modules/jose/dist/webapi/lib/decrypt_key_management.js +0 -127
  493. package/node_modules/jose/dist/webapi/lib/digest.js +0 -4
  494. package/node_modules/jose/dist/webapi/lib/ecdhes.js +0 -52
  495. package/node_modules/jose/dist/webapi/lib/encrypt.js +0 -74
  496. package/node_modules/jose/dist/webapi/lib/encrypt_key_management.js +0 -92
  497. package/node_modules/jose/dist/webapi/lib/get_sign_verify_key.js +0 -12
  498. package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -27
  499. package/node_modules/jose/dist/webapi/lib/is_disjoint.js +0 -21
  500. package/node_modules/jose/dist/webapi/lib/is_jwk.js +0 -6
  501. package/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -17
  502. package/node_modules/jose/dist/webapi/lib/is_object.js +0 -14
  503. package/node_modules/jose/dist/webapi/lib/iv.js +0 -19
  504. package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -109
  505. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +0 -238
  506. package/node_modules/jose/dist/webapi/lib/key_to_jwk.js +0 -31
  507. package/node_modules/jose/dist/webapi/lib/normalize_key.js +0 -176
  508. package/node_modules/jose/dist/webapi/lib/pbes2kw.js +0 -39
  509. package/node_modules/jose/dist/webapi/lib/private_symbols.js +0 -1
  510. package/node_modules/jose/dist/webapi/lib/rsaes.js +0 -24
  511. package/node_modules/jose/dist/webapi/lib/sign.js +0 -9
  512. package/node_modules/jose/dist/webapi/lib/subtle_dsa.js +0 -31
  513. package/node_modules/jose/dist/webapi/lib/validate_algorithms.js +0 -10
  514. package/node_modules/jose/dist/webapi/lib/validate_crit.js +0 -33
  515. package/node_modules/jose/dist/webapi/lib/verify.js +0 -14
  516. package/node_modules/jose/dist/webapi/util/base64url.js +0 -30
  517. package/node_modules/jose/dist/webapi/util/decode_jwt.js +0 -32
  518. package/node_modules/jose/dist/webapi/util/decode_protected_header.js +0 -34
  519. package/node_modules/jose/dist/webapi/util/errors.js +0 -99
  520. package/node_modules/jose/package.json +0 -200
  521. package/node_modules/zod/LICENSE +0 -21
  522. package/node_modules/zod/README.md +0 -191
  523. package/node_modules/zod/index.cjs +0 -33
  524. package/node_modules/zod/index.d.cts +0 -4
  525. package/node_modules/zod/index.d.ts +0 -4
  526. package/node_modules/zod/index.js +0 -4
  527. package/node_modules/zod/locales/index.cjs +0 -17
  528. package/node_modules/zod/locales/index.d.cts +0 -1
  529. package/node_modules/zod/locales/index.d.ts +0 -1
  530. package/node_modules/zod/locales/index.js +0 -1
  531. package/node_modules/zod/locales/package.json +0 -7
  532. package/node_modules/zod/mini/index.cjs +0 -32
  533. package/node_modules/zod/mini/index.d.cts +0 -3
  534. package/node_modules/zod/mini/index.d.ts +0 -3
  535. package/node_modules/zod/mini/index.js +0 -3
  536. package/node_modules/zod/mini/package.json +0 -7
  537. package/node_modules/zod/package.json +0 -135
  538. package/node_modules/zod/src/index.ts +0 -4
  539. package/node_modules/zod/src/locales/index.ts +0 -1
  540. package/node_modules/zod/src/mini/index.ts +0 -3
  541. package/node_modules/zod/src/v3/ZodError.ts +0 -330
  542. package/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -58
  543. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  544. package/node_modules/zod/src/v3/benchmarks/index.ts +0 -59
  545. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -57
  546. package/node_modules/zod/src/v3/benchmarks/object.ts +0 -69
  547. package/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -162
  548. package/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -63
  549. package/node_modules/zod/src/v3/benchmarks/string.ts +0 -55
  550. package/node_modules/zod/src/v3/benchmarks/union.ts +0 -80
  551. package/node_modules/zod/src/v3/errors.ts +0 -13
  552. package/node_modules/zod/src/v3/external.ts +0 -6
  553. package/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -17
  554. package/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -8
  555. package/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -176
  556. package/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -34
  557. package/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -2
  558. package/node_modules/zod/src/v3/helpers/util.ts +0 -224
  559. package/node_modules/zod/src/v3/index.ts +0 -4
  560. package/node_modules/zod/src/v3/locales/en.ts +0 -124
  561. package/node_modules/zod/src/v3/standard-schema.ts +0 -113
  562. package/node_modules/zod/src/v3/tests/Mocker.ts +0 -54
  563. package/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -157
  564. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -28
  565. package/node_modules/zod/src/v3/tests/array.test.ts +0 -71
  566. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -388
  567. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -46
  568. package/node_modules/zod/src/v3/tests/base.test.ts +0 -29
  569. package/node_modules/zod/src/v3/tests/bigint.test.ts +0 -55
  570. package/node_modules/zod/src/v3/tests/branded.test.ts +0 -53
  571. package/node_modules/zod/src/v3/tests/catch.test.ts +0 -220
  572. package/node_modules/zod/src/v3/tests/coerce.test.ts +0 -133
  573. package/node_modules/zod/src/v3/tests/complex.test.ts +0 -70
  574. package/node_modules/zod/src/v3/tests/custom.test.ts +0 -31
  575. package/node_modules/zod/src/v3/tests/date.test.ts +0 -32
  576. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -186
  577. package/node_modules/zod/src/v3/tests/default.test.ts +0 -112
  578. package/node_modules/zod/src/v3/tests/description.test.ts +0 -33
  579. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -315
  580. package/node_modules/zod/src/v3/tests/enum.test.ts +0 -80
  581. package/node_modules/zod/src/v3/tests/error.test.ts +0 -551
  582. package/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -87
  583. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  584. package/node_modules/zod/src/v3/tests/function.test.ts +0 -261
  585. package/node_modules/zod/src/v3/tests/generics.test.ts +0 -48
  586. package/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -37
  587. package/node_modules/zod/src/v3/tests/intersection.test.ts +0 -110
  588. package/node_modules/zod/src/v3/tests/language-server.source.ts +0 -76
  589. package/node_modules/zod/src/v3/tests/language-server.test.ts +0 -207
  590. package/node_modules/zod/src/v3/tests/literal.test.ts +0 -36
  591. package/node_modules/zod/src/v3/tests/map.test.ts +0 -110
  592. package/node_modules/zod/src/v3/tests/masking.test.ts +0 -4
  593. package/node_modules/zod/src/v3/tests/mocker.test.ts +0 -19
  594. package/node_modules/zod/src/v3/tests/nan.test.ts +0 -24
  595. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -87
  596. package/node_modules/zod/src/v3/tests/nullable.test.ts +0 -42
  597. package/node_modules/zod/src/v3/tests/number.test.ts +0 -176
  598. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -29
  599. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -29
  600. package/node_modules/zod/src/v3/tests/object.test.ts +0 -434
  601. package/node_modules/zod/src/v3/tests/optional.test.ts +0 -42
  602. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -23
  603. package/node_modules/zod/src/v3/tests/parser.test.ts +0 -41
  604. package/node_modules/zod/src/v3/tests/partials.test.ts +0 -243
  605. package/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -111
  606. package/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -29
  607. package/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -186
  608. package/node_modules/zod/src/v3/tests/primitive.test.ts +0 -440
  609. package/node_modules/zod/src/v3/tests/promise.test.ts +0 -90
  610. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -194
  611. package/node_modules/zod/src/v3/tests/record.test.ts +0 -171
  612. package/node_modules/zod/src/v3/tests/recursive.test.ts +0 -197
  613. package/node_modules/zod/src/v3/tests/refine.test.ts +0 -313
  614. package/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -27
  615. package/node_modules/zod/src/v3/tests/set.test.ts +0 -142
  616. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -83
  617. package/node_modules/zod/src/v3/tests/string.test.ts +0 -916
  618. package/node_modules/zod/src/v3/tests/transformer.test.ts +0 -233
  619. package/node_modules/zod/src/v3/tests/tuple.test.ts +0 -90
  620. package/node_modules/zod/src/v3/tests/unions.test.ts +0 -57
  621. package/node_modules/zod/src/v3/tests/validations.test.ts +0 -133
  622. package/node_modules/zod/src/v3/tests/void.test.ts +0 -15
  623. package/node_modules/zod/src/v3/types.ts +0 -5138
  624. package/node_modules/zod/src/v4/classic/checks.ts +0 -32
  625. package/node_modules/zod/src/v4/classic/coerce.ts +0 -27
  626. package/node_modules/zod/src/v4/classic/compat.ts +0 -70
  627. package/node_modules/zod/src/v4/classic/errors.ts +0 -82
  628. package/node_modules/zod/src/v4/classic/external.ts +0 -52
  629. package/node_modules/zod/src/v4/classic/from-json-schema.ts +0 -659
  630. package/node_modules/zod/src/v4/classic/index.ts +0 -5
  631. package/node_modules/zod/src/v4/classic/iso.ts +0 -90
  632. package/node_modules/zod/src/v4/classic/parse.ts +0 -82
  633. package/node_modules/zod/src/v4/classic/schemas.ts +0 -2672
  634. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -26
  635. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +0 -59
  636. package/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -264
  637. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -216
  638. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -381
  639. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -68
  640. package/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -7
  641. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -54
  642. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -106
  643. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -326
  644. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -20
  645. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -573
  646. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -703
  647. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -160
  648. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -374
  649. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -40
  650. package/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -62
  651. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -302
  652. package/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -409
  653. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +0 -27
  654. package/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -32
  655. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +0 -197
  656. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -694
  657. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -285
  658. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -807
  659. package/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -711
  660. package/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -96
  661. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -179
  662. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +0 -26
  663. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +0 -895
  664. package/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -360
  665. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -72
  666. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +0 -39
  667. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -68
  668. package/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -939
  669. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -60
  670. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -198
  671. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +0 -46
  672. package/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -109
  673. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -227
  674. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -117
  675. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +0 -29
  676. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +0 -24
  677. package/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -330
  678. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -21
  679. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -168
  680. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -101
  681. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -22
  682. package/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -325
  683. package/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -717
  684. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -333
  685. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -450
  686. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -211
  687. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -101
  688. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -74
  689. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +0 -26
  690. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -351
  691. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -175
  692. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -81
  693. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -23
  694. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -252
  695. package/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -717
  696. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -631
  697. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -633
  698. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -243
  699. package/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -181
  700. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -134
  701. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -125
  702. package/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -1224
  703. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -106
  704. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -771
  705. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +0 -438
  706. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -3125
  707. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -378
  708. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -496
  709. package/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -273
  710. package/node_modules/zod/src/v4/classic/tests/url.test.ts +0 -13
  711. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -283
  712. package/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -12
  713. package/node_modules/zod/src/v4/core/api.ts +0 -1823
  714. package/node_modules/zod/src/v4/core/checks.ts +0 -1293
  715. package/node_modules/zod/src/v4/core/config.ts +0 -15
  716. package/node_modules/zod/src/v4/core/core.ts +0 -153
  717. package/node_modules/zod/src/v4/core/doc.ts +0 -44
  718. package/node_modules/zod/src/v4/core/errors.ts +0 -455
  719. package/node_modules/zod/src/v4/core/index.ts +0 -16
  720. package/node_modules/zod/src/v4/core/json-schema-generator.ts +0 -126
  721. package/node_modules/zod/src/v4/core/json-schema-processors.ts +0 -666
  722. package/node_modules/zod/src/v4/core/json-schema.ts +0 -147
  723. package/node_modules/zod/src/v4/core/parse.ts +0 -195
  724. package/node_modules/zod/src/v4/core/regexes.ts +0 -190
  725. package/node_modules/zod/src/v4/core/registries.ts +0 -105
  726. package/node_modules/zod/src/v4/core/schemas.ts +0 -4730
  727. package/node_modules/zod/src/v4/core/standard-schema.ts +0 -159
  728. package/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -59
  729. package/node_modules/zod/src/v4/core/tests/index.test.ts +0 -46
  730. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -124
  731. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +0 -215
  732. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -22
  733. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -181
  734. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +0 -72
  735. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +0 -379
  736. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +0 -163
  737. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +0 -46
  738. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -128
  739. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -69
  740. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +0 -105
  741. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +0 -125
  742. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +0 -45
  743. package/node_modules/zod/src/v4/core/to-json-schema.ts +0 -622
  744. package/node_modules/zod/src/v4/core/util.ts +0 -983
  745. package/node_modules/zod/src/v4/core/versions.ts +0 -5
  746. package/node_modules/zod/src/v4/core/zsf.ts +0 -323
  747. package/node_modules/zod/src/v4/index.ts +0 -4
  748. package/node_modules/zod/src/v4/locales/ar.ts +0 -115
  749. package/node_modules/zod/src/v4/locales/az.ts +0 -111
  750. package/node_modules/zod/src/v4/locales/be.ts +0 -176
  751. package/node_modules/zod/src/v4/locales/bg.ts +0 -128
  752. package/node_modules/zod/src/v4/locales/ca.ts +0 -116
  753. package/node_modules/zod/src/v4/locales/cs.ts +0 -118
  754. package/node_modules/zod/src/v4/locales/da.ts +0 -123
  755. package/node_modules/zod/src/v4/locales/de.ts +0 -116
  756. package/node_modules/zod/src/v4/locales/el.ts +0 -121
  757. package/node_modules/zod/src/v4/locales/en.ts +0 -123
  758. package/node_modules/zod/src/v4/locales/eo.ts +0 -118
  759. package/node_modules/zod/src/v4/locales/es.ts +0 -141
  760. package/node_modules/zod/src/v4/locales/fa.ts +0 -126
  761. package/node_modules/zod/src/v4/locales/fi.ts +0 -121
  762. package/node_modules/zod/src/v4/locales/fr-CA.ts +0 -116
  763. package/node_modules/zod/src/v4/locales/fr.ts +0 -132
  764. package/node_modules/zod/src/v4/locales/he.ts +0 -246
  765. package/node_modules/zod/src/v4/locales/hr.ts +0 -131
  766. package/node_modules/zod/src/v4/locales/hu.ts +0 -117
  767. package/node_modules/zod/src/v4/locales/hy.ts +0 -164
  768. package/node_modules/zod/src/v4/locales/id.ts +0 -115
  769. package/node_modules/zod/src/v4/locales/index.ts +0 -52
  770. package/node_modules/zod/src/v4/locales/is.ts +0 -119
  771. package/node_modules/zod/src/v4/locales/it.ts +0 -116
  772. package/node_modules/zod/src/v4/locales/ja.ts +0 -114
  773. package/node_modules/zod/src/v4/locales/ka.ts +0 -123
  774. package/node_modules/zod/src/v4/locales/kh.ts +0 -7
  775. package/node_modules/zod/src/v4/locales/km.ts +0 -119
  776. package/node_modules/zod/src/v4/locales/ko.ts +0 -121
  777. package/node_modules/zod/src/v4/locales/lt.ts +0 -239
  778. package/node_modules/zod/src/v4/locales/mk.ts +0 -118
  779. package/node_modules/zod/src/v4/locales/ms.ts +0 -115
  780. package/node_modules/zod/src/v4/locales/nl.ts +0 -121
  781. package/node_modules/zod/src/v4/locales/no.ts +0 -116
  782. package/node_modules/zod/src/v4/locales/ota.ts +0 -117
  783. package/node_modules/zod/src/v4/locales/pl.ts +0 -118
  784. package/node_modules/zod/src/v4/locales/ps.ts +0 -126
  785. package/node_modules/zod/src/v4/locales/pt.ts +0 -116
  786. package/node_modules/zod/src/v4/locales/ro.ts +0 -129
  787. package/node_modules/zod/src/v4/locales/ru.ts +0 -176
  788. package/node_modules/zod/src/v4/locales/sl.ts +0 -118
  789. package/node_modules/zod/src/v4/locales/sv.ts +0 -119
  790. package/node_modules/zod/src/v4/locales/ta.ts +0 -118
  791. package/node_modules/zod/src/v4/locales/th.ts +0 -119
  792. package/node_modules/zod/src/v4/locales/tr.ts +0 -111
  793. package/node_modules/zod/src/v4/locales/ua.ts +0 -7
  794. package/node_modules/zod/src/v4/locales/uk.ts +0 -117
  795. package/node_modules/zod/src/v4/locales/ur.ts +0 -119
  796. package/node_modules/zod/src/v4/locales/uz.ts +0 -117
  797. package/node_modules/zod/src/v4/locales/vi.ts +0 -117
  798. package/node_modules/zod/src/v4/locales/yo.ts +0 -124
  799. package/node_modules/zod/src/v4/locales/zh-CN.ts +0 -116
  800. package/node_modules/zod/src/v4/locales/zh-TW.ts +0 -115
  801. package/node_modules/zod/src/v4/mini/checks.ts +0 -32
  802. package/node_modules/zod/src/v4/mini/coerce.ts +0 -27
  803. package/node_modules/zod/src/v4/mini/external.ts +0 -41
  804. package/node_modules/zod/src/v4/mini/index.ts +0 -3
  805. package/node_modules/zod/src/v4/mini/iso.ts +0 -66
  806. package/node_modules/zod/src/v4/mini/parse.ts +0 -14
  807. package/node_modules/zod/src/v4/mini/schemas.ts +0 -1947
  808. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +0 -24
  809. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -129
  810. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -94
  811. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -144
  812. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -548
  813. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -36
  814. package/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -22
  815. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -5
  816. package/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -993
  817. package/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -95
  818. package/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -227
  819. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -43
  820. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -325
  821. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +0 -50
  822. package/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -352
  823. package/node_modules/zod/src/v4-mini/index.ts +0 -3
  824. package/node_modules/zod/v3/ZodError.cjs +0 -138
  825. package/node_modules/zod/v3/ZodError.d.cts +0 -164
  826. package/node_modules/zod/v3/ZodError.d.ts +0 -164
  827. package/node_modules/zod/v3/ZodError.js +0 -133
  828. package/node_modules/zod/v3/errors.cjs +0 -17
  829. package/node_modules/zod/v3/errors.d.cts +0 -5
  830. package/node_modules/zod/v3/errors.d.ts +0 -5
  831. package/node_modules/zod/v3/errors.js +0 -9
  832. package/node_modules/zod/v3/external.cjs +0 -22
  833. package/node_modules/zod/v3/external.d.cts +0 -6
  834. package/node_modules/zod/v3/external.d.ts +0 -6
  835. package/node_modules/zod/v3/external.js +0 -6
  836. package/node_modules/zod/v3/helpers/enumUtil.cjs +0 -2
  837. package/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -8
  838. package/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -8
  839. package/node_modules/zod/v3/helpers/enumUtil.js +0 -1
  840. package/node_modules/zod/v3/helpers/errorUtil.cjs +0 -9
  841. package/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -9
  842. package/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -9
  843. package/node_modules/zod/v3/helpers/errorUtil.js +0 -6
  844. package/node_modules/zod/v3/helpers/parseUtil.cjs +0 -124
  845. package/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -78
  846. package/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -78
  847. package/node_modules/zod/v3/helpers/parseUtil.js +0 -109
  848. package/node_modules/zod/v3/helpers/partialUtil.cjs +0 -2
  849. package/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -8
  850. package/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -8
  851. package/node_modules/zod/v3/helpers/partialUtil.js +0 -1
  852. package/node_modules/zod/v3/helpers/typeAliases.cjs +0 -2
  853. package/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -2
  854. package/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -2
  855. package/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  856. package/node_modules/zod/v3/helpers/util.cjs +0 -137
  857. package/node_modules/zod/v3/helpers/util.d.cts +0 -85
  858. package/node_modules/zod/v3/helpers/util.d.ts +0 -85
  859. package/node_modules/zod/v3/helpers/util.js +0 -133
  860. package/node_modules/zod/v3/index.cjs +0 -33
  861. package/node_modules/zod/v3/index.d.cts +0 -4
  862. package/node_modules/zod/v3/index.d.ts +0 -4
  863. package/node_modules/zod/v3/index.js +0 -4
  864. package/node_modules/zod/v3/locales/en.cjs +0 -112
  865. package/node_modules/zod/v3/locales/en.d.cts +0 -3
  866. package/node_modules/zod/v3/locales/en.d.ts +0 -3
  867. package/node_modules/zod/v3/locales/en.js +0 -109
  868. package/node_modules/zod/v3/package.json +0 -7
  869. package/node_modules/zod/v3/standard-schema.cjs +0 -2
  870. package/node_modules/zod/v3/standard-schema.d.cts +0 -102
  871. package/node_modules/zod/v3/standard-schema.d.ts +0 -102
  872. package/node_modules/zod/v3/standard-schema.js +0 -1
  873. package/node_modules/zod/v3/types.cjs +0 -3777
  874. package/node_modules/zod/v3/types.d.cts +0 -1034
  875. package/node_modules/zod/v3/types.d.ts +0 -1034
  876. package/node_modules/zod/v3/types.js +0 -3695
  877. package/node_modules/zod/v4/classic/checks.cjs +0 -33
  878. package/node_modules/zod/v4/classic/checks.d.cts +0 -1
  879. package/node_modules/zod/v4/classic/checks.d.ts +0 -1
  880. package/node_modules/zod/v4/classic/checks.js +0 -1
  881. package/node_modules/zod/v4/classic/coerce.cjs +0 -47
  882. package/node_modules/zod/v4/classic/coerce.d.cts +0 -17
  883. package/node_modules/zod/v4/classic/coerce.d.ts +0 -17
  884. package/node_modules/zod/v4/classic/coerce.js +0 -17
  885. package/node_modules/zod/v4/classic/compat.cjs +0 -61
  886. package/node_modules/zod/v4/classic/compat.d.cts +0 -50
  887. package/node_modules/zod/v4/classic/compat.d.ts +0 -50
  888. package/node_modules/zod/v4/classic/compat.js +0 -31
  889. package/node_modules/zod/v4/classic/errors.cjs +0 -74
  890. package/node_modules/zod/v4/classic/errors.d.cts +0 -30
  891. package/node_modules/zod/v4/classic/errors.d.ts +0 -30
  892. package/node_modules/zod/v4/classic/errors.js +0 -48
  893. package/node_modules/zod/v4/classic/external.cjs +0 -73
  894. package/node_modules/zod/v4/classic/external.d.cts +0 -16
  895. package/node_modules/zod/v4/classic/external.d.ts +0 -16
  896. package/node_modules/zod/v4/classic/external.js +0 -20
  897. package/node_modules/zod/v4/classic/from-json-schema.cjs +0 -625
  898. package/node_modules/zod/v4/classic/from-json-schema.d.cts +0 -12
  899. package/node_modules/zod/v4/classic/from-json-schema.d.ts +0 -12
  900. package/node_modules/zod/v4/classic/from-json-schema.js +0 -599
  901. package/node_modules/zod/v4/classic/index.cjs +0 -33
  902. package/node_modules/zod/v4/classic/index.d.cts +0 -4
  903. package/node_modules/zod/v4/classic/index.d.ts +0 -4
  904. package/node_modules/zod/v4/classic/index.js +0 -4
  905. package/node_modules/zod/v4/classic/iso.cjs +0 -60
  906. package/node_modules/zod/v4/classic/iso.d.cts +0 -22
  907. package/node_modules/zod/v4/classic/iso.d.ts +0 -22
  908. package/node_modules/zod/v4/classic/iso.js +0 -30
  909. package/node_modules/zod/v4/classic/package.json +0 -7
  910. package/node_modules/zod/v4/classic/parse.cjs +0 -41
  911. package/node_modules/zod/v4/classic/parse.d.cts +0 -31
  912. package/node_modules/zod/v4/classic/parse.d.ts +0 -31
  913. package/node_modules/zod/v4/classic/parse.js +0 -15
  914. package/node_modules/zod/v4/classic/schemas.cjs +0 -1511
  915. package/node_modules/zod/v4/classic/schemas.d.cts +0 -767
  916. package/node_modules/zod/v4/classic/schemas.d.ts +0 -767
  917. package/node_modules/zod/v4/classic/schemas.js +0 -1395
  918. package/node_modules/zod/v4/core/api.cjs +0 -1227
  919. package/node_modules/zod/v4/core/api.d.cts +0 -325
  920. package/node_modules/zod/v4/core/api.d.ts +0 -325
  921. package/node_modules/zod/v4/core/api.js +0 -1087
  922. package/node_modules/zod/v4/core/checks.cjs +0 -601
  923. package/node_modules/zod/v4/core/checks.d.cts +0 -278
  924. package/node_modules/zod/v4/core/checks.d.ts +0 -278
  925. package/node_modules/zod/v4/core/checks.js +0 -575
  926. package/node_modules/zod/v4/core/core.cjs +0 -85
  927. package/node_modules/zod/v4/core/core.d.cts +0 -70
  928. package/node_modules/zod/v4/core/core.d.ts +0 -70
  929. package/node_modules/zod/v4/core/core.js +0 -78
  930. package/node_modules/zod/v4/core/doc.cjs +0 -39
  931. package/node_modules/zod/v4/core/doc.d.cts +0 -14
  932. package/node_modules/zod/v4/core/doc.d.ts +0 -14
  933. package/node_modules/zod/v4/core/doc.js +0 -35
  934. package/node_modules/zod/v4/core/errors.cjs +0 -216
  935. package/node_modules/zod/v4/core/errors.d.cts +0 -221
  936. package/node_modules/zod/v4/core/errors.d.ts +0 -221
  937. package/node_modules/zod/v4/core/errors.js +0 -185
  938. package/node_modules/zod/v4/core/index.cjs +0 -47
  939. package/node_modules/zod/v4/core/index.d.cts +0 -16
  940. package/node_modules/zod/v4/core/index.d.ts +0 -16
  941. package/node_modules/zod/v4/core/index.js +0 -16
  942. package/node_modules/zod/v4/core/json-schema-generator.cjs +0 -99
  943. package/node_modules/zod/v4/core/json-schema-generator.d.cts +0 -65
  944. package/node_modules/zod/v4/core/json-schema-generator.d.ts +0 -65
  945. package/node_modules/zod/v4/core/json-schema-generator.js +0 -95
  946. package/node_modules/zod/v4/core/json-schema-processors.cjs +0 -644
  947. package/node_modules/zod/v4/core/json-schema-processors.d.cts +0 -49
  948. package/node_modules/zod/v4/core/json-schema-processors.d.ts +0 -49
  949. package/node_modules/zod/v4/core/json-schema-processors.js +0 -601
  950. package/node_modules/zod/v4/core/json-schema.cjs +0 -2
  951. package/node_modules/zod/v4/core/json-schema.d.cts +0 -88
  952. package/node_modules/zod/v4/core/json-schema.d.ts +0 -88
  953. package/node_modules/zod/v4/core/json-schema.js +0 -1
  954. package/node_modules/zod/v4/core/package.json +0 -7
  955. package/node_modules/zod/v4/core/parse.cjs +0 -131
  956. package/node_modules/zod/v4/core/parse.d.cts +0 -49
  957. package/node_modules/zod/v4/core/parse.d.ts +0 -49
  958. package/node_modules/zod/v4/core/parse.js +0 -93
  959. package/node_modules/zod/v4/core/regexes.cjs +0 -172
  960. package/node_modules/zod/v4/core/regexes.d.cts +0 -85
  961. package/node_modules/zod/v4/core/regexes.d.ts +0 -85
  962. package/node_modules/zod/v4/core/regexes.js +0 -139
  963. package/node_modules/zod/v4/core/registries.cjs +0 -56
  964. package/node_modules/zod/v4/core/registries.d.cts +0 -35
  965. package/node_modules/zod/v4/core/registries.d.ts +0 -35
  966. package/node_modules/zod/v4/core/registries.js +0 -51
  967. package/node_modules/zod/v4/core/schemas.cjs +0 -2270
  968. package/node_modules/zod/v4/core/schemas.d.cts +0 -1184
  969. package/node_modules/zod/v4/core/schemas.d.ts +0 -1184
  970. package/node_modules/zod/v4/core/schemas.js +0 -2239
  971. package/node_modules/zod/v4/core/standard-schema.cjs +0 -2
  972. package/node_modules/zod/v4/core/standard-schema.d.cts +0 -126
  973. package/node_modules/zod/v4/core/standard-schema.d.ts +0 -126
  974. package/node_modules/zod/v4/core/standard-schema.js +0 -1
  975. package/node_modules/zod/v4/core/to-json-schema.cjs +0 -457
  976. package/node_modules/zod/v4/core/to-json-schema.d.cts +0 -114
  977. package/node_modules/zod/v4/core/to-json-schema.d.ts +0 -114
  978. package/node_modules/zod/v4/core/to-json-schema.js +0 -448
  979. package/node_modules/zod/v4/core/util.cjs +0 -734
  980. package/node_modules/zod/v4/core/util.d.cts +0 -200
  981. package/node_modules/zod/v4/core/util.d.ts +0 -200
  982. package/node_modules/zod/v4/core/util.js +0 -674
  983. package/node_modules/zod/v4/core/versions.cjs +0 -8
  984. package/node_modules/zod/v4/core/versions.d.cts +0 -5
  985. package/node_modules/zod/v4/core/versions.d.ts +0 -5
  986. package/node_modules/zod/v4/core/versions.js +0 -5
  987. package/node_modules/zod/v4/index.cjs +0 -22
  988. package/node_modules/zod/v4/index.d.cts +0 -3
  989. package/node_modules/zod/v4/index.d.ts +0 -3
  990. package/node_modules/zod/v4/index.js +0 -3
  991. package/node_modules/zod/v4/locales/ar.cjs +0 -133
  992. package/node_modules/zod/v4/locales/ar.d.cts +0 -5
  993. package/node_modules/zod/v4/locales/ar.d.ts +0 -4
  994. package/node_modules/zod/v4/locales/ar.js +0 -106
  995. package/node_modules/zod/v4/locales/az.cjs +0 -132
  996. package/node_modules/zod/v4/locales/az.d.cts +0 -5
  997. package/node_modules/zod/v4/locales/az.d.ts +0 -4
  998. package/node_modules/zod/v4/locales/az.js +0 -105
  999. package/node_modules/zod/v4/locales/be.cjs +0 -183
  1000. package/node_modules/zod/v4/locales/be.d.cts +0 -5
  1001. package/node_modules/zod/v4/locales/be.d.ts +0 -4
  1002. package/node_modules/zod/v4/locales/be.js +0 -156
  1003. package/node_modules/zod/v4/locales/bg.cjs +0 -147
  1004. package/node_modules/zod/v4/locales/bg.d.cts +0 -5
  1005. package/node_modules/zod/v4/locales/bg.d.ts +0 -4
  1006. package/node_modules/zod/v4/locales/bg.js +0 -120
  1007. package/node_modules/zod/v4/locales/ca.cjs +0 -134
  1008. package/node_modules/zod/v4/locales/ca.d.cts +0 -5
  1009. package/node_modules/zod/v4/locales/ca.d.ts +0 -4
  1010. package/node_modules/zod/v4/locales/ca.js +0 -107
  1011. package/node_modules/zod/v4/locales/cs.cjs +0 -138
  1012. package/node_modules/zod/v4/locales/cs.d.cts +0 -5
  1013. package/node_modules/zod/v4/locales/cs.d.ts +0 -4
  1014. package/node_modules/zod/v4/locales/cs.js +0 -111
  1015. package/node_modules/zod/v4/locales/da.cjs +0 -142
  1016. package/node_modules/zod/v4/locales/da.d.cts +0 -5
  1017. package/node_modules/zod/v4/locales/da.d.ts +0 -4
  1018. package/node_modules/zod/v4/locales/da.js +0 -115
  1019. package/node_modules/zod/v4/locales/de.cjs +0 -135
  1020. package/node_modules/zod/v4/locales/de.d.cts +0 -5
  1021. package/node_modules/zod/v4/locales/de.d.ts +0 -4
  1022. package/node_modules/zod/v4/locales/de.js +0 -108
  1023. package/node_modules/zod/v4/locales/el.cjs +0 -136
  1024. package/node_modules/zod/v4/locales/el.d.cts +0 -5
  1025. package/node_modules/zod/v4/locales/el.d.ts +0 -4
  1026. package/node_modules/zod/v4/locales/el.js +0 -109
  1027. package/node_modules/zod/v4/locales/en.cjs +0 -140
  1028. package/node_modules/zod/v4/locales/en.d.cts +0 -5
  1029. package/node_modules/zod/v4/locales/en.d.ts +0 -4
  1030. package/node_modules/zod/v4/locales/en.js +0 -113
  1031. package/node_modules/zod/v4/locales/eo.cjs +0 -136
  1032. package/node_modules/zod/v4/locales/eo.d.cts +0 -5
  1033. package/node_modules/zod/v4/locales/eo.d.ts +0 -4
  1034. package/node_modules/zod/v4/locales/eo.js +0 -109
  1035. package/node_modules/zod/v4/locales/es.cjs +0 -159
  1036. package/node_modules/zod/v4/locales/es.d.cts +0 -5
  1037. package/node_modules/zod/v4/locales/es.d.ts +0 -4
  1038. package/node_modules/zod/v4/locales/es.js +0 -132
  1039. package/node_modules/zod/v4/locales/fa.cjs +0 -141
  1040. package/node_modules/zod/v4/locales/fa.d.cts +0 -5
  1041. package/node_modules/zod/v4/locales/fa.d.ts +0 -4
  1042. package/node_modules/zod/v4/locales/fa.js +0 -114
  1043. package/node_modules/zod/v4/locales/fi.cjs +0 -139
  1044. package/node_modules/zod/v4/locales/fi.d.cts +0 -5
  1045. package/node_modules/zod/v4/locales/fi.d.ts +0 -4
  1046. package/node_modules/zod/v4/locales/fi.js +0 -112
  1047. package/node_modules/zod/v4/locales/fr-CA.cjs +0 -134
  1048. package/node_modules/zod/v4/locales/fr-CA.d.cts +0 -5
  1049. package/node_modules/zod/v4/locales/fr-CA.d.ts +0 -4
  1050. package/node_modules/zod/v4/locales/fr-CA.js +0 -107
  1051. package/node_modules/zod/v4/locales/fr.cjs +0 -152
  1052. package/node_modules/zod/v4/locales/fr.d.cts +0 -5
  1053. package/node_modules/zod/v4/locales/fr.d.ts +0 -4
  1054. package/node_modules/zod/v4/locales/fr.js +0 -125
  1055. package/node_modules/zod/v4/locales/he.cjs +0 -241
  1056. package/node_modules/zod/v4/locales/he.d.cts +0 -5
  1057. package/node_modules/zod/v4/locales/he.d.ts +0 -4
  1058. package/node_modules/zod/v4/locales/he.js +0 -214
  1059. package/node_modules/zod/v4/locales/hr.cjs +0 -149
  1060. package/node_modules/zod/v4/locales/hr.d.cts +0 -5
  1061. package/node_modules/zod/v4/locales/hr.d.ts +0 -4
  1062. package/node_modules/zod/v4/locales/hr.js +0 -122
  1063. package/node_modules/zod/v4/locales/hu.cjs +0 -135
  1064. package/node_modules/zod/v4/locales/hu.d.cts +0 -5
  1065. package/node_modules/zod/v4/locales/hu.d.ts +0 -4
  1066. package/node_modules/zod/v4/locales/hu.js +0 -108
  1067. package/node_modules/zod/v4/locales/hy.cjs +0 -174
  1068. package/node_modules/zod/v4/locales/hy.d.cts +0 -5
  1069. package/node_modules/zod/v4/locales/hy.d.ts +0 -4
  1070. package/node_modules/zod/v4/locales/hy.js +0 -147
  1071. package/node_modules/zod/v4/locales/id.cjs +0 -133
  1072. package/node_modules/zod/v4/locales/id.d.cts +0 -5
  1073. package/node_modules/zod/v4/locales/id.d.ts +0 -4
  1074. package/node_modules/zod/v4/locales/id.js +0 -106
  1075. package/node_modules/zod/v4/locales/index.cjs +0 -111
  1076. package/node_modules/zod/v4/locales/index.d.cts +0 -52
  1077. package/node_modules/zod/v4/locales/index.d.ts +0 -52
  1078. package/node_modules/zod/v4/locales/index.js +0 -52
  1079. package/node_modules/zod/v4/locales/is.cjs +0 -136
  1080. package/node_modules/zod/v4/locales/is.d.cts +0 -5
  1081. package/node_modules/zod/v4/locales/is.d.ts +0 -4
  1082. package/node_modules/zod/v4/locales/is.js +0 -109
  1083. package/node_modules/zod/v4/locales/it.cjs +0 -135
  1084. package/node_modules/zod/v4/locales/it.d.cts +0 -5
  1085. package/node_modules/zod/v4/locales/it.d.ts +0 -4
  1086. package/node_modules/zod/v4/locales/it.js +0 -108
  1087. package/node_modules/zod/v4/locales/ja.cjs +0 -134
  1088. package/node_modules/zod/v4/locales/ja.d.cts +0 -5
  1089. package/node_modules/zod/v4/locales/ja.d.ts +0 -4
  1090. package/node_modules/zod/v4/locales/ja.js +0 -107
  1091. package/node_modules/zod/v4/locales/ka.cjs +0 -139
  1092. package/node_modules/zod/v4/locales/ka.d.cts +0 -5
  1093. package/node_modules/zod/v4/locales/ka.d.ts +0 -4
  1094. package/node_modules/zod/v4/locales/ka.js +0 -112
  1095. package/node_modules/zod/v4/locales/kh.cjs +0 -12
  1096. package/node_modules/zod/v4/locales/kh.d.cts +0 -5
  1097. package/node_modules/zod/v4/locales/kh.d.ts +0 -5
  1098. package/node_modules/zod/v4/locales/kh.js +0 -5
  1099. package/node_modules/zod/v4/locales/km.cjs +0 -137
  1100. package/node_modules/zod/v4/locales/km.d.cts +0 -5
  1101. package/node_modules/zod/v4/locales/km.d.ts +0 -4
  1102. package/node_modules/zod/v4/locales/km.js +0 -110
  1103. package/node_modules/zod/v4/locales/ko.cjs +0 -138
  1104. package/node_modules/zod/v4/locales/ko.d.cts +0 -5
  1105. package/node_modules/zod/v4/locales/ko.d.ts +0 -4
  1106. package/node_modules/zod/v4/locales/ko.js +0 -111
  1107. package/node_modules/zod/v4/locales/lt.cjs +0 -230
  1108. package/node_modules/zod/v4/locales/lt.d.cts +0 -5
  1109. package/node_modules/zod/v4/locales/lt.d.ts +0 -4
  1110. package/node_modules/zod/v4/locales/lt.js +0 -203
  1111. package/node_modules/zod/v4/locales/mk.cjs +0 -136
  1112. package/node_modules/zod/v4/locales/mk.d.cts +0 -5
  1113. package/node_modules/zod/v4/locales/mk.d.ts +0 -4
  1114. package/node_modules/zod/v4/locales/mk.js +0 -109
  1115. package/node_modules/zod/v4/locales/ms.cjs +0 -134
  1116. package/node_modules/zod/v4/locales/ms.d.cts +0 -5
  1117. package/node_modules/zod/v4/locales/ms.d.ts +0 -4
  1118. package/node_modules/zod/v4/locales/ms.js +0 -107
  1119. package/node_modules/zod/v4/locales/nl.cjs +0 -137
  1120. package/node_modules/zod/v4/locales/nl.d.cts +0 -5
  1121. package/node_modules/zod/v4/locales/nl.d.ts +0 -4
  1122. package/node_modules/zod/v4/locales/nl.js +0 -110
  1123. package/node_modules/zod/v4/locales/no.cjs +0 -135
  1124. package/node_modules/zod/v4/locales/no.d.cts +0 -5
  1125. package/node_modules/zod/v4/locales/no.d.ts +0 -4
  1126. package/node_modules/zod/v4/locales/no.js +0 -108
  1127. package/node_modules/zod/v4/locales/ota.cjs +0 -136
  1128. package/node_modules/zod/v4/locales/ota.d.cts +0 -5
  1129. package/node_modules/zod/v4/locales/ota.d.ts +0 -4
  1130. package/node_modules/zod/v4/locales/ota.js +0 -109
  1131. package/node_modules/zod/v4/locales/package.json +0 -7
  1132. package/node_modules/zod/v4/locales/pl.cjs +0 -136
  1133. package/node_modules/zod/v4/locales/pl.d.cts +0 -5
  1134. package/node_modules/zod/v4/locales/pl.d.ts +0 -4
  1135. package/node_modules/zod/v4/locales/pl.js +0 -109
  1136. package/node_modules/zod/v4/locales/ps.cjs +0 -141
  1137. package/node_modules/zod/v4/locales/ps.d.cts +0 -5
  1138. package/node_modules/zod/v4/locales/ps.d.ts +0 -4
  1139. package/node_modules/zod/v4/locales/ps.js +0 -114
  1140. package/node_modules/zod/v4/locales/pt.cjs +0 -135
  1141. package/node_modules/zod/v4/locales/pt.d.cts +0 -5
  1142. package/node_modules/zod/v4/locales/pt.d.ts +0 -4
  1143. package/node_modules/zod/v4/locales/pt.js +0 -108
  1144. package/node_modules/zod/v4/locales/ro.cjs +0 -146
  1145. package/node_modules/zod/v4/locales/ro.d.cts +0 -5
  1146. package/node_modules/zod/v4/locales/ro.d.ts +0 -4
  1147. package/node_modules/zod/v4/locales/ro.js +0 -119
  1148. package/node_modules/zod/v4/locales/ru.cjs +0 -183
  1149. package/node_modules/zod/v4/locales/ru.d.cts +0 -5
  1150. package/node_modules/zod/v4/locales/ru.d.ts +0 -4
  1151. package/node_modules/zod/v4/locales/ru.js +0 -156
  1152. package/node_modules/zod/v4/locales/sl.cjs +0 -136
  1153. package/node_modules/zod/v4/locales/sl.d.cts +0 -5
  1154. package/node_modules/zod/v4/locales/sl.d.ts +0 -4
  1155. package/node_modules/zod/v4/locales/sl.js +0 -109
  1156. package/node_modules/zod/v4/locales/sv.cjs +0 -137
  1157. package/node_modules/zod/v4/locales/sv.d.cts +0 -5
  1158. package/node_modules/zod/v4/locales/sv.d.ts +0 -4
  1159. package/node_modules/zod/v4/locales/sv.js +0 -110
  1160. package/node_modules/zod/v4/locales/ta.cjs +0 -137
  1161. package/node_modules/zod/v4/locales/ta.d.cts +0 -5
  1162. package/node_modules/zod/v4/locales/ta.d.ts +0 -4
  1163. package/node_modules/zod/v4/locales/ta.js +0 -110
  1164. package/node_modules/zod/v4/locales/th.cjs +0 -137
  1165. package/node_modules/zod/v4/locales/th.d.cts +0 -5
  1166. package/node_modules/zod/v4/locales/th.d.ts +0 -4
  1167. package/node_modules/zod/v4/locales/th.js +0 -110
  1168. package/node_modules/zod/v4/locales/tr.cjs +0 -132
  1169. package/node_modules/zod/v4/locales/tr.d.cts +0 -5
  1170. package/node_modules/zod/v4/locales/tr.d.ts +0 -4
  1171. package/node_modules/zod/v4/locales/tr.js +0 -105
  1172. package/node_modules/zod/v4/locales/ua.cjs +0 -12
  1173. package/node_modules/zod/v4/locales/ua.d.cts +0 -5
  1174. package/node_modules/zod/v4/locales/ua.d.ts +0 -5
  1175. package/node_modules/zod/v4/locales/ua.js +0 -5
  1176. package/node_modules/zod/v4/locales/uk.cjs +0 -135
  1177. package/node_modules/zod/v4/locales/uk.d.cts +0 -5
  1178. package/node_modules/zod/v4/locales/uk.d.ts +0 -4
  1179. package/node_modules/zod/v4/locales/uk.js +0 -108
  1180. package/node_modules/zod/v4/locales/ur.cjs +0 -137
  1181. package/node_modules/zod/v4/locales/ur.d.cts +0 -5
  1182. package/node_modules/zod/v4/locales/ur.d.ts +0 -4
  1183. package/node_modules/zod/v4/locales/ur.js +0 -110
  1184. package/node_modules/zod/v4/locales/uz.cjs +0 -137
  1185. package/node_modules/zod/v4/locales/uz.d.cts +0 -5
  1186. package/node_modules/zod/v4/locales/uz.d.ts +0 -4
  1187. package/node_modules/zod/v4/locales/uz.js +0 -110
  1188. package/node_modules/zod/v4/locales/vi.cjs +0 -135
  1189. package/node_modules/zod/v4/locales/vi.d.cts +0 -5
  1190. package/node_modules/zod/v4/locales/vi.d.ts +0 -4
  1191. package/node_modules/zod/v4/locales/vi.js +0 -108
  1192. package/node_modules/zod/v4/locales/yo.cjs +0 -134
  1193. package/node_modules/zod/v4/locales/yo.d.cts +0 -5
  1194. package/node_modules/zod/v4/locales/yo.d.ts +0 -4
  1195. package/node_modules/zod/v4/locales/yo.js +0 -107
  1196. package/node_modules/zod/v4/locales/zh-CN.cjs +0 -136
  1197. package/node_modules/zod/v4/locales/zh-CN.d.cts +0 -5
  1198. package/node_modules/zod/v4/locales/zh-CN.d.ts +0 -4
  1199. package/node_modules/zod/v4/locales/zh-CN.js +0 -109
  1200. package/node_modules/zod/v4/locales/zh-TW.cjs +0 -134
  1201. package/node_modules/zod/v4/locales/zh-TW.d.cts +0 -5
  1202. package/node_modules/zod/v4/locales/zh-TW.d.ts +0 -4
  1203. package/node_modules/zod/v4/locales/zh-TW.js +0 -107
  1204. package/node_modules/zod/v4/mini/checks.cjs +0 -34
  1205. package/node_modules/zod/v4/mini/checks.d.cts +0 -1
  1206. package/node_modules/zod/v4/mini/checks.d.ts +0 -1
  1207. package/node_modules/zod/v4/mini/checks.js +0 -1
  1208. package/node_modules/zod/v4/mini/coerce.cjs +0 -52
  1209. package/node_modules/zod/v4/mini/coerce.d.cts +0 -7
  1210. package/node_modules/zod/v4/mini/coerce.d.ts +0 -7
  1211. package/node_modules/zod/v4/mini/coerce.js +0 -22
  1212. package/node_modules/zod/v4/mini/external.cjs +0 -63
  1213. package/node_modules/zod/v4/mini/external.d.cts +0 -13
  1214. package/node_modules/zod/v4/mini/external.d.ts +0 -13
  1215. package/node_modules/zod/v4/mini/external.js +0 -14
  1216. package/node_modules/zod/v4/mini/index.cjs +0 -32
  1217. package/node_modules/zod/v4/mini/index.d.cts +0 -3
  1218. package/node_modules/zod/v4/mini/index.d.ts +0 -3
  1219. package/node_modules/zod/v4/mini/index.js +0 -3
  1220. package/node_modules/zod/v4/mini/iso.cjs +0 -64
  1221. package/node_modules/zod/v4/mini/iso.d.cts +0 -22
  1222. package/node_modules/zod/v4/mini/iso.d.ts +0 -22
  1223. package/node_modules/zod/v4/mini/iso.js +0 -34
  1224. package/node_modules/zod/v4/mini/package.json +0 -7
  1225. package/node_modules/zod/v4/mini/parse.cjs +0 -16
  1226. package/node_modules/zod/v4/mini/parse.d.cts +0 -1
  1227. package/node_modules/zod/v4/mini/parse.d.ts +0 -1
  1228. package/node_modules/zod/v4/mini/parse.js +0 -1
  1229. package/node_modules/zod/v4/mini/schemas.cjs +0 -1083
  1230. package/node_modules/zod/v4/mini/schemas.d.cts +0 -445
  1231. package/node_modules/zod/v4/mini/schemas.d.ts +0 -445
  1232. package/node_modules/zod/v4/mini/schemas.js +0 -961
  1233. package/node_modules/zod/v4/package.json +0 -7
  1234. package/node_modules/zod/v4-mini/index.cjs +0 -32
  1235. package/node_modules/zod/v4-mini/index.d.cts +0 -3
  1236. package/node_modules/zod/v4-mini/index.d.ts +0 -3
  1237. package/node_modules/zod/v4-mini/index.js +0 -3
  1238. package/node_modules/zod/v4-mini/package.json +0 -7
@@ -1,237 +0,0 @@
1
- // src/cli/entry.ts
2
- import { existsSync } from "fs";
3
- import { isAbsolute, join, resolve } from "path";
4
- var ENTRY_CANDIDATES = [
5
- "src/index.ts",
6
- "src/server.ts",
7
- "index.ts",
8
- "server.ts"
9
- ];
10
- function discoverEntry(cwd, override) {
11
- if (override !== void 0) {
12
- const entry = isAbsolute(override) ? override : resolve(cwd, override);
13
- if (!existsSync(entry)) {
14
- throw new Error(`Entry not found: ${entry} (from --entry "${override}")`);
15
- }
16
- return entry;
17
- }
18
- for (const candidate of ENTRY_CANDIDATES) {
19
- const entry = join(cwd, candidate);
20
- if (existsSync(entry)) {
21
- return entry;
22
- }
23
- }
24
- throw new Error(
25
- `No server entry found in ${cwd}. Looked for: ${ENTRY_CANDIDATES.join(", ")}. Create one of these (default-exporting your MCPServer instance) or pass --entry <path>.`
26
- );
27
- }
28
-
29
- // src/cli/vite-config.ts
30
- import { existsSync as existsSync2 } from "fs";
31
- import { join as join2 } from "path";
32
- import { fileURLToPath } from "url";
33
- var VITE_CONFIG_CANDIDATES = [
34
- "vite.config.ts",
35
- "vite.config.js",
36
- "vite.config.mts",
37
- "vite.config.cjs"
38
- ];
39
- function resolveUserViteConfig(cwd) {
40
- for (const name of VITE_CONFIG_CANDIDATES) {
41
- const path = join2(cwd, name);
42
- if (existsSync2(path)) return path;
43
- }
44
- return false;
45
- }
46
- function resolveTailwindCss() {
47
- return fileURLToPath(import.meta.resolve("tailwindcss/index.css"));
48
- }
49
-
50
- // src/cli/tools-declaration.ts
51
- import { writeFile } from "fs/promises";
52
- import { extname, join as join3, relative, sep } from "path";
53
- var TOOLS_DECLARATION_NAME = "tools.d.ts";
54
- function declarationImportPath(cwd, entry) {
55
- let importPath = relative(cwd, entry).split(sep).join("/");
56
- const extension = extname(importPath);
57
- const runtimeExtension = extension === ".mts" ? ".mjs" : extension === ".cts" ? ".cjs" : extension === ".ts" || extension === ".tsx" ? ".js" : extension;
58
- if (extension !== runtimeExtension) {
59
- importPath = `${importPath.slice(0, -extension.length)}${runtimeExtension}`;
60
- }
61
- return importPath.startsWith(".") ? importPath : `./${importPath}`;
62
- }
63
- function renderToolsDeclaration(cwd, entry) {
64
- const importPath = declarationImportPath(cwd, entry);
65
- return [
66
- "// Created by mcp-use when missing. Existing files are never overwritten.",
67
- 'declare module "mcp-use/react" {',
68
- " interface Register {",
69
- ` tools: typeof import(${JSON.stringify(importPath)});`,
70
- " }",
71
- "}",
72
- "",
73
- "export {};",
74
- ""
75
- ].join("\n");
76
- }
77
- async function ensureToolsDeclaration(cwd, entry) {
78
- const declarationPath = join3(cwd, TOOLS_DECLARATION_NAME);
79
- try {
80
- await writeFile(declarationPath, renderToolsDeclaration(cwd, entry), {
81
- encoding: "utf8",
82
- flag: "wx"
83
- });
84
- return true;
85
- } catch (error) {
86
- if (error !== null && typeof error === "object" && "code" in error && error.code === "EEXIST") {
87
- return false;
88
- }
89
- throw error;
90
- }
91
- }
92
-
93
- // src/cli/workspace.ts
94
- import { join as join4 } from "path";
95
- var WORKSPACE_DIR_NAME = ".mcp-use";
96
- var BUILD_MANIFEST_NAME = "manifest.json";
97
- function resolveWorkspacePaths(projectRoot) {
98
- const workspace = join4(projectRoot, WORKSPACE_DIR_NAME);
99
- const build = join4(workspace, "build");
100
- return {
101
- projectRoot,
102
- workspace,
103
- build,
104
- generated: join4(workspace, "generated"),
105
- cache: join4(workspace, "cache"),
106
- state: join4(workspace, "state"),
107
- cloud: join4(workspace, "cloud"),
108
- buildManifest: join4(build, BUILD_MANIFEST_NAME),
109
- tunnel: join4(workspace, "state", "tunnel.json")
110
- };
111
- }
112
-
113
- // src/cli/views.ts
114
- import { existsSync as existsSync3, readdirSync } from "fs";
115
- import { join as join5 } from "path";
116
- var VIRTUAL_VIEW_PREFIX = "virtual:mcp-use/views/";
117
- var VIRTUAL_VIEW_RESOLVED_PREFIX = `\0${VIRTUAL_VIEW_PREFIX}`;
118
- function discoverViews(cwd) {
119
- const resourcesDir = join5(cwd, "resources");
120
- if (!existsSync3(resourcesDir)) {
121
- return [];
122
- }
123
- const views = [];
124
- for (const entry of readdirSync(resourcesDir, { withFileTypes: true })) {
125
- if (!entry.isDirectory()) {
126
- continue;
127
- }
128
- const entryPath = join5(resourcesDir, entry.name, "view.tsx");
129
- if (existsSync3(entryPath)) {
130
- views.push({ name: entry.name, entryPath });
131
- }
132
- }
133
- views.sort((a, b) => a.name.localeCompare(b.name));
134
- return views;
135
- }
136
- function virtualViewId(name) {
137
- return `${VIRTUAL_VIEW_PREFIX}${name}`;
138
- }
139
- function devVirtualEntryPath(name) {
140
- return `/@id/__x00__${VIRTUAL_VIEW_PREFIX}${name}`;
141
- }
142
- function isViewPath(file, cwd) {
143
- const rel = file.startsWith(cwd) ? file.slice(cwd.length + 1) : file;
144
- return /^resources\/[^/]+\//.test(rel) || /^resources\/[^/]+\/view\.tsx$/.test(rel);
145
- }
146
- function buildDevViewsManifest(views) {
147
- const manifest = {};
148
- for (const view of views) {
149
- manifest[view.name] = {
150
- kind: "external",
151
- entry: devVirtualEntryPath(view.name),
152
- css: [],
153
- scripts: ["/@vite/client"]
154
- };
155
- }
156
- return manifest;
157
- }
158
- async function createBindingValidationServer(cwd, cacheDir, configFile) {
159
- const { createServer } = await import("vite");
160
- return createServer({
161
- root: cwd,
162
- configFile,
163
- envFile: false,
164
- logLevel: "warn",
165
- cacheDir,
166
- server: { middlewareMode: true, hmr: false },
167
- ssr: { external: true }
168
- });
169
- }
170
-
171
- // src/cli/views-plugin.ts
172
- var VIRTUAL_TAILWIND_ID = "virtual:mcp-use/tailwind.css";
173
- var VIRTUAL_TAILWIND_RESOLVED_ID = `\0${VIRTUAL_TAILWIND_ID}`;
174
- function mcpUseViewsPlugin(options) {
175
- return {
176
- name: "mcp-use-views",
177
- applyToEnvironment(environment) {
178
- return environment.name === "client";
179
- },
180
- resolveId(id) {
181
- if (id === VIRTUAL_TAILWIND_ID) {
182
- return VIRTUAL_TAILWIND_RESOLVED_ID;
183
- }
184
- if (!id.startsWith(VIRTUAL_VIEW_PREFIX)) {
185
- return void 0;
186
- }
187
- return `\0${id}`;
188
- },
189
- load(id) {
190
- if (id === VIRTUAL_TAILWIND_RESOLVED_ID) {
191
- return `@import "tailwindcss";`;
192
- }
193
- if (!id.startsWith(VIRTUAL_VIEW_RESOLVED_PREFIX)) {
194
- return void 0;
195
- }
196
- const name = id.slice(VIRTUAL_VIEW_RESOLVED_PREFIX.length);
197
- const view = options.getViews().find((v) => v.name === name);
198
- if (view === void 0) {
199
- return void 0;
200
- }
201
- const lines = [];
202
- if (options.dev?.reactRefresh === true) {
203
- lines.push(`import "@vitejs/plugin-react/preamble";`);
204
- }
205
- lines.push(`import ${JSON.stringify(VIRTUAL_TAILWIND_ID)};`);
206
- lines.push(
207
- `import { bootstrapView } from "mcp-use/react";`,
208
- `import * as viewModule from ${JSON.stringify(view.entryPath)};`,
209
- `bootstrapView(viewModule);`
210
- );
211
- if (options.dev !== void 0) {
212
- lines.push(
213
- `if (import.meta.hot) {`,
214
- ` import.meta.hot.accept();`,
215
- `}`
216
- );
217
- }
218
- lines.push("");
219
- return lines.join("\n");
220
- }
221
- };
222
- }
223
-
224
- export {
225
- discoverEntry,
226
- resolveUserViteConfig,
227
- resolveTailwindCss,
228
- ensureToolsDeclaration,
229
- resolveWorkspacePaths,
230
- discoverViews,
231
- virtualViewId,
232
- isViewPath,
233
- buildDevViewsManifest,
234
- createBindingValidationServer,
235
- mcpUseViewsPlugin
236
- };
237
- //# sourceMappingURL=chunk-DQ7LE4ZA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cli/entry.ts","../src/cli/vite-config.ts","../src/cli/tools-declaration.ts","../src/cli/workspace.ts","../src/cli/views.ts","../src/cli/views-plugin.ts"],"sourcesContent":["/**\n * Server-entry discovery for `mcp-use build` and `mcp-use dev`.\n *\n * The entry contract (CLI_SPEC.md): the user's entry module default-exports\n * the `MCPServer` instance and never calls `listen()` itself — the CLI owns\n * the socket.\n */\n\nimport { existsSync } from \"node:fs\";\nimport { isAbsolute, join, resolve } from \"node:path\";\n\n/**\n * Conventional entry locations, checked in order relative to the project\n * root; the first existing file wins.\n *\n * @internal\n */\nexport const ENTRY_CANDIDATES = [\n \"src/index.ts\",\n \"src/server.ts\",\n \"index.ts\",\n \"server.ts\",\n] as const;\n\n/**\n * Locate the server entry for a project.\n *\n * With `override` set (the `--entry` flag), the path is resolved against\n * `cwd` and must exist. Otherwise the {@link ENTRY_CANDIDATES} are probed in\n * order and the first hit wins.\n *\n * @param cwd - Absolute path to the project root.\n * @param override - Explicit entry path (`--entry`), absolute or relative to `cwd`.\n * @returns Absolute path to the entry file.\n * @throws If the override does not exist, or no conventional candidate is\n * found — the error lists every location that was checked.\n *\n * @internal\n */\nexport function discoverEntry(cwd: string, override?: string): string {\n if (override !== undefined) {\n const entry = isAbsolute(override) ? override : resolve(cwd, override);\n if (!existsSync(entry)) {\n throw new Error(`Entry not found: ${entry} (from --entry \"${override}\")`);\n }\n return entry;\n }\n for (const candidate of ENTRY_CANDIDATES) {\n const entry = join(cwd, candidate);\n if (existsSync(entry)) {\n return entry;\n }\n }\n throw new Error(\n `No server entry found in ${cwd}. Looked for: ` +\n `${ENTRY_CANDIDATES.join(\", \")}. ` +\n `Create one of these (default-exporting your MCPServer instance) ` +\n `or pass --entry <path>.`\n );\n}\n","/**\n * Resolve the project-level Vite config used only by the views client build.\n */\n\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst VITE_CONFIG_CANDIDATES = [\n \"vite.config.ts\",\n \"vite.config.js\",\n \"vite.config.mts\",\n \"vite.config.cjs\",\n] as const;\n\n/**\n * Locate a project Vite config, or disable config loading when absent.\n *\n * @param cwd - Absolute project root.\n * @returns Absolute config path or `false`.\n *\n * @internal\n */\nexport function resolveUserViteConfig(cwd: string): string | false {\n for (const name of VITE_CONFIG_CANDIDATES) {\n const path = join(cwd, name);\n if (existsSync(path)) return path;\n }\n return false;\n}\n\n/**\n * Resolve the framework-owned Tailwind stylesheet for project CSS imports.\n *\n * @returns Absolute path exported by the installed `tailwindcss` dependency.\n *\n * @internal\n */\nexport function resolveTailwindCss(): string {\n return fileURLToPath(import.meta.resolve(\"tailwindcss/index.css\"));\n}\n","/**\n * Root-level tool registry declaration shared by `mcp-use dev` and\n * `mcp-use build`.\n *\n * The file contains no generated tool names. It creates a live type-only edge\n * to the user's server entry, so exported `ToolRef`s update in TypeScript\n * without rerunning the CLI.\n */\n\nimport { writeFile } from \"node:fs/promises\";\nimport { extname, join, relative, sep } from \"node:path\";\n\n/** Filename of the project-owned tool registry declaration. */\nexport const TOOLS_DECLARATION_NAME = \"tools.d.ts\";\n\nfunction declarationImportPath(cwd: string, entry: string): string {\n let importPath = relative(cwd, entry).split(sep).join(\"/\");\n const extension = extname(importPath);\n const runtimeExtension =\n extension === \".mts\"\n ? \".mjs\"\n : extension === \".cts\"\n ? \".cjs\"\n : extension === \".ts\" || extension === \".tsx\"\n ? \".js\"\n : extension;\n\n if (extension !== runtimeExtension) {\n importPath = `${importPath.slice(0, -extension.length)}${runtimeExtension}`;\n }\n return importPath.startsWith(\".\") ? importPath : `./${importPath}`;\n}\n\n/** Build the stable declaration contents for a discovered server entry. */\nexport function renderToolsDeclaration(cwd: string, entry: string): string {\n const importPath = declarationImportPath(cwd, entry);\n return [\n \"// Created by mcp-use when missing. Existing files are never overwritten.\",\n 'declare module \"mcp-use/react\" {',\n \" interface Register {\",\n ` tools: typeof import(${JSON.stringify(importPath)});`,\n \" }\",\n \"}\",\n \"\",\n \"export {};\",\n \"\",\n ].join(\"\\n\");\n}\n\n/**\n * Create the root `tools.d.ts` if absent.\n *\n * Exclusive-create mode makes this safe when dev and build start together and\n * guarantees that a user-authored declaration is never truncated or replaced.\n *\n * @returns `true` when this invocation created the file.\n */\nexport async function ensureToolsDeclaration(\n cwd: string,\n entry: string\n): Promise<boolean> {\n const declarationPath = join(cwd, TOOLS_DECLARATION_NAME);\n try {\n await writeFile(declarationPath, renderToolsDeclaration(cwd, entry), {\n encoding: \"utf8\",\n flag: \"wx\",\n });\n return true;\n } catch (error) {\n if (\n error !== null &&\n typeof error === \"object\" &&\n \"code\" in error &&\n error.code === \"EEXIST\"\n ) {\n return false;\n }\n throw error;\n }\n}\n","/**\n * The per-project `.mcp-use/` workspace convention — the Next.js `.next`\n * analog. Everything tooling writes for a project lives under this single,\n * gitignored directory so a checkout stays clean and `rm -rf .mcp-use` is\n * always safe.\n *\n * The layout is a fixed convention, not configuration: there is deliberately\n * no config file and no `outDir` knob (runtime/project configuration lives on\n * the `MCPServer` constructor).\n *\n * This module is PURE: it only derives path strings (no filesystem access).\n *\n * Layout (relative to the project root):\n *\n * ```text\n * .mcp-use/\n * ├─ build/ ← compiled server + manifest.json (this package)\n * ├─ generated/ ← output of the typegen escape-hatch command — reserved (VIEWS_SPEC.md)\n * ├─ cache/ ← disposable dev/build scratch\n * ├─ state/ ← mutable runtime state (e.g. tunnel.json)\n * └─ cloud/ ← cloud linkage (link.json)\n * ```\n *\n * `build/` must contain NO mutable runtime state (that is `state/`'s job) so\n * build output stays reproducible and disposable. This is the per-project\n * workspace, distinct from the global `~/.mcp-use/` store (CLI auth,\n * credentials, per-user caches).\n */\n\nimport { join } from \"node:path\";\n\n/**\n * Fixed name of the per-project workspace directory.\n *\n * @internal\n */\nexport const WORKSPACE_DIR_NAME = \".mcp-use\";\n\n/**\n * Basename of the build manifest written inside the build output directory.\n *\n * @internal\n */\nexport const BUILD_MANIFEST_NAME = \"manifest.json\";\n\n/**\n * Manifest written to `.mcp-use/build/manifest.json` by {@link runBuild} and\n * read back by `mcp-use start`.\n *\n * @internal\n */\nexport interface BuildManifest {\n /** Unique identifier for this build (random hex, regenerated per build). */\n buildId: string;\n /**\n * Filename of the emitted server entry, relative to the build directory\n * (e.g. `\"index.js\"`). `mcp-use start` imports `<build>/<entryPoint>` and\n * serves its default export.\n */\n entryPoint: string;\n /** ISO-8601 timestamp of when the build finished. */\n createdAt: string;\n /**\n * Whether the build was created with `mcp-use build --with-inspector`.\n * Consumed by `mcp-use start` to decide whether to mount the inspector shell.\n */\n inspector: boolean;\n}\n\n/**\n * Every resolved path for a project's `.mcp-use/` workspace.\n *\n * @internal\n */\nexport interface WorkspacePaths {\n /** The project root (the directory containing `.mcp-use/`). */\n projectRoot: string;\n /** The `.mcp-use/` workspace directory. */\n workspace: string;\n /** Build output directory: `.mcp-use/build`. */\n build: string;\n /**\n * Generated `.d.ts` artifacts directory — reserved for the typegen\n * escape-hatch command (VIEWS_SPEC.md § Typegen, demoted).\n */\n generated: string;\n /** Disposable dev/build scratch directory. */\n cache: string;\n /** Mutable runtime state directory. */\n state: string;\n /** Cloud linkage directory — reserved. */\n cloud: string;\n /** Build manifest: `<build>/manifest.json`. */\n buildManifest: string;\n /** Tunnel subdomain persistence: `<state>/tunnel.json`. */\n tunnel: string;\n}\n\n/**\n * Derive every workspace path for a project from its root. Pure — no\n * filesystem access.\n *\n * @param projectRoot - Absolute path to the project root.\n *\n * @example\n * ```ts\n * const paths = resolveWorkspacePaths(process.cwd());\n * console.log(paths.build); // <cwd>/.mcp-use/build\n * ```\n *\n * @internal\n */\nexport function resolveWorkspacePaths(projectRoot: string): WorkspacePaths {\n const workspace = join(projectRoot, WORKSPACE_DIR_NAME);\n const build = join(workspace, \"build\");\n return {\n projectRoot,\n workspace,\n build,\n generated: join(workspace, \"generated\"),\n cache: join(workspace, \"cache\"),\n state: join(workspace, \"state\"),\n cloud: join(workspace, \"cloud\"),\n buildManifest: join(build, BUILD_MANIFEST_NAME),\n tunnel: join(workspace, \"state\", \"tunnel.json\"),\n };\n}\n","/**\n * View discovery for `mcp-use build` / `mcp-use dev`.\n *\n * Views live under `resources/<name>/view.tsx` (VIEWS_SPEC.md § File-based views).\n */\n\nimport { existsSync, readdirSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { ViteDevServer } from \"vite\";\n\nimport type { ViewsManifest } from \"../views/types.js\";\n\n/** Prefix for per-view virtual entry modules (`virtual:mcp-use/views/<name>`). */\nexport const VIRTUAL_VIEW_PREFIX = \"virtual:mcp-use/views/\";\n\n/** Resolved virtual id prefix (Rollup null-prefixed module id). */\nexport const VIRTUAL_VIEW_RESOLVED_PREFIX = `\\0${VIRTUAL_VIEW_PREFIX}`;\n\n/**\n * One discovered view directory.\n *\n * @internal\n */\nexport interface DiscoveredView {\n /** View directory name (the `resources/<name>` segment). */\n name: string;\n /** Absolute path to `resources/<name>/view.tsx`. */\n entryPath: string;\n}\n\n/**\n * Scan `resources/<name>/view.tsx` under the project root.\n *\n * A missing or empty `resources/` directory yields an empty list — tool-only\n * projects keep byte-identical CLI behavior.\n *\n * @param cwd - Absolute project root.\n * @returns Discovered views sorted by name.\n *\n * @internal\n */\nexport function discoverViews(cwd: string): DiscoveredView[] {\n const resourcesDir = join(cwd, \"resources\");\n if (!existsSync(resourcesDir)) {\n return [];\n }\n\n const views: DiscoveredView[] = [];\n for (const entry of readdirSync(resourcesDir, { withFileTypes: true })) {\n if (!entry.isDirectory()) {\n continue;\n }\n const entryPath = join(resourcesDir, entry.name, \"view.tsx\");\n if (existsSync(entryPath)) {\n views.push({ name: entry.name, entryPath });\n }\n }\n views.sort((a, b) => a.name.localeCompare(b.name));\n return views;\n}\n\n/**\n * Virtual module id for a view entry (`virtual:mcp-use/views/<name>`).\n *\n * @param name - View directory name.\n *\n * @internal\n */\nexport function virtualViewId(name: string): string {\n return `${VIRTUAL_VIEW_PREFIX}${name}`;\n}\n\n/**\n * Dev URL path Vite serves a resolved virtual module at (browser-loadable).\n *\n * @param name - View directory name.\n *\n * @internal\n */\nexport function devVirtualEntryPath(name: string): string {\n return `/@id/__x00__${VIRTUAL_VIEW_PREFIX}${name}`;\n}\n\n/**\n * Whether a filesystem path is a view component file or lives under a view dir.\n *\n * @internal\n */\nexport function isViewPath(file: string, cwd: string): boolean {\n const rel = file.startsWith(cwd) ? file.slice(cwd.length + 1) : file;\n return (\n /^resources\\/[^/]+\\//.test(rel) || /^resources\\/[^/]+\\/view\\.tsx$/.test(rel)\n );\n}\n\n/**\n * Whether a path is a view's `view.tsx` entry.\n *\n * @internal\n */\nexport function isViewEntryPath(file: string, cwd: string): boolean {\n const rel = file.startsWith(cwd) ? file.slice(cwd.length + 1) : file;\n return /^resources\\/[^/]+\\/view\\.tsx$/.test(rel);\n}\n\n/**\n * Build a dev-shaped views manifest (Vite URLs, `/@vite/client` script hook).\n *\n * @internal\n */\nexport function buildDevViewsManifest(views: DiscoveredView[]): ViewsManifest {\n const manifest: ViewsManifest = {};\n for (const view of views) {\n manifest[view.name] = {\n kind: \"external\",\n entry: devVirtualEntryPath(view.name),\n css: [],\n scripts: [\"/@vite/client\"],\n };\n }\n return manifest;\n}\n\n/**\n * Create a temporary Vite dev server for build-time binding validation.\n *\n * @internal\n */\nexport async function createBindingValidationServer(\n cwd: string,\n cacheDir: string,\n configFile: string | false\n): Promise<ViteDevServer> {\n const { createServer } = await import(\"vite\");\n return createServer({\n root: cwd,\n configFile,\n envFile: false,\n logLevel: \"warn\",\n cacheDir,\n server: { middlewareMode: true, hmr: false },\n ssr: { external: true },\n });\n}\n","/**\n * Vite plugin: virtual view entry modules and optional SSR wrapper entry.\n */\n\nimport type { Plugin } from \"vite\";\n\nimport type { DiscoveredView } from \"./views.js\";\nimport {\n VIRTUAL_VIEW_PREFIX,\n VIRTUAL_VIEW_RESOLVED_PREFIX,\n virtualViewId,\n} from \"./views.js\";\n\nconst VIRTUAL_TAILWIND_ID = \"virtual:mcp-use/tailwind.css\";\nconst VIRTUAL_TAILWIND_RESOLVED_ID = `\\0${VIRTUAL_TAILWIND_ID}`;\n\n/**\n * Options for {@link mcpUseViewsPlugin}.\n *\n * @internal\n */\nexport interface McpUseViewsPluginOptions {\n /** Static list or live getter (dev rediscovery). */\n getViews: () => DiscoveredView[];\n /**\n * Dev-mode entry shape. When present, every virtual entry self-accepts HMR\n * updates (`import.meta.hot.accept()`) so an update that propagates past the\n * view module re-runs the bootstrap instead of full-reloading the iframe\n * document (which would wipe bridge state). Absent for builds — entries stay\n * byte-identical to the production contract.\n */\n dev?: {\n /**\n * Whether React Fast Refresh is active (`@vitejs/plugin-react` resolved).\n * When `true`, entries import the plugin's virtual refresh preamble\n * (`@vitejs/plugin-react/preamble`) before any component module so the\n * refresh runtime hooks the document — the role `transformIndexHtml`\n * plays for Vite-served HTML, which synthesized srcdoc documents never\n * pass through.\n */\n reactRefresh: boolean;\n };\n}\n\n/**\n * Vite plugin that resolves `virtual:mcp-use/views/<name>` to bootstrap code.\n *\n * Applies only to the **client** environment.\n *\n * @internal\n */\nexport function mcpUseViewsPlugin(options: McpUseViewsPluginOptions): Plugin {\n return {\n name: \"mcp-use-views\",\n applyToEnvironment(environment) {\n return environment.name === \"client\";\n },\n resolveId(id) {\n if (id === VIRTUAL_TAILWIND_ID) {\n return VIRTUAL_TAILWIND_RESOLVED_ID;\n }\n if (!id.startsWith(VIRTUAL_VIEW_PREFIX)) {\n return undefined;\n }\n return `\\0${id}`;\n },\n load(id) {\n if (id === VIRTUAL_TAILWIND_RESOLVED_ID) {\n return `@import \"tailwindcss\";`;\n }\n if (!id.startsWith(VIRTUAL_VIEW_RESOLVED_PREFIX)) {\n return undefined;\n }\n const name = id.slice(VIRTUAL_VIEW_RESOLVED_PREFIX.length);\n const view = options.getViews().find((v) => v.name === name);\n if (view === undefined) {\n return undefined;\n }\n const lines: string[] = [];\n if (options.dev?.reactRefresh === true) {\n // Must be the first import: the preamble hooks the refresh runtime\n // into the window before react-dom (via the bootstrap import below)\n // or any refresh-wrapped view module evaluates.\n lines.push(`import \"@vitejs/plugin-react/preamble\";`);\n }\n lines.push(`import ${JSON.stringify(VIRTUAL_TAILWIND_ID)};`);\n lines.push(\n `import { bootstrapView } from \"mcp-use/react\";`,\n `import * as viewModule from ${JSON.stringify(view.entryPath)};`,\n `bootstrapView(viewModule);`\n );\n if (options.dev !== undefined) {\n lines.push(\n `if (import.meta.hot) {`,\n ` import.meta.hot.accept();`,\n `}`\n );\n }\n lines.push(\"\");\n return lines.join(\"\\n\");\n },\n };\n}\n\n/**\n * Rollup input map for a client views build (one entry per view).\n *\n * @internal\n */\nexport function clientBuildInputs(\n views: DiscoveredView[]\n): Record<string, string> {\n const input: Record<string, string> = {};\n for (const view of views) {\n input[view.name] = virtualViewId(view.name);\n }\n return input;\n}\n"],"mappings":"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","names":["existsSync","join","join","join","existsSync","join"]}
@@ -1,99 +0,0 @@
1
- // src/views/origin.ts
2
- function stripTrailingSlashes(value) {
3
- return value.replace(/\/+$/, "");
4
- }
5
- function readEnv(name) {
6
- if (typeof process === "undefined") {
7
- return void 0;
8
- }
9
- const value = process.env[name];
10
- return value !== void 0 && value !== "" ? value : void 0;
11
- }
12
- function parseForwardedHeader(header) {
13
- for (const part of header.split(",")) {
14
- const params = /* @__PURE__ */ new Map();
15
- for (const token of part.split(";")) {
16
- const [key, ...rest] = token.trim().split("=");
17
- if (key === void 0 || rest.length === 0) {
18
- continue;
19
- }
20
- params.set(key.toLowerCase(), rest.join("=").replace(/^"|"$/g, ""));
21
- }
22
- const proto = params.get("proto");
23
- const host = params.get("host");
24
- if (proto !== void 0 && host !== void 0) {
25
- return `${proto}://${host}`;
26
- }
27
- }
28
- return void 0;
29
- }
30
- function resolveRequestOriginFromHeaders(request) {
31
- const forwarded = request.headers.get("forwarded");
32
- if (forwarded !== null) {
33
- const fromForwarded = parseForwardedHeader(forwarded);
34
- if (fromForwarded !== void 0) {
35
- return fromForwarded;
36
- }
37
- }
38
- const proto = request.headers.get("x-forwarded-proto");
39
- const host = request.headers.get("x-forwarded-host");
40
- if (proto !== null && host !== null) {
41
- const firstHost = host.split(",")[0]?.trim();
42
- const firstProto = proto.split(",")[0]?.trim();
43
- if (firstHost !== void 0 && firstProto !== void 0 && firstHost !== "") {
44
- return `${firstProto}://${firstHost}`;
45
- }
46
- }
47
- return new URL(request.url).origin;
48
- }
49
- function resolveServerOrigin(request) {
50
- const mcpUrl = readEnv("MCP_URL");
51
- if (mcpUrl !== void 0) {
52
- try {
53
- return new URL(mcpUrl).origin;
54
- } catch {
55
- }
56
- }
57
- return resolveRequestOriginFromHeaders(request);
58
- }
59
- function originFromAssetsBase(assetsBase) {
60
- try {
61
- return new URL(assetsBase).origin;
62
- } catch {
63
- return assetsBase;
64
- }
65
- }
66
- function normalizeAssetsBaseUrl(value) {
67
- return stripTrailingSlashes(value);
68
- }
69
- function resolveAssetsBase(request) {
70
- const assetsUrl = readEnv("MCP_ASSETS_URL");
71
- if (assetsUrl !== void 0) {
72
- try {
73
- return normalizeAssetsBaseUrl(new URL(assetsUrl).href.replace(/\/$/, ""));
74
- } catch {
75
- }
76
- }
77
- return resolveServerOrigin(request);
78
- }
79
- function hasExplicitAssetsBase() {
80
- const assetsUrl = readEnv("MCP_ASSETS_URL");
81
- if (assetsUrl === void 0) {
82
- return false;
83
- }
84
- try {
85
- new URL(assetsUrl);
86
- return true;
87
- } catch {
88
- return false;
89
- }
90
- }
91
-
92
- export {
93
- resolveServerOrigin,
94
- originFromAssetsBase,
95
- normalizeAssetsBaseUrl,
96
- resolveAssetsBase,
97
- hasExplicitAssetsBase
98
- };
99
- //# sourceMappingURL=chunk-FC2Z2VFO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/views/origin.ts"],"sourcesContent":["/**\n * Resolve public origins and asset URL prefixes for view documents and CSP.\n *\n * **Server origin** (`resolveServerOrigin`): MCP endpoint / API base — OAuth\n * resource identity, `connectDomains`, dev HMR websocket host.\n *\n * **Assets base** (`resolveAssetsBase`): prefix for view JS/CSS and\n * `public/` URLs — may include a path (CDN bucket prefix).\n */\n\n/** Strip trailing slashes from a URL prefix. */\nexport function stripTrailingSlashes(value: string): string {\n return value.replace(/\\/+$/, \"\");\n}\n\nfunction readEnv(name: string): string | undefined {\n if (typeof process === \"undefined\") {\n return undefined;\n }\n const value = process.env[name];\n return value !== undefined && value !== \"\" ? value : undefined;\n}\n\nfunction parseForwardedHeader(header: string): string | undefined {\n for (const part of header.split(\",\")) {\n const params = new Map<string, string>();\n for (const token of part.split(\";\")) {\n const [key, ...rest] = token.trim().split(\"=\");\n if (key === undefined || rest.length === 0) {\n continue;\n }\n params.set(key.toLowerCase(), rest.join(\"=\").replace(/^\"|\"$/g, \"\"));\n }\n const proto = params.get(\"proto\");\n const host = params.get(\"host\");\n if (proto !== undefined && host !== undefined) {\n return `${proto}://${host}`;\n }\n }\n return undefined;\n}\n\n/**\n * Resolve origin from forwarded headers or the request URL (no env override).\n */\nexport function resolveRequestOriginFromHeaders(request: Request): string {\n const forwarded = request.headers.get(\"forwarded\");\n if (forwarded !== null) {\n const fromForwarded = parseForwardedHeader(forwarded);\n if (fromForwarded !== undefined) {\n return fromForwarded;\n }\n }\n\n const proto = request.headers.get(\"x-forwarded-proto\");\n const host = request.headers.get(\"x-forwarded-host\");\n if (proto !== null && host !== null) {\n const firstHost = host.split(\",\")[0]?.trim();\n const firstProto = proto.split(\",\")[0]?.trim();\n if (\n firstHost !== undefined &&\n firstProto !== undefined &&\n firstHost !== \"\"\n ) {\n return `${firstProto}://${firstHost}`;\n }\n }\n\n return new URL(request.url).origin;\n}\n\n/**\n * Server public origin — `MCP_URL` when valid, else forwarded/request origin.\n *\n * Uses `.origin` only (path suffix on `MCP_URL` is ignored).\n */\nexport function resolveServerOrigin(request: Request): string {\n const mcpUrl = readEnv(\"MCP_URL\");\n if (mcpUrl !== undefined) {\n try {\n return new URL(mcpUrl).origin;\n } catch {\n // Fall through when MCP_URL is malformed.\n }\n }\n return resolveRequestOriginFromHeaders(request);\n}\n\n/**\n * Extract the origin from an assets URL prefix (origin + optional path).\n */\nexport function originFromAssetsBase(assetsBase: string): string {\n try {\n return new URL(assetsBase).origin;\n } catch {\n return assetsBase;\n }\n}\n\n/**\n * Normalize `MCP_ASSETS_URL` to a URL prefix without trailing slash.\n */\nexport function normalizeAssetsBaseUrl(value: string): string {\n return stripTrailingSlashes(value);\n}\n\n/**\n * Assets URL prefix for view JS/CSS and `public/` — `MCP_ASSETS_URL` when set,\n * else server origin from {@link resolveServerOrigin}.\n */\nexport function resolveAssetsBase(request: Request): string {\n const assetsUrl = readEnv(\"MCP_ASSETS_URL\");\n if (assetsUrl !== undefined) {\n try {\n return normalizeAssetsBaseUrl(new URL(assetsUrl).href.replace(/\\/$/, \"\"));\n } catch {\n // Fall through when MCP_ASSETS_URL is malformed.\n }\n }\n return resolveServerOrigin(request);\n}\n\n/**\n * @deprecated Alias for {@link resolveServerOrigin} — kept for OAuth callers.\n */\nexport function resolveRequestOrigin(request: Request): string {\n return resolveServerOrigin(request);\n}\n\n/**\n * Whether `MCP_ASSETS_URL` is explicitly configured (distinct from server).\n */\nexport function hasExplicitAssetsBase(): boolean {\n const assetsUrl = readEnv(\"MCP_ASSETS_URL\");\n if (assetsUrl === undefined) {\n return false;\n }\n try {\n new URL(assetsUrl);\n return true;\n } catch {\n return false;\n }\n}\n"],"mappings":";AAWO,SAAS,qBAAqB,OAAuB;AAC1D,SAAO,MAAM,QAAQ,QAAQ,EAAE;AACjC;AAEA,SAAS,QAAQ,MAAkC;AACjD,MAAI,OAAO,YAAY,aAAa;AAClC,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,QAAQ,IAAI,IAAI;AAC9B,SAAO,UAAU,UAAa,UAAU,KAAK,QAAQ;AACvD;AAEA,SAAS,qBAAqB,QAAoC;AAChE,aAAW,QAAQ,OAAO,MAAM,GAAG,GAAG;AACpC,UAAM,SAAS,oBAAI,IAAoB;AACvC,eAAW,SAAS,KAAK,MAAM,GAAG,GAAG;AACnC,YAAM,CAAC,KAAK,GAAG,IAAI,IAAI,MAAM,KAAK,EAAE,MAAM,GAAG;AAC7C,UAAI,QAAQ,UAAa,KAAK,WAAW,GAAG;AAC1C;AAAA,MACF;AACA,aAAO,IAAI,IAAI,YAAY,GAAG,KAAK,KAAK,GAAG,EAAE,QAAQ,UAAU,EAAE,CAAC;AAAA,IACpE;AACA,UAAM,QAAQ,OAAO,IAAI,OAAO;AAChC,UAAM,OAAO,OAAO,IAAI,MAAM;AAC9B,QAAI,UAAU,UAAa,SAAS,QAAW;AAC7C,aAAO,GAAG,KAAK,MAAM,IAAI;AAAA,IAC3B;AAAA,EACF;AACA,SAAO;AACT;AAKO,SAAS,gCAAgC,SAA0B;AACxE,QAAM,YAAY,QAAQ,QAAQ,IAAI,WAAW;AACjD,MAAI,cAAc,MAAM;AACtB,UAAM,gBAAgB,qBAAqB,SAAS;AACpD,QAAI,kBAAkB,QAAW;AAC/B,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,QAAQ,QAAQ,QAAQ,IAAI,mBAAmB;AACrD,QAAM,OAAO,QAAQ,QAAQ,IAAI,kBAAkB;AACnD,MAAI,UAAU,QAAQ,SAAS,MAAM;AACnC,UAAM,YAAY,KAAK,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK;AAC3C,UAAM,aAAa,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK;AAC7C,QACE,cAAc,UACd,eAAe,UACf,cAAc,IACd;AACA,aAAO,GAAG,UAAU,MAAM,SAAS;AAAA,IACrC;AAAA,EACF;AAEA,SAAO,IAAI,IAAI,QAAQ,GAAG,EAAE;AAC9B;AAOO,SAAS,oBAAoB,SAA0B;AAC5D,QAAM,SAAS,QAAQ,SAAS;AAChC,MAAI,WAAW,QAAW;AACxB,QAAI;AACF,aAAO,IAAI,IAAI,MAAM,EAAE;AAAA,IACzB,QAAQ;AAAA,IAER;AAAA,EACF;AACA,SAAO,gCAAgC,OAAO;AAChD;AAKO,SAAS,qBAAqB,YAA4B;AAC/D,MAAI;AACF,WAAO,IAAI,IAAI,UAAU,EAAE;AAAA,EAC7B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAKO,SAAS,uBAAuB,OAAuB;AAC5D,SAAO,qBAAqB,KAAK;AACnC;AAMO,SAAS,kBAAkB,SAA0B;AAC1D,QAAM,YAAY,QAAQ,gBAAgB;AAC1C,MAAI,cAAc,QAAW;AAC3B,QAAI;AACF,aAAO,uBAAuB,IAAI,IAAI,SAAS,EAAE,KAAK,QAAQ,OAAO,EAAE,CAAC;AAAA,IAC1E,QAAQ;AAAA,IAER;AAAA,EACF;AACA,SAAO,oBAAoB,OAAO;AACpC;AAYO,SAAS,wBAAiC;AAC/C,QAAM,YAAY,QAAQ,gBAAgB;AAC1C,MAAI,cAAc,QAAW;AAC3B,WAAO;AAAA,EACT;AACA,MAAI;AACF,QAAI,IAAI,SAAS;AACjB,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/landing.ts"],"sourcesContent":["/**\n * Landing page generator for MCP server endpoints\n *\n * Generates SEO-friendly HTML with connection instructions for MCP servers\n * from Claude Code, Cursor, VS Code, ChatGPT, and Manufact Inspector (hosted).\n */\n\n/**\n * Escapes HTML special characters to prevent XSS in user-provided content.\n */\nfunction escapeHtml(text: string): string {\n return text\n .replace(/&/g, \"&amp;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/'/g, \"&#39;\");\n}\n\n/** Serialize data for an inline JSON script without creating an HTML end tag. */\nfunction serializeScriptJson(value: unknown): string {\n return JSON.stringify(value)\n .replace(/</g, \"\\\\u003c\")\n .replace(/>/g, \"\\\\u003e\");\n}\n\n/**\n * Sanitizes a server name for use in filenames and URLs.\n * Replaces non-alphanumeric characters with underscores and converts to lowercase.\n */\nfunction sanitizeServerName(name: string): string {\n return name.replace(/[^a-zA-Z0-9-_]/g, \"_\").toLowerCase();\n}\n\n/**\n * Generates a Cursor deep link for installing an MCP server.\n * The config is base64-encoded JSON containing the server URL.\n */\nfunction generateCursorDeepLink(url: string, name: string): string {\n const config = { url };\n const configJson = JSON.stringify(config);\n\n // Use Buffer in Node.js or btoa in browser-like environments\n const base64Config =\n typeof Buffer !== \"undefined\"\n ? Buffer.from(configJson).toString(\"base64\")\n : btoa(configJson);\n\n const sanitizedName = sanitizeServerName(name);\n return `cursor://anysphere.cursor-deeplink/mcp/install?config=${encodeURIComponent(base64Config)}&name=${encodeURIComponent(sanitizedName)}`;\n}\n\n/**\n * Generates a VS Code deep link for installing an MCP server.\n * The config is URL-encoded JSON containing the server URL.\n */\nfunction generateVSCodeDeepLink(url: string, name: string): string {\n const config = {\n url,\n name: sanitizeServerName(name),\n type: \"http\",\n };\n const configJson = JSON.stringify(config);\n const urlEncodedConfig = encodeURIComponent(configJson);\n return `vscode:mcp/install?${urlEncodedConfig}`;\n}\n\n/**\n * Generates a VS Code Insiders deep link for installing an MCP server.\n * The config is URL-encoded JSON containing the server URL.\n */\nfunction generateVSCodeInsidersDeepLink(url: string, name: string): string {\n const config = {\n url,\n name: sanitizeServerName(name),\n type: \"http\",\n };\n const configJson = JSON.stringify(config);\n const urlEncodedConfig = encodeURIComponent(configJson);\n return `vscode-insiders:mcp/install?${urlEncodedConfig}`;\n}\n\n/**\n * Generates a Claude Code CLI command for adding an MCP server.\n */\nfunction generateClaudeCommand(url: string, name: string): string {\n const sanitizedName = sanitizeServerName(name);\n const quotedUrl = `'${url.replace(/'/g, \"'\\\\''\")}'`;\n return `claude mcp add --transport http \"${sanitizedName}\" ${quotedUrl}`;\n}\n\n/** Hosted Manufact Inspector base (same as cloud deploy “Open in new tab”). */\nconst MANUFACT_INSPECTOR_ORIGIN = \"https://inspector.manufact.com\";\n\n/**\n * Deep link to hosted Manufact Inspector with this MCP server URL pre-filled\n * and the Chat tab selected (`tab=chat`).\n */\nfunction getManufactInspectorUrl(serverUrl: string): string {\n const params = new URLSearchParams({\n autoConnect: serverUrl,\n tab: \"chat\",\n });\n return `${MANUFACT_INSPECTOR_ORIGIN}/inspector?${params.toString()}`;\n}\n\nconst LOGO_SVG_PATHS = {\n path1:\n \"M105.933 0C164.437 0.000115889 211.865 47.607 211.865 106.333C211.865 131.828 210.494 158.401 221.068 181.6L228.976 198.947C243.585 230.997 269.266 256.7 301.304 271.336L316.156 278.121C340.143 289.079 367.695 287.335 394.067 287.335C452.572 287.335 500 334.942 500 393.668C500 452.394 452.572 500.001 394.067 500.001C335.563 500.001 288.135 452.394 288.135 393.668C288.135 368.974 289.241 343.275 278.992 320.807L270.587 302.38C255.949 270.289 230.214 244.565 198.118 229.939L180.164 221.758C157.282 211.331 131.078 212.666 105.933 212.666C47.4278 212.666 4.92992e-05 165.059 0 106.333C0 47.607 47.4278 0 105.933 0Z\",\n circle: { cx: 100.426, cy: 399.575, r: 100.426 },\n path2:\n \"M500 100.426C500 155.889 455.037 200.851 399.574 200.851C344.11 200.851 299.148 155.889 299.148 100.426C299.148 44.962 344.11 0 399.574 0C455.037 0 500 44.962 500 100.426Z\",\n};\n\nconst LINE_INTERSECTION_PATH =\n \"M10.5 4C10.5 7.31371 7.81371 10 4.5 10H0.5V11H4.5C7.81371 11 10.5 13.6863 10.5 17V21H11.5V17C11.5 13.6863 14.1863 11 17.5 11H21.5V10H17.5C14.1863 10 11.5 7.31371 11.5 4V0H10.5V4Z\";\n\n/** Returns the inline WebGL mesh gradient script (no deps). */\nfunction getMeshGradientScript(): string {\n const VERT = `#version 300 es\nin vec4 a_position;\nout vec2 v_objectUV;\nvoid main(){\n gl_Position=a_position;\n v_objectUV=a_position.xy*0.5+0.5;\n}`;\n\n const FRAG = `#version 300 es\nprecision mediump float;\nuniform float u_time;\nuniform vec4 u_colors[4];\nuniform float u_colorsCount;\nuniform float u_distortion;\nuniform float u_swirl;\nuniform float u_grainMixer;\nuniform float u_grainOverlay;\nin vec2 v_objectUV;\nout vec4 fragColor;\n#define PI 3.14159265359\nvec2 rotate(vec2 uv,float th){return mat2(cos(th),sin(th),-sin(th),cos(th))*uv;}\nfloat hash21(vec2 p){\n p=fract(p*vec2(0.3183099,0.3678794))+0.1;\n p+=dot(p,p+19.19);\n return fract(p.x*p.y);\n}\nfloat valueNoise(vec2 st){\n vec2 i=floor(st);vec2 f=fract(st);\n float a=hash21(i),b=hash21(i+vec2(1.,0.)),c=hash21(i+vec2(0.,1.)),d=hash21(i+vec2(1.,1.));\n vec2 u=f*f*(3.-2.*f);\n return mix(mix(a,b,u.x),mix(c,d,u.x),u.y);\n}\nvec2 getPosition(int i,float t){\n float a=float(i)*.37,b=.6+fract(float(i)/3.)*.9,c=.8+fract(float(i+1)/4.);\n float x=sin(t*b+a),y=cos(t*c+a*1.5);\n return .5+.5*vec2(x,y);\n}\nvoid main(){\n vec2 uv=v_objectUV;uv+=.5;\n vec2 grainUV=uv*1000.;\n float grain=valueNoise(grainUV);\n float mixerGrain=.4*u_grainMixer*(grain-.5);\n float t=.5*(u_time+41.5);\n float radius=smoothstep(0.,1.,length(uv-.5));\n float center=1.-radius;\n for(float i=1.;i<=2.;i++){\n uv.x+=u_distortion*center/i*sin(t+i*.4*smoothstep(0.,1.,uv.y))*cos(.2*t+i*2.4*smoothstep(0.,1.,uv.y));\n uv.y+=u_distortion*center/i*cos(t+i*2.*smoothstep(0.,1.,uv.x));\n }\n vec2 uvR=uv-vec2(.5);\n float angle=3.*u_swirl*radius;\n uvR=rotate(uvR,-angle);uvR+=vec2(.5);\n vec3 color=vec3(0.);float opacity=0.,totalWeight=0.;\n for(int i=0;i<4;i++){\n if(i>=int(u_colorsCount))break;\n vec2 pos=getPosition(i,t)+mixerGrain;\n vec3 cf=u_colors[i].rgb*u_colors[i].a;\n float opacityF=u_colors[i].a;\n float dist=length(uvR-pos);\n dist=pow(dist,3.5);\n float w=1./(dist+1e-3);\n color+=cf*w;opacity+=opacityF*w;totalWeight+=w;\n }\n color/=max(1e-4,totalWeight);\n opacity/=max(1e-4,totalWeight);\n float grainO=valueNoise(rotate(grainUV,1.)+vec2(3.));\n grainO=mix(grainO,valueNoise(rotate(grainUV,2.)+vec2(-1.)),.5);\n grainO=pow(grainO,1.3);\n float grainOV=grainO*2.-1.;\n vec3 grainOC=vec3(step(0.,grainOV));\n float grainOS=u_grainOverlay*abs(grainOV);\n grainOS=pow(grainOS,.8);\n color=mix(color,grainOC,.35*grainOS);\n opacity+=.5*grainOS;\n fragColor=vec4(color,clamp(opacity,0.,1.));\n}`;\n\n return `(function(){\nvar c=document.getElementById('mesh-bg');\nif(!c)return;\nvar wrap=c.parentElement;\nif(!wrap)return;\nvar gl=c.getContext('webgl2');\nif(!gl)return;\nfunction compileShader(typ,src){\n var s=gl.createShader(typ);\n gl.shaderSource(s,src);\n gl.compileShader(s);\n if(!gl.getShaderParameter(s,gl.COMPILE_STATUS)){console.error(gl.getShaderInfoLog(s));return null;}\n return s;\n}\nvar vs=compileShader(gl.VERTEX_SHADER,${JSON.stringify(VERT)});\nvar fs=compileShader(gl.FRAGMENT_SHADER,${JSON.stringify(FRAG)});\nif(!vs||!fs)return;\nvar prog=gl.createProgram();\ngl.attachShader(prog,vs);\ngl.attachShader(prog,fs);\ngl.linkProgram(prog);\nif(!gl.getProgramParameter(prog,gl.LINK_STATUS)){console.error(gl.getProgramInfoLog(prog));return;}\ngl.useProgram(prog);\nvar posLoc=gl.getAttribLocation(prog,'a_position');\nvar buf=gl.createBuffer();\ngl.bindBuffer(gl.ARRAY_BUFFER,buf);\ngl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),gl.STATIC_DRAW);\ngl.enableVertexAttribArray(posLoc);\ngl.vertexAttribPointer(posLoc,2,gl.FLOAT,false,0,0);\nfunction hexToRgba(hex){\n var r=(parseInt(hex.slice(1,3),16))/255;\n var g=(parseInt(hex.slice(3,5),16))/255;\n var b=(parseInt(hex.slice(5,7),16))/255;\n return[r,g,b,1];\n}\nvar colors=[hexToRgba('#e0eaff'),hexToRgba('#f9ffbd'),hexToRgba('#dedede'),hexToRgba('#ffffff')];\nvar uTime=gl.getUniformLocation(prog,'u_time');\nvar uColors=[gl.getUniformLocation(prog,'u_colors[0]'),gl.getUniformLocation(prog,'u_colors[1]'),gl.getUniformLocation(prog,'u_colors[2]'),gl.getUniformLocation(prog,'u_colors[3]')];\nvar uColorsCount=gl.getUniformLocation(prog,'u_colorsCount');\nvar uDistortion=gl.getUniformLocation(prog,'u_distortion');\nvar uSwirl=gl.getUniformLocation(prog,'u_swirl');\nvar uGrainMixer=gl.getUniformLocation(prog,'u_grainMixer');\nvar uGrainOverlay=gl.getUniformLocation(prog,'u_grainOverlay');\nvar time=0,speed=1,raf;\nfunction resize(){\n var dpr=Math.min(2,window.devicePixelRatio||1);\n c.width=Math.floor(wrap.clientWidth*dpr);\n c.height=Math.floor(wrap.clientHeight*dpr);\n gl.viewport(0,0,c.width,c.height);\n}\nfunction draw(){\n if(document.hidden){raf=requestAnimationFrame(draw);return;}\n time+=0.016*speed;\n gl.uniform1f(uTime,time);\n for(var i=0;i<4;i++)gl.uniform4fv(uColors[i],colors[i]);\n gl.uniform1f(uColorsCount,4);\n gl.uniform1f(uDistortion,0.8);\n gl.uniform1f(uSwirl,0.1);\n gl.uniform1f(uGrainMixer,0);\n gl.uniform1f(uGrainOverlay,0.3);\n gl.drawArrays(gl.TRIANGLES,0,6);\n raf=requestAnimationFrame(draw);\n}\nresize();\nnew ResizeObserver(resize).observe(wrap);\ndraw();\n})();`;\n}\n\n/** A tool shown in the landing page's primitives list. */\nexport interface LandingPageTool {\n /** Protocol-facing tool name. */\n name: string;\n\n /** Optional human-readable tool title. */\n title?: string;\n\n /** Optional tool description. */\n description?: string;\n}\n\n/** A prompt shown in the landing page's primitives list. */\nexport interface LandingPagePrompt {\n /** Protocol-facing prompt name. */\n name: string;\n\n /** Optional human-readable prompt title. */\n title?: string;\n\n /** Optional prompt description. */\n description?: string;\n}\n\n/** A static resource shown in the landing page's primitives list. */\nexport interface LandingPageResource {\n /** Resource URI. */\n uri: string;\n\n /** Optional protocol-facing resource name. */\n name?: string;\n\n /** Optional human-readable resource title. */\n title?: string;\n\n /** Optional resource description. */\n description?: string;\n}\n\n/** Inputs used to render the v1-compatible MCP server landing page. */\nexport interface LandingPageOptions {\n /** Protocol-facing server name. */\n name: string;\n\n /** Optional human-readable server title used as the page heading. */\n title?: string;\n\n /** Server version shown beside the heading. */\n version: string;\n\n /** Absolute public URL of the MCP endpoint. */\n url: string;\n\n /** Optional server description. */\n description?: string;\n\n /** Optional tools shown in the primitives list. */\n tools?: readonly LandingPageTool[];\n\n /** Optional prompts shown in the primitives list. */\n prompts?: readonly LandingPagePrompt[];\n\n /** Optional static resources shown in the primitives list. */\n resources?: readonly LandingPageResource[];\n\n /** Optional absolute URL for the icon displayed above the server heading. */\n iconUrl?: string;\n}\n\n/**\n * Generates an HTML landing page with connection instructions\n * for Claude Code, Cursor, VS Code, ChatGPT, and Manufact Inspector.\n *\n * @param options - Server identity, endpoint, icon, and primitive metadata.\n * @returns HTML landing page with connection instructions\n */\nexport function generateLandingPage(options: LandingPageOptions): string {\n const {\n name: protocolName,\n title,\n version,\n url,\n description,\n tools,\n prompts,\n resources,\n iconUrl,\n } = options;\n const name = title ?? protocolName;\n const cursorDeepLink = generateCursorDeepLink(url, name);\n const vscodeDeepLink = generateVSCodeDeepLink(url, name);\n const vscodeInsidersDeepLink = generateVSCodeInsidersDeepLink(url, name);\n const claudeCommand = generateClaudeCommand(url, name);\n const manufactInspectorUrl = getManufactInspectorUrl(url);\n\n const safeName = escapeHtml(name);\n const safeDescription = description ? escapeHtml(description) : \"\";\n const rawMetaDescription =\n description ||\n `${name} MCP Server — Connect with Claude Code, Cursor, and VS Code. Model Context Protocol server.`;\n const metaDescription = escapeHtml(rawMetaDescription);\n const pageTitle = `${safeName} MCP Server — Connect with Claude Code, Cursor & VS Code`;\n\n const jsonLd = serializeScriptJson({\n \"@context\": \"https://schema.org\",\n \"@type\": \"SoftwareApplication\",\n name: name,\n softwareVersion: version,\n description: rawMetaDescription,\n applicationCategory: \"DeveloperApplication\",\n });\n\n const normalizedTools: LandingPageTool[] =\n tools && tools.length > 0\n ? tools.map((tool) => ({\n name: tool.title ?? tool.name,\n ...(tool.description !== undefined && {\n description: tool.description,\n }),\n }))\n : [];\n\n const toolsListHtml =\n normalizedTools.length > 0\n ? normalizedTools\n .map(\n (t) =>\n `<div class=\"spec-item\"><code class=\"spec-name\">${escapeHtml(t.name)}</code>${t.description ? `<p class=\"spec-desc\">${escapeHtml(t.description)}</p>` : \"\"}</div>`\n )\n .join(\"\\n\")\n : \"\";\n\n const promptsListHtml =\n prompts && prompts.length > 0\n ? prompts\n .map(\n (p) =>\n `<div class=\"spec-item\"><code class=\"spec-name\">${escapeHtml(p.title ?? p.name)}</code>${p.description ? `<p class=\"spec-desc\">${escapeHtml(p.description)}</p>` : \"\"}</div>`\n )\n .join(\"\\n\")\n : \"\";\n\n const resourcesListHtml =\n resources && resources.length > 0\n ? resources\n .map(\n (r) =>\n `<div class=\"spec-item\"><code class=\"spec-uri\">${escapeHtml(r.uri)}</code>${r.description ? `<p class=\"spec-desc\">${escapeHtml(r.description)}</p>` : \"\"}</div>`\n )\n .join(\"\\n\")\n : \"\";\n\n return `<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<title>${pageTitle}</title>\n<meta name=\"description\" content=\"${metaDescription}\">\n<meta property=\"og:title\" content=\"${pageTitle}\">\n<meta property=\"og:description\" content=\"${metaDescription}\">\n<meta property=\"og:type\" content=\"website\">\n<meta name=\"twitter:card\" content=\"summary\">\n<meta name=\"twitter:title\" content=\"${pageTitle}\">\n<meta name=\"twitter:description\" content=\"${metaDescription}\">\n${iconUrl ? `<link rel=\"icon\" href=\"${escapeHtml(iconUrl)}\">` : \"\"}\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n<link href=\"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n<script type=\"application/ld+json\">${jsonLd}</script>\n<style>\n* { box-sizing: border-box; }\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n font-size: 16px;\n line-height: 1.6;\n color: #1e293b;\n background-color: #fdfcfc;\n min-height: 100vh;\n}\n.layout {\n max-width: 48rem;\n margin: 0 auto;\n padding: 2rem 1.5rem;\n position: relative;\n}\n.rail-left, .rail-right {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 1px;\n background: rgba(0,0,0,0.08);\n}\n.rail-left { left: 1.5rem; }\n.rail-right { right: 1.5rem; }\n.rail-top, .rail-bottom {\n height: 1px;\n background: rgba(0,0,0,0.08);\n position: absolute;\n left: 1.5rem;\n right: 1.5rem;\n}\n.rail-top { top: 0; }\n.rail-bottom { bottom: 0; }\n.corner {\n position: absolute;\n width: 22px;\n height: 21px;\n color: rgba(0,0,0,0.08);\n}\n.corner-tl { left: 1.5rem; top: 0; transform: translate(-50%, -50%); }\n.corner-tr { right: 1.5rem; top: 0; transform: translate(50%, -50%); left: auto; }\n.corner-bl { left: 1.5rem; bottom: 0; transform: translate(-50%, 50%); top: auto; }\n.corner-br { right: 1.5rem; bottom: 0; transform: translate(50%, 50%); left: auto; top: auto; }\n.card {\n background: #fff;\n border-top: 1px solid rgba(0,0,0,0.08);\n border-bottom: 1px solid rgba(0,0,0,0.08);\n margin-bottom: 1.5rem;\n overflow: hidden;\n}\n.card-header {\n padding: 1.5rem 1.5rem 0.5rem;\n}\n.card-content { padding: 0 1.5rem 1.5rem; }\n.hero-card .card-header {\n text-align: center;\n padding: 0 1.5rem 1.25rem;\n}\n.hero-card .card-header.has-icon {\n padding-top: 1.5rem;\n}\n.hero-icon {\n width: 64px;\n height: 64px;\n border-radius: 14px;\n object-fit: contain;\n margin-bottom: 0.75rem;\n}\n.hero-row {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.75rem;\n margin-bottom: 0.35rem;\n}\n.hero h1 {\n font-size: 1.75rem;\n font-weight: 700;\n color: #172037;\n margin: 0.75rem 0 0;\n}\n.hero-card .card-header.has-icon .hero h1 { margin-top: 0; }\n.hero .version { font-size: 0.95rem; color: #64748b; font-weight: 500; }\n.hero-description {\n color: rgba(23,32,55,0.8);\n font-size: 1rem;\n margin: 0.35rem 0 0;\n max-width: 36rem;\n margin-left: auto;\n margin-right: auto;\n}\n.logo-symbol {\n display: inline-block;\n cursor: default;\n flex-shrink: 0;\n}\n.logo-symbol svg {\n width: 32px;\n height: 32px;\n color: #172037;\n}\n.logo-fill { transition: opacity 0.2s ease; }\n.logo-stroke path,\n.logo-stroke circle {\n fill: none;\n stroke: currentColor;\n stroke-width: 6;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-dasharray: 2000;\n stroke-dashoffset: 2000;\n opacity: 0;\n}\n.logo-symbol:hover .logo-fill {\n animation: logo-fill-out 0.2s forwards, logo-fill-in 0.6s 0.9s forwards;\n}\n.logo-symbol:hover .logo-stroke path,\n.logo-symbol:hover .logo-stroke circle {\n opacity: 1;\n animation: logo-draw 0.7s 0.2s ease-in-out forwards;\n}\n@keyframes logo-fill-out { to { opacity: 0; } }\n@keyframes logo-fill-in { to { opacity: 1; } }\n@keyframes logo-draw { to { stroke-dashoffset: 0; } }\n.footer-content { text-align: center; padding: 2.5rem 1.5rem; border-top: 1px solid rgba(0,0,0,0.08); display: flex; justify-content: center; align-items: center; }\n.footer-brand-link { justify-content: center; }\n.footer-brand-link .logo-symbol svg { width: 22px; height: 22px; }\n.hero-powered { display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem; margin-top: 0.75rem; font-family: \"Outfit\", -apple-system, BlinkMacSystemFont, sans-serif; font-size: 0.875rem; font-weight: 500; color: rgba(23,32,55,0.6); }\n.hero-powered a { color: #000; text-decoration: none; display: inline-flex; align-items: center; }\n.hero-powered a:hover { text-decoration: underline; }\n.footer-brand-link { display: inline-flex; align-items: center; gap: 0.5rem; font-family: \"Outfit\", -apple-system, BlinkMacSystemFont, sans-serif; font-size: 1.5rem; font-weight: 600; color: #172037; text-decoration: none; }\n.footer-brand-link:hover { color: #0f172a; }\n.hero-url-block { display: flex; justify-content: center; margin: 0.75rem 0; }\n.hero-cta-row {\n display: flex;\n justify-content: center;\n margin: 0.35rem 0 0.5rem;\n}\n.hero-primary-btn {\n display: inline-block;\n padding: 0.625rem 1.25rem;\n background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);\n color: #fff;\n border-radius: 9999px;\n text-decoration: none;\n font-weight: 600;\n font-size: 0.9375rem;\n box-shadow: 0 1px 2px rgba(0,0,0,0.12), 0 2px 8px rgba(15,23,42,0.15);\n transition: background 0.15s;\n border: 1px solid rgba(0,0,0,0.12);\n}\n.hero-primary-btn:hover {\n background: linear-gradient(180deg, #334155 0%, #1e293b 100%);\n text-decoration: none;\n color: #fff;\n}\n.hero-url-block .url-block { max-width: 100%; }\n.hero-url-block .url-box {\n font-size: 0.938rem;\n background: #fff;\n border: 1px solid rgba(0,0,0,0.12);\n border-radius: 9999px;\n padding: 0.75rem 3rem 0.75rem 1rem;\n margin: 1rem 0;\n}\n.hero-powered .gh-icon { width: 18px; height: 18px; margin-right: 0.25rem; vertical-align: -0.2em; }\n.hero-powered .gh-shield { height: 18px; width: auto; margin-left: 0.4rem; vertical-align: -0.2em; }\n.card-title { font-size: 1.25rem; font-weight: 600; color: #172037; margin: 0 0 0.25rem; }\n.card-desc { font-size: 0.875rem; color: rgba(23,32,55,0.8); margin: 0 0 1rem; }\n.url-block {\n position: relative;\n margin: 1rem 0;\n}\n.url-block .url-box {\n margin: 0;\n padding-right: 2.75rem;\n}\n.url-block .copy-btn { top: 50%; right: 0.5rem; transform: translateY(-50%); }\n.url-box {\n font-family: ui-monospace, monospace;\n font-size: 0.813rem;\n background: #f8fafc;\n padding: 0.5rem 0.75rem;\n border-radius: 6px;\n color: #475569;\n margin: 1rem 0;\n}\n.spec-section { margin-top: 1.5rem; }\n.spec-section h3 { font-size: 1rem; font-weight: 600; color: #172037; margin: 0 0 0.75rem; }\n.spec-item { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #f1f5f9; }\n.spec-item:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }\n.spec-name, .spec-uri { font-family: ui-monospace, monospace; font-size: 0.813rem; background: #f1f5f9; padding: 0.2rem 0.4rem; border-radius: 4px; }\n.spec-uri { word-break: break-all; }\n.spec-desc { margin: 0.5rem 0 0; font-size: 0.875rem; color: #64748b; line-height: 1.5; }\n.tabs-row {\n display: flex;\n gap: 2px;\n background: rgba(23,32,55,0.05);\n padding: 3px;\n border-radius: 8px;\n margin-bottom: 1.5rem;\n flex-wrap: wrap;\n}\n.tab {\n flex: 1;\n min-width: 80px;\n padding: 0.5rem 0.75rem;\n font-size: 0.813rem;\n font-weight: 500;\n border: none;\n border-radius: 6px;\n background: transparent;\n color: #64748b;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n}\n.tab:hover { color: #172037; background: rgba(255,255,255,0.6); }\n.tab.active { background: #fff; color: #172037; border: 1px solid rgba(0,0,0,0.1); box-shadow: 0 1px 2px rgba(0,0,0,0.04); }\n.tab-panel { display: none; }\n.tab-panel.active { display: block; }\n.tab-panel h3 { font-size: 1.125rem; font-weight: 600; color: #172037; margin: 0 0 1rem; }\n.install-btn {\n display: inline-block;\n padding: 0.375rem 0.875rem;\n background: #0f172a;\n color: #fff;\n border-radius: 9999px;\n text-decoration: none;\n font-weight: 500;\n font-size: 0.813rem;\n margin-bottom: 1rem;\n transition: background 0.15s;\n}\n.install-btn:hover { background: #1e293b; }\n.code-block {\n position: relative;\n margin: 1rem 0;\n}\n.code-block pre {\n margin: 0;\n padding: 0.5rem 0.75rem;\n background: #f8fafc;\n color: #475569;\n border-radius: 8px;\n font-family: ui-monospace, monospace;\n font-size: 0.875rem;\n overflow-x: auto;\n border: 1px solid rgba(0,0,0,0.08);\n}\n.code-block .copy-btn { top: 50%; right: 0.375rem; transform: translateY(-50%); }\n.copy-btn {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: none;\n border-radius: 6px;\n background: #fff;\n color: #172037;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s;\n}\n.copy-btn:hover { background: #f1f5f9; }\n.copy-btn.copied { background: #fff; color: #172037; }\n.copy-btn svg { width: 14px; height: 14px; }\nol.steps { margin: 0; padding-left: 1.25rem; }\nol.steps li { margin: 0.5rem 0; color: #475569; }\na { color: #0522a5; text-decoration: none; }\na:hover { text-decoration: underline; }\n.hero-gradient-wrap {\n position: relative;\n padding: 1.5rem;\n overflow: hidden;\n}\n.hero-gradient-wrap canvas {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n display: block;\n}\n.hero-inner {\n position: relative;\n z-index: 1;\n background: rgba(253,252,252,0.9);\n -webkit-backdrop-filter: blur(12px);\n backdrop-filter: blur(12px);\n padding: 1.25rem 1.5rem;\n border: 1px solid rgba(0,0,0,0.06);\n}\n.hero-inner .card-header { padding: 0; }\n.hero-inner .card-header.has-icon { padding-top: 0.5rem; }\n</style>\n</head>\n<body>\n<div class=\"layout\">\n <div class=\"rail-left\"></div>\n <div class=\"rail-right\"></div>\n <div class=\"rail-top\"></div>\n <div class=\"rail-bottom\"></div>\n <svg class=\"corner corner-tl\" viewBox=\"0 0 22 21\" fill=\"none\"><path d=\"${LINE_INTERSECTION_PATH}\" fill=\"currentColor\"/></svg>\n <svg class=\"corner corner-tr\" viewBox=\"0 0 22 21\" fill=\"none\"><path d=\"${LINE_INTERSECTION_PATH}\" fill=\"currentColor\"/></svg>\n <svg class=\"corner corner-bl\" viewBox=\"0 0 22 21\" fill=\"none\"><path d=\"${LINE_INTERSECTION_PATH}\" fill=\"currentColor\"/></svg>\n <svg class=\"corner corner-br\" viewBox=\"0 0 22 21\" fill=\"none\"><path d=\"${LINE_INTERSECTION_PATH}\" fill=\"currentColor\"/></svg>\n\n <div class=\"card hero-card\">\n <div class=\"hero-gradient-wrap\" id=\"hero-gradient-wrap\">\n <canvas id=\"mesh-bg\" aria-hidden=\"true\"></canvas>\n <div class=\"hero-inner\">\n <div class=\"card-header ${iconUrl ? \"has-icon\" : \"\"}\">\n ${iconUrl ? `<img src=\"${escapeHtml(iconUrl)}\" alt=\"\" class=\"hero-icon\" width=\"64\" height=\"64\" />` : \"\"}\n <div class=\"hero-row\">\n <h1>${safeName} <span class=\"version\">(v${escapeHtml(version)})</span></h1>\n </div>\n ${safeDescription ? `<p class=\"hero-description\">${safeDescription}</p>` : \"\"}\n <div class=\"hero-url-block\">\n <div class=\"url-block\">\n <div class=\"url-box\" data-copy=\"${escapeHtml(url)}\">${escapeHtml(url)}</div>\n <button type=\"button\" class=\"copy-btn\" data-copy=\"${escapeHtml(url)}\" aria-label=\"Copy URL\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"/><path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"/></svg></button>\n </div>\n </div>\n <div class=\"hero-cta-row\">\n <a href=\"${escapeHtml(manufactInspectorUrl)}\" class=\"hero-primary-btn\" target=\"_blank\" rel=\"noopener noreferrer\">Open in Inspector</a>\n </div>\n <div class=\"hero-powered\">\n <span>Powered by</span>\n <a href=\"https://github.com/mcp-use/mcp-use\" target=\"_blank\" rel=\"noopener noreferrer\">\n <svg class=\"gh-icon\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\"/></svg>\n github.com/mcp-use/mcp-use\n <img src=\"https://img.shields.io/github/stars/mcp-use/mcp-use\" alt=\"GitHub stars\" class=\"gh-shield\" width=\"90\" height=\"18\" loading=\"lazy\" />\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"card\">\n <div class=\"card-header\">\n <h2 class=\"card-title\">Installation Guide</h2>\n <p class=\"card-desc\">Choose your preferred MCP client</p>\n </div>\n <div class=\"card-content\">\n <div class=\"tabs-row\" role=\"tablist\">\n <button type=\"button\" class=\"tab active\" role=\"tab\" data-tab=\"claude-code\" aria-selected=\"true\">Claude Code</button>\n <button type=\"button\" class=\"tab\" role=\"tab\" data-tab=\"cursor\" aria-selected=\"false\">Cursor</button>\n <button type=\"button\" class=\"tab\" role=\"tab\" data-tab=\"vscode\" aria-selected=\"false\">VS Code</button>\n <button type=\"button\" class=\"tab\" role=\"tab\" data-tab=\"vscode-insiders\" aria-selected=\"false\">VS Code Insiders</button>\n <button type=\"button\" class=\"tab\" role=\"tab\" data-tab=\"chatgpt\" aria-selected=\"false\">ChatGPT</button>\n </div>\n\n <div id=\"panel-claude-code\" class=\"tab-panel active\">\n <h3>Install in Claude Code</h3>\n <p>Run this command in your terminal:</p>\n <div class=\"code-block\">\n <pre data-copy=\"${escapeHtml(claudeCommand)}\">${escapeHtml(claudeCommand)}</pre>\n <button type=\"button\" class=\"copy-btn\" aria-label=\"Copy\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"/><path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"/></svg></button>\n </div>\n </div>\n\n <div id=\"panel-cursor\" class=\"tab-panel\">\n <h3>Install in Cursor</h3>\n <p>Click the button below to add this MCP server to Cursor:</p>\n <a href=\"${cursorDeepLink}\" class=\"install-btn\">Open in Cursor</a>\n <p>Or add manually: Settings → MCP → Add server</p>\n </div>\n\n <div id=\"panel-vscode\" class=\"tab-panel\">\n <h3>Install in VS Code</h3>\n <p>Click the button below to add this MCP server to VS Code:</p>\n <a href=\"${vscodeDeepLink}\" class=\"install-btn\">Open in VS Code</a>\n <p>Or add manually: Settings → MCP → Add server</p>\n </div>\n\n <div id=\"panel-vscode-insiders\" class=\"tab-panel\">\n <h3>Install in VS Code Insiders</h3>\n <p>Click the button below to add this MCP server to VS Code Insiders:</p>\n <a href=\"${vscodeInsidersDeepLink}\" class=\"install-btn\">Open in VS Code Insiders</a>\n <p>Or add manually: Settings → MCP → Add server</p>\n </div>\n\n <div id=\"panel-chatgpt\" class=\"tab-panel\">\n <h3>Connect with ChatGPT</h3>\n <ol class=\"steps\">\n <li><strong>Enable Developer Mode:</strong> Settings → Connectors → Advanced → Developer mode</li>\n <li><strong>Import this MCP server:</strong> Go to Connectors tab and add: ${escapeHtml(url)}</li>\n <li><strong>Use in conversations:</strong> Choose the MCP server from the Plus menu</li>\n </ol>\n </div>\n </div>\n </div>\n\n ${\n toolsListHtml || promptsListHtml || resourcesListHtml\n ? `\n <div class=\"card\">\n <div class=\"card-header\">\n <h2 class=\"card-title\">Primitives</h2>\n ${toolsListHtml ? `<div class=\"spec-section\"><h3>Tools (${normalizedTools.length})</h3>${toolsListHtml}</div>` : \"\"}\n ${promptsListHtml ? `<div class=\"spec-section\"><h3>Prompts (${prompts!.length})</h3>${promptsListHtml}</div>` : \"\"}\n ${resourcesListHtml ? `<div class=\"spec-section\"><h3>Resources (${resources!.length})</h3>${resourcesListHtml}</div>` : \"\"}\n </div>\n </div>\n `\n : \"\"\n }\n\n <footer class=\"footer-content\">\n <a href=\"https://manufact.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer-brand-link\" aria-label=\"Manufact\">\n <span class=\"logo-symbol\">\n <svg viewBox=\"0 0 500 500\" xmlns=\"http://www.w3.org/2000/svg\">\n <g class=\"logo-fill\" fill=\"currentColor\" fill-rule=\"nonzero\">\n <path d=\"${LOGO_SVG_PATHS.path1}\"/>\n <circle cx=\"${LOGO_SVG_PATHS.circle.cx}\" cy=\"${LOGO_SVG_PATHS.circle.cy}\" r=\"${LOGO_SVG_PATHS.circle.r}\"/>\n <path d=\"${LOGO_SVG_PATHS.path2}\"/>\n </g>\n <g class=\"logo-stroke\">\n <path d=\"${LOGO_SVG_PATHS.path1}\"/>\n <circle cx=\"${LOGO_SVG_PATHS.circle.cx}\" cy=\"${LOGO_SVG_PATHS.circle.cy}\" r=\"${LOGO_SVG_PATHS.circle.r}\"/>\n <path d=\"${LOGO_SVG_PATHS.path2}\"/>\n </g>\n </svg>\n </span>\n <span>Manufact</span>\n </a>\n </footer>\n</div>\n\n<script>${getMeshGradientScript()}</script>\n<script>\n(function(){\n var tabs = document.querySelectorAll('.tab');\n var panels = document.querySelectorAll('.tab-panel');\n tabs.forEach(function(tab){\n tab.addEventListener('click', function(){\n var target = tab.getAttribute('data-tab');\n tabs.forEach(function(t){ t.classList.remove('active'); t.setAttribute('aria-selected','false'); });\n panels.forEach(function(p){\n var match = p.id === 'panel-' + target;\n p.classList.toggle('active', match);\n p.hidden = !match;\n });\n tab.classList.add('active');\n tab.setAttribute('aria-selected','true');\n });\n });\n var copySvg = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"/><path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"/></svg>';\n var checkSvg = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6L9 17l-5-5\"/></svg>';\n document.querySelectorAll('.copy-btn').forEach(function(btn){\n btn.addEventListener('click', function(){\n var text = btn.getAttribute('data-copy');\n if (!text) {\n var pre = btn.parentElement.querySelector('pre');\n text = pre ? (pre.getAttribute('data-copy') || pre.textContent) : '';\n }\n if (text) navigator.clipboard.writeText(text).then(function(){\n btn.classList.add('copied');\n btn.innerHTML = checkSvg;\n setTimeout(function(){ btn.classList.remove('copied'); btn.innerHTML = copySvg; }, 2000);\n });\n });\n });\n panels.forEach(function(p){ if(!p.classList.contains('active')) p.hidden = true; });\n})();\n</script>\n</body>\n</html>`;\n}\n"],"mappings":"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","names":[]}
@@ -1,98 +0,0 @@
1
- // src/bin/args.ts
2
- function parseArgs(argv) {
3
- const args = {
4
- command: void 0,
5
- port: void 0,
6
- entry: void 0,
7
- host: void 0,
8
- tunnel: false,
9
- open: true,
10
- withInspector: false,
11
- help: false,
12
- version: false
13
- };
14
- for (let i = 0; i < argv.length; i++) {
15
- const token = argv[i];
16
- if (token === void 0) continue;
17
- let flag = token;
18
- let inline;
19
- if (token.startsWith("--")) {
20
- const eq = token.indexOf("=");
21
- if (eq !== -1) {
22
- flag = token.slice(0, eq);
23
- inline = token.slice(eq + 1);
24
- }
25
- }
26
- const takeValue = () => {
27
- if (inline !== void 0) return inline;
28
- const next = argv[++i];
29
- if (next === void 0 || next.startsWith("-")) {
30
- throw new Error(`Missing value for ${flag}`);
31
- }
32
- return next;
33
- };
34
- switch (flag) {
35
- case "-h":
36
- case "--help":
37
- args.help = true;
38
- break;
39
- case "-v":
40
- case "--version":
41
- args.version = true;
42
- break;
43
- case "-p":
44
- case "--port":
45
- args.port = parsePort(takeValue());
46
- break;
47
- case "--entry":
48
- args.entry = takeValue();
49
- break;
50
- case "--host":
51
- args.host = takeValue();
52
- break;
53
- case "--tunnel":
54
- args.tunnel = true;
55
- break;
56
- case "--no-open":
57
- args.open = false;
58
- break;
59
- case "--with-inspector":
60
- args.withInspector = true;
61
- break;
62
- default:
63
- if (flag.startsWith("-")) {
64
- throw new Error(`Unknown option: ${flag}`);
65
- }
66
- if (args.command !== void 0) {
67
- throw new Error(`Unexpected argument: ${flag}`);
68
- }
69
- args.command = flag;
70
- }
71
- }
72
- return args;
73
- }
74
- function resolvePort(flagPort, env = process.env) {
75
- if (flagPort !== void 0) return flagPort;
76
- const raw = env.PORT;
77
- if (raw !== void 0 && raw.trim() !== "") {
78
- const port = Number(raw);
79
- if (isValidPort(port)) return port;
80
- }
81
- return 3e3;
82
- }
83
- function parsePort(value) {
84
- const port = Number(value);
85
- if (!isValidPort(port)) {
86
- throw new Error(`Invalid port: ${value}`);
87
- }
88
- return port;
89
- }
90
- function isValidPort(port) {
91
- return Number.isInteger(port) && port >= 0 && port <= 65535;
92
- }
93
-
94
- export {
95
- parseArgs,
96
- resolvePort
97
- };
98
- //# sourceMappingURL=chunk-IG2BCCMU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/bin/args.ts"],"sourcesContent":["/**\n * Hand-rolled argv parsing for the `mcp-use` bin.\n *\n * Deliberately dependency-free (no commander): the bin must add zero runtime\n * dependencies to the package (see specs/CLI_SPEC.md, dependency rules).\n */\n\n/**\n * Result of parsing the `mcp-use` command line.\n *\n * @internal\n */\nexport interface ParsedArgs {\n /** First positional argument — the subcommand — or `undefined` if none was given. */\n command: string | undefined;\n /** Value of `--port`/`-p`, or `undefined` if the flag was not passed. */\n port: number | undefined;\n /** Value of `--entry`, or `undefined` if the flag was not passed. */\n entry: string | undefined;\n /** Value of `--host`, or `undefined` if the flag was not passed. */\n host: string | undefined;\n /** Whether `--tunnel` was passed (dev only). */\n tunnel: boolean;\n /** `false` when `--no-open` was passed (dev only); `true` otherwise. */\n open: boolean;\n /** Whether `--with-inspector` was passed (build only). */\n withInspector: boolean;\n /** Whether `--help`/`-h` was passed. */\n help: boolean;\n /** Whether `--version`/`-v` was passed. */\n version: boolean;\n}\n\n/**\n * Parse the `mcp-use` argv (everything after the node binary and script path).\n *\n * Supports `--flag value` and `--flag=value` forms. The first bare token is\n * taken as the subcommand.\n *\n * @param argv - Raw arguments, typically `process.argv.slice(2)`.\n * @throws Error on an unknown flag, a missing flag value, an out-of-range\n * port, or a second positional argument.\n *\n * @internal\n */\nexport function parseArgs(argv: readonly string[]): ParsedArgs {\n const args: ParsedArgs = {\n command: undefined,\n port: undefined,\n entry: undefined,\n host: undefined,\n tunnel: false,\n open: true,\n withInspector: false,\n help: false,\n version: false,\n };\n\n for (let i = 0; i < argv.length; i++) {\n const token = argv[i];\n if (token === undefined) continue;\n\n // Split `--flag=value` into flag + inline value.\n let flag = token;\n let inline: string | undefined;\n if (token.startsWith(\"--\")) {\n const eq = token.indexOf(\"=\");\n if (eq !== -1) {\n flag = token.slice(0, eq);\n inline = token.slice(eq + 1);\n }\n }\n\n /** Consume the flag's value: inline (`=`) or the next argv token. */\n const takeValue = (): string => {\n if (inline !== undefined) return inline;\n const next = argv[++i];\n if (next === undefined || next.startsWith(\"-\")) {\n throw new Error(`Missing value for ${flag}`);\n }\n return next;\n };\n\n switch (flag) {\n case \"-h\":\n case \"--help\":\n args.help = true;\n break;\n case \"-v\":\n case \"--version\":\n args.version = true;\n break;\n case \"-p\":\n case \"--port\":\n args.port = parsePort(takeValue());\n break;\n case \"--entry\":\n args.entry = takeValue();\n break;\n case \"--host\":\n args.host = takeValue();\n break;\n case \"--tunnel\":\n args.tunnel = true;\n break;\n case \"--no-open\":\n args.open = false;\n break;\n case \"--with-inspector\":\n args.withInspector = true;\n break;\n default:\n if (flag.startsWith(\"-\")) {\n throw new Error(`Unknown option: ${flag}`);\n }\n if (args.command !== undefined) {\n throw new Error(`Unexpected argument: ${flag}`);\n }\n args.command = flag;\n }\n }\n\n return args;\n}\n\n/**\n * Resolve the preferred port for `mcp-use start` and `mcp-use dev` (`dev`\n * additionally probes upward from this value when it is taken).\n *\n * Precedence: `--port` flag, then the `PORT` environment variable, then\n * `3000`. A `PORT` value that is not a valid port number is ignored (the\n * default applies); an invalid `--port` flag has already been rejected by\n * {@link parseArgs}.\n *\n * @param flagPort - Port from the `--port`/`-p` flag, if given.\n * @param env - Environment to read `PORT` from.\n * @defaultValue `env` defaults to `process.env`.\n *\n * @internal\n */\nexport function resolvePort(\n flagPort: number | undefined,\n env: Readonly<Record<string, string | undefined>> = process.env\n): number {\n if (flagPort !== undefined) return flagPort;\n const raw = env.PORT;\n if (raw !== undefined && raw.trim() !== \"\") {\n const port = Number(raw);\n if (isValidPort(port)) return port;\n }\n return 3000;\n}\n\n/** Parse a `--port` value, rejecting anything that is not a valid port. */\nfunction parsePort(value: string): number {\n const port = Number(value);\n if (!isValidPort(port)) {\n throw new Error(`Invalid port: ${value}`);\n }\n return port;\n}\n\n/** Whether a number is a bindable TCP port (0 = ephemeral). */\nfunction isValidPort(port: number): boolean {\n return Number.isInteger(port) && port >= 0 && port <= 65535;\n}\n"],"mappings":";AA6CO,SAAS,UAAU,MAAqC;AAC7D,QAAM,OAAmB;AAAA,IACvB,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,eAAe;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAEA,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,QAAQ,KAAK,CAAC;AACpB,QAAI,UAAU,OAAW;AAGzB,QAAI,OAAO;AACX,QAAI;AACJ,QAAI,MAAM,WAAW,IAAI,GAAG;AAC1B,YAAM,KAAK,MAAM,QAAQ,GAAG;AAC5B,UAAI,OAAO,IAAI;AACb,eAAO,MAAM,MAAM,GAAG,EAAE;AACxB,iBAAS,MAAM,MAAM,KAAK,CAAC;AAAA,MAC7B;AAAA,IACF;AAGA,UAAM,YAAY,MAAc;AAC9B,UAAI,WAAW,OAAW,QAAO;AACjC,YAAM,OAAO,KAAK,EAAE,CAAC;AACrB,UAAI,SAAS,UAAa,KAAK,WAAW,GAAG,GAAG;AAC9C,cAAM,IAAI,MAAM,qBAAqB,IAAI,EAAE;AAAA,MAC7C;AACA,aAAO;AAAA,IACT;AAEA,YAAQ,MAAM;AAAA,MACZ,KAAK;AAAA,MACL,KAAK;AACH,aAAK,OAAO;AACZ;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,aAAK,UAAU;AACf;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,aAAK,OAAO,UAAU,UAAU,CAAC;AACjC;AAAA,MACF,KAAK;AACH,aAAK,QAAQ,UAAU;AACvB;AAAA,MACF,KAAK;AACH,aAAK,OAAO,UAAU;AACtB;AAAA,MACF,KAAK;AACH,aAAK,SAAS;AACd;AAAA,MACF,KAAK;AACH,aAAK,OAAO;AACZ;AAAA,MACF,KAAK;AACH,aAAK,gBAAgB;AACrB;AAAA,MACF;AACE,YAAI,KAAK,WAAW,GAAG,GAAG;AACxB,gBAAM,IAAI,MAAM,mBAAmB,IAAI,EAAE;AAAA,QAC3C;AACA,YAAI,KAAK,YAAY,QAAW;AAC9B,gBAAM,IAAI,MAAM,wBAAwB,IAAI,EAAE;AAAA,QAChD;AACA,aAAK,UAAU;AAAA,IACnB;AAAA,EACF;AAEA,SAAO;AACT;AAiBO,SAAS,YACd,UACA,MAAoD,QAAQ,KACpD;AACR,MAAI,aAAa,OAAW,QAAO;AACnC,QAAM,MAAM,IAAI;AAChB,MAAI,QAAQ,UAAa,IAAI,KAAK,MAAM,IAAI;AAC1C,UAAM,OAAO,OAAO,GAAG;AACvB,QAAI,YAAY,IAAI,EAAG,QAAO;AAAA,EAChC;AACA,SAAO;AACT;AAGA,SAAS,UAAU,OAAuB;AACxC,QAAM,OAAO,OAAO,KAAK;AACzB,MAAI,CAAC,YAAY,IAAI,GAAG;AACtB,UAAM,IAAI,MAAM,iBAAiB,KAAK,EAAE;AAAA,EAC1C;AACA,SAAO;AACT;AAGA,SAAS,YAAY,MAAuB;AAC1C,SAAO,OAAO,UAAU,IAAI,KAAK,QAAQ,KAAK,QAAQ;AACxD;","names":[]}