ima2-gen 3.14.0 → 3.15.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 (546) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/docs/API.md +2 -2
  3. package/docs/CLI.md +1 -1
  4. package/docs/CLI.zh-CN.md +1 -1
  5. package/docs/CLI.zh-TW.md +1 -1
  6. package/docs/migration/runtime-test-inventory.md +2 -1
  7. package/lib/agyArtifactRead.js +0 -3
  8. package/lib/assetLifecycle.js +1 -6
  9. package/lib/errors/providerMap.js +1 -0
  10. package/lib/mcp/downloadMediaResult.js +1 -6
  11. package/lib/naiImageAdapter.js +4 -9
  12. package/lib/naiSubscription.js +95 -0
  13. package/lib/pinnedHttpGet.js +15 -23
  14. package/lib/providers/adapters/api.js +55 -0
  15. package/lib/providers/adapters/atlascloud.js +66 -0
  16. package/lib/providers/adapters/comfy.js +76 -19
  17. package/lib/providers/adapters/gemini-api.js +55 -0
  18. package/lib/providers/adapters/googleExecution.js +26 -51
  19. package/lib/providers/adapters/grok-api.js +55 -0
  20. package/lib/providers/adapters/grokExecution.js +67 -112
  21. package/lib/providers/adapters/index.js +6 -0
  22. package/lib/providers/adapters/minimax.js +63 -0
  23. package/lib/providers/adapters/nai.js +55 -0
  24. package/lib/providers/adapters/openaiExecution.js +12 -37
  25. package/lib/providers/execution/index.js +10 -16
  26. package/lib/providers/execution/legacyClassic.js +5 -65
  27. package/lib/providers/execution/legacyEdit.js +2 -27
  28. package/lib/providers/execution/legacyMultimode.js +2 -31
  29. package/lib/providers/execution/legacyNode.js +2 -38
  30. package/lib/spriteAnchor.js +14 -24
  31. package/lib/spriteAtlasExport.js +8 -13
  32. package/lib/spriteCurationStore.js +4 -9
  33. package/lib/spriteRecipeStore.js +13 -76
  34. package/lib/spriteRowPipeline.js +5 -22
  35. package/node_modules/zod/README.md +27 -0
  36. package/node_modules/zod/compile.cjs +77 -0
  37. package/node_modules/zod/compile.d.cts +1 -0
  38. package/node_modules/zod/compile.d.ts +1 -0
  39. package/node_modules/zod/compile.js +52 -0
  40. package/node_modules/zod/index.cjs +2 -2
  41. package/node_modules/zod/index.d.cts +1 -2
  42. package/node_modules/zod/index.d.ts +1 -2
  43. package/node_modules/zod/index.js +5 -2
  44. package/node_modules/zod/package.json +13 -2
  45. package/node_modules/zod/src/compile.ts +56 -0
  46. package/node_modules/zod/src/index.ts +5 -2
  47. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  48. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  49. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  50. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  51. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  52. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  53. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  54. package/node_modules/zod/src/v3/types.ts +5 -5
  55. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  56. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  57. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  58. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  59. package/node_modules/zod/src/v4/classic/external.ts +12 -9
  60. package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
  61. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  62. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  63. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  64. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  65. package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
  66. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  67. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  68. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
  69. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
  70. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  71. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  72. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  73. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  74. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  75. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
  76. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  77. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  78. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  79. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  80. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  81. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  82. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
  83. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
  84. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  85. package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
  86. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
  87. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  88. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  89. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  90. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  91. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  92. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
  93. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
  94. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  95. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
  96. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  97. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  98. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  99. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  100. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  101. package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
  102. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
  103. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  104. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  105. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  106. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  107. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  108. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
  109. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  110. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  111. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  112. package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
  113. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  114. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
  115. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
  116. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  117. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  118. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
  119. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  120. package/node_modules/zod/src/v4/core/api.ts +48 -12
  121. package/node_modules/zod/src/v4/core/checks.ts +57 -44
  122. package/node_modules/zod/src/v4/core/compile.ts +2188 -0
  123. package/node_modules/zod/src/v4/core/core.ts +98 -19
  124. package/node_modules/zod/src/v4/core/doc.ts +11 -7
  125. package/node_modules/zod/src/v4/core/errors.ts +115 -24
  126. package/node_modules/zod/src/v4/core/index.ts +3 -0
  127. package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
  128. package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
  129. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  130. package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
  131. package/node_modules/zod/src/v4/core/parse.ts +131 -38
  132. package/node_modules/zod/src/v4/core/regexes.ts +30 -13
  133. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  134. package/node_modules/zod/src/v4/core/schemas.ts +759 -461
  135. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  136. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  137. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  138. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  139. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
  140. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  141. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  142. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  143. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  144. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  145. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  146. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  147. package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
  148. package/node_modules/zod/src/v4/core/util.ts +268 -42
  149. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  150. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  151. package/node_modules/zod/src/v4/index.ts +3 -3
  152. package/node_modules/zod/src/v4/locales/ar.ts +3 -0
  153. package/node_modules/zod/src/v4/locales/az.ts +3 -0
  154. package/node_modules/zod/src/v4/locales/be.ts +10 -0
  155. package/node_modules/zod/src/v4/locales/bg.ts +3 -0
  156. package/node_modules/zod/src/v4/locales/bn.ts +121 -0
  157. package/node_modules/zod/src/v4/locales/ca.ts +3 -0
  158. package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
  159. package/node_modules/zod/src/v4/locales/cs.ts +3 -0
  160. package/node_modules/zod/src/v4/locales/da.ts +5 -2
  161. package/node_modules/zod/src/v4/locales/de.ts +3 -0
  162. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  163. package/node_modules/zod/src/v4/locales/en.ts +15 -4
  164. package/node_modules/zod/src/v4/locales/eo.ts +3 -0
  165. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  166. package/node_modules/zod/src/v4/locales/fa.ts +3 -0
  167. package/node_modules/zod/src/v4/locales/fi.ts +3 -0
  168. package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
  169. package/node_modules/zod/src/v4/locales/fr.ts +19 -14
  170. package/node_modules/zod/src/v4/locales/gu.ts +121 -0
  171. package/node_modules/zod/src/v4/locales/he.ts +6 -1
  172. package/node_modules/zod/src/v4/locales/hi.ts +124 -0
  173. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  174. package/node_modules/zod/src/v4/locales/hu.ts +3 -0
  175. package/node_modules/zod/src/v4/locales/hy.ts +9 -0
  176. package/node_modules/zod/src/v4/locales/id.ts +3 -0
  177. package/node_modules/zod/src/v4/locales/index.ts +10 -0
  178. package/node_modules/zod/src/v4/locales/is.ts +3 -0
  179. package/node_modules/zod/src/v4/locales/it.ts +3 -0
  180. package/node_modules/zod/src/v4/locales/ja.ts +3 -0
  181. package/node_modules/zod/src/v4/locales/ka.ts +3 -0
  182. package/node_modules/zod/src/v4/locales/km.ts +3 -0
  183. package/node_modules/zod/src/v4/locales/kn.ts +124 -0
  184. package/node_modules/zod/src/v4/locales/ko.ts +3 -0
  185. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  186. package/node_modules/zod/src/v4/locales/mk.ts +3 -0
  187. package/node_modules/zod/src/v4/locales/ms.ts +3 -0
  188. package/node_modules/zod/src/v4/locales/ne.ts +126 -0
  189. package/node_modules/zod/src/v4/locales/nl.ts +3 -0
  190. package/node_modules/zod/src/v4/locales/nn.ts +119 -0
  191. package/node_modules/zod/src/v4/locales/no.ts +5 -2
  192. package/node_modules/zod/src/v4/locales/ota.ts +3 -0
  193. package/node_modules/zod/src/v4/locales/pl.ts +3 -0
  194. package/node_modules/zod/src/v4/locales/ps.ts +3 -0
  195. package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
  196. package/node_modules/zod/src/v4/locales/pt.ts +99 -58
  197. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  198. package/node_modules/zod/src/v4/locales/ru.ts +10 -0
  199. package/node_modules/zod/src/v4/locales/sk.ts +121 -0
  200. package/node_modules/zod/src/v4/locales/sl.ts +3 -0
  201. package/node_modules/zod/src/v4/locales/sv.ts +5 -2
  202. package/node_modules/zod/src/v4/locales/ta.ts +3 -0
  203. package/node_modules/zod/src/v4/locales/th.ts +3 -0
  204. package/node_modules/zod/src/v4/locales/tk.ts +111 -0
  205. package/node_modules/zod/src/v4/locales/tr.ts +3 -0
  206. package/node_modules/zod/src/v4/locales/uk.ts +3 -0
  207. package/node_modules/zod/src/v4/locales/ur.ts +3 -0
  208. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  209. package/node_modules/zod/src/v4/locales/vi.ts +3 -0
  210. package/node_modules/zod/src/v4/locales/yo.ts +3 -0
  211. package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
  212. package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
  213. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  214. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  215. package/node_modules/zod/src/v4/mini/external.ts +10 -1
  216. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  217. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  218. package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
  219. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  220. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  221. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  222. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  223. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  224. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  225. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  226. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  227. package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
  228. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  229. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  230. package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
  231. package/node_modules/zod/v3/ZodError.cjs +22 -12
  232. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  233. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  234. package/node_modules/zod/v3/ZodError.js +22 -12
  235. package/node_modules/zod/v3/types.cjs +7 -5
  236. package/node_modules/zod/v3/types.js +7 -5
  237. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  238. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  239. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  240. package/node_modules/zod/v4/classic/checks.js +1 -1
  241. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  242. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  243. package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
  244. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  245. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  246. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  247. package/node_modules/zod/v4/classic/errors.cjs +43 -34
  248. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  249. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  250. package/node_modules/zod/v4/classic/errors.js +43 -34
  251. package/node_modules/zod/v4/classic/external.cjs +30 -27
  252. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  253. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  254. package/node_modules/zod/v4/classic/external.js +5 -8
  255. package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
  256. package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
  257. package/node_modules/zod/v4/classic/in-out.cjs +63 -0
  258. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  259. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  260. package/node_modules/zod/v4/classic/in-out.js +36 -0
  261. package/node_modules/zod/v4/classic/index.cjs +2 -2
  262. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  263. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  264. package/node_modules/zod/v4/classic/index.js +2 -2
  265. package/node_modules/zod/v4/classic/iso.cjs +11 -22
  266. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  267. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  268. package/node_modules/zod/v4/classic/iso.js +2 -17
  269. package/node_modules/zod/v4/classic/parse.cjs +4 -1
  270. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  271. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  272. package/node_modules/zod/v4/classic/parse.js +1 -0
  273. package/node_modules/zod/v4/classic/schemas.cjs +498 -398
  274. package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
  275. package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
  276. package/node_modules/zod/v4/classic/schemas.js +492 -396
  277. package/node_modules/zod/v4/core/api.cjs +23 -4
  278. package/node_modules/zod/v4/core/api.d.cts +13 -9
  279. package/node_modules/zod/v4/core/api.d.ts +13 -9
  280. package/node_modules/zod/v4/core/api.js +21 -4
  281. package/node_modules/zod/v4/core/checks.cjs +37 -31
  282. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  283. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  284. package/node_modules/zod/v4/core/checks.js +37 -31
  285. package/node_modules/zod/v4/core/compile.cjs +1813 -0
  286. package/node_modules/zod/v4/core/compile.d.cts +51 -0
  287. package/node_modules/zod/v4/core/compile.d.ts +51 -0
  288. package/node_modules/zod/v4/core/compile.js +1783 -0
  289. package/node_modules/zod/v4/core/core.cjs +81 -18
  290. package/node_modules/zod/v4/core/core.d.cts +16 -4
  291. package/node_modules/zod/v4/core/core.d.ts +16 -4
  292. package/node_modules/zod/v4/core/core.js +82 -19
  293. package/node_modules/zod/v4/core/doc.cjs +5 -7
  294. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  295. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  296. package/node_modules/zod/v4/core/doc.js +5 -7
  297. package/node_modules/zod/v4/core/errors.cjs +110 -25
  298. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  299. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  300. package/node_modules/zod/v4/core/errors.js +110 -25
  301. package/node_modules/zod/v4/core/index.cjs +5 -1
  302. package/node_modules/zod/v4/core/index.d.cts +3 -0
  303. package/node_modules/zod/v4/core/index.d.ts +3 -0
  304. package/node_modules/zod/v4/core/index.js +3 -0
  305. package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
  306. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  307. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  308. package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
  309. package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
  310. package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
  311. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  312. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  313. package/node_modules/zod/v4/core/memoizer.cjs +272 -0
  314. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  315. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  316. package/node_modules/zod/v4/core/memoizer.js +265 -0
  317. package/node_modules/zod/v4/core/parse.cjs +96 -34
  318. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  319. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  320. package/node_modules/zod/v4/core/parse.js +94 -33
  321. package/node_modules/zod/v4/core/regexes.cjs +27 -15
  322. package/node_modules/zod/v4/core/regexes.d.cts +2 -0
  323. package/node_modules/zod/v4/core/regexes.d.ts +2 -0
  324. package/node_modules/zod/v4/core/regexes.js +24 -13
  325. package/node_modules/zod/v4/core/registries.js +2 -2
  326. package/node_modules/zod/v4/core/schemas.cjs +537 -326
  327. package/node_modules/zod/v4/core/schemas.d.cts +100 -31
  328. package/node_modules/zod/v4/core/schemas.d.ts +100 -31
  329. package/node_modules/zod/v4/core/schemas.js +526 -325
  330. package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
  331. package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
  332. package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
  333. package/node_modules/zod/v4/core/to-json-schema.js +241 -39
  334. package/node_modules/zod/v4/core/util.cjs +212 -31
  335. package/node_modules/zod/v4/core/util.d.cts +58 -1
  336. package/node_modules/zod/v4/core/util.d.ts +58 -1
  337. package/node_modules/zod/v4/core/util.js +202 -30
  338. package/node_modules/zod/v4/core/versions.cjs +2 -2
  339. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  340. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  341. package/node_modules/zod/v4/core/versions.js +2 -2
  342. package/node_modules/zod/v4/core/visit.cjs +195 -0
  343. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  344. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  345. package/node_modules/zod/v4/core/visit.js +169 -0
  346. package/node_modules/zod/v4/index.cjs +15 -5
  347. package/node_modules/zod/v4/index.d.cts +2 -2
  348. package/node_modules/zod/v4/index.d.ts +2 -2
  349. package/node_modules/zod/v4/index.js +3 -2
  350. package/node_modules/zod/v4/locales/ar.cjs +3 -0
  351. package/node_modules/zod/v4/locales/ar.js +3 -0
  352. package/node_modules/zod/v4/locales/az.cjs +3 -0
  353. package/node_modules/zod/v4/locales/az.js +3 -0
  354. package/node_modules/zod/v4/locales/be.cjs +10 -0
  355. package/node_modules/zod/v4/locales/be.js +10 -0
  356. package/node_modules/zod/v4/locales/bg.cjs +3 -0
  357. package/node_modules/zod/v4/locales/bg.js +3 -0
  358. package/node_modules/zod/v4/locales/bn.cjs +138 -0
  359. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  360. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  361. package/node_modules/zod/v4/locales/bn.js +111 -0
  362. package/node_modules/zod/v4/locales/ca.cjs +3 -0
  363. package/node_modules/zod/v4/locales/ca.js +3 -0
  364. package/node_modules/zod/v4/locales/ckb.cjs +158 -0
  365. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  366. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  367. package/node_modules/zod/v4/locales/ckb.js +131 -0
  368. package/node_modules/zod/v4/locales/cs.cjs +3 -0
  369. package/node_modules/zod/v4/locales/cs.js +3 -0
  370. package/node_modules/zod/v4/locales/da.cjs +5 -2
  371. package/node_modules/zod/v4/locales/da.js +5 -2
  372. package/node_modules/zod/v4/locales/de.cjs +3 -0
  373. package/node_modules/zod/v4/locales/de.js +3 -0
  374. package/node_modules/zod/v4/locales/el.cjs +1 -0
  375. package/node_modules/zod/v4/locales/el.js +1 -0
  376. package/node_modules/zod/v4/locales/en.cjs +14 -4
  377. package/node_modules/zod/v4/locales/en.js +14 -4
  378. package/node_modules/zod/v4/locales/eo.cjs +3 -0
  379. package/node_modules/zod/v4/locales/eo.js +3 -0
  380. package/node_modules/zod/v4/locales/es.cjs +2 -0
  381. package/node_modules/zod/v4/locales/es.js +2 -0
  382. package/node_modules/zod/v4/locales/fa.cjs +3 -0
  383. package/node_modules/zod/v4/locales/fa.js +3 -0
  384. package/node_modules/zod/v4/locales/fi.cjs +3 -0
  385. package/node_modules/zod/v4/locales/fi.js +3 -0
  386. package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
  387. package/node_modules/zod/v4/locales/fr-CA.js +3 -0
  388. package/node_modules/zod/v4/locales/fr.cjs +16 -14
  389. package/node_modules/zod/v4/locales/fr.js +16 -14
  390. package/node_modules/zod/v4/locales/gu.cjs +138 -0
  391. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  392. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  393. package/node_modules/zod/v4/locales/gu.js +111 -0
  394. package/node_modules/zod/v4/locales/he.cjs +5 -0
  395. package/node_modules/zod/v4/locales/he.js +5 -0
  396. package/node_modules/zod/v4/locales/hi.cjs +136 -0
  397. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  398. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  399. package/node_modules/zod/v4/locales/hi.js +109 -0
  400. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  401. package/node_modules/zod/v4/locales/hr.js +2 -0
  402. package/node_modules/zod/v4/locales/hu.cjs +3 -0
  403. package/node_modules/zod/v4/locales/hu.js +3 -0
  404. package/node_modules/zod/v4/locales/hy.cjs +9 -0
  405. package/node_modules/zod/v4/locales/hy.js +9 -0
  406. package/node_modules/zod/v4/locales/id.cjs +3 -0
  407. package/node_modules/zod/v4/locales/id.js +3 -0
  408. package/node_modules/zod/v4/locales/index.cjs +22 -2
  409. package/node_modules/zod/v4/locales/index.d.cts +10 -0
  410. package/node_modules/zod/v4/locales/index.d.ts +10 -0
  411. package/node_modules/zod/v4/locales/index.js +10 -0
  412. package/node_modules/zod/v4/locales/is.cjs +3 -0
  413. package/node_modules/zod/v4/locales/is.js +3 -0
  414. package/node_modules/zod/v4/locales/it.cjs +3 -0
  415. package/node_modules/zod/v4/locales/it.js +3 -0
  416. package/node_modules/zod/v4/locales/ja.cjs +3 -0
  417. package/node_modules/zod/v4/locales/ja.js +3 -0
  418. package/node_modules/zod/v4/locales/ka.cjs +3 -0
  419. package/node_modules/zod/v4/locales/ka.js +3 -0
  420. package/node_modules/zod/v4/locales/km.cjs +3 -0
  421. package/node_modules/zod/v4/locales/km.js +3 -0
  422. package/node_modules/zod/v4/locales/kn.cjs +141 -0
  423. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  424. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  425. package/node_modules/zod/v4/locales/kn.js +114 -0
  426. package/node_modules/zod/v4/locales/ko.cjs +3 -0
  427. package/node_modules/zod/v4/locales/ko.js +3 -0
  428. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  429. package/node_modules/zod/v4/locales/lt.js +2 -0
  430. package/node_modules/zod/v4/locales/mk.cjs +3 -0
  431. package/node_modules/zod/v4/locales/mk.js +3 -0
  432. package/node_modules/zod/v4/locales/ms.cjs +3 -0
  433. package/node_modules/zod/v4/locales/ms.js +3 -0
  434. package/node_modules/zod/v4/locales/ne.cjs +136 -0
  435. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  436. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  437. package/node_modules/zod/v4/locales/ne.js +109 -0
  438. package/node_modules/zod/v4/locales/nl.cjs +3 -0
  439. package/node_modules/zod/v4/locales/nl.js +3 -0
  440. package/node_modules/zod/v4/locales/nn.cjs +138 -0
  441. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  442. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  443. package/node_modules/zod/v4/locales/nn.js +111 -0
  444. package/node_modules/zod/v4/locales/no.cjs +5 -2
  445. package/node_modules/zod/v4/locales/no.js +5 -2
  446. package/node_modules/zod/v4/locales/ota.cjs +3 -0
  447. package/node_modules/zod/v4/locales/ota.js +3 -0
  448. package/node_modules/zod/v4/locales/pl.cjs +3 -0
  449. package/node_modules/zod/v4/locales/pl.js +3 -0
  450. package/node_modules/zod/v4/locales/ps.cjs +3 -0
  451. package/node_modules/zod/v4/locales/ps.js +3 -0
  452. package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
  453. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  454. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  455. package/node_modules/zod/v4/locales/pt-BR.js +141 -0
  456. package/node_modules/zod/v4/locales/pt.cjs +87 -55
  457. package/node_modules/zod/v4/locales/pt.js +87 -55
  458. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  459. package/node_modules/zod/v4/locales/ro.js +1 -0
  460. package/node_modules/zod/v4/locales/ru.cjs +10 -0
  461. package/node_modules/zod/v4/locales/ru.js +10 -0
  462. package/node_modules/zod/v4/locales/sk.cjs +141 -0
  463. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  464. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  465. package/node_modules/zod/v4/locales/sk.js +114 -0
  466. package/node_modules/zod/v4/locales/sl.cjs +3 -0
  467. package/node_modules/zod/v4/locales/sl.js +3 -0
  468. package/node_modules/zod/v4/locales/sv.cjs +5 -2
  469. package/node_modules/zod/v4/locales/sv.js +5 -2
  470. package/node_modules/zod/v4/locales/ta.cjs +3 -0
  471. package/node_modules/zod/v4/locales/ta.js +3 -0
  472. package/node_modules/zod/v4/locales/th.cjs +3 -0
  473. package/node_modules/zod/v4/locales/th.js +3 -0
  474. package/node_modules/zod/v4/locales/tk.cjs +132 -0
  475. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  476. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  477. package/node_modules/zod/v4/locales/tk.js +105 -0
  478. package/node_modules/zod/v4/locales/tr.cjs +3 -0
  479. package/node_modules/zod/v4/locales/tr.js +3 -0
  480. package/node_modules/zod/v4/locales/uk.cjs +3 -0
  481. package/node_modules/zod/v4/locales/uk.js +3 -0
  482. package/node_modules/zod/v4/locales/ur.cjs +3 -0
  483. package/node_modules/zod/v4/locales/ur.js +3 -0
  484. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  485. package/node_modules/zod/v4/locales/uz.js +1 -0
  486. package/node_modules/zod/v4/locales/vi.cjs +3 -0
  487. package/node_modules/zod/v4/locales/vi.js +3 -0
  488. package/node_modules/zod/v4/locales/yo.cjs +3 -0
  489. package/node_modules/zod/v4/locales/yo.js +3 -0
  490. package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
  491. package/node_modules/zod/v4/locales/zh-CN.js +3 -0
  492. package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
  493. package/node_modules/zod/v4/locales/zh-TW.js +3 -0
  494. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  495. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  496. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  497. package/node_modules/zod/v4/mini/checks.js +1 -1
  498. package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
  499. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  500. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  501. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  502. package/node_modules/zod/v4/mini/external.cjs +12 -1
  503. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  504. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  505. package/node_modules/zod/v4/mini/external.js +3 -1
  506. package/node_modules/zod/v4/mini/in-out.cjs +63 -0
  507. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  508. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  509. package/node_modules/zod/v4/mini/in-out.js +36 -0
  510. package/node_modules/zod/v4/mini/parse.cjs +3 -1
  511. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  512. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  513. package/node_modules/zod/v4/mini/parse.js +1 -1
  514. package/node_modules/zod/v4/mini/schemas.cjs +75 -47
  515. package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
  516. package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
  517. package/node_modules/zod/v4/mini/schemas.js +71 -45
  518. package/package.json +5 -5
  519. package/routes/quota.js +29 -3
  520. package/ui/dist/.vite/manifest.json +61 -61
  521. package/ui/dist/assets/{AgentWorkspace-CL3MLv3l.js → AgentWorkspace-BulKz33A.js} +1 -1
  522. package/ui/dist/assets/{App-B9cEM6dJ.js → App-juOjrIgh.js} +3 -3
  523. package/ui/dist/assets/{AssetGenWorkspace-swWPvXrx.js → AssetGenWorkspace-8SYhS2Y2.js} +2 -2
  524. package/ui/dist/assets/{AssetsWorkspace-CRVeYU2F.js → AssetsWorkspace-Dxz-Xksp.js} +1 -1
  525. package/ui/dist/assets/{CardNewsWorkspace-BAOxWLKf.js → CardNewsWorkspace-DV4hpvKf.js} +1 -1
  526. package/ui/dist/assets/{GenerationRequestLogPanel-DZtYZm-D.js → GenerationRequestLogPanel-VFu4cAdd.js} +1 -1
  527. package/ui/dist/assets/{HomeWorkspace-BeZ1s0Jm.js → HomeWorkspace-D1UBgwRZ.js} +1 -1
  528. package/ui/dist/assets/{KeyingPanel-ZyBSXioh.js → KeyingPanel-GdUcaaJR.js} +1 -1
  529. package/ui/dist/assets/{NodeCanvas-BvvcCErf.js → NodeCanvas-B6zoJhHr.js} +3 -3
  530. package/ui/dist/assets/{PromptBuilderPanel-DBycmShA.js → PromptBuilderPanel-CJ56MEk2.js} +1 -1
  531. package/ui/dist/assets/{PromptImportDialog-ChvMv7ek.js → PromptImportDialog-DMFnggIT.js} +2 -2
  532. package/ui/dist/assets/{PromptImportDiscoverySection-60py7whH.js → PromptImportDiscoverySection-4KCIWmZ8.js} +1 -1
  533. package/ui/dist/assets/{PromptImportFolderSection-CCRh_-_7.js → PromptImportFolderSection-BjqopFX5.js} +1 -1
  534. package/ui/dist/assets/{PromptLibraryPanel-BFWQO8OT.js → PromptLibraryPanel-DwFK4ALC.js} +2 -2
  535. package/ui/dist/assets/SettingsWorkspace-BWcNnQ56.js +1 -0
  536. package/ui/dist/assets/{SpriteRecipeWorkspace-DRWdkmwU.js → SpriteRecipeWorkspace-Bsl_NZ3A.js} +1 -1
  537. package/ui/dist/assets/{index-7ngEOVxt.js → index-BWzT2RyM.js} +3 -3
  538. package/ui/dist/assets/{index-B5jy7ePg.css → index-C5zSMtGM.css} +1 -1
  539. package/ui/dist/assets/{index-gxh_02DQ.js → index-Cl5SnWLL.js} +7 -7
  540. package/ui/dist/assets/{pptxgen.es-OUNhQLEV.js → pptxgen.es-BslswdiL.js} +1 -1
  541. package/ui/dist/assets/{promptBuilderStore-BTUUzbBT.js → promptBuilderStore-Cl2q0Oe6.js} +1 -1
  542. package/ui/dist/assets/useAgentDialogFocus-B8niAv4W.js +1 -0
  543. package/ui/dist/index.html +2 -2
  544. package/node_modules/zod/src/v4/core/config.ts +0 -15
  545. package/ui/dist/assets/SettingsWorkspace-B5Ghsgdj.js +0 -1
  546. package/ui/dist/assets/useAgentDialogFocus-DSc2qY8p.js +0 -1
@@ -1,66 +1,6 @@
1
- import { generateViaAtlasCloud } from "../../atlasCloudImageAdapter.js";
2
- import { generateViaMinimax } from "../../minimaxImageAdapter.js";
3
- import { generateViaNai } from "../../naiImageAdapter.js";
4
- import { generateViaComfy } from "../../comfyImageAdapter.js";
5
- import { requireRuntimeContext } from "../../runtimeContext.js";
6
- function captureClassicRequest(request) {
7
- const { provider: activeProvider, prompt: generationPrompt, requestId, background: backgroundParams } = request;
8
- const { model: imageModel, quality, size: effectiveSize } = request.options;
9
- return { activeProvider, generationPrompt, requestId, backgroundParams, imageModel, quality, effectiveSize };
10
- }
11
- async function executeLegacyClassic(ctx, request, progress, captured) {
12
- try {
13
- const { activeProvider, generationPrompt, requestId, backgroundParams, imageModel, quality, effectiveSize } = captured;
14
- if (activeProvider === "atlascloud") {
15
- return await generateViaAtlasCloud(generationPrompt, requireRuntimeContext(ctx), {
16
- model: imageModel, size: effectiveSize, quality, signal: request.signal,
17
- requestId, references: request.references,
18
- ...(backgroundParams ? { background: backgroundParams.background } : {}),
19
- // The caller's resolveImageBackgroundParams validates this alpha-only format.
20
- ...(backgroundParams?.outputFormat ? { outputFormat: backgroundParams.outputFormat } : {}),
21
- });
22
- }
23
- if (activeProvider === "minimax") {
24
- return await generateViaMinimax(generationPrompt, requireRuntimeContext(ctx), {
25
- model: imageModel, size: effectiveSize, signal: request.signal,
26
- requestId, references: request.references,
27
- });
28
- }
29
- if (activeProvider === "nai") {
30
- // Text-to-image only: the caller already refused references.
31
- return await generateViaNai(generationPrompt, requireRuntimeContext(ctx), {
32
- model: imageModel, size: effectiveSize, signal: request.signal, requestId,
33
- // Reuse the same normalized options as node and multimode.
34
- ...request.nai,
35
- });
36
- }
37
- if (activeProvider === "comfy") {
38
- return await generateViaComfy(generationPrompt, requireRuntimeContext(ctx), {
39
- model: imageModel, size: effectiveSize, signal: request.signal,
40
- requestId, references: request.references,
41
- ...request.comfy, onQueue: progress.onQueue,
42
- });
43
- }
44
- throw new Error(`Unsupported classic execution provider: ${activeProvider}`);
45
- }
46
- catch (error) {
47
- throw error;
48
- }
49
- }
50
- export async function prepareLegacyClassic(ctx, request, progress = {}) {
51
- try {
52
- // Preserve scalar/background capture; ctx, refs, signal and lane options stay live.
53
- const captured = captureClassicRequest(request);
54
- return { execute: async () => {
55
- try {
56
- return { kind: "single", value: await executeLegacyClassic(ctx, request, progress, captured) };
57
- }
58
- catch (error) {
59
- throw error;
60
- } // Caller owns lifecycle and the existing error envelope.
61
- } };
62
- }
63
- catch (error) {
64
- throw error;
65
- }
1
+ export async function prepareLegacyClassic(_ctx, request, _progress) {
2
+ const { provider } = request;
3
+ return { execute: async () => {
4
+ throw new Error(`Unsupported classic execution provider: ${provider}`);
5
+ } };
66
6
  }
@@ -1,30 +1,5 @@
1
- import { detectImageMimeFromB64 } from "../../refs.js";
2
- import { generateViaAtlasCloud } from "../../atlasCloudImageAdapter.js";
3
- import { generateViaMinimax } from "../../minimaxImageAdapter.js";
4
- import { generateViaComfy } from "../../comfyImageAdapter.js";
5
- function executeImageToImage(ctx, request) {
6
- const { provider, prompt, sourceImage, signal, requestId, options } = request;
7
- const references = [{ b64: sourceImage, declaredMime: null, detectedMime: detectImageMimeFromB64(sourceImage) || null }];
8
- const editPrompt = `Edit this image: ${prompt}`;
9
- const params = { model: options.model, size: options.size, signal, ...(requestId !== undefined ? { requestId } : {}), references };
10
- switch (provider) {
11
- case "atlascloud": return generateViaAtlasCloud(editPrompt, ctx, { ...params, quality: options.quality });
12
- case "minimax": return generateViaMinimax(editPrompt, ctx, params);
13
- // LoadImage binding owns i2i; missing workflow binding still refuses there.
14
- case "comfy": return generateViaComfy(editPrompt, ctx, params);
15
- default: throw new Error(`Unsupported legacy edit provider: ${provider}`);
16
- }
17
- }
18
- async function executeEdit(ctx, request) {
19
- return executeImageToImage(ctx, request);
20
- }
21
- export async function prepareLegacyEdit(ctx, request, _progress) {
1
+ export async function prepareLegacyEdit(_ctx, request, _progress) {
22
2
  return { execute: async () => {
23
- try {
24
- return { kind: "single", value: await executeEdit(ctx, request) };
25
- }
26
- catch (error) {
27
- throw error;
28
- } // Route owns failure normalization and job cleanup.
3
+ throw new Error(`Unsupported legacy edit provider: ${request.provider}`);
29
4
  } };
30
5
  }
@@ -1,34 +1,5 @@
1
- import { generateViaAtlasCloud } from "../../atlasCloudImageAdapter.js";
2
- import { generateViaMinimax } from "../../minimaxImageAdapter.js";
3
- import { generateViaNai } from "../../naiImageAdapter.js";
4
- function executeSingleLane(ctx, request) {
5
- const { provider, rawPrompt, references, signal, requestId, options } = request;
6
- const params = { model: options.model, size: options.size, signal, ...(requestId !== undefined ? { requestId } : {}), references };
7
- switch (provider) {
8
- case "atlascloud": return generateViaAtlasCloud(rawPrompt, ctx, { ...params, quality: options.quality });
9
- case "minimax": return generateViaMinimax(rawPrompt, ctx, params);
10
- // Text-to-image only: no references; admission rejects them before startJob.
11
- case "nai": return generateViaNai(rawPrompt, ctx, {
12
- model: options.model, size: options.size, signal, requestId, ...request.nai,
13
- });
14
- default: throw new Error(`Unsupported legacy multimode provider: ${provider}`);
15
- }
16
- }
17
- async function executeSequence(ctx, request, _progress) {
18
- const result = await executeSingleLane(ctx, request);
19
- // Preserve the old per-lane projection: downstream detects bytes, not MIME here.
20
- return {
21
- images: [{ b64: result.b64, ...(result.revisedPrompt !== undefined ? { revisedPrompt: result.revisedPrompt } : {}) }],
22
- usage: result.usage, webSearchCalls: result.webSearchCalls,
23
- };
24
- }
25
- export async function prepareLegacyMultimode(ctx, request, progress = {}) {
1
+ export async function prepareLegacyMultimode(_ctx, request, _progress) {
26
2
  return { execute: async () => {
27
- try {
28
- return { kind: "sequence", value: await executeSequence(ctx, request, progress) };
29
- }
30
- catch (error) {
31
- throw error;
32
- } // Preserve native errors; caller owns timeout recovery.
3
+ throw new Error(`Unsupported legacy multimode provider: ${request.provider}`);
33
4
  } };
34
5
  }
@@ -1,41 +1,5 @@
1
- import { generateViaAtlasCloud } from "../../atlasCloudImageAdapter.js";
2
- import { generateViaMinimax } from "../../minimaxImageAdapter.js";
3
- import { generateViaNai } from "../../naiImageAdapter.js";
4
- import { requireRuntimeContext } from "../../runtimeContext.js";
5
- export async function prepareLegacyNode(ctx, request, _progress) {
1
+ export async function prepareLegacyNode(_ctx, request, _progress) {
6
2
  return { execute: async () => {
7
- try {
8
- return { kind: "single", value: await executeNodeAttempt(ctx, request) };
9
- }
10
- catch (error) {
11
- throw error;
12
- } // The caller owns retries and normalization.
3
+ throw new Error(`Unsupported node execution provider: ${request.provider}`);
13
4
  } };
14
5
  }
15
- // Keep the legacy one-attempt branches together; retry/lifecycle stays at the caller.
16
- async function executeNodeAttempt(ctx, request) {
17
- const { provider, sourceImage: parentB64, rawPrompt: prompt, references, requestId, signal, options } = request;
18
- const { model, size, quality } = options;
19
- return provider === "atlascloud"
20
- ? await generateViaAtlasCloud(parentB64 ? `Edit this image: ${prompt}` : prompt, requireRuntimeContext(ctx), {
21
- model, size, quality, signal, requestId,
22
- references: parentB64
23
- ? [{ b64: parentB64, declaredMime: null, detectedMime: null }, ...references]
24
- : references,
25
- })
26
- : provider === "minimax"
27
- ? await generateViaMinimax(parentB64 ? `Edit this image: ${prompt}` : prompt, requireRuntimeContext(ctx), {
28
- model, size, signal, requestId,
29
- references: parentB64
30
- ? [{ b64: parentB64, declaredMime: null, detectedMime: null }, ...references]
31
- : references,
32
- })
33
- : provider === "nai"
34
- ? await generateViaNai(prompt, requireRuntimeContext(ctx), {
35
- model, size, signal, requestId, ...request.nai,
36
- })
37
- : unsupportedNodeProvider(provider);
38
- }
39
- function unsupportedNodeProvider(provider) {
40
- throw new Error(`Unsupported node execution provider: ${provider}`);
41
- }
@@ -1,32 +1,22 @@
1
1
  import { getAsset } from "./assetsStore.js";
2
2
  import { spriteRecipeStore, spriteStoreError } from "./spriteRecipeStore.js";
3
3
  export async function approveSpriteAnchor(recipeId, candidateAssetId) {
4
- try {
5
- const recipe = await spriteRecipeStore.approveAnchor(recipeId, candidateAssetId);
6
- const asset = getAsset(recipe.anchorAssetId);
7
- if (!asset)
8
- throw spriteStoreError(404, "ANCHOR_ASSET_NOT_FOUND", "anchor asset not found");
9
- return { asset, assetId: asset.id };
10
- }
11
- catch (error) {
12
- throw error;
13
- }
4
+ const recipe = await spriteRecipeStore.approveAnchor(recipeId, candidateAssetId);
5
+ const asset = getAsset(recipe.anchorAssetId);
6
+ if (!asset)
7
+ throw spriteStoreError(404, "ANCHOR_ASSET_NOT_FOUND", "anchor asset not found");
8
+ return { asset, assetId: asset.id };
14
9
  }
15
10
  export async function requireApprovedSpriteAnchor(recipeId) {
16
- try {
17
- const recipe = await spriteRecipeStore.get(recipeId);
18
- if (!recipe)
19
- throw spriteStoreError(404, "SPRITE_RECIPE_NOT_FOUND", "sprite recipe not found");
20
- if (recipe.anchorStatus !== "approved" || !recipe.anchorAssetId)
21
- throw spriteStoreError(400, "ANCHOR_NOT_APPROVED", "an approved idle anchor is required");
22
- const asset = getAsset(recipe.anchorAssetId);
23
- if (!asset || asset.kind !== "image" || !asset.filePath)
24
- throw spriteStoreError(400, "ANCHOR_NOT_APPROVED", "approved anchor is no longer available");
25
- return { asset, assetId: asset.id };
26
- }
27
- catch (error) {
28
- throw error;
29
- }
11
+ const recipe = await spriteRecipeStore.get(recipeId);
12
+ if (!recipe)
13
+ throw spriteStoreError(404, "SPRITE_RECIPE_NOT_FOUND", "sprite recipe not found");
14
+ if (recipe.anchorStatus !== "approved" || !recipe.anchorAssetId)
15
+ throw spriteStoreError(400, "ANCHOR_NOT_APPROVED", "an approved idle anchor is required");
16
+ const asset = getAsset(recipe.anchorAssetId);
17
+ if (!asset || asset.kind !== "image" || !asset.filePath)
18
+ throw spriteStoreError(400, "ANCHOR_NOT_APPROVED", "approved anchor is no longer available");
19
+ return { asset, assetId: asset.id };
30
20
  }
31
21
  export function buildSpriteRowReferences(input) {
32
22
  const refs = [{ role: "identity", assetId: input.anchor.assetId, path: input.anchor.asset.filePath ?? undefined }, { role: "layout", path: input.guide.relativePath, data: input.guide.buffer.toString("base64") }];
@@ -1,17 +1,12 @@
1
1
  import { rename } from "node:fs/promises";
2
2
  import sharp from "sharp";
3
3
  export async function composeContactSheet(input) {
4
- try {
5
- if (!input.frames.length)
6
- throw new Error("Contact sheet requires at least one frame");
7
- const columns = Math.max(1, input.columns ?? Math.ceil(Math.sqrt(input.frames.length)));
8
- const rows = Math.ceil(input.frames.length / columns);
9
- const overlays = await Promise.all(input.frames.map(async (path, index) => ({ input: await sharp(path).ensureAlpha().resize(input.cellWidth, input.cellHeight, { fit: "contain" }).png().toBuffer(), left: (index % columns) * input.cellWidth, top: Math.floor(index / columns) * input.cellHeight })));
10
- const temp = `${input.outputPath}.${process.pid}.tmp.png`;
11
- await sharp({ create: { width: columns * input.cellWidth, height: rows * input.cellHeight, channels: 4, background: { r: 0, g: 0, b: 0, alpha: 0 } } }).composite(overlays).png().toFile(temp);
12
- await rename(temp, input.outputPath);
13
- }
14
- catch (error) {
15
- throw error;
16
- }
4
+ if (!input.frames.length)
5
+ throw new Error("Contact sheet requires at least one frame");
6
+ const columns = Math.max(1, input.columns ?? Math.ceil(Math.sqrt(input.frames.length)));
7
+ const rows = Math.ceil(input.frames.length / columns);
8
+ const overlays = await Promise.all(input.frames.map(async (path, index) => ({ input: await sharp(path).ensureAlpha().resize(input.cellWidth, input.cellHeight, { fit: "contain" }).png().toBuffer(), left: (index % columns) * input.cellWidth, top: Math.floor(index / columns) * input.cellHeight })));
9
+ const temp = `${input.outputPath}.${process.pid}.tmp.png`;
10
+ await sharp({ create: { width: columns * input.cellWidth, height: rows * input.cellHeight, channels: 4, background: { r: 0, g: 0, b: 0, alpha: 0 } } }).composite(overlays).png().toFile(temp);
11
+ await rename(temp, input.outputPath);
17
12
  }
@@ -38,13 +38,8 @@ export async function readSpriteCuration(generatedDir, runId) {
38
38
  }
39
39
  }
40
40
  export async function writeSpriteCuration(generatedDir, runId, input) {
41
- try {
42
- const value = curationSchema.parse(input);
43
- const dir = resolveSpriteRunDir(generatedDir, runId);
44
- await mkdir(dir, { recursive: true });
45
- await atomicWriteJson(join(dir, "curation.json"), value);
46
- }
47
- catch (error) {
48
- throw error;
49
- }
41
+ const value = curationSchema.parse(input);
42
+ const dir = resolveSpriteRunDir(generatedDir, runId);
43
+ await mkdir(dir, { recursive: true });
44
+ await atomicWriteJson(join(dir, "curation.json"), value);
50
45
  }
@@ -19,81 +19,18 @@ function syncRows(id, recipe, now) { const db = getDb(); const keys = recipe.sta
19
19
  insert.run(id, key, now); if (keys.length)
20
20
  db.prepare(`DELETE FROM sprite_recipe_rows WHERE recipe_id = ? AND state_key NOT IN (${keys.map(() => "?").join(",")})`).run(id, ...keys); }
21
21
  class SqliteSpriteRecipeStore {
22
- async list() { try {
23
- return getDb().prepare(`${SELECT} ORDER BY updated_at DESC`).all().map(mapRow);
24
- }
25
- catch (error) {
26
- throw error;
27
- } }
28
- async get(id) { try {
29
- const row = find(id);
30
- return row ? mapRow(row) : null;
31
- }
32
- catch (error) {
33
- throw error;
34
- } }
35
- async create(input) { try {
36
- const recipe = normalizeSpriteRecipe(input.recipe);
37
- const id = `sr_${ulid()}`;
38
- const now = Date.now();
39
- const db = getDb();
40
- db.transaction(() => { db.prepare("INSERT INTO sprite_recipes (id,name,recipe,created_at,updated_at) VALUES (?,?,?,?,?)").run(id, nameOf(input.name), JSON.stringify(recipe), now, now); syncRows(id, recipe, now); })();
41
- return mapRow(requireRecipe(id));
42
- }
43
- catch (error) {
44
- throw error;
45
- } }
46
- async update(id, patch) { try {
47
- const current = mapRow(requireRecipe(id));
48
- const recipe = patch.recipe === undefined ? current.recipe : normalizeSpriteRecipe(patch.recipe);
49
- const name = patch.name === undefined ? current.name : nameOf(patch.name);
50
- const now = Date.now();
51
- const db = getDb();
52
- db.transaction(() => { db.prepare("UPDATE sprite_recipes SET name=?, recipe=?, updated_at=? WHERE id=?").run(name, JSON.stringify(recipe), now, id); syncRows(id, recipe, now); })();
53
- return mapRow(requireRecipe(id));
54
- }
55
- catch (error) {
56
- throw error;
57
- } }
58
- async setAnchorCandidate(id, assetId) { try {
59
- requireRecipe(id);
60
- const asset = getDb().prepare("SELECT kind FROM assets WHERE id=?").get(assetId);
61
- if (!asset || asset.kind !== "image")
62
- throw spriteStoreError(400, "INVALID_ANCHOR_ASSET", "anchor candidate must be an image");
63
- getDb().prepare("UPDATE sprite_recipes SET anchor_asset_id=?, anchor_status='candidate', updated_at=? WHERE id=?").run(assetId, Date.now(), id);
64
- return mapRow(requireRecipe(id));
65
- }
66
- catch (error) {
67
- throw error;
68
- } }
69
- async approveAnchor(id, assetId) { try {
70
- requireRecipe(id);
71
- const asset = getDb().prepare("SELECT kind FROM assets WHERE id=?").get(assetId);
72
- if (!asset)
73
- throw spriteStoreError(404, "ANCHOR_ASSET_NOT_FOUND", "anchor asset not found");
74
- if (asset.kind !== "image")
75
- throw spriteStoreError(400, "INVALID_ANCHOR_ASSET", "anchor asset must be an image");
76
- getDb().prepare("UPDATE sprite_recipes SET anchor_asset_id=?, anchor_status='approved', updated_at=? WHERE id=?").run(assetId, Date.now(), id);
77
- return mapRow(requireRecipe(id));
78
- }
79
- catch (error) {
80
- throw error;
81
- } }
82
- async updateRow(id, stateKey, patch) { try {
83
- const current = mapRow(requireRecipe(id));
84
- if (!current.recipe.states.some((state) => state.key === stateKey))
85
- throw spriteStoreError(404, "SPRITE_STATE_NOT_FOUND", "sprite state not found");
86
- getDb().prepare("UPDATE sprite_recipe_rows SET status=COALESCE(?,status), request_id=COALESCE(?,request_id), result_asset_id=COALESCE(?,result_asset_id), error_code=?, updated_at=? WHERE recipe_id=? AND state_key=?").run(patch.status ?? null, patch.requestId ?? null, patch.resultAssetId ?? null, patch.errorCode ?? null, Date.now(), id, stateKey);
87
- }
88
- catch (error) {
89
- throw error;
90
- } }
91
- async remove(id) { try {
92
- if (getDb().prepare("DELETE FROM sprite_recipes WHERE id=?").run(id).changes === 0)
93
- throw spriteStoreError(404, "SPRITE_RECIPE_NOT_FOUND", "sprite recipe not found");
94
- }
95
- catch (error) {
96
- throw error;
97
- } }
22
+ async list() { return getDb().prepare(`${SELECT} ORDER BY updated_at DESC`).all().map(mapRow); }
23
+ async get(id) { const row = find(id); return row ? mapRow(row) : null; }
24
+ async create(input) { const recipe = normalizeSpriteRecipe(input.recipe); const id = `sr_${ulid()}`; const now = Date.now(); const db = getDb(); db.transaction(() => { db.prepare("INSERT INTO sprite_recipes (id,name,recipe,created_at,updated_at) VALUES (?,?,?,?,?)").run(id, nameOf(input.name), JSON.stringify(recipe), now, now); syncRows(id, recipe, now); })(); return mapRow(requireRecipe(id)); }
25
+ async update(id, patch) { const current = mapRow(requireRecipe(id)); const recipe = patch.recipe === undefined ? current.recipe : normalizeSpriteRecipe(patch.recipe); const name = patch.name === undefined ? current.name : nameOf(patch.name); const now = Date.now(); const db = getDb(); db.transaction(() => { db.prepare("UPDATE sprite_recipes SET name=?, recipe=?, updated_at=? WHERE id=?").run(name, JSON.stringify(recipe), now, id); syncRows(id, recipe, now); })(); return mapRow(requireRecipe(id)); }
26
+ async setAnchorCandidate(id, assetId) { requireRecipe(id); const asset = getDb().prepare("SELECT kind FROM assets WHERE id=?").get(assetId); if (!asset || asset.kind !== "image")
27
+ throw spriteStoreError(400, "INVALID_ANCHOR_ASSET", "anchor candidate must be an image"); getDb().prepare("UPDATE sprite_recipes SET anchor_asset_id=?, anchor_status='candidate', updated_at=? WHERE id=?").run(assetId, Date.now(), id); return mapRow(requireRecipe(id)); }
28
+ async approveAnchor(id, assetId) { requireRecipe(id); const asset = getDb().prepare("SELECT kind FROM assets WHERE id=?").get(assetId); if (!asset)
29
+ throw spriteStoreError(404, "ANCHOR_ASSET_NOT_FOUND", "anchor asset not found"); if (asset.kind !== "image")
30
+ throw spriteStoreError(400, "INVALID_ANCHOR_ASSET", "anchor asset must be an image"); getDb().prepare("UPDATE sprite_recipes SET anchor_asset_id=?, anchor_status='approved', updated_at=? WHERE id=?").run(assetId, Date.now(), id); return mapRow(requireRecipe(id)); }
31
+ async updateRow(id, stateKey, patch) { const current = mapRow(requireRecipe(id)); if (!current.recipe.states.some((state) => state.key === stateKey))
32
+ throw spriteStoreError(404, "SPRITE_STATE_NOT_FOUND", "sprite state not found"); getDb().prepare("UPDATE sprite_recipe_rows SET status=COALESCE(?,status), request_id=COALESCE(?,request_id), result_asset_id=COALESCE(?,result_asset_id), error_code=?, updated_at=? WHERE recipe_id=? AND state_key=?").run(patch.status ?? null, patch.requestId ?? null, patch.resultAssetId ?? null, patch.errorCode ?? null, Date.now(), id, stateKey); }
33
+ async remove(id) { if (getDb().prepare("DELETE FROM sprite_recipes WHERE id=?").run(id).changes === 0)
34
+ throw spriteStoreError(404, "SPRITE_RECIPE_NOT_FOUND", "sprite recipe not found"); }
98
35
  }
99
36
  export const spriteRecipeStore = new SqliteSpriteRecipeStore();
@@ -12,32 +12,15 @@ import { spriteRecipeStore, spriteStoreError } from "./spriteRecipeStore.js";
12
12
  import { buildSpriteRowPrompt } from "./spriteRowPrompt.js";
13
13
  function requestId(req) { const raw = req.body?.requestId; return typeof raw === "string" && raw.trim() ? raw.trim().slice(0, 200) : req.id || `sprite_${Date.now().toString(36)}`; }
14
14
  function setSse(res) { res.setHeader("Content-Type", "text/event-stream; charset=utf-8"); res.setHeader("Cache-Control", "no-cache, no-transform"); res.setHeader("Connection", "keep-alive"); res.flushHeaders?.(); }
15
- async function requireRecipe(id) { try {
16
- const recipe = await spriteRecipeStore.get(id);
17
- if (!recipe)
18
- throw spriteStoreError(404, "SPRITE_RECIPE_NOT_FOUND", "sprite recipe not found");
19
- return recipe;
20
- }
21
- catch (error) {
22
- throw error;
23
- } }
15
+ async function requireRecipe(id) { const recipe = await spriteRecipeStore.get(id); if (!recipe)
16
+ throw spriteStoreError(404, "SPRITE_RECIPE_NOT_FOUND", "sprite recipe not found"); return recipe; }
24
17
  function selectStates(recipe, raw) { if (raw === undefined)
25
18
  return recipe.recipe.states; if (!Array.isArray(raw) || raw.some((key) => typeof key !== "string"))
26
19
  throw spriteStoreError(400, "INVALID_SPRITE_RECIPE", "states must be an array of state keys"); const wanted = new Set(raw); const selected = recipe.recipe.states.filter((state) => wanted.has(state.key)); if (selected.length !== wanted.size)
27
20
  throw spriteStoreError(404, "SPRITE_STATE_NOT_FOUND", "sprite state not found"); return selected; }
28
- async function references(recipe, guidePath, anchorMode) { try {
29
- const assetId = anchorMode === "approved-anchor" ? recipe.anchorAssetId : recipe.recipe.character.baseAssetId;
30
- if (!assetId)
31
- throw spriteStoreError(400, anchorMode === "approved-anchor" ? "ANCHOR_NOT_APPROVED" : "INVALID_ANCHOR_ASSET", "reference asset is required");
32
- const row = (await import("./assetsStore.js")).getAsset(assetId);
33
- if (!row?.filePath || row.kind !== "image")
34
- throw spriteStoreError(400, "INVALID_ANCHOR_ASSET", "reference asset must be an image file");
35
- const [identity, guide] = await Promise.all([readFile(join((await import("../config.js")).config.storage.generatedDir, row.filePath)), readFile(guidePath)]);
36
- return [`data:image/png;base64,${identity.toString("base64")}`, `data:image/png;base64,${guide.toString("base64")}`];
37
- }
38
- catch (error) {
39
- throw error;
40
- } }
21
+ async function references(recipe, guidePath, anchorMode) { const assetId = anchorMode === "approved-anchor" ? recipe.anchorAssetId : recipe.recipe.character.baseAssetId; if (!assetId)
22
+ throw spriteStoreError(400, anchorMode === "approved-anchor" ? "ANCHOR_NOT_APPROVED" : "INVALID_ANCHOR_ASSET", "reference asset is required"); const row = (await import("./assetsStore.js")).getAsset(assetId); if (!row?.filePath || row.kind !== "image")
23
+ throw spriteStoreError(400, "INVALID_ANCHOR_ASSET", "reference asset must be an image file"); const [identity, guide] = await Promise.all([readFile(join((await import("../config.js")).config.storage.generatedDir, row.filePath)), readFile(guidePath)]); return [`data:image/png;base64,${identity.toString("base64")}`, `data:image/png;base64,${guide.toString("base64")}`]; }
41
24
  async function generateRow(input) {
42
25
  try {
43
26
  await spriteRecipeStore.updateRow(input.recipe.id, input.state.key, { status: "running", requestId: input.requestId, errorCode: null });
@@ -113,6 +113,33 @@ await schema.parseAsync("hello");
113
113
  // => "hello"
114
114
  ```
115
115
 
116
+ ### AOT compilation
117
+
118
+ For hot validation paths, `z.compile(schema)` returns a schema clone with an ahead-of-time compiled fast path. Valid inputs take the compiled path; invalid inputs fall back to the regular parser so error reporting stays identical.
119
+
120
+ Across a 55-schema benchmark the median speedup is **2.4x**, and it scales with how much work the schema does per parse: a large array of objects is ~9x, a 20-key object ~9x, a nested object ~4.5x, while a bare `z.string()` gains nothing — compilation removes per-node dispatch and allocation, and a single `typeof` has none to remove.
121
+
122
+ ```ts
123
+ const CompiledPlayer = z.compile(Player);
124
+
125
+ CompiledPlayer.parse({ username: "billie", xp: 100 });
126
+ ```
127
+
128
+ To enable compilation globally for schemas constructed after import:
129
+
130
+ ```ts
131
+ import "zod/compile"; // place before modules that define schemas
132
+ ```
133
+
134
+ Things to know:
135
+
136
+ - Compilation uses `new Function`. Global mode is automatically disabled when `z.config({ jitless: true })` is set (e.g. CSP environments); calling `z.compile()` directly is an explicit opt-in.
137
+ - Schemas with async refinements or transforms can't be compiled, and neither can a few other constructs. That is not an error: `z.compile()` hands the schema back unchanged and it keeps using the regular parser, exactly as global mode leaves it. Pass `{ strict: true }` to throw `ZodCompileAsyncError` / `ZodCompileUnsupportedError` instead.
138
+ - On invalid input, refinements and transforms may run twice (fast path, then fallback).
139
+ - Deriving a new schema from a compiled one (`.refine()`, `.extend()`, etc.) returns an uncompiled schema — compile the final schema.
140
+
141
+ See [`compile` docs](https://zod.dev/compile) for details.
142
+
116
143
  ### Handling errors
117
144
 
118
145
  When validation fails, the `.parse()` method will throw a `ZodError` instance with granular information about the validation issues.
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ // Side-effect-only: installs the post-processor on `globalConfig`. Listed in `package.json`'s `sideEffects`, and nothing else references it, so apps that never import it drop the compiler.
3
+ //
4
+ // Usage:
5
+ //
6
+ // import "zod/compile";
7
+ // import * as z from "zod";
8
+ // // every schema constructed below this is compiled on first parse
9
+ //
10
+ // Module evaluation order matters: schemas constructed in modules that evaluate before this import will not be compiled. Place this import in the app entry point, before any module that constructs schemas at top level.
11
+ //
12
+ // Failure handling: if the compiler refuses a schema (async refinement, unsupported feature, etc.) the shim permanently restores the runtime `_zod.run` for that schema. The schema continues to work via the regular runtime parser — no observable difference to the caller.
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const compile_js_1 = require("./v4/core/compile.cjs");
38
+ const core = __importStar(require("./v4/core/index.cjs"));
39
+ let compiling = false;
40
+ core.globalConfig.postProcessor = (inst) => {
41
+ if (compiling)
42
+ return;
43
+ const originalRun = inst._zod?.run;
44
+ if (typeof originalRun !== "function")
45
+ return;
46
+ const shim = (payload, ctx) => {
47
+ // Bypass the fast path for any non-forward / non-sync / check-skipping call. The runtime owns those contracts.
48
+ if (ctx?.async || ctx?.direction === "backward" || ctx?.skipChecks) {
49
+ return originalRun(payload, ctx);
50
+ }
51
+ compiling = true;
52
+ try {
53
+ // Respect the jitless config: it exists precisely so CSP/no-eval environments never reach `new Function`. Global mode must not bypass it (explicit z.compile calls remain an explicit opt-in).
54
+ if (core.globalConfig.jitless) {
55
+ inst._zod.run = originalRun;
56
+ return originalRun(payload, ctx);
57
+ }
58
+ // Strict: the shim owns its own fallback below, and a non-strict compile would hand back `inst` — whose run is this shim — and reinstall it on itself.
59
+ const compiled = (0, compile_js_1.compile)(inst, { strict: true });
60
+ // Only the run wrapper. Copying the compiled parse/safeParse closures would make their fallback re-enter this instance and run user callbacks a third time.
61
+ inst._zod.run = compiled._zod.run;
62
+ inst._zod.bag.fallbackRun = compiled._zod.bag.fallbackRun;
63
+ inst._zod.bag.validator = compiled._zod.bag.validator;
64
+ }
65
+ catch {
66
+ // Permanent fallback for unsupported schemas.
67
+ inst._zod.run = originalRun;
68
+ }
69
+ finally {
70
+ compiling = false;
71
+ }
72
+ return inst._zod.run(payload, ctx);
73
+ };
74
+ // Expose the pre-shim runtime so `compile()` invoked elsewhere can unwrap past the shim and capture the source-of-truth runtime. Without this, a user calling `z.compile(s)` after global mode is enabled would capture the shim itself, which would feed the wrapper into itself on fallback.
75
+ shim.__originalRun = originalRun;
76
+ inst._zod.run = shim;
77
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ // Side-effect-only: installs the post-processor on `globalConfig`. Listed in `package.json`'s `sideEffects`, and nothing else references it, so apps that never import it drop the compiler.
2
+ //
3
+ // Usage:
4
+ //
5
+ // import "zod/compile";
6
+ // import * as z from "zod";
7
+ // // every schema constructed below this is compiled on first parse
8
+ //
9
+ // Module evaluation order matters: schemas constructed in modules that evaluate before this import will not be compiled. Place this import in the app entry point, before any module that constructs schemas at top level.
10
+ //
11
+ // Failure handling: if the compiler refuses a schema (async refinement, unsupported feature, etc.) the shim permanently restores the runtime `_zod.run` for that schema. The schema continues to work via the regular runtime parser — no observable difference to the caller.
12
+ import { compile } from "./v4/core/compile.js";
13
+ import * as core from "./v4/core/index.js";
14
+ let compiling = false;
15
+ core.globalConfig.postProcessor = (inst) => {
16
+ if (compiling)
17
+ return;
18
+ const originalRun = inst._zod?.run;
19
+ if (typeof originalRun !== "function")
20
+ return;
21
+ const shim = (payload, ctx) => {
22
+ // Bypass the fast path for any non-forward / non-sync / check-skipping call. The runtime owns those contracts.
23
+ if (ctx?.async || ctx?.direction === "backward" || ctx?.skipChecks) {
24
+ return originalRun(payload, ctx);
25
+ }
26
+ compiling = true;
27
+ try {
28
+ // Respect the jitless config: it exists precisely so CSP/no-eval environments never reach `new Function`. Global mode must not bypass it (explicit z.compile calls remain an explicit opt-in).
29
+ if (core.globalConfig.jitless) {
30
+ inst._zod.run = originalRun;
31
+ return originalRun(payload, ctx);
32
+ }
33
+ // Strict: the shim owns its own fallback below, and a non-strict compile would hand back `inst` — whose run is this shim — and reinstall it on itself.
34
+ const compiled = compile(inst, { strict: true });
35
+ // Only the run wrapper. Copying the compiled parse/safeParse closures would make their fallback re-enter this instance and run user callbacks a third time.
36
+ inst._zod.run = compiled._zod.run;
37
+ inst._zod.bag.fallbackRun = compiled._zod.bag.fallbackRun;
38
+ inst._zod.bag.validator = compiled._zod.bag.validator;
39
+ }
40
+ catch {
41
+ // Permanent fallback for unsupported schemas.
42
+ inst._zod.run = originalRun;
43
+ }
44
+ finally {
45
+ compiling = false;
46
+ }
47
+ return inst._zod.run(payload, ctx);
48
+ };
49
+ // Expose the pre-shim runtime so `compile()` invoked elsewhere can unwrap past the shim and capture the source-of-truth runtime. Without this, a user calling `z.compile(s)` after global mode is enabled would capture the shim itself, which would feed the wrapper into itself on fallback.
50
+ shim.__originalRun = originalRun;
51
+ inst._zod.run = shim;
52
+ };
@@ -26,8 +26,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.z = void 0;
29
+ exports.default = exports.z = void 0;
30
30
  const z = __importStar(require("./v4/classic/external.cjs"));
31
31
  exports.z = z;
32
- __exportStar(require("./v4/classic/external.cjs"), exports);
33
32
  exports.default = z;
33
+ __exportStar(require("./v4/classic/external.cjs"), exports);
@@ -1,4 +1,3 @@
1
1
  import * as z from "./v4/classic/external.cjs";
2
2
  export * from "./v4/classic/external.cjs";
3
- export { z };
4
- export default z;
3
+ export { z, z as default };
@@ -1,4 +1,3 @@
1
1
  import * as z from "./v4/classic/external.js";
2
2
  export * from "./v4/classic/external.js";
3
- export { z };
4
- export default z;
3
+ export { z, z as default };
@@ -1,4 +1,7 @@
1
1
  import * as z from "./v4/classic/external.js";
2
2
  export * from "./v4/classic/external.js";
3
- export { z };
4
- export default z;
3
+ // Aliasing the binding, instead of `export default z`, keeps the default export a
4
+ // re-export of `z` rather than a fresh namespace value. Rollup and Webpack can then
5
+ // shake `import z from "zod"` as they already shake `import { z } from "zod"` — without
6
+ // this they pull in every locale. See #6050.
7
+ export { z, z as default };