@vellumai/cli 0.10.11 → 0.10.12-dev.202607242326.75b9ec6

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 (766) hide show
  1. package/knip.json +1 -0
  2. package/node_modules/@vellumai/local-mode/src/lockfile-contract.test.ts +25 -0
  3. package/node_modules/@vellumai/local-mode/src/lockfile-contract.ts +7 -0
  4. package/node_modules/@vellumai/local-mode/src/lockfile.test.ts +24 -0
  5. package/node_modules/@vellumai/service-contracts/node_modules/zod/LICENSE +21 -0
  6. package/node_modules/@vellumai/service-contracts/node_modules/zod/README.md +208 -0
  7. package/node_modules/@vellumai/service-contracts/node_modules/zod/index.cjs +33 -0
  8. package/node_modules/@vellumai/service-contracts/node_modules/zod/index.d.cts +4 -0
  9. package/node_modules/@vellumai/service-contracts/node_modules/zod/index.d.ts +4 -0
  10. package/node_modules/@vellumai/service-contracts/node_modules/zod/index.js +4 -0
  11. package/node_modules/@vellumai/service-contracts/node_modules/zod/locales/index.cjs +17 -0
  12. package/node_modules/@vellumai/service-contracts/node_modules/zod/locales/index.d.cts +1 -0
  13. package/node_modules/@vellumai/service-contracts/node_modules/zod/locales/index.d.ts +1 -0
  14. package/node_modules/@vellumai/service-contracts/node_modules/zod/locales/index.js +1 -0
  15. package/node_modules/@vellumai/service-contracts/node_modules/zod/locales/package.json +6 -0
  16. package/node_modules/@vellumai/service-contracts/node_modules/zod/mini/index.cjs +32 -0
  17. package/node_modules/@vellumai/service-contracts/node_modules/zod/mini/index.d.cts +3 -0
  18. package/node_modules/@vellumai/service-contracts/node_modules/zod/mini/index.d.ts +3 -0
  19. package/node_modules/@vellumai/service-contracts/node_modules/zod/mini/index.js +3 -0
  20. package/node_modules/@vellumai/service-contracts/node_modules/zod/mini/package.json +6 -0
  21. package/node_modules/@vellumai/service-contracts/node_modules/zod/package.json +135 -0
  22. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/index.ts +4 -0
  23. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/locales/index.ts +1 -0
  24. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/mini/index.ts +3 -0
  25. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/ZodError.ts +330 -0
  26. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  27. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  28. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  29. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  30. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  31. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  32. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  33. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  34. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  35. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/errors.ts +13 -0
  36. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/external.ts +6 -0
  37. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  38. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  39. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  40. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  41. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  42. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/helpers/util.ts +224 -0
  43. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/index.ts +4 -0
  44. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/locales/en.ts +124 -0
  45. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/standard-schema.ts +113 -0
  46. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  47. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  48. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  49. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  50. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  51. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  52. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  53. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  54. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  55. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  56. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  57. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  58. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  59. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  60. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  61. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  62. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  63. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  64. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  65. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  66. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  67. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  68. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  69. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  70. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  71. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  72. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  73. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  74. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  75. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  76. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  77. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  78. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  79. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  80. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  81. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  82. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  83. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  84. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  85. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  86. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  87. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  88. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  89. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  90. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  91. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  92. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  93. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  94. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  95. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  96. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  97. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  98. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  99. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  100. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  101. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  102. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  103. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  104. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  105. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  106. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  107. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v3/types.ts +5138 -0
  108. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/checks.ts +32 -0
  109. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  110. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/compat.ts +70 -0
  111. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/errors.ts +82 -0
  112. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/external.ts +51 -0
  113. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
  114. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/index.ts +5 -0
  115. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/iso.ts +90 -0
  116. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/parse.ts +82 -0
  117. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
  118. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  119. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  120. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  121. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  122. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  123. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  124. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  125. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  126. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  127. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  128. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  129. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  130. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  131. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  132. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  133. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  134. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  135. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  136. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  137. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  138. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  139. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  140. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  141. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  142. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  143. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  144. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  145. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  146. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
  147. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  148. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  149. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  150. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  151. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  152. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  153. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  154. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  155. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  156. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  157. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  158. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  159. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  160. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  161. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  162. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
  163. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
  164. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
  165. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  166. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  167. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  168. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  169. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  170. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  171. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  172. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  173. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
  174. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
  175. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
  176. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  177. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  178. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  179. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  180. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
  181. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  182. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  183. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  184. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
  185. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  186. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
  187. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
  188. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  189. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  190. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  191. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/api.ts +1798 -0
  192. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/checks.ts +1293 -0
  193. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/config.ts +15 -0
  194. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/core.ts +138 -0
  195. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/doc.ts +44 -0
  196. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/errors.ts +448 -0
  197. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/index.ts +16 -0
  198. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  199. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
  200. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  201. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/parse.ts +195 -0
  202. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/regexes.ts +183 -0
  203. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/registries.ts +105 -0
  204. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/schemas.ts +4538 -0
  205. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  206. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  207. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  208. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  209. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  210. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  211. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  212. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  213. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  214. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  215. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
  216. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
  217. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  218. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
  219. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/util.ts +966 -0
  220. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/versions.ts +5 -0
  221. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/core/zsf.ts +323 -0
  222. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/index.ts +4 -0
  223. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ar.ts +115 -0
  224. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/az.ts +111 -0
  225. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/be.ts +176 -0
  226. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/bg.ts +128 -0
  227. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ca.ts +116 -0
  228. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/cs.ts +118 -0
  229. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/da.ts +123 -0
  230. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/de.ts +116 -0
  231. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/en.ts +119 -0
  232. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/eo.ts +118 -0
  233. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/es.ts +141 -0
  234. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/fa.ts +126 -0
  235. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/fi.ts +121 -0
  236. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  237. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/fr.ts +116 -0
  238. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/he.ts +246 -0
  239. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/hu.ts +117 -0
  240. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/hy.ts +164 -0
  241. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/id.ts +115 -0
  242. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/index.ts +49 -0
  243. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/is.ts +119 -0
  244. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/it.ts +116 -0
  245. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ja.ts +114 -0
  246. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ka.ts +123 -0
  247. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/kh.ts +7 -0
  248. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/km.ts +119 -0
  249. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ko.ts +121 -0
  250. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/lt.ts +239 -0
  251. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/mk.ts +118 -0
  252. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ms.ts +115 -0
  253. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/nl.ts +121 -0
  254. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/no.ts +116 -0
  255. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ota.ts +117 -0
  256. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/pl.ts +118 -0
  257. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ps.ts +126 -0
  258. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/pt.ts +116 -0
  259. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ru.ts +176 -0
  260. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/sl.ts +118 -0
  261. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/sv.ts +119 -0
  262. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ta.ts +118 -0
  263. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/th.ts +119 -0
  264. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/tr.ts +111 -0
  265. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ua.ts +7 -0
  266. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/uk.ts +117 -0
  267. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/ur.ts +119 -0
  268. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/uz.ts +116 -0
  269. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/vi.ts +117 -0
  270. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/yo.ts +124 -0
  271. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  272. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  273. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/checks.ts +32 -0
  274. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  275. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/external.ts +40 -0
  276. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/index.ts +3 -0
  277. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/iso.ts +66 -0
  278. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/parse.ts +14 -0
  279. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
  280. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  281. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  282. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  283. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  284. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  285. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  286. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  287. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  288. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
  289. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  290. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  291. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  292. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  293. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  294. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
  295. package/node_modules/@vellumai/service-contracts/node_modules/zod/src/v4-mini/index.ts +3 -0
  296. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/ZodError.cjs +138 -0
  297. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/ZodError.d.cts +164 -0
  298. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/ZodError.d.ts +164 -0
  299. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/ZodError.js +133 -0
  300. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/errors.cjs +17 -0
  301. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/errors.d.cts +5 -0
  302. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/errors.d.ts +5 -0
  303. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/errors.js +9 -0
  304. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/external.cjs +22 -0
  305. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/external.d.cts +6 -0
  306. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/external.d.ts +6 -0
  307. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/external.js +6 -0
  308. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  309. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  310. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  311. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  312. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  313. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  314. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  315. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  316. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  317. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  318. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  319. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  320. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  321. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  322. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  323. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  324. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  325. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  326. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  327. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  328. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/util.cjs +137 -0
  329. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/util.d.cts +85 -0
  330. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/util.d.ts +85 -0
  331. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/helpers/util.js +133 -0
  332. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/index.cjs +33 -0
  333. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/index.d.cts +4 -0
  334. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/index.d.ts +4 -0
  335. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/index.js +4 -0
  336. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/locales/en.cjs +112 -0
  337. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/locales/en.d.cts +3 -0
  338. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/locales/en.d.ts +3 -0
  339. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/locales/en.js +109 -0
  340. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/package.json +6 -0
  341. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/standard-schema.cjs +2 -0
  342. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/standard-schema.d.cts +102 -0
  343. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/standard-schema.d.ts +102 -0
  344. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/standard-schema.js +1 -0
  345. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/types.cjs +3777 -0
  346. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/types.d.cts +1034 -0
  347. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/types.d.ts +1034 -0
  348. package/node_modules/@vellumai/service-contracts/node_modules/zod/v3/types.js +3695 -0
  349. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/checks.cjs +33 -0
  350. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/checks.d.cts +1 -0
  351. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/checks.d.ts +1 -0
  352. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/checks.js +1 -0
  353. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/coerce.cjs +47 -0
  354. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  355. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  356. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/coerce.js +17 -0
  357. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/compat.cjs +61 -0
  358. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/compat.d.cts +50 -0
  359. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/compat.d.ts +50 -0
  360. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/compat.js +31 -0
  361. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/errors.cjs +74 -0
  362. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/errors.d.cts +30 -0
  363. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/errors.d.ts +30 -0
  364. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/errors.js +48 -0
  365. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/external.cjs +73 -0
  366. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/external.d.cts +15 -0
  367. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/external.d.ts +15 -0
  368. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/external.js +20 -0
  369. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
  370. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  371. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  372. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/from-json-schema.js +584 -0
  373. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/index.cjs +33 -0
  374. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/index.d.cts +4 -0
  375. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/index.d.ts +4 -0
  376. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/index.js +4 -0
  377. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/iso.cjs +60 -0
  378. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/iso.d.cts +22 -0
  379. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/iso.d.ts +22 -0
  380. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/iso.js +30 -0
  381. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/package.json +6 -0
  382. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/parse.cjs +41 -0
  383. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/parse.d.cts +31 -0
  384. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/parse.d.ts +31 -0
  385. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/parse.js +15 -0
  386. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/schemas.cjs +1272 -0
  387. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/schemas.d.cts +739 -0
  388. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/schemas.d.ts +739 -0
  389. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/classic/schemas.js +1157 -0
  390. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/api.cjs +1222 -0
  391. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/api.d.cts +304 -0
  392. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/api.d.ts +304 -0
  393. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/api.js +1082 -0
  394. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/checks.cjs +601 -0
  395. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/checks.d.cts +278 -0
  396. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/checks.d.ts +278 -0
  397. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/checks.js +575 -0
  398. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/core.cjs +83 -0
  399. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/core.d.cts +70 -0
  400. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/core.d.ts +70 -0
  401. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/core.js +76 -0
  402. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/doc.cjs +39 -0
  403. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/doc.d.cts +14 -0
  404. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/doc.d.ts +14 -0
  405. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/doc.js +35 -0
  406. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/errors.cjs +213 -0
  407. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/errors.d.cts +220 -0
  408. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/errors.d.ts +220 -0
  409. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/errors.js +182 -0
  410. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/index.cjs +47 -0
  411. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/index.d.cts +16 -0
  412. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/index.d.ts +16 -0
  413. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/index.js +16 -0
  414. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  415. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  416. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  417. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  418. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
  419. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  420. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  421. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema-processors.js +605 -0
  422. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema.cjs +2 -0
  423. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  424. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  425. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/json-schema.js +1 -0
  426. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/package.json +6 -0
  427. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/parse.cjs +131 -0
  428. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/parse.d.cts +49 -0
  429. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/parse.d.ts +49 -0
  430. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/parse.js +93 -0
  431. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/regexes.cjs +166 -0
  432. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/regexes.d.cts +79 -0
  433. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/regexes.d.ts +79 -0
  434. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/regexes.js +133 -0
  435. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/registries.cjs +56 -0
  436. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/registries.d.cts +35 -0
  437. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/registries.d.ts +35 -0
  438. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/registries.js +51 -0
  439. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/schemas.cjs +2124 -0
  440. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/schemas.d.cts +1146 -0
  441. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/schemas.d.ts +1146 -0
  442. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/schemas.js +2093 -0
  443. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  444. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  445. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  446. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/standard-schema.js +1 -0
  447. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
  448. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  449. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  450. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/to-json-schema.js +437 -0
  451. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/util.cjs +710 -0
  452. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/util.d.cts +199 -0
  453. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/util.d.ts +199 -0
  454. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/util.js +651 -0
  455. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/versions.cjs +8 -0
  456. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/versions.d.cts +5 -0
  457. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/versions.d.ts +5 -0
  458. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/core/versions.js +5 -0
  459. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/index.cjs +22 -0
  460. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/index.d.cts +3 -0
  461. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/index.d.ts +3 -0
  462. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/index.js +3 -0
  463. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ar.cjs +133 -0
  464. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ar.d.cts +5 -0
  465. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ar.d.ts +4 -0
  466. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ar.js +106 -0
  467. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/az.cjs +132 -0
  468. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/az.d.cts +5 -0
  469. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/az.d.ts +4 -0
  470. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/az.js +105 -0
  471. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/be.cjs +183 -0
  472. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/be.d.cts +5 -0
  473. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/be.d.ts +4 -0
  474. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/be.js +156 -0
  475. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/bg.cjs +147 -0
  476. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/bg.d.cts +5 -0
  477. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/bg.d.ts +4 -0
  478. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/bg.js +120 -0
  479. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ca.cjs +134 -0
  480. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ca.d.cts +5 -0
  481. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ca.d.ts +4 -0
  482. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ca.js +107 -0
  483. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/cs.cjs +138 -0
  484. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/cs.d.cts +5 -0
  485. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/cs.d.ts +4 -0
  486. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/cs.js +111 -0
  487. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/da.cjs +142 -0
  488. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/da.d.cts +5 -0
  489. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/da.d.ts +4 -0
  490. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/da.js +115 -0
  491. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/de.cjs +135 -0
  492. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/de.d.cts +5 -0
  493. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/de.d.ts +4 -0
  494. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/de.js +108 -0
  495. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/en.cjs +136 -0
  496. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/en.d.cts +5 -0
  497. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/en.d.ts +4 -0
  498. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/en.js +109 -0
  499. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/eo.cjs +136 -0
  500. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/eo.d.cts +5 -0
  501. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/eo.d.ts +4 -0
  502. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/eo.js +109 -0
  503. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/es.cjs +159 -0
  504. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/es.d.cts +5 -0
  505. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/es.d.ts +4 -0
  506. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/es.js +132 -0
  507. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fa.cjs +141 -0
  508. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fa.d.cts +5 -0
  509. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fa.d.ts +4 -0
  510. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fa.js +114 -0
  511. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fi.cjs +139 -0
  512. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fi.d.cts +5 -0
  513. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fi.d.ts +4 -0
  514. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fi.js +112 -0
  515. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  516. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  517. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  518. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr-CA.js +107 -0
  519. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr.cjs +135 -0
  520. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr.d.cts +5 -0
  521. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr.d.ts +4 -0
  522. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/fr.js +108 -0
  523. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/he.cjs +241 -0
  524. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/he.d.cts +5 -0
  525. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/he.d.ts +4 -0
  526. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/he.js +214 -0
  527. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hu.cjs +135 -0
  528. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hu.d.cts +5 -0
  529. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hu.d.ts +4 -0
  530. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hu.js +108 -0
  531. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hy.cjs +174 -0
  532. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hy.d.cts +5 -0
  533. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hy.d.ts +4 -0
  534. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/hy.js +147 -0
  535. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/id.cjs +133 -0
  536. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/id.d.cts +5 -0
  537. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/id.d.ts +4 -0
  538. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/id.js +106 -0
  539. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/index.cjs +104 -0
  540. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/index.d.cts +49 -0
  541. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/index.d.ts +49 -0
  542. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/index.js +49 -0
  543. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/is.cjs +136 -0
  544. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/is.d.cts +5 -0
  545. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/is.d.ts +4 -0
  546. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/is.js +109 -0
  547. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/it.cjs +135 -0
  548. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/it.d.cts +5 -0
  549. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/it.d.ts +4 -0
  550. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/it.js +108 -0
  551. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ja.cjs +134 -0
  552. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ja.d.cts +5 -0
  553. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ja.d.ts +4 -0
  554. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ja.js +107 -0
  555. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ka.cjs +139 -0
  556. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ka.d.cts +5 -0
  557. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ka.d.ts +4 -0
  558. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ka.js +112 -0
  559. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/kh.cjs +12 -0
  560. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/kh.d.cts +5 -0
  561. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/kh.d.ts +5 -0
  562. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/kh.js +5 -0
  563. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/km.cjs +137 -0
  564. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/km.d.cts +5 -0
  565. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/km.d.ts +4 -0
  566. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/km.js +110 -0
  567. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ko.cjs +138 -0
  568. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ko.d.cts +5 -0
  569. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ko.d.ts +4 -0
  570. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ko.js +111 -0
  571. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/lt.cjs +230 -0
  572. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/lt.d.cts +5 -0
  573. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/lt.d.ts +4 -0
  574. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/lt.js +203 -0
  575. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/mk.cjs +136 -0
  576. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/mk.d.cts +5 -0
  577. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/mk.d.ts +4 -0
  578. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/mk.js +109 -0
  579. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ms.cjs +134 -0
  580. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ms.d.cts +5 -0
  581. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ms.d.ts +4 -0
  582. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ms.js +107 -0
  583. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/nl.cjs +137 -0
  584. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/nl.d.cts +5 -0
  585. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/nl.d.ts +4 -0
  586. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/nl.js +110 -0
  587. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/no.cjs +135 -0
  588. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/no.d.cts +5 -0
  589. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/no.d.ts +4 -0
  590. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/no.js +108 -0
  591. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ota.cjs +136 -0
  592. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ota.d.cts +5 -0
  593. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ota.d.ts +4 -0
  594. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ota.js +109 -0
  595. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/package.json +6 -0
  596. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pl.cjs +136 -0
  597. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pl.d.cts +5 -0
  598. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pl.d.ts +4 -0
  599. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pl.js +109 -0
  600. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ps.cjs +141 -0
  601. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ps.d.cts +5 -0
  602. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ps.d.ts +4 -0
  603. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ps.js +114 -0
  604. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pt.cjs +135 -0
  605. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pt.d.cts +5 -0
  606. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pt.d.ts +4 -0
  607. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/pt.js +108 -0
  608. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ru.cjs +183 -0
  609. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ru.d.cts +5 -0
  610. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ru.d.ts +4 -0
  611. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ru.js +156 -0
  612. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sl.cjs +136 -0
  613. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sl.d.cts +5 -0
  614. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sl.d.ts +4 -0
  615. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sl.js +109 -0
  616. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sv.cjs +137 -0
  617. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sv.d.cts +5 -0
  618. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sv.d.ts +4 -0
  619. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/sv.js +110 -0
  620. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ta.cjs +137 -0
  621. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ta.d.cts +5 -0
  622. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ta.d.ts +4 -0
  623. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ta.js +110 -0
  624. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/th.cjs +137 -0
  625. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/th.d.cts +5 -0
  626. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/th.d.ts +4 -0
  627. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/th.js +110 -0
  628. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/tr.cjs +132 -0
  629. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/tr.d.cts +5 -0
  630. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/tr.d.ts +4 -0
  631. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/tr.js +105 -0
  632. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ua.cjs +12 -0
  633. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ua.d.cts +5 -0
  634. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ua.d.ts +5 -0
  635. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ua.js +5 -0
  636. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uk.cjs +135 -0
  637. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uk.d.cts +5 -0
  638. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uk.d.ts +4 -0
  639. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uk.js +108 -0
  640. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ur.cjs +137 -0
  641. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ur.d.cts +5 -0
  642. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ur.d.ts +4 -0
  643. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/ur.js +110 -0
  644. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uz.cjs +136 -0
  645. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uz.d.cts +5 -0
  646. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uz.d.ts +4 -0
  647. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/uz.js +109 -0
  648. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/vi.cjs +135 -0
  649. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/vi.d.cts +5 -0
  650. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/vi.d.ts +4 -0
  651. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/vi.js +108 -0
  652. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/yo.cjs +134 -0
  653. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/yo.d.cts +5 -0
  654. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/yo.d.ts +4 -0
  655. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/yo.js +107 -0
  656. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  657. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  658. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  659. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-CN.js +109 -0
  660. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  661. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  662. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  663. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/locales/zh-TW.js +107 -0
  664. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/checks.cjs +34 -0
  665. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/checks.d.cts +1 -0
  666. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/checks.d.ts +1 -0
  667. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/checks.js +1 -0
  668. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/coerce.cjs +52 -0
  669. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  670. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  671. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/coerce.js +22 -0
  672. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/external.cjs +63 -0
  673. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/external.d.cts +12 -0
  674. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/external.d.ts +12 -0
  675. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/external.js +14 -0
  676. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/index.cjs +32 -0
  677. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/index.d.cts +3 -0
  678. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/index.d.ts +3 -0
  679. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/index.js +3 -0
  680. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/iso.cjs +64 -0
  681. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/iso.d.cts +22 -0
  682. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/iso.d.ts +22 -0
  683. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/iso.js +34 -0
  684. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/package.json +6 -0
  685. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/parse.cjs +16 -0
  686. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/parse.d.cts +1 -0
  687. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/parse.d.ts +1 -0
  688. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/parse.js +1 -0
  689. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/schemas.cjs +1046 -0
  690. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/schemas.d.cts +427 -0
  691. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/schemas.d.ts +427 -0
  692. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/mini/schemas.js +925 -0
  693. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4/package.json +6 -0
  694. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4-mini/index.cjs +32 -0
  695. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4-mini/index.d.cts +3 -0
  696. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4-mini/index.d.ts +3 -0
  697. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4-mini/index.js +3 -0
  698. package/node_modules/@vellumai/service-contracts/node_modules/zod/v4-mini/package.json +6 -0
  699. package/node_modules/@vellumai/service-contracts/package.json +34 -0
  700. package/node_modules/@vellumai/service-contracts/src/__tests__/attachment-naming.test.ts +104 -0
  701. package/node_modules/@vellumai/service-contracts/src/__tests__/channels.test.ts +28 -0
  702. package/node_modules/@vellumai/service-contracts/src/__tests__/contracts.test.ts +299 -0
  703. package/node_modules/@vellumai/service-contracts/src/__tests__/ingress.test.ts +125 -0
  704. package/node_modules/@vellumai/service-contracts/src/__tests__/package-boundary.test.ts +151 -0
  705. package/node_modules/@vellumai/service-contracts/src/__tests__/redacted-credential.test.ts +200 -0
  706. package/node_modules/@vellumai/service-contracts/src/__tests__/secret-detection.test.ts +449 -0
  707. package/node_modules/@vellumai/service-contracts/src/attachment-naming.ts +118 -0
  708. package/node_modules/@vellumai/service-contracts/src/channels.ts +41 -0
  709. package/node_modules/@vellumai/service-contracts/src/client-metadata.ts +46 -0
  710. package/node_modules/@vellumai/service-contracts/src/credential-rpc.ts +21 -0
  711. package/node_modules/@vellumai/service-contracts/src/error.ts +26 -0
  712. package/node_modules/@vellumai/service-contracts/src/handles.ts +212 -0
  713. package/node_modules/@vellumai/service-contracts/src/index.ts +30 -0
  714. package/node_modules/@vellumai/service-contracts/src/ingress.ts +40 -0
  715. package/node_modules/@vellumai/service-contracts/src/redacted-credential.ts +226 -0
  716. package/node_modules/@vellumai/service-contracts/src/remote-web-pairing.ts +260 -0
  717. package/node_modules/@vellumai/service-contracts/src/rpc.ts +234 -0
  718. package/node_modules/@vellumai/service-contracts/src/secret-detection.ts +468 -0
  719. package/node_modules/@vellumai/service-contracts/src/transport.ts +133 -0
  720. package/node_modules/@vellumai/service-contracts/src/trust-rules.ts +116 -0
  721. package/node_modules/@vellumai/service-contracts/src/twilio-ingress.ts +73 -0
  722. package/node_modules/@vellumai/service-contracts/tsconfig.json +20 -0
  723. package/package.json +6 -2
  724. package/src/__tests__/assistant-config.test.ts +118 -2
  725. package/src/__tests__/flags.test.ts +78 -8
  726. package/src/__tests__/ingress-config.test.ts +103 -0
  727. package/src/__tests__/input-history.test.ts +1 -6
  728. package/src/__tests__/local-hatch-lock.test.ts +163 -0
  729. package/src/__tests__/login-loopback.test.ts +6 -2
  730. package/src/__tests__/nginx-ingress.test.ts +7 -0
  731. package/src/__tests__/pair.test.ts +860 -1
  732. package/src/__tests__/platform-client.test.ts +10 -2
  733. package/src/__tests__/statefulset.test.ts +3 -1
  734. package/src/__tests__/tailscale-tunnel.test.ts +229 -0
  735. package/src/__tests__/tunnel.test.ts +54 -0
  736. package/src/__tests__/wake.test.ts +210 -16
  737. package/src/commands/backup.ts +22 -16
  738. package/src/commands/client.ts +218 -18
  739. package/src/commands/exec.ts +5 -1
  740. package/src/commands/flags.ts +4 -1
  741. package/src/commands/nginx-ingress.ts +57 -71
  742. package/src/commands/pair.ts +297 -129
  743. package/src/commands/rollback.ts +2 -1
  744. package/src/commands/ssh.ts +1 -4
  745. package/src/commands/tunnel.ts +35 -3
  746. package/src/commands/wake.ts +118 -0
  747. package/src/lib/__tests__/step-runner.test.ts +6 -1
  748. package/src/lib/__tests__/terminal-session.test.ts +5 -14
  749. package/src/lib/assistant-config.ts +8 -2
  750. package/src/lib/cloudflare-tunnel.ts +10 -55
  751. package/src/lib/device-id.ts +1 -3
  752. package/src/lib/environments/__tests__/detect.test.ts +101 -0
  753. package/src/lib/environments/detect.ts +79 -0
  754. package/src/lib/flag-args.test.ts +1 -6
  755. package/src/lib/guardian-token.ts +18 -18
  756. package/src/lib/hatch-local.ts +98 -86
  757. package/src/lib/ingress-config.ts +101 -0
  758. package/src/lib/local-hatch-lock.ts +322 -0
  759. package/src/lib/local.ts +21 -3
  760. package/src/lib/loopback-fetch.ts +1 -1
  761. package/src/lib/nginx-ingress.ts +98 -22
  762. package/src/lib/ngrok.ts +12 -65
  763. package/src/lib/retire-apple-container.ts +7 -5
  764. package/src/lib/stale-cli-hint.ts +11 -0
  765. package/src/lib/tailscale-tunnel.ts +321 -0
  766. package/src/lib/upgrade-preflight.ts +10 -7
@@ -134,15 +134,18 @@ export async function backup(): Promise<void> {
134
134
  // Call the export endpoint
135
135
  let response: Response;
136
136
  try {
137
- response = await loopbackSafeFetch(`${entry.runtimeUrl}/v1/migrations/export`, {
138
- method: "POST",
139
- headers: {
140
- Authorization: `Bearer ${accessToken}`,
141
- "Content-Type": "application/json",
137
+ response = await loopbackSafeFetch(
138
+ `${entry.runtimeUrl}/v1/migrations/export`,
139
+ {
140
+ method: "POST",
141
+ headers: {
142
+ Authorization: `Bearer ${accessToken}`,
143
+ "Content-Type": "application/json",
144
+ },
145
+ body: JSON.stringify({ description: "CLI backup" }),
146
+ signal: AbortSignal.timeout(exportTimeoutMs),
142
147
  },
143
- body: JSON.stringify({ description: "CLI backup" }),
144
- signal: AbortSignal.timeout(exportTimeoutMs),
145
- });
148
+ );
146
149
 
147
150
  // Retry once with a fresh token on 401 — the cached token may be stale
148
151
  // after a container restart that generated a new gateway signing key.
@@ -160,15 +163,18 @@ export async function backup(): Promise<void> {
160
163
  }
161
164
  if (refreshedToken) {
162
165
  accessToken = refreshedToken;
163
- response = await loopbackSafeFetch(`${entry.runtimeUrl}/v1/migrations/export`, {
164
- method: "POST",
165
- headers: {
166
- Authorization: `Bearer ${accessToken}`,
167
- "Content-Type": "application/json",
166
+ response = await loopbackSafeFetch(
167
+ `${entry.runtimeUrl}/v1/migrations/export`,
168
+ {
169
+ method: "POST",
170
+ headers: {
171
+ Authorization: `Bearer ${accessToken}`,
172
+ "Content-Type": "application/json",
173
+ },
174
+ body: JSON.stringify({ description: "CLI backup" }),
175
+ signal: AbortSignal.timeout(exportTimeoutMs),
168
176
  },
169
- body: JSON.stringify({ description: "CLI backup" }),
170
- signal: AbortSignal.timeout(exportTimeoutMs),
171
- });
177
+ );
172
178
  }
173
179
  }
174
180
  } catch (err) {
@@ -1,5 +1,5 @@
1
1
  import { spawn } from "node:child_process";
2
- import { existsSync } from "node:fs";
2
+ import { closeSync, existsSync } from "node:fs";
3
3
  import path from "node:path";
4
4
 
5
5
  import {
@@ -61,6 +61,8 @@ import { tuiLog } from "../lib/tui-log";
61
61
  import { loopbackSafeFetch } from "../lib/loopback-fetch.js";
62
62
  import { probePort } from "../lib/port-probe.js";
63
63
  import { openBrowser } from "../lib/open-browser";
64
+ import { isCompiledCli } from "../lib/local.js";
65
+ import { getLogDir, openLogFile, resetLogFile } from "../lib/xdg-log.js";
64
66
 
65
67
  const SUPPORTED_INTERFACES = ["cli", "web"] as const;
66
68
  type SupportedInterface = (typeof SUPPORTED_INTERFACES)[number];
@@ -93,6 +95,10 @@ interface ParsedArgs {
93
95
  disablePlatform: boolean;
94
96
  /** Auto-open the web interface in the default browser (--interface web only). */
95
97
  openBrowser: boolean;
98
+ /** Explicit web server port (--interface web only). Binds strictly — no scan. */
99
+ webPort?: number;
100
+ /** Run the web server as a detached background process (--interface web only). */
101
+ background: boolean;
96
102
  }
97
103
 
98
104
  function readAssistantName(entry: AssistantEntry | null): string | undefined {
@@ -138,9 +144,12 @@ export function parseArgs(): ParsedArgs {
138
144
  "-i",
139
145
  "--token",
140
146
  "-t",
147
+ "--port",
141
148
  ]);
142
149
  // Auto-open the web interface in the browser by default; --no-open opts out.
143
150
  let openBrowserPref = true;
151
+ let webPort: number | undefined;
152
+ let background = false;
144
153
  const flagArgs: string[] = [];
145
154
  for (let i = 0; i < args.length; i++) {
146
155
  const arg = args[i];
@@ -151,6 +160,19 @@ export function parseArgs(): ParsedArgs {
151
160
  disablePlatform = true;
152
161
  } else if (arg === "--no-open") {
153
162
  openBrowserPref = false;
163
+ } else if (arg === "--background") {
164
+ background = true;
165
+ } else if (arg === "--port") {
166
+ const value = args[++i];
167
+ const parsed =
168
+ value === undefined ? Number.NaN : Number.parseInt(value, 10);
169
+ if (String(parsed) !== value || parsed < 1 || parsed > 65535) {
170
+ console.error(
171
+ `Invalid --port '${value ?? ""}'. Expected an integer between 1 and 65535.`,
172
+ );
173
+ process.exit(1);
174
+ }
175
+ webPort = parsed;
154
176
  } else if (
155
177
  (arg === "--url" ||
156
178
  arg === "-u" ||
@@ -259,6 +281,17 @@ export function parseArgs(): ParsedArgs {
259
281
  }
260
282
  }
261
283
 
284
+ if (interfaceId !== WEB_INTERFACE_ID) {
285
+ if (webPort !== undefined) {
286
+ console.error("--port requires --interface web.");
287
+ process.exit(1);
288
+ }
289
+ if (background) {
290
+ console.error("--background requires --interface web.");
291
+ process.exit(1);
292
+ }
293
+ }
294
+
262
295
  return {
263
296
  runtimeUrl: normalizeRuntimeUrl(runtimeUrl),
264
297
  assistantId,
@@ -272,6 +305,8 @@ export function parseArgs(): ParsedArgs {
272
305
  parsedFlagOverrides,
273
306
  disablePlatform,
274
307
  openBrowser: openBrowserPref,
308
+ webPort,
309
+ background,
275
310
  };
276
311
  }
277
312
 
@@ -292,6 +327,12 @@ ${ANSI.bold}OPTIONS:${ANSI.reset}
292
327
  -a, --assistant-id <id> Assistant ID
293
328
  -i, --interface <id> Interface identifier: cli (default) or web
294
329
  --no-open Don't auto-open the browser (--interface web)
330
+ --port <port> Web server port, 1-65535 (--interface web).
331
+ Errors if the port is taken. Default: 3000,
332
+ scanning upward when busy.
333
+ --background Run the web server as a background process
334
+ (--interface web). Prints the URL, PID, and log
335
+ path, then returns to the shell.
295
336
  --flag <key=value> Feature flag override (repeatable, kebab-case key)
296
337
  --disable-platform Suppress all outbound platform API calls
297
338
  -h, --help Show this help message
@@ -311,6 +352,9 @@ ${ANSI.bold}EXAMPLES:${ANSI.reset}
311
352
  # Ephemeral: connect to another machine's assistant with a paired token
312
353
  # (no lockfile entry, nothing persisted):
313
354
  vellum client --url https://your-tunnel.example --token <jwt>
355
+
356
+ # Web interface on a fixed port, detached from the shell:
357
+ vellum client --interface web --port 4000 --background
314
358
  `);
315
359
  }
316
360
 
@@ -775,12 +819,12 @@ function tryBindLoopback(
775
819
  * Never binds wildcard interfaces (`0.0.0.0`/`::`): the server exposes
776
820
  * `/__local/*` control endpoints, so it must stay loopback-only.
777
821
  */
778
- function serveLoopback(preferredPort: number, fetchHandler: WebFetchHandler) {
779
- for (
780
- let port = preferredPort;
781
- port < preferredPort + WEB_PORT_SCAN_LIMIT;
782
- port++
783
- ) {
822
+ function serveLoopback(
823
+ preferredPort: number,
824
+ fetchHandler: WebFetchHandler,
825
+ scanLimit = WEB_PORT_SCAN_LIMIT,
826
+ ) {
827
+ for (let port = preferredPort; port < preferredPort + scanLimit; port++) {
784
828
  const primary = tryBindLoopback(port, "127.0.0.1", fetchHandler);
785
829
  if (!primary) continue;
786
830
 
@@ -804,10 +848,21 @@ function serveLoopback(preferredPort: number, fetchHandler: WebFetchHandler) {
804
848
  }
805
849
  }
806
850
  throw new Error(
807
- `Could not bind a free loopback port in [${preferredPort}, ${preferredPort + WEB_PORT_SCAN_LIMIT - 1}]`,
851
+ scanLimit === 1
852
+ ? `Port ${preferredPort} is already in use`
853
+ : `Could not bind a free loopback port in [${preferredPort}, ${preferredPort + scanLimit - 1}]`,
808
854
  );
809
855
  }
810
856
 
857
+ /** True when neither loopback family has a listener on `port`. */
858
+ async function isDualLoopbackPortFree(port: number): Promise<boolean> {
859
+ const [busyV4, busyV6] = await Promise.all([
860
+ probePort(port, "127.0.0.1"),
861
+ probePort(port, "::1"),
862
+ ]);
863
+ return !busyV4 && !busyV6;
864
+ }
865
+
811
866
  /**
812
867
  * Find the first port at/above `preferred` with nothing listening on either
813
868
  * loopback family. Used for the Vite dev server, which binds the port itself
@@ -816,15 +871,29 @@ function serveLoopback(preferredPort: number, fetchHandler: WebFetchHandler) {
816
871
  */
817
872
  async function findFreeDualLoopbackPort(preferred: number): Promise<number> {
818
873
  for (let port = preferred; port < preferred + WEB_PORT_SCAN_LIMIT; port++) {
819
- const [busyV4, busyV6] = await Promise.all([
820
- probePort(port, "127.0.0.1"),
821
- probePort(port, "::1"),
822
- ]);
823
- if (!busyV4 && !busyV6) return port;
874
+ if (await isDualLoopbackPortFree(port)) {
875
+ return port;
876
+ }
824
877
  }
825
878
  return preferred;
826
879
  }
827
880
 
881
+ /**
882
+ * Resolve the port for a probe-based web server launch: an explicit --port
883
+ * must be free (exit 1 otherwise — strict, no silent move), the default picks
884
+ * the first free port at/above 3000.
885
+ */
886
+ async function resolveWebPort(webPort: number | undefined): Promise<number> {
887
+ if (webPort === undefined) {
888
+ return findFreeDualLoopbackPort(3000);
889
+ }
890
+ if (!(await isDualLoopbackPortFree(webPort))) {
891
+ console.error(`Port ${webPort} is already in use`);
892
+ process.exit(1);
893
+ }
894
+ return webPort;
895
+ }
896
+
828
897
  /**
829
898
  * Open `url` in the browser once `port` is accepting connections, polling for
830
899
  * up to ~10s. Used for the Vite dev server, which binds the port asynchronously
@@ -840,11 +909,118 @@ async function openBrowserWhenReady(url: string, port: number): Promise<void> {
840
909
  }
841
910
  }
842
911
 
912
+ const WEB_BACKGROUND_LOG_FILE = "client-web.log";
913
+ // Generous cap so a cold Vite dev-server boot (dependency optimization) still
914
+ // counts as a successful start.
915
+ const WEB_BACKGROUND_START_TIMEOUT_MS = 30_000;
916
+
917
+ /**
918
+ * Launch `vellum client --interface web` as a detached background process.
919
+ *
920
+ * The port is resolved up front (explicit --port must be free; otherwise the
921
+ * first free port at/above 3000) and pinned via `--port` on the child so the
922
+ * URL printed here is the one the child binds. The child's stdout/stderr go to
923
+ * `<xdg-log-dir>/client-web.log` — same detach idiom as the nginx/ngrok
924
+ * spawns. Success is only reported once the child is accepting connections on
925
+ * the port; an early child exit (e.g. missing @vellumai/web assets) or a
926
+ * startup timeout fails with a pointer at the log file.
927
+ */
928
+ async function spawnBackgroundWebInterface(
929
+ webPort: number | undefined,
930
+ ): Promise<void> {
931
+ const port = await resolveWebPort(webPort);
932
+
933
+ // Rebuild the argv without --background, pinning the resolved port.
934
+ const childArgs: string[] = ["client"];
935
+ const rawArgs = process.argv.slice(3);
936
+ for (let i = 0; i < rawArgs.length; i++) {
937
+ const arg = rawArgs[i];
938
+ if (arg === "--background") {
939
+ continue;
940
+ }
941
+ // A dangling --port can't reach here — parseArgs already rejected it.
942
+ if (arg === "--port") {
943
+ i++;
944
+ continue;
945
+ }
946
+ childArgs.push(arg);
947
+ }
948
+ childArgs.push("--port", String(port));
949
+
950
+ // A compiled binary re-invokes itself; under plain bun (source tree, npm
951
+ // install) the entry script is argv[1].
952
+ const spawnArgs = isCompiledCli()
953
+ ? childArgs
954
+ : [process.argv[1], ...childArgs];
955
+
956
+ resetLogFile(WEB_BACKGROUND_LOG_FILE);
957
+ const fd = openLogFile(WEB_BACKGROUND_LOG_FILE);
958
+ const child = spawn(process.execPath, spawnArgs, {
959
+ detached: true,
960
+ stdio: ["ignore", fd, fd],
961
+ });
962
+ if (typeof fd === "number") {
963
+ closeSync(fd);
964
+ }
965
+ child.unref();
966
+
967
+ const logPath = path.join(getLogDir(), WEB_BACKGROUND_LOG_FILE);
968
+
969
+ // Don't report success until the child is actually serving: watch for an
970
+ // early exit (e.g. missing @vellumai/web assets, port lost to the TOCTOU
971
+ // window) and poll the port until it accepts connections.
972
+ let exit: { code: number | null } | undefined;
973
+ child.on("error", () => {
974
+ exit = { code: null };
975
+ });
976
+ child.on("exit", (code) => {
977
+ exit = { code };
978
+ });
979
+
980
+ const deadline = Date.now() + WEB_BACKGROUND_START_TIMEOUT_MS;
981
+ let listening = false;
982
+ while (Date.now() < deadline && !exit) {
983
+ if (await probePort(port, "127.0.0.1")) {
984
+ listening = true;
985
+ break;
986
+ }
987
+ await new Promise((resolve) => setTimeout(resolve, 200));
988
+ }
989
+
990
+ if (exit) {
991
+ console.error(
992
+ `Web interface exited during startup${exit.code !== null ? ` (exit code ${exit.code})` : ""}. Logs: ${logPath}`,
993
+ );
994
+ process.exit(1);
995
+ }
996
+ if (!listening) {
997
+ // Kill the detached child (its whole process group — the Vite path spawns
998
+ // grandchildren) so a slow startup can't bind the port and linger after
999
+ // we've reported failure.
1000
+ if (child.pid !== undefined) {
1001
+ try {
1002
+ process.kill(-child.pid, "SIGTERM");
1003
+ } catch {
1004
+ child.kill("SIGTERM");
1005
+ }
1006
+ }
1007
+ console.error(
1008
+ `Web interface did not start listening on port ${port} within ${WEB_BACKGROUND_START_TIMEOUT_MS / 1000}s; terminated it. Logs: ${logPath}`,
1009
+ );
1010
+ process.exit(1);
1011
+ }
1012
+
1013
+ console.log(`Vellum web interface: http://localhost:${port}${SPA_BASE}`);
1014
+ console.log(`Running in background (pid ${child.pid}). Logs: ${logPath}`);
1015
+ console.log(`Stop with: kill ${child.pid}`);
1016
+ }
1017
+
843
1018
  async function runWebInterface(
844
1019
  flagEnvVars: Record<string, string>,
845
1020
  parsedFlagOverrides: Record<string, boolean | string>,
846
1021
  disablePlatform: boolean,
847
1022
  openInBrowser: boolean,
1023
+ webPort: number | undefined,
848
1024
  ): Promise<void> {
849
1025
  // Propagate flag env vars so child processes (e.g. hatch from the web UI) inherit them.
850
1026
  Object.assign(process.env, flagEnvVars);
@@ -858,6 +1034,7 @@ async function runWebInterface(
858
1034
  flagEnvVars,
859
1035
  disablePlatform,
860
1036
  openInBrowser,
1037
+ webPort,
861
1038
  );
862
1039
  }
863
1040
 
@@ -1001,9 +1178,23 @@ async function runWebInterface(
1001
1178
  return new Response("Not Found", { status: 404 });
1002
1179
  };
1003
1180
 
1004
- const { port, servers } = serveLoopback(3000, fetchHandler);
1005
- if (port !== 3000) {
1006
- console.log(`Port 3000 in use; using ${port}.`);
1181
+ // An explicit --port binds strictly (no scan) so the user gets the port they
1182
+ // asked for or a clear error.
1183
+ const preferredPort = webPort ?? 3000;
1184
+ let bound: ReturnType<typeof serveLoopback>;
1185
+ try {
1186
+ bound = serveLoopback(
1187
+ preferredPort,
1188
+ fetchHandler,
1189
+ webPort !== undefined ? 1 : WEB_PORT_SCAN_LIMIT,
1190
+ );
1191
+ } catch (err) {
1192
+ console.error(err instanceof Error ? err.message : String(err));
1193
+ process.exit(1);
1194
+ }
1195
+ const { port, servers } = bound;
1196
+ if (port !== preferredPort) {
1197
+ console.log(`Port ${preferredPort} in use; using ${port}.`);
1007
1198
  }
1008
1199
  // Advertise `localhost` (not `127.0.0.1`) so the app origin matches the host
1009
1200
  // the platform hardcodes in its loopback callback. We bind both loopback
@@ -1027,6 +1218,7 @@ async function runViteDevServer(
1027
1218
  flagEnvVars: Record<string, string>,
1028
1219
  disablePlatform: boolean,
1029
1220
  openInBrowser: boolean,
1221
+ webPort: number | undefined,
1030
1222
  ): Promise<void> {
1031
1223
  const platformUrl = getPlatformUrl();
1032
1224
 
@@ -1039,8 +1231,9 @@ async function runViteDevServer(
1039
1231
  // Auto-pick a free port (Vite uses strictPort) so a running `vel up` stack
1040
1232
  // on :3000 doesn't wedge dev. The loopback callback port follows
1041
1233
  // window.location.port, so a non-3000 port propagates automatically.
1042
- const port = await findFreeDualLoopbackPort(3000);
1043
- if (port !== 3000) {
1234
+ // An explicit --port is strict: error rather than silently moving.
1235
+ const port = await resolveWebPort(webPort);
1236
+ if (webPort === undefined && port !== 3000) {
1044
1237
  console.log(`Port 3000 in use; using ${port}.`);
1045
1238
  }
1046
1239
 
@@ -1139,6 +1332,8 @@ export async function client(): Promise<void> {
1139
1332
  parsedFlagOverrides,
1140
1333
  disablePlatform,
1141
1334
  openBrowser: openInBrowser,
1335
+ webPort,
1336
+ background,
1142
1337
  } = parseArgs();
1143
1338
 
1144
1339
  if (disablePlatform) {
@@ -1146,11 +1341,16 @@ export async function client(): Promise<void> {
1146
1341
  }
1147
1342
 
1148
1343
  if (interfaceId === WEB_INTERFACE_ID) {
1344
+ if (background) {
1345
+ await spawnBackgroundWebInterface(webPort);
1346
+ return;
1347
+ }
1149
1348
  await runWebInterface(
1150
1349
  flagEnvVars,
1151
1350
  parsedFlagOverrides,
1152
1351
  disablePlatform,
1153
1352
  openInBrowser,
1353
+ webPort,
1154
1354
  );
1155
1355
  return;
1156
1356
  }
@@ -220,7 +220,11 @@ export async function exec(): Promise<void> {
220
220
 
221
221
  if (interactive) {
222
222
  // Interactive mode: shell-escape argv and delegate to full terminal
223
- await interactiveSession(assistant, shellEscapeArgs(command), serviceParam);
223
+ await interactiveSession(
224
+ assistant,
225
+ shellEscapeArgs(command),
226
+ serviceParam,
227
+ );
224
228
  return;
225
229
  }
226
230
 
@@ -4,6 +4,7 @@ import {
4
4
  formatAssistantLookupError,
5
5
  lookupAssistantByIdentifier,
6
6
  } from "../lib/assistant-config.js";
7
+ import { crossEnvironmentAssistantHint } from "../lib/environments/detect.js";
7
8
 
8
9
  type FeatureFlagEntry = {
9
10
  key: string;
@@ -132,7 +133,9 @@ function rethrowFetchError(err: unknown): never {
132
133
  (err.message.includes("fetch") || err.message.includes("connect"))
133
134
  ) {
134
135
  throw new Error(
135
- "Could not reach the assistant gateway. Is it running? Try 'vellum wake'.",
136
+ `Could not reach the assistant gateway. Is it running? Try 'vellum wake'.${
137
+ crossEnvironmentAssistantHint() ?? ""
138
+ }`,
136
139
  );
137
140
  }
138
141
  throw err;
@@ -14,22 +14,16 @@ import {
14
14
  isAssistantFeatureFlagEnabled,
15
15
  WEB_REMOTE_INGRESS_FLAG,
16
16
  } from "../lib/feature-flags.js";
17
- import { waitForDaemonReady } from "../lib/http-client.js";
18
17
  import {
19
18
  DEFAULT_NGINX_INGRESS_PORT,
20
- findWebDistDir,
21
19
  getIngressPaths,
22
20
  getIngressPid,
23
- getNginxIngressPort,
24
- getNginxVersion,
25
21
  isIngressRunning,
26
22
  resolveTunnelTargetPort,
27
- startIngressNginx,
23
+ startRemoteWebIngress,
28
24
  stopIngressNginx,
29
25
  } from "../lib/nginx-ingress.js";
30
26
 
31
- const READY_TIMEOUT_MS = 5_000;
32
-
33
27
  function printHelp(): void {
34
28
  console.log("Usage: vellum nginx-ingress <subcommand> [<name>] [options]");
35
29
  console.log("");
@@ -164,79 +158,71 @@ async function assertWebRemoteIngressEnabled(
164
158
 
165
159
  async function up(target: NginxIngressTarget): Promise<void> {
166
160
  const { workspaceDir, gatewayPort } = target;
167
- const listenPort = getNginxIngressPort();
168
161
 
169
162
  await assertWebRemoteIngressEnabled(target);
170
163
 
171
- const version = getNginxVersion();
172
- if (!version) {
173
- console.error("Error: nginx is not installed.");
174
- console.error("");
175
- console.error("Install nginx:");
176
- console.error(" macOS: brew install nginx");
177
- console.error(" Linux: sudo apt install nginx");
178
- console.error("");
179
- console.error(
180
- "Or point NGINX_BIN at an existing binary: NGINX_BIN=/path/to/nginx",
181
- );
182
- process.exit(1);
183
- }
184
-
185
- if (isIngressRunning(workspaceDir)) {
186
- console.log("nginx ingress is already running.");
187
- await status(target);
188
- return;
189
- }
190
-
191
- const webDistDir = findWebDistDir();
192
- if (!webDistDir) {
193
- console.error(
194
- "Error: unable to locate built web assets for remote web ingress.",
195
- );
196
- console.error("");
197
- console.error("Build the SPA first:");
198
- console.error(" cd clients/web && VITE_PLATFORM_MODE=false bun run build");
199
- console.error("");
200
- console.error(
201
- "Or install @vellumai/web so its packaged dist directory is available.",
202
- );
203
- process.exit(1);
204
- }
205
-
206
- console.log(`Using ${version}`);
207
- console.log(
208
- `Starting nginx ingress on 127.0.0.1:${listenPort} → web ${webDistDir} + gateway 127.0.0.1:${gatewayPort}...`,
209
- );
210
-
211
- const child = startIngressNginx({
164
+ const result = await startRemoteWebIngress({
212
165
  workspaceDir,
213
166
  gatewayPort,
214
- listenPort,
215
- remoteWebIngress: { webDistDir },
167
+ onStarting: ({ version, webDistDir, listenPort }) => {
168
+ console.log(`Using ${version}`);
169
+ console.log(
170
+ `Starting nginx ingress on 127.0.0.1:${listenPort} → web ${webDistDir} + gateway 127.0.0.1:${gatewayPort}...`,
171
+ );
172
+ },
216
173
  });
217
- child.unref();
218
174
 
219
- // /healthz proxies through nginx to the gateway, so a 200 proves the whole
220
- // ingress → gateway path works.
221
- const ready = await waitForDaemonReady(listenPort, READY_TIMEOUT_MS);
222
- if (!ready) {
223
- const { logPath } = getIngressPaths(workspaceDir);
224
- await stopIngressNginx(workspaceDir);
225
- console.error(
226
- `Error: nginx ingress did not become reachable on 127.0.0.1:${listenPort}.`,
227
- );
228
- console.error(`Check the nginx log: ${logPath}`);
229
- process.exit(1);
175
+ switch (result.status) {
176
+ case "already-running":
177
+ console.log("nginx ingress is already running.");
178
+ await status(target);
179
+ return;
180
+ case "started":
181
+ console.log("");
182
+ console.log(
183
+ `nginx ingress running: http://127.0.0.1:${result.listenPort}`,
184
+ );
185
+ console.log("");
186
+ console.log("Next steps:");
187
+ console.log(
188
+ " vellum tunnel --provider ngrok # tunnel now targets nginx ingress",
189
+ );
190
+ console.log(" vellum nginx-ingress down # stop the proxy");
191
+ return;
192
+ case "nginx-missing":
193
+ console.error("Error: nginx is not installed.");
194
+ console.error("");
195
+ console.error("Install nginx:");
196
+ console.error(" macOS: brew install nginx");
197
+ console.error(" Linux: sudo apt install nginx");
198
+ console.error("");
199
+ console.error(
200
+ "Or point NGINX_BIN at an existing binary: NGINX_BIN=/path/to/nginx",
201
+ );
202
+ break;
203
+ case "web-dist-missing":
204
+ console.error(
205
+ "Error: unable to locate built web assets for remote web ingress.",
206
+ );
207
+ console.error("");
208
+ console.error("Build the SPA first:");
209
+ console.error(
210
+ " cd clients/web && VITE_PLATFORM_MODE=false bun run build",
211
+ );
212
+ console.error("");
213
+ console.error(
214
+ "Or install @vellumai/web so its packaged dist directory is available.",
215
+ );
216
+ break;
217
+ case "unreachable":
218
+ console.error(
219
+ `Error: nginx ingress did not become reachable on 127.0.0.1:${result.listenPort}.`,
220
+ );
221
+ console.error(`Check the nginx log: ${result.logPath}`);
222
+ break;
230
223
  }
231
224
 
232
- console.log("");
233
- console.log(`nginx ingress running: http://127.0.0.1:${listenPort}`);
234
- console.log("");
235
- console.log("Next steps:");
236
- console.log(
237
- " vellum tunnel --provider ngrok # tunnel now targets nginx ingress",
238
- );
239
- console.log(" vellum nginx-ingress down # stop the proxy");
225
+ process.exit(1);
240
226
  }
241
227
 
242
228
  async function down(target: NginxIngressTarget): Promise<void> {