plugin-build-visualization-block 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (765) hide show
  1. package/client-v2.d.ts +2 -0
  2. package/client-v2.js +1 -0
  3. package/client.d.ts +2 -0
  4. package/client.js +1 -0
  5. package/dist/client/index.js +10 -0
  6. package/dist/client-v2/812.25692e474e296143.js +10 -0
  7. package/dist/client-v2/index.js +10 -0
  8. package/dist/externalVersion.js +24 -0
  9. package/dist/index.js +48 -0
  10. package/dist/locale/en-US.json +45 -0
  11. package/dist/locale/namespace.js +36 -0
  12. package/dist/locale/vi-VN.json +46 -0
  13. package/dist/locale/zh-CN.json +46 -0
  14. package/dist/node_modules/zod/LICENSE +21 -0
  15. package/dist/node_modules/zod/index.cjs +1 -0
  16. package/dist/node_modules/zod/index.d.cts +4 -0
  17. package/dist/node_modules/zod/index.d.ts +4 -0
  18. package/dist/node_modules/zod/index.js +4 -0
  19. package/dist/node_modules/zod/locales/index.cjs +17 -0
  20. package/dist/node_modules/zod/locales/index.d.cts +1 -0
  21. package/dist/node_modules/zod/locales/index.d.ts +1 -0
  22. package/dist/node_modules/zod/locales/index.js +1 -0
  23. package/dist/node_modules/zod/locales/package.json +6 -0
  24. package/dist/node_modules/zod/mini/index.cjs +17 -0
  25. package/dist/node_modules/zod/mini/index.d.cts +1 -0
  26. package/dist/node_modules/zod/mini/index.d.ts +1 -0
  27. package/dist/node_modules/zod/mini/index.js +1 -0
  28. package/dist/node_modules/zod/mini/package.json +6 -0
  29. package/dist/node_modules/zod/package.json +1 -0
  30. package/dist/node_modules/zod/src/index.ts +4 -0
  31. package/dist/node_modules/zod/src/locales/index.ts +1 -0
  32. package/dist/node_modules/zod/src/mini/index.ts +1 -0
  33. package/dist/node_modules/zod/src/v3/ZodError.ts +330 -0
  34. package/dist/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  35. package/dist/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  36. package/dist/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  37. package/dist/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  38. package/dist/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  39. package/dist/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  40. package/dist/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  41. package/dist/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  42. package/dist/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  43. package/dist/node_modules/zod/src/v3/errors.ts +13 -0
  44. package/dist/node_modules/zod/src/v3/external.ts +6 -0
  45. package/dist/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  46. package/dist/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  47. package/dist/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  48. package/dist/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  49. package/dist/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  50. package/dist/node_modules/zod/src/v3/helpers/util.ts +224 -0
  51. package/dist/node_modules/zod/src/v3/index.ts +4 -0
  52. package/dist/node_modules/zod/src/v3/locales/en.ts +124 -0
  53. package/dist/node_modules/zod/src/v3/standard-schema.ts +113 -0
  54. package/dist/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  55. package/dist/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  56. package/dist/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  57. package/dist/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  58. package/dist/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  59. package/dist/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  60. package/dist/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  61. package/dist/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  62. package/dist/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  63. package/dist/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  64. package/dist/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  65. package/dist/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  66. package/dist/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  67. package/dist/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  68. package/dist/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  69. package/dist/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  70. package/dist/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  71. package/dist/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  72. package/dist/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  73. package/dist/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  74. package/dist/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  75. package/dist/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  76. package/dist/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  77. package/dist/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  78. package/dist/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  79. package/dist/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  80. package/dist/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  81. package/dist/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  82. package/dist/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  83. package/dist/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  84. package/dist/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  85. package/dist/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  86. package/dist/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  87. package/dist/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  88. package/dist/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  89. package/dist/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  90. package/dist/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  91. package/dist/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  92. package/dist/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  93. package/dist/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  94. package/dist/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  95. package/dist/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  96. package/dist/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  97. package/dist/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  98. package/dist/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  99. package/dist/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  100. package/dist/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  101. package/dist/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  102. package/dist/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  103. package/dist/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  104. package/dist/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  105. package/dist/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  106. package/dist/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  107. package/dist/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  108. package/dist/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  109. package/dist/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  110. package/dist/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  111. package/dist/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  112. package/dist/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  113. package/dist/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  114. package/dist/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  115. package/dist/node_modules/zod/src/v3/types.ts +5138 -0
  116. package/dist/node_modules/zod/src/v4/classic/checks.ts +32 -0
  117. package/dist/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  118. package/dist/node_modules/zod/src/v4/classic/compat.ts +70 -0
  119. package/dist/node_modules/zod/src/v4/classic/errors.ts +82 -0
  120. package/dist/node_modules/zod/src/v4/classic/external.ts +51 -0
  121. package/dist/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
  122. package/dist/node_modules/zod/src/v4/classic/index.ts +5 -0
  123. package/dist/node_modules/zod/src/v4/classic/iso.ts +90 -0
  124. package/dist/node_modules/zod/src/v4/classic/parse.ts +82 -0
  125. package/dist/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
  126. package/dist/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  127. package/dist/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  128. package/dist/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  129. package/dist/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  130. package/dist/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  131. package/dist/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  132. package/dist/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  133. package/dist/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  134. package/dist/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  135. package/dist/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  136. package/dist/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  137. package/dist/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  138. package/dist/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  139. package/dist/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  140. package/dist/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  141. package/dist/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  142. package/dist/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  143. package/dist/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  144. package/dist/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  145. package/dist/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  146. package/dist/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  147. package/dist/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  148. package/dist/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  149. package/dist/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  150. package/dist/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  151. package/dist/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  152. package/dist/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  153. package/dist/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  154. package/dist/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
  155. package/dist/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  156. package/dist/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  157. package/dist/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  158. package/dist/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  159. package/dist/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  160. package/dist/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  161. package/dist/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  162. package/dist/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  163. package/dist/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  164. package/dist/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  165. package/dist/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  166. package/dist/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  167. package/dist/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  168. package/dist/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  169. package/dist/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  170. package/dist/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
  171. package/dist/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
  172. package/dist/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
  173. package/dist/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  174. package/dist/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  175. package/dist/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  176. package/dist/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  177. package/dist/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  178. package/dist/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  179. package/dist/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  180. package/dist/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  181. package/dist/node_modules/zod/src/v4/classic/tests/record.test.ts +600 -0
  182. package/dist/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
  183. package/dist/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
  184. package/dist/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  185. package/dist/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  186. package/dist/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  187. package/dist/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  188. package/dist/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
  189. package/dist/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  190. package/dist/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  191. package/dist/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  192. package/dist/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2975 -0
  193. package/dist/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  194. package/dist/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
  195. package/dist/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
  196. package/dist/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  197. package/dist/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  198. package/dist/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  199. package/dist/node_modules/zod/src/v4/core/api.ts +1798 -0
  200. package/dist/node_modules/zod/src/v4/core/checks.ts +1293 -0
  201. package/dist/node_modules/zod/src/v4/core/config.ts +15 -0
  202. package/dist/node_modules/zod/src/v4/core/core.ts +138 -0
  203. package/dist/node_modules/zod/src/v4/core/doc.ts +44 -0
  204. package/dist/node_modules/zod/src/v4/core/errors.ts +448 -0
  205. package/dist/node_modules/zod/src/v4/core/index.ts +16 -0
  206. package/dist/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  207. package/dist/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
  208. package/dist/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  209. package/dist/node_modules/zod/src/v4/core/parse.ts +195 -0
  210. package/dist/node_modules/zod/src/v4/core/regexes.ts +183 -0
  211. package/dist/node_modules/zod/src/v4/core/registries.ts +105 -0
  212. package/dist/node_modules/zod/src/v4/core/schemas.ts +4543 -0
  213. package/dist/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  214. package/dist/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  215. package/dist/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  216. package/dist/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  217. package/dist/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  218. package/dist/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  219. package/dist/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  220. package/dist/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  221. package/dist/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  222. package/dist/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  223. package/dist/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
  224. package/dist/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
  225. package/dist/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  226. package/dist/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
  227. package/dist/node_modules/zod/src/v4/core/util.ts +966 -0
  228. package/dist/node_modules/zod/src/v4/core/versions.ts +5 -0
  229. package/dist/node_modules/zod/src/v4/core/zsf.ts +323 -0
  230. package/dist/node_modules/zod/src/v4/index.ts +4 -0
  231. package/dist/node_modules/zod/src/v4/locales/ar.ts +115 -0
  232. package/dist/node_modules/zod/src/v4/locales/az.ts +111 -0
  233. package/dist/node_modules/zod/src/v4/locales/be.ts +176 -0
  234. package/dist/node_modules/zod/src/v4/locales/bg.ts +128 -0
  235. package/dist/node_modules/zod/src/v4/locales/ca.ts +116 -0
  236. package/dist/node_modules/zod/src/v4/locales/cs.ts +118 -0
  237. package/dist/node_modules/zod/src/v4/locales/da.ts +123 -0
  238. package/dist/node_modules/zod/src/v4/locales/de.ts +116 -0
  239. package/dist/node_modules/zod/src/v4/locales/en.ts +119 -0
  240. package/dist/node_modules/zod/src/v4/locales/eo.ts +118 -0
  241. package/dist/node_modules/zod/src/v4/locales/es.ts +141 -0
  242. package/dist/node_modules/zod/src/v4/locales/fa.ts +126 -0
  243. package/dist/node_modules/zod/src/v4/locales/fi.ts +121 -0
  244. package/dist/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  245. package/dist/node_modules/zod/src/v4/locales/fr.ts +116 -0
  246. package/dist/node_modules/zod/src/v4/locales/he.ts +246 -0
  247. package/dist/node_modules/zod/src/v4/locales/hu.ts +117 -0
  248. package/dist/node_modules/zod/src/v4/locales/hy.ts +164 -0
  249. package/dist/node_modules/zod/src/v4/locales/id.ts +115 -0
  250. package/dist/node_modules/zod/src/v4/locales/index.ts +49 -0
  251. package/dist/node_modules/zod/src/v4/locales/is.ts +119 -0
  252. package/dist/node_modules/zod/src/v4/locales/it.ts +116 -0
  253. package/dist/node_modules/zod/src/v4/locales/ja.ts +114 -0
  254. package/dist/node_modules/zod/src/v4/locales/ka.ts +123 -0
  255. package/dist/node_modules/zod/src/v4/locales/kh.ts +7 -0
  256. package/dist/node_modules/zod/src/v4/locales/km.ts +119 -0
  257. package/dist/node_modules/zod/src/v4/locales/ko.ts +121 -0
  258. package/dist/node_modules/zod/src/v4/locales/lt.ts +239 -0
  259. package/dist/node_modules/zod/src/v4/locales/mk.ts +118 -0
  260. package/dist/node_modules/zod/src/v4/locales/ms.ts +115 -0
  261. package/dist/node_modules/zod/src/v4/locales/nl.ts +121 -0
  262. package/dist/node_modules/zod/src/v4/locales/no.ts +116 -0
  263. package/dist/node_modules/zod/src/v4/locales/ota.ts +117 -0
  264. package/dist/node_modules/zod/src/v4/locales/pl.ts +118 -0
  265. package/dist/node_modules/zod/src/v4/locales/ps.ts +126 -0
  266. package/dist/node_modules/zod/src/v4/locales/pt.ts +116 -0
  267. package/dist/node_modules/zod/src/v4/locales/ru.ts +176 -0
  268. package/dist/node_modules/zod/src/v4/locales/sl.ts +118 -0
  269. package/dist/node_modules/zod/src/v4/locales/sv.ts +119 -0
  270. package/dist/node_modules/zod/src/v4/locales/ta.ts +118 -0
  271. package/dist/node_modules/zod/src/v4/locales/th.ts +119 -0
  272. package/dist/node_modules/zod/src/v4/locales/tr.ts +111 -0
  273. package/dist/node_modules/zod/src/v4/locales/ua.ts +7 -0
  274. package/dist/node_modules/zod/src/v4/locales/uk.ts +117 -0
  275. package/dist/node_modules/zod/src/v4/locales/ur.ts +119 -0
  276. package/dist/node_modules/zod/src/v4/locales/uz.ts +116 -0
  277. package/dist/node_modules/zod/src/v4/locales/vi.ts +117 -0
  278. package/dist/node_modules/zod/src/v4/locales/yo.ts +124 -0
  279. package/dist/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  280. package/dist/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  281. package/dist/node_modules/zod/src/v4/mini/checks.ts +32 -0
  282. package/dist/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  283. package/dist/node_modules/zod/src/v4/mini/external.ts +40 -0
  284. package/dist/node_modules/zod/src/v4/mini/index.ts +3 -0
  285. package/dist/node_modules/zod/src/v4/mini/iso.ts +66 -0
  286. package/dist/node_modules/zod/src/v4/mini/parse.ts +14 -0
  287. package/dist/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
  288. package/dist/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  289. package/dist/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  290. package/dist/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  291. package/dist/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  292. package/dist/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  293. package/dist/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  294. package/dist/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  295. package/dist/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  296. package/dist/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
  297. package/dist/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  298. package/dist/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  299. package/dist/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  300. package/dist/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  301. package/dist/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  302. package/dist/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
  303. package/dist/node_modules/zod/src/v4-mini/index.ts +1 -0
  304. package/dist/node_modules/zod/v3/ZodError.cjs +138 -0
  305. package/dist/node_modules/zod/v3/ZodError.d.cts +164 -0
  306. package/dist/node_modules/zod/v3/ZodError.d.ts +164 -0
  307. package/dist/node_modules/zod/v3/ZodError.js +133 -0
  308. package/dist/node_modules/zod/v3/errors.cjs +17 -0
  309. package/dist/node_modules/zod/v3/errors.d.cts +5 -0
  310. package/dist/node_modules/zod/v3/errors.d.ts +5 -0
  311. package/dist/node_modules/zod/v3/errors.js +9 -0
  312. package/dist/node_modules/zod/v3/external.cjs +22 -0
  313. package/dist/node_modules/zod/v3/external.d.cts +6 -0
  314. package/dist/node_modules/zod/v3/external.d.ts +6 -0
  315. package/dist/node_modules/zod/v3/external.js +6 -0
  316. package/dist/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  317. package/dist/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  318. package/dist/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  319. package/dist/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  320. package/dist/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  321. package/dist/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  322. package/dist/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  323. package/dist/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  324. package/dist/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  325. package/dist/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  326. package/dist/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  327. package/dist/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  328. package/dist/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  329. package/dist/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  330. package/dist/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  331. package/dist/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  332. package/dist/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  333. package/dist/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  334. package/dist/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  335. package/dist/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  336. package/dist/node_modules/zod/v3/helpers/util.cjs +137 -0
  337. package/dist/node_modules/zod/v3/helpers/util.d.cts +85 -0
  338. package/dist/node_modules/zod/v3/helpers/util.d.ts +85 -0
  339. package/dist/node_modules/zod/v3/helpers/util.js +133 -0
  340. package/dist/node_modules/zod/v3/index.cjs +33 -0
  341. package/dist/node_modules/zod/v3/index.d.cts +4 -0
  342. package/dist/node_modules/zod/v3/index.d.ts +4 -0
  343. package/dist/node_modules/zod/v3/index.js +4 -0
  344. package/dist/node_modules/zod/v3/locales/en.cjs +112 -0
  345. package/dist/node_modules/zod/v3/locales/en.d.cts +3 -0
  346. package/dist/node_modules/zod/v3/locales/en.d.ts +3 -0
  347. package/dist/node_modules/zod/v3/locales/en.js +109 -0
  348. package/dist/node_modules/zod/v3/package.json +6 -0
  349. package/dist/node_modules/zod/v3/standard-schema.cjs +2 -0
  350. package/dist/node_modules/zod/v3/standard-schema.d.cts +102 -0
  351. package/dist/node_modules/zod/v3/standard-schema.d.ts +102 -0
  352. package/dist/node_modules/zod/v3/standard-schema.js +1 -0
  353. package/dist/node_modules/zod/v3/types.cjs +3777 -0
  354. package/dist/node_modules/zod/v3/types.d.cts +1034 -0
  355. package/dist/node_modules/zod/v3/types.d.ts +1034 -0
  356. package/dist/node_modules/zod/v3/types.js +3695 -0
  357. package/dist/node_modules/zod/v4/classic/checks.cjs +33 -0
  358. package/dist/node_modules/zod/v4/classic/checks.d.cts +1 -0
  359. package/dist/node_modules/zod/v4/classic/checks.d.ts +1 -0
  360. package/dist/node_modules/zod/v4/classic/checks.js +1 -0
  361. package/dist/node_modules/zod/v4/classic/coerce.cjs +47 -0
  362. package/dist/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  363. package/dist/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  364. package/dist/node_modules/zod/v4/classic/coerce.js +17 -0
  365. package/dist/node_modules/zod/v4/classic/compat.cjs +61 -0
  366. package/dist/node_modules/zod/v4/classic/compat.d.cts +50 -0
  367. package/dist/node_modules/zod/v4/classic/compat.d.ts +50 -0
  368. package/dist/node_modules/zod/v4/classic/compat.js +31 -0
  369. package/dist/node_modules/zod/v4/classic/errors.cjs +74 -0
  370. package/dist/node_modules/zod/v4/classic/errors.d.cts +30 -0
  371. package/dist/node_modules/zod/v4/classic/errors.d.ts +30 -0
  372. package/dist/node_modules/zod/v4/classic/errors.js +48 -0
  373. package/dist/node_modules/zod/v4/classic/external.cjs +73 -0
  374. package/dist/node_modules/zod/v4/classic/external.d.cts +15 -0
  375. package/dist/node_modules/zod/v4/classic/external.d.ts +15 -0
  376. package/dist/node_modules/zod/v4/classic/external.js +20 -0
  377. package/dist/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
  378. package/dist/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  379. package/dist/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  380. package/dist/node_modules/zod/v4/classic/from-json-schema.js +584 -0
  381. package/dist/node_modules/zod/v4/classic/index.cjs +33 -0
  382. package/dist/node_modules/zod/v4/classic/index.d.cts +4 -0
  383. package/dist/node_modules/zod/v4/classic/index.d.ts +4 -0
  384. package/dist/node_modules/zod/v4/classic/index.js +4 -0
  385. package/dist/node_modules/zod/v4/classic/iso.cjs +60 -0
  386. package/dist/node_modules/zod/v4/classic/iso.d.cts +22 -0
  387. package/dist/node_modules/zod/v4/classic/iso.d.ts +22 -0
  388. package/dist/node_modules/zod/v4/classic/iso.js +30 -0
  389. package/dist/node_modules/zod/v4/classic/package.json +6 -0
  390. package/dist/node_modules/zod/v4/classic/parse.cjs +41 -0
  391. package/dist/node_modules/zod/v4/classic/parse.d.cts +31 -0
  392. package/dist/node_modules/zod/v4/classic/parse.d.ts +31 -0
  393. package/dist/node_modules/zod/v4/classic/parse.js +15 -0
  394. package/dist/node_modules/zod/v4/classic/schemas.cjs +1272 -0
  395. package/dist/node_modules/zod/v4/classic/schemas.d.cts +739 -0
  396. package/dist/node_modules/zod/v4/classic/schemas.d.ts +739 -0
  397. package/dist/node_modules/zod/v4/classic/schemas.js +1157 -0
  398. package/dist/node_modules/zod/v4/core/api.cjs +1222 -0
  399. package/dist/node_modules/zod/v4/core/api.d.cts +304 -0
  400. package/dist/node_modules/zod/v4/core/api.d.ts +304 -0
  401. package/dist/node_modules/zod/v4/core/api.js +1082 -0
  402. package/dist/node_modules/zod/v4/core/checks.cjs +601 -0
  403. package/dist/node_modules/zod/v4/core/checks.d.cts +278 -0
  404. package/dist/node_modules/zod/v4/core/checks.d.ts +278 -0
  405. package/dist/node_modules/zod/v4/core/checks.js +575 -0
  406. package/dist/node_modules/zod/v4/core/core.cjs +83 -0
  407. package/dist/node_modules/zod/v4/core/core.d.cts +70 -0
  408. package/dist/node_modules/zod/v4/core/core.d.ts +70 -0
  409. package/dist/node_modules/zod/v4/core/core.js +76 -0
  410. package/dist/node_modules/zod/v4/core/doc.cjs +39 -0
  411. package/dist/node_modules/zod/v4/core/doc.d.cts +14 -0
  412. package/dist/node_modules/zod/v4/core/doc.d.ts +14 -0
  413. package/dist/node_modules/zod/v4/core/doc.js +35 -0
  414. package/dist/node_modules/zod/v4/core/errors.cjs +213 -0
  415. package/dist/node_modules/zod/v4/core/errors.d.cts +220 -0
  416. package/dist/node_modules/zod/v4/core/errors.d.ts +220 -0
  417. package/dist/node_modules/zod/v4/core/errors.js +182 -0
  418. package/dist/node_modules/zod/v4/core/index.cjs +47 -0
  419. package/dist/node_modules/zod/v4/core/index.d.cts +16 -0
  420. package/dist/node_modules/zod/v4/core/index.d.ts +16 -0
  421. package/dist/node_modules/zod/v4/core/index.js +16 -0
  422. package/dist/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  423. package/dist/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  424. package/dist/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  425. package/dist/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  426. package/dist/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
  427. package/dist/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  428. package/dist/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  429. package/dist/node_modules/zod/v4/core/json-schema-processors.js +605 -0
  430. package/dist/node_modules/zod/v4/core/json-schema.cjs +2 -0
  431. package/dist/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  432. package/dist/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  433. package/dist/node_modules/zod/v4/core/json-schema.js +1 -0
  434. package/dist/node_modules/zod/v4/core/package.json +6 -0
  435. package/dist/node_modules/zod/v4/core/parse.cjs +131 -0
  436. package/dist/node_modules/zod/v4/core/parse.d.cts +49 -0
  437. package/dist/node_modules/zod/v4/core/parse.d.ts +49 -0
  438. package/dist/node_modules/zod/v4/core/parse.js +93 -0
  439. package/dist/node_modules/zod/v4/core/regexes.cjs +166 -0
  440. package/dist/node_modules/zod/v4/core/regexes.d.cts +79 -0
  441. package/dist/node_modules/zod/v4/core/regexes.d.ts +79 -0
  442. package/dist/node_modules/zod/v4/core/regexes.js +133 -0
  443. package/dist/node_modules/zod/v4/core/registries.cjs +56 -0
  444. package/dist/node_modules/zod/v4/core/registries.d.cts +35 -0
  445. package/dist/node_modules/zod/v4/core/registries.d.ts +35 -0
  446. package/dist/node_modules/zod/v4/core/registries.js +51 -0
  447. package/dist/node_modules/zod/v4/core/schemas.cjs +2126 -0
  448. package/dist/node_modules/zod/v4/core/schemas.d.cts +1146 -0
  449. package/dist/node_modules/zod/v4/core/schemas.d.ts +1146 -0
  450. package/dist/node_modules/zod/v4/core/schemas.js +2095 -0
  451. package/dist/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  452. package/dist/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  453. package/dist/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  454. package/dist/node_modules/zod/v4/core/standard-schema.js +1 -0
  455. package/dist/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
  456. package/dist/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  457. package/dist/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  458. package/dist/node_modules/zod/v4/core/to-json-schema.js +437 -0
  459. package/dist/node_modules/zod/v4/core/util.cjs +710 -0
  460. package/dist/node_modules/zod/v4/core/util.d.cts +199 -0
  461. package/dist/node_modules/zod/v4/core/util.d.ts +199 -0
  462. package/dist/node_modules/zod/v4/core/util.js +651 -0
  463. package/dist/node_modules/zod/v4/core/versions.cjs +8 -0
  464. package/dist/node_modules/zod/v4/core/versions.d.cts +5 -0
  465. package/dist/node_modules/zod/v4/core/versions.d.ts +5 -0
  466. package/dist/node_modules/zod/v4/core/versions.js +5 -0
  467. package/dist/node_modules/zod/v4/index.cjs +22 -0
  468. package/dist/node_modules/zod/v4/index.d.cts +3 -0
  469. package/dist/node_modules/zod/v4/index.d.ts +3 -0
  470. package/dist/node_modules/zod/v4/index.js +3 -0
  471. package/dist/node_modules/zod/v4/locales/ar.cjs +133 -0
  472. package/dist/node_modules/zod/v4/locales/ar.d.cts +5 -0
  473. package/dist/node_modules/zod/v4/locales/ar.d.ts +4 -0
  474. package/dist/node_modules/zod/v4/locales/ar.js +106 -0
  475. package/dist/node_modules/zod/v4/locales/az.cjs +132 -0
  476. package/dist/node_modules/zod/v4/locales/az.d.cts +5 -0
  477. package/dist/node_modules/zod/v4/locales/az.d.ts +4 -0
  478. package/dist/node_modules/zod/v4/locales/az.js +105 -0
  479. package/dist/node_modules/zod/v4/locales/be.cjs +183 -0
  480. package/dist/node_modules/zod/v4/locales/be.d.cts +5 -0
  481. package/dist/node_modules/zod/v4/locales/be.d.ts +4 -0
  482. package/dist/node_modules/zod/v4/locales/be.js +156 -0
  483. package/dist/node_modules/zod/v4/locales/bg.cjs +147 -0
  484. package/dist/node_modules/zod/v4/locales/bg.d.cts +5 -0
  485. package/dist/node_modules/zod/v4/locales/bg.d.ts +4 -0
  486. package/dist/node_modules/zod/v4/locales/bg.js +120 -0
  487. package/dist/node_modules/zod/v4/locales/ca.cjs +134 -0
  488. package/dist/node_modules/zod/v4/locales/ca.d.cts +5 -0
  489. package/dist/node_modules/zod/v4/locales/ca.d.ts +4 -0
  490. package/dist/node_modules/zod/v4/locales/ca.js +107 -0
  491. package/dist/node_modules/zod/v4/locales/cs.cjs +138 -0
  492. package/dist/node_modules/zod/v4/locales/cs.d.cts +5 -0
  493. package/dist/node_modules/zod/v4/locales/cs.d.ts +4 -0
  494. package/dist/node_modules/zod/v4/locales/cs.js +111 -0
  495. package/dist/node_modules/zod/v4/locales/da.cjs +142 -0
  496. package/dist/node_modules/zod/v4/locales/da.d.cts +5 -0
  497. package/dist/node_modules/zod/v4/locales/da.d.ts +4 -0
  498. package/dist/node_modules/zod/v4/locales/da.js +115 -0
  499. package/dist/node_modules/zod/v4/locales/de.cjs +135 -0
  500. package/dist/node_modules/zod/v4/locales/de.d.cts +5 -0
  501. package/dist/node_modules/zod/v4/locales/de.d.ts +4 -0
  502. package/dist/node_modules/zod/v4/locales/de.js +108 -0
  503. package/dist/node_modules/zod/v4/locales/en.cjs +136 -0
  504. package/dist/node_modules/zod/v4/locales/en.d.cts +5 -0
  505. package/dist/node_modules/zod/v4/locales/en.d.ts +4 -0
  506. package/dist/node_modules/zod/v4/locales/en.js +109 -0
  507. package/dist/node_modules/zod/v4/locales/eo.cjs +136 -0
  508. package/dist/node_modules/zod/v4/locales/eo.d.cts +5 -0
  509. package/dist/node_modules/zod/v4/locales/eo.d.ts +4 -0
  510. package/dist/node_modules/zod/v4/locales/eo.js +109 -0
  511. package/dist/node_modules/zod/v4/locales/es.cjs +159 -0
  512. package/dist/node_modules/zod/v4/locales/es.d.cts +5 -0
  513. package/dist/node_modules/zod/v4/locales/es.d.ts +4 -0
  514. package/dist/node_modules/zod/v4/locales/es.js +132 -0
  515. package/dist/node_modules/zod/v4/locales/fa.cjs +141 -0
  516. package/dist/node_modules/zod/v4/locales/fa.d.cts +5 -0
  517. package/dist/node_modules/zod/v4/locales/fa.d.ts +4 -0
  518. package/dist/node_modules/zod/v4/locales/fa.js +114 -0
  519. package/dist/node_modules/zod/v4/locales/fi.cjs +139 -0
  520. package/dist/node_modules/zod/v4/locales/fi.d.cts +5 -0
  521. package/dist/node_modules/zod/v4/locales/fi.d.ts +4 -0
  522. package/dist/node_modules/zod/v4/locales/fi.js +112 -0
  523. package/dist/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  524. package/dist/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  525. package/dist/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  526. package/dist/node_modules/zod/v4/locales/fr-CA.js +107 -0
  527. package/dist/node_modules/zod/v4/locales/fr.cjs +135 -0
  528. package/dist/node_modules/zod/v4/locales/fr.d.cts +5 -0
  529. package/dist/node_modules/zod/v4/locales/fr.d.ts +4 -0
  530. package/dist/node_modules/zod/v4/locales/fr.js +108 -0
  531. package/dist/node_modules/zod/v4/locales/he.cjs +241 -0
  532. package/dist/node_modules/zod/v4/locales/he.d.cts +5 -0
  533. package/dist/node_modules/zod/v4/locales/he.d.ts +4 -0
  534. package/dist/node_modules/zod/v4/locales/he.js +214 -0
  535. package/dist/node_modules/zod/v4/locales/hu.cjs +135 -0
  536. package/dist/node_modules/zod/v4/locales/hu.d.cts +5 -0
  537. package/dist/node_modules/zod/v4/locales/hu.d.ts +4 -0
  538. package/dist/node_modules/zod/v4/locales/hu.js +108 -0
  539. package/dist/node_modules/zod/v4/locales/hy.cjs +174 -0
  540. package/dist/node_modules/zod/v4/locales/hy.d.cts +5 -0
  541. package/dist/node_modules/zod/v4/locales/hy.d.ts +4 -0
  542. package/dist/node_modules/zod/v4/locales/hy.js +147 -0
  543. package/dist/node_modules/zod/v4/locales/id.cjs +133 -0
  544. package/dist/node_modules/zod/v4/locales/id.d.cts +5 -0
  545. package/dist/node_modules/zod/v4/locales/id.d.ts +4 -0
  546. package/dist/node_modules/zod/v4/locales/id.js +106 -0
  547. package/dist/node_modules/zod/v4/locales/index.cjs +104 -0
  548. package/dist/node_modules/zod/v4/locales/index.d.cts +49 -0
  549. package/dist/node_modules/zod/v4/locales/index.d.ts +49 -0
  550. package/dist/node_modules/zod/v4/locales/index.js +49 -0
  551. package/dist/node_modules/zod/v4/locales/is.cjs +136 -0
  552. package/dist/node_modules/zod/v4/locales/is.d.cts +5 -0
  553. package/dist/node_modules/zod/v4/locales/is.d.ts +4 -0
  554. package/dist/node_modules/zod/v4/locales/is.js +109 -0
  555. package/dist/node_modules/zod/v4/locales/it.cjs +135 -0
  556. package/dist/node_modules/zod/v4/locales/it.d.cts +5 -0
  557. package/dist/node_modules/zod/v4/locales/it.d.ts +4 -0
  558. package/dist/node_modules/zod/v4/locales/it.js +108 -0
  559. package/dist/node_modules/zod/v4/locales/ja.cjs +134 -0
  560. package/dist/node_modules/zod/v4/locales/ja.d.cts +5 -0
  561. package/dist/node_modules/zod/v4/locales/ja.d.ts +4 -0
  562. package/dist/node_modules/zod/v4/locales/ja.js +107 -0
  563. package/dist/node_modules/zod/v4/locales/ka.cjs +139 -0
  564. package/dist/node_modules/zod/v4/locales/ka.d.cts +5 -0
  565. package/dist/node_modules/zod/v4/locales/ka.d.ts +4 -0
  566. package/dist/node_modules/zod/v4/locales/ka.js +112 -0
  567. package/dist/node_modules/zod/v4/locales/kh.cjs +12 -0
  568. package/dist/node_modules/zod/v4/locales/kh.d.cts +5 -0
  569. package/dist/node_modules/zod/v4/locales/kh.d.ts +5 -0
  570. package/dist/node_modules/zod/v4/locales/kh.js +5 -0
  571. package/dist/node_modules/zod/v4/locales/km.cjs +137 -0
  572. package/dist/node_modules/zod/v4/locales/km.d.cts +5 -0
  573. package/dist/node_modules/zod/v4/locales/km.d.ts +4 -0
  574. package/dist/node_modules/zod/v4/locales/km.js +110 -0
  575. package/dist/node_modules/zod/v4/locales/ko.cjs +138 -0
  576. package/dist/node_modules/zod/v4/locales/ko.d.cts +5 -0
  577. package/dist/node_modules/zod/v4/locales/ko.d.ts +4 -0
  578. package/dist/node_modules/zod/v4/locales/ko.js +111 -0
  579. package/dist/node_modules/zod/v4/locales/lt.cjs +230 -0
  580. package/dist/node_modules/zod/v4/locales/lt.d.cts +5 -0
  581. package/dist/node_modules/zod/v4/locales/lt.d.ts +4 -0
  582. package/dist/node_modules/zod/v4/locales/lt.js +203 -0
  583. package/dist/node_modules/zod/v4/locales/mk.cjs +136 -0
  584. package/dist/node_modules/zod/v4/locales/mk.d.cts +5 -0
  585. package/dist/node_modules/zod/v4/locales/mk.d.ts +4 -0
  586. package/dist/node_modules/zod/v4/locales/mk.js +109 -0
  587. package/dist/node_modules/zod/v4/locales/ms.cjs +134 -0
  588. package/dist/node_modules/zod/v4/locales/ms.d.cts +5 -0
  589. package/dist/node_modules/zod/v4/locales/ms.d.ts +4 -0
  590. package/dist/node_modules/zod/v4/locales/ms.js +107 -0
  591. package/dist/node_modules/zod/v4/locales/nl.cjs +137 -0
  592. package/dist/node_modules/zod/v4/locales/nl.d.cts +5 -0
  593. package/dist/node_modules/zod/v4/locales/nl.d.ts +4 -0
  594. package/dist/node_modules/zod/v4/locales/nl.js +110 -0
  595. package/dist/node_modules/zod/v4/locales/no.cjs +135 -0
  596. package/dist/node_modules/zod/v4/locales/no.d.cts +5 -0
  597. package/dist/node_modules/zod/v4/locales/no.d.ts +4 -0
  598. package/dist/node_modules/zod/v4/locales/no.js +108 -0
  599. package/dist/node_modules/zod/v4/locales/ota.cjs +136 -0
  600. package/dist/node_modules/zod/v4/locales/ota.d.cts +5 -0
  601. package/dist/node_modules/zod/v4/locales/ota.d.ts +4 -0
  602. package/dist/node_modules/zod/v4/locales/ota.js +109 -0
  603. package/dist/node_modules/zod/v4/locales/package.json +6 -0
  604. package/dist/node_modules/zod/v4/locales/pl.cjs +136 -0
  605. package/dist/node_modules/zod/v4/locales/pl.d.cts +5 -0
  606. package/dist/node_modules/zod/v4/locales/pl.d.ts +4 -0
  607. package/dist/node_modules/zod/v4/locales/pl.js +109 -0
  608. package/dist/node_modules/zod/v4/locales/ps.cjs +141 -0
  609. package/dist/node_modules/zod/v4/locales/ps.d.cts +5 -0
  610. package/dist/node_modules/zod/v4/locales/ps.d.ts +4 -0
  611. package/dist/node_modules/zod/v4/locales/ps.js +114 -0
  612. package/dist/node_modules/zod/v4/locales/pt.cjs +135 -0
  613. package/dist/node_modules/zod/v4/locales/pt.d.cts +5 -0
  614. package/dist/node_modules/zod/v4/locales/pt.d.ts +4 -0
  615. package/dist/node_modules/zod/v4/locales/pt.js +108 -0
  616. package/dist/node_modules/zod/v4/locales/ru.cjs +183 -0
  617. package/dist/node_modules/zod/v4/locales/ru.d.cts +5 -0
  618. package/dist/node_modules/zod/v4/locales/ru.d.ts +4 -0
  619. package/dist/node_modules/zod/v4/locales/ru.js +156 -0
  620. package/dist/node_modules/zod/v4/locales/sl.cjs +136 -0
  621. package/dist/node_modules/zod/v4/locales/sl.d.cts +5 -0
  622. package/dist/node_modules/zod/v4/locales/sl.d.ts +4 -0
  623. package/dist/node_modules/zod/v4/locales/sl.js +109 -0
  624. package/dist/node_modules/zod/v4/locales/sv.cjs +137 -0
  625. package/dist/node_modules/zod/v4/locales/sv.d.cts +5 -0
  626. package/dist/node_modules/zod/v4/locales/sv.d.ts +4 -0
  627. package/dist/node_modules/zod/v4/locales/sv.js +110 -0
  628. package/dist/node_modules/zod/v4/locales/ta.cjs +137 -0
  629. package/dist/node_modules/zod/v4/locales/ta.d.cts +5 -0
  630. package/dist/node_modules/zod/v4/locales/ta.d.ts +4 -0
  631. package/dist/node_modules/zod/v4/locales/ta.js +110 -0
  632. package/dist/node_modules/zod/v4/locales/th.cjs +137 -0
  633. package/dist/node_modules/zod/v4/locales/th.d.cts +5 -0
  634. package/dist/node_modules/zod/v4/locales/th.d.ts +4 -0
  635. package/dist/node_modules/zod/v4/locales/th.js +110 -0
  636. package/dist/node_modules/zod/v4/locales/tr.cjs +132 -0
  637. package/dist/node_modules/zod/v4/locales/tr.d.cts +5 -0
  638. package/dist/node_modules/zod/v4/locales/tr.d.ts +4 -0
  639. package/dist/node_modules/zod/v4/locales/tr.js +105 -0
  640. package/dist/node_modules/zod/v4/locales/ua.cjs +12 -0
  641. package/dist/node_modules/zod/v4/locales/ua.d.cts +5 -0
  642. package/dist/node_modules/zod/v4/locales/ua.d.ts +5 -0
  643. package/dist/node_modules/zod/v4/locales/ua.js +5 -0
  644. package/dist/node_modules/zod/v4/locales/uk.cjs +135 -0
  645. package/dist/node_modules/zod/v4/locales/uk.d.cts +5 -0
  646. package/dist/node_modules/zod/v4/locales/uk.d.ts +4 -0
  647. package/dist/node_modules/zod/v4/locales/uk.js +108 -0
  648. package/dist/node_modules/zod/v4/locales/ur.cjs +137 -0
  649. package/dist/node_modules/zod/v4/locales/ur.d.cts +5 -0
  650. package/dist/node_modules/zod/v4/locales/ur.d.ts +4 -0
  651. package/dist/node_modules/zod/v4/locales/ur.js +110 -0
  652. package/dist/node_modules/zod/v4/locales/uz.cjs +136 -0
  653. package/dist/node_modules/zod/v4/locales/uz.d.cts +5 -0
  654. package/dist/node_modules/zod/v4/locales/uz.d.ts +4 -0
  655. package/dist/node_modules/zod/v4/locales/uz.js +109 -0
  656. package/dist/node_modules/zod/v4/locales/vi.cjs +135 -0
  657. package/dist/node_modules/zod/v4/locales/vi.d.cts +5 -0
  658. package/dist/node_modules/zod/v4/locales/vi.d.ts +4 -0
  659. package/dist/node_modules/zod/v4/locales/vi.js +108 -0
  660. package/dist/node_modules/zod/v4/locales/yo.cjs +134 -0
  661. package/dist/node_modules/zod/v4/locales/yo.d.cts +5 -0
  662. package/dist/node_modules/zod/v4/locales/yo.d.ts +4 -0
  663. package/dist/node_modules/zod/v4/locales/yo.js +107 -0
  664. package/dist/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  665. package/dist/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  666. package/dist/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  667. package/dist/node_modules/zod/v4/locales/zh-CN.js +109 -0
  668. package/dist/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  669. package/dist/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  670. package/dist/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  671. package/dist/node_modules/zod/v4/locales/zh-TW.js +107 -0
  672. package/dist/node_modules/zod/v4/mini/checks.cjs +34 -0
  673. package/dist/node_modules/zod/v4/mini/checks.d.cts +1 -0
  674. package/dist/node_modules/zod/v4/mini/checks.d.ts +1 -0
  675. package/dist/node_modules/zod/v4/mini/checks.js +1 -0
  676. package/dist/node_modules/zod/v4/mini/coerce.cjs +52 -0
  677. package/dist/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  678. package/dist/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  679. package/dist/node_modules/zod/v4/mini/coerce.js +22 -0
  680. package/dist/node_modules/zod/v4/mini/external.cjs +63 -0
  681. package/dist/node_modules/zod/v4/mini/external.d.cts +12 -0
  682. package/dist/node_modules/zod/v4/mini/external.d.ts +12 -0
  683. package/dist/node_modules/zod/v4/mini/external.js +14 -0
  684. package/dist/node_modules/zod/v4/mini/index.cjs +32 -0
  685. package/dist/node_modules/zod/v4/mini/index.d.cts +3 -0
  686. package/dist/node_modules/zod/v4/mini/index.d.ts +3 -0
  687. package/dist/node_modules/zod/v4/mini/index.js +3 -0
  688. package/dist/node_modules/zod/v4/mini/iso.cjs +64 -0
  689. package/dist/node_modules/zod/v4/mini/iso.d.cts +22 -0
  690. package/dist/node_modules/zod/v4/mini/iso.d.ts +22 -0
  691. package/dist/node_modules/zod/v4/mini/iso.js +34 -0
  692. package/dist/node_modules/zod/v4/mini/package.json +6 -0
  693. package/dist/node_modules/zod/v4/mini/parse.cjs +16 -0
  694. package/dist/node_modules/zod/v4/mini/parse.d.cts +1 -0
  695. package/dist/node_modules/zod/v4/mini/parse.d.ts +1 -0
  696. package/dist/node_modules/zod/v4/mini/parse.js +1 -0
  697. package/dist/node_modules/zod/v4/mini/schemas.cjs +1046 -0
  698. package/dist/node_modules/zod/v4/mini/schemas.d.cts +427 -0
  699. package/dist/node_modules/zod/v4/mini/schemas.d.ts +427 -0
  700. package/dist/node_modules/zod/v4/mini/schemas.js +925 -0
  701. package/dist/node_modules/zod/v4/package.json +6 -0
  702. package/dist/node_modules/zod/v4-mini/index.cjs +17 -0
  703. package/dist/node_modules/zod/v4-mini/index.d.cts +1 -0
  704. package/dist/node_modules/zod/v4-mini/index.d.ts +1 -0
  705. package/dist/node_modules/zod/v4-mini/index.js +1 -0
  706. package/dist/node_modules/zod/v4-mini/package.json +6 -0
  707. package/dist/server/actions/build.js +915 -0
  708. package/dist/server/collections/ai-visualization-build-settings.js +68 -0
  709. package/dist/server/collections/ai-visualization-builds.js +143 -0
  710. package/dist/server/index.js +48 -0
  711. package/dist/server/pipeline/analyzer.js +220 -0
  712. package/dist/server/pipeline/fallback.js +113 -0
  713. package/dist/server/pipeline/generator.js +386 -0
  714. package/dist/server/pipeline/introspector.js +118 -0
  715. package/dist/server/pipeline/validator.js +323 -0
  716. package/dist/server/plugin.js +210 -0
  717. package/dist/server/resource/settings.js +106 -0
  718. package/dist/server/tools/build-visualization-block.js +130 -0
  719. package/dist/server/tools/index.js +46 -0
  720. package/dist/shared/blockSpec.js +76 -0
  721. package/dist/shared/constants.js +67 -0
  722. package/package.json +44 -0
  723. package/server.d.ts +2 -0
  724. package/server.js +1 -0
  725. package/src/client/BuildForm.tsx +376 -0
  726. package/src/client/BuildVisualizationBlockInitializer.tsx +81 -0
  727. package/src/client/PreviewPanel.tsx +136 -0
  728. package/src/client/SettingsPage.tsx +138 -0
  729. package/src/client/components/BuildPhaseTag.tsx +62 -0
  730. package/src/client/components/CollectionMultiSelect.tsx +124 -0
  731. package/src/client/components/LLMServiceSelect.tsx +108 -0
  732. package/src/client/components/ModelSelect.tsx +105 -0
  733. package/src/client/components/index.ts +8 -0
  734. package/src/client/hooks/useBuildPolling.ts +215 -0
  735. package/src/client/index.tsx +2 -0
  736. package/src/client/locale.ts +18 -0
  737. package/src/client/plugin.tsx +90 -0
  738. package/src/client-v2/index.tsx +1 -0
  739. package/src/client-v2/plugin.tsx +24 -0
  740. package/src/index.ts +2 -0
  741. package/src/locale/en-US.json +45 -0
  742. package/src/locale/namespace.ts +6 -0
  743. package/src/locale/vi-VN.json +46 -0
  744. package/src/locale/zh-CN.json +46 -0
  745. package/src/server/__tests__/build-action.test.ts +440 -0
  746. package/src/server/__tests__/plugin.test.ts +187 -0
  747. package/src/server/actions/build.ts +1318 -0
  748. package/src/server/collections/ai-visualization-build-settings.ts +43 -0
  749. package/src/server/collections/ai-visualization-builds.ts +122 -0
  750. package/src/server/index.ts +2 -0
  751. package/src/server/pipeline/__tests__/analyzer.test.ts +226 -0
  752. package/src/server/pipeline/__tests__/generator.test.ts +576 -0
  753. package/src/server/pipeline/__tests__/introspector.test.ts +268 -0
  754. package/src/server/pipeline/__tests__/validator.test.ts +517 -0
  755. package/src/server/pipeline/analyzer.ts +368 -0
  756. package/src/server/pipeline/fallback.ts +157 -0
  757. package/src/server/pipeline/generator.ts +651 -0
  758. package/src/server/pipeline/introspector.ts +206 -0
  759. package/src/server/pipeline/validator.ts +609 -0
  760. package/src/server/plugin.ts +255 -0
  761. package/src/server/resource/settings.ts +97 -0
  762. package/src/server/tools/build-visualization-block.ts +173 -0
  763. package/src/server/tools/index.ts +1 -0
  764. package/src/shared/blockSpec.ts +214 -0
  765. package/src/shared/constants.ts +46 -0
@@ -0,0 +1,915 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __create = Object.create;
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
+ var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
15
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
16
+ var __export = (target, all) => {
17
+ for (var name in all)
18
+ __defProp(target, name, { get: all[name], enumerable: true });
19
+ };
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key of __getOwnPropNames(from))
23
+ if (!__hasOwnProp.call(to, key) && key !== except)
24
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
+ }
26
+ return to;
27
+ };
28
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
+ // If the importer is in node compatibility mode or this is not an ESM
30
+ // file that has been converted to a CommonJS file using a Babel-
31
+ // compatible transform (i.e. "__esModule" has not been set), then set
32
+ // "default" to the CommonJS "module.exports" for node compatibility.
33
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
+ mod
35
+ ));
36
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
+ var build_exports = {};
38
+ __export(build_exports, {
39
+ WORKER_JOB_BUILD_VISUALIZATION_PROCESS: () => WORKER_JOB_BUILD_VISUALIZATION_PROCESS,
40
+ build: () => build,
41
+ enqueueBuild: () => enqueueBuild,
42
+ failTimedOutBuilds: () => failTimedOutBuilds,
43
+ getResult: () => getResult,
44
+ processQueuedBuild: () => processQueuedBuild,
45
+ recoverInterruptedBuilds: () => recoverInterruptedBuilds,
46
+ registerBuildQueue: () => registerBuildQueue,
47
+ retry: () => retry,
48
+ startBuildQueueProcessor: () => startBuildQueueProcessor,
49
+ unregisterBuildQueue: () => unregisterBuildQueue
50
+ });
51
+ module.exports = __toCommonJS(build_exports);
52
+ var import_crypto = __toESM(require("crypto"));
53
+ var import_constants = require("../../shared/constants");
54
+ var import_introspector = require("../pipeline/introspector");
55
+ var import_analyzer = require("../pipeline/analyzer");
56
+ var import_validator = require("../pipeline/validator");
57
+ var import_generator = require("../pipeline/generator");
58
+ var import_fallback = require("../pipeline/fallback");
59
+ const WORKER_JOB_BUILD_VISUALIZATION_PROCESS = "build-visualization:process";
60
+ const BUILD_VISUALIZATION_QUEUE_CHANNEL = "plugin-build-visualization-block.build";
61
+ const BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL = "plugin-build-visualization-block.build.wake";
62
+ const BUILD_VISUALIZATION_QUEUE_REDIS_CONNECTION = "plugin-build-visualization-block.build.queue";
63
+ const BUILD_VISUALIZATION_QUEUE_CONCURRENCY = Math.max(
64
+ 1,
65
+ Number.parseInt(
66
+ process.env.BUILD_VISUALIZATION_QUEUE_CONCURRENCY || process.env.BUILD_VISUALIZATION_MAX_CONCURRENCY || "1",
67
+ 10
68
+ ) || 1
69
+ );
70
+ const BUILD_VISUALIZATION_QUEUE_TIMEOUT_MS = Math.max(
71
+ import_constants.BUILD_TIMEOUT_MS,
72
+ Number.parseInt(process.env.BUILD_VISUALIZATION_QUEUE_TIMEOUT_MS || "", 10) || import_constants.BUILD_TIMEOUT_MS
73
+ );
74
+ const BUILD_VISUALIZATION_QUEUE_POLL_INTERVAL_MS = Math.max(
75
+ 1e3,
76
+ Number.parseInt(process.env.BUILD_VISUALIZATION_QUEUE_POLL_INTERVAL_MS || "", 10) || 5e3
77
+ );
78
+ const BUILD_RUN_LOCK_TTL_MS = Math.max(
79
+ 6e4,
80
+ Number.parseInt(process.env.BUILD_VISUALIZATION_RUN_LOCK_TTL_MS || "", 10) || 24 * 60 * 60 * 1e3
81
+ );
82
+ const BUILD_HEARTBEAT_INTERVAL_MS = Math.max(
83
+ 5e3,
84
+ Number.parseInt(process.env.BUILD_VISUALIZATION_HEARTBEAT_MS || "", 10) || 3e4
85
+ );
86
+ const BUILD_STALE_MS = Math.max(
87
+ BUILD_HEARTBEAT_INTERVAL_MS * 2,
88
+ Number.parseInt(process.env.BUILD_VISUALIZATION_STALE_MS || "", 10) || 12e4
89
+ );
90
+ function getPubSubManager(app) {
91
+ return app.pubSubManager;
92
+ }
93
+ function getRedisConnectionManager(app) {
94
+ return app.redisConnectionManager;
95
+ }
96
+ function getEventQueueInternals(app) {
97
+ return app.eventQueue;
98
+ }
99
+ function getAppIdentity(app) {
100
+ return app;
101
+ }
102
+ function getBuildModel(app) {
103
+ return app.db.getModel(import_constants.COLLECTION_NAME);
104
+ }
105
+ const buildQueueStates = /* @__PURE__ */ new WeakMap();
106
+ function getBuildQueueState(app) {
107
+ let state = buildQueueStates.get(app);
108
+ if (!state) {
109
+ state = { timer: null, kickTimer: null, processing: false, wakeHandler: null };
110
+ buildQueueStates.set(app, state);
111
+ }
112
+ return state;
113
+ }
114
+ class StaleBuildRunError extends Error {
115
+ constructor(buildId, runId) {
116
+ super(`Build run ${runId} for record ${buildId} is no longer current`);
117
+ this.name = "StaleBuildRunError";
118
+ }
119
+ }
120
+ function isBuildVisualizationWorker(app) {
121
+ const workerMode = process.env.WORKER_MODE || "";
122
+ return app.serving(WORKER_JOB_BUILD_VISUALIZATION_PROCESS) || workerMode === "worker" || workerMode === "task" || process.env.APP_ROLE === "worker";
123
+ }
124
+ function getBuildWorkerId(app) {
125
+ const identity = getAppIdentity(app);
126
+ return [
127
+ process.env.HOSTNAME || process.env.COMPUTERNAME || "worker",
128
+ identity.name || "app",
129
+ identity.instanceId || "0",
130
+ process.pid
131
+ ].join(":");
132
+ }
133
+ async function updateRecordForRun(app, run, values, optional = false) {
134
+ const model = getBuildModel(app);
135
+ const [affected] = await model.update(values, {
136
+ where: {
137
+ id: run.buildId,
138
+ buildRunId: run.runId
139
+ }
140
+ });
141
+ if (!affected && !optional) {
142
+ throw new StaleBuildRunError(run.buildId, run.runId);
143
+ }
144
+ return affected > 0;
145
+ }
146
+ async function claimBuildRun(app, run, workerId) {
147
+ const now = /* @__PURE__ */ new Date();
148
+ const model = getBuildModel(app);
149
+ const [affected] = await model.update(
150
+ {
151
+ buildPhase: "analyzing",
152
+ buildStartedAt: now,
153
+ buildHeartbeatAt: now,
154
+ buildWorkerId: workerId
155
+ },
156
+ {
157
+ where: {
158
+ id: run.buildId,
159
+ status: "building",
160
+ buildPhase: "queued",
161
+ buildRunId: run.runId
162
+ }
163
+ }
164
+ );
165
+ return affected > 0;
166
+ }
167
+ function startBuildHeartbeat(app, run) {
168
+ const timer = setInterval(() => {
169
+ updateRecordForRun(app, run, { buildHeartbeatAt: /* @__PURE__ */ new Date() }, true).catch((error) => {
170
+ var _a, _b;
171
+ (_b = (_a = app.log) == null ? void 0 : _a.warn) == null ? void 0 : _b.call(
172
+ _a,
173
+ `[plugin-build-visualization-block] Failed to update heartbeat for build ${run.runId}`,
174
+ error
175
+ );
176
+ });
177
+ }, BUILD_HEARTBEAT_INTERVAL_MS);
178
+ return () => clearInterval(timer);
179
+ }
180
+ function getBuildQueueRedisKey(app) {
181
+ const appName = getAppIdentity(app).name || process.env.APP_NAME || "main";
182
+ return `${appName}:plugin-build-visualization-block:build:queue`;
183
+ }
184
+ async function getBuildQueueRedis(app) {
185
+ var _a, _b;
186
+ const manager = getRedisConnectionManager(app);
187
+ if (!(manager == null ? void 0 : manager.getConnectionSync)) {
188
+ return void 0;
189
+ }
190
+ try {
191
+ const connectionString = process.env.QUEUE_ADAPTER_REDIS_URL || process.env.REDIS_URL;
192
+ return await manager.getConnectionSync(
193
+ BUILD_VISUALIZATION_QUEUE_REDIS_CONNECTION,
194
+ connectionString ? { connectionString } : void 0
195
+ );
196
+ } catch (error) {
197
+ (_b = (_a = app.log) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(
198
+ _a,
199
+ `[plugin-build-visualization-block] Redis queue unavailable; DB polling fallback active: ${error instanceof Error ? error.message : String(error)}`
200
+ );
201
+ return void 0;
202
+ }
203
+ }
204
+ async function enqueueBuildToRedis(app, message) {
205
+ var _a, _b, _c, _d;
206
+ const redis = await getBuildQueueRedis(app);
207
+ if (!redis) return false;
208
+ try {
209
+ await redis.sendCommand(["RPUSH", getBuildQueueRedisKey(app), JSON.stringify(message)]);
210
+ (_b = (_a = app.log) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(
211
+ _a,
212
+ `[plugin-build-visualization-block] Enqueued build ${message.runId} for record "${message.buildId}" to Redis`
213
+ );
214
+ return true;
215
+ } catch (error) {
216
+ (_d = (_c = app.log) == null ? void 0 : _c.warn) == null ? void 0 : _d.call(
217
+ _c,
218
+ `[plugin-build-visualization-block] Failed to enqueue build to Redis; DB polling fallback active`,
219
+ error
220
+ );
221
+ return false;
222
+ }
223
+ }
224
+ async function publishBuildQueueWake(app, message) {
225
+ var _a, _b, _c, _d;
226
+ try {
227
+ await ((_b = (_a = getPubSubManager(app)) == null ? void 0 : _a.publish) == null ? void 0 : _b.call(
228
+ _a,
229
+ BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL,
230
+ { buildId: message == null ? void 0 : message.buildId, runId: message == null ? void 0 : message.runId },
231
+ { skipSelf: !isBuildVisualizationWorker(app) }
232
+ ));
233
+ } catch (error) {
234
+ (_d = (_c = app.log) == null ? void 0 : _c.debug) == null ? void 0 : _d.call(
235
+ _c,
236
+ `[plugin-build-visualization-block] Wake publish skipped: ${error instanceof Error ? error.message : String(error)}`
237
+ );
238
+ }
239
+ }
240
+ async function drainRedisBuildQueue(app, count) {
241
+ var _a, _b;
242
+ const redis = await getBuildQueueRedis(app);
243
+ if (!redis) return [];
244
+ const key = getBuildQueueRedisKey(app);
245
+ const messages = [];
246
+ for (let i = 0; i < count; i += 1) {
247
+ const raw = await redis.sendCommand(["LPOP", key]);
248
+ if (!raw) break;
249
+ try {
250
+ messages.push(JSON.parse(String(raw)));
251
+ } catch (error) {
252
+ (_b = (_a = app.log) == null ? void 0 : _a.warn) == null ? void 0 : _b.call(
253
+ _a,
254
+ `[plugin-build-visualization-block] Dropped invalid Redis build message: ${error instanceof Error ? error.message : String(error)}`
255
+ );
256
+ }
257
+ }
258
+ return messages;
259
+ }
260
+ function clearLocalBuildMemoryQueue(app) {
261
+ var _a, _b, _c, _d, _e, _f, _g;
262
+ const eventQueue = getEventQueueInternals(app);
263
+ const fullChannel = (_a = eventQueue.getFullChannel) == null ? void 0 : _a.call(eventQueue, BUILD_VISUALIZATION_QUEUE_CHANNEL);
264
+ const { adapter } = eventQueue;
265
+ const queue = fullChannel ? (_c = (_b = adapter == null ? void 0 : adapter.queues) == null ? void 0 : _b.get) == null ? void 0 : _c.call(_b, fullChannel) : void 0;
266
+ if (!(queue == null ? void 0 : queue.length)) return;
267
+ (_e = (_d = adapter == null ? void 0 : adapter.queues) == null ? void 0 : _d.set) == null ? void 0 : _e.call(_d, fullChannel, []);
268
+ (_g = (_f = app.log) == null ? void 0 : _f.warn) == null ? void 0 : _g.call(
269
+ _f,
270
+ `[plugin-build-visualization-block] Cleared ${queue.length} stale local memory message(s) on non-worker node; queued DB builds will be picked up by workers`
271
+ );
272
+ }
273
+ function startBuildQueueProcessor(app) {
274
+ var _a, _b, _c, _d, _e, _f, _g, _h;
275
+ const state = getBuildQueueState(app);
276
+ if (!isBuildVisualizationWorker(app)) {
277
+ (_b = (_a = app.log) == null ? void 0 : _a.debug) == null ? void 0 : _b.call(
278
+ _a,
279
+ "[plugin-build-visualization-block] Build queue processor disabled on non-worker node"
280
+ );
281
+ return;
282
+ }
283
+ if (state.timer) return;
284
+ state.wakeHandler = async () => {
285
+ scheduleBuildQueueTick(app, 0);
286
+ };
287
+ const subscribe = (_d = (_c = getPubSubManager(app)) == null ? void 0 : _c.subscribe) == null ? void 0 : _d.call(
288
+ _c,
289
+ BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL,
290
+ state.wakeHandler
291
+ );
292
+ if (subscribe instanceof Promise) {
293
+ subscribe.catch((error) => {
294
+ var _a2, _b2;
295
+ (_b2 = (_a2 = app.log) == null ? void 0 : _a2.debug) == null ? void 0 : _b2.call(
296
+ _a2,
297
+ `[plugin-build-visualization-block] Wake subscribe skipped: ${error instanceof Error ? error.message : String(error)}`
298
+ );
299
+ });
300
+ }
301
+ state.timer = setInterval(
302
+ () => scheduleBuildQueueTick(app, 0),
303
+ BUILD_VISUALIZATION_QUEUE_POLL_INTERVAL_MS
304
+ );
305
+ (_f = (_e = state.timer).unref) == null ? void 0 : _f.call(_e);
306
+ scheduleBuildQueueTick(app, 1e3);
307
+ (_h = (_g = app.log) == null ? void 0 : _g.info) == null ? void 0 : _h.call(
308
+ _g,
309
+ `[plugin-build-visualization-block] Build queue processor started (interval ${BUILD_VISUALIZATION_QUEUE_POLL_INTERVAL_MS}ms)`
310
+ );
311
+ }
312
+ function stopBuildVisualizationQueueProcessor(app) {
313
+ var _a, _b;
314
+ const state = getBuildQueueState(app);
315
+ if (state.timer) {
316
+ clearInterval(state.timer);
317
+ state.timer = null;
318
+ }
319
+ if (state.kickTimer) {
320
+ clearTimeout(state.kickTimer);
321
+ state.kickTimer = null;
322
+ }
323
+ if (state.wakeHandler) {
324
+ const unsubscribe = (_b = (_a = getPubSubManager(app)) == null ? void 0 : _a.unsubscribe) == null ? void 0 : _b.call(
325
+ _a,
326
+ BUILD_VISUALIZATION_QUEUE_WAKE_CHANNEL,
327
+ state.wakeHandler
328
+ );
329
+ if (unsubscribe instanceof Promise) {
330
+ unsubscribe.catch(() => void 0);
331
+ }
332
+ state.wakeHandler = null;
333
+ }
334
+ state.processing = false;
335
+ }
336
+ function scheduleBuildQueueTick(app, delayMs) {
337
+ var _a, _b;
338
+ const state = getBuildQueueState(app);
339
+ if (state.kickTimer) return;
340
+ state.kickTimer = setTimeout(() => {
341
+ state.kickTimer = null;
342
+ runBuildQueueTick(app).catch((error) => {
343
+ var _a2, _b2;
344
+ (_b2 = (_a2 = app.log) == null ? void 0 : _a2.error) == null ? void 0 : _b2.call(_a2, "[plugin-build-visualization-block] Build queue tick failed", error);
345
+ });
346
+ }, delayMs);
347
+ (_b = (_a = state.kickTimer).unref) == null ? void 0 : _b.call(_a);
348
+ }
349
+ async function runBuildQueueTick(app) {
350
+ const state = getBuildQueueState(app);
351
+ if (state.processing || !isBuildVisualizationWorker(app)) return;
352
+ state.processing = true;
353
+ try {
354
+ await failTimedOutBuilds(app);
355
+ const redisMessages = await drainRedisBuildQueue(app, BUILD_VISUALIZATION_QUEUE_CONCURRENCY);
356
+ await processBuildQueueMessages(app, redisMessages);
357
+ const remaining = Math.max(1, BUILD_VISUALIZATION_QUEUE_CONCURRENCY - redisMessages.length);
358
+ await processQueuedBuildsFromDb(app, remaining);
359
+ } finally {
360
+ state.processing = false;
361
+ }
362
+ }
363
+ function createBuildQueueMessageFromRecord(record) {
364
+ const runId = record.get("buildRunId");
365
+ if (!runId) return null;
366
+ const queuedAtRaw = record.get("buildQueuedAt");
367
+ const createdById = record.get("createdById");
368
+ return {
369
+ buildId: String(record.get("id")),
370
+ runId: String(runId),
371
+ userId: typeof createdById === "number" || typeof createdById === "string" ? createdById : null,
372
+ queuedAt: queuedAtRaw ? new Date(queuedAtRaw).toISOString() : (/* @__PURE__ */ new Date()).toISOString()
373
+ };
374
+ }
375
+ async function processQueuedBuildsFromDb(app, count) {
376
+ const repository = app.db.getRepository(import_constants.COLLECTION_NAME);
377
+ const records = await repository.find({
378
+ filter: {
379
+ status: "building",
380
+ buildPhase: "queued"
381
+ },
382
+ sort: ["buildQueuedAt"],
383
+ limit: count
384
+ });
385
+ const messages = records.map((record) => createBuildQueueMessageFromRecord(record)).filter((message) => message !== null);
386
+ await processBuildQueueMessages(app, messages);
387
+ }
388
+ async function processBuildQueueMessages(app, messages) {
389
+ if (!messages.length) return;
390
+ await Promise.all(messages.map((message) => processQueuedBuild(app, message)));
391
+ }
392
+ async function runBuild(app, db, run) {
393
+ const repository = db.getRepository(import_constants.COLLECTION_NAME);
394
+ const record = await repository.findById(run.buildId);
395
+ if (!record) {
396
+ throw new Error("Build record not found");
397
+ }
398
+ if (record.get("buildRunId") !== run.runId) {
399
+ throw new StaleBuildRunError(run.buildId, run.runId);
400
+ }
401
+ const requirement = String(record.get("requirement") ?? "");
402
+ const dataSource = String(record.get("dataSource") ?? "main");
403
+ const llmService = record.get("llmService");
404
+ const model = record.get("model");
405
+ const rawCollections = record.get("collections");
406
+ const collections = Array.isArray(rawCollections) ? rawCollections.filter((name) => typeof name === "string") : [];
407
+ if (!llmService || !model) {
408
+ throw new Error("LLM service or model is missing in the build configuration");
409
+ }
410
+ await updateRecordForRun(app, run, {
411
+ status: "building",
412
+ buildPhase: "analyzing",
413
+ buildLog: "Analyzing collections and requirement",
414
+ errorMessage: null,
415
+ blockSpec: null,
416
+ blockSchema: null,
417
+ adjustments: null,
418
+ usedFallback: false,
419
+ buildHeartbeatAt: /* @__PURE__ */ new Date()
420
+ });
421
+ const summary = await (0, import_introspector.introspect)(app, { dataSource, collections });
422
+ const analysis = await (0, import_analyzer.analyze)(app, { requirement, summary, llmService, model });
423
+ let usedFallback = analysis.usedFallback;
424
+ if (analysis.error) {
425
+ await updateRecordForRun(
426
+ app,
427
+ run,
428
+ {
429
+ errorMessage: analysis.error,
430
+ buildLog: `Analyzer fell back: ${analysis.error}`,
431
+ usedFallback: true
432
+ },
433
+ true
434
+ );
435
+ }
436
+ const validation = (0, import_validator.validate)(analysis.spec, summary);
437
+ usedFallback = usedFallback || validation.usedFallback;
438
+ const specForGeneration = validation.usedFallback ? (0, import_fallback.buildFallbackSpec)(summary) : validation.spec;
439
+ await updateRecordForRun(app, run, {
440
+ buildPhase: "generating",
441
+ buildLog: "Generating block schema",
442
+ buildHeartbeatAt: /* @__PURE__ */ new Date()
443
+ });
444
+ const result = (0, import_generator.generate)(specForGeneration, summary);
445
+ if (!result.ok) {
446
+ throw new Error(
447
+ result.failedNode ? `Schema generation failed at "${result.failedNode}": ${result.error}` : `Schema generation failed: ${result.error}`
448
+ );
449
+ }
450
+ usedFallback = usedFallback || result.usedFallback;
451
+ await updateRecordForRun(app, run, {
452
+ status: "completed",
453
+ buildPhase: "completed",
454
+ blockSpec: specForGeneration,
455
+ blockSchema: result.schema,
456
+ adjustments: validation.adjustments,
457
+ usedFallback,
458
+ buildLog: usedFallback ? "Build completed using the fallback specification" : "Build completed successfully",
459
+ errorMessage: null,
460
+ buildHeartbeatAt: /* @__PURE__ */ new Date()
461
+ });
462
+ }
463
+ async function withBuildRunLock(app, buildId, fn) {
464
+ return app.lockManager.runExclusive(
465
+ `build-visualization:run:${buildId}`,
466
+ fn,
467
+ BUILD_RUN_LOCK_TTL_MS
468
+ );
469
+ }
470
+ async function processQueuedBuild(app, message) {
471
+ var _a, _b;
472
+ const buildId = message == null ? void 0 : message.buildId;
473
+ const runId = message == null ? void 0 : message.runId;
474
+ if (!buildId || !runId) {
475
+ (_b = (_a = app.log) == null ? void 0 : _a.warn) == null ? void 0 : _b.call(_a, "[plugin-build-visualization-block] Build queue message missing buildId or runId");
476
+ return;
477
+ }
478
+ await withBuildRunLock(app, buildId, async () => {
479
+ var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j;
480
+ const run = { buildId, runId };
481
+ const workerId = getBuildWorkerId(app);
482
+ const claimed = await claimBuildRun(app, run, workerId);
483
+ if (!claimed) {
484
+ (_b2 = (_a2 = app.log) == null ? void 0 : _a2.info) == null ? void 0 : _b2.call(
485
+ _a2,
486
+ `[plugin-build-visualization-block] Build ${runId} for record "${buildId}" was already claimed or stale`
487
+ );
488
+ return;
489
+ }
490
+ const repository = app.db.getRepository(import_constants.COLLECTION_NAME);
491
+ const record = await repository.findById(buildId);
492
+ if (!record) {
493
+ (_d = (_c = app.log) == null ? void 0 : _c.warn) == null ? void 0 : _d.call(
494
+ _c,
495
+ `[plugin-build-visualization-block] Build record "${buildId}" not found; skipping queued build`
496
+ );
497
+ return;
498
+ }
499
+ if (record.get("status") !== "building") {
500
+ (_f = (_e = app.log) == null ? void 0 : _e.info) == null ? void 0 : _f.call(
501
+ _e,
502
+ `[plugin-build-visualization-block] Build record "${buildId}" is ${record.get(
503
+ "status"
504
+ )}; skipping queued build`
505
+ );
506
+ return;
507
+ }
508
+ const stopHeartbeat = startBuildHeartbeat(app, run);
509
+ try {
510
+ await runBuild(app, app.db, run);
511
+ } catch (error) {
512
+ if (error instanceof StaleBuildRunError) {
513
+ (_h = (_g = app.log) == null ? void 0 : _g.info) == null ? void 0 : _h.call(_g, `[plugin-build-visualization-block] ${error.message}`);
514
+ return;
515
+ }
516
+ (_j = (_i = app.log) == null ? void 0 : _i.error) == null ? void 0 : _j.call(_i, "[plugin-build-visualization-block] Build worker error", error);
517
+ await markBuildError(app, buildId, runId, error);
518
+ } finally {
519
+ stopHeartbeat();
520
+ }
521
+ });
522
+ }
523
+ async function markBuildError(app, buildId, runId, error) {
524
+ const errorMessage = error instanceof Error ? error.message : String(error);
525
+ if (runId) {
526
+ await updateRecordForRun(
527
+ app,
528
+ { buildId, runId },
529
+ {
530
+ status: "error",
531
+ buildPhase: "failed",
532
+ errorMessage,
533
+ buildLog: errorMessage,
534
+ buildHeartbeatAt: /* @__PURE__ */ new Date()
535
+ },
536
+ true
537
+ );
538
+ return;
539
+ }
540
+ await app.db.getRepository(import_constants.COLLECTION_NAME).update({
541
+ filterByTk: buildId,
542
+ values: {
543
+ status: "error",
544
+ buildPhase: "failed",
545
+ errorMessage,
546
+ buildLog: errorMessage
547
+ }
548
+ });
549
+ }
550
+ async function enqueueBuild(app, message) {
551
+ var _a, _b;
552
+ try {
553
+ const queuedInRedis = await enqueueBuildToRedis(app, message);
554
+ if (queuedInRedis) {
555
+ await publishBuildQueueWake(app, message);
556
+ return;
557
+ }
558
+ await publishBuildQueueWake(app, message);
559
+ if (isBuildVisualizationWorker(app)) {
560
+ await app.eventQueue.publish(BUILD_VISUALIZATION_QUEUE_CHANNEL, message, {
561
+ timeout: BUILD_VISUALIZATION_QUEUE_TIMEOUT_MS,
562
+ maxRetries: 0
563
+ });
564
+ return;
565
+ }
566
+ (_b = (_a = app.log) == null ? void 0 : _a.warn) == null ? void 0 : _b.call(
567
+ _a,
568
+ `[plugin-build-visualization-block] Redis queue is unavailable; build ${message.runId} for record "${message.buildId}" will remain queued until a worker DB poller picks it up`
569
+ );
570
+ } catch (error) {
571
+ await markBuildError(app, message.buildId, message.runId, error);
572
+ throw error;
573
+ }
574
+ }
575
+ function registerBuildQueue(app) {
576
+ app.eventQueue.subscribe(BUILD_VISUALIZATION_QUEUE_CHANNEL, {
577
+ concurrency: BUILD_VISUALIZATION_QUEUE_CONCURRENCY,
578
+ idle: () => isBuildVisualizationWorker(app),
579
+ process: async (message) => {
580
+ await processQueuedBuild(app, message);
581
+ }
582
+ });
583
+ if (!isBuildVisualizationWorker(app)) {
584
+ app.on("afterStart", () => clearLocalBuildMemoryQueue(app));
585
+ }
586
+ }
587
+ function unregisterBuildQueue(app) {
588
+ app.eventQueue.unsubscribe(BUILD_VISUALIZATION_QUEUE_CHANNEL);
589
+ stopBuildVisualizationQueueProcessor(app);
590
+ }
591
+ async function recoverInterruptedBuilds(app) {
592
+ var _a, _b;
593
+ const repository = app.db.getRepository(import_constants.COLLECTION_NAME);
594
+ const model = getBuildModel(app);
595
+ const staleBefore = new Date(Date.now() - BUILD_STALE_MS);
596
+ const records = await repository.find({
597
+ filter: {
598
+ status: "building",
599
+ $or: [{ buildHeartbeatAt: null }, { buildHeartbeatAt: { $lt: staleBefore } }]
600
+ }
601
+ });
602
+ let requeued = 0;
603
+ for (const record of records) {
604
+ const buildId = String(record.get("id"));
605
+ const previousRunId = record.get("buildRunId") || null;
606
+ const runId = String(previousRunId || import_crypto.default.randomUUID());
607
+ const [affected] = await model.update(
608
+ {
609
+ buildPhase: "queued",
610
+ buildLog: "Build re-queued after worker restart",
611
+ buildRunId: runId,
612
+ buildQueuedAt: /* @__PURE__ */ new Date(),
613
+ buildStartedAt: null,
614
+ buildHeartbeatAt: null,
615
+ buildWorkerId: null
616
+ },
617
+ {
618
+ where: {
619
+ id: buildId,
620
+ status: "building",
621
+ buildRunId: previousRunId
622
+ }
623
+ }
624
+ );
625
+ if (!affected) {
626
+ continue;
627
+ }
628
+ await enqueueBuild(app, {
629
+ buildId,
630
+ runId,
631
+ userId: null,
632
+ queuedAt: (/* @__PURE__ */ new Date()).toISOString()
633
+ });
634
+ requeued += 1;
635
+ }
636
+ if (requeued) {
637
+ (_b = (_a = app.log) == null ? void 0 : _a.info) == null ? void 0 : _b.call(_a, `[plugin-build-visualization-block] Re-queued ${requeued} interrupted build(s)`);
638
+ }
639
+ }
640
+ async function failTimedOutBuilds(app) {
641
+ var _a, _b;
642
+ const repository = app.db.getRepository(import_constants.COLLECTION_NAME);
643
+ const model = getBuildModel(app);
644
+ const now = Date.now();
645
+ const timeoutBefore = new Date(now - import_constants.BUILD_TIMEOUT_MS);
646
+ const staleBefore = new Date(now - BUILD_STALE_MS);
647
+ const records = await repository.find({
648
+ filter: {
649
+ status: "building",
650
+ $or: [
651
+ { buildStartedAt: { $lt: timeoutBefore } },
652
+ { $and: [{ buildStartedAt: null }, { buildQueuedAt: { $lt: timeoutBefore } }] }
653
+ ]
654
+ }
655
+ });
656
+ let failed = 0;
657
+ for (const record of records) {
658
+ const heartbeatRaw = record.get("buildHeartbeatAt");
659
+ const heartbeatStale = !heartbeatRaw || new Date(heartbeatRaw).getTime() < staleBefore.getTime();
660
+ if (!heartbeatStale) {
661
+ continue;
662
+ }
663
+ const buildId = String(record.get("id"));
664
+ const previousRunId = record.get("buildRunId") ?? null;
665
+ const [affected] = await model.update(
666
+ {
667
+ status: "error",
668
+ buildPhase: "failed",
669
+ errorMessage: "Build timed out",
670
+ buildLog: "Build timed out",
671
+ buildHeartbeatAt: /* @__PURE__ */ new Date()
672
+ },
673
+ {
674
+ where: {
675
+ id: buildId,
676
+ status: "building",
677
+ buildRunId: previousRunId
678
+ }
679
+ }
680
+ );
681
+ if (affected) {
682
+ failed += 1;
683
+ }
684
+ }
685
+ if (failed) {
686
+ (_b = (_a = app.log) == null ? void 0 : _a.info) == null ? void 0 : _b.call(_a, `[plugin-build-visualization-block] Failed ${failed} timed-out build(s)`);
687
+ }
688
+ }
689
+ function getCurrentRoles(ctx) {
690
+ var _a;
691
+ const roles = (_a = ctx.state) == null ? void 0 : _a.currentRoles;
692
+ return Array.isArray(roles) ? roles.filter((role) => typeof role === "string") : [];
693
+ }
694
+ function t(ctx, key, options) {
695
+ return ctx.t(key, { ns: import_constants.PLUGIN_NAME, ...options });
696
+ }
697
+ function readStringArray(value) {
698
+ return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
699
+ }
700
+ function getRecordCollections(record) {
701
+ return readStringArray(record.get("collections"));
702
+ }
703
+ function getRecordCreatedById(record) {
704
+ const direct = record.get("createdById");
705
+ if (typeof direct === "string" || typeof direct === "number") {
706
+ return direct;
707
+ }
708
+ const createdBy = record.get("createdBy");
709
+ if (createdBy && typeof createdBy === "object") {
710
+ const id = createdBy.id;
711
+ if (typeof id === "string" || typeof id === "number") {
712
+ return id;
713
+ }
714
+ }
715
+ return null;
716
+ }
717
+ function getCurrentUserId(ctx) {
718
+ var _a, _b;
719
+ const id = (_b = (_a = ctx.auth) == null ? void 0 : _a.user) == null ? void 0 : _b.id;
720
+ return typeof id === "string" || typeof id === "number" ? id : null;
721
+ }
722
+ function sameId(left, right) {
723
+ return left !== null && right !== null && String(left) === String(right);
724
+ }
725
+ function assertBuildRecordAccess(ctx, record) {
726
+ const roles = getCurrentRoles(ctx);
727
+ if (roles.includes("root")) {
728
+ return;
729
+ }
730
+ if (sameId(getRecordCreatedById(record), getCurrentUserId(ctx))) {
731
+ return;
732
+ }
733
+ const collections = getRecordCollections(record);
734
+ if (collections.length === 0) {
735
+ ctx.throw(403, t(ctx, "You do not have permission to read this build"));
736
+ }
737
+ assertCollectionPermissions(ctx, collections);
738
+ }
739
+ function asNonEmptyString(value) {
740
+ if (typeof value !== "string") {
741
+ return void 0;
742
+ }
743
+ const trimmed = value.trim();
744
+ return trimmed.length > 0 ? trimmed : void 0;
745
+ }
746
+ function validateInput(ctx, values) {
747
+ if (!Array.isArray(values.collections)) {
748
+ ctx.throw(400, t(ctx, "At least one collection is required"));
749
+ }
750
+ const collections = values.collections.filter(
751
+ (item) => typeof item === "string" && item.trim().length > 0
752
+ );
753
+ if (collections.length < import_constants.MIN_COLLECTIONS) {
754
+ ctx.throw(400, t(ctx, "At least one collection is required"));
755
+ }
756
+ if (collections.length > import_constants.MAX_COLLECTIONS) {
757
+ ctx.throw(400, t(ctx, "A maximum of {{max}} collections can be selected", { max: import_constants.MAX_COLLECTIONS }));
758
+ }
759
+ const requirement = asNonEmptyString(values.requirement);
760
+ if (!requirement) {
761
+ ctx.throw(400, t(ctx, "A requirement is required"));
762
+ }
763
+ if (requirement.length > import_constants.MAX_REQUIREMENT_CHARS) {
764
+ ctx.throw(
765
+ 400,
766
+ t(ctx, "The requirement must be {{max}} characters or fewer", { max: import_constants.MAX_REQUIREMENT_CHARS })
767
+ );
768
+ }
769
+ const llmService = asNonEmptyString(values.llmService);
770
+ const model = asNonEmptyString(values.model);
771
+ if (!llmService || !model) {
772
+ ctx.throw(400, t(ctx, "An LLM service and model are required"));
773
+ }
774
+ const dataSource = asNonEmptyString(values.dataSource) ?? "main";
775
+ const primaryCollection = asNonEmptyString(values.primaryCollection) ?? collections[0];
776
+ return { requirement, collections, dataSource, primaryCollection, llmService, model };
777
+ }
778
+ function assertCollectionPermissions(ctx, collections) {
779
+ const roles = getCurrentRoles(ctx);
780
+ if (roles.includes("root")) {
781
+ return;
782
+ }
783
+ const app = ctx.app;
784
+ for (const collection of collections) {
785
+ const allowed = app.acl.can({ roles, resource: collection, action: "list" });
786
+ if (!allowed) {
787
+ ctx.throw(403, t(ctx, 'You do not have permission to read collection "{{collection}}"', { collection }));
788
+ }
789
+ }
790
+ }
791
+ async function build(ctx, next) {
792
+ var _a, _b;
793
+ const params = ctx.action.params;
794
+ const values = params.values ?? {};
795
+ const input = validateInput(ctx, values);
796
+ assertCollectionPermissions(ctx, input.collections);
797
+ const runId = import_crypto.default.randomUUID();
798
+ const userId = ((_b = (_a = ctx.auth) == null ? void 0 : _a.user) == null ? void 0 : _b.id) ?? null;
799
+ const repository = ctx.db.getRepository(import_constants.COLLECTION_NAME);
800
+ const record = await repository.create({
801
+ values: {
802
+ requirement: input.requirement,
803
+ collections: input.collections,
804
+ dataSource: input.dataSource,
805
+ primaryCollection: input.primaryCollection,
806
+ llmService: input.llmService,
807
+ model: input.model,
808
+ status: "building",
809
+ buildPhase: "queued",
810
+ buildRunId: runId,
811
+ buildQueuedAt: /* @__PURE__ */ new Date(),
812
+ createdById: userId
813
+ }
814
+ });
815
+ const buildId = String(record.get("id"));
816
+ await enqueueBuild(ctx.app, {
817
+ buildId,
818
+ runId,
819
+ userId,
820
+ queuedAt: (/* @__PURE__ */ new Date()).toISOString()
821
+ });
822
+ ctx.body = {
823
+ id: record.get("id"),
824
+ status: "building",
825
+ buildPhase: "queued"
826
+ };
827
+ await next();
828
+ }
829
+ function getFilterByTk(ctx) {
830
+ const filterByTk = ctx.action.params.filterByTk;
831
+ if (typeof filterByTk === "number") {
832
+ return filterByTk;
833
+ }
834
+ if (typeof filterByTk === "string" && filterByTk.trim().length > 0) {
835
+ return filterByTk;
836
+ }
837
+ ctx.throw(400, t(ctx, "A build id is required"));
838
+ }
839
+ async function retry(ctx, next) {
840
+ var _a, _b;
841
+ const filterByTk = getFilterByTk(ctx);
842
+ const repository = ctx.db.getRepository(import_constants.COLLECTION_NAME);
843
+ const record = await repository.findById(filterByTk);
844
+ if (!record) {
845
+ ctx.throw(404, t(ctx, "Build record not found"));
846
+ }
847
+ assertBuildRecordAccess(ctx, record);
848
+ const runId = import_crypto.default.randomUUID();
849
+ const userId = ((_b = (_a = ctx.auth) == null ? void 0 : _a.user) == null ? void 0 : _b.id) ?? null;
850
+ await repository.update({
851
+ filterByTk,
852
+ values: {
853
+ status: "building",
854
+ buildPhase: "queued",
855
+ buildRunId: runId,
856
+ buildQueuedAt: /* @__PURE__ */ new Date(),
857
+ buildLog: "Build re-queued via retry",
858
+ errorMessage: null,
859
+ blockSchema: null,
860
+ blockSpec: null,
861
+ adjustments: null,
862
+ usedFallback: false,
863
+ buildStartedAt: null,
864
+ buildHeartbeatAt: null,
865
+ buildWorkerId: null
866
+ }
867
+ });
868
+ const buildId = String(record.get("id"));
869
+ await enqueueBuild(ctx.app, {
870
+ buildId,
871
+ runId,
872
+ userId,
873
+ queuedAt: (/* @__PURE__ */ new Date()).toISOString()
874
+ });
875
+ ctx.body = {
876
+ id: record.get("id"),
877
+ status: "building",
878
+ buildPhase: "queued"
879
+ };
880
+ await next();
881
+ }
882
+ async function getResult(ctx, next) {
883
+ const filterByTk = getFilterByTk(ctx);
884
+ const repository = ctx.db.getRepository(import_constants.COLLECTION_NAME);
885
+ const record = await repository.findById(filterByTk);
886
+ if (!record) {
887
+ ctx.throw(404, t(ctx, "Build record not found"));
888
+ }
889
+ assertBuildRecordAccess(ctx, record);
890
+ ctx.body = {
891
+ id: record.get("id"),
892
+ status: record.get("status"),
893
+ buildPhase: record.get("buildPhase"),
894
+ blockSchema: record.get("blockSchema"),
895
+ blockSpec: record.get("blockSpec"),
896
+ adjustments: record.get("adjustments"),
897
+ usedFallback: record.get("usedFallback"),
898
+ errorMessage: record.get("errorMessage")
899
+ };
900
+ await next();
901
+ }
902
+ // Annotate the CommonJS export names for ESM import in node:
903
+ 0 && (module.exports = {
904
+ WORKER_JOB_BUILD_VISUALIZATION_PROCESS,
905
+ build,
906
+ enqueueBuild,
907
+ failTimedOutBuilds,
908
+ getResult,
909
+ processQueuedBuild,
910
+ recoverInterruptedBuilds,
911
+ registerBuildQueue,
912
+ retry,
913
+ startBuildQueueProcessor,
914
+ unregisterBuildQueue
915
+ });