@vellumai/cli 0.10.0 → 0.10.1-dev.202606240206.7c2bca6
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.
- package/bun.lock +1 -1
- package/node_modules/@vellumai/local-mode/bun.lock +3 -0
- package/node_modules/@vellumai/local-mode/package.json +2 -1
- package/node_modules/@vellumai/local-mode/src/__tests__/loopback-auth.test.ts +26 -0
- package/node_modules/@vellumai/local-mode/src/__tests__/package-boundary.test.ts +6 -6
- package/node_modules/@vellumai/local-mode/src/index.ts +2 -0
- package/node_modules/@vellumai/local-mode/src/lockfile-contract.test.ts +148 -12
- package/node_modules/@vellumai/local-mode/src/lockfile-contract.ts +136 -80
- package/node_modules/@vellumai/local-mode/src/lockfile.test.ts +3 -1
- package/node_modules/@vellumai/local-mode/src/lockfile.ts +9 -2
- package/node_modules/@vellumai/local-mode/src/status.ts +1 -0
- package/node_modules/@vellumai/local-mode/src/upgrade.ts +105 -0
- package/node_modules/@vellumai/local-mode/src/util.ts +4 -8
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +191 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +7 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +7 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +52 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1823 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +153 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +455 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +190 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
- package/node_modules/zod/src/v4/core/util.ts +983 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/el.ts +121 -0
- package/node_modules/zod/src/v4/locales/en.ts +123 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +132 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hr.ts +131 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +52 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ro.ts +129 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +117 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +41 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +7 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +16 -0
- package/node_modules/zod/v4/classic/external.d.ts +16 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +7 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
- package/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/node_modules/zod/v4/core/api.cjs +1227 -0
- package/node_modules/zod/v4/core/api.d.cts +325 -0
- package/node_modules/zod/v4/core/api.d.ts +325 -0
- package/node_modules/zod/v4/core/api.js +1087 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +85 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +78 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +216 -0
- package/node_modules/zod/v4/core/errors.d.cts +221 -0
- package/node_modules/zod/v4/core/errors.d.ts +221 -0
- package/node_modules/zod/v4/core/errors.js +185 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +7 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +172 -0
- package/node_modules/zod/v4/core/regexes.d.cts +85 -0
- package/node_modules/zod/v4/core/regexes.d.ts +85 -0
- package/node_modules/zod/v4/core/regexes.js +139 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2270 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
- package/node_modules/zod/v4/core/schemas.js +2239 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +448 -0
- package/node_modules/zod/v4/core/util.cjs +734 -0
- package/node_modules/zod/v4/core/util.d.cts +200 -0
- package/node_modules/zod/v4/core/util.d.ts +200 -0
- package/node_modules/zod/v4/core/util.js +674 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/el.cjs +136 -0
- package/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/node_modules/zod/v4/locales/el.js +109 -0
- package/node_modules/zod/v4/locales/en.cjs +140 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +113 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +152 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +125 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hr.cjs +149 -0
- package/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/node_modules/zod/v4/locales/hr.js +122 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +111 -0
- package/node_modules/zod/v4/locales/index.d.cts +52 -0
- package/node_modules/zod/v4/locales/index.d.ts +52 -0
- package/node_modules/zod/v4/locales/index.js +52 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +7 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ro.cjs +146 -0
- package/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/node_modules/zod/v4/locales/ro.js +119 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +137 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +110 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +13 -0
- package/node_modules/zod/v4/mini/external.d.ts +13 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +7 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
- package/node_modules/zod/v4/mini/schemas.js +961 -0
- package/node_modules/zod/v4/package.json +7 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +7 -0
- package/package.json +1 -1
- package/src/__tests__/upgrade-local.test.ts +443 -0
- package/src/commands/client.ts +277 -100
- package/src/commands/exec.ts +2 -2
- package/src/commands/flags.ts +1 -1
- package/src/commands/logs.ts +1 -2
- package/src/commands/ps.ts +1 -2
- package/src/commands/retire.ts +1 -2
- package/src/commands/roadmap.ts +8 -10
- package/src/commands/rollback.ts +1 -2
- package/src/commands/ssh.ts +1 -2
- package/src/commands/teleport.ts +6 -7
- package/src/commands/upgrade.ts +351 -25
- package/src/lib/assistant-config.ts +56 -48
- package/src/lib/confirm-action.ts +4 -0
- package/src/lib/local.ts +204 -24
- package/src/lib/terminal-session.ts +2 -2
- package/src/lib/upgrade-lifecycle.ts +29 -16
- package/src/shared/provider-env-vars.ts +1 -0
|
@@ -11,6 +11,11 @@ import { homedir } from "os";
|
|
|
11
11
|
import { dirname, join } from "path";
|
|
12
12
|
|
|
13
13
|
import { SEEDS, type EnvironmentDefinition } from "@vellumai/environments";
|
|
14
|
+
import {
|
|
15
|
+
resolveCloud,
|
|
16
|
+
type LocalAssistantResources,
|
|
17
|
+
type LockfileAssistant,
|
|
18
|
+
} from "@vellumai/local-mode/contract";
|
|
14
19
|
|
|
15
20
|
import { DAEMON_INTERNAL_ASSISTANT_ID } from "./constants.js";
|
|
16
21
|
import {
|
|
@@ -23,11 +28,17 @@ import { getCurrentEnvironment } from "./environments/resolve.js";
|
|
|
23
28
|
import { probePort } from "./port-probe.js";
|
|
24
29
|
|
|
25
30
|
/**
|
|
26
|
-
* Per-instance resource paths and ports. Each local assistant instance gets
|
|
27
|
-
*
|
|
28
|
-
* side-by-side without conflicts.
|
|
31
|
+
* Per-instance resource paths and ports. Each local assistant instance gets its
|
|
32
|
+
* own directory tree, ports, and socket so multiple instances can run
|
|
33
|
+
* side-by-side without conflicts. Extends the renderer-safe resources contract
|
|
34
|
+
* (`instanceDir`, `gatewayPort`, `daemonPort`) with the host-only ports and the
|
|
35
|
+
* signing key. Host-only and same-process, so it is a plain type — the
|
|
36
|
+
* renderer-facing shape is the one with a Zod contract.
|
|
29
37
|
*/
|
|
30
|
-
export
|
|
38
|
+
export type LocalInstanceResources = Omit<
|
|
39
|
+
LocalAssistantResources,
|
|
40
|
+
"instanceDir"
|
|
41
|
+
> & {
|
|
31
42
|
/**
|
|
32
43
|
* Instance-specific data root. New local assistants are placed under
|
|
33
44
|
* `$XDG_DATA_HOME/vellum{-env}/assistants/<name>/`. Legacy entries
|
|
@@ -36,10 +47,6 @@ export interface LocalInstanceResources {
|
|
|
36
47
|
* lives inside it.
|
|
37
48
|
*/
|
|
38
49
|
instanceDir: string;
|
|
39
|
-
/** HTTP port for the daemon runtime server */
|
|
40
|
-
daemonPort: number;
|
|
41
|
-
/** HTTP port for the gateway */
|
|
42
|
-
gatewayPort: number;
|
|
43
50
|
/** HTTP port for the Qdrant vector store */
|
|
44
51
|
qdrantPort: number;
|
|
45
52
|
/** HTTP port for the CES (Claude Extension Server) */
|
|
@@ -47,8 +54,12 @@ export interface LocalInstanceResources {
|
|
|
47
54
|
/** Persisted HMAC signing key (hex). Survives daemon/gateway restarts so
|
|
48
55
|
* client actor tokens remain valid across `wake` cycles. */
|
|
49
56
|
signingKey?: string;
|
|
57
|
+
/** Version of the npm-backed local runtime this assistant should run. */
|
|
58
|
+
runtimeVersion?: string;
|
|
59
|
+
/** Install directory containing the npm-backed local runtime packages. */
|
|
60
|
+
runtimeInstallDir?: string;
|
|
50
61
|
[key: string]: unknown;
|
|
51
|
-
}
|
|
62
|
+
};
|
|
52
63
|
|
|
53
64
|
/** Docker image metadata for the service group. Enables rollback to known-good digests. */
|
|
54
65
|
export interface ContainerInfo {
|
|
@@ -65,26 +76,32 @@ export interface ContainerInfo {
|
|
|
65
76
|
networkName?: string;
|
|
66
77
|
}
|
|
67
78
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
/**
|
|
80
|
+
* The CLI's full view of an assistant entry: the renderer-safe base
|
|
81
|
+
* (`LockfileAssistant`, the one canonical Zod contract) plus the host-only and
|
|
82
|
+
* sensitive fields the CLI reads and writes. Those extra fields never cross a
|
|
83
|
+
* validation boundary — the same toolchain writes and reads them — so they are
|
|
84
|
+
* modeled as plain types here rather than re-validated.
|
|
85
|
+
*
|
|
86
|
+
* `runtimeUrl` is required (`readAssistants` only returns entries that have one)
|
|
87
|
+
* and `resources` is the richer host shape. `cloud` is inherited from
|
|
88
|
+
* `LockfileAssistant` (always present; normalized at the read seam — see
|
|
89
|
+
* `readAssistants`). The index signature preserves unknown on-disk fields so a
|
|
90
|
+
* read→write round-trip never drops a newer writer's data.
|
|
91
|
+
*/
|
|
92
|
+
export type AssistantEntry = Omit<
|
|
93
|
+
LockfileAssistant,
|
|
94
|
+
"runtimeUrl" | "resources"
|
|
95
|
+
> & {
|
|
96
|
+
runtimeUrl: string;
|
|
97
|
+
/** Per-instance resource config. Present for local entries in multi-instance setups. */
|
|
98
|
+
resources?: LocalInstanceResources;
|
|
72
99
|
/** Older lockfile key for the display name, if present. */
|
|
73
100
|
assistantName?: string;
|
|
74
|
-
runtimeUrl: string;
|
|
75
101
|
/** Loopback URL for same-machine health checks (e.g. `http://127.0.0.1:7831`).
|
|
76
102
|
* Avoids mDNS resolution issues when the machine checks its own gateway. */
|
|
77
103
|
localUrl?: string;
|
|
78
104
|
bearerToken?: string;
|
|
79
|
-
/** Deployment topology / how the assistant is reached. Known values:
|
|
80
|
-
* `"local"` (on-machine daemon), `"docker"` (local container),
|
|
81
|
-
* `"apple-container"` (macOS-app-managed container), `"vellum"`
|
|
82
|
-
* (platform-managed, uses the X-Session-Token auth path), `"gcp"` / `"aws"`
|
|
83
|
-
* / `"custom"` (remote, SSH-managed), and `"paired"` (a remote assistant
|
|
84
|
-
* paired from another machine — reached via a bearer guardian token at
|
|
85
|
-
* `runtimeUrl`; has no local process, container, or `resources`).
|
|
86
|
-
* Kept as a free `string` (not a union) for forward-compatibility. */
|
|
87
|
-
cloud: string;
|
|
88
105
|
/** True when this entry was registered via `vellum connect import` (a remote
|
|
89
106
|
* pairing). Set alongside `cloud: "paired"`; also backs the re-import /
|
|
90
107
|
* overwrite guard in connect import. */
|
|
@@ -93,12 +110,8 @@ export interface AssistantEntry {
|
|
|
93
110
|
namespace?: string;
|
|
94
111
|
project?: string;
|
|
95
112
|
region?: string;
|
|
96
|
-
species?: string;
|
|
97
113
|
sshUser?: string;
|
|
98
114
|
zone?: string;
|
|
99
|
-
hatchedAt?: string;
|
|
100
|
-
/** Per-instance resource config. Present for local entries in multi-instance setups. */
|
|
101
|
-
resources?: LocalInstanceResources;
|
|
102
115
|
/** PID of the file watcher process for docker instances hatched with --watch. */
|
|
103
116
|
watcherPid?: number;
|
|
104
117
|
/** Local bootstrap secret used to lease guardian tokens for Docker assistants after detached hatch. */
|
|
@@ -119,7 +132,7 @@ export interface AssistantEntry {
|
|
|
119
132
|
/** Pre-upgrade workspace migration ID — used by rollback to know how far back to revert. */
|
|
120
133
|
previousWorkspaceMigrationId?: string;
|
|
121
134
|
[key: string]: unknown;
|
|
122
|
-
}
|
|
135
|
+
};
|
|
123
136
|
|
|
124
137
|
export type AssistantLookupResult =
|
|
125
138
|
| { status: "found"; entry: AssistantEntry }
|
|
@@ -300,10 +313,20 @@ function readAssistants(): AssistantEntry[] {
|
|
|
300
313
|
writeLockfile(data);
|
|
301
314
|
}
|
|
302
315
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
316
|
+
const result: AssistantEntry[] = [];
|
|
317
|
+
for (const entry of entries) {
|
|
318
|
+
if (
|
|
319
|
+
typeof entry.assistantId !== "string" ||
|
|
320
|
+
typeof entry.runtimeUrl !== "string"
|
|
321
|
+
) {
|
|
322
|
+
continue;
|
|
323
|
+
}
|
|
324
|
+
// Normalize `cloud` once, at the read seam every reader shares, so
|
|
325
|
+
// downstream code reads `entry.cloud` instead of re-deriving the topology.
|
|
326
|
+
entry.cloud = resolveCloud(entry);
|
|
327
|
+
result.push(entry as AssistantEntry);
|
|
328
|
+
}
|
|
329
|
+
return result;
|
|
307
330
|
}
|
|
308
331
|
|
|
309
332
|
function writeAssistants(entries: AssistantEntry[]): void {
|
|
@@ -471,6 +494,7 @@ export function loadAllAssistantsAcrossEnvs(
|
|
|
471
494
|
) {
|
|
472
495
|
continue;
|
|
473
496
|
}
|
|
497
|
+
entry.cloud = resolveCloud(entry);
|
|
474
498
|
all.push(entry);
|
|
475
499
|
}
|
|
476
500
|
}
|
|
@@ -555,22 +579,6 @@ export function resolveTargetAssistant(nameArg?: string): AssistantEntry {
|
|
|
555
579
|
process.exit(1);
|
|
556
580
|
}
|
|
557
581
|
|
|
558
|
-
/**
|
|
559
|
-
* Determine which cloud topology an assistant entry is running on.
|
|
560
|
-
*/
|
|
561
|
-
export function resolveCloud(entry: AssistantEntry): string {
|
|
562
|
-
if (entry.cloud) {
|
|
563
|
-
return entry.cloud;
|
|
564
|
-
}
|
|
565
|
-
if (entry.project) {
|
|
566
|
-
return "gcp";
|
|
567
|
-
}
|
|
568
|
-
if (entry.sshUser) {
|
|
569
|
-
return "custom";
|
|
570
|
-
}
|
|
571
|
-
return "local";
|
|
572
|
-
}
|
|
573
|
-
|
|
574
582
|
/**
|
|
575
583
|
* Extract the hostname from a URL string. Falls back to stripping the scheme
|
|
576
584
|
* and taking the hostname portion if URL parsing fails.
|
|
@@ -18,6 +18,9 @@ export function canPromptForConfirmation(): boolean {
|
|
|
18
18
|
* Show `prompt` and resolve true on Enter, false on Esc/q/Ctrl-C. Restores the
|
|
19
19
|
* prior stdin raw/paused state on exit. Caller must gate on
|
|
20
20
|
* {@link canPromptForConfirmation} first.
|
|
21
|
+
*
|
|
22
|
+
* `unref()`s stdin on cleanup so the resumed handle doesn't keep the process
|
|
23
|
+
* alive after the prompt resolves.
|
|
21
24
|
*/
|
|
22
25
|
export async function confirmAction(prompt: string): Promise<boolean> {
|
|
23
26
|
const stdin = process.stdin;
|
|
@@ -36,6 +39,7 @@ export async function confirmAction(prompt: string): Promise<boolean> {
|
|
|
36
39
|
if (wasPaused) {
|
|
37
40
|
stdin.pause();
|
|
38
41
|
}
|
|
42
|
+
stdin.unref?.();
|
|
39
43
|
stdout.write("\n");
|
|
40
44
|
};
|
|
41
45
|
|
package/src/lib/local.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { execFileSync, execSync, spawn } from "child_process";
|
|
1
|
+
import { execFileSync, execSync, spawn, spawnSync } from "child_process";
|
|
2
2
|
import { createHash, randomBytes } from "crypto";
|
|
3
3
|
import {
|
|
4
4
|
existsSync,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "fs";
|
|
10
10
|
import { createRequire } from "module";
|
|
11
11
|
import { homedir, networkInterfaces, platform, tmpdir } from "os";
|
|
12
|
-
import { dirname, join } from "path";
|
|
12
|
+
import { basename, dirname, join } from "path";
|
|
13
13
|
|
|
14
14
|
import {
|
|
15
15
|
getDaemonPidPath,
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
stopProcess,
|
|
24
24
|
stopProcessByPidFile,
|
|
25
25
|
} from "./process.js";
|
|
26
|
+
import { stripVersionPrefix } from "./version-compat.js";
|
|
26
27
|
import { openLogFile, pipeToLogFile } from "./xdg-log.js";
|
|
27
28
|
|
|
28
29
|
const _require = createRequire(import.meta.url);
|
|
@@ -33,6 +34,166 @@ const DARWIN_UNIX_SOCKET_MAX_PATH_BYTES = 103;
|
|
|
33
34
|
// The longest socket filename we place in the workspace directory.
|
|
34
35
|
// assistant-skill.sock = 20 chars, plus 1 for the "/" separator = 21 overhead.
|
|
35
36
|
const LONGEST_SOCKET_FILENAME = "assistant-skill.sock";
|
|
37
|
+
const LOCAL_RUNTIME_PACKAGE = "vellum";
|
|
38
|
+
|
|
39
|
+
export interface LocalRuntimeInstall {
|
|
40
|
+
version: string;
|
|
41
|
+
installDir: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function normalizeRuntimeVersion(version: string): string {
|
|
45
|
+
return version === "latest" ? version : stripVersionPrefix(version);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function getLocalRuntimeInstallDir(
|
|
49
|
+
resources: LocalInstanceResources,
|
|
50
|
+
version: string,
|
|
51
|
+
): string {
|
|
52
|
+
return join(
|
|
53
|
+
resources.instanceDir,
|
|
54
|
+
".vellum",
|
|
55
|
+
"runtime",
|
|
56
|
+
normalizeRuntimeVersion(version),
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function packagePath(
|
|
61
|
+
installDir: string,
|
|
62
|
+
packageName: string,
|
|
63
|
+
relativePath: string,
|
|
64
|
+
): string {
|
|
65
|
+
return join(
|
|
66
|
+
installDir,
|
|
67
|
+
"node_modules",
|
|
68
|
+
...packageName.split("/"),
|
|
69
|
+
relativePath,
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function hasLocalRuntimeComponents(installDir: string): boolean {
|
|
74
|
+
return (
|
|
75
|
+
existsSync(
|
|
76
|
+
packagePath(installDir, "@vellumai/assistant", "src/index.ts"),
|
|
77
|
+
) &&
|
|
78
|
+
existsSync(
|
|
79
|
+
packagePath(installDir, "@vellumai/vellum-gateway", "src/index.ts"),
|
|
80
|
+
) &&
|
|
81
|
+
existsSync(
|
|
82
|
+
packagePath(installDir, "@vellumai/credential-executor", "src/main.ts"),
|
|
83
|
+
)
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function resolveBunExecutable(): string {
|
|
88
|
+
const execBase = basename(process.execPath);
|
|
89
|
+
if (execBase === "bun" || execBase.startsWith("bun-")) {
|
|
90
|
+
return process.execPath;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const envBun = process.env.VELLUM_BUN;
|
|
94
|
+
if (envBun && existsSync(envBun)) return envBun;
|
|
95
|
+
|
|
96
|
+
const siblingBun = join(dirname(process.execPath), "bun");
|
|
97
|
+
if (existsSync(siblingBun)) return siblingBun;
|
|
98
|
+
|
|
99
|
+
const bundledBun = join(dirname(process.execPath), "..", "Resources", "bun");
|
|
100
|
+
if (existsSync(bundledBun)) return bundledBun;
|
|
101
|
+
|
|
102
|
+
const homeBun = join(homedir(), ".bun", "bin", "bun");
|
|
103
|
+
if (existsSync(homeBun)) return homeBun;
|
|
104
|
+
|
|
105
|
+
return "bun";
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function envWithBunPath(
|
|
109
|
+
env: Record<string, string | undefined>,
|
|
110
|
+
): Record<string, string | undefined> {
|
|
111
|
+
const bunPath = resolveBunExecutable();
|
|
112
|
+
const basePath = env.PATH || "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin";
|
|
113
|
+
const extraDirs = [
|
|
114
|
+
bunPath.includes("/") ? dirname(bunPath) : "",
|
|
115
|
+
join(homedir(), ".bun", "bin"),
|
|
116
|
+
join(homedir(), ".local", "bin"),
|
|
117
|
+
].filter((dir) => dir && !basePath.split(":").includes(dir));
|
|
118
|
+
return {
|
|
119
|
+
...env,
|
|
120
|
+
PATH: [...extraDirs, basePath].filter(Boolean).join(":"),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function localRuntimeAssistantIndex(
|
|
125
|
+
resources: LocalInstanceResources,
|
|
126
|
+
): string | undefined {
|
|
127
|
+
const installDir = resources.runtimeInstallDir;
|
|
128
|
+
if (!installDir) return undefined;
|
|
129
|
+
const candidate = packagePath(
|
|
130
|
+
installDir,
|
|
131
|
+
"@vellumai/assistant",
|
|
132
|
+
"src/index.ts",
|
|
133
|
+
);
|
|
134
|
+
return existsSync(candidate) ? candidate : undefined;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function localRuntimeGatewayDir(
|
|
138
|
+
resources: LocalInstanceResources | undefined,
|
|
139
|
+
): string | undefined {
|
|
140
|
+
const installDir = resources?.runtimeInstallDir;
|
|
141
|
+
if (!installDir) return undefined;
|
|
142
|
+
const candidate = packagePath(installDir, "@vellumai/vellum-gateway", "");
|
|
143
|
+
return isGatewaySourceDir(candidate) ? candidate : undefined;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export function ensureLocalRuntime(
|
|
147
|
+
resources: LocalInstanceResources,
|
|
148
|
+
version: string,
|
|
149
|
+
options: { force?: boolean } = {},
|
|
150
|
+
): LocalRuntimeInstall {
|
|
151
|
+
const normalizedVersion = normalizeRuntimeVersion(version);
|
|
152
|
+
const displayVersion =
|
|
153
|
+
normalizedVersion === "latest" ? "latest" : `v${normalizedVersion}`;
|
|
154
|
+
const installDir = getLocalRuntimeInstallDir(resources, normalizedVersion);
|
|
155
|
+
|
|
156
|
+
if (!options.force && hasLocalRuntimeComponents(installDir)) {
|
|
157
|
+
return { version: displayVersion, installDir };
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
ensureBunInstalled();
|
|
161
|
+
mkdirSync(installDir, { recursive: true });
|
|
162
|
+
writeFileSync(
|
|
163
|
+
join(installDir, "package.json"),
|
|
164
|
+
`${JSON.stringify(
|
|
165
|
+
{
|
|
166
|
+
private: true,
|
|
167
|
+
dependencies: {
|
|
168
|
+
[LOCAL_RUNTIME_PACKAGE]: normalizedVersion,
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
null,
|
|
172
|
+
2,
|
|
173
|
+
)}\n`,
|
|
174
|
+
);
|
|
175
|
+
|
|
176
|
+
const bunPath = resolveBunExecutable();
|
|
177
|
+
const result = spawnSync(bunPath, ["install", "--ignore-scripts"], {
|
|
178
|
+
cwd: installDir,
|
|
179
|
+
stdio: "inherit",
|
|
180
|
+
env: envWithBunPath(process.env),
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
if (result.error || result.status !== 0) {
|
|
184
|
+
const detail =
|
|
185
|
+
result.error?.message ?? `bun install exited with code ${result.status}`;
|
|
186
|
+
throw new Error(`Local runtime install failed: ${detail}`);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (!hasLocalRuntimeComponents(installDir)) {
|
|
190
|
+
throw new Error(
|
|
191
|
+
`Local runtime install at ${installDir} is missing assistant, gateway, or credential-executor packages.`,
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
return { version: displayVersion, installDir };
|
|
196
|
+
}
|
|
36
197
|
|
|
37
198
|
/**
|
|
38
199
|
* Warn when an assistant appears to have legacy data in the global workspace.
|
|
@@ -190,7 +351,14 @@ function findGatewaySourceFromCwd(): string | undefined {
|
|
|
190
351
|
}
|
|
191
352
|
}
|
|
192
353
|
|
|
193
|
-
function resolveAssistantIndexPath(
|
|
354
|
+
function resolveAssistantIndexPath(
|
|
355
|
+
resources?: LocalInstanceResources,
|
|
356
|
+
): string | undefined {
|
|
357
|
+
if (resources) {
|
|
358
|
+
const runtimeIndex = localRuntimeAssistantIndex(resources);
|
|
359
|
+
if (runtimeIndex) return runtimeIndex;
|
|
360
|
+
}
|
|
361
|
+
|
|
194
362
|
// Source tree layout: cli/src/lib/ -> ../../.. -> repo root -> assistant/src/index.ts
|
|
195
363
|
const sourceTreeIndex = join(
|
|
196
364
|
import.meta.dir,
|
|
@@ -246,16 +414,10 @@ function resolveAssistantIndexPath(): string | undefined {
|
|
|
246
414
|
}
|
|
247
415
|
|
|
248
416
|
function ensureBunInstalled(): void {
|
|
249
|
-
const bunBinDir = join(homedir(), ".bun", "bin");
|
|
250
|
-
const pathWithBun = [
|
|
251
|
-
bunBinDir,
|
|
252
|
-
process.env.PATH || "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
|
|
253
|
-
].join(":");
|
|
254
|
-
|
|
255
417
|
try {
|
|
256
|
-
execFileSync(
|
|
418
|
+
execFileSync(resolveBunExecutable(), ["--version"], {
|
|
257
419
|
stdio: "pipe",
|
|
258
|
-
env:
|
|
420
|
+
env: envWithBunPath(process.env),
|
|
259
421
|
});
|
|
260
422
|
return;
|
|
261
423
|
} catch {
|
|
@@ -418,17 +580,19 @@ async function startDaemonFromSource(
|
|
|
418
580
|
// detect the in-progress spawn and wait instead of racing.
|
|
419
581
|
writeFileSync(pidFile, "starting", "utf-8");
|
|
420
582
|
|
|
583
|
+
const bunPath = resolveBunExecutable();
|
|
584
|
+
const spawnEnv = envWithBunPath(env);
|
|
421
585
|
const child = foreground
|
|
422
|
-
? spawn(
|
|
586
|
+
? spawn(bunPath, ["run", daemonMainPath], {
|
|
423
587
|
stdio: "inherit",
|
|
424
|
-
env,
|
|
588
|
+
env: spawnEnv,
|
|
425
589
|
})
|
|
426
590
|
: (() => {
|
|
427
591
|
const daemonLogFd = openLogFile("hatch.log");
|
|
428
|
-
const c = spawn(
|
|
592
|
+
const c = spawn(bunPath, ["run", daemonMainPath], {
|
|
429
593
|
detached: true,
|
|
430
594
|
stdio: ["ignore", "pipe", "pipe"],
|
|
431
|
-
env,
|
|
595
|
+
env: spawnEnv,
|
|
432
596
|
});
|
|
433
597
|
pipeToLogFile(c, daemonLogFd, "daemon");
|
|
434
598
|
c.unref();
|
|
@@ -489,10 +653,10 @@ async function startDaemonWatchFromSource(
|
|
|
489
653
|
writeFileSync(pidFile, "starting", "utf-8");
|
|
490
654
|
|
|
491
655
|
const daemonLogFd = openLogFile("hatch.log");
|
|
492
|
-
const child = spawn(
|
|
656
|
+
const child = spawn(resolveBunExecutable(), ["--watch", "run", mainPath], {
|
|
493
657
|
detached: true,
|
|
494
658
|
stdio: ["ignore", "pipe", "pipe"],
|
|
495
|
-
env,
|
|
659
|
+
env: envWithBunPath(env),
|
|
496
660
|
});
|
|
497
661
|
pipeToLogFile(child, daemonLogFd, "daemon");
|
|
498
662
|
child.unref();
|
|
@@ -510,7 +674,10 @@ async function startDaemonWatchFromSource(
|
|
|
510
674
|
console.log(" Assistant started in watch mode (bun --watch)");
|
|
511
675
|
}
|
|
512
676
|
|
|
513
|
-
function resolveGatewayDir(): string {
|
|
677
|
+
function resolveGatewayDir(resources?: LocalInstanceResources): string {
|
|
678
|
+
const runtimeGatewayDir = localRuntimeGatewayDir(resources);
|
|
679
|
+
if (runtimeGatewayDir) return runtimeGatewayDir;
|
|
680
|
+
|
|
514
681
|
// Source tree: cli/src/lib/ → ../../.. → repo root → gateway/
|
|
515
682
|
const sourceDir = join(import.meta.dir, "..", "..", "..", "gateway");
|
|
516
683
|
if (isGatewaySourceDir(sourceDir)) {
|
|
@@ -883,6 +1050,16 @@ export async function startLocalDaemon(
|
|
|
883
1050
|
warnIfLegacyWorkspaceFallbackDetected(resources);
|
|
884
1051
|
writeAssistantWrapper(resources);
|
|
885
1052
|
|
|
1053
|
+
const runtimeAssistantIndex = !watch
|
|
1054
|
+
? localRuntimeAssistantIndex(resources)
|
|
1055
|
+
: undefined;
|
|
1056
|
+
if (runtimeAssistantIndex) {
|
|
1057
|
+
console.log("🔨 Starting local assistant runtime...");
|
|
1058
|
+
await startDaemonFromSource(runtimeAssistantIndex, resources, options);
|
|
1059
|
+
logDaemonReadiness(await waitForDaemonReady(resources.daemonPort, 60000));
|
|
1060
|
+
return;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
886
1063
|
const foreground = options?.foreground ?? false;
|
|
887
1064
|
// Check for a compiled daemon binary adjacent to the CLI executable.
|
|
888
1065
|
// This covers both the desktop app (VELLUM_DESKTOP_APP) and the case where
|
|
@@ -1020,7 +1197,7 @@ export async function startLocalDaemon(
|
|
|
1020
1197
|
// Dev fallback: if the bundled daemon did not become ready in time,
|
|
1021
1198
|
// fall back to source daemon startup so local source runs still work.
|
|
1022
1199
|
if (!daemonReady) {
|
|
1023
|
-
const assistantIndex = resolveAssistantIndexPath();
|
|
1200
|
+
const assistantIndex = resolveAssistantIndexPath(resources);
|
|
1024
1201
|
if (assistantIndex) {
|
|
1025
1202
|
console.log(
|
|
1026
1203
|
" Bundled assistant not ready after 60s — falling back to source assistant...",
|
|
@@ -1040,7 +1217,7 @@ export async function startLocalDaemon(
|
|
|
1040
1217
|
} else {
|
|
1041
1218
|
console.log("🔨 Starting local assistant...");
|
|
1042
1219
|
|
|
1043
|
-
const assistantIndex = resolveAssistantIndexPath();
|
|
1220
|
+
const assistantIndex = resolveAssistantIndexPath(resources);
|
|
1044
1221
|
if (!assistantIndex) {
|
|
1045
1222
|
throw new Error(
|
|
1046
1223
|
"vellum-daemon binary not found and assistant source not available.\n" +
|
|
@@ -1137,8 +1314,11 @@ export async function startGateway(
|
|
|
1137
1314
|
|
|
1138
1315
|
let gateway;
|
|
1139
1316
|
|
|
1317
|
+
const runtimeGatewayDir = !watch
|
|
1318
|
+
? localRuntimeGatewayDir(resources)
|
|
1319
|
+
: undefined;
|
|
1140
1320
|
const gatewayBinary = join(dirname(process.execPath), "vellum-gateway");
|
|
1141
|
-
if (existsSync(gatewayBinary) && !watch) {
|
|
1321
|
+
if (!runtimeGatewayDir && existsSync(gatewayBinary) && !watch) {
|
|
1142
1322
|
// Use the compiled gateway binary when available (desktop app or compiled
|
|
1143
1323
|
// CLI invoked from the terminal). In watch mode, skip the bundled binary
|
|
1144
1324
|
// and use source (bun --watch only works with source files).
|
|
@@ -1151,16 +1331,16 @@ export async function startGateway(
|
|
|
1151
1331
|
pipeToLogFile(gateway, gatewayLogFd, "gateway");
|
|
1152
1332
|
} else {
|
|
1153
1333
|
// Source tree / bunx: resolve the gateway source directory and run via bun.
|
|
1154
|
-
const gatewayDir = resolveGatewayDir();
|
|
1334
|
+
const gatewayDir = runtimeGatewayDir ?? resolveGatewayDir(resources);
|
|
1155
1335
|
const bunArgs = watch
|
|
1156
1336
|
? ["--watch", "run", "src/index.ts", "--vellum-gateway"]
|
|
1157
1337
|
: ["run", "src/index.ts", "--vellum-gateway"];
|
|
1158
1338
|
const gwLogFd = openLogFile("hatch.log");
|
|
1159
|
-
gateway = spawn(
|
|
1339
|
+
gateway = spawn(resolveBunExecutable(), bunArgs, {
|
|
1160
1340
|
cwd: gatewayDir,
|
|
1161
1341
|
detached: true,
|
|
1162
1342
|
stdio: ["ignore", "pipe", "pipe"],
|
|
1163
|
-
env: gatewayEnv,
|
|
1343
|
+
env: envWithBunPath(gatewayEnv),
|
|
1164
1344
|
});
|
|
1165
1345
|
pipeToLogFile(gateway, gwLogFd, "gateway");
|
|
1166
1346
|
if (watch) {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* resolver without cross-importing commands (per cli/CONTRIBUTING.md).
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { resolveAssistant
|
|
9
|
+
import { resolveAssistant } from "./assistant-config.js";
|
|
10
10
|
import { getPlatformUrl, readPlatformToken } from "./platform-client.js";
|
|
11
11
|
import {
|
|
12
12
|
closeTerminalSession,
|
|
@@ -49,7 +49,7 @@ export function resolveManagedAssistant(
|
|
|
49
49
|
process.exit(1);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
const cloud =
|
|
52
|
+
const cloud = entry.cloud;
|
|
53
53
|
if (cloud !== "vellum") {
|
|
54
54
|
if (cloud === "local") {
|
|
55
55
|
console.error(
|
|
@@ -66,10 +66,14 @@ export async function captureUpgradeFailureLogs(
|
|
|
66
66
|
// stream (docker logs writes container stdout→stdout, stderr→stderr)
|
|
67
67
|
// are preserved in a single file. spawnSync avoids the execOutput
|
|
68
68
|
// limitation of returning only stdout on success.
|
|
69
|
-
const result = spawnSync(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
const result = spawnSync(
|
|
70
|
+
"docker",
|
|
71
|
+
["logs", "--tail", "500", container],
|
|
72
|
+
{
|
|
73
|
+
encoding: "utf8",
|
|
74
|
+
maxBuffer: 10 * 1024 * 1024, // 10 MB
|
|
75
|
+
},
|
|
76
|
+
);
|
|
73
77
|
const output = [result.stdout, result.stderr].filter(Boolean).join("");
|
|
74
78
|
if (output) writeFileSync(join(logDir, filename), output);
|
|
75
79
|
} catch {
|
|
@@ -127,7 +131,7 @@ export function buildUpgradeCommitMessage(options: {
|
|
|
127
131
|
phase: "starting" | "complete";
|
|
128
132
|
from: string;
|
|
129
133
|
to: string;
|
|
130
|
-
topology: "docker" | "managed";
|
|
134
|
+
topology: "docker" | "local" | "managed";
|
|
131
135
|
assistantId: string;
|
|
132
136
|
result?: "success" | "failure";
|
|
133
137
|
}): string {
|
|
@@ -300,10 +304,13 @@ export async function fetchAssistantIngressUrl(
|
|
|
300
304
|
): Promise<string | undefined> {
|
|
301
305
|
if (!bearerToken) return undefined;
|
|
302
306
|
try {
|
|
303
|
-
const resp = await loopbackSafeFetch(
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
+
const resp = await loopbackSafeFetch(
|
|
308
|
+
`${runtimeUrl}/integrations/ingress/config`,
|
|
309
|
+
{
|
|
310
|
+
headers: { Authorization: `Bearer ${bearerToken}` },
|
|
311
|
+
signal: AbortSignal.timeout(5000),
|
|
312
|
+
},
|
|
313
|
+
);
|
|
307
314
|
if (resp.ok) {
|
|
308
315
|
const body = (await resp.json()) as {
|
|
309
316
|
publicBaseUrl?: string;
|
|
@@ -483,12 +490,15 @@ export async function rollbackMigrations(
|
|
|
483
490
|
body.targetWorkspaceMigrationId = targetWorkspaceMigrationId;
|
|
484
491
|
if (rollbackToRegistryCeiling) body.rollbackToRegistryCeiling = true;
|
|
485
492
|
|
|
486
|
-
const resp = await loopbackSafeFetch(
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
493
|
+
const resp = await loopbackSafeFetch(
|
|
494
|
+
`${gatewayUrl}/v1/admin/rollback-migrations`,
|
|
495
|
+
{
|
|
496
|
+
method: "POST",
|
|
497
|
+
headers,
|
|
498
|
+
body: JSON.stringify(body),
|
|
499
|
+
signal: AbortSignal.timeout(120_000),
|
|
500
|
+
},
|
|
501
|
+
);
|
|
492
502
|
if (!resp.ok) {
|
|
493
503
|
const text = await resp.text();
|
|
494
504
|
console.warn(`⚠️ Migration rollback failed (${resp.status}): ${text}`);
|
|
@@ -812,7 +822,10 @@ export async function performDockerRollback(
|
|
|
812
822
|
// Failure path — attempt auto-rollback to original version
|
|
813
823
|
console.error(`\n❌ Containers failed to become ready within the timeout.`);
|
|
814
824
|
|
|
815
|
-
const logDir = await captureUpgradeFailureLogs(
|
|
825
|
+
const logDir = await captureUpgradeFailureLogs(
|
|
826
|
+
res,
|
|
827
|
+
`${instanceName}-rollback-failure`,
|
|
828
|
+
);
|
|
816
829
|
if (logDir) {
|
|
817
830
|
console.log(`📋 Container logs saved to: ${logDir}`);
|
|
818
831
|
}
|
|
@@ -28,6 +28,7 @@ export const LLM_PROVIDER_ENV_VAR_NAMES: Record<string, string> = {
|
|
|
28
28
|
openrouter: "OPENROUTER_API_KEY",
|
|
29
29
|
minimax: "MINIMAX_API_KEY",
|
|
30
30
|
atlascloud: "ATLASCLOUD_API_KEY",
|
|
31
|
+
together: "TOGETHER_API_KEY",
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
/** Search-provider env var names. Mirrors `SEARCH_PROVIDER_CATALOG` BYOK entries. */
|