velloo 0.0.0 → 0.2.0

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 (267) hide show
  1. package/BUN-LICENSE.md +91 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +9 -0
  4. package/README.md +288 -2
  5. package/THIRD-PARTY-NOTICES.md +467 -0
  6. package/assets/elsewhere-alps-9fqhv029.jpg +0 -0
  7. package/assets/elsewhere-bali-vp60g115.jpg +0 -0
  8. package/assets/elsewhere-forest-xgn23zrj.jpg +0 -0
  9. package/assets/elsewhere-japan-qs7qkbr2.jpg +0 -0
  10. package/assets/elsewhere-kyoto-map-n2bvkrya.svg +1 -0
  11. package/assets/elsewhere-kyoto-qemtn6nk.jpg +0 -0
  12. package/assets/elsewhere-room-g1gaw7cs.jpg +0 -0
  13. package/canvas/apple-touch-icon.png +0 -0
  14. package/canvas/assets/index-BCvDZiBo.css +2 -0
  15. package/canvas/assets/index-ClaBqcaS.js +28 -0
  16. package/canvas/assets/lucide-all-iIF-pmzN.js +1 -0
  17. package/canvas/assets/radix-C3HaOB-d.js +41 -0
  18. package/canvas/assets/react-D0Ec-185.js +9 -0
  19. package/canvas/assets/rolldown-runtime-hePW80VL.js +1 -0
  20. package/canvas/assets/vendor-CKmQ-Zst.js +53 -0
  21. package/canvas/favicon.ico +0 -0
  22. package/canvas/favicon.svg +12 -0
  23. package/canvas/fonts/OFL-1.1.txt +93 -0
  24. package/canvas/fonts/poppins-700.woff2 +0 -0
  25. package/canvas/icon-192.png +0 -0
  26. package/canvas/icon-512.png +0 -0
  27. package/canvas/index.html +22 -0
  28. package/canvas/site.webmanifest +11 -0
  29. package/chunk-08sv3k41.js +4 -0
  30. package/chunk-0fe83yzt.js +2 -0
  31. package/chunk-0t68szgr.js +3 -0
  32. package/chunk-1h55s5he.js +2 -0
  33. package/chunk-2c7jbx46.js +2 -0
  34. package/chunk-2smsg2ct.js +7 -0
  35. package/chunk-308ynsxd.js +2 -0
  36. package/chunk-3e8vez4d.js +1229 -0
  37. package/chunk-40xgcth8.js +63 -0
  38. package/chunk-4dn75m6t.js +3 -0
  39. package/chunk-4fj5tahv.js +3 -0
  40. package/chunk-6nqghjda.js +3 -0
  41. package/chunk-6tx68d90.js +3 -0
  42. package/chunk-6w6ch4ce.js +2 -0
  43. package/chunk-735ezz23.js +86 -0
  44. package/chunk-7eq7nx37.js +7 -0
  45. package/chunk-7eyb8yrf.js +6 -0
  46. package/chunk-80fjfyha.js +86 -0
  47. package/chunk-80r93t2e.js +4 -0
  48. package/chunk-94vx1yb0.js +3 -0
  49. package/chunk-9vg3yafz.js +3 -0
  50. package/chunk-a84n72m2.js +4 -0
  51. package/chunk-ampmdzz4.js +10 -0
  52. package/chunk-avns4dbf.js +2 -0
  53. package/chunk-ayrb3qnm.js +3 -0
  54. package/chunk-bwnvcncx.js +3 -0
  55. package/chunk-ccszg02q.js +5 -0
  56. package/chunk-cvn689d5.js +3 -0
  57. package/chunk-cxe6jjwj.js +3 -0
  58. package/chunk-dg6z4vdd.js +3 -0
  59. package/chunk-dgwjpbp9.js +3 -0
  60. package/chunk-dy41n60j.js +52 -0
  61. package/chunk-ek71z2fv.js +226 -0
  62. package/chunk-er1fxb7d.js +2 -0
  63. package/chunk-eyr8hrzf.js +2 -0
  64. package/chunk-fjbzk4sw.js +3 -0
  65. package/chunk-fsbsksga.js +3 -0
  66. package/chunk-h6gchare.js +3 -0
  67. package/chunk-hcb68zt7.js +85 -0
  68. package/chunk-hggap8fq.js +3 -0
  69. package/chunk-j11fyeqh.js +2 -0
  70. package/chunk-jb21jkp1.js +8 -0
  71. package/chunk-jfx9xjmr.js +18 -0
  72. package/chunk-jr0ss0mm.js +303 -0
  73. package/chunk-jrsknzjt.js +3 -0
  74. package/chunk-jv0xggh0.js +2 -0
  75. package/chunk-k17gfwq3.js +2 -0
  76. package/chunk-mh2pr7cq.js +5 -0
  77. package/chunk-mnapdp1y.js +2 -0
  78. package/chunk-mzhdrawd.js +3 -0
  79. package/chunk-n9gs6yx9.js +2 -0
  80. package/chunk-ngnymg2q.js +3 -0
  81. package/chunk-nwx5700b.js +3 -0
  82. package/chunk-pjtg3wnm.js +4 -0
  83. package/chunk-pp86v6m6.js +3 -0
  84. package/chunk-r22epxz2.js +3 -0
  85. package/chunk-rgasy862.js +5 -0
  86. package/chunk-rpwpeph5.js +3 -0
  87. package/chunk-s23gtejf.js +3 -0
  88. package/chunk-sjgqnykd.js +6 -0
  89. package/chunk-sn3x2m0m.js +6 -0
  90. package/chunk-t448rrfr.js +2 -0
  91. package/chunk-tdsk5wxa.js +451 -0
  92. package/chunk-v40fn08f.js +442 -0
  93. package/chunk-vbk1qhdz.js +3 -0
  94. package/chunk-vdkrbzh1.js +2 -0
  95. package/chunk-vgmr98cv.js +40 -0
  96. package/chunk-vsv8z729.js +6 -0
  97. package/chunk-x4f4k9pp.js +26 -0
  98. package/chunk-xt5ayg7g.js +4 -0
  99. package/chunk-ydhwv29b.js +244 -0
  100. package/chunk-zb6hc1y0.js +2 -0
  101. package/cli.js +3 -0
  102. package/launcher.cjs +97 -0
  103. package/package.json +58 -5
  104. package/pkgs/helpers/src/box.tsx +21 -0
  105. package/pkgs/helpers/src/cn.ts +32 -0
  106. package/pkgs/helpers/src/descriptors.ts +270 -0
  107. package/pkgs/helpers/src/divider.tsx +123 -0
  108. package/pkgs/helpers/src/gradient.tsx +90 -0
  109. package/pkgs/helpers/src/heading.tsx +20 -0
  110. package/pkgs/helpers/src/icon-data.ts +8009 -0
  111. package/pkgs/helpers/src/icon.tsx +53 -0
  112. package/pkgs/helpers/src/image.tsx +111 -0
  113. package/pkgs/helpers/src/index.ts +29 -0
  114. package/pkgs/helpers/src/layer.tsx +61 -0
  115. package/pkgs/helpers/src/lowering.ts +53 -0
  116. package/pkgs/helpers/src/paths.ts +47 -0
  117. package/pkgs/helpers/src/placeholder.tsx +88 -0
  118. package/pkgs/helpers/src/prose.tsx +42 -0
  119. package/pkgs/helpers/src/registry.ts +41 -0
  120. package/pkgs/helpers/src/svg.tsx +62 -0
  121. package/pkgs/helpers/src/text.tsx +16 -0
  122. package/pkgs/provider-antd/src/index.ts +78 -0
  123. package/pkgs/provider-antd/src/intro.ts +14 -0
  124. package/pkgs/provider-antd/src/manifest.ts +439 -0
  125. package/pkgs/provider-antd/src/overlays.ts +176 -0
  126. package/pkgs/provider-antd/src/registry.ts +104 -0
  127. package/pkgs/provider-antd/src/render-pass.ts +43 -0
  128. package/pkgs/provider-antd/src/tailwind-entry.css +21 -0
  129. package/pkgs/provider-antd/src/theme.ts +132 -0
  130. package/pkgs/provider-antd/src/version.ts +8 -0
  131. package/pkgs/provider-chakra/src/index.ts +80 -0
  132. package/pkgs/provider-chakra/src/intro.ts +14 -0
  133. package/pkgs/provider-chakra/src/manifest.ts +421 -0
  134. package/pkgs/provider-chakra/src/overlays.ts +246 -0
  135. package/pkgs/provider-chakra/src/registry.ts +227 -0
  136. package/pkgs/provider-chakra/src/render-pass.ts +55 -0
  137. package/pkgs/provider-chakra/src/tailwind-entry.css +21 -0
  138. package/pkgs/provider-chakra/src/theme.ts +180 -0
  139. package/pkgs/provider-chakra/src/version.ts +8 -0
  140. package/pkgs/provider-mui/src/index.ts +117 -0
  141. package/pkgs/provider-mui/src/intro.ts +12 -0
  142. package/pkgs/provider-mui/src/manifest.ts +263 -0
  143. package/pkgs/provider-mui/src/overlays.ts +124 -0
  144. package/pkgs/provider-mui/src/registry.ts +120 -0
  145. package/pkgs/provider-mui/src/render-pass.ts +36 -0
  146. package/pkgs/provider-mui/src/tailwind-entry.css +21 -0
  147. package/pkgs/provider-mui/src/theme.ts +129 -0
  148. package/pkgs/provider-mui/src/version.ts +8 -0
  149. package/pkgs/provider-none/src/components-inline.tsx +204 -0
  150. package/pkgs/provider-none/src/components.tsx +155 -0
  151. package/pkgs/provider-none/src/index.ts +57 -0
  152. package/pkgs/provider-none/src/intro.ts +18 -0
  153. package/pkgs/provider-none/src/manifest.ts +163 -0
  154. package/pkgs/provider-none/src/registry-inline.ts +36 -0
  155. package/pkgs/provider-none/src/registry.ts +39 -0
  156. package/pkgs/provider-none/src/tailwind-entry.css +57 -0
  157. package/pkgs/provider-none/src/version.ts +10 -0
  158. package/pkgs/schema/src/annotation.ts +120 -0
  159. package/pkgs/schema/src/asset.ts +66 -0
  160. package/pkgs/schema/src/board.ts +71 -0
  161. package/pkgs/schema/src/comment.ts +107 -0
  162. package/pkgs/schema/src/config.ts +185 -0
  163. package/pkgs/schema/src/css-sanitize.ts +56 -0
  164. package/pkgs/schema/src/extension.ts +105 -0
  165. package/pkgs/schema/src/fonts.ts +690 -0
  166. package/pkgs/schema/src/frame.ts +40 -0
  167. package/pkgs/schema/src/icon-name.ts +21 -0
  168. package/pkgs/schema/src/ids.ts +14 -0
  169. package/pkgs/schema/src/index.ts +169 -0
  170. package/pkgs/schema/src/migrate.ts +297 -0
  171. package/pkgs/schema/src/node.ts +229 -0
  172. package/pkgs/schema/src/paths.ts +28 -0
  173. package/pkgs/schema/src/repo.ts +134 -0
  174. package/pkgs/schema/src/screen.ts +30 -0
  175. package/pkgs/schema/src/snippet-resolve.ts +193 -0
  176. package/pkgs/schema/src/snippet.ts +104 -0
  177. package/pkgs/schema/src/svg-sanitize.ts +487 -0
  178. package/pkgs/schema/src/theme.ts +218 -0
  179. package/pkgs/schema/src/typeset.ts +693 -0
  180. package/pkgs/schema/src/validate-ids.ts +46 -0
  181. package/pkgs/schema/src/viewport.ts +8 -0
  182. package/pkgs/shadcn-snapshot/dist/manifest.json +8109 -0
  183. package/pkgs/shadcn-snapshot/src/components/canvas-portal.tsx +55 -0
  184. package/pkgs/shadcn-snapshot/src/components/ui/accordion.tsx +122 -0
  185. package/pkgs/shadcn-snapshot/src/components/ui/alert-dialog.tsx +164 -0
  186. package/pkgs/shadcn-snapshot/src/components/ui/alert.tsx +74 -0
  187. package/pkgs/shadcn-snapshot/src/components/ui/aspect-ratio.tsx +13 -0
  188. package/pkgs/shadcn-snapshot/src/components/ui/attachment.tsx +197 -0
  189. package/pkgs/shadcn-snapshot/src/components/ui/avatar.tsx +100 -0
  190. package/pkgs/shadcn-snapshot/src/components/ui/badge.tsx +50 -0
  191. package/pkgs/shadcn-snapshot/src/components/ui/breadcrumb.tsx +109 -0
  192. package/pkgs/shadcn-snapshot/src/components/ui/bubble.tsx +130 -0
  193. package/pkgs/shadcn-snapshot/src/components/ui/button-group.tsx +82 -0
  194. package/pkgs/shadcn-snapshot/src/components/ui/button.tsx +72 -0
  195. package/pkgs/shadcn-snapshot/src/components/ui/calendar.tsx +229 -0
  196. package/pkgs/shadcn-snapshot/src/components/ui/card.tsx +92 -0
  197. package/pkgs/shadcn-snapshot/src/components/ui/carousel.tsx +235 -0
  198. package/pkgs/shadcn-snapshot/src/components/ui/chart-option.ts +250 -0
  199. package/pkgs/shadcn-snapshot/src/components/ui/chart.tsx +177 -0
  200. package/pkgs/shadcn-snapshot/src/components/ui/checkbox.tsx +41 -0
  201. package/pkgs/shadcn-snapshot/src/components/ui/collapsible.tsx +32 -0
  202. package/pkgs/shadcn-snapshot/src/components/ui/combobox.tsx +196 -0
  203. package/pkgs/shadcn-snapshot/src/components/ui/context-menu.tsx +227 -0
  204. package/pkgs/shadcn-snapshot/src/components/ui/dialog.tsx +131 -0
  205. package/pkgs/shadcn-snapshot/src/components/ui/direction.tsx +24 -0
  206. package/pkgs/shadcn-snapshot/src/components/ui/drawer.tsx +112 -0
  207. package/pkgs/shadcn-snapshot/src/components/ui/dropdown-menu.tsx +205 -0
  208. package/pkgs/shadcn-snapshot/src/components/ui/empty.tsx +98 -0
  209. package/pkgs/shadcn-snapshot/src/components/ui/field.tsx +228 -0
  210. package/pkgs/shadcn-snapshot/src/components/ui/hover-card.tsx +51 -0
  211. package/pkgs/shadcn-snapshot/src/components/ui/input-group.tsx +148 -0
  212. package/pkgs/shadcn-snapshot/src/components/ui/input.tsx +43 -0
  213. package/pkgs/shadcn-snapshot/src/components/ui/item.tsx +187 -0
  214. package/pkgs/shadcn-snapshot/src/components/ui/kbd.tsx +30 -0
  215. package/pkgs/shadcn-snapshot/src/components/ui/label.tsx +25 -0
  216. package/pkgs/shadcn-snapshot/src/components/ui/marker.tsx +71 -0
  217. package/pkgs/shadcn-snapshot/src/components/ui/menubar.tsx +243 -0
  218. package/pkgs/shadcn-snapshot/src/components/ui/message.tsx +89 -0
  219. package/pkgs/shadcn-snapshot/src/components/ui/native-select.tsx +60 -0
  220. package/pkgs/shadcn-snapshot/src/components/ui/navigation-menu.tsx +165 -0
  221. package/pkgs/shadcn-snapshot/src/components/ui/pagination.tsx +117 -0
  222. package/pkgs/shadcn-snapshot/src/components/ui/popover.tsx +66 -0
  223. package/pkgs/shadcn-snapshot/src/components/ui/progress.tsx +35 -0
  224. package/pkgs/shadcn-snapshot/src/components/ui/radio-group.tsx +48 -0
  225. package/pkgs/shadcn-snapshot/src/components/ui/scroll-area.tsx +59 -0
  226. package/pkgs/shadcn-snapshot/src/components/ui/select.tsx +180 -0
  227. package/pkgs/shadcn-snapshot/src/components/ui/separator.tsx +32 -0
  228. package/pkgs/shadcn-snapshot/src/components/ui/sheet.tsx +107 -0
  229. package/pkgs/shadcn-snapshot/src/components/ui/skeleton.tsx +17 -0
  230. package/pkgs/shadcn-snapshot/src/components/ui/slider.tsx +68 -0
  231. package/pkgs/shadcn-snapshot/src/components/ui/sonner.tsx +91 -0
  232. package/pkgs/shadcn-snapshot/src/components/ui/spinner.tsx +21 -0
  233. package/pkgs/shadcn-snapshot/src/components/ui/switch.tsx +41 -0
  234. package/pkgs/shadcn-snapshot/src/components/ui/table.tsx +93 -0
  235. package/pkgs/shadcn-snapshot/src/components/ui/tabs.tsx +84 -0
  236. package/pkgs/shadcn-snapshot/src/components/ui/textarea.tsx +24 -0
  237. package/pkgs/shadcn-snapshot/src/components/ui/toggle-group.tsx +94 -0
  238. package/pkgs/shadcn-snapshot/src/components/ui/toggle.tsx +50 -0
  239. package/pkgs/shadcn-snapshot/src/components/ui/tooltip.tsx +47 -0
  240. package/pkgs/shadcn-snapshot/src/examples.ts +36 -0
  241. package/pkgs/shadcn-snapshot/src/groups.ts +87 -0
  242. package/pkgs/shadcn-snapshot/src/index.ts +43 -0
  243. package/pkgs/shadcn-snapshot/src/lib/utils.ts +4 -0
  244. package/pkgs/shadcn-snapshot/src/manifest.ts +12 -0
  245. package/pkgs/shadcn-snapshot/src/notes.ts +97 -0
  246. package/pkgs/shadcn-snapshot/src/paths.ts +47 -0
  247. package/pkgs/shadcn-snapshot/src/registry-files.ts +293 -0
  248. package/pkgs/shadcn-snapshot/src/registry.ts +631 -0
  249. package/pkgs/shadcn-snapshot/src/shadcn-tailwind.css +632 -0
  250. package/pkgs/shadcn-snapshot/src/tailwind-entry.css +159 -0
  251. package/pkgs/shadcn-snapshot/src/version.ts +8 -0
  252. package/plugins/claude/velloo/.claude-plugin/plugin.json +6 -0
  253. package/plugins/claude/velloo/agents/velloo-design-reviewer.md +33 -0
  254. package/plugins/claude/velloo/agents/velloo-designer.md +39 -0
  255. package/plugins/claude/velloo/commands/design.md +11 -0
  256. package/plugins/claude/velloo/commands/implement.md +10 -0
  257. package/plugins/claude/velloo/commands/review.md +8 -0
  258. package/plugins/gemini/GEMINI.md +31 -0
  259. package/plugins/gemini/commands/velloo/design.toml +10 -0
  260. package/plugins/gemini/commands/velloo/implement.toml +9 -0
  261. package/plugins/gemini/gemini-extension.json +9 -0
  262. package/skills/velloo-brand/SKILL.md +124 -0
  263. package/skills/velloo-design/SKILL.md +144 -0
  264. package/skills/velloo-design-system/SKILL.md +90 -0
  265. package/skills/velloo-implement/SKILL.md +101 -0
  266. package/skills/velloo-logo/SKILL.md +93 -0
  267. package/skills/velloo-setup/SKILL.md +156 -0
@@ -0,0 +1,63 @@
1
+ // @bun
2
+ import{__export}from"./chunk-2smsg2ct.js";function getEnumValues(entries){let numericValues=Object.values(entries).filter((v)=>typeof v==="number");return Object.entries(entries).filter(([k,_])=>numericValues.indexOf(+k)===-1).map(([_,v])=>v)}function joinValues(array,separator="|"){return array.map((val)=>stringifyPrimitive(val)).join(separator)}function jsonStringifyReplacer(_,value){if(typeof value==="bigint")return value.toString();return value}function cached(getter){return{get value(){{let value=getter();return Object.defineProperty(this,"value",{value}),value}throw Error("cached value already set")}}}function nullish(input){return input===null||input===void 0}function cleanRegex(source){let start=source.startsWith("^")?1:0,end=source.endsWith("$")?source.length-1:source.length;return source.slice(start,end)}function floatSafeRemainder(val,step){let ratio=val/step,roundedRatio=Math.round(ratio),tolerance=4*Number.EPSILON*Math.max(Math.abs(ratio),1);if(Math.abs(ratio-roundedRatio)<tolerance)return 0;return ratio-roundedRatio}var EVALUATING=Symbol("evaluating");function defineLazy(object,key,getter){let value=void 0;Object.defineProperty(object,key,{get(){if(value===EVALUATING)return;if(value===void 0)value=EVALUATING,value=getter();return value},set(v){Object.defineProperty(object,key,{value:v})},configurable:!0})}function assignProp(target,prop,value){Object.defineProperty(target,prop,{value,writable:!0,enumerable:!0,configurable:!0})}function mergeDefs(...defs){let mergedDescriptors={};for(let def of defs){let descriptors=Object.getOwnPropertyDescriptors(def);Object.assign(mergedDescriptors,descriptors)}return Object.defineProperties({},mergedDescriptors)}function esc(str){return JSON.stringify(str)}function slugify(input){return input.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var captureStackTrace="captureStackTrace"in Error?Error.captureStackTrace:(..._args)=>{};function isObject(data){return typeof data==="object"&&data!==null&&!Array.isArray(data)}var allowsEval=cached(()=>{if(globalConfig.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});function isPlainObject(o){if(isObject(o)===!1)return!1;let ctor=o.constructor;if(ctor===void 0)return!0;if(typeof ctor!=="function")return!0;let prot=ctor.prototype;if(isObject(prot)===!1)return!1;if(Object.prototype.hasOwnProperty.call(prot,"isPrototypeOf")===!1)return!1;return!0}function shallowClone(o){if(isPlainObject(o))return{...o};if(Array.isArray(o))return[...o];if(o instanceof Map)return new Map(o);if(o instanceof Set)return new Set(o);return o}var propertyKeyTypes=new Set(["string","number","symbol"]);function escapeRegex(str){return str.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function clone(inst,def,params){let cl=new inst._zod.constr(def??inst._zod.def);if(!def||params?.parent)cl._zod.parent=inst;return cl}function normalizeParams(_params){let params=_params;if(!params)return{};if(typeof params==="string")return{error:()=>params};if(params?.message!==void 0){if(params?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");params.error=params.message}if(delete params.message,typeof params.error==="string")return{...params,error:()=>params.error};return params}function stringifyPrimitive(value){if(typeof value==="bigint")return value.toString()+"n";if(typeof value==="string")return`"${value}"`;return`${value}`}function optionalKeys(shape){return Object.keys(shape).filter((k)=>shape[k]._zod.optin!==void 0&&shape[k]._zod.optout==="optional")}var NUMBER_FORMAT_RANGES=(()=>({safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}))();function pick(schema,mask){let currDef=schema._zod.def,checks=currDef.checks;if(checks&&checks.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let def=mergeDefs(schema._zod.def,{get shape(){let newShape={};for(let key of Reflect.ownKeys(mask)){if(!Object.prototype.hasOwnProperty.call(currDef.shape,key))throw Error(`Unrecognized key: "${String(key)}"`);if(!mask[key])continue;assignProp(newShape,key,currDef.shape[key])}return assignProp(this,"shape",newShape),newShape},checks:[]});return clone(schema,def)}function omit(schema,mask){let currDef=schema._zod.def,checks=currDef.checks;if(checks&&checks.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let def=mergeDefs(schema._zod.def,{get shape(){let newShape={...schema._zod.def.shape};for(let key of Reflect.ownKeys(mask)){if(!Object.prototype.hasOwnProperty.call(currDef.shape,key))throw Error(`Unrecognized key: "${String(key)}"`);if(!mask[key])continue;delete newShape[key]}return assignProp(this,"shape",newShape),newShape},checks:[]});return clone(schema,def)}function extend(schema,shape){if(!isPlainObject(shape))throw Error("Invalid input to extend: expected a plain object");let checks=schema._zod.def.checks;if(checks&&checks.length>0){let existingShape=schema._zod.def.shape;for(let key of Reflect.ownKeys(shape))if(Object.getOwnPropertyDescriptor(existingShape,key)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let def=mergeDefs(schema._zod.def,{get shape(){let _shape={...schema._zod.def.shape,...shape};return assignProp(this,"shape",_shape),_shape}});return clone(schema,def)}function safeExtend(schema,shape){if(!isPlainObject(shape))throw Error("Invalid input to safeExtend: expected a plain object");let def=mergeDefs(schema._zod.def,{get shape(){let _shape={...schema._zod.def.shape,...shape};return assignProp(this,"shape",_shape),_shape}});return clone(schema,def)}function merge(a,b){if(!b?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(a._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let def=mergeDefs(a._zod.def,{get shape(){let _shape={...a._zod.def.shape,...b._zod.def.shape};return assignProp(this,"shape",_shape),_shape},get catchall(){return b._zod.def.catchall},checks:b._zod.def.checks??[]});return clone(a,def)}function partial(Class,schema,mask,name="partial"){let checks=schema._zod.def.checks;if(checks&&checks.length>0)throw Error(`.${name}() cannot be used on object schemas containing refinements`);let def=mergeDefs(schema._zod.def,{get shape(){let oldShape=schema._zod.def.shape,shape={...oldShape};if(mask)for(let key of Reflect.ownKeys(mask)){if(!Object.prototype.hasOwnProperty.call(oldShape,key))throw Error(`Unrecognized key: "${String(key)}"`);if(!mask[key])continue;shape[key]=Class?new Class({type:"optional",innerType:oldShape[key]}):oldShape[key]}else for(let key of Reflect.ownKeys(oldShape))shape[key]=Class?new Class({type:"optional",innerType:oldShape[key]}):oldShape[key];return assignProp(this,"shape",shape),shape},checks:[]});return clone(schema,def)}function required(Class,schema,mask){let def=mergeDefs(schema._zod.def,{get shape(){let oldShape=schema._zod.def.shape,shape={...oldShape};if(mask)for(let key of Reflect.ownKeys(mask)){if(!Object.prototype.hasOwnProperty.call(shape,key))throw Error(`Unrecognized key: "${String(key)}"`);if(!mask[key])continue;shape[key]=new Class({type:"nonoptional",innerType:oldShape[key]})}else for(let key of Reflect.ownKeys(oldShape))shape[key]=new Class({type:"nonoptional",innerType:oldShape[key]});return assignProp(this,"shape",shape),shape}});return clone(schema,def)}function aborted(x,startIndex=0){if(x.aborted===!0)return!0;for(let i=startIndex;i<x.issues.length;i++)if(x.issues[i]?.continue!==!0)return!0;return!1}function explicitlyAborted(x,startIndex=0){if(x.aborted===!0)return!0;for(let i=startIndex;i<x.issues.length;i++)if(x.issues[i]?.continue===!1)return!0;return!1}function prefixIssues(path,issues){return issues.map((iss)=>{var _a;return(_a=iss).path??(_a.path=[]),iss.path.unshift(path),iss})}function unwrapMessage(message){return typeof message==="string"?message:message?.message}function attachSchema(issues,start,inst){var _a;for(let i=start;i<issues.length;i++)(_a=issues[i]).schema??(_a.schema=inst)}function finalizeIssue(iss,ctx,config){var _a;let traits=iss.inst?._zod?.traits;if(traits?.has("$ZodType"))if(traits.has("$ZodCheck"))(_a=iss).schema??(_a.schema=iss.inst);else iss.schema=iss.inst;let schemaError=iss.schema!==iss.inst?iss.schema?._zod.def?.error:void 0,message=iss.message?iss.message:unwrapMessage(iss.inst?._zod.def?.error?.(iss))??unwrapMessage(schemaError?.(iss))??unwrapMessage(ctx?.error?.(iss))??unwrapMessage(config.customError?.(iss))??unwrapMessage(config.localeError?.(iss))??"Invalid input",{inst:_inst,schema:_schema,continue:_continue,input:_input,...rest}=iss;if(rest.path??(rest.path=[]),rest.message=message,ctx?.reportInput)rest.input=_input;return rest}var highSurrogate=/[\uD800-\uDBFF]/;function codePointLength(str){let units=str.length;if(!highSurrogate.test(str))return units;let count=units;for(let i=0;i<units-1;i++)if((str.charCodeAt(i)&64512)===55296&&(str.charCodeAt(i+1)&64512)===56320)count--,i++;return count}function getLengthableOrigin(input){if(Array.isArray(input))return"array";if(typeof input==="string")return"string";return"unknown"}function parsedType(data){let t=typeof data;switch(t){case"number":return Number.isNaN(data)?"nan":"number";case"object":{if(data===null)return"null";if(Array.isArray(data))return"array";let obj=data;if(obj&&Object.getPrototypeOf(obj)!==Object.prototype&&"constructor"in obj&&obj.constructor)return obj.constructor.name}}return t}function issue(...args){let[iss,input,inst]=args;if(typeof iss==="string")return{message:iss,code:"custom",input,inst};return{...iss}}function members(proto,table){for(let key in table){let desc=Object.getOwnPropertyDescriptor(table,key);if(desc.get)Object.defineProperty(proto,key,{...desc,enumerable:!1});else defineBound(proto,key,desc.value)}}function own(inst,key,value,enumerable=!0){return Object.defineProperty(inst,key,{configurable:!0,writable:!0,enumerable,value}),value}function hide(inst,key,value){return own(inst,key,value,!1)}function defineBound(proto,key,fn){Object.defineProperty(proto,key,{configurable:!0,get(){return this==null?fn:own(this,key,fn.bind(this))},set(value){own(this,key,value)}})}function claim(inst,sentinel){let proto=Object.getPrototypeOf(inst);return sentinel in proto?void 0:proto}var installing,broke=!1,breaker={configurable:!0,get(){broke=!0;return}};function defineLazyInternal(inst,key,compute){let proto=Object.getPrototypeOf(inst._zod);if(key in proto&&installing!==inst._zod){installing=void 0;return}installing=inst._zod,Object.defineProperty(proto,key,{configurable:!0,get(){Object.defineProperty(this,key,breaker);let outer=broke;broke=!1;try{let value=compute(this);if(broke)delete this[key];else Object.defineProperty(this,key,{configurable:!0,writable:!0,value});return broke=broke||outer,value}catch(err){throw delete this[key],broke=broke||outer,err}},set(value){Object.defineProperty(this,key,{configurable:!0,writable:!0,value})}})}function installLazyProp(inst,key,make,enumerable){let proto=claim(inst,key);if(!proto)return;Object.defineProperty(proto,key,{configurable:!0,get(){let desc={configurable:!0,writable:!0,enumerable,value:void 0};return Object.defineProperty(this,key,desc),desc.value=make(this),Object.defineProperty(this,key,desc),desc.value},set(value){Object.defineProperty(this,key,{configurable:!0,writable:!0,enumerable,value})}})}var CONSTANT_CATCH="~constantCatch";function constantCatch(value){let fn=()=>value;return fn[CONSTANT_CATCH]=!0,fn}var _a,NEVER=Object.freeze({status:"aborted"}),_zodDesc={value:void 0,enumerable:!1},_E="captureStackTrace"in Error?Error:null;function newError(Definition){let E=_E;if(E){let saved=E.stackTraceLimit;if(typeof saved==="number"){try{E.stackTraceLimit=0}catch{return _E=null,new Definition}try{return new Definition}finally{E.stackTraceLimit=saved}}}return new Definition}function $constructor(name,initializer,proto,params){let zodProto={};function Internals(def){this.def=def,this.constr=_,this.traits=new Set}Internals.prototype=zodProto;let protoMembers=proto,initialized=protoMembers&&new WeakSet;function init(inst,def){if(!inst._zod){_zodDesc.value=new Internals(def);try{Object.defineProperty(inst,"_zod",_zodDesc)}finally{_zodDesc.value=void 0}}if(inst._zod.traits.has(name))return;if(inst._zod.traits.add(name),initializer(inst,def),initialized){let own=Object.getPrototypeOf(inst),ctorProto=inst._zod.constr.prototype,up=own;while(up&&up!==ctorProto)up=Object.getPrototypeOf(up);let target=up??own;if(!initialized.has(target))initialized.add(target),members(target,protoMembers)}let proto=_.prototype;for(let k in proto){if(!Object.prototype.hasOwnProperty.call(proto,k))continue;if(!(k in inst))inst[k]=proto[k].bind(inst)}}let Parent=params?.Parent??Object;class Definition extends Parent{}Object.defineProperty(Definition,"name",{value:name});function _(def){let inst=params?.Parent?newError(Definition):this;init(inst,def);let deferred=inst._zod.deferred;if(deferred){for(let fn of deferred)fn();inst._zod.deferred=void 0}let pp=globalThis.__zod_globalConfig?.postProcessor;if(pp)pp(inst);return inst}return Object.defineProperty(_,"init",{value:init}),Object.defineProperty(_,Symbol.hasInstance,{value:(inst)=>{if(params?.Parent&&inst instanceof params.Parent)return!0;return inst?._zod?.traits?.has(name)}}),Object.defineProperty(_,"name",{value:name}),_}class $ZodAsyncError extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class $ZodEncodeError extends Error{constructor(name){super(`Encountered unidirectional transform during encode: ${name}`);this.name="ZodEncodeError"}}(_a=globalThis).__zod_globalConfig??(_a.__zod_globalConfig={});var globalConfig=globalThis.__zod_globalConfig;function config(newConfig){if(newConfig)Object.assign(globalConfig,newConfig);return globalConfig}function _getMessage(){let internals=this._zod;return internals.message??(internals.message=JSON.stringify(internals.def,jsonStringifyReplacer,2)),internals.message}function _setMessage(value){this._zod.message=value}var _messageDesc={get:_getMessage,set:_setMessage,enumerable:!0,configurable:!0},_zodDesc2={value:void 0,enumerable:!1},_issuesDesc={value:void 0,enumerable:!1},_installedToString=new WeakSet([Object.prototype,Error.prototype]),initializer=(inst,def)=>{inst.name="$ZodError",_zodDesc2.value=inst._zod,Object.defineProperty(inst,"_zod",_zodDesc2),_issuesDesc.value=def,Object.defineProperty(inst,"issues",_issuesDesc),_zodDesc2.value=void 0,_issuesDesc.value=void 0,Object.defineProperty(inst,"message",_messageDesc);let proto=Object.getPrototypeOf(inst);if(!_installedToString.has(proto))_installedToString.add(proto),Object.defineProperty(proto,"toString",{configurable:!0,enumerable:!1,get(){let value=()=>this.message;return Object.defineProperty(this,"toString",{value,configurable:!0,writable:!0}),value},set(value){Object.defineProperty(this,"toString",{value,configurable:!0,writable:!0})}})},$ZodError=$constructor("$ZodError",initializer),$ZodRealError=$constructor("$ZodError",initializer,void 0,{Parent:Error});function node(obj,key,make){if(!Object.prototype.hasOwnProperty.call(obj,key))if(key==="__proto__")Object.defineProperty(obj,key,{value:make(),writable:!0,enumerable:!0,configurable:!0});else obj[key]=make();return obj[key]}function flattenError(error,mapper=(issue)=>issue.message){let fieldErrors={},formErrors=[];for(let sub of error.issues)if(sub.path.length>0)node(fieldErrors,sub.path[0],()=>[]).push(mapper(sub));else formErrors.push(mapper(sub));return{formErrors,fieldErrors}}function formatError(error,mapper=(issue)=>issue.message){let fieldErrors={_errors:[]},processError=(error,path=[])=>{for(let issue of error.issues)if(issue.code==="invalid_union"&&issue.errors.length)issue.errors.map((issues)=>processError({issues},[...path,...issue.path]));else if(issue.code==="invalid_key")processError({issues:issue.issues},[...path,...issue.path]);else if(issue.code==="invalid_element")processError({issues:issue.issues},[...path,...issue.path]);else{let fullpath=[...path,...issue.path];if(fullpath.length===0)fieldErrors._errors.push(mapper(issue));else{let curr=fieldErrors,i=0;while(i<fullpath.length){let el=fullpath[i],terminal=i===fullpath.length-1;if(el==="_errors"){if(terminal)curr._errors.push(mapper(issue));i++;continue}if(!Object.prototype.hasOwnProperty.call(curr,el))Object.defineProperty(curr,el,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let node=curr[el];if(terminal)node._errors.push(mapper(issue));curr=node,i++}}}};return processError(error),fieldErrors}function toDotPath(_path){let segs=[],path=_path.map((seg)=>typeof seg==="object"?seg.key:seg);for(let seg of path)if(typeof seg==="number")segs.push(`[${seg}]`);else if(typeof seg==="symbol")segs.push(`[${JSON.stringify(String(seg))}]`);else if(/[^\w$]/.test(seg))segs.push(`[${JSON.stringify(seg)}]`);else{if(segs.length)segs.push(".");segs.push(seg)}return segs.join("")}function prettifyError(error){let lines=[],issues=[...error.issues].sort((a,b)=>(a.path??[]).length-(b.path??[]).length);for(let issue of issues)if(lines.push(`\u2716 ${issue.message}`),issue.path?.length)lines.push(` \u2192 at ${toDotPath(issue.path)}`);return lines.join(`
3
+ `)}function finalizeParams(callee,params){return{callee:params?.callee??callee,Err:params?.Err}}var _parse=(_Err)=>{let fn=(schema,value,_ctx,_params)=>{let ctx=_ctx?{..._ctx,async:!1}:{async:!1},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)throw new $ZodAsyncError;if(result.issues.length){let e=new(_params?.Err??_Err)(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())));throw captureStackTrace(e,_params?.callee??fn),e}return result.value};return fn},parse=_parse($ZodRealError),_parseAsync=(_Err)=>{let fn=async(schema,value,_ctx,params)=>{let ctx=_ctx?{..._ctx,async:!0}:{async:!0},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)result=await result;if(result.issues.length){let e=new(params?.Err??_Err)(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())));throw captureStackTrace(e,params?.callee??fn),e}return result.value};return fn},parseAsync=_parseAsync($ZodRealError),_safeParse=(_Err)=>(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,async:!1}:{async:!1},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)throw new $ZodAsyncError;return result.issues.length?{success:!1,error:new(_Err??$ZodError)(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())))}:{success:!0,data:result.value}},safeParse=_safeParse($ZodRealError),_safeParseAsync=(_Err)=>async(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,async:!0}:{async:!0},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)result=await result;return result.issues.length?{success:!1,error:new _Err(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())))}:{success:!0,data:result.value}},safeParseAsync=_safeParseAsync($ZodRealError);var _encode=(_Err)=>{let parse=_parse(_Err),fn=(schema,value,_ctx,_params)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return parse(schema,value,ctx,finalizeParams(fn,_params))};return fn};var _decode=(_Err)=>{let parse=_parse(_Err),fn=(schema,value,_ctx,_params)=>parse(schema,value,_ctx,finalizeParams(fn,_params));return fn};var _encodeAsync=(_Err)=>{let parseAsync=_parseAsync(_Err),fn=async(schema,value,_ctx,_params)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return await parseAsync(schema,value,ctx,finalizeParams(fn,_params))};return fn};var _decodeAsync=(_Err)=>{let parseAsync=_parseAsync(_Err),fn=async(schema,value,_ctx,_params)=>await parseAsync(schema,value,_ctx,finalizeParams(fn,_params));return fn};var _safeEncode=(_Err)=>(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return _safeParse(_Err)(schema,value,ctx)};var _safeDecode=(_Err)=>(schema,value,_ctx)=>_safeParse(_Err)(schema,value,_ctx);var _safeEncodeAsync=(_Err)=>async(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return _safeParseAsync(_Err)(schema,value,ctx)};var _safeDecodeAsync=(_Err)=>async(schema,value,_ctx)=>_safeParseAsync(_Err)(schema,value,_ctx);var cuid=/^[cC][0-9a-z]{6,}$/,cuid2=/^[0-9a-z]+$/,ulid=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,xid=/^[0-9a-vA-V]{20}$/,ksuid=/^[A-Za-z0-9]{27}$/,nanoid=/^[a-zA-Z0-9_-]{21}$/;function nanoidOfLength(length){return new RegExp(`^[a-zA-Z0-9_-]{${length}}$`)}var duration=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var guid=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,uuid=(version)=>{if(!version)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var email=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var _emoji="^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function emoji(){return new RegExp(_emoji,"u")}var ipv4=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var cidrv4=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,cidrv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,base64url=/^[A-Za-z0-9_-]*$/;var httpProtocol=/^https?$/,e164=/^\+[1-9]\d{6,14}$/;var dateSource="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function anchor(source){return new RegExp(`^${source}$`)}var date=anchor(dateSource);function timeSource(args){return typeof args.precision==="number"?args.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":args.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${args.precision}}`:args.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function time(args){return new RegExp(`^${timeSource(args)}$`)}function datetime2(args){let opts=["Z"];if(args.offset)opts.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let qualified=`${timeSource({precision:args.precision,seconds:!0})}(?:${opts.join("|")})`,timeRegex=args.local?`${qualified}|${timeSource({precision:args.precision})}`:qualified;return new RegExp(`^${dateSource}T(?:${timeRegex})$`)}var string2=(params)=>{let regex=params?`[\\s\\S]{${params?.minimum??0},${params?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${regex}$`)};var integer=/^-?\d+$/,number2=/^-?\d+(?:\.\d+)?$/,boolean2=/^(?:true|false)$/i,_null2=/^null$/i;var lowercase=/^[^A-Z]*$/,uppercase=/^[^a-z]*$/;var $ZodCheck=$constructor("$ZodCheck",(inst,def)=>{var _a;inst._zod??(inst._zod={}),inst._zod.def=def,(_a=inst._zod).onattach??(_a.onattach=[])});var _whenHasLength=(payload)=>{let val=payload.value;return!nullish(val)&&val.length!==void 0},numericOriginMap={number:"number",bigint:"bigint",object:"date"},$ZodCheckLessThan=$constructor("$ZodCheckLessThan",(inst,def)=>{$ZodCheck.init(inst,def);let origin=numericOriginMap[typeof def.value];inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag,curr=(def.inclusive?bag.maximum:bag.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(def.value<curr)if(def.inclusive)bag.maximum=def.value;else bag.exclusiveMaximum=def.value}),inst._zod.check=(payload)=>{if(def.inclusive?payload.value<=def.value:payload.value<def.value)return;payload.issues.push({origin:numericOriginMap[typeof payload.value]??origin,code:"too_big",maximum:typeof def.value==="object"?def.value.getTime():def.value,input:payload.value,inclusive:def.inclusive,inst,continue:!def.abort})}}),$ZodCheckGreaterThan=$constructor("$ZodCheckGreaterThan",(inst,def)=>{$ZodCheck.init(inst,def);let origin=numericOriginMap[typeof def.value];inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag,curr=(def.inclusive?bag.minimum:bag.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(def.value>curr)if(def.inclusive)bag.minimum=def.value;else bag.exclusiveMinimum=def.value}),inst._zod.check=(payload)=>{if(def.inclusive?payload.value>=def.value:payload.value>def.value)return;payload.issues.push({origin:numericOriginMap[typeof payload.value]??origin,code:"too_small",minimum:typeof def.value==="object"?def.value.getTime():def.value,input:payload.value,inclusive:def.inclusive,inst,continue:!def.abort})}}),$ZodCheckMultipleOf=$constructor("$ZodCheckMultipleOf",(inst,def)=>{$ZodCheck.init(inst,def),inst._zod.onattach.push((inst)=>{var _a;(_a=inst._zod.bag).multipleOf??(_a.multipleOf=def.value)}),inst._zod.check=(payload)=>{if(typeof payload.value!==typeof def.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof payload.value==="bigint"?def.value!==BigInt(0)&&payload.value%def.value===BigInt(0):floatSafeRemainder(payload.value,def.value)===0)return;payload.issues.push({origin:typeof payload.value,code:"not_multiple_of",divisor:def.value,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckNumberFormat=$constructor("$ZodCheckNumberFormat",(inst,def)=>{$ZodCheck.init(inst,def),def.format=def.format||"float64";let isInt=def.format?.includes("int"),origin=isInt?"int":"number",[minimum,maximum]=NUMBER_FORMAT_RANGES[def.format];inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag;if(bag.format=def.format,bag.minimum=minimum,bag.maximum=maximum,isInt)bag.pattern=integer}),inst._zod.check=(payload)=>{let input=payload.value;if(isInt){if(!Number.isInteger(input)){payload.issues.push({expected:origin,format:def.format,code:"invalid_type",continue:!1,input,inst});return}if(!Number.isSafeInteger(input)){if(input>0)payload.issues.push({input,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst,origin,inclusive:!0,continue:!def.abort});else payload.issues.push({input,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst,origin,inclusive:!0,continue:!def.abort});return}}if(input<minimum)payload.issues.push({origin:"number",input,code:"too_small",minimum,inclusive:!0,inst,continue:!def.abort});if(input>maximum)payload.issues.push({origin:"number",input,code:"too_big",maximum,inclusive:!0,inst,continue:!def.abort})}});var $ZodCheckMaxLength=$constructor("$ZodCheckMaxLength",(inst,def)=>{var _a;$ZodCheck.init(inst,def),(_a=inst._zod.def).when??(_a.when=_whenHasLength),inst._zod.onattach.push((inst)=>{let curr=inst._zod.bag.maximum??Number.POSITIVE_INFINITY;if(def.maximum<curr)inst._zod.bag.maximum=def.maximum}),inst._zod.check=(payload)=>{let input=payload.value,units=input.length;if((typeof input==="string"&&units>def.maximum?codePointLength(input):units)<=def.maximum)return;let origin=getLengthableOrigin(input);payload.issues.push({origin,code:"too_big",maximum:def.maximum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckMinLength=$constructor("$ZodCheckMinLength",(inst,def)=>{var _a;$ZodCheck.init(inst,def),(_a=inst._zod.def).when??(_a.when=_whenHasLength),inst._zod.onattach.push((inst)=>{let curr=inst._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(def.minimum>curr)inst._zod.bag.minimum=def.minimum}),inst._zod.check=(payload)=>{let input=payload.value,units=input.length;if((typeof input==="string"&&units>=def.minimum&&units<def.minimum*2?codePointLength(input):units)>=def.minimum)return;let origin=getLengthableOrigin(input);payload.issues.push({origin,code:"too_small",minimum:def.minimum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckLengthEquals=$constructor("$ZodCheckLengthEquals",(inst,def)=>{var _a;$ZodCheck.init(inst,def),(_a=inst._zod.def).when??(_a.when=_whenHasLength),inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag;bag.minimum=def.length,bag.maximum=def.length,bag.length=def.length}),inst._zod.check=(payload)=>{let input=payload.value,units=input.length,length=typeof input==="string"&&units>=def.length&&units<=def.length*2?codePointLength(input):units;if(length===def.length)return;let origin=getLengthableOrigin(input),tooBig=length>def.length;payload.issues.push({origin,...tooBig?{code:"too_big",maximum:def.length}:{code:"too_small",minimum:def.length},inclusive:!0,exact:!0,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckStringFormat=$constructor("$ZodCheckStringFormat",(inst,def)=>{var _a,_b;if($ZodCheck.init(inst,def),inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag;if(bag.format=def.format,def.pattern)bag.patterns??(bag.patterns=new Set),bag.patterns.add(def.pattern)}),def.pattern)(_a=inst._zod).check??(_a.check=(payload)=>{if(def.pattern.lastIndex=0,def.pattern.test(payload.value))return;payload.issues.push({origin:"string",code:"invalid_format",format:def.format,input:payload.value,...def.pattern?{pattern:def.pattern.toString()}:{},inst,continue:!def.abort})});else(_b=inst._zod).check??(_b.check=()=>{})}),$ZodCheckRegex=$constructor("$ZodCheckRegex",(inst,def)=>{$ZodCheckStringFormat.init(inst,def),inst._zod.check=(payload)=>{if(def.pattern.lastIndex=0,def.pattern.test(payload.value))return;payload.issues.push({origin:"string",code:"invalid_format",format:"regex",input:payload.value,pattern:def.pattern.toString(),inst,continue:!def.abort})}}),$ZodCheckLowerCase=$constructor("$ZodCheckLowerCase",(inst,def)=>{def.pattern??(def.pattern=lowercase),$ZodCheckStringFormat.init(inst,def)}),$ZodCheckUpperCase=$constructor("$ZodCheckUpperCase",(inst,def)=>{def.pattern??(def.pattern=uppercase),$ZodCheckStringFormat.init(inst,def)}),$ZodCheckIncludes=$constructor("$ZodCheckIncludes",(inst,def)=>{$ZodCheck.init(inst,def);let escapedRegex=escapeRegex(def.includes),pattern=new RegExp(typeof def.position==="number"?`^.{${def.position},}${escapedRegex}`:escapedRegex);def.pattern=pattern,inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=(payload)=>{if(payload.value.includes(def.includes,def.position))return;payload.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:def.includes,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckStartsWith=$constructor("$ZodCheckStartsWith",(inst,def)=>{$ZodCheck.init(inst,def);let pattern=new RegExp(`^${escapeRegex(def.prefix)}.*`);def.pattern??(def.pattern=pattern),inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=(payload)=>{if(payload.value.startsWith(def.prefix))return;payload.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:def.prefix,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckEndsWith=$constructor("$ZodCheckEndsWith",(inst,def)=>{$ZodCheck.init(inst,def);let pattern=new RegExp(`.*${escapeRegex(def.suffix)}$`);def.pattern??(def.pattern=pattern),inst._zod.onattach.push((inst)=>{let bag=inst._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=(payload)=>{if(payload.value.endsWith(def.suffix))return;payload.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:def.suffix,input:payload.value,inst,continue:!def.abort})}});var $ZodCheckOverwrite=$constructor("$ZodCheckOverwrite",(inst,def)=>{$ZodCheck.init(inst,def),inst._zod.check=(payload)=>{payload.value=def.tx(payload.value)}});class Doc{constructor(args=[],closed={}){this.content=[],this.indent=0,this.args=args,this.closed=closed}indented(fn){this.indent+=1,fn(this),this.indent-=1}write(arg){if(typeof arg==="function"){arg(this,{execution:"sync"}),arg(this,{execution:"async"});return}let lines=arg.split(`
4
+ `).filter((x)=>x),minIndent=Math.min(...lines.map((x)=>x.length-x.trimStart().length)),dedented=lines.map((x)=>x.slice(minIndent)).map((x)=>" ".repeat(this.indent*2)+x);for(let line of dedented)this.content.push(line)}compile(){let F=Function,content=this?.content??[""];return new F(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
5
+ ${content.join(`
6
+ `)}
7
+ };`)(...Object.values(this.closed))}}var version={major:4,minor:5,patch:4};var $ZodType=$constructor("$ZodType",(inst,def)=>{var _a;inst??(inst={}),inst._zod.def=def,inst._zod.bag=inst._zod.bag||{},inst._zod.version=version;let defChecks=inst._zod.def.checks,checks=inst._zod.traits.has("$ZodCheck")?[inst,...defChecks??[]]:defChecks?.length?[...defChecks]:[];for(let ch of checks)for(let fn of ch._zod.onattach)fn(inst);if(checks.length===0)(_a=inst._zod).deferred??(_a.deferred=[]),inst._zod.deferred?.push(()=>{inst._zod.run=inst._zod.parse});else{let runChecks=(payload,checks,ctx)=>{if(payload.memo)return payload;let isAborted=aborted(payload),asyncResult;for(let ch of checks){if(ch._zod.def.when){if(explicitlyAborted(payload))continue;if(!ch._zod.def.when(payload))continue}else if(isAborted)continue;let currLen=payload.issues.length,_=ch._zod.check(payload);if(_ instanceof Promise&&ctx?.async===!1)throw new $ZodAsyncError;if(asyncResult||_ instanceof Promise)asyncResult=(asyncResult??Promise.resolve()).then(async()=>{if(await _,payload.issues.length===currLen)return;if(attachSchema(payload.issues,currLen,inst),!isAborted)isAborted=aborted(payload,currLen)});else{if(payload.issues.length===currLen)continue;if(attachSchema(payload.issues,currLen,inst),!isAborted)isAborted=aborted(payload,currLen)}}if(asyncResult)return asyncResult.then(()=>payload);return payload},handleCanaryResult=(canary,payload,ctx)=>{if(aborted(canary))return canary.aborted=!0,canary;let checkResult=runChecks(payload,checks,ctx);if(checkResult instanceof Promise){if(ctx.async===!1)throw new $ZodAsyncError;return checkResult.then((checkResult)=>inst._zod.parse(checkResult,ctx))}return inst._zod.parse(checkResult,ctx)};inst._zod.run=(payload,ctx)=>{if(ctx.skipChecks)return inst._zod.parse(payload,ctx);if(ctx.direction==="backward"){let canary=inst._zod.parse({value:payload.value,issues:[]},{...ctx,skipChecks:!0});if(canary instanceof Promise)return canary.then((canary)=>handleCanaryResult(canary,payload,ctx));return handleCanaryResult(canary,payload,ctx)}let result=inst._zod.parse(payload,ctx);if(result instanceof Promise){if(ctx.async===!1)throw new $ZodAsyncError;return result.then((result)=>runChecks(result,checks,ctx))}return runChecks(result,checks,ctx)}}},{get "~standard"(){return hide(this,"~standard",standardProps(this))},set "~standard"(value){own(this,"~standard",value)}}),toStandardResult=(r)=>r.success?{value:r.data}:{issues:r.error?.issues};function standardProps(inst){return{validate:(value)=>{try{return toStandardResult(safeParse(inst,value))}catch(_){return safeParseAsync(inst,value).then(toStandardResult)}},vendor:"zod",version:1}}var $ZodString=$constructor("$ZodString",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=[...inst?._zod.bag?.patterns??[]].pop()??string2(inst._zod.bag),inst._zod.parse=(payload,_)=>{if(def.coerce)try{payload.value=String(payload.value)}catch(_){}if(typeof payload.value==="string")return payload;return payload.issues.push({expected:"string",code:"invalid_type",input:payload.value,inst}),payload}}),$ZodStringFormat=$constructor("$ZodStringFormat",(inst,def)=>{$ZodCheckStringFormat.init(inst,def),$ZodString.init(inst,def)}),$ZodGUID=$constructor("$ZodGUID",(inst,def)=>{def.pattern??(def.pattern=guid),$ZodStringFormat.init(inst,def)}),$ZodUUID=$constructor("$ZodUUID",(inst,def)=>{if(def.version){let v={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[def.version];if(v===void 0)throw Error(`Invalid UUID version: "${def.version}"`);def.pattern??(def.pattern=uuid(v))}else def.pattern??(def.pattern=uuid());$ZodStringFormat.init(inst,def)}),$ZodEmail=$constructor("$ZodEmail",(inst,def)=>{def.pattern??(def.pattern=email),$ZodStringFormat.init(inst,def)}),URL_BAD_FORMAT=1,URL_UNPARSEABLE=2;function parseURLObject(trimmed,def){if(!def.normalize&&def.protocol?.source===httpProtocol.source&&!/^https?:\/\//i.test(trimmed))return URL_BAD_FORMAT;try{return new URL(trimmed)}catch{return URL_UNPARSEABLE}}var asciiTabOrNewline=/[\t\n\r]/g;function stripTabAndNewline(value){return value.replace(asciiTabOrNewline,"")}function urlHostnameOk(url,hostname){return hostname.lastIndex=0,hostname.test(url.hostname)}function urlProtocolOk(url,protocol){return protocol.lastIndex=0,protocol.test(url.protocol.endsWith(":")?url.protocol.slice(0,-1):url.protocol)}var $ZodURL=$constructor("$ZodURL",(inst,def)=>{$ZodStringFormat.init(inst,def),inst._zod.check=(payload)=>{try{let trimmed=payload.value.trim(),url=parseURLObject(trimmed,def);if(url===URL_BAD_FORMAT){payload.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:payload.value,inst,continue:!def.abort});return}if(url===URL_UNPARSEABLE){payload.issues.push({code:"invalid_format",format:"url",input:payload.value,inst,continue:!def.abort});return}if(def.hostname&&!urlHostnameOk(url,def.hostname))payload.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:def.hostname.source,input:payload.value,inst,continue:!def.abort});if(def.protocol&&!urlProtocolOk(url,def.protocol))payload.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:def.protocol.source,input:payload.value,inst,continue:!def.abort});payload.value=def.normalize?url.href:stripTabAndNewline(trimmed);return}catch(_){payload.issues.push({code:"invalid_format",format:"url",input:payload.value,inst,continue:!def.abort})}}}),$ZodEmoji=$constructor("$ZodEmoji",(inst,def)=>{def.pattern??(def.pattern=emoji()),$ZodStringFormat.init(inst,def)}),$ZodNanoID=$constructor("$ZodNanoID",(inst,def)=>{if(def.length!==void 0&&(!Number.isInteger(def.length)||def.length<1))throw Error(`Invalid nanoid length: ${def.length}`);def.pattern??(def.pattern=def.length===void 0?nanoid:nanoidOfLength(def.length)),$ZodStringFormat.init(inst,def)}),$ZodCUID=$constructor("$ZodCUID",(inst,def)=>{def.pattern??(def.pattern=cuid),$ZodStringFormat.init(inst,def)}),$ZodCUID2=$constructor("$ZodCUID2",(inst,def)=>{def.pattern??(def.pattern=cuid2),$ZodStringFormat.init(inst,def)}),$ZodULID=$constructor("$ZodULID",(inst,def)=>{def.pattern??(def.pattern=ulid),$ZodStringFormat.init(inst,def)}),$ZodXID=$constructor("$ZodXID",(inst,def)=>{def.pattern??(def.pattern=xid),$ZodStringFormat.init(inst,def)}),$ZodKSUID=$constructor("$ZodKSUID",(inst,def)=>{def.pattern??(def.pattern=ksuid),$ZodStringFormat.init(inst,def)}),$ZodISODateTime=$constructor("$ZodISODateTime",(inst,def)=>{if(def.pattern??(def.pattern=datetime2(def)),$ZodStringFormat.init(inst,def),def.local||def.precision===-1)inst._zod.bag.laxFormat=!0,inst._zod.onattach.push((s)=>{s._zod.bag.laxFormat=!0})}),$ZodISODate=$constructor("$ZodISODate",(inst,def)=>{def.pattern??(def.pattern=date),$ZodStringFormat.init(inst,def)}),$ZodISOTime=$constructor("$ZodISOTime",(inst,def)=>{def.pattern??(def.pattern=time(def)),$ZodStringFormat.init(inst,def)}),$ZodISODuration=$constructor("$ZodISODuration",(inst,def)=>{def.pattern??(def.pattern=duration),$ZodStringFormat.init(inst,def)}),$ZodIPv4=$constructor("$ZodIPv4",(inst,def)=>{def.pattern??(def.pattern=ipv4),$ZodStringFormat.init(inst,def),inst._zod.bag.format="ipv4"}),ipv6Alphabet=/^[0-9a-fA-F:.]+$/;function isValidIPv6(value){if(!ipv6Alphabet.test(value))return!1;try{return new URL(`http://[${value}]`),!0}catch{return!1}}var $ZodIPv6=$constructor("$ZodIPv6",(inst,def)=>{def.pattern??(def.pattern=ipv6),$ZodStringFormat.init(inst,def),inst._zod.bag.format="ipv6",inst._zod.check=(payload)=>{if(!isValidIPv6(payload.value))payload.issues.push({code:"invalid_format",format:"ipv6",input:payload.value,inst,continue:!def.abort})}});var $ZodCIDRv4=$constructor("$ZodCIDRv4",(inst,def)=>{def.pattern??(def.pattern=cidrv4),$ZodStringFormat.init(inst,def)});function isValidCIDRv6(value){let parts=value.split("/");if(parts.length!==2)return!1;let[address,prefix]=parts;if(!prefix)return!1;let prefixNum=Number(prefix);if(`${prefixNum}`!==prefix)return!1;if(prefixNum<0||prefixNum>128)return!1;return isValidIPv6(address)}var $ZodCIDRv6=$constructor("$ZodCIDRv6",(inst,def)=>{def.pattern??(def.pattern=cidrv6),$ZodStringFormat.init(inst,def),inst._zod.check=(payload)=>{if(!isValidCIDRv6(payload.value))payload.issues.push({code:"invalid_format",format:"cidrv6",input:payload.value,inst,continue:!def.abort})}});function isValidBase64(data){if(data==="")return!0;if(/\s/.test(data))return!1;if(data.length%4!==0)return!1;try{return atob(data),!0}catch{return!1}}var $ZodBase64=$constructor("$ZodBase64",(inst,def)=>{def.pattern??(def.pattern=base64),$ZodStringFormat.init(inst,def),inst._zod.bag.contentEncoding="base64",inst._zod.check=(payload)=>{if(isValidBase64(payload.value))return;payload.issues.push({code:"invalid_format",format:"base64",input:payload.value,inst,continue:!def.abort})}});function isValidBase64URL(data){if(!base64url.test(data))return!1;let base64=data.replace(/[-_]/g,(c)=>c==="-"?"+":"/"),padded=base64.padEnd(Math.ceil(base64.length/4)*4,"=");return isValidBase64(padded)}var $ZodBase64URL=$constructor("$ZodBase64URL",(inst,def)=>{def.pattern??(def.pattern=base64url),$ZodStringFormat.init(inst,def),inst._zod.bag.contentEncoding="base64url",inst._zod.check=(payload)=>{if(isValidBase64URL(payload.value))return;payload.issues.push({code:"invalid_format",format:"base64url",input:payload.value,inst,continue:!def.abort})}}),$ZodE164=$constructor("$ZodE164",(inst,def)=>{def.pattern??(def.pattern=e164),$ZodStringFormat.init(inst,def)});function isValidJWT(token,algorithm=null){try{let tokensParts=token.split(".");if(tokensParts.length!==3)return!1;let[header]=tokensParts;if(!header)return!1;let parsedHeader=JSON.parse(atob(header));if("typ"in parsedHeader&&parsedHeader?.typ!=="JWT")return!1;if(!parsedHeader.alg)return!1;if(algorithm&&(!("alg"in parsedHeader)||parsedHeader.alg!==algorithm))return!1;return!0}catch{return!1}}var $ZodJWT=$constructor("$ZodJWT",(inst,def)=>{$ZodStringFormat.init(inst,def),inst._zod.check=(payload)=>{if(isValidJWT(payload.value,def.alg))return;payload.issues.push({code:"invalid_format",format:"jwt",input:payload.value,inst,continue:!def.abort})}});var $ZodNumber=$constructor("$ZodNumber",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=inst._zod.bag.pattern??number2,inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=Number(payload.value)}catch(_){}let input=payload.value;if(typeof input==="number"&&!Number.isNaN(input)&&Number.isFinite(input))return payload;let received=typeof input==="number"?Number.isNaN(input)?"NaN":!Number.isFinite(input)?String(input):void 0:void 0;return payload.issues.push({expected:"number",code:"invalid_type",input,inst,...received?{received}:{}}),payload}}),$ZodNumberFormat=$constructor("$ZodNumberFormat",(inst,def)=>{$ZodCheckNumberFormat.init(inst,def),$ZodNumber.init(inst,def)}),$ZodBoolean=$constructor("$ZodBoolean",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=boolean2,inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=Boolean(payload.value)}catch(_){}let input=payload.value;if(typeof input==="boolean")return payload;return payload.issues.push({expected:"boolean",code:"invalid_type",input,inst}),payload}});var $ZodNull=$constructor("$ZodNull",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=_null2,inst._zod.values=new Set([null]),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(input===null)return payload;return payload.issues.push({expected:"null",code:"invalid_type",input,inst}),payload}}),$ZodAny=$constructor("$ZodAny",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload)=>payload}),$ZodUnknown=$constructor("$ZodUnknown",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload)=>payload}),$ZodNever=$constructor("$ZodNever",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>(payload.issues.push({expected:"never",code:"invalid_type",input:payload.value,inst}),payload)});function handleArrayResult(result,final,index){if(result.issues.length)final.issues.push(...prefixIssues(index,result.issues));final.value[index]=result.value}var $ZodArray=$constructor("$ZodArray",(inst,def)=>{$ZodType.init(inst,def);let memo=globalConfig.memoizer;memo?.attach(inst),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!Array.isArray(input))return payload.issues.push({expected:"array",code:"invalid_type",input,inst}),payload;payload.value=memo?memo.alloc(inst,payload,Array(input.length),ctx):Array(input.length);let proms=[];for(let i=0;i<input.length;i++){let item=input[i],result=def.element._zod.run({value:item,issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((result)=>handleArrayResult(result,payload,i)));else handleArrayResult(result,payload,i)}if(proms.length)return Promise.all(proms).then(()=>payload);return payload}});function handlePropertyResult(result,final,key,input,optin,optout){let isPresent=key in input,isOptionalOut=optout==="optional";if(!isPresent&&isOptionalOut&&optin==="optional")return;if(result.issues.length){if(optin!==void 0&&isOptionalOut&&!isPresent)return;final.issues.push(...prefixIssues(key,result.issues))}if(!isPresent&&optin===void 0){if(!result.issues.length)final.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[key]});return}if(result.value===void 0){if(isPresent)final.value[key]=void 0}else final.value[key]=result.value}var NO_SYMBOL_KEYS=[];function normalizeDef(def){let keys=Object.keys(def.shape),ownSymbols=Object.getOwnPropertySymbols(def.shape),symbolKeys=ownSymbols.length?ownSymbols:NO_SYMBOL_KEYS,allKeys=symbolKeys.length?[...keys,...symbolKeys]:keys;for(let k of allKeys)if(!def.shape?.[k]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${String(k)}": expected a Zod schema`);let okeys=optionalKeys(def.shape);return{...def,allKeys,symbolKeys,keySet:new Set(keys),numKeys:keys.length,optionalKeys:new Set(okeys)}}function handleCatchall(proms,input,payload,ctx,def,inst){let unrecognized=[],keySet=def.keySet,_catchall=def.catchall._zod,t=_catchall.def.type,{optin,optout}=_catchall;for(let key in input){if(keySet.has(key))continue;if(key==="__proto__"){if(t==="never")unrecognized.push(key);continue}if(t==="never"){unrecognized.push(key);continue}let r=_catchall.run({value:input[key],issues:[]},ctx);if(r instanceof Promise)proms.push(r.then((r)=>handlePropertyResult(r,payload,key,input,optin,optout)));else handlePropertyResult(r,payload,key,input,optin,optout)}if(unrecognized.length)payload.issues.push({code:"unrecognized_keys",keys:unrecognized,input,inst,continue:!0});if(!proms.length)return payload;return Promise.all(proms).then(()=>payload)}var propShapes=new WeakMap,$ZodObject=$constructor("$ZodObject",(inst,def)=>{if($ZodType.init(inst,def),!Object.getOwnPropertyDescriptor(def,"shape")?.get){let sh=def.shape;propShapes.set(def,sh),Object.defineProperty(def,"shape",{get:()=>{let newSh={...sh};return Object.defineProperty(def,"shape",{value:newSh}),propShapes.set(def,newSh),newSh}})}let _normalized=cached(()=>normalizeDef(def));defineLazyInternal(inst,"propValues",(zod)=>{let shape=zod.def.shape,propValues={};for(let key in shape){let field=shape[key]._zod;if(field.values){if(!Object.prototype.hasOwnProperty.call(propValues,key))assignProp(propValues,key,new Set);for(let v of field.values)propValues[key].add(v);if(field.optin!==void 0)propValues[key].add(void 0)}}return propValues});let isObject2=isObject,catchall=def.catchall,value,memo=globalConfig.memoizer;memo?.attach(inst),inst._zod.parse=(payload,ctx)=>{value??(value=_normalized.value);let input=payload.value;if(!isObject2(input))return payload.issues.push({expected:"object",code:"invalid_type",input,inst}),payload;payload.value=memo?memo.alloc(inst,payload,{},ctx):{};let proms=[],shape=value.shape;for(let key of value.allKeys){if(key==="__proto__")continue;let el=shape[key],optin=el._zod.optin,optout=el._zod.optout,r=el._zod.run({value:input[key],issues:[]},ctx);if(r instanceof Promise)proms.push(r.then((r)=>handlePropertyResult(r,payload,key,input,optin,optout)));else handlePropertyResult(r,payload,key,input,optin,optout)}if(!catchall)return proms.length?Promise.all(proms).then(()=>payload):payload;return handleCatchall(proms,input,payload,ctx,_normalized.value,inst)}}),$ZodObjectJIT=$constructor("$ZodObjectJIT",(inst,def)=>{$ZodObject.init(inst,def);let superParse=inst._zod.parse,_normalized=cached(()=>normalizeDef(def)),memo=globalConfig.memoizer,generateFastpass=(shape)=>{let normalized=_normalized.value,syms=normalized.symbolKeys,doc=new Doc(["payload","ctx"],{shape,inst,memo,syms}),parseStr=(k)=>`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`,prefixStr=(id,k)=>`
8
+ for (let i = 0; i < ${id}.issues.length; i++) {
9
+ const iss = ${id}.issues[i];
10
+ iss.path = iss.path ? [${k}, ...iss.path] : [${k}];
11
+ payload.issues.push(iss);
12
+ }`;doc.write("const input = payload.value;");let ids=Object.create(null),counter=0;for(let key of normalized.allKeys)ids[key]=`key_${counter++}`;doc.write(memo?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let key of normalized.allKeys){if(key==="__proto__")continue;let id=ids[key],k=typeof key==="symbol"?`syms[${syms.indexOf(key)}]`:esc(key),isPresent=`${k} in input`,schema=shape[key],optin=schema?._zod?.optin,isOptionalIn=optin!==void 0,isOptionalOut=schema?._zod?.optout==="optional";if(doc.write(`const ${id} = ${parseStr(k)};`),isOptionalIn&&isOptionalOut){let assign=optin==="optional"?`${id}_present`:`${id}.value !== undefined || ${id}_present`;doc.write(`
13
+ const ${id}_present = ${isPresent};
14
+ if (!${id}.issues.length || ${id}_present) {
15
+ if (${id}.issues.length) {${prefixStr(id,k)}
16
+ }
17
+
18
+ if (${assign}) {
19
+ newResult[${k}] = ${id}.value;
20
+ }
21
+ }
22
+
23
+ `)}else if(!isOptionalIn)doc.write(`
24
+ const ${id}_present = ${isPresent};
25
+ if (${id}.issues.length) {${prefixStr(id,k)}
26
+ }
27
+ if (!${id}_present && !${id}.issues.length) {
28
+ payload.issues.push({
29
+ code: "invalid_type",
30
+ expected: "nonoptional",
31
+ input: undefined,
32
+ path: [${k}]
33
+ });
34
+ }
35
+
36
+ if (${id}_present) {
37
+ newResult[${k}] = ${id}.value;
38
+ }
39
+
40
+ `);else doc.write(`
41
+ if (${id}.issues.length) {${prefixStr(id,k)}
42
+ }
43
+
44
+ if (${id}.value === undefined) {
45
+ if (${isPresent}) {
46
+ newResult[${k}] = undefined;
47
+ }
48
+ } else {
49
+ newResult[${k}] = ${id}.value;
50
+ }
51
+
52
+ `)}return doc.write("payload.value = newResult;"),doc.write("return payload;"),doc.compile()},fastpass,isObject2=isObject,jit=!globalConfig.jitless,fastEnabled=jit&&allowsEval.value,catchall=def.catchall,value;inst._zod.parse=(payload,ctx)=>{value??(value=_normalized.value);let input=payload.value;if(!isObject2(input))return payload.issues.push({expected:"object",code:"invalid_type",input,inst}),payload;if(jit&&fastEnabled&&ctx?.async===!1&&ctx.jitless!==!0){if(!fastpass)fastpass=generateFastpass(def.shape);if(payload=fastpass(payload,ctx),!catchall)return payload;return handleCatchall([],input,payload,ctx,value,inst)}return superParse(payload,ctx)}});function handleUnionResults(results,final,inst,ctx){for(let result of results)if(result.issues.length===0)return final.value=result.value,final;let nonaborted=results.filter((r)=>!aborted(r));if(nonaborted.length===1)return final.value=nonaborted[0].value,nonaborted[0];return final.issues.push({code:"invalid_union",input:final.value,inst,errors:results.map((result)=>result.issues.map((iss)=>finalizeIssue(iss,ctx,config())))}),final}var $ZodUnion=$constructor("$ZodUnion",(inst,def)=>{$ZodType.init(inst,def),defineLazyInternal(inst,"optin",(zod)=>zod.def.options.some((o)=>o._zod.optin==="defaulted")?"defaulted":zod.def.options.some((o)=>o._zod.optin!==void 0)?"optional":void 0),defineLazyInternal(inst,"optout",(zod)=>zod.def.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),defineLazyInternal(inst,"values",(zod)=>{if(zod.def.options.every((o)=>o._zod.values))return new Set(zod.def.options.flatMap((option)=>Array.from(option._zod.values)));return}),defineLazyInternal(inst,"pattern",(zod)=>{if(zod.def.options.every((o)=>o._zod.pattern)){let patterns=zod.def.options.map((o)=>o._zod.pattern);return new RegExp(`^(${patterns.map((p)=>cleanRegex(p.source)).join("|")})$`)}return});let first=def.options.length===1?def.options[0]._zod.run:null;inst._zod.parse=(payload,ctx)=>{if(first)return first(payload,ctx);let async=!1,results=[];for(let option of def.options){let result=option._zod.run({value:payload.value,issues:[]},ctx);if(result instanceof Promise)results.push(result),async=!0;else{if(result.issues.length===0)return result;results.push(result)}}if(!async)return handleUnionResults(results,payload,inst,ctx);return Promise.all(results).then((results)=>handleUnionResults(results,payload,inst,ctx))}});var $ZodDiscriminatedUnion=$constructor("$ZodDiscriminatedUnion",(inst,def)=>{def.inclusive=!1,$ZodUnion.init(inst,def);let _super=inst._zod.parse;defineLazyInternal(inst,"propValues",(zod)=>{let propValues={};for(let option of zod.def.options){let pv=option._zod.propValues;if(!pv||Object.keys(pv).length===0)throw Error(`Invalid discriminated union option at index "${zod.def.options.indexOf(option)}"`);for(let[k,v]of Object.entries(pv)){if(!Object.prototype.hasOwnProperty.call(propValues,k))assignProp(propValues,k,new Set);for(let val of v)propValues[k].add(val)}}return propValues}),def.options.forEach((option,i)=>{let propShape=propShapes.get(option._zod.def);if(propShape&&!Object.prototype.hasOwnProperty.call(propShape,def.discriminator))throw Error(`Invalid discriminated union option at index "${i}"`)});let disc=cached(()=>{let opts=def.options,map=new Map;for(let o of opts){let values=o._zod.propValues?.[def.discriminator];if(!values||values.size===0)throw Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);for(let v of values){if(map.has(v))throw Error(`Duplicate discriminator value "${String(v)}"`);map.set(v,o)}}return map});inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!isObject(input))return payload.issues.push({code:"invalid_type",expected:"object",input,inst}),payload;let opt=disc.value.get(input?.[def.discriminator]);if(opt)return opt._zod.run(payload,ctx);if(def.unionFallback||ctx.direction==="backward")return _super(payload,ctx);return payload.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:def.discriminator,options:Array.from(disc.value.keys()),input,path:[def.discriminator],inst}),payload}}),$ZodIntersection=$constructor("$ZodIntersection",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value,left=def.left._zod.run({value:input,issues:[]},ctx),right=def.right._zod.run({value:input,issues:[]},ctx);if(left instanceof Promise||right instanceof Promise)return Promise.all([left,right]).then(([left,right])=>handleIntersectionResults(payload,left,right));return handleIntersectionResults(payload,left,right)}});function mergeValues(a,b){if(a===b)return{valid:!0,data:a};if(a instanceof Date&&b instanceof Date&&+a===+b)return{valid:!0,data:a};if(isPlainObject(a)&&isPlainObject(b)){let bKeys=Object.keys(b),sharedKeys=Object.keys(a).filter((key)=>bKeys.indexOf(key)!==-1),newObj={...a,...b};if(Object.prototype.hasOwnProperty.call(newObj,"__proto__"))delete newObj.__proto__;for(let key of sharedKeys){if(key==="__proto__")continue;let sharedValue=mergeValues(a[key],b[key]);if(!sharedValue.valid)return{valid:!1,mergeErrorPath:[key,...sharedValue.mergeErrorPath]};newObj[key]=sharedValue.data}return{valid:!0,data:newObj}}if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return{valid:!1,mergeErrorPath:[]};let newArray=[];for(let index=0;index<a.length;index++){let itemA=a[index],itemB=b[index],sharedValue=mergeValues(itemA,itemB);if(!sharedValue.valid)return{valid:!1,mergeErrorPath:[index,...sharedValue.mergeErrorPath]};newArray.push(sharedValue.data)}return{valid:!0,data:newArray}}return{valid:!1,mergeErrorPath:[]}}function handleIntersectionResults(result,left,right){let unrecKeys=new Map,unrecIssue,keyIssues=new Map,collect=(iss,side)=>{let keys;if(iss.code==="unrecognized_keys"&&!iss.path?.length)unrecIssue??(unrecIssue=iss),keys=iss.keys;else if(iss.code==="invalid_key"&&iss.origin==="record"&&iss.path?.length===1){let k=String(iss.path[0]);if(!keyIssues.has(k))keyIssues.set(k,iss);keys=[k]}else return!1;for(let k of keys){if(!unrecKeys.has(k))unrecKeys.set(k,{});unrecKeys.get(k)[side]=!0}return!0};for(let iss of left.issues)if(!collect(iss,"l"))result.issues.push(iss);for(let iss of right.issues)if(!collect(iss,"r"))result.issues.push(iss);let bothKeys=[...unrecKeys].filter(([,f])=>f.l&&f.r).map(([k])=>k);if(bothKeys.length){let aggregated=unrecIssue?bothKeys.filter((k)=>unrecIssue.keys.includes(k)):[];if(aggregated.length)result.issues.push({...unrecIssue,keys:aggregated});for(let k of bothKeys)if(!aggregated.includes(k)&&keyIssues.has(k))result.issues.push(keyIssues.get(k))}let merged=mergeValues(left.value,right.value);if(!merged.valid){if(aborted(result))return result;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(merged.mergeErrorPath)}`)}return result.value=merged.data,result}var $ZodRecord=$constructor("$ZodRecord",(inst,def)=>{$ZodType.init(inst,def);let memo=globalConfig.memoizer;memo?.attach(inst),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!isPlainObject(input))return payload.issues.push({expected:"record",code:"invalid_type",input,inst}),payload;let proms=[],values=def.keyType._zod.values;if(values&&!def.partial){payload.value=memo?memo.alloc(inst,payload,{},ctx):{};let recordKeys=new Set;for(let key of values)if(typeof key==="string"||typeof key==="number"||typeof key==="symbol"){if(recordKeys.add(typeof key==="number"?key.toString():key),key==="__proto__")continue;let keyResult=def.keyType._zod.run({value:key,issues:[]},ctx);if(keyResult instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(keyResult.issues.length){payload.issues.push({code:"invalid_key",origin:"record",issues:keyResult.issues.map((iss)=>finalizeIssue(iss,ctx,config())),input:key,path:[key],inst});continue}let outKey=keyResult.value;if(outKey==="__proto__")continue;let result=def.valueType._zod.run({value:input[key],issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((result)=>{if(result.issues.length)payload.issues.push(...prefixIssues(key,result.issues));payload.value[outKey]=result.value}));else{if(result.issues.length)payload.issues.push(...prefixIssues(key,result.issues));payload.value[outKey]=result.value}}let unrecognized;for(let key in input)if(!recordKeys.has(key))if(def.mode==="loose"){if(key==="__proto__")continue;payload.value[key]=input[key]}else unrecognized=unrecognized??[],unrecognized.push(key);if(unrecognized&&unrecognized.length>0)payload.issues.push({code:"unrecognized_keys",input,inst,keys:unrecognized,continue:!0})}else{payload.value=memo?memo.alloc(inst,payload,{},ctx):{};let unrecognized;for(let key of Reflect.ownKeys(input)){if(key==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(input,key))continue;let keyResult=def.keyType._zod.run({value:key,issues:[]},ctx);if(keyResult instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof key==="string"&&number2.test(key)&&keyResult.issues.length){let retryResult=def.keyType._zod.run({value:Number(key),issues:[]},ctx);if(retryResult instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(retryResult.issues.length===0)keyResult=retryResult}if(keyResult.issues.length){if(def.mode==="loose")payload.value[key]=input[key];else if(values)unrecognized=unrecognized??[],unrecognized.push(key);else payload.issues.push({code:"invalid_key",origin:"record",issues:keyResult.issues.map((iss)=>finalizeIssue(iss,ctx,config())),input:key,path:[key],inst});continue}let outKey=keyResult.value;if(outKey==="__proto__")continue;let result=def.valueType._zod.run({value:input[key],issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((result)=>{if(result.issues.length)payload.issues.push(...prefixIssues(key,result.issues));payload.value[outKey]=result.value}));else{if(result.issues.length)payload.issues.push(...prefixIssues(key,result.issues));payload.value[outKey]=result.value}}if(unrecognized&&unrecognized.length>0)payload.issues.push({code:"unrecognized_keys",input,inst,keys:unrecognized,continue:!0})}if(proms.length)return Promise.all(proms).then(()=>payload);return payload}});var $ZodEnum=$constructor("$ZodEnum",(inst,def)=>{$ZodType.init(inst,def);let values=getEnumValues(def.entries),valuesSet=new Set(values);inst._zod.values=valuesSet;let patternValues=values.filter((k)=>propertyKeyTypes.has(typeof k));inst._zod.pattern=new RegExp(patternValues.length?`^(${patternValues.map((o)=>escapeRegex(o.toString())).join("|")})$`:"^[^\\s\\S]$"),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(valuesSet.has(input))return payload;return payload.issues.push({code:"invalid_value",values,input,inst}),payload}}),$ZodLiteral=$constructor("$ZodLiteral",(inst,def)=>{$ZodType.init(inst,def);let values=new Set(def.values);inst._zod.values=values,inst._zod.pattern=new RegExp(def.values.length?`^(${def.values.map((o)=>typeof o==="string"?escapeRegex(o):o?escapeRegex(o.toString()):String(o)).join("|")})$`:"^[^\\s\\S]$"),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(values.has(input))return payload;return payload.issues.push({code:"invalid_value",values:def.values,input,inst}),payload}});var $ZodTransform=$constructor("$ZodTransform",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",globalConfig.memoizer?.guard(inst),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")throw new $ZodEncodeError(inst.constructor.name);let _out=def.transform(payload.value,payload);if(ctx.async)return(_out instanceof Promise?_out:Promise.resolve(_out)).then((output)=>(payload.value=output,payload));if(_out instanceof Promise)throw new $ZodAsyncError;return payload.value=_out,payload}});function handleOptionalResult(payload,result){return payload.value=result.issues.length?void 0:result.value,payload}var $ZodOptional=$constructor("$ZodOptional",(inst,def)=>{$ZodType.init(inst,def),defineLazyInternal(inst,"optin",(zod)=>zod.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),inst._zod.optout="optional",defineLazyInternal(inst,"values",(zod)=>{let values=zod.def.innerType._zod.values;return values?new Set([...values,void 0]):void 0}),defineLazyInternal(inst,"pattern",(zod)=>{let pattern=zod.def.innerType._zod.pattern;return pattern?new RegExp(`^(${cleanRegex(pattern.source)})?$`):void 0}),inst._zod.parse=(payload,ctx)=>{if(payload.value===void 0){if(def.innerType._zod.optin!=="defaulted")return payload;let result=def.innerType._zod.run({value:payload.value,issues:[]},ctx);if(result instanceof Promise)return result.then((result)=>handleOptionalResult(payload,result));return handleOptionalResult(payload,result)}return def.innerType._zod.run(payload,ctx)}}),$ZodExactOptional=$constructor("$ZodExactOptional",(inst,def)=>{$ZodOptional.init(inst,def),defineLazyInternal(inst,"values",(zod)=>zod.def.innerType._zod.values),defineLazyInternal(inst,"pattern",(zod)=>zod.def.innerType._zod.pattern),inst._zod.parse=(payload,ctx)=>def.innerType._zod.run(payload,ctx)}),$ZodNullable=$constructor("$ZodNullable",(inst,def)=>{$ZodType.init(inst,def),defineLazyInternal(inst,"optin",(zod)=>zod.def.innerType._zod.optin),defineLazyInternal(inst,"optout",(zod)=>zod.def.innerType._zod.optout),defineLazyInternal(inst,"pattern",(zod)=>{let pattern=zod.def.innerType._zod.pattern;return pattern?new RegExp(`^(${cleanRegex(pattern.source)}|null)$`):void 0}),defineLazyInternal(inst,"values",(zod)=>zod.def.innerType._zod.values?new Set([...zod.def.innerType._zod.values,null]):void 0),inst._zod.parse=(payload,ctx)=>{if(payload.value===null)return payload;return def.innerType._zod.run(payload,ctx)}}),$ZodDefault=$constructor("$ZodDefault",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="defaulted",defineLazyInternal(inst,"values",(zod)=>zod.def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);if(payload.value===void 0)return payload.value=def.defaultValue,payload;let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then((result)=>handleDefaultResult(result,def));return handleDefaultResult(result,def)}});function handleDefaultResult(payload,def){if(payload.value===void 0)payload.value=def.defaultValue;return payload}var $ZodPrefault=$constructor("$ZodPrefault",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="defaulted",defineLazyInternal(inst,"values",(zod)=>zod.def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);if(payload.value===void 0)payload.value=def.defaultValue;return def.innerType._zod.run(payload,ctx)}}),$ZodNonOptional=$constructor("$ZodNonOptional",(inst,def)=>{$ZodType.init(inst,def),defineLazyInternal(inst,"values",(zod)=>{let v=zod.def.innerType._zod.values;return v?new Set([...v].filter((x)=>x!==void 0)):void 0}),inst._zod.parse=(payload,ctx)=>{let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then((result)=>handleNonOptionalResult(result,inst));return handleNonOptionalResult(result,inst)}});function handleNonOptionalResult(payload,inst){if(!payload.issues.length&&payload.value===void 0)payload.issues.push({code:"invalid_type",expected:"nonoptional",input:payload.value,inst});return payload}function handleCatchResult(payload,result,def,ctx){if(!result.issues.length){if(payload.value=result.value,result.memo)payload.memo=!0;return payload}return payload.value=def.catchValue({...result,value:payload.value,error:{issues:result.issues.map((iss)=>finalizeIssue(iss,ctx,config()))},input:payload.value}),payload}var $ZodCatch=$constructor("$ZodCatch",(inst,def)=>{$ZodType.init(inst,def),defineLazyInternal(inst,"optin",(zod)=>zod.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),defineLazyInternal(inst,"optout",(zod)=>zod.def.innerType._zod.optout),defineLazyInternal(inst,"values",(zod)=>zod.def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);let result=def.innerType._zod.run({value:payload.value,issues:[]},ctx);if(result instanceof Promise)return result.then((result)=>handleCatchResult(payload,result,def,ctx));return handleCatchResult(payload,result,def,ctx)}});var $ZodPipe=$constructor("$ZodPipe",(inst,def)=>{$ZodType.init(inst,def),defineLazyInternal(inst,"values",(zod)=>zod.def.in._zod.values),defineLazyInternal(inst,"optin",(zod)=>zod.def.in._zod.optin),defineLazyInternal(inst,"optout",(zod)=>zod.def.out._zod.optout),defineLazyInternal(inst,"propValues",(zod)=>zod.def.in._zod.propValues),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward"){let right=def.out._zod.run(payload,ctx);if(right instanceof Promise)return right.then((right)=>handlePipeResult(right,def.in,ctx));return handlePipeResult(right,def.in,ctx)}let left=def.in._zod.run(payload,ctx);if(left instanceof Promise)return left.then((left)=>handlePipeResult(left,def.out,ctx));return handlePipeResult(left,def.out,ctx)}});function handlePipeResult(left,next,ctx){if(left.issues.some((iss)=>iss.code!=="unrecognized_keys"))return left.aborted=!0,left;return next._zod.run({value:left.value,issues:left.issues},ctx)}var $ZodPreprocess=$constructor("$ZodPreprocess",(inst,def)=>{$ZodPipe.init(inst,def)}),$ZodReadonly=$constructor("$ZodReadonly",(inst,def)=>{$ZodType.init(inst,def),defineLazyInternal(inst,"propValues",(zod)=>zod.def.innerType._zod.propValues),defineLazyInternal(inst,"values",(zod)=>zod.def.innerType._zod.values),defineLazyInternal(inst,"optin",(zod)=>zod.def.innerType?._zod?.optin),defineLazyInternal(inst,"optout",(zod)=>zod.def.innerType?._zod?.optout),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then(handleReadonlyResult);return handleReadonlyResult(result)}});function handleReadonlyResult(payload){if(!payload.memo)payload.value=Object.freeze(payload.value);return payload}var $ZodLazy=$constructor("$ZodLazy",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"innerType",()=>{let d=def;if(!d._cachedInner)d._cachedInner=def.getter();return d._cachedInner}),defineLazyInternal(inst,"pattern",(zod)=>zod.innerType?._zod?.pattern),defineLazyInternal(inst,"propValues",(zod)=>zod.innerType?._zod?.propValues),defineLazyInternal(inst,"optin",(zod)=>zod.innerType?._zod?.optin??void 0),defineLazyInternal(inst,"optout",(zod)=>zod.innerType?._zod?.optout??void 0),inst._zod.parse=(payload,ctx)=>inst._zod.innerType._zod.run(payload,ctx)}),$ZodCustom=$constructor("$ZodCustom",(inst,def)=>{$ZodCheck.init(inst,def),$ZodType.init(inst,def),inst._zod.parse=(payload,_)=>payload,inst._zod.check=(payload)=>{let input=payload.value,r=def.fn(input);if(r instanceof Promise)return r.then((r)=>handleRefineResult(r,payload,input,inst));handleRefineResult(r,payload,input,inst);return}});function handleRefineResult(result,payload,input,inst){if(!result){let _iss={code:"custom",input,inst,path:[...inst._zod.def.path??[]],continue:!inst._zod.def.abort};if(inst._zod.def.params)_iss.params=inst._zod.def.params;payload.issues.push(issue(_iss))}}class $ZodCyclicError extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform");this.name="ZodCyclicError"}}var STATE="~memo",NO_ISSUES=[];function cloneIssues(issues){return issues.map((iss)=>iss.path?{...iss,path:iss.path.slice()}:{...iss})}var recursive=new WeakMap;function isRecursive(inst,stack){let cached=recursive.get(inst);if(cached!==void 0)return cached;if(stack.has(inst))return!0;stack.add(inst);let result=!1,check=(child)=>{if(!result&&child?._zod&&isRecursive(child,stack))result=!0},def=inst._zod.def,kind=def.type;switch(kind){case"object":{for(let key of Reflect.ownKeys(def.shape))check(def.shape[key]);check(def.catchall);break}case"array":check(def.element);break;case"tuple":for(let el of def.items)check(el);check(def.rest);break;case"record":case"map":check(def.keyType),check(def.valueType);break;case"set":check(def.valueType);break;case"union":for(let el of def.options)check(el);break;case"intersection":check(def.left),check(def.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":check(def.innerType);break;case"pipe":check(def.in),check(def.out);break;case"function":check(def.input),check(def.output);break;case"lazy":check(inst._zod.innerType);break;case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let key in def){let desc=Object.getOwnPropertyDescriptor(def,key);if(!desc||desc.get)continue;let value=desc.value;if(!value||typeof value!=="object")continue;if(value._zod)check(value);else if(Array.isArray(value))for(let el of value)check(el)}}return stack.delete(inst),recursive.set(inst,result),result}function bucketFor(state,inst){let bucket=state.buckets.get(inst);if(!bucket)bucket=new Map,state.buckets.set(inst,bucket);return bucket}var handoff,open=[],memo={alloc(_inst,payload,empty){let bucket=handoff;if(!bucket)return empty;handoff=void 0;let entry={value:empty,issues:null};return bucket.set(payload.value,entry),open.push(entry),empty},guard(inst){var _a;(_a=inst._zod).deferred??(_a.deferred=[]),inst._zod.deferred.push(()=>{let base=inst._zod.parse,wrapped=(payload,ctx)=>{if(ctx.direction!=="backward"&&isBackEdge(ctx,payload.value))throw new $ZodCyclicError;return base(payload,ctx)};if(inst._zod.parse=wrapped,inst._zod.run===base)inst._zod.run=wrapped})},attach(inst){var _a;let isRecursiveInst,lastCtx,lastBucket;(_a=inst._zod).deferred??(_a.deferred=[]),inst._zod.deferred.push(()=>{let base=inst._zod.parse,wrapped=(payload,ctx)=>{if(isRecursiveInst===void 0){if(isRecursiveInst=isRecursive(inst,new Set),!isRecursiveInst){if(inst._zod.parse=base,inst._zod.run===wrapped)inst._zod.run=base;return base(payload,ctx)}}let input=payload.value;if(input===null||typeof input!=="object")return base(payload,ctx);let state=ctx[STATE];if(!state)state={buckets:new Map,backEdges:void 0},ctx[STATE]=state;let bucket;if(lastCtx===ctx)bucket=lastBucket;else bucket=bucketFor(state,inst),lastCtx=ctx,lastBucket=bucket;let hit=bucket.get(input);if(hit){if(payload.value=hit.value,hit.issues){if(hit.issues.length)payload.issues.push(...cloneIssues(hit.issues))}else payload.memo=!0,state.backEdges??(state.backEdges=new Set),state.backEdges.add(hit.value);return payload}handoff=bucket;let depth=open.length,result=base(payload,ctx);handoff=void 0;let entry=open.length>depth?open.pop():void 0;if(result instanceof Promise)return result.then((r)=>{if(entry)entry.issues=r.issues.length?cloneIssues(r.issues):NO_ISSUES;return r});if(entry)entry.issues=result.issues.length?cloneIssues(result.issues):NO_ISSUES;return result};if(inst._zod.parse=wrapped,inst._zod.run===base)inst._zod.run=wrapped})}};function memoizer(){return memo}function isBackEdge(ctx,value){let backEdges=ctx[STATE]?.backEdges;return backEdges!==void 0&&value!==null&&typeof value==="object"&&backEdges.has(value)}var error=()=>{let Sizable={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",credit_card:"credit card number",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN"};function getTypeName(type,input){if(type==="number"&&typeof input==="number"&&!Number.isFinite(input))return String(input);return TypeDictionary[type]??type}return(issue)=>{switch(issue.code){case"invalid_type":{let expected=getTypeName(issue.expected),receivedType=parsedType(issue.input),received=getTypeName(receivedType,issue.input);return`Invalid input: expected ${expected}, received ${received}`}case"invalid_value":if(issue.values.length===1)return`Invalid input: expected ${stringifyPrimitive(issue.values[0])}`;return`Invalid option: expected one of ${joinValues(issue.values,"|")}`;case"too_big":{let adj=issue.exact?"exactly ":issue.inclusive?"<=":"<",sizing=getSizing(issue.origin);if(sizing)return`Too big: expected ${issue.origin??"value"} to have ${adj}${issue.maximum.toString()} ${sizing.unit??"elements"}`;return`Too big: expected ${issue.origin??"value"} to be ${adj}${issue.maximum.toString()}`}case"too_small":{let adj=issue.exact?"exactly ":issue.inclusive?">=":">",sizing=getSizing(issue.origin);if(sizing)return`Too small: expected ${issue.origin} to have ${adj}${issue.minimum.toString()} ${sizing.unit}`;return`Too small: expected ${issue.origin} to be ${adj}${issue.minimum.toString()}`}case"invalid_format":{let _issue=issue;if(_issue.format==="starts_with")return`Invalid string: must start with "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Invalid string: must end with "${_issue.suffix}"`;if(_issue.format==="includes")return`Invalid string: must include "${_issue.includes}"`;if(_issue.format==="regex")return`Invalid string: must match pattern ${_issue.pattern}`;return`Invalid ${FormatDictionary[_issue.format]??issue.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${issue.divisor}`;case"unrecognized_keys":return`Unrecognized key${issue.keys.length>1?"s":""}: ${joinValues(issue.keys,", ")}`;case"invalid_key":return`Invalid key in ${issue.origin}`;case"invalid_union":if(issue.options&&Array.isArray(issue.options)&&issue.options.length>0)return`Invalid discriminator value. Expected ${issue.options.map((o)=>`'${o}'`).join(" | ")}`;if(issue.inclusive===!1)return"Invalid input: more than one option matched";return"Invalid input";case"invalid_element":return`Invalid value in ${issue.origin}`;default:return"Invalid input"}}};function en_default(){return{localeError:error()}}var _a2;class $ZodRegistry{constructor(){this._map=new WeakMap,this._idmap=new Map}add(schema,..._meta){let meta=_meta[0];if(this._map.set(schema,meta),meta&&typeof meta==="object"&&"id"in meta)this._idmap.set(meta.id,schema);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(schema){let meta=this._map.get(schema);if(meta&&typeof meta==="object"&&"id"in meta)this._idmap.delete(meta.id);return this._map.delete(schema),this}get(schema){let p=schema._zod.parent;if(p){let pm={...this.get(p)??{}};delete pm.id;let f={...pm,...this._map.get(schema)};return Object.keys(f).length?f:void 0}return this._map.get(schema)}has(schema){return this._map.has(schema)}}function registry(){return new $ZodRegistry}(_a2=globalThis).__zod_globalRegistry??(_a2.__zod_globalRegistry=registry());var globalRegistry=globalThis.__zod_globalRegistry;function _string(Class,params){return new Class({type:"string",...normalizeParams(params)})}function _email(Class,params){return new Class({type:"string",format:"email",check:"string_format",abort:!1,...normalizeParams(params)})}function _guid(Class,params){return new Class({type:"string",format:"guid",check:"string_format",abort:!1,...normalizeParams(params)})}function _uuid(Class,params){return new Class({type:"string",format:"uuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _uuidv4(Class,params){return new Class({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...normalizeParams(params)})}function _uuidv6(Class,params){return new Class({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...normalizeParams(params)})}function _uuidv7(Class,params){return new Class({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...normalizeParams(params)})}function _url(Class,params){return new Class({type:"string",format:"url",check:"string_format",abort:!1,...normalizeParams(params)})}function _emoji2(Class,params){return new Class({type:"string",format:"emoji",check:"string_format",abort:!1,...normalizeParams(params)})}function _nanoid(Class,params){return new Class({type:"string",format:"nanoid",check:"string_format",abort:!1,...normalizeParams(params)})}function _cuid(Class,params){return new Class({type:"string",format:"cuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _cuid2(Class,params){return new Class({type:"string",format:"cuid2",check:"string_format",abort:!1,...normalizeParams(params)})}function _ulid(Class,params){return new Class({type:"string",format:"ulid",check:"string_format",abort:!1,...normalizeParams(params)})}function _xid(Class,params){return new Class({type:"string",format:"xid",check:"string_format",abort:!1,...normalizeParams(params)})}function _ksuid(Class,params){return new Class({type:"string",format:"ksuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _ipv4(Class,params){return new Class({type:"string",format:"ipv4",check:"string_format",abort:!1,...normalizeParams(params)})}function _ipv6(Class,params){return new Class({type:"string",format:"ipv6",check:"string_format",abort:!1,...normalizeParams(params)})}function _cidrv4(Class,params){return new Class({type:"string",format:"cidrv4",check:"string_format",abort:!1,...normalizeParams(params)})}function _cidrv6(Class,params){return new Class({type:"string",format:"cidrv6",check:"string_format",abort:!1,...normalizeParams(params)})}function _base64(Class,params){return new Class({type:"string",format:"base64",check:"string_format",abort:!1,...normalizeParams(params)})}function _base64url(Class,params){return new Class({type:"string",format:"base64url",check:"string_format",abort:!1,...normalizeParams(params)})}function _e164(Class,params){return new Class({type:"string",format:"e164",check:"string_format",abort:!1,...normalizeParams(params)})}function _jwt(Class,params){return new Class({type:"string",format:"jwt",check:"string_format",abort:!1,...normalizeParams(params)})}function _isoDateTime(Class,params){return new Class({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...normalizeParams(params)})}function _isoDate(Class,params){return new Class({type:"string",format:"date",check:"string_format",...normalizeParams(params)})}function _isoTime(Class,params){return new Class({type:"string",format:"time",check:"string_format",precision:null,...normalizeParams(params)})}function _isoDuration(Class,params){return new Class({type:"string",format:"duration",check:"string_format",...normalizeParams(params)})}function _number(Class,params){return new Class({type:"number",checks:[],...normalizeParams(params)})}function _coercedNumber(Class,params){return new Class({type:"number",coerce:!0,checks:[],...normalizeParams(params)})}function _int(Class,params){return new Class({type:"number",check:"number_format",abort:!1,format:"safeint",...normalizeParams(params)})}function _boolean(Class,params){return new Class({type:"boolean",...normalizeParams(params)})}function _null3(Class,params){return new Class({type:"null",...normalizeParams(params)})}function _any(Class){return new Class({type:"any"})}function _unknown(Class){return new Class({type:"unknown"})}function _never(Class,params){return new Class({type:"never",...normalizeParams(params)})}function _lt(value,params){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(params),value,inclusive:!1})}function _lte(value,params){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(params),value,inclusive:!0})}function _gt(value,params){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(params),value,inclusive:!1})}function _gte(value,params){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(params),value,inclusive:!0})}function _multipleOf(value,params){return new $ZodCheckMultipleOf({check:"multiple_of",...normalizeParams(params),value})}function _maxLength(maximum,params){return new $ZodCheckMaxLength({check:"max_length",...normalizeParams(params),maximum})}function _minLength(minimum,params){return new $ZodCheckMinLength({check:"min_length",...normalizeParams(params),minimum})}function _length(length,params){return new $ZodCheckLengthEquals({check:"length_equals",...normalizeParams(params),length})}function _regex(pattern,params){return new $ZodCheckRegex({check:"string_format",format:"regex",...normalizeParams(params),pattern})}function _lowercase(params){return new $ZodCheckLowerCase({check:"string_format",format:"lowercase",...normalizeParams(params)})}function _uppercase(params){return new $ZodCheckUpperCase({check:"string_format",format:"uppercase",...normalizeParams(params)})}function _includes(includes,params){return new $ZodCheckIncludes({check:"string_format",format:"includes",...normalizeParams(params),includes})}function _startsWith(prefix,params){return new $ZodCheckStartsWith({check:"string_format",format:"starts_with",...normalizeParams(params),prefix})}function _endsWith(suffix,params){return new $ZodCheckEndsWith({check:"string_format",format:"ends_with",...normalizeParams(params),suffix})}function _overwrite(tx){return new $ZodCheckOverwrite({check:"overwrite",tx})}function _normalize(form){return _overwrite((input)=>input.normalize(form))}function _trim(){return _overwrite((input)=>input.trim())}function _toLowerCase(){return _overwrite((input)=>input.toLowerCase())}function _toUpperCase(){return _overwrite((input)=>input.toUpperCase())}function _slugify(){return _overwrite((input)=>slugify(input))}function _array(Class,element,params){return new Class({type:"array",element,...normalizeParams(params)})}function _custom(Class,fn,_params){let norm=normalizeParams(_params);return norm.abort??(norm.abort=!0),new Class({type:"custom",check:"custom",fn,...norm})}function _refine(Class,fn,_params){return new Class({type:"custom",check:"custom",fn,...normalizeParams(_params)})}function _superRefine(fn,params){let ch=_check((payload)=>(payload.addIssue=(issue2)=>{if(typeof issue2==="string")payload.issues.push(issue(issue2,payload.value,ch._zod.def));else{let _issue=issue2;if(_issue.fatal)_issue.continue=!1;if(_issue.code??(_issue.code="custom"),!("input"in _issue))_issue.input=payload.value;_issue.inst??(_issue.inst=ch),_issue.continue??(_issue.continue=!ch._zod.def.abort),payload.issues.push(issue(_issue))}},fn(payload.value,payload)),params);return ch}function _check(fn,params){let ch=new $ZodCheck({check:"custom",...normalizeParams(params)});return ch._zod.check=fn,ch}function assignProps(target,...sources){for(let source of sources)for(let key of Reflect.ownKeys(source))if(Object.prototype.propertyIsEnumerable.call(source,key))assignProp(target,key,source[key]);return target}function initializeContext(params){let target=params?.target??"draft-2020-12";if(target==="draft-4")target="draft-04";if(target==="draft-7")target="draft-07";return{processors:params.processors??{},metadataRegistry:params?.metadata??globalRegistry,target,unrepresentable:params?.unrepresentable??"throw",override:params?.override??(()=>{}),io:params?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:params?.cycles??"ref",reused:params?.reused??"inline",intersections:[],deferred:[],external:params?.external??void 0}}function handleUnrepresentable(schema,ctx,json,params,message){let result=typeof ctx.unrepresentable==="function"?ctx.unrepresentable({zodSchema:schema,path:params.path,message}):ctx.unrepresentable;if(result==="any")return!1;if(result===void 0||result==="throw")throw Error(message);return Object.assign(json,result),!0}function process(schema,ctx,_params={path:[],schemaPath:[]}){var _a;let def=schema._zod.def,seen=ctx.seen.get(schema);if(seen){if(seen.count++,_params.schemaPath.includes(schema))seen.cycle=_params.path;return seen.schema}let result={schema:{},count:1,cycle:void 0,path:_params.path};ctx.seen.set(schema,result),ctx.sharedDefsExtractedFor=void 0,ctx.sharedEmitDoneFor=void 0;let overrideSchema=schema._zod.toJSONSchema?.();if(overrideSchema)result.schema=overrideSchema;else{let params={..._params,schemaPath:[..._params.schemaPath,schema],path:_params.path};if(schema._zod.processJSONSchema)schema._zod.processJSONSchema(ctx,result.schema,params);else{let _json=result.schema,processor=ctx.processors[def.type];if(!processor)throw Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);processor(schema,ctx,_json,params)}let parent=schema._zod.parent;if(parent){if(!result.ref)result.ref=parent;process(parent,ctx,params),ctx.seen.get(parent).isParent=!0}}let meta=ctx.metadataRegistry.get(schema);if(meta)assignProps(result.schema,meta);if(ctx.io==="input"&&isTransforming(schema))delete result.schema.examples,delete result.schema.default;if(ctx.io==="input"&&"_prefault"in result.schema)(_a=result.schema).default??(_a.default=result.schema._prefault);return delete result.schema._prefault,ctx.seen.get(schema).schema}function encodeJSONPointerSegment(segment){return segment.replace(/~/g,"~0").replace(/\//g,"~1")}function extractDefs(ctx,schema){let root=ctx.seen.get(schema);if(!root)throw Error("Unprocessed schema. This is a bug in Zod.");if(ctx.external&&ctx.sharedDefsExtractedFor===ctx.external)return;let idToSchema=new Map;for(let entry of ctx.seen.entries()){let id=ctx.metadataRegistry.get(entry[0])?.id;if(id){let existing=idToSchema.get(id);if(existing&&existing!==entry[0])throw Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);idToSchema.set(id,entry[0])}}let makeURI=(entry)=>{let defsSegment=ctx.target==="draft-2020-12"?"$defs":"definitions";if(ctx.external){let externalId=ctx.external.registry.get(entry[0])?.id,uriGenerator=ctx.external.uri??((id)=>id);if(externalId)return{ref:uriGenerator(externalId)};let id=entry[1].defId??entry[1].schema.id??`schema${ctx.counter++}`;return entry[1].defId=id,{defId:id,ref:`${uriGenerator("__shared")}#/${defsSegment}/${encodeJSONPointerSegment(id)}`}}let uriPrefix="#",defUriPrefix=`${uriPrefix}/${defsSegment}/`;if(entry[1]===root&&!entry[1].schema.id)return{ref:uriPrefix};let defId=entry[1].schema.id??`__schema${ctx.counter++}`;return{defId,ref:defUriPrefix+encodeJSONPointerSegment(defId)}},extractToDef=(entry)=>{if(entry[1].schema.$ref)return;let seen=entry[1],{ref,defId}=makeURI(entry);if(seen.def={...seen.schema},defId)seen.defId=defId;let schema=seen.schema;for(let key in schema)delete schema[key];schema.$ref=ref};if(ctx.cycles==="throw")for(let entry of ctx.seen.entries()){let seen=entry[1];if(seen.cycle)throw Error(`Cycle detected: #/${seen.cycle?.join("/")}/<root>
53
+
54
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let entry of ctx.seen.entries()){let seen=entry[1];if(schema===entry[0]){extractToDef(entry);continue}if(ctx.external){let ext=ctx.external.registry.get(entry[0])?.id;if(schema!==entry[0]&&ext){extractToDef(entry);continue}}if(ctx.metadataRegistry.get(entry[0])?.id){extractToDef(entry);continue}if(seen.cycle){extractToDef(entry);continue}if(seen.count>1){if(ctx.reused==="ref"){extractToDef(entry);continue}}}if(ctx.external)ctx.sharedDefsExtractedFor=ctx.external}function compactTypeUnion(schema){let options=schema.anyOf;if(!Array.isArray(options)||options.length===0||schema.type!==void 0)return;let types=[];for(let option of options){if(!option||typeof option!=="object")return;compactTypeUnion(option);let keys=Object.keys(option);if(keys.length!==1||keys[0]!=="type")return;let type=option.type;for(let member of Array.isArray(type)?type:[type]){if(typeof member!=="string")return;if(!types.includes(member))types.push(member)}}delete schema.anyOf,schema.type=types.length===1?types[0]:types}var FOLDABLE_KEYS=new Set(["type","properties","required","additionalProperties"]),UNION_KEYS=["oneOf","anyOf"];function undeclaredConstraint(member){let extra=member.additionalProperties;if(extra===void 0||extra===!1||typeof extra!=="object"||extra===null)return null;return Object.keys(extra).length?extra:null}function foldObjects(members){let objects=[];for(let member of members){if(typeof member!=="object"||member.type!=="object")return null;for(let key in member)if(!FOLDABLE_KEYS.has(key))return null;objects.push(member)}let properties={},required=new Set;for(let object of objects){for(let key in object.properties){if(Object.prototype.hasOwnProperty.call(properties,key))continue;let parts=[];for(let other of objects){let part=other.properties?.[key]??undeclaredConstraint(other);if(part===null||part===void 0)continue;if(!parts.some((seen)=>JSON.stringify(seen)===JSON.stringify(part)))parts.push(part)}let merged=parts.length===1?parts[0]:foldObjects(parts)??{allOf:parts};assignProp(properties,key,merged)}for(let key of object.required??[])required.add(key)}let folded={type:"object",properties};if(required.size)folded.required=[...required];if(objects.every((object)=>object.additionalProperties===!1))folded.additionalProperties=!1;else{let constraints=[];for(let object of objects){let constraint=undeclaredConstraint(object);if(constraint&&!constraints.some((seen)=>JSON.stringify(seen)===JSON.stringify(constraint)))constraints.push(constraint)}if(constraints.length===1)folded.additionalProperties=constraints[0];else if(constraints.length>1)folded.additionalProperties={allOf:constraints}}return folded}function foldIntersection(json){let allOf=json.allOf;if(!Array.isArray(allOf)||allOf.length<2)return;for(let key of FOLDABLE_KEYS)if(key in json)return;let unions=allOf.filter((m)=>UNION_KEYS.some((k)=>Array.isArray(m[k]))),folded=null;if(!unions.length)folded=foldObjects(allOf);else{let union=unions[0],keyword=UNION_KEYS.find((k)=>Array.isArray(union[k]));if(Object.keys(union).length!==1)return;let rest=allOf.filter((m)=>m!==union),branches=union[keyword].map((branch)=>foldObjects([...rest,branch]));if(branches.some((b)=>!b))return;folded={[keyword]:branches}}if(!folded)return;delete json.allOf,assignProps(json,folded)}function finalize(ctx,schema){let root=ctx.seen.get(schema);if(!root)throw Error("Unprocessed schema. This is a bug in Zod.");let flattenRef=(zodSchema)=>{let seen=ctx.seen.get(zodSchema);if(seen.ref===null)return;let schema=seen.def??seen.schema,_cached={...schema},ref=seen.ref;if(seen.ref=null,ref){flattenRef(ref);let refSeen=ctx.seen.get(ref),refSchema=refSeen.schema;if(refSchema.$ref&&(ctx.target==="draft-07"||ctx.target==="draft-04"||ctx.target==="openapi-3.0"))schema.allOf=schema.allOf??[],schema.allOf.push(refSchema);else assignProps(schema,refSchema);if(assignProps(schema,_cached),zodSchema._zod.parent===ref)for(let key in schema){if(key==="$ref"||key==="allOf")continue;if(!(key in _cached))delete schema[key]}if(refSchema.$ref&&refSeen.def)for(let key in schema){if(key==="$ref"||key==="allOf")continue;if(key in refSeen.def&&JSON.stringify(schema[key])===JSON.stringify(refSeen.def[key]))delete schema[key]}}let parent=zodSchema._zod.parent;if(parent&&parent!==ref){flattenRef(parent);let parentSeen=ctx.seen.get(parent);if(parentSeen?.schema.$ref){if(schema.$ref=parentSeen.schema.$ref,parentSeen.def)for(let key in schema){if(key==="$ref"||key==="allOf")continue;if(key in parentSeen.def&&JSON.stringify(schema[key])===JSON.stringify(parentSeen.def[key]))delete schema[key]}}}ctx.override({zodSchema,jsonSchema:schema,path:seen.path??[]})};if(!ctx.external||ctx.sharedEmitDoneFor!==ctx.external){for(let entry of[...ctx.seen.entries()].reverse())flattenRef(entry[0]);if(ctx.target!=="openapi-3.0")for(let entry of ctx.seen.entries())compactTypeUnion(entry[1].def??entry[1].schema);for(let rewrite of ctx.deferred)rewrite();if(ctx.intersections.length){let carriers=new Map;for(let seen of ctx.seen.values())for(let json of[seen.schema,seen.def]){let allOf=json?.allOf;if(!Array.isArray(allOf))continue;let existing=carriers.get(allOf);if(existing)existing.push(json);else carriers.set(allOf,[json])}for(let allOf of ctx.intersections)for(let json of carriers.get(allOf)??[])foldIntersection(json)}}let result={};if(ctx.target==="draft-2020-12")result.$schema="https://json-schema.org/draft/2020-12/schema";else if(ctx.target==="draft-07")result.$schema="http://json-schema.org/draft-07/schema#";else if(ctx.target==="draft-04")result.$schema="http://json-schema.org/draft-04/schema#";else if(ctx.target==="openapi-3.0");if(ctx.external?.uri){let id=ctx.external.registry.get(schema)?.id;if(!id)throw Error("Schema is missing an `id` property");result.$id=ctx.external.uri(id)}assignProps(result,root.defId?root.schema:root.def??root.schema);let rootMetaId=ctx.metadataRegistry.get(schema)?.id;if(rootMetaId!==void 0&&result.id===rootMetaId)delete result.id;let defs=ctx.external?.defs??{};if(!ctx.external||ctx.sharedEmitDoneFor!==ctx.external)for(let entry of ctx.seen.entries()){let seen=entry[1];if(seen.def&&seen.defId){if(seen.def.id===seen.defId)delete seen.def.id;assignProp(defs,seen.defId,seen.def)}}if(ctx.external)ctx.sharedEmitDoneFor=ctx.external;if(ctx.external);else if(Object.keys(defs).length>0)if(ctx.target==="draft-2020-12")result.$defs=defs;else result.definitions=defs;try{let finalized=JSON.parse(JSON.stringify(result));return Object.defineProperty(finalized,"~standard",{value:{...schema["~standard"],jsonSchema:{input:createStandardJSONSchemaMethod(schema,"input",ctx.processors),output:createStandardJSONSchemaMethod(schema,"output",ctx.processors)}},enumerable:!1,writable:!1}),finalized}catch(_err){throw Error("Error converting schema to JSON.")}}function isTransforming(_schema,_ctx){let ctx=_ctx??{seen:new Set};if(ctx.seen.has(_schema))return!1;ctx.seen.add(_schema);let def=_schema._zod.def;if(def.type==="transform")return!0;if(def.type==="array")return isTransforming(def.element,ctx);if(def.type==="set")return isTransforming(def.valueType,ctx);if(def.type==="lazy")return isTransforming(def.getter(),ctx);if(def.type==="promise"||def.type==="optional"||def.type==="nonoptional"||def.type==="nullable"||def.type==="readonly"||def.type==="default"||def.type==="prefault"||def.type==="catch")return isTransforming(def.innerType,ctx);if(def.type==="intersection")return isTransforming(def.left,ctx)||isTransforming(def.right,ctx);if(def.type==="record"||def.type==="map")return isTransforming(def.keyType,ctx)||isTransforming(def.valueType,ctx);if(def.type==="pipe"){if(_schema._zod.traits.has("$ZodCodec"))return!0;return isTransforming(def.in,ctx)||isTransforming(def.out,ctx)}if(def.type==="object"){for(let key in def.shape)if(isTransforming(def.shape[key],ctx))return!0;return!1}if(def.type==="union"){for(let option of def.options)if(isTransforming(option,ctx))return!0;return!1}if(def.type==="tuple"){for(let item of def.items)if(isTransforming(item,ctx))return!0;if(def.rest&&isTransforming(def.rest,ctx))return!0;return!1}return!1}var createToJSONSchemaMethod=(schema,processors={})=>(params)=>{let ctx=initializeContext({...params,processors});return process(schema,ctx),extractDefs(ctx,schema),finalize(ctx,schema)},createStandardJSONSchemaMethod=(schema,io,processors={})=>(params)=>{let{libraryOptions,target}=params??{},ctx=initializeContext({...libraryOptions??{},target,io,processors});return process(schema,ctx),extractDefs(ctx,schema),finalize(ctx,schema)};var formatMap={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},stringProcessor=(schema,ctx,_json,_params)=>{let json=_json;json.type="string";let{minimum,maximum,format,patterns,contentEncoding,laxFormat}=schema._zod.bag;if(typeof minimum==="number")json.minLength=minimum;if(typeof maximum==="number")json.maxLength=maximum;if(format){if(json.format=formatMap[format]??format,json.format==="")delete json.format;if(format==="time"||laxFormat)delete json.format}if(contentEncoding)json.contentEncoding=contentEncoding;if(patterns&&patterns.size>0){let patternList=[...patterns];if(patternList.length===1)json.pattern=patternList[0].source;else if(patternList.length>1)json.allOf=[...patternList.map((regex)=>({...ctx.target==="draft-07"||ctx.target==="draft-04"||ctx.target==="openapi-3.0"?{type:"string"}:{},pattern:regex.source}))]}},numberProcessor=(schema,ctx,_json,params)=>{let json=_json,{minimum,maximum,format,multipleOf,exclusiveMaximum,exclusiveMinimum}=schema._zod.bag;if(typeof format==="string"&&format.includes("int"))json.type="integer";else json.type="number";let exMin=typeof exclusiveMinimum==="number"&&exclusiveMinimum>=(minimum??Number.NEGATIVE_INFINITY),exMax=typeof exclusiveMaximum==="number"&&exclusiveMaximum<=(maximum??Number.POSITIVE_INFINITY),legacy=ctx.target==="draft-04"||ctx.target==="openapi-3.0";if(exMin)if(legacy)json.minimum=exclusiveMinimum,json.exclusiveMinimum=!0;else json.exclusiveMinimum=exclusiveMinimum;else if(typeof minimum==="number")json.minimum=minimum;if(exMax)if(legacy)json.maximum=exclusiveMaximum,json.exclusiveMaximum=!0;else json.exclusiveMaximum=exclusiveMaximum;else if(typeof maximum==="number")json.maximum=maximum;if(typeof multipleOf==="number")if(Number.isFinite(multipleOf)&&multipleOf!==0)json.multipleOf=Math.abs(multipleOf);else handleUnrepresentable(schema,ctx,json,params,`A multipleOf divisor of ${multipleOf} cannot be represented in JSON Schema`)},booleanProcessor=(_schema,_ctx,json,_params)=>{json.type="boolean"},bigintProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"BigInt cannot be represented in JSON Schema")},symbolProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Symbols cannot be represented in JSON Schema")},nullProcessor=(_schema,ctx,json,_params)=>{if(ctx.target==="openapi-3.0")json.type="string",json.nullable=!0,json.enum=[null];else json.type="null"},undefinedProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Undefined cannot be represented in JSON Schema")},voidProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Void cannot be represented in JSON Schema")},neverProcessor=(_schema,_ctx,json,_params)=>{json.not={}},anyProcessor=(_schema,_ctx,_json,_params)=>{},unknownProcessor=(_schema,_ctx,_json,_params)=>{},dateProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Date cannot be represented in JSON Schema")},enumProcessor=(schema,_ctx,json,_params)=>{let def=schema._zod.def,values=getEnumValues(def.entries);if(values.length===0){json.not={};return}if(values.every((v)=>typeof v==="number"))json.type="number";if(values.every((v)=>typeof v==="string"))json.type="string";json.enum=values},literalProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;if(def.values.length===0){json.not={};return}let vals=[];for(let val of def.values)if(val===void 0){if(handleUnrepresentable(schema,ctx,json,params,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof val==="bigint"){if(handleUnrepresentable(schema,ctx,json,params,"BigInt literals cannot be represented in JSON Schema"))return;vals.push(Number(val))}else vals.push(val);if(vals.length===0);else if(vals.length===1){let val=vals[0];if(json.type=val===null?"null":typeof val,ctx.target==="draft-04"||ctx.target==="openapi-3.0")json.enum=[val];else json.const=val}else{if(vals.every((v)=>typeof v==="number"))json.type="number";if(vals.every((v)=>typeof v==="string"))json.type="string";if(vals.every((v)=>typeof v==="boolean"))json.type="boolean";if(vals.every((v)=>v===null))json.type="null";json.enum=vals}},nanProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"NaN cannot be represented in JSON Schema")},templateLiteralProcessor=(schema,_ctx,json,_params)=>{let _json=json,pattern=schema._zod.pattern;if(!pattern)throw Error("Pattern not found in template literal");_json.type="string",_json.pattern=pattern.source},fileProcessor=(schema,_ctx,json,_params)=>{let _json=json,file={type:"string",format:"binary",contentEncoding:"binary"},{minimum,maximum,mime}=schema._zod.bag;if(minimum!==void 0)file.minLength=minimum;if(maximum!==void 0)file.maxLength=maximum;if(mime)if(mime.length===1)file.contentMediaType=mime[0],Object.assign(_json,file);else Object.assign(_json,file),_json.anyOf=mime.map((m)=>({contentMediaType:m}));else Object.assign(_json,file)},successProcessor=(_schema,_ctx,json,_params)=>{json.type="boolean"},customProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Custom types cannot be represented in JSON Schema")},functionProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Function types cannot be represented in JSON Schema")},transformProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Transforms cannot be represented in JSON Schema")},mapProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Map cannot be represented in JSON Schema")},setProcessor=(schema,ctx,json,params)=>{handleUnrepresentable(schema,ctx,json,params,"Set cannot be represented in JSON Schema")},arrayProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def,{minimum,maximum}=schema._zod.bag;if(typeof minimum==="number")json.minItems=minimum;if(typeof maximum==="number")json.maxItems=maximum;json.type="array",json.items=process(def.element,ctx,{...params,path:[...params.path,"items"]})};function inputOptin(schema){let def=schema._zod.def;if(def.type==="pipe"&&def.in._zod.traits.has("$ZodTransform"))return inputOptin(def.out);if(def.type==="catch")return inputOptin(def.innerType);return schema._zod.optin}var objectProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def,shape=def.shape;if(Object.getOwnPropertySymbols(shape).length&&handleUnrepresentable(schema,ctx,json,params,"Symbol keys cannot be represented in JSON Schema"))return;json.type="object",json.properties={};for(let key in shape)assignProp(json.properties,key,process(shape[key],ctx,{...params,path:[...params.path,"properties",key]}));let allKeys=new Set(Object.keys(shape)),requiredKeys=new Set([...allKeys].filter((key)=>{let field=def.shape[key];if(ctx.io==="input")return inputOptin(field)===void 0;else return field._zod.optout===void 0}));if(requiredKeys.size>0)json.required=Array.from(requiredKeys);if(def.catchall?._zod.def.type==="never")json.additionalProperties=!1;else if(!def.catchall){if(ctx.io==="output")json.additionalProperties=!1}else if(def.catchall)json.additionalProperties=process(def.catchall,ctx,{...params,path:[...params.path,"additionalProperties"]})},unionProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def,isExclusive=def.inclusive===!1,options=def.options.map((x,i)=>process(x,ctx,{...params,path:[...params.path,isExclusive?"oneOf":"anyOf",i]}));if(isExclusive)json.oneOf=options;else json.anyOf=options},intersectionProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def,a=process(def.left,ctx,{...params,path:[...params.path,"allOf",0]}),b=process(def.right,ctx,{...params,path:[...params.path,"allOf",1]}),isSimpleIntersection=(val)=>("allOf"in val)&&Object.keys(val).length===1,allOf=[...isSimpleIntersection(a)?a.allOf:[a],...isSimpleIntersection(b)?b.allOf:[b]];json.allOf=allOf,ctx.intersections.push(allOf)},tupleProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def;json.type="array";let prefixPath=ctx.target==="draft-2020-12"?"prefixItems":"items",restPath=ctx.target==="draft-2020-12"?"items":ctx.target==="openapi-3.0"?"items":"additionalItems",prefixItems=def.items.map((x,i)=>process(x,ctx,{...params,path:[...params.path,prefixPath,i]})),rest=def.rest?process(def.rest,ctx,{...params,path:[...params.path,restPath,...ctx.target==="openapi-3.0"?[def.items.length]:[]]}):null,minItems=def.items.length;while(minItems>0){let item=def.items[minItems-1];if(!(ctx.io==="input"?inputOptin(item)!==void 0:item._zod.optout==="optional"))break;minItems--}let maxItems=def.items.length,isClosed=!def.rest;if(ctx.target==="draft-2020-12"){if(json.prefixItems=prefixItems,isClosed)json.items=!1;else if(rest)json.items=rest;if(minItems>0)json.minItems=minItems;if(isClosed)json.maxItems=maxItems}else if(ctx.target==="openapi-3.0"){if(json.items={anyOf:prefixItems},rest)json.items.anyOf.push(rest);if(minItems>0)json.minItems=minItems;if(isClosed)json.maxItems=maxItems}else{if(json.items=prefixItems,isClosed)json.additionalItems=!1;else if(rest)json.additionalItems=rest;if(minItems>0)json.minItems=minItems;if(isClosed)json.maxItems=maxItems}let{minimum,maximum}=schema._zod.bag;if(typeof minimum==="number")json.minItems=minimum;if(typeof maximum==="number")json.maxItems=maximum};function stringifyKeyNames(bySchema,json,visited){if(json.$ref){if(visited.has(json))return json;visited.add(json);let def=bySchema.get(json)?.def;if(!def)return json;let inlined=stringifyKeyNames(bySchema,def,visited);return inlined===def?json:inlined}for(let keyword of["anyOf","oneOf"]){let branches=json[keyword];if(!Array.isArray(branches))continue;let mapped=branches.map((branch)=>stringifyKeyNames(bySchema,branch,visited));if(mapped.some((branch,i)=>branch!==branches[i]))json={...json,[keyword]:mapped}}let types=Array.isArray(json.type)?json.type:[json.type],numericType=!types.includes("string")&&types.some((t)=>t==="number"||t==="integer"),values=json.enum??(json.const!==void 0?[json.const]:void 0);if(!numericType&&!values?.some((v)=>typeof v==="number"))return json;let{minimum,maximum,exclusiveMinimum,exclusiveMaximum,multipleOf,format,id,...rest}=json;if(rest.enum)rest.enum=rest.enum.map((v)=>typeof v==="number"?String(v):v);else if(typeof rest.const==="number")rest.const=String(rest.const);if(!numericType)return rest;if(rest.type="string",!values)rest.pattern=(types.includes("number")?number2:integer).source;return rest}var pendingRecords=new WeakMap;function rewriteKeyNames(ctx){let bySchema=new Map;for(let entry of ctx.seen.values())if(entry.def&&!bySchema.has(entry.schema))bySchema.set(entry.schema,entry);let rewrites=new Map;for(let record of pendingRecords.get(ctx)??[]){let seen=ctx.seen.get(record),names=(seen?.def??seen?.schema)?.propertyNames;if(!names||names===!0||rewrites.has(names))continue;let rewritten=stringifyKeyNames(bySchema,names,new Set);if(rewritten!==names)rewrites.set(names,rewritten)}if(!rewrites.size)return;for(let entry of ctx.seen.values())for(let carrier of[entry.schema,entry.def]){let rewritten=carrier&&rewrites.get(carrier.propertyNames);if(rewritten)carrier.propertyNames=rewritten}}var recordProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def;json.type="object";let keyType=def.keyType,patterns=keyType._zod.bag?.patterns;if(def.mode==="loose"&&patterns&&patterns.size>0){let valueSchema=process(def.valueType,ctx,{...params,path:[...params.path,"patternProperties","*"]});json.patternProperties={};for(let pattern of patterns)assignProp(json.patternProperties,pattern.source,valueSchema)}else{if(ctx.target==="draft-07"||ctx.target==="draft-2020-12"){json.propertyNames=process(def.keyType,ctx,{...params,path:[...params.path,"propertyNames"]});let pending=pendingRecords.get(ctx);if(!pending)pending=[],pendingRecords.set(ctx,pending),ctx.deferred.push(()=>rewriteKeyNames(ctx));pending.push(schema)}json.additionalProperties=process(def.valueType,ctx,{...params,path:[...params.path,"additionalProperties"]})}let keyValues=keyType._zod.values,omittableOnInput=ctx.io==="input"&&inputOptin(def.valueType)!==void 0;if(keyValues&&!def.partial&&!omittableOnInput){let validKeyValues=[...keyValues].filter((v)=>typeof v==="string"||typeof v==="number");if(validKeyValues.length>0)json.required=validKeyValues.map(String)}},nullableProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def,inner=process(def.innerType,ctx,params),seen=ctx.seen.get(schema);if(ctx.target==="openapi-3.0")seen.ref=def.innerType,json.nullable=!0;else json.anyOf=[inner,{type:"null"}]},nonoptionalProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def;process(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType},UNREPRESENTABLE_DEFAULT=Symbol();function serializeDefaultValue(value,schema,ctx,json,params){let unrepresentable=!1,serialized=JSON.stringify(value,(_,val)=>{if(typeof val!=="bigint")return val;return unrepresentable=!0,null});if(!unrepresentable)return JSON.parse(serialized);return handleUnrepresentable(schema,ctx,json,params,"BigInt defaults cannot be represented in JSON Schema"),UNREPRESENTABLE_DEFAULT}var defaultProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType;let value=serializeDefaultValue(def.defaultValue,schema,ctx,json,params);if(value!==UNREPRESENTABLE_DEFAULT)json.default=value},prefaultProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process(def.innerType,ctx,params);let seen=ctx.seen.get(schema);if(seen.ref=def.innerType,ctx.io!=="input")return;let value=serializeDefaultValue(def.defaultValue,schema,ctx,json,params);if(value!==UNREPRESENTABLE_DEFAULT)json._prefault=value},catchProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType;let catchValue;try{catchValue=def.catchValue(void 0)}catch{handleUnrepresentable(schema,ctx,json,params,"Dynamic catch values are not supported in JSON Schema");return}json.default=catchValue},pipeProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def,inIsTransform=def.in._zod.traits.has("$ZodTransform"),innerType=ctx.io==="input"?inIsTransform?def.out:def.in:def.out;process(innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=innerType},readonlyProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType,json.readOnly=!0},promiseProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def;process(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType},optionalProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def;process(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType},lazyProcessor=(schema,ctx,_json,params)=>{let innerType=schema._zod.innerType;process(innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=innerType},allProcessors={string:stringProcessor,number:numberProcessor,boolean:booleanProcessor,bigint:bigintProcessor,symbol:symbolProcessor,null:nullProcessor,undefined:undefinedProcessor,void:voidProcessor,never:neverProcessor,any:anyProcessor,unknown:unknownProcessor,date:dateProcessor,enum:enumProcessor,literal:literalProcessor,nan:nanProcessor,template_literal:templateLiteralProcessor,file:fileProcessor,success:successProcessor,custom:customProcessor,function:functionProcessor,transform:transformProcessor,map:mapProcessor,set:setProcessor,array:arrayProcessor,object:objectProcessor,union:unionProcessor,intersection:intersectionProcessor,tuple:tupleProcessor,record:recordProcessor,nullable:nullableProcessor,nonoptional:nonoptionalProcessor,default:defaultProcessor,prefault:prefaultProcessor,catch:catchProcessor,pipe:pipeProcessor,readonly:readonlyProcessor,promise:promiseProcessor,optional:optionalProcessor,lazy:lazyProcessor};function toJSONSchema(input,params){if("_idmap"in input){let registry=input,ctx=initializeContext({...params,processors:allProcessors}),defs={};for(let entry of registry._idmap.entries()){let[_,schema]=entry;process(schema,ctx)}let schemas={},external={registry,uri:params?.uri,defs};ctx.external=external;for(let entry of registry._idmap.entries()){let[key,schema]=entry;extractDefs(ctx,schema),assignProp(schemas,key,finalize(ctx,schema))}if(Object.keys(defs).length>0){let defsSegment=ctx.target==="draft-2020-12"?"$defs":"definitions";schemas.__shared={[defsSegment]:defs}}return{schemas}}let ctx=initializeContext({...params,processors:allProcessors});return process(input,ctx),extractDefs(ctx,input),finalize(ctx,input)}var _installedErrorProtos=new WeakSet([Object.prototype,Error.prototype]);function _lazyMethod(proto,key,make){Object.defineProperty(proto,key,{configurable:!0,enumerable:!1,get(){let value=make(this);return Object.defineProperty(this,key,{value,configurable:!0,writable:!0}),value},set(value){Object.defineProperty(this,key,{value,configurable:!0,writable:!0})}})}var initializer2=(inst,issues)=>{$ZodError.init(inst,issues),inst.name="ZodError";let proto=Object.getPrototypeOf(inst);if(_installedErrorProtos.has(proto))return;_installedErrorProtos.add(proto),_lazyMethod(proto,"format",(self)=>(mapper)=>formatError(self,mapper)),_lazyMethod(proto,"flatten",(self)=>(mapper)=>flattenError(self,mapper)),_lazyMethod(proto,"addIssue",(self)=>(issue)=>{self.issues.push(issue),self.message=JSON.stringify(self.issues,jsonStringifyReplacer,2)}),_lazyMethod(proto,"addIssues",(self)=>(issues)=>{self.issues.push(...issues),self.message=JSON.stringify(self.issues,jsonStringifyReplacer,2)}),Object.defineProperty(proto,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}})},ZodError=$constructor("ZodError",initializer2),ZodRealError=$constructor("ZodError",initializer2,void 0,{Parent:Error});var parse3=_parse(ZodRealError),parseAsync2=_parseAsync(ZodRealError),safeParse2=_safeParse(ZodRealError),safeParseAsync2=_safeParseAsync(ZodRealError),encode=_encode(ZodRealError),decode=_decode(ZodRealError),encodeAsync=_encodeAsync(ZodRealError),decodeAsync=_decodeAsync(ZodRealError),safeEncode=_safeEncode(ZodRealError),safeDecode=_safeDecode(ZodRealError),safeEncodeAsync=_safeEncodeAsync(ZodRealError),safeDecodeAsync=_safeDecodeAsync(ZodRealError);function _ensureDefaultLocale(){if(!globalConfig.localeError)config(en_default())}function _ensureDefaultMemoizer(){if(!globalConfig.memoizer)config({memoizer:memoizer()})}var ZodType=$constructor("ZodType",(inst,def)=>(_ensureDefaultLocale(),$ZodType.init(inst,def),inst.def=def,inst.type=def.type,inst),{check(...chks){let def=this.def;return this.clone(mergeDefs(def,{checks:[...def.checks??[],...chks.map((ch)=>typeof ch==="function"?{_zod:{check:ch,def:{check:"custom"},onattach:[]}}:ch)]}),{parent:!0})},with(...chks){return this.check(...chks)},clone(def,params){return clone(this,def,params)},brand(){return this},register(reg,meta){return reg.add(this,meta),this},refine(check,params){return this.check(refine(check,params))},superRefine(refinement,params){return this.check(superRefine(refinement,params))},overwrite(fn){return this.check(_overwrite(fn))},optional(){return optional(this)},exactOptional(){return exactOptional(this)},nullable(){return nullable(this)},nullish(){return optional(nullable(this))},nonoptional(params){return nonoptional(this,params)},array(){return array(this)},or(arg){return union([this,arg])},and(arg){return intersection(this,arg)},transform(tx){return pipe(this,transform(tx))},default(d){return _default(this,d)},prefault(d){return prefault(this,d)},catch(params){return _catch(this,params)},pipe(target){return pipe(this,target)},readonly(){return readonly(this)},describe(description){let cl=this.clone();return globalRegistry.add(cl,{description}),cl},meta(...args){if(args.length===0)return globalRegistry.get(this);let cl=this.clone();return globalRegistry.add(cl,args[0]),cl},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(fn,...args){return args.length===0?fn(this):fn(this,...args)},get "~standard"(){return hide(this,"~standard",{...standardProps(this),jsonSchema:{input:createStandardJSONSchemaMethod(this,"input"),output:createStandardJSONSchemaMethod(this,"output")}})},set "~standard"(value){own(this,"~standard",value)},parse:function _parse(data,params){return parse3(this,data,params,{callee:_parse})},parseAsync:async function _parseAsync(data,params){return await parseAsync2(this,data,params,{callee:_parseAsync})},safeParse(data,params){return safeParse2(this,data,params)},async safeParseAsync(data,params){return safeParseAsync2(this,data,params)},get spa(){return this?.safeParseAsync},set spa(value){own(this,"spa",value)},encode:function _encode(data,params){return encode(this,data,params,{callee:_encode})},decode:function _decode(data,params){return decode(this,data,params,{callee:_decode})},encodeAsync:async function _encodeAsync(data,params){return await encodeAsync(this,data,params,{callee:_encodeAsync})},decodeAsync:async function _decodeAsync(data,params){return await decodeAsync(this,data,params,{callee:_decodeAsync})},safeEncode(data,params){return safeEncode(this,data,params)},safeDecode(data,params){return safeDecode(this,data,params)},async safeEncodeAsync(data,params){return safeEncodeAsync(this,data,params)},async safeDecodeAsync(data,params){return safeDecodeAsync(this,data,params)},toJSONSchema(params){return createToJSONSchemaMethod(this,{})(params)},get description(){return globalRegistry.get(this)?.description},get _def(){return this._zod.def}}),_ZodString=$constructor("_ZodString",(inst,def)=>{$ZodString.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>stringProcessor(inst,ctx,json,params);let bag=inst._zod.bag;inst.format=bag.format??null,inst.minLength=bag.minimum??null,inst.maxLength=bag.maximum??null},{regex(...args){return this.check(_regex(...args))},includes(...args){return this.check(_includes(...args))},startsWith(...args){return this.check(_startsWith(...args))},endsWith(...args){return this.check(_endsWith(...args))},min(...args){return this.check(_minLength(...args))},max(...args){return this.check(_maxLength(...args))},length(...args){return this.check(_length(...args))},nonempty(...args){return this.check(_minLength(1,...args))},lowercase(params){return this.check(_lowercase(params))},uppercase(params){return this.check(_uppercase(params))},trim(){return this.check(_trim())},normalize(...args){return this.check(_normalize(...args))},toLowerCase(){return this.check(_toLowerCase())},toUpperCase(){return this.check(_toUpperCase())},slugify(){return this.check(_slugify())}}),ZodString=$constructor("ZodString",(inst,def)=>{$ZodString.init(inst,def),_ZodString.init(inst,def)},{email(params){return this.check(_email(ZodEmail,params))},url(params){return this.check(_url(ZodURL,params))},jwt(params){return this.check(_jwt(ZodJWT,params))},emoji(params){return this.check(_emoji2(ZodEmoji,params))},guid(params){return this.check(_guid(ZodGUID,params))},uuid(params){return this.check(_uuid(ZodUUID,params))},uuidv4(params){return this.check(_uuidv4(ZodUUID,params))},uuidv6(params){return this.check(_uuidv6(ZodUUID,params))},uuidv7(params){return this.check(_uuidv7(ZodUUID,params))},nanoid(params){return this.check(_nanoid(ZodNanoID,params))},cuid(params){return this.check(_cuid(ZodCUID,params))},cuid2(params){return this.check(_cuid2(ZodCUID2,params))},ulid(params){return this.check(_ulid(ZodULID,params))},base64(params){return this.check(_base64(ZodBase64,params))},base64url(params){return this.check(_base64url(ZodBase64URL,params))},xid(params){return this.check(_xid(ZodXID,params))},ksuid(params){return this.check(_ksuid(ZodKSUID,params))},ipv4(params){return this.check(_ipv4(ZodIPv4,params))},ipv6(params){return this.check(_ipv6(ZodIPv6,params))},cidrv4(params){return this.check(_cidrv4(ZodCIDRv4,params))},cidrv6(params){return this.check(_cidrv6(ZodCIDRv6,params))},e164(params){return this.check(_e164(ZodE164,params))},datetime(params){return this.check(_isoDateTime(ZodISODateTime,params))},date(params){return this.check(_isoDate(ZodISODate,params))},time(params){return this.check(_isoTime(ZodISOTime,params))},duration(params){return this.check(_isoDuration(ZodISODuration,params))}});function string(params){return _string(ZodString,params)}var ZodStringFormat=$constructor("ZodStringFormat",(inst,def)=>{$ZodStringFormat.init(inst,def),_ZodString.init(inst,def)}),ZodISODateTime=$constructor("ZodISODateTime",(inst,def)=>{$ZodISODateTime.init(inst,def),ZodStringFormat.init(inst,def)}),ZodISODate=$constructor("ZodISODate",(inst,def)=>{$ZodISODate.init(inst,def),ZodStringFormat.init(inst,def)}),ZodISOTime=$constructor("ZodISOTime",(inst,def)=>{$ZodISOTime.init(inst,def),ZodStringFormat.init(inst,def)}),ZodISODuration=$constructor("ZodISODuration",(inst,def)=>{$ZodISODuration.init(inst,def),ZodStringFormat.init(inst,def)}),ZodEmail=$constructor("ZodEmail",(inst,def)=>{$ZodEmail.init(inst,def),ZodStringFormat.init(inst,def)});var ZodGUID=$constructor("ZodGUID",(inst,def)=>{$ZodGUID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodUUID=$constructor("ZodUUID",(inst,def)=>{$ZodUUID.init(inst,def),ZodStringFormat.init(inst,def)});function uuid2(params){return _uuid(ZodUUID,params)}var ZodURL=$constructor("ZodURL",(inst,def)=>{$ZodURL.init(inst,def),ZodStringFormat.init(inst,def)});function url(params){return _url(ZodURL,params)}var ZodEmoji=$constructor("ZodEmoji",(inst,def)=>{$ZodEmoji.init(inst,def),ZodStringFormat.init(inst,def)});var ZodNanoID=$constructor("ZodNanoID",(inst,def)=>{$ZodNanoID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCUID=$constructor("ZodCUID",(inst,def)=>{$ZodCUID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCUID2=$constructor("ZodCUID2",(inst,def)=>{$ZodCUID2.init(inst,def),ZodStringFormat.init(inst,def)});var ZodULID=$constructor("ZodULID",(inst,def)=>{$ZodULID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodXID=$constructor("ZodXID",(inst,def)=>{$ZodXID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodKSUID=$constructor("ZodKSUID",(inst,def)=>{$ZodKSUID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodIPv4=$constructor("ZodIPv4",(inst,def)=>{$ZodIPv4.init(inst,def),ZodStringFormat.init(inst,def)});var ZodIPv6=$constructor("ZodIPv6",(inst,def)=>{$ZodIPv6.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCIDRv4=$constructor("ZodCIDRv4",(inst,def)=>{$ZodCIDRv4.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCIDRv6=$constructor("ZodCIDRv6",(inst,def)=>{$ZodCIDRv6.init(inst,def),ZodStringFormat.init(inst,def)});var ZodBase64=$constructor("ZodBase64",(inst,def)=>{$ZodBase64.init(inst,def),ZodStringFormat.init(inst,def)});var ZodBase64URL=$constructor("ZodBase64URL",(inst,def)=>{$ZodBase64URL.init(inst,def),ZodStringFormat.init(inst,def)});var ZodE164=$constructor("ZodE164",(inst,def)=>{$ZodE164.init(inst,def),ZodStringFormat.init(inst,def)});var ZodJWT=$constructor("ZodJWT",(inst,def)=>{$ZodJWT.init(inst,def),ZodStringFormat.init(inst,def)});var ZodNumber=$constructor("ZodNumber",(inst,def)=>{$ZodNumber.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>numberProcessor(inst,ctx,json,params);let bag=inst._zod.bag;inst.minValue=Math.max(bag.minimum??Number.NEGATIVE_INFINITY,bag.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,inst.maxValue=Math.min(bag.maximum??Number.POSITIVE_INFINITY,bag.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,inst.isInt=(bag.format??"").includes("int")||Number.isSafeInteger(bag.multipleOf??0.5),inst.isFinite=!0,inst.format=bag.format??null},{gt(value,params){return this.check(_gt(value,params))},gte(value,params){return this.check(_gte(value,params))},min(value,params){return this.check(_gte(value,params))},lt(value,params){return this.check(_lt(value,params))},lte(value,params){return this.check(_lte(value,params))},max(value,params){return this.check(_lte(value,params))},int(params){return this.check(int(params))},safe(params){return this.check(int(params))},positive(params){return this.check(_gt(0,params))},nonnegative(params){return this.check(_gte(0,params))},negative(params){return this.check(_lt(0,params))},nonpositive(params){return this.check(_lte(0,params))},multipleOf(value,params){return this.check(_multipleOf(value,params))},step(value,params){return this.check(_multipleOf(value,params))},finite(){return this}});function number(params){return _number(ZodNumber,params)}var ZodNumberFormat=$constructor("ZodNumberFormat",(inst,def)=>{$ZodNumberFormat.init(inst,def),ZodNumber.init(inst,def)});function int(params){return _int(ZodNumberFormat,params)}var ZodBoolean=$constructor("ZodBoolean",(inst,def)=>{$ZodBoolean.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>booleanProcessor(inst,ctx,json,params)});function boolean(params){return _boolean(ZodBoolean,params)}var ZodNull=$constructor("ZodNull",(inst,def)=>{$ZodNull.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>nullProcessor(inst,ctx,json,params)});function _null(params){return _null3(ZodNull,params)}var ZodAny=$constructor("ZodAny",(inst,def)=>{$ZodAny.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>anyProcessor(inst,ctx,json,params)});function any(){return _any(ZodAny)}var ZodUnknown=$constructor("ZodUnknown",(inst,def)=>{$ZodUnknown.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>unknownProcessor(inst,ctx,json,params)});function unknown(){return _unknown(ZodUnknown)}var ZodNever=$constructor("ZodNever",(inst,def)=>{$ZodNever.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>neverProcessor(inst,ctx,json,params)});function never(params){return _never(ZodNever,params)}var ZodArray=$constructor("ZodArray",(inst,def)=>{_ensureDefaultMemoizer(),$ZodArray.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>arrayProcessor(inst,ctx,json,params),inst.element=def.element},{min(n,params){return this.check(_minLength(n,params))},nonempty(params){return this.check(_minLength(1,params))},max(n,params){return this.check(_maxLength(n,params))},length(n,params){return this.check(_length(n,params))},unwrap(){return this.element}});function array(element,params){return _array(ZodArray,element,params)}var ZodObject=$constructor("ZodObject",(inst,def)=>{_ensureDefaultMemoizer(),$ZodObjectJIT.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>objectProcessor(inst,ctx,json,params),installLazyProp(inst,"shape",(self)=>self._zod.def.shape,!1)},{keyof(){return _enum(Object.keys(this._zod.def.shape))},catchall(catchall){return this.clone({...this._zod.def,catchall})},passthrough(){return this.clone({...this._zod.def,catchall:unknown()})},loose(){return this.clone({...this._zod.def,catchall:unknown()})},strict(){return this.clone({...this._zod.def,catchall:never()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(incoming){return extend(this,incoming)},safeExtend(incoming){return safeExtend(this,incoming)},merge(other){return merge(this,other)},pick(mask){return pick(this,mask)},omit(mask){return omit(this,mask)},partial(...args){return partial(ZodOptional,this,args[0])},exactPartial(...args){return partial(ZodExactOptional,this,args[0],"exactPartial")},required(...args){return required(ZodNonOptional,this,args[0])}});function object(shape,params){let def={type:"object",shape:shape??{},...normalizeParams(params)};return new ZodObject(def)}function strictObject(shape,params){return new ZodObject({type:"object",shape,catchall:never(),...normalizeParams(params)})}function looseObject(shape,params){return new ZodObject({type:"object",shape,catchall:unknown(),...normalizeParams(params)})}var ZodUnion=$constructor("ZodUnion",(inst,def)=>{$ZodUnion.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>unionProcessor(inst,ctx,json,params),inst.options=def.options});function union(options,params){return new ZodUnion({type:"union",options,...normalizeParams(params)})}var ZodDiscriminatedUnion=$constructor("ZodDiscriminatedUnion",(inst,def)=>{ZodUnion.init(inst,def),$ZodDiscriminatedUnion.init(inst,def)});function discriminatedUnion(discriminator,options,params){return new ZodDiscriminatedUnion({type:"union",options,discriminator,...normalizeParams(params)})}var ZodIntersection=$constructor("ZodIntersection",(inst,def)=>{$ZodIntersection.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>intersectionProcessor(inst,ctx,json,params)});function intersection(left,right){return new ZodIntersection({type:"intersection",left,right})}var ZodRecord=$constructor("ZodRecord",(inst,def)=>{_ensureDefaultMemoizer(),$ZodRecord.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>recordProcessor(inst,ctx,json,params),inst.keyType=def.keyType,inst.valueType=def.valueType});function record(keyType,valueType,params){if(!valueType||!valueType._zod)return new ZodRecord({type:"record",keyType:string(),valueType:keyType,...normalizeParams(valueType)});return new ZodRecord({type:"record",keyType,valueType,...normalizeParams(params)})}var ZodEnum=$constructor("ZodEnum",(inst,def)=>{$ZodEnum.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>enumProcessor(inst,ctx,json,params),inst.enum=def.entries,inst.options=Object.values(def.entries);let keys=new Set(Object.keys(def.entries));inst.extract=(values,params)=>{let newEntries={};for(let value of values)if(keys.has(value))newEntries[value]=def.entries[value];else throw Error(`Key ${value} not found in enum`);return new ZodEnum({...def,checks:[],...normalizeParams(params),entries:newEntries})},inst.exclude=(values,params)=>{let newEntries={...def.entries};for(let value of values)if(keys.has(value))delete newEntries[value];else throw Error(`Key ${value} not found in enum`);return new ZodEnum({...def,checks:[],...normalizeParams(params),entries:newEntries})}});function _enum(values,params){let entries=Array.isArray(values)?Object.fromEntries(values.map((v)=>[v,v])):values;return new ZodEnum({type:"enum",entries,...normalizeParams(params)})}var ZodLiteral=$constructor("ZodLiteral",(inst,def)=>{$ZodLiteral.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>literalProcessor(inst,ctx,json,params),inst.values=new Set(def.values),Object.defineProperty(inst,"value",{get(){if(def.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return def.values[0]}})});function literal(value,params){return new ZodLiteral({type:"literal",values:Array.isArray(value)?value:[value],...normalizeParams(params)})}var ZodTransform=$constructor("ZodTransform",(inst,def)=>{_ensureDefaultMemoizer(),$ZodTransform.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>transformProcessor(inst,ctx,json,params),inst._zod.parse=(payload,_ctx)=>{if(_ctx.direction==="backward")throw new $ZodEncodeError(inst.constructor.name);payload.addIssue=(issue2)=>{if(typeof issue2==="string")payload.issues.push(issue(issue2,payload.value,def));else{let _issue=issue2;if(_issue.fatal)_issue.continue=!1;if(_issue.code??(_issue.code="custom"),!("input"in _issue))_issue.input=payload.value;_issue.inst??(_issue.inst=inst),payload.issues.push(issue(_issue))}};let output=def.transform(payload.value,payload);if(output instanceof Promise)return output.then((output)=>(payload.value=output,payload));return payload.value=output,payload}});function transform(fn){return new ZodTransform({type:"transform",transform:fn})}var ZodOptional=$constructor("ZodOptional",(inst,def)=>{$ZodOptional.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>optionalProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});function optional(innerType){return new ZodOptional({type:"optional",innerType})}var ZodExactOptional=$constructor("ZodExactOptional",(inst,def)=>{$ZodExactOptional.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>optionalProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});function exactOptional(innerType){return new ZodExactOptional({type:"optional",innerType})}var ZodNullable=$constructor("ZodNullable",(inst,def)=>{$ZodNullable.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>nullableProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});function nullable(innerType){return new ZodNullable({type:"nullable",innerType})}var ZodDefault=$constructor("ZodDefault",(inst,def)=>{$ZodDefault.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>defaultProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType,inst.removeDefault=inst.unwrap});function _default(innerType,defaultValue){return new ZodDefault({type:"default",innerType,get defaultValue(){return typeof defaultValue==="function"?defaultValue():shallowClone(defaultValue)}})}var ZodPrefault=$constructor("ZodPrefault",(inst,def)=>{$ZodPrefault.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>prefaultProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});function prefault(innerType,defaultValue){return new ZodPrefault({type:"prefault",innerType,get defaultValue(){return typeof defaultValue==="function"?defaultValue():shallowClone(defaultValue)}})}var ZodNonOptional=$constructor("ZodNonOptional",(inst,def)=>{$ZodNonOptional.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>nonoptionalProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});function nonoptional(innerType,params){return new ZodNonOptional({type:"nonoptional",innerType,...normalizeParams(params)})}var ZodCatch=$constructor("ZodCatch",(inst,def)=>{$ZodCatch.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>catchProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType,inst.removeCatch=inst.unwrap});function _catch(innerType,catchValue){return new ZodCatch({type:"catch",innerType,catchValue:typeof catchValue==="function"?catchValue:constantCatch(catchValue)})}var ZodPipe=$constructor("ZodPipe",(inst,def)=>{$ZodPipe.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>pipeProcessor(inst,ctx,json,params),inst.in=def.in,inst.out=def.out});function pipe(in_,out){return new ZodPipe({type:"pipe",in:in_,out})}var ZodPreprocess=$constructor("ZodPreprocess",(inst,def)=>{ZodPipe.init(inst,def),$ZodPreprocess.init(inst,def)}),ZodReadonly=$constructor("ZodReadonly",(inst,def)=>{$ZodReadonly.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>readonlyProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});function readonly(innerType){return new ZodReadonly({type:"readonly",innerType})}var ZodLazy=$constructor("ZodLazy",(inst,def)=>{$ZodLazy.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>lazyProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.getter()});function lazy(getter){return new ZodLazy({type:"lazy",getter})}var ZodCustom=$constructor("ZodCustom",(inst,def)=>{$ZodCustom.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>customProcessor(inst,ctx,json,params)});function custom(fn,_params){return _custom(ZodCustom,fn??(()=>!0),_params)}function refine(fn,_params={}){return _refine(ZodCustom,fn,_params)}function superRefine(fn,params){return _superRefine(fn,params)}function preprocess(fn,schema){return new ZodPreprocess({type:"pipe",in:transform(fn),out:schema})}var exports_iso={};__export(exports_iso,{ZodISODate:()=>ZodISODate,ZodISODateTime:()=>ZodISODateTime,ZodISODuration:()=>ZodISODuration,ZodISOTime:()=>ZodISOTime,date:()=>date2,datetime:()=>datetime,duration:()=>duration2,time:()=>time2});function datetime(params){return _isoDateTime(ZodISODateTime,params)}function date2(params){return _isoDate(ZodISODate,params)}function time2(params){return _isoTime(ZodISOTime,params)}function duration2(params){return _isoDuration(ZodISODuration,params)}var FeedbackPrefsSchema=object({enabled:boolean(),contactOk:boolean().optional()}),MAX_DESIGN_NAME=80;function designNameIssue(name){if(name.trim()==="")return"a design name can't be empty";if(name!==name.trim())return"a design name can't start or end with spaces";if(name==="."||name==="..")return`"${name}" can't be a design name`;if(/[/\\]/.test(name))return"a design name can't contain / or \\";if(/\p{Cc}/u.test(name))return"a design name can't contain control characters";if([...name].length>MAX_DESIGN_NAME)return`a design name can't be longer than ${MAX_DESIGN_NAME} characters`;return null}function isDesignName(name){return designNameIssue(name)===null}var DesignNameSchema=string().superRefine((name,ctx)=>{let issue=designNameIssue(name);if(issue)ctx.addIssue({code:"custom",message:issue})});function toDesignName(text){let cleaned=[...text.replace(/[/\\\p{Cc}]+/gu," ").trim()].slice(0,MAX_DESIGN_NAME).join("").trim();return cleaned&&isDesignName(cleaned)?cleaned:null}var RepoManifestSchema=object({$schema:string().optional(),designs:array(string().min(1)),defaultDesign:DesignNameSchema.optional(),feedback:FeedbackPrefsSchema.optional()}).refine((m)=>new Set(m.designs).size===m.designs.length,{message:"designs lists the same path twice"}),REPO_MANIFEST_FILE="velloo.json";function normalizeRepoManifest(raw){if(typeof raw!=="object"||raw===null||Array.isArray(raw))return{manifest:raw,legacyNames:{},legacy:!1};let{projects,defaultProject,...rest}=raw;if(projects===void 0||"designs"in rest)return{manifest:raw,legacyNames:{},legacy:!1};let legacyNames={},designs=[];if(typeof projects==="object"&&projects!==null&&!Array.isArray(projects)){for(let[name,path]of Object.entries(projects))if(designs.push(path),typeof path==="string")legacyNames[path]=name}return{manifest:{...rest,designs,...defaultProject!==void 0?{defaultDesign:defaultProject}:{}},legacyNames,legacy:!0}}var CURRENT_SCHEMA_VERSION=4;function schemaVersionOf(rawConfig){if(typeof rawConfig!=="object"||rawConfig===null)return 1;let v=rawConfig.schemaVersion;return typeof v==="number"&&Number.isInteger(v)&&v>=1?v:1}var APP_PATH_PREFIX="app:",LEGACY_APP_PREFIX="project:",LEGACY_LIBRARY_KEY="default";function migrateLibraryEntry(raw){if(typeof raw!=="object"||raw===null)return raw;let lib={...raw};if(lib.source==="embedded:shadcn"||lib.source==="registry:shadcn")lib.source="binary",lib.componentsPath="binary";if(lib.id==="shadcn-react")lib.id="shadcn-upstream";return lib}var RETIRED_TYPOGRAPHY_KEYS=["fontSize","fontWeight","lineHeight","letterSpacing"],FACE_ROLE_CANDIDATES={fontBody:["sans","body","base"],fontHeading:["display","heading","serif"],fontMono:["mono","code"]},IMPLIED_BASE_PX=16;function asObject(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)?value:void 0}function positiveNumber(value){return typeof value==="number"&&Number.isFinite(value)&&value>0?value:void 0}function deriveTypeset(typography){let derived={},base=positiveNumber(asObject(typography.fontSize)?.base);if(base!==void 0&&base!==IMPLIED_BASE_PX)derived.size=base;let leading=positiveNumber(asObject(typography.lineHeight)?.normal);if(leading!==void 0)derived.leading=leading;let families=asObject(typography.fontFamily);if(families)for(let[face,candidates]of Object.entries(FACE_ROLE_CANDIDATES)){let role=candidates.find((name)=>typeof families[name]==="string");if(role)derived[face]=role}return derived}var FOLDER_MIGRATIONS=[{from:1,summary:"multi-library config shape, source enum, shadcn-react \u2192 shadcn-upstream, required annotation author",config(raw){let out={...raw};if(out.library!==void 0&&out.libraries===void 0)out.libraries={[LEGACY_LIBRARY_KEY]:out.library},out.defaultLibrary=LEGACY_LIBRARY_KEY;if(delete out.library,typeof out.libraries==="object"&&out.libraries!==null)out.libraries=Object.fromEntries(Object.entries(out.libraries).map(([id,lib])=>[id,migrateLibraryEntry(lib)]));return out.schemaVersion=2,out},annotation(raw){if(raw.author===void 0)return{...raw,author:"user"};return raw}},{from:2,summary:"typography scales \u2192 typesets (font roles bound, dead size/weight/tracking records dropped)",config(raw){return{...raw,schemaVersion:3}},theme(raw){let typography=asObject(raw.typography);if(!typography)return raw;let next={...typography},typesets=asObject(next.typesets);if(typesets?.default===void 0){let derived=deriveTypeset(next);if(Object.keys(derived).length>0)next.typesets={...typesets,default:derived}}for(let key of RETIRED_TYPOGRAPHY_KEYS)delete next[key];return{...raw,typography:next}}},{from:3,summary:"the design's name moves into its config; `project:` paths become `app:`",config(raw,context){let out={...raw,schemaVersion:4};if(typeof out.name!=="string"||!isDesignName(out.name))out.name=(context.name&&toDesignName(context.name))??"design";let toApp=(path)=>typeof path==="string"&&path.startsWith(LEGACY_APP_PREFIX)?`${APP_PATH_PREFIX}${path.slice(LEGACY_APP_PREFIX.length)}`:path,hostApp=asObject(out.hostApp);if(hostApp)out.hostApp={...hostApp,root:toApp(hostApp.root)};let hostApps=asObject(out.hostApps);if(hostApps)out.hostApps=Object.fromEntries(Object.entries(hostApps).map(([key,app])=>{let entry=asObject(app);return[key,entry?{...entry,root:toApp(entry.root)}:app]}));let libraries=asObject(out.libraries);if(libraries)out.libraries=Object.fromEntries(Object.entries(libraries).map(([key,lib])=>{let entry=asObject(lib);return[key,entry?{...entry,componentsPath:toApp(entry.componentsPath)}:lib]}));return out}}];function planMigration(rawConfig,context={}){let from=schemaVersionOf(rawConfig);if(from>CURRENT_SCHEMA_VERSION)throw Error(`Design folder uses schema version ${from}, newer than this velloo (v${CURRENT_SCHEMA_VERSION}). Upgrade velloo.`);let steps=[];for(let v=from;v<CURRENT_SCHEMA_VERSION;v++){let step=FOLDER_MIGRATIONS.find((m)=>m.from===v);if(!step)throw Error(`velloo: no migration step from schema version ${v} \u2014 bug.`);steps.push(step)}let config={...rawConfig??{}};for(let step of steps)if(step.config)config=step.config(config,context);return config.schemaVersion=CURRENT_SCHEMA_VERSION,{config,applied:steps.map((s)=>s.summary),annotation:(raw)=>steps.reduce((acc,step)=>step.annotation?.(acc)??acc,raw),theme:(raw)=>steps.reduce((acc,step)=>step.theme?.(acc)??acc,raw)}}var ResourceIdSchema=string().regex(/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/,"ids are [A-Za-z0-9][A-Za-z0-9_-]{0,63}");function isComponentNode(n){return typeof n.$ref==="string"}function isSnippetInstance(n){return typeof n.$snippet==="string"}function isParamRef(n){return typeof n.$param==="string"}var NodeIdSchema=string().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/,{message:"node id must match /^[a-zA-Z][a-zA-Z0-9_-]*$/"});function wrapScalarChild(item){if(typeof item==="string"||typeof item==="number")return{$ref:"Box",props:{as:"span",children:item}};return item}var EmitAsSchema=object({name:string().min(1),importPath:string().min(1)}),ComponentNodeSchema=lazy(()=>object({$ref:string().min(1),$id:NodeIdSchema.optional(),props:record(string(),unknown()).optional(),children:array(union([string(),number(),NodeSchema])).transform((items)=>items.map(wrapScalarChild)).optional(),$emitAs:EmitAsSchema.optional()})),SnippetInstanceSchema=object({$snippet:string().min(1),$id:NodeIdSchema.optional(),$extraClassName:string().optional(),args:record(string(),unknown()).optional(),$overrides:record(string().regex(/^$|^\d+(\.\d+)*$|^@[a-zA-Z][a-zA-Z0-9_-]*$/,{message:'override key must be a dotted index path like "0.2", an "@id" reference with a literal leading @ (e.g. "@row-active" to target the body node whose $id is "row-active"), or "" for the body root'}),object({props:record(string(),unknown())})).optional()}),ParamRefSchema=object({$param:string().min(1)}),NodeSchema=unknown().transform((val,ctx)=>{if(val===null||typeof val!=="object"||Array.isArray(val))return ctx.addIssue({code:"custom",message:'node must be an object with one of "$ref" (component), "$snippet" (instance), or "$param" (param ref)'}),NEVER;let v=val,branch=typeof v.$ref==="string"?ComponentNodeSchema:typeof v.$snippet==="string"?SnippetInstanceSchema:typeof v.$param==="string"?ParamRefSchema:null;if(!branch)return ctx.addIssue({code:"custom",message:'node needs exactly one of "$ref" (component), "$snippet" (snippet instance), or "$param" (param ref, snippet bodies only)'}),NEVER;let parsed=branch.safeParse(val);if(!parsed.success){for(let issue of parsed.error.issues)ctx.addIssue({...issue});return NEVER}return parsed.data}).describe('{"$ref":"Button","$id?":"cta","props?":{...},"children?":[Node]}, or {"$snippet":"<id>","args?":{...}}. Guide: velloo://guide/components').meta({type:"object",additionalProperties:!0});function nodeId(n){if(isParamRef(n))return;return n.$id}var ScreenSchema=object({id:ResourceIdSchema,name:string().min(1),library:string().min(1).optional(),tree:NodeSchema});var NumOrCssLen=union([number(),string().min(1)]),LooseTokenGroupSchema=lazy(()=>record(string(),union([string(),number(),LooseTokenGroupSchema]))),ColorPairSchema=union([string().min(1),object({DEFAULT:string().min(1),foreground:string().min(1).optional()})]),ColorsSchema=object({background:string().min(1),foreground:string().min(1),primary:ColorPairSchema,secondary:ColorPairSchema.optional(),muted:ColorPairSchema.optional(),accent:ColorPairSchema.optional(),destructive:ColorPairSchema.optional(),card:ColorPairSchema.optional(),popover:ColorPairSchema.optional(),border:string().min(1).optional(),input:string().min(1).optional(),ring:string().min(1).optional()});function resolveColors(theme,dark=!1){if(!dark||!theme.colorsDark)return theme.colors;let merged={...theme.colors};for(let[key,value]of Object.entries(theme.colorsDark))if(value!==void 0)merged[key]=value;return merged}var PaletteSchema=record(string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/),string().min(1)),TypesetSchema=object({size:NumOrCssLen.optional(),leading:number().positive().optional(),flow:NumOrCssLen.optional(),fontBody:string().min(1).optional(),fontHeading:string().min(1).optional(),fontMono:string().min(1).optional()}),TypographySchema=object({fontFamily:record(string(),string().min(1)).optional(),googleFonts:array(string().min(1)).optional(),typesets:record(string().regex(/^[A-Za-z0-9_-]+$/),TypesetSchema).optional()}).strict(),RadiusSchema=object({none:NumOrCssLen.optional(),sm:NumOrCssLen.optional(),md:NumOrCssLen.optional(),lg:NumOrCssLen.optional(),xl:NumOrCssLen.optional(),"2xl":NumOrCssLen.optional(),"3xl":NumOrCssLen.optional(),full:NumOrCssLen.optional()}).partial(),ContainerSchema=object({center:boolean().optional(),padding:string().min(1).optional(),maxWidth:string().min(1).optional()}),ThemeSchema=object({name:string().min(1),colors:ColorsSchema,colorsDark:ColorsSchema.partial().optional(),palette:PaletteSchema.optional(),paletteDark:PaletteSchema.optional(),typography:TypographySchema,spacing:LooseTokenGroupSchema,radius:RadiusSchema,shadows:LooseTokenGroupSchema.optional(),container:ContainerSchema.optional(),keyframes:record(string(),record(string(),record(string(),string()))).optional(),animation:record(string(),string()).optional()});var AnnotationLocatorSchema=union([array(number().int().nonnegative()),string().regex(/^@[a-zA-Z][a-zA-Z0-9_-]*$/)]),AnnotationTargetSchema=object({locator:AnnotationLocatorSchema}),PositionSchema=union([object({x:number(),y:number()}),literal("auto")]),AnnotationSchema=object({id:ResourceIdSchema,target:AnnotationTargetSchema,position:PositionSchema.default("auto"),body:string(),collapsed:boolean().optional(),author:_enum(["user","agent"]),cloud:object({commentId:string().min(1),slug:string().min(1),author:string().optional()}).optional()}),CanvasNoteAttachmentSchema=object({frameId:ResourceIdSchema,screenId:ResourceIdSchema,locator:AnnotationLocatorSchema}),CanvasNoteSchema=object({id:ResourceIdSchema,x:number().optional(),y:number().optional(),width:number().positive(),body:string(),attachment:CanvasNoteAttachmentSchema.optional()}).refine((note)=>note.attachment!==void 0||note.x!==void 0&&note.y!==void 0,{message:"A note without an attachment needs x and y",path:["x"]});var GeneratedAssetSchema=object({prompt:string(),intent:string(),aspect:string().optional(),width:number().int().positive().optional(),height:number().int().positive().optional(),generatedAt:string(),reference:array(string()).optional(),replaces:string().optional()}),AssetsFileSchema=object({version:literal(1),generated:record(string(),GeneratedAssetSchema)}),EMPTY_ASSETS_FILE={version:1,generated:{}};var FrameSchemeSchema=_enum(["light","dark"]),FrameSchema=object({id:ResourceIdSchema,screen:string().min(1),x:number(),y:number(),w:number().int().positive(),h:number().int().positive(),label:string().optional(),group:string().optional(),scheme:FrameSchemeSchema.optional()});var BoardGroupSchema=object({id:ResourceIdSchema,name:string().min(1),color:string().optional()}),MAX_BOARD_NAME_LENGTH=80,BoardSchema=object({id:ResourceIdSchema,name:string().min(1),theme:string().min(1).optional(),archivedAt:string().datetime().optional(),group:string().min(1).optional(),frames:array(FrameSchema).default([]),groups:array(BoardGroupSchema).default([])});function isArchived(board){return board.archivedAt!==void 0}var CommentLocatorSchema=union([array(number().int().nonnegative()),string().regex(/^@[a-zA-Z][a-zA-Z0-9_-]*$/)]),CommentBoundsSchema=object({x:number(),y:number(),w:number().nonnegative(),h:number().nonnegative()}),CommentNodeFingerprintSchema=object({ref:string().min(1).optional(),text:string().max(500).optional(),ancestorIds:array(string().min(1)).max(16).optional()}),CommentAnchorSchema=discriminatedUnion("kind",[object({kind:literal("node"),boardId:ResourceIdSchema,frameId:ResourceIdSchema,screenId:ResourceIdSchema,locator:CommentLocatorSchema,bounds:CommentBoundsSchema,fingerprint:CommentNodeFingerprintSchema.optional()}),object({kind:literal("board"),boardId:ResourceIdSchema,x:number(),y:number()})]),CommentAuthorSchema=object({kind:_enum(["user","agent","reviewer"]),displayName:string().min(1).max(200).optional(),accountId:string().min(1).max(200).optional()}),CommentMessageSchema=object({id:uuid2(),author:CommentAuthorSchema,body:string().trim().max(4000),createdAt:exports_iso.datetime(),deletedAt:exports_iso.datetime().optional()}).refine((message)=>message.deletedAt!==void 0||message.body.length>0,{message:"A comment needs something to say",path:["body"]}),CommentOriginSchema=discriminatedUnion("kind",[object({kind:literal("local")}),object({kind:literal("published"),slug:string().min(1),versionId:string().min(1)})]),CommentThreadSchema=object({id:uuid2(),scope:_enum(["local","shared"]),folderId:string().min(1),boardId:ResourceIdSchema,anchor:CommentAnchorSchema.optional(),origin:CommentOriginSchema,status:_enum(["open","resolved"]),messages:array(CommentMessageSchema).min(1),createdAt:exports_iso.datetime(),updatedAt:exports_iso.datetime(),resolvedAt:exports_iso.datetime().optional()});var PropControlSchema=_enum(["boolean","number","string","color","enum","icon"]),ExtensionPropDescriptorSchema=object({name:string().min(1),type:string().min(1),optional:boolean(),defaultValue:string().optional(),control:PropControlSchema,enumValues:array(union([string(),number()])).optional()}).superRefine((prop,ctx)=>{if(prop.control==="enum"&&(!prop.enumValues||prop.enumValues.length===0))ctx.addIssue({code:"custom",path:["enumValues"],message:`prop "${prop.name}": control "enum" requires a non-empty \`enumValues\` array`})}),ExtensionSchema=object({importPath:string().min(1),category:_enum(["ui","typography"]).optional(),description:string().optional(),props:array(ExtensionPropDescriptorSchema),origin:_enum(["agent","manual"]).optional(),render:_enum(["static","live"]).optional(),app:string().min(1).optional(),fit:_enum(["aspect-video","content"]).optional()});var ViewportPresetSchema=object({name:string().min(1),w:number().int().positive(),h:number().int().positive()}),LibrarySchema=object({id:_enum(["shadcn-upstream","none","mui","antd","chakra"]),version:string().min(1),source:_enum(["binary","cache","in-repo"]),componentsPath:string().min(1)}),CodegenConfigSchema=object({componentsAlias:string().min(1).optional(),componentsDir:string().min(1).optional()}),HostAppSchema=object({root:string().min(1),aliases:record(string().min(1),string().min(1)).optional()}),ConfigSchema=object({schemaVersion:literal(CURRENT_SCHEMA_VERSION),toolVersion:string().min(1),name:DesignNameSchema,folderId:string().regex(/^[A-Za-z0-9_-]{8,64}$/).optional(),libraries:record(string().min(1),LibrarySchema),defaultLibrary:string().min(1),extensions:record(string().min(1),ExtensionSchema).optional(),viewportPresets:array(ViewportPresetSchema).min(1),defaultScreen:string().min(1).optional(),defaultBoard:string().min(1).optional(),boardOrder:array(string().min(1)).optional(),boardGroups:array(BoardGroupSchema).optional(),codegen:CodegenConfigSchema.optional(),styling:object({framework:_enum(["tailwind","none"])}).optional(),hostApp:HostAppSchema.optional(),hostApps:record(string().min(1),HostAppSchema).optional(),feedback:FeedbackPrefsSchema.optional()}).refine((c)=>(c.defaultLibrary in c.libraries),{message:"`defaultLibrary` must name an entry in `libraries`."});var CSS_IDENT_RE=/^[A-Za-z0-9_-]+$/;function isCssIdent(name){return CSS_IDENT_RE.test(name)}function sanitizeCssTokenValue(value){return value.replace(/\*\//g,"").replace(/[<>{};\\]/g,"").replace(/[\r\n]+/g," ").trim()}function neutralizeCssText(css){return css.replace(/<\//g,"<\\/")}function sanitizeGoogleFontSpec(spec){return spec.replace(/[^A-Za-z0-9 +:,.;@_-]/g,"").replace(/ /g,"+")}function pascalizeIconName(name){let trimmed=name.trim();if(trimmed==="")return trimmed;if(!/[-_\s]/.test(trimmed))return trimmed.charAt(0).toUpperCase()+trimmed.slice(1);return trimmed.split(/[-_\s]+/).filter((part)=>part!=="").map((part)=>part.charAt(0).toUpperCase()+part.slice(1)).join("")}var SnippetParamSchema=object({name:string().min(1),type:_enum(["string","number","boolean","node","icon","color","enum"]),default:unknown().optional(),optional:boolean().optional(),enum:array(string()).optional(),min:number().optional(),max:number().optional(),step:number().optional(),description:string().optional()}).superRefine((param,ctx)=>{if(param.type==="enum"){if(!param.enum||param.enum.length===0){ctx.addIssue({code:"custom",path:["enum"],message:`param "${param.name}": type "enum" requires a non-empty \`enum\` array`});return}if(param.default!==void 0&&!param.enum.includes(param.default))ctx.addIssue({code:"custom",path:["default"],message:`param "${param.name}": default ${JSON.stringify(param.default)} is not one of the declared enum values`});return}if(param.default===void 0||param.type==="node")return;let expected=param.type==="number"?"number":param.type==="boolean"?"boolean":"string";if(typeof param.default!==expected)ctx.addIssue({code:"custom",path:["default"],message:`param "${param.name}": default ${JSON.stringify(param.default)} does not match declared type "${param.type}"`})}),SnippetSchema=object({id:ResourceIdSchema,name:string().min(1),params:array(SnippetParamSchema),library:string().min(1).optional(),tree:NodeSchema});var OMITTED=Symbol("velloo.omitted-optional-param"),DROP=Symbol("velloo.drop");function resolveSnippetArgs(snippet,passed){let args={},missing=[];for(let param of snippet.params)if(param.name in passed)args[param.name]=passed[param.name];else if(param.default!==void 0)args[param.name]=param.default;else if(param.optional)args[param.name]=OMITTED;else missing.push(param.name);return{args,missing}}function isTruthy(v){if(v===void 0||v===null||v===OMITTED)return!1;if(typeof v==="boolean")return v;if(typeof v==="number")return v!==0&&!Number.isNaN(v);if(typeof v==="string")return v!=="";return!0}function substituteSnippetParams(value,args){let missing=[],invalid=[];function walk(v,inNodePosition){if(v===null||typeof v!=="object")return v;if(Array.isArray(v))return v.map((item)=>walk(item,inNodePosition)).filter((item)=>item!==DROP);if(typeof v.$param==="string"){let name=v.$param;if(!(name in args)){missing.push(name);return}let resolved=args[name];if(resolved===OMITTED)return DROP;if(inNodePosition&&(resolved===null||typeof resolved!=="object")){invalid.push({param:name,valueType:resolved===null?"null":typeof resolved});return}return resolved}if(typeof v.$if==="string"){let cond=v;if(!(cond.$if in args)){missing.push(cond.$if);return}let matched="eq"in cond?args[cond.$if]===cond.eq:isTruthy(args[cond.$if]);return walk(matched?cond.then:cond.else,inNodePosition)}let isComponentNodeObj=typeof v.$ref==="string",out={};for(let[k,val]of Object.entries(v)){let w=walk(val,isComponentNodeObj&&k==="children");if(w!==DROP)out[k]=w}return out}return{value:walk(value,!1),missing,invalid}}function findNodeById(root,id){if(!isComponentNode(root))return;if(root.$id===id)return root;for(let child of root.children??[]){let hit=findNodeById(child,id);if(hit)return hit}return}function applySnippetOverrides(body,overrides){let clone=structuredClone(body);for(let[key,patch]of Object.entries(overrides)){let target;if(key.startsWith("@"))target=findNodeById(clone,key.slice(1));else{let segments=key===""?[]:key.split(".").map(Number);target=clone;for(let i of segments){if(!target||!isComponentNode(target)||!target.children){target=void 0;break}target=target.children[i]}}if(!target||!isComponentNode(target))continue;let props={...target.props??{}};for(let[k,v]of Object.entries(patch.props))if(v===null)delete props[k];else props[k]=v;target.props=props}return clone}function applySnippetExtraClassName(node,extra){if(isParamRef(node))return node;if(isSnippetInstance(node)){let existing=node.$extraClassName?`${node.$extraClassName} ${extra}`:extra;return{...node,$extraClassName:existing}}if(!isComponentNode(node))return node;let existingClass=typeof node.props?.className==="string"?node.props.className:"",merged=existingClass?`${existingClass} ${extra}`:extra;return{...node,props:{...node.props??{},className:merged}}}var ALLOWED_ELEMENTS=new Map(["a","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"].map((name)=>[name.toLowerCase(),name])),ACTIVE_ELEMENTS=new Set(["animate","animatecolor","animatemotion","animatetransform","applet","audio","base","embed","foreignobject","form","frame","frameset","iframe","img","input","link","meta","noscript","object","script","set","template","video"]),RAW_TEXT_ELEMENTS=new Set(["iframe","noembed","noframes","noscript","plaintext","script","style","textarea","xmp"]),VOID_ELEMENTS=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),NAMED_ENTITIES={amp:"&",apos:"'",bull:"\u2022",colon:":",copy:"\xA9",deg:"\xB0",divide:"\xF7",gt:">",hellip:"\u2026",laquo:"\xAB",ldquo:"\u201C",lsquo:"\u2018",lt:"<",mdash:"\u2014",middot:"\xB7",nbsp:"\xA0",ndash:"\u2013",NewLine:`
55
+ `,quot:'"',raquo:"\xBB",rdquo:"\u201D",reg:"\xAE",rsquo:"\u2019",sol:"/",Tab:"\t",times:"\xD7",trade:"\u2122"},ATTRIBUTE_NAME=/^[A-Za-z_][-A-Za-z0-9_.:]*$/,SAFE_DATA_IMAGE=/^data:image\/(?:png|jpe?g|gif|webp|avif)[;,]/i,SCHEME=/^([A-Za-z][A-Za-z0-9+.-]*):/;function svgLooksActive(markup){return sanitize(markup).removedActive}function sanitizeSvgMarkup(markup){return sanitize(markup).markup}function sanitize(input){let lower=input.toLowerCase(),out=[],stack=[],removedActive=!1,dropped=0,i=0,emitText=(text)=>{if(dropped===0&&text!=="")out.push(escapeText(decodeEntities(text)))};while(i<input.length){let lt=input.indexOf("<",i);if(lt===-1){emitText(input.slice(i));break}if(emitText(input.slice(i,lt)),i=lt,input.startsWith("<!--",i)){let end=input.indexOf("-->",i+4);i=end===-1?input.length:end+3;continue}if(input.startsWith("<![CDATA[",i)){let end=input.indexOf("]]>",i+9),stop=end===-1?input.length:end;if(dropped===0)out.push(escapeText(input.slice(i+9,stop)));i=end===-1?input.length:end+3;continue}let next=input[i+1]??"";if(next==="!"||next==="?"){let gt=input.indexOf(">",i+2),bracket=lower.startsWith("<!doctype",i)?input.indexOf("[",i):-1,subsetEnd=bracket!==-1&&(gt===-1||bracket<gt)?input.indexOf("]",bracket):-1,end=input.indexOf(">",subsetEnd===-1?i+2:subsetEnd);i=end===-1?input.length:end+1;continue}if(next==="/"&&isNameStart(input[i+2]??"")){let end=input.indexOf(">",i+2),raw=input.slice(i+2,end===-1?input.length:end);i=end===-1?input.length:end+1,closeElement(tagName(raw).toLowerCase());continue}if(!isNameStart(next)){emitText("<"),i+=1;continue}let tag=readStartTag(input,i+1);i=tag.end;let tagLower=tag.name.toLowerCase(),localName=tagLower.slice(tagLower.lastIndexOf(":")+1),canonical=tagLower.includes(":")?void 0:ALLOWED_ELEMENTS.get(tagLower),report=(active)=>{if(active)removedActive=!0};if(RAW_TEXT_ELEMENTS.has(tagLower)&&!tag.selfClosing){let close=lower.indexOf(`</${tagLower}`,i),content=input.slice(i,close===-1?input.length:close),gt=close===-1?-1:input.indexOf(">",close);if(i=gt===-1?input.length:gt+1,dropped>0)continue;if(canonical==="style"){let css=filterCss(content.replace(/<!\[CDATA\[|\]\]>/g,""));report(css.removed),out.push(`<style${serializeAttributes(tag.attributes,report)}>`),out.push(escapeText(css.value),"</style>")}else report(ACTIVE_ELEMENTS.has(localName));continue}if(dropped>0||!canonical){if(dropped===0)report(ACTIVE_ELEMENTS.has(localName));if(!tag.selfClosing&&!VOID_ELEMENTS.has(tagLower))stack.push({name:null,lower:tagLower}),dropped+=1;continue}let attributes=serializeAttributes(tag.attributes,report);if(tag.selfClosing)out.push(`<${canonical}${attributes}/>`);else out.push(`<${canonical}${attributes}>`),stack.push({name:canonical,lower:tagLower})}while(stack.length>0)popElement();return{markup:out.join(""),removedActive};function closeElement(name){let index=stack.length-1;while(index>=0&&stack[index]?.lower!==name)index-=1;if(index===-1)return;while(stack.length>index)popElement()}function popElement(){let top=stack.pop();if(!top)return;if(top.name===null)dropped-=1;else out.push(`</${top.name}>`)}}function readStartTag(input,from){let i=from;while(i<input.length&&!/[\s/>]/.test(input[i]))i+=1;let name=input.slice(from,i),attributes=[],selfClosing=!1;while(i<input.length){let ch=input[i];if(/\s/.test(ch)){i+=1;continue}if(ch===">")return{name,attributes,selfClosing,end:i+1};if(ch==="/"){selfClosing=input[i+1]===">",i+=1;continue}selfClosing=!1;let nameStart=i;i+=1;while(i<input.length&&!/[\s/>=]/.test(input[i]))i+=1;let attrName=input.slice(nameStart,i);while(i<input.length&&/\s/.test(input[i]))i+=1;let value="";if(input[i]==="="){i+=1;while(i<input.length&&/\s/.test(input[i]))i+=1;let quote=input[i];if(quote==='"'||quote==="'"){let close=input.indexOf(quote,i+1),stop=close===-1?input.length:close;value=input.slice(i+1,stop),i=close===-1?input.length:close+1}else{let valueStart=i;while(i<input.length&&!/[\s>]/.test(input[i]))i+=1;value=input.slice(valueStart,i)}}attributes.push({name:attrName,value:decodeEntities(value)})}return{name,attributes,selfClosing,end:input.length}}function serializeAttributes(attributes,report){let seen=new Set,result="";for(let{name,value}of attributes){let lower=name.toLowerCase();if(seen.has(lower))continue;if(seen.add(lower),!ATTRIBUTE_NAME.test(name))continue;if(lower.startsWith("on")){report(!0);continue}let colon=lower.indexOf(":"),prefix=colon===-1?"":lower.slice(0,colon),isLink=lower.slice(colon+1)==="href"||lower==="src";if(!isLink&&prefix!==""&&prefix!=="xlink"&&prefix!=="xml"&&prefix!=="xmlns")continue;let kept=value;if(isLink){if(!isSafeUrl(value)){report(!0);continue}}else if(lower==="style"||/url\s*\(|@import/i.test(value)){let css=filterCss(value);if(css.removed)report(!0);kept=css.value}result+=` ${name}="${escapeAttribute(kept)}"`}return result}function isSafeUrl(value){let url=value.replace(/[\u0000- \u007F-\u009F]/g,""),scheme=SCHEME.exec(url)?.[1]?.toLowerCase();if(scheme===void 0)return!0;if(scheme==="http"||scheme==="https"||scheme==="mailto")return!0;return scheme==="data"&&SAFE_DATA_IMAGE.test(url)}function filterCss(css){let removed=!1;return{value:css.replace(/\\/g,()=>(removed=!0,"")).replace(/@import[^;]*;?/gi,()=>(removed=!0,"")).replace(/url\s*\(([^)]*)\)?/gi,(match,target)=>{if(target.trim().replace(/^["']|["']$/g,"").startsWith("#"))return match;return removed=!0,"none"}),removed}}function decodeEntities(text){if(!text.includes("&"))return text;return text.replace(/&(?:#[xX]([0-9a-fA-F]{1,8})|#([0-9]{1,9})|([A-Za-z][A-Za-z0-9]{0,31}));?/g,(match,hex,dec,named)=>{if(named!==void 0)return NAMED_ENTITIES[named]??match;let code=hex!==void 0?Number.parseInt(hex,16):Number(dec);return code>0&&code<=1114111&&!(code>=55296&&code<=57343)?String.fromCodePoint(code):"\uFFFD"})}function escapeText(text){return text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function escapeAttribute(value){return escapeText(value).replace(/"/g,"&quot;")}function isNameStart(ch){return/[A-Za-z]/.test(ch)}function tagName(raw){return/^[^\s/>]+/.exec(raw)?.[0]??""}var TYPESET_DEFAULT={size:"1em",leading:1.75,flow:"1.25em"},DEFAULT_TYPESET_NAME="default";function isTypesetName(name){return isCssIdent(name)}var TYPESET_RATIOS={h1:{size:2.5,leading:0.63,tracking:"-0.025em",weight:700,face:"heading"},h2:{size:2,leading:0.66,tracking:"-0.025em",weight:700,face:"heading"},h3:{size:1.5,leading:0.71,tracking:"-0.02em",weight:600,face:"heading"},h4:{size:1.25,leading:0.74,tracking:"-0.02em",weight:600,face:"heading"},h5:{size:1.125,leading:0.8,tracking:"-0.015em",weight:600,face:"heading"},h6:{size:1,leading:0.8,tracking:"-0.01em",weight:600,face:"heading"},body:{size:1,leading:1,tracking:"0em",weight:400,face:"body"},lead:{size:1.25,leading:0.91,tracking:"0em",weight:400,face:"body"},small:{size:0.875,leading:0.57,tracking:"0em",weight:500,face:"body"},caption:{size:0.875,leading:0.86,tracking:"0em",weight:400,face:"body"}},TYPESET_SCALE_NAMES=Object.keys(TYPESET_RATIOS),HEADING_ROLE_BY_LEVEL={1:"h1",2:"h2",3:"h3",4:"h4",5:"h5",6:"h6"},TEXT_ROLE_BY_VARIANT={default:"body",muted:"caption",small:"small",lead:"lead"},TEXT_TONE_BY_VARIANT={default:"foreground",muted:"muted-foreground",lead:"muted-foreground"},WEIGHT_CLASS={400:"font-normal",500:"font-medium",600:"font-semibold",700:"font-bold"},TYPESET_CLASSES=Object.fromEntries(TYPESET_SCALE_NAMES.map((role)=>{let ratio=TYPESET_RATIOS[role];return[role,`text-${role} leading-${role} tracking-${role} ${WEIGHT_CLASS[ratio.weight]}`]})),TYPESET_INLINE_STYLE=Object.fromEntries(TYPESET_SCALE_NAMES.map((role)=>[role,{fontSize:`var(--text-${role})`,lineHeight:`var(--leading-${role})`,letterSpacing:`var(--tracking-${role})`,fontWeight:TYPESET_RATIOS[role].weight}]));function resolveHeadingLevel(level){let n=Number(level??1);return Number.isFinite(n)&&n>=1&&n<=6?Math.trunc(n):1}function textVariant(variant){let v=String(variant??"default");return v in TEXT_ROLE_BY_VARIANT?v:"default"}function headingClasses(level){let role=HEADING_ROLE_BY_LEVEL[resolveHeadingLevel(level)];return TYPESET_CLASSES[role]}function textClasses(variant){let v=textVariant(variant),tone=TEXT_TONE_BY_VARIANT[v];return tone?`${TYPESET_CLASSES[TEXT_ROLE_BY_VARIANT[v]]} text-${tone}`:TYPESET_CLASSES[TEXT_ROLE_BY_VARIANT[v]]}function headingInlineStyle(level){let role=HEADING_ROLE_BY_LEVEL[resolveHeadingLevel(level)];return{...TYPESET_INLINE_STYLE[role]}}function textInlineStyle(variant){let v=textVariant(variant),tone=TEXT_TONE_BY_VARIANT[v];return{...TYPESET_INLINE_STYLE[TEXT_ROLE_BY_VARIANT[v]],...tone?{color:`var(--color-${tone})`}:{}}}function typesetSafelist(){let roles=TYPESET_SCALE_NAMES.join(","),weights=Object.values(WEIGHT_CLASS).map((c)=>c.replace(/^font-/,"")).join(","),tones=[...new Set(Object.values(TEXT_TONE_BY_VARIANT))].join(",");return[`{text,leading,tracking}-{${roles}}`,`font-{${weights}}`,`text-{${tones}}`]}function typesetUtilityClasses(){let seen=new Set;for(let classes of Object.values(TYPESET_CLASSES))for(let cls of classes.split(" "))seen.add(cls);for(let tone of Object.values(TEXT_TONE_BY_VARIANT))seen.add(`text-${tone}`);return[...seen]}function typesetV3FontSize(){return Object.fromEntries(TYPESET_SCALE_NAMES.map((role)=>[role,[`var(--text-${role})`,{lineHeight:`var(--leading-${role})`,letterSpacing:`var(--tracking-${role})`}]]))}function typesetThemeTokens(){let lines=[];for(let role of TYPESET_SCALE_NAMES){let ratio=TYPESET_RATIOS[role];lines.push(` --text-${role}: ${ratio.size}rem;`),lines.push(` --leading-${role}: ${round(ratio.leading*TYPESET_DEFAULT.leading)};`),lines.push(` --tracking-${role}: ${ratio.tracking};`)}return lines}function round(n){return Math.round(n*1000)/1000}function len(value){return typeof value==="number"?`${value}px`:sanitizeCssTokenValue(value)}function faceVar(role,fallback){if(!role||!isCssIdent(role))return fallback;return`var(--font-${role})`}function resolveTypeset(typeset){return{...typeset,size:typeset?.size??TYPESET_DEFAULT.size,leading:typeset?.leading??TYPESET_DEFAULT.leading,flow:typeset?.flow??TYPESET_DEFAULT.flow}}function typesetBaseVars(typeset,indent=" ",partial=!1){let t=partial?typeset??{}:resolveTypeset(typeset),lines=[],push=(name,value)=>lines.push(`${indent}--typeset-${name}: ${value};`);if(t.size!==void 0)push("size",len(t.size));if(t.leading!==void 0)push("leading",String(round(t.leading)));if(t.flow!==void 0)push("flow",len(t.flow));if(!partial||t.fontBody!==void 0)push("font-body",faceVar(t.fontBody,"inherit"));if(!partial||t.fontHeading!==void 0)push("font-heading",faceVar(t.fontHeading,"var(--typeset-font-body)"));if(!partial||t.fontMono!==void 0)push("font-mono",faceVar(t.fontMono,"var(--font-mono, ui-monospace, monospace)"));return lines}function typesetVars(indent=" "){let lines=[`${indent}--typeset-rhythm: var(--typeset-size);`];for(let role of TYPESET_SCALE_NAMES){let ratio=TYPESET_RATIOS[role],size=ratio.size===1?"var(--typeset-rhythm)":`calc(var(--typeset-rhythm) * ${ratio.size})`,leading=ratio.leading===1?"var(--typeset-leading)":`calc(var(--typeset-leading) * ${ratio.leading})`;lines.push(`${indent}--text-${role}: ${size};`),lines.push(`${indent}--leading-${role}: ${leading};`),lines.push(`${indent}--tracking-${role}: ${ratio.tracking};`)}return lines}var NARROW_BREAKPOINT="48rem",NARROW_BUMP=1.125;function rhythmBump(selector){return[`@media (width < ${NARROW_BREAKPOINT}) {`,` ${selector} {`,` --typeset-rhythm: calc(var(--typeset-size) * ${NARROW_BUMP});`," }","}"]}function typesetElementRules(){let rules=[":where(.typeset) {"," font-family: var(--typeset-font-body);"," font-size: var(--typeset-rhythm);"," line-height: var(--typeset-leading);","}"];for(let level of[1,2,3,4,5,6]){let role=HEADING_ROLE_BY_LEVEL[level],space=round(1.9-(level-1)*0.15);rules.push(`:where(.typeset h${level}) {`," font-family: var(--typeset-font-heading);",` font-size: var(--text-${role});`,` line-height: var(--leading-${role});`,` letter-spacing: var(--tracking-${role});`,` font-weight: ${TYPESET_RATIOS[role].weight};`,` margin-block-start: calc(var(--typeset-flow) * ${space});`," margin-block-end: 0;"," text-wrap: balance;","}")}return rules.push(":where("," .typeset p,"," .typeset ul,"," .typeset ol,"," .typeset blockquote,"," .typeset pre,"," .typeset table,"," .typeset figure",") {"," margin-block-start: var(--typeset-flow);"," margin-block-end: 0;","}",":where(.typeset > :first-child) {"," margin-block-start: 0;","}",":where(.typeset ul, .typeset ol) {"," padding-inline-start: calc(var(--typeset-flow) * 1.25);","}",":where(.typeset ul) { list-style: disc; }",":where(.typeset ol) { list-style: decimal; }",":where(.typeset li) {"," margin-block-start: calc(var(--typeset-flow) * 0.4);","}",":where(.typeset li)::marker {"," color: var(--color-muted-foreground, currentColor);","}",":where(.typeset blockquote) {"," padding-inline-start: var(--typeset-flow);"," border-inline-start: 2px solid var(--color-border, currentColor);"," color: var(--color-muted-foreground, inherit);"," font-style: italic;","}",":where(.typeset code) {"," font-family: var(--typeset-font-mono);"," font-size: 0.875em;"," border-radius: calc(var(--radius, 0.5rem) * 0.5);"," background: var(--color-muted, transparent);"," padding: 0.15em 0.35em;","}",":where(.typeset pre) {"," font-family: var(--typeset-font-mono);"," padding: var(--typeset-flow);"," border-radius: var(--radius, 0.5rem);"," background: var(--color-muted, transparent);"," overflow-x: auto;","}",":where(.typeset pre code) {"," background: none;"," padding: 0;"," font-size: 0.875em;","}",":where(.typeset a) {"," color: inherit;"," text-decoration: underline;"," text-underline-offset: 0.2em;","}",":where(.typeset strong) { font-weight: 600; }",":where(.typeset small) {"," font-size: var(--text-small);"," line-height: var(--leading-small);","}",":where(.typeset hr) {"," margin-block-start: calc(var(--typeset-flow) * 1.6);"," margin-block-end: 0;"," border: 0;"," border-block-start: 1px solid var(--color-border, currentColor);","}",":where(.typeset table) {"," width: 100%;"," border-collapse: collapse;"," font-size: var(--text-caption);"," line-height: var(--leading-caption);","}",":where(.typeset th, .typeset td) {"," padding: calc(var(--typeset-flow) * 0.4) calc(var(--typeset-flow) * 0.6);"," border-block-end: 1px solid var(--color-border, currentColor);"," text-align: start;","}",":where(.typeset th) { font-weight: 600; }",":where(.typeset img, .typeset video) {"," max-width: 100%;"," height: auto;"," border-radius: var(--radius, 0.5rem);","}"),rules}function typesetCss(typesets,options={}){let all=typesets??{},base=all[DEFAULT_TYPESET_NAME],blocks=[];if(options.root!==!1)blocks.push([":root {",...typesetBaseVars(base),...typesetVars(),"}"].join(`
56
+ `)),blocks.push(rhythmBump(":root").join(`
57
+ `));blocks.push([".typeset {",...typesetBaseVars(base),...typesetVars(),"}"].join(`
58
+ `)),blocks.push(rhythmBump(".typeset").join(`
59
+ `));for(let[name,typeset]of Object.entries(all)){if(name===DEFAULT_TYPESET_NAME)continue;if(!isTypesetName(name))continue;let declarations=typesetBaseVars(typeset," ",!0);if(declarations.length===0)continue;blocks.push([`.typeset-${name} {`,...declarations,"}"].join(`
60
+ `))}return blocks.push(typesetElementRules().join(`
61
+ `)),blocks.join(`
62
+
63
+ `)}var DEFAULT_ROOT_PX=16;function typesetSizePx(size,rootPx=DEFAULT_ROOT_PX){if(typeof size==="number")return size;let match=/^(-?[\d.]+)\s*(px|rem|em|%)?$/.exec(size.trim());if(!match)return rootPx;let n=Number.parseFloat(match[1]);if(!Number.isFinite(n))return rootPx;switch(match[2]){case"px":case void 0:return n;case"%":return n/100*rootPx;default:return n*rootPx}}function typesetScale(typeset,options={}){let t=resolveTypeset(typeset),rootPx=options.rootPx??DEFAULT_ROOT_PX,basePx=typesetSizePx(t.size,rootPx),families=options.fontFamily??{},headingStack=t.fontHeading?families[t.fontHeading]:void 0,bodyStack=t.fontBody?families[t.fontBody]:void 0,out={};for(let role of TYPESET_SCALE_NAMES){let ratio=TYPESET_RATIOS[role],stack=ratio.face==="heading"?headingStack??bodyStack:bodyStack;out[role]={fontSize:round(basePx*ratio.size),lineHeight:round(t.leading*ratio.leading),letterSpacing:ratio.tracking,fontWeight:ratio.weight,...stack?{fontFamily:stack}:{}}}return out}function collectIds(root){let out=new Map;function walk(node,path){let id=nodeId(node);if(id!==void 0){let existing=out.get(id);if(existing)existing.push([...path]);else out.set(id,[[...path]])}if(isSnippetInstance(node))return;if(!isComponentNode(node))return;if(!node.children)return;for(let i=0;i<node.children.length;i++){let child=node.children[i];if(child)walk(child,[...path,i])}}return walk(root,[]),out}function findDuplicateIds(root){let all=collectIds(root),dupes=[];for(let[id,paths]of all)if(paths.length>1)dupes.push({id,paths});return dupes}var ViewportSchema=object({w:number().int().positive(),h:number().int().positive()});export{clone,normalizeParams,own,installLazyProp,NEVER,$constructor,prettifyError,parse,parseAsync,safeParse,safeParseAsync,$ZodType,$ZodObject,_coercedNumber,toJSONSchema,ZodError,string,url,ZodNumber,number,boolean,_null,any,unknown,array,object,strictObject,looseObject,union,discriminatedUnion,intersection,record,_enum,literal,ZodOptional,optional,custom,preprocess,datetime,exports_iso,AnnotationSchema,CanvasNoteSchema,AssetsFileSchema,EMPTY_ASSETS_FILE,FrameSchemeSchema,MAX_BOARD_NAME_LENGTH,BoardSchema,isArchived,CommentAnchorSchema,CommentAuthorSchema,CommentThreadSchema,ExtensionPropDescriptorSchema,ExtensionSchema,designNameIssue,isDesignName,toDesignName,RepoManifestSchema,REPO_MANIFEST_FILE,normalizeRepoManifest,CURRENT_SCHEMA_VERSION,schemaVersionOf,APP_PATH_PREFIX,planMigration,ViewportPresetSchema,LibrarySchema,ConfigSchema,isCssIdent,sanitizeCssTokenValue,neutralizeCssText,sanitizeGoogleFontSpec,pascalizeIconName,isComponentNode,isSnippetInstance,isParamRef,NodeIdSchema,NodeSchema,nodeId,ScreenSchema,SnippetParamSchema,SnippetSchema,resolveSnippetArgs,substituteSnippetParams,applySnippetOverrides,applySnippetExtraClassName,svgLooksActive,sanitizeSvgMarkup,ColorsSchema,resolveColors,ThemeSchema,DEFAULT_TYPESET_NAME,isTypesetName,TYPESET_SCALE_NAMES,resolveHeadingLevel,headingClasses,textClasses,headingInlineStyle,textInlineStyle,typesetSafelist,typesetUtilityClasses,typesetV3FontSize,typesetThemeTokens,resolveTypeset,typesetCss,typesetScale,findDuplicateIds,ViewportSchema};
@@ -0,0 +1,3 @@
1
+ // @bun
2
+ import{CURRENT_SCHEMA_VERSION}from"./chunk-40xgcth8.js";import{localDesignOf,recordedDesignName}from"./chunk-tdsk5wxa.js";import{AGENTS,designArgumentFor,agentRootCandidates,writeAgentConfig,refreshAgentArtifacts}from"./chunk-vgmr98cv.js";import{daemonRoot,readLock,isLive,stopDaemon}from"./chunk-sjgqnykd.js";import{fail}from"./chunk-s23gtejf.js";import{installedVellooBin,upgradeInstalledVelloo}from"./chunk-xt5ayg7g.js";import{createProgress}from"./chunk-pjtg3wnm.js";import{upgradeFolder}from"./chunk-7eq7nx37.js";import{DESIGN_ARG_DESCRIPTION,resolveDesign,checkoutDesigns}from"./chunk-vsv8z729.js";import{require_picocolors}from"./chunk-jrsknzjt.js";import{__toESM,defineCommand}from"./chunk-2smsg2ct.js";import{resolve}from"path";var import_picocolors=__toESM(require_picocolors(),1);import{readFile}from"fs/promises";import{homedir}from"os";var isStrings=(value)=>Array.isArray(value)&&value.every((item)=>typeof item==="string");function asEntry(value){if(value===null||typeof value!=="object")return null;let{command,args}=value;return typeof command==="string"&&isStrings(args)?{command,args}:null}function readStdioEntry(content,format){try{switch(format){case"json":return asEntry(JSON.parse(content).mcpServers?.velloo);case"vscode-json":return asEntry(JSON.parse(content).servers?.velloo);case"opencode-json":{let command=JSON.parse(content).mcp?.velloo?.command;return isStrings(command)&&command[0]?{command:command[0],args:command.slice(1)}:null}case"codex-toml":return asEntry(Bun.TOML.parse(content).mcp_servers?.velloo);case"continue-block":return asEntry(Bun.YAML.parse(content).mcpServers?.[0]);case"continue-config":return null}}catch{return null}}async function repinAgentConfigs(opts){if(localDesignOf(opts.designFolder))return[];let homeDir=opts.homeDir??homedir(),names=new Set(opts.names),rewritten=[];for(let projectRoot of opts.projectRoots){let designArg=await designArgumentFor(projectRoot,opts.designFolder),desired=designArg?["mcp",designArg]:["mcp"];for(let agent of Object.values(AGENTS)){if(agent.scope!=="project"||agent.gui)continue;let path=agent.path(projectRoot,homeDir),content;try{content=await readFile(path,"utf8")}catch{continue}let entry=readStdioEntry(content,agent.format),pinned=entry?.args.length===2&&entry.args[0]==="mcp"?entry.args[1]:void 0;if(!entry||pinned===void 0||!names.has(pinned)||pinned===desired[1])continue;await writeAgentConfig(projectRoot,agent,{transport:"stdio",command:entry.command,args:desired},homeDir),rewritten.push(path)}}return rewritten}async function targetFolders(arg){if(arg)return[await resolveDesign(arg,"upgrade",{requireConfig:!0})];return checkoutDesigns(resolve("."))}var upgrade_default=defineCommand({meta:{name:"upgrade",description:"Upgrade Velloo and migrate designs to the current format \u2014 every design in this checkout, or the one named"},args:{design:{type:"positional",required:!1,description:DESIGN_ARG_DESCRIPTION},"dry-run":{type:"boolean",default:!1,description:"Show what would change without writing"},check:{type:"boolean",default:!1,description:"Check for a Velloo update without installing it"},"binary-only":{type:"boolean",default:!1,description:"Upgrade the Velloo installation and leave the designs alone"},"design-only":{type:"boolean",default:!1,description:"Migrate the designs with this Velloo, without self-upgrading first (same as `velloo design upgrade`)"},skills:{type:"boolean",default:!0,description:"Also refresh the installed agent skills / plugin / rules to this velloo's versions"}},async run({args}){let dryRun=args["dry-run"]||args.check,folders=args["binary-only"]?[]:await targetFolders(args.design),outcome=null;if(!(args["design-only"]||args["folder-only"]===!0))try{outcome=await upgradeInstalledVelloo({checkOnly:dryRun})}catch(error){let message=error instanceof Error?error.message:String(error);if(folders.length===0)fail("upgrade",message);console.log(import_picocolors.default.dim(`velloo: skipping the self-upgrade \u2014 ${message}`))}if(folders.length===0)return;if(outcome?.upgraded){let bin=installedVellooBin();if(bin){for(let folder of folders){let argv=[bin,"upgrade",folder,"--design-only",...args.skills?[]:["--no-skills"]];if(await Bun.spawn(argv,{stdin:"inherit",stdout:"inherit",stderr:"inherit",env:{...process.env,VELLOO_DISABLE_UPDATE_CHECK:"1"}}).exited!==0)fail("upgrade",`the upgraded velloo could not migrate ${folder}`)}return}console.log(import_picocolors.default.dim(`velloo: could not locate the upgraded velloo \u2014 run \`velloo upgrade\` again to migrate ${folders.length===1?"the design":"the designs"}.`));return}for(let folder of folders)await migrateFolder2(folder,{dryRun,skills:args.skills})}});async function migrateFolder2(folder,opts){let{dryRun}=opts,progress=createProgress();progress.start(dryRun?"checking upgrade":"preparing upgrade");let stopped=!1,result;try{if(!dryRun){let root=daemonRoot(folder),running=await readLock(root);if(running&&await isLive(running))progress.step("stopping running canvas");stopped=await stopDaemon(root)}progress.step(dryRun?"checking design folder":"upgrading design folder"),result=await upgradeFolder(folder,{dryRun})}catch(err){progress.fail("upgrade failed"),fail("upgrade",err instanceof Error?err.message:String(err))}let refreshed=[],repinned=[];try{let name=recordedDesignName(folder);if(!dryRun&&name)repinned=await repinAgentConfigs({projectRoots:await agentRootCandidates(folder),designFolder:folder,names:[name]});if(opts.skills&&!dryRun){progress.step("refreshing agent guidance");let projectRoots=await agentRootCandidates(folder);({refreshed}=await refreshAgentArtifacts({projectRoots,designFolder:folder}))}progress.succeed(dryRun?"upgrade check complete":"upgrade complete")}catch(error){throw progress.fail("upgrade failed"),error}if(stopped)console.log("velloo: stopped the running canvas for this folder.");if(result.applied.length===0){console.log(`velloo: ${folder} is already at schema version ${CURRENT_SCHEMA_VERSION}.`);for(let file of result.changedFiles)console.log(` ${dryRun?"~":"\u2713"} ${file} (designs list format)`)}else{console.log(`velloo: ${dryRun?"would migrate":"migrated"} ${folder} from schema version ${result.from} to ${result.to}:`);for(let step of result.applied)console.log(` - ${step}`);for(let file of result.changedFiles)console.log(` ${dryRun?"~":"\u2713"} ${file}`);if(!dryRun)console.log("velloo: folder validated against the current schemas.")}if(repinned.length>0){console.log(""),console.log(import_picocolors.default.green("\u2713 Agent MCP configs now find the design without naming it:"));for(let path of repinned)console.log(` ${import_picocolors.default.cyan(path)}`)}if(refreshed.length>0){console.log(""),console.log(import_picocolors.default.green("\u2713 Refreshed agent guidance to this velloo:"));for(let line of refreshed)console.log(` ${import_picocolors.default.cyan(line)}`)}}
3
+ export{repinAgentConfigs,upgrade_default,migrateFolder2};
@@ -0,0 +1,3 @@
1
+ // @bun
2
+ import{fail,failWithError}from"./chunk-s23gtejf.js";import{firstPositional}from"./chunk-94vx1yb0.js";import{traceEnabled}from"./chunk-6tx68d90.js";var TOLERATED={upgrade:["folder-only"]},BUILTIN_FLAGS=["help","h","version","v"],camel=(name)=>name.replace(/-([a-z0-9])/g,(_,c)=>c.toUpperCase()),kebab=(name)=>name.replace(/[A-Z]/g,(c)=>`-${c.toLowerCase()}`);async function knownFlags(args){let defs=(typeof args==="function"?await args():await args)??{},known=new Set(BUILTIN_FLAGS);for(let[name,def]of Object.entries(defs)){if(def.type==="positional")continue;let alias="alias"in def?def.alias:void 0;for(let spelling of[name,...alias===void 0?[]:[alias].flat()])known.add(spelling),known.add(camel(spelling)),known.add(kebab(spelling))}return known}function flagsIn(rawArgs){let flags=[];for(let token of rawArgs){if(token==="--")break;if(!token.startsWith("-")||token==="-"||/^-\d/.test(token))continue;if(token.startsWith("--")){let name=token.slice(2).split("=")[0]??"";flags.push(name.startsWith("no-")?name.slice(3):name)}else flags.push(...token.slice(1).split("=")[0]?.split("")??[])}return flags}function strictFlags(name,cmd){let subCommands=cmd.subCommands,table=async()=>typeof subCommands==="function"?await subCommands():await subCommands,checked=subCommands?{...cmd,subCommands:async()=>Object.fromEntries(Object.entries(await table()??{}).map(([child,load])=>[child,async()=>{let def=typeof load==="function"?await load():await load;return strictFlags(`${name} ${child}`,def)}]))}:cmd;if(subCommands&&!cmd.run)return checked;let setup=cmd.setup;return{...checked,async setup(context){if(subCommands){let child=await firstPositional(context.rawArgs,cmd.args);if(child!==void 0&&Object.hasOwn(await table()??{},child)){await setup?.(context);return}}let known=await knownFlags(cmd.args),tolerated=TOLERATED[name]??[],unknown=flagsIn(context.rawArgs).filter((flag)=>flag!==""&&!known.has(flag)&&!tolerated.includes(flag));if(unknown.length>0){let listed=[...known].filter((f)=>f.length>1&&!BUILTIN_FLAGS.includes(f)&&f===kebab(f)),hint=listed.length>0?` (it takes ${listed.map((f)=>`--${f}`).join(", ")})`:"";fail(name,`unknown option ${unknown.map((f)=>f.length===1?`-${f}`:`--${f}`).join(", ")}${hint}`)}await setup?.(context)}}}var LOADERS={init:()=>import("./chunk-k17gfwq3.js").then((m)=>m.default),login:()=>import("./chunk-rpwpeph5.js").then((m)=>m.default),logout:()=>import("./chunk-0fe83yzt.js").then((m)=>m.default),connect:()=>import("./chunk-6nqghjda.js").then((m)=>m.default),run:()=>import("./chunk-vdkrbzh1.js").then((m)=>m.default),design:()=>import("./chunk-7eyb8yrf.js").then((m)=>m.default),mcp:()=>import("./chunk-j11fyeqh.js").then((m)=>m.default),stop:()=>import("./chunk-r22epxz2.js").then((m)=>m.default),status:()=>import("./chunk-jv0xggh0.js").then((m)=>m.default),__daemon:()=>import("./chunk-1h55s5he.js").then((m)=>m.default),__update_check:()=>import("./chunk-6w6ch4ce.js").then((m)=>m.default),render:()=>import("./chunk-n9gs6yx9.js").then((m)=>m.default),capture:()=>import("./chunk-sn3x2m0m.js").then((m)=>m.default),browser:()=>import("./chunk-avns4dbf.js").then((m)=>m.default),export:()=>import("./chunk-mnapdp1y.js").then((m)=>m.default),upgrade:()=>import("./chunk-308ynsxd.js").then((m)=>m.default),publish:()=>import("./chunk-mh2pr7cq.js").then((m)=>m.default),emit:()=>import("./chunk-ampmdzz4.js").then((m)=>m.default),theme:()=>import("./chunk-ccszg02q.js").then((m)=>m.default),completions:()=>import("./chunk-er1fxb7d.js").then((m)=>m.default),...traceEnabled()?{trace:()=>import("./chunk-ek71z2fv.js").then((m)=>m.default)}:{}};function guarded(name,load){return async()=>{let cmd=strictFlags(name,await load()),run=cmd.run;if(!run)return cmd;return{...cmd,async run(ctx){try{await run(ctx)}catch(err){failWithError(name,err)}}}}}var COMMANDS=Object.fromEntries(Object.entries(LOADERS).map(([name,load])=>[name,guarded(name,load)]));
3
+ export{COMMANDS};
@@ -0,0 +1,3 @@
1
+ // @bun
2
+ import"./chunk-40xgcth8.js";import{localDesignOf}from"./chunk-tdsk5wxa.js";import"./chunk-t448rrfr.js";import"./chunk-3e8vez4d.js";import"./chunk-80fjfyha.js";import{AGENT_IDS,PROJECT_AGENT_IDS,GLOBAL_AGENT_IDS,resolveProjectRoot,MANUAL_AGENT_ID,manualSetupText,askAgentWiring,localDesignScopeProblem,connect}from"./chunk-vgmr98cv.js";import"./chunk-dg6z4vdd.js";import{DesignFolderFormatError,assertFolderFormatCurrent}from"./chunk-sjgqnykd.js";import{fail}from"./chunk-s23gtejf.js";import{createProgress}from"./chunk-pjtg3wnm.js";import{DESIGN_ARG_DESCRIPTION,resolveDesign}from"./chunk-vsv8z729.js";import"./chunk-pp86v6m6.js";import{require_picocolors}from"./chunk-jrsknzjt.js";import{__toESM,defineCommand}from"./chunk-2smsg2ct.js";import{resolve}from"path";var import_picocolors=__toESM(require_picocolors(),1);var connect_default=defineCommand({meta:{name:"connect",description:"Wire the velloo MCP server into your AI coding agent's config"},args:{design:{type:"positional",required:!1,description:DESIGN_ARG_DESCRIPTION},agent:{type:"string",description:`Comma-separated agents: ${AGENT_IDS.join(", ")}, manual \u2014 print the config for any other agent (default ${PROJECT_AGENT_IDS.join(",")})`},projectRoot:{type:"string",description:"Where to write the config (default: the velloo.json root that registers the folder, else the nearest package.json above it)"},http:{type:"boolean",default:!1,description:"Wire the HTTP transport (agent dials a running server) instead of stdio"},mcpUrl:{type:"string",description:"MCP server URL for --http, as printed by `velloo mcp --http`"},skill:{type:"boolean",default:!0,description:"Install the velloo-design Claude Code skill into .claude/skills"}},async run({args}){let folder=await resolveDesign(args.design,"connect",{interactive:!0});try{assertFolderFormatCurrent(folder)}catch(err){if(!(err instanceof DesignFolderFormatError))throw err;console.log(import_picocolors.default.yellow(`\u26A0 ${err.message.slice(8)}`))}let interactive=Boolean(process.stdin.isTTY),agents,manual=!1,local=localDesignOf(folder)!==null;if(args.agent){agents=args.agent.split(",").map((s)=>s.trim()).filter(Boolean);let problem=localDesignScopeProblem(folder,agents);if(problem)fail("connect",problem)}else if(interactive){let wiring=await askAgentWiring({projectRoot:await resolveProjectRoot(folder),globalOnly:local});if(wiring===null)fail("connect","cancelled.");if(wiring.agents.length===0&&!wiring.manual){console.log(import_picocolors.default.dim("No agents selected \u2014 nothing wired."));return}manual=wiring.manual,agents=wiring.agents}else agents=local?GLOBAL_AGENT_IDS:PROJECT_AGENT_IDS;if(agents.includes(MANUAL_AGENT_ID))manual=!0,agents=agents.filter((id)=>id!==MANUAL_AGENT_ID);if(manual){console.log(""),console.log(import_picocolors.default.bold(" Manual MCP setup"));for(let line of manualSetupText().split(`
3
+ `))console.log(` ${line}`);console.log("")}if(agents.length===0)return;let progress=createProgress();progress.start("connecting agent");let result;try{result=await connect({designFolder:folder,agents,projectRoot:args.projectRoot?resolve(args.projectRoot):void 0,transport:args.http?"http":"stdio",mcpUrl:args.mcpUrl,installSkill:args.skill})}catch(error){throw progress.fail("agent connection failed"),error}if(result.unknownAgents.length>0)progress.fail("agent connection failed"),fail("connect",`unknown agent(s): ${result.unknownAgents.join(", ")}. Valid: ${AGENT_IDS.join(", ")}.`);progress.succeed("connected agent"),console.log(""),console.log(import_picocolors.default.green("\u2713 Connected velloo to your agent.")),console.log("");for(let c of result.configs)console.log(` ${c.action==="created"?"wrote ":"updated "} ${import_picocolors.default.cyan(c.path)}`);if(result.plugin)console.log(` plugin ${import_picocolors.default.cyan("velloo@velloo")} ${import_picocolors.default.dim(`(skills + commands + subagents \u2014 local marketplace at ${result.plugin.marketplaceDir})`)}`);for(let s of result.skills??[])console.log(` skill ${import_picocolors.default.cyan(s.path??s.name)}`);if(result.geminiExtension)console.log(` gemini ${import_picocolors.default.cyan(result.geminiExtension.dir)} ${result.geminiExtension.linked?import_picocolors.default.dim("(linked)"):import_picocolors.default.dim(`(link it: gemini extensions link ${result.geminiExtension.dir})`)}`);if(result.cursorRules?.installed&&result.cursorRules.path)console.log(` rule ${import_picocolors.default.cyan(result.cursorRules.path)}`);let designArg=args.design?` ${args.design}`:"";if(console.log(""),console.log(import_picocolors.default.bold(" Next")),result.transport==="http")console.log(` 1. ${import_picocolors.default.cyan(`velloo mcp --http${designArg}`)} ${import_picocolors.default.dim("\u2014 starts the MCP server your agent dials")}`),console.log(" 2. Restart your agent so it loads the new MCP config.");else console.log(` 1. Restart your agent so it loads the new MCP config ${import_picocolors.default.dim("\u2014 it starts velloo itself")}.`),console.log(` 2. ${import_picocolors.default.cyan(`velloo run${designArg}`)} ${import_picocolors.default.dim("\u2014 optional: open the canvas to watch")}`);console.log("")}});export{connect_default as default};
@@ -0,0 +1,3 @@
1
+ // @bun
2
+ function traceEnabled(){let v=process.env.VELLOO_TRACE;return v!==void 0&&v!==""&&v!=="0"&&v.toLowerCase()!=="false"}
3
+ export{traceEnabled};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import"./chunk-dg6z4vdd.js";import{refreshUpdateCache}from"./chunk-xt5ayg7g.js";import{defineCommand}from"./chunk-2smsg2ct.js";var update_check_default=defineCommand({meta:{name:"__update_check",description:"Internal release check",hidden:!0},async run(){await refreshUpdateCache()}});export{update_check_default as default};