ima2-gen 3.19.0 → 3.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/migration/runtime-test-inventory.md +2 -1
- package/lib/oauthLauncher.js +10 -5
- package/node_modules/zod/README.md +2 -2
- package/node_modules/zod/compile.cjs +19 -0
- package/node_modules/zod/index.cjs +19 -0
- package/node_modules/zod/locales/index.cjs +19 -0
- package/node_modules/zod/mini/index.cjs +19 -0
- package/node_modules/zod/package.json +8 -7
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
- package/node_modules/zod/src/v4/classic/external.ts +2 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +248 -25
- package/node_modules/zod/src/v4/classic/schemas.ts +243 -168
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +60 -9
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +6 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +265 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +130 -1
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +157 -0
- package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +40 -2
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +27 -7
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +88 -56
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +56 -0
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +3 -2
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
- package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +46 -1
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +95 -1
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +33 -1
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +234 -38
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +569 -0
- package/node_modules/zod/src/v4/core/api.ts +44 -28
- package/node_modules/zod/src/v4/core/checks.ts +62 -102
- package/node_modules/zod/src/v4/core/compile.ts +218 -93
- package/node_modules/zod/src/v4/core/core.ts +1 -3
- package/node_modules/zod/src/v4/core/doc.ts +6 -2
- package/node_modules/zod/src/v4/core/errors.ts +3 -6
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +2 -2
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +185 -81
- package/node_modules/zod/src/v4/core/memoizer.ts +75 -28
- package/node_modules/zod/src/v4/core/parse.ts +37 -16
- package/node_modules/zod/src/v4/core/regexes.ts +14 -4
- package/node_modules/zod/src/v4/core/schemas.ts +296 -132
- package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
- package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +399 -2
- package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
- package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
- package/node_modules/zod/src/v4/core/to-json-schema.ts +9 -7
- package/node_modules/zod/src/v4/core/util.ts +218 -147
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/locales/ar.ts +2 -0
- package/node_modules/zod/src/v4/locales/az.ts +2 -0
- package/node_modules/zod/src/v4/locales/be.ts +2 -0
- package/node_modules/zod/src/v4/locales/bg.ts +2 -0
- package/node_modules/zod/src/v4/locales/bn.ts +2 -0
- package/node_modules/zod/src/v4/locales/ca.ts +2 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +2 -0
- package/node_modules/zod/src/v4/locales/cs.ts +2 -0
- package/node_modules/zod/src/v4/locales/da.ts +2 -0
- package/node_modules/zod/src/v4/locales/de.ts +2 -0
- package/node_modules/zod/src/v4/locales/el.ts +2 -0
- package/node_modules/zod/src/v4/locales/en.ts +2 -0
- package/node_modules/zod/src/v4/locales/eo.ts +2 -0
- package/node_modules/zod/src/v4/locales/es.ts +2 -0
- package/node_modules/zod/src/v4/locales/fa.ts +2 -0
- package/node_modules/zod/src/v4/locales/fi.ts +2 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +2 -0
- package/node_modules/zod/src/v4/locales/fr.ts +2 -0
- package/node_modules/zod/src/v4/locales/gu.ts +2 -0
- package/node_modules/zod/src/v4/locales/he.ts +2 -0
- package/node_modules/zod/src/v4/locales/hi.ts +2 -0
- package/node_modules/zod/src/v4/locales/hr.ts +2 -0
- package/node_modules/zod/src/v4/locales/hu.ts +2 -0
- package/node_modules/zod/src/v4/locales/hy.ts +2 -0
- package/node_modules/zod/src/v4/locales/id.ts +2 -0
- package/node_modules/zod/src/v4/locales/index.ts +1 -0
- package/node_modules/zod/src/v4/locales/is.ts +2 -0
- package/node_modules/zod/src/v4/locales/it.ts +2 -0
- package/node_modules/zod/src/v4/locales/ja.ts +2 -0
- package/node_modules/zod/src/v4/locales/ka.ts +2 -0
- package/node_modules/zod/src/v4/locales/km.ts +2 -0
- package/node_modules/zod/src/v4/locales/kn.ts +2 -0
- package/node_modules/zod/src/v4/locales/ko.ts +2 -0
- package/node_modules/zod/src/v4/locales/lt.ts +2 -0
- package/node_modules/zod/src/v4/locales/mk.ts +2 -0
- package/node_modules/zod/src/v4/locales/ms.ts +2 -0
- package/node_modules/zod/src/v4/locales/ne.ts +2 -0
- package/node_modules/zod/src/v4/locales/nl.ts +2 -0
- package/node_modules/zod/src/v4/locales/nn.ts +2 -0
- package/node_modules/zod/src/v4/locales/no.ts +2 -0
- package/node_modules/zod/src/v4/locales/ota.ts +2 -0
- package/node_modules/zod/src/v4/locales/pl.ts +2 -0
- package/node_modules/zod/src/v4/locales/ps.ts +2 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +2 -0
- package/node_modules/zod/src/v4/locales/pt.ts +2 -0
- package/node_modules/zod/src/v4/locales/ro.ts +2 -0
- package/node_modules/zod/src/v4/locales/ru.ts +2 -0
- package/node_modules/zod/src/v4/locales/sk.ts +2 -0
- package/node_modules/zod/src/v4/locales/sl.ts +2 -0
- package/node_modules/zod/src/v4/locales/sv.ts +2 -0
- package/node_modules/zod/src/v4/locales/ta.ts +2 -0
- package/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/node_modules/zod/src/v4/locales/th.ts +2 -0
- package/node_modules/zod/src/v4/locales/tk.ts +2 -0
- package/node_modules/zod/src/v4/locales/tr.ts +2 -0
- package/node_modules/zod/src/v4/locales/uk.ts +2 -0
- package/node_modules/zod/src/v4/locales/ur.ts +2 -0
- package/node_modules/zod/src/v4/locales/uz.ts +2 -0
- package/node_modules/zod/src/v4/locales/vi.ts +2 -0
- package/node_modules/zod/src/v4/locales/yo.ts +2 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +2 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +2 -0
- package/node_modules/zod/src/v4/mini/external.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +32 -7
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +1 -1
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +86 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +23 -0
- package/node_modules/zod/v3/ZodError.cjs +19 -0
- package/node_modules/zod/v3/errors.cjs +19 -0
- package/node_modules/zod/v3/external.cjs +19 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
- package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
- package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
- package/node_modules/zod/v3/helpers/util.cjs +19 -0
- package/node_modules/zod/v3/index.cjs +19 -0
- package/node_modules/zod/v3/standard-schema.cjs +19 -0
- package/node_modules/zod/v3/types.cjs +19 -0
- package/node_modules/zod/v4/classic/checks.cjs +19 -0
- package/node_modules/zod/v4/classic/coerce.cjs +19 -0
- package/node_modules/zod/v4/classic/compat.cjs +19 -0
- package/node_modules/zod/v4/classic/deep-partial.cjs +19 -0
- package/node_modules/zod/v4/classic/errors.cjs +19 -0
- package/node_modules/zod/v4/classic/external.cjs +22 -1
- package/node_modules/zod/v4/classic/external.d.cts +1 -1
- package/node_modules/zod/v4/classic/external.d.ts +1 -1
- package/node_modules/zod/v4/classic/external.js +1 -1
- package/node_modules/zod/v4/classic/from-json-schema.cjs +264 -24
- package/node_modules/zod/v4/classic/from-json-schema.js +245 -24
- package/node_modules/zod/v4/classic/in-out.cjs +19 -0
- package/node_modules/zod/v4/classic/index.cjs +19 -0
- package/node_modules/zod/v4/classic/iso.cjs +19 -0
- package/node_modules/zod/v4/classic/parse.cjs +19 -0
- package/node_modules/zod/v4/classic/schemas.cjs +100 -35
- package/node_modules/zod/v4/classic/schemas.d.cts +15 -1
- package/node_modules/zod/v4/classic/schemas.d.ts +15 -1
- package/node_modules/zod/v4/classic/schemas.js +77 -33
- package/node_modules/zod/v4/core/api.cjs +45 -22
- package/node_modules/zod/v4/core/api.d.cts +12 -6
- package/node_modules/zod/v4/core/api.d.ts +12 -6
- package/node_modules/zod/v4/core/api.js +25 -22
- package/node_modules/zod/v4/core/checks.cjs +51 -97
- package/node_modules/zod/v4/core/checks.d.cts +17 -1
- package/node_modules/zod/v4/core/checks.d.ts +17 -1
- package/node_modules/zod/v4/core/checks.js +31 -96
- package/node_modules/zod/v4/core/compile.cjs +173 -78
- package/node_modules/zod/v4/core/compile.d.cts +18 -4
- package/node_modules/zod/v4/core/compile.d.ts +18 -4
- package/node_modules/zod/v4/core/compile.js +154 -79
- package/node_modules/zod/v4/core/core.cjs +20 -1
- package/node_modules/zod/v4/core/core.js +1 -1
- package/node_modules/zod/v4/core/doc.cjs +26 -2
- package/node_modules/zod/v4/core/doc.js +7 -2
- package/node_modules/zod/v4/core/errors.cjs +21 -5
- package/node_modules/zod/v4/core/errors.js +2 -5
- package/node_modules/zod/v4/core/index.cjs +19 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +20 -1
- package/node_modules/zod/v4/core/json-schema-generator.js +2 -2
- package/node_modules/zod/v4/core/json-schema-processors.cjs +188 -72
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +170 -74
- package/node_modules/zod/v4/core/json-schema.cjs +19 -0
- package/node_modules/zod/v4/core/memoizer.cjs +111 -23
- package/node_modules/zod/v4/core/memoizer.js +69 -23
- package/node_modules/zod/v4/core/parse.cjs +56 -16
- package/node_modules/zod/v4/core/parse.js +37 -16
- package/node_modules/zod/v4/core/regexes.cjs +31 -6
- package/node_modules/zod/v4/core/regexes.d.cts +3 -0
- package/node_modules/zod/v4/core/regexes.d.ts +3 -0
- package/node_modules/zod/v4/core/regexes.js +10 -4
- package/node_modules/zod/v4/core/registries.cjs +19 -0
- package/node_modules/zod/v4/core/schemas.cjs +302 -114
- package/node_modules/zod/v4/core/schemas.d.cts +28 -8
- package/node_modules/zod/v4/core/schemas.d.ts +28 -8
- package/node_modules/zod/v4/core/schemas.js +279 -113
- package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +28 -7
- package/node_modules/zod/v4/core/to-json-schema.d.cts +4 -3
- package/node_modules/zod/v4/core/to-json-schema.d.ts +4 -3
- package/node_modules/zod/v4/core/to-json-schema.js +7 -6
- package/node_modules/zod/v4/core/util.cjs +177 -143
- package/node_modules/zod/v4/core/util.d.cts +25 -4
- package/node_modules/zod/v4/core/util.d.ts +25 -4
- package/node_modules/zod/v4/core/util.js +156 -143
- package/node_modules/zod/v4/core/versions.cjs +21 -2
- package/node_modules/zod/v4/core/versions.d.cts +1 -1
- package/node_modules/zod/v4/core/versions.d.ts +1 -1
- package/node_modules/zod/v4/core/versions.js +2 -2
- package/node_modules/zod/v4/core/visit.cjs +19 -0
- package/node_modules/zod/v4/index.cjs +19 -0
- package/node_modules/zod/v4/locales/ar.cjs +2 -0
- package/node_modules/zod/v4/locales/ar.js +2 -0
- package/node_modules/zod/v4/locales/az.cjs +2 -0
- package/node_modules/zod/v4/locales/az.js +2 -0
- package/node_modules/zod/v4/locales/be.cjs +2 -0
- package/node_modules/zod/v4/locales/be.js +2 -0
- package/node_modules/zod/v4/locales/bg.cjs +2 -0
- package/node_modules/zod/v4/locales/bg.js +2 -0
- package/node_modules/zod/v4/locales/bn.cjs +2 -0
- package/node_modules/zod/v4/locales/bn.js +2 -0
- package/node_modules/zod/v4/locales/ca.cjs +2 -0
- package/node_modules/zod/v4/locales/ca.js +2 -0
- package/node_modules/zod/v4/locales/ckb.cjs +2 -0
- package/node_modules/zod/v4/locales/ckb.js +2 -0
- package/node_modules/zod/v4/locales/cs.cjs +2 -0
- package/node_modules/zod/v4/locales/cs.js +2 -0
- package/node_modules/zod/v4/locales/da.cjs +2 -0
- package/node_modules/zod/v4/locales/da.js +2 -0
- package/node_modules/zod/v4/locales/de.cjs +2 -0
- package/node_modules/zod/v4/locales/de.js +2 -0
- package/node_modules/zod/v4/locales/el.cjs +2 -0
- package/node_modules/zod/v4/locales/el.js +2 -0
- package/node_modules/zod/v4/locales/en.cjs +2 -0
- package/node_modules/zod/v4/locales/en.js +2 -0
- package/node_modules/zod/v4/locales/eo.cjs +2 -0
- package/node_modules/zod/v4/locales/eo.js +2 -0
- package/node_modules/zod/v4/locales/es.cjs +2 -0
- package/node_modules/zod/v4/locales/es.js +2 -0
- package/node_modules/zod/v4/locales/fa.cjs +2 -0
- package/node_modules/zod/v4/locales/fa.js +2 -0
- package/node_modules/zod/v4/locales/fi.cjs +2 -0
- package/node_modules/zod/v4/locales/fi.js +2 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
- package/node_modules/zod/v4/locales/fr-CA.js +2 -0
- package/node_modules/zod/v4/locales/fr.cjs +2 -0
- package/node_modules/zod/v4/locales/fr.js +2 -0
- package/node_modules/zod/v4/locales/gu.cjs +2 -0
- package/node_modules/zod/v4/locales/gu.js +2 -0
- package/node_modules/zod/v4/locales/he.cjs +2 -0
- package/node_modules/zod/v4/locales/he.js +2 -0
- package/node_modules/zod/v4/locales/hi.cjs +2 -0
- package/node_modules/zod/v4/locales/hi.js +2 -0
- package/node_modules/zod/v4/locales/hr.cjs +2 -0
- package/node_modules/zod/v4/locales/hr.js +2 -0
- package/node_modules/zod/v4/locales/hu.cjs +2 -0
- package/node_modules/zod/v4/locales/hu.js +2 -0
- package/node_modules/zod/v4/locales/hy.cjs +2 -0
- package/node_modules/zod/v4/locales/hy.js +2 -0
- package/node_modules/zod/v4/locales/id.cjs +2 -0
- package/node_modules/zod/v4/locales/id.js +2 -0
- package/node_modules/zod/v4/locales/index.cjs +22 -1
- package/node_modules/zod/v4/locales/index.d.cts +1 -0
- package/node_modules/zod/v4/locales/index.d.ts +1 -0
- package/node_modules/zod/v4/locales/index.js +1 -0
- package/node_modules/zod/v4/locales/is.cjs +2 -0
- package/node_modules/zod/v4/locales/is.js +2 -0
- package/node_modules/zod/v4/locales/it.cjs +2 -0
- package/node_modules/zod/v4/locales/it.js +2 -0
- package/node_modules/zod/v4/locales/ja.cjs +2 -0
- package/node_modules/zod/v4/locales/ja.js +2 -0
- package/node_modules/zod/v4/locales/ka.cjs +2 -0
- package/node_modules/zod/v4/locales/ka.js +2 -0
- package/node_modules/zod/v4/locales/km.cjs +2 -0
- package/node_modules/zod/v4/locales/km.js +2 -0
- package/node_modules/zod/v4/locales/kn.cjs +2 -0
- package/node_modules/zod/v4/locales/kn.js +2 -0
- package/node_modules/zod/v4/locales/ko.cjs +2 -0
- package/node_modules/zod/v4/locales/ko.js +2 -0
- package/node_modules/zod/v4/locales/lt.cjs +2 -0
- package/node_modules/zod/v4/locales/lt.js +2 -0
- package/node_modules/zod/v4/locales/mk.cjs +2 -0
- package/node_modules/zod/v4/locales/mk.js +2 -0
- package/node_modules/zod/v4/locales/ms.cjs +2 -0
- package/node_modules/zod/v4/locales/ms.js +2 -0
- package/node_modules/zod/v4/locales/ne.cjs +2 -0
- package/node_modules/zod/v4/locales/ne.js +2 -0
- package/node_modules/zod/v4/locales/nl.cjs +2 -0
- package/node_modules/zod/v4/locales/nl.js +2 -0
- package/node_modules/zod/v4/locales/nn.cjs +2 -0
- package/node_modules/zod/v4/locales/nn.js +2 -0
- package/node_modules/zod/v4/locales/no.cjs +2 -0
- package/node_modules/zod/v4/locales/no.js +2 -0
- package/node_modules/zod/v4/locales/ota.cjs +2 -0
- package/node_modules/zod/v4/locales/ota.js +2 -0
- package/node_modules/zod/v4/locales/pl.cjs +2 -0
- package/node_modules/zod/v4/locales/pl.js +2 -0
- package/node_modules/zod/v4/locales/ps.cjs +2 -0
- package/node_modules/zod/v4/locales/ps.js +2 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +2 -0
- package/node_modules/zod/v4/locales/pt-BR.js +2 -0
- package/node_modules/zod/v4/locales/pt.cjs +2 -0
- package/node_modules/zod/v4/locales/pt.js +2 -0
- package/node_modules/zod/v4/locales/ro.cjs +2 -0
- package/node_modules/zod/v4/locales/ro.js +2 -0
- package/node_modules/zod/v4/locales/ru.cjs +2 -0
- package/node_modules/zod/v4/locales/ru.js +2 -0
- package/node_modules/zod/v4/locales/sk.cjs +2 -0
- package/node_modules/zod/v4/locales/sk.js +2 -0
- package/node_modules/zod/v4/locales/sl.cjs +2 -0
- package/node_modules/zod/v4/locales/sl.js +2 -0
- package/node_modules/zod/v4/locales/sv.cjs +2 -0
- package/node_modules/zod/v4/locales/sv.js +2 -0
- package/node_modules/zod/v4/locales/ta.cjs +2 -0
- package/node_modules/zod/v4/locales/ta.js +2 -0
- package/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/node_modules/zod/v4/locales/tg.js +117 -0
- package/node_modules/zod/v4/locales/th.cjs +2 -0
- package/node_modules/zod/v4/locales/th.js +2 -0
- package/node_modules/zod/v4/locales/tk.cjs +2 -0
- package/node_modules/zod/v4/locales/tk.js +2 -0
- package/node_modules/zod/v4/locales/tr.cjs +2 -0
- package/node_modules/zod/v4/locales/tr.js +2 -0
- package/node_modules/zod/v4/locales/uk.cjs +2 -0
- package/node_modules/zod/v4/locales/uk.js +2 -0
- package/node_modules/zod/v4/locales/ur.cjs +2 -0
- package/node_modules/zod/v4/locales/ur.js +2 -0
- package/node_modules/zod/v4/locales/uz.cjs +2 -0
- package/node_modules/zod/v4/locales/uz.js +2 -0
- package/node_modules/zod/v4/locales/vi.cjs +2 -0
- package/node_modules/zod/v4/locales/vi.js +2 -0
- package/node_modules/zod/v4/locales/yo.cjs +2 -0
- package/node_modules/zod/v4/locales/yo.js +2 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
- package/node_modules/zod/v4/locales/zh-CN.js +2 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
- package/node_modules/zod/v4/locales/zh-TW.js +2 -0
- package/node_modules/zod/v4/mini/checks.cjs +19 -0
- package/node_modules/zod/v4/mini/coerce.cjs +19 -0
- package/node_modules/zod/v4/mini/deep-partial.cjs +19 -0
- package/node_modules/zod/v4/mini/external.cjs +22 -1
- package/node_modules/zod/v4/mini/external.d.cts +1 -1
- package/node_modules/zod/v4/mini/external.d.ts +1 -1
- package/node_modules/zod/v4/mini/external.js +1 -1
- package/node_modules/zod/v4/mini/in-out.cjs +19 -0
- package/node_modules/zod/v4/mini/index.cjs +19 -0
- package/node_modules/zod/v4/mini/iso.cjs +19 -0
- package/node_modules/zod/v4/mini/parse.cjs +19 -0
- package/node_modules/zod/v4/mini/schemas.cjs +44 -8
- package/node_modules/zod/v4/mini/schemas.d.cts +6 -1
- package/node_modules/zod/v4/mini/schemas.d.ts +6 -1
- package/node_modules/zod/v4/mini/schemas.js +21 -6
- package/node_modules/zod/v4-mini/index.cjs +19 -0
- package/package.json +6 -6
- package/routes/health.js +10 -1
- package/ui/dist/.vite/manifest.json +64 -64
- package/ui/dist/assets/{AgentWorkspace-C6ke6Eo4.js → AgentWorkspace-CENfXAob.js} +1 -1
- package/ui/dist/assets/{App-pMN1OjNW.js → App-B9y6oVuL.js} +8 -8
- package/ui/dist/assets/{AssetGenWorkspace-DzEfpUy_.js → AssetGenWorkspace-fL2MjYj9.js} +2 -2
- package/ui/dist/assets/{AssetMediaLightbox-Bx0azN0S.js → AssetMediaLightbox-Be4arnGs.js} +1 -1
- package/ui/dist/assets/{AssetsWorkspace-CHw1u9VC.js → AssetsWorkspace-7z4wyfp0.js} +1 -1
- package/ui/dist/assets/{CardNewsWorkspace-DsjqhaYO.js → CardNewsWorkspace-DSldDpsl.js} +1 -1
- package/ui/dist/assets/{GenerationRequestLogPanel-EYEiHIr9.js → GenerationRequestLogPanel-CcQKi89f.js} +1 -1
- package/ui/dist/assets/{HomeWorkspace-DbnY1YF2.js → HomeWorkspace-BZDk2X1U.js} +1 -1
- package/ui/dist/assets/{KeyingPanel-8J_RMrxg.js → KeyingPanel-snhXKnA3.js} +1 -1
- package/ui/dist/assets/{NodeCanvas-DmjbNcTa.js → NodeCanvas-CJQXsS0r.js} +1 -1
- package/ui/dist/assets/{PromptBuilderPanel-CL34Jpso.js → PromptBuilderPanel-B-YP1ph5.js} +1 -1
- package/ui/dist/assets/{PromptImportDialog-B24cvEkK.js → PromptImportDialog-ssPMxE4j.js} +2 -2
- package/ui/dist/assets/{PromptImportDiscoverySection-Bbw1_J_3.js → PromptImportDiscoverySection-CvOgGTOs.js} +1 -1
- package/ui/dist/assets/{PromptImportFolderSection-CMpxuE8e.js → PromptImportFolderSection-CxR9qxbi.js} +1 -1
- package/ui/dist/assets/{PromptLibraryPanel-Ct98TJ61.js → PromptLibraryPanel-DjYgbXes.js} +2 -2
- package/ui/dist/assets/{SettingsWorkspace-DL9Tm90P.js → SettingsWorkspace-BtruYb6g.js} +1 -1
- package/ui/dist/assets/{SpriteRecipeWorkspace-BJUH1ddP.js → SpriteRecipeWorkspace-DBrYOYOK.js} +1 -1
- package/ui/dist/assets/{index-D_LpLGWV.js → index-CWFgCqE1.js} +3 -3
- package/ui/dist/assets/{index-CHeVGnoy.js → index-va83o9G5.js} +12 -12
- package/ui/dist/assets/{pptxgen.es-s4xfPXLT.js → pptxgen.es-D-kntoLD.js} +1 -1
- package/ui/dist/assets/{promptBuilderStore-DQR29LwN.js → promptBuilderStore-BdGPLEra.js} +1 -1
- package/ui/dist/assets/useAgentDialogFocus-BDdVl-nq.js +1 -0
- package/ui/dist/index.html +1 -1
- package/ui/dist/assets/useAgentDialogFocus-DAeS9IWG.js +0 -1
|
@@ -1,6 +1,100 @@
|
|
|
1
1
|
import * as regexes from "./regexes.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { base64Charset, base64urlCharset } from "./schemas.js";
|
|
3
|
+
import { extractDefs, finalize, handleUnrepresentable, initializeContext, processSchema, } from "./to-json-schema.js";
|
|
4
|
+
import { BIGINT_FORMAT_RANGES, NUMBER_FORMAT_RANGES, assignProp, getEnumValues } from "./util.js";
|
|
5
|
+
const narrowMin = (agg, key, value) => {
|
|
6
|
+
if (agg[key] === undefined || value > agg[key])
|
|
7
|
+
agg[key] = value;
|
|
8
|
+
};
|
|
9
|
+
const narrowMax = (agg, key, value) => {
|
|
10
|
+
if (agg[key] === undefined || value < agg[key])
|
|
11
|
+
agg[key] = value;
|
|
12
|
+
};
|
|
13
|
+
const narrowBoth = (agg, value) => {
|
|
14
|
+
narrowMin(agg, "minimum", value);
|
|
15
|
+
narrowMax(agg, "maximum", value);
|
|
16
|
+
};
|
|
17
|
+
const addDivisor = (agg, value) => {
|
|
18
|
+
agg.multipleOf ?? (agg.multipleOf = []);
|
|
19
|
+
if (!agg.multipleOf.includes(value))
|
|
20
|
+
agg.multipleOf.push(value);
|
|
21
|
+
};
|
|
22
|
+
const addPattern = (agg, pattern) => {
|
|
23
|
+
agg.patterns ?? (agg.patterns = new Set());
|
|
24
|
+
agg.patterns.add(pattern);
|
|
25
|
+
};
|
|
26
|
+
const intersectMime = (agg, mime) => {
|
|
27
|
+
agg.mime = agg.mime ? agg.mime.filter((m) => mime.includes(m)) : [...mime];
|
|
28
|
+
};
|
|
29
|
+
// last-wins, matching the bag's historical write order; the flag keeps an integer format from being lost to a later float one
|
|
30
|
+
const setFormat = (agg, format) => {
|
|
31
|
+
agg.format = format;
|
|
32
|
+
if (format.includes("int"))
|
|
33
|
+
agg.isInt = true;
|
|
34
|
+
};
|
|
35
|
+
const minContributor = (agg, def) => narrowMin(agg, "minimum", def.minimum);
|
|
36
|
+
const maxContributor = (agg, def) => narrowMax(agg, "maximum", def.maximum);
|
|
37
|
+
const formatContributor = (ranges) => (agg, def) => {
|
|
38
|
+
setFormat(agg, def.format);
|
|
39
|
+
const [minimum, maximum] = ranges[def.format];
|
|
40
|
+
narrowMin(agg, "minimum", minimum);
|
|
41
|
+
narrowMax(agg, "maximum", maximum);
|
|
42
|
+
};
|
|
43
|
+
const contributors = {
|
|
44
|
+
greater_than: (agg, def) => narrowMin(agg, def.inclusive ? "minimum" : "exclusiveMinimum", def.value),
|
|
45
|
+
less_than: (agg, def) => narrowMax(agg, def.inclusive ? "maximum" : "exclusiveMaximum", def.value),
|
|
46
|
+
multiple_of: (agg, def) => addDivisor(agg, def.value),
|
|
47
|
+
number_format: formatContributor(NUMBER_FORMAT_RANGES),
|
|
48
|
+
bigint_format: formatContributor(BIGINT_FORMAT_RANGES),
|
|
49
|
+
min_length: minContributor,
|
|
50
|
+
max_length: maxContributor,
|
|
51
|
+
length_equals: (agg, def) => narrowBoth(agg, def.length),
|
|
52
|
+
min_size: minContributor,
|
|
53
|
+
max_size: maxContributor,
|
|
54
|
+
size_equals: (agg, def) => narrowBoth(agg, def.size),
|
|
55
|
+
string_format: (agg, def) => {
|
|
56
|
+
setFormat(agg, def.format);
|
|
57
|
+
if (def.pattern)
|
|
58
|
+
addPattern(agg, def.pattern);
|
|
59
|
+
if (def.format === "base64" || def.format === "base64url")
|
|
60
|
+
agg.contentEncoding = def.format;
|
|
61
|
+
if (def.local || def.precision === -1)
|
|
62
|
+
agg.laxFormat = true;
|
|
63
|
+
},
|
|
64
|
+
mime_type: (agg, def) => intersectMime(agg, def.mime),
|
|
65
|
+
};
|
|
66
|
+
export function aggregateChecks(schema) {
|
|
67
|
+
const agg = {};
|
|
68
|
+
const def = schema._zod.def;
|
|
69
|
+
// a format schema is its own first check, same rule as $ZodType init
|
|
70
|
+
const list = schema._zod.traits.has("$ZodCheck")
|
|
71
|
+
? [schema, ...(def.checks ?? [])]
|
|
72
|
+
: (def.checks ?? []);
|
|
73
|
+
for (const ch of list)
|
|
74
|
+
contributors[ch._zod.def.check]?.(agg, ch._zod.def);
|
|
75
|
+
// reconcile with the bag so third-party onattach contributions still land; first-party residue is never tighter than the fold, so merging it back is idempotent for one and additive for the other
|
|
76
|
+
const bag = schema._zod.bag;
|
|
77
|
+
if (bag.minimum !== undefined)
|
|
78
|
+
narrowMin(agg, "minimum", bag.minimum);
|
|
79
|
+
if (bag.exclusiveMinimum !== undefined)
|
|
80
|
+
narrowMin(agg, "exclusiveMinimum", bag.exclusiveMinimum);
|
|
81
|
+
if (bag.maximum !== undefined)
|
|
82
|
+
narrowMax(agg, "maximum", bag.maximum);
|
|
83
|
+
if (bag.exclusiveMaximum !== undefined)
|
|
84
|
+
narrowMax(agg, "exclusiveMaximum", bag.exclusiveMaximum);
|
|
85
|
+
if (bag.multipleOf !== undefined)
|
|
86
|
+
addDivisor(agg, bag.multipleOf);
|
|
87
|
+
if (bag.format !== undefined) {
|
|
88
|
+
agg.format ?? (agg.format = bag.format);
|
|
89
|
+
if (bag.format.includes("int"))
|
|
90
|
+
agg.isInt = true;
|
|
91
|
+
}
|
|
92
|
+
if (bag.mime)
|
|
93
|
+
intersectMime(agg, bag.mime);
|
|
94
|
+
for (const pattern of bag.patterns ?? [])
|
|
95
|
+
addPattern(agg, pattern);
|
|
96
|
+
return agg;
|
|
97
|
+
}
|
|
4
98
|
const formatMap = {
|
|
5
99
|
guid: "uuid",
|
|
6
100
|
url: "uri",
|
|
@@ -9,11 +103,16 @@ const formatMap = {
|
|
|
9
103
|
regex: "", // do not set
|
|
10
104
|
};
|
|
11
105
|
// ==================== SIMPLE TYPE PROCESSORS ====================
|
|
106
|
+
// the runtime patterns are lax so parse paths never overflow the regex stack; the emitted schema swaps in the exact block forms, which zod itself never executes
|
|
107
|
+
const exactPatterns = new Map([
|
|
108
|
+
[base64Charset, regexes.base64],
|
|
109
|
+
[base64urlCharset, regexes.base64url],
|
|
110
|
+
]);
|
|
111
|
+
const exactPattern = (p) => exactPatterns.get(p) ?? p;
|
|
12
112
|
export const stringProcessor = (schema, ctx, _json, _params) => {
|
|
13
113
|
const json = _json;
|
|
14
114
|
json.type = "string";
|
|
15
|
-
const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = schema
|
|
16
|
-
.bag;
|
|
115
|
+
const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = aggregateChecks(schema);
|
|
17
116
|
if (typeof minimum === "number")
|
|
18
117
|
json.minLength = minimum;
|
|
19
118
|
if (typeof maximum === "number")
|
|
@@ -31,7 +130,7 @@ export const stringProcessor = (schema, ctx, _json, _params) => {
|
|
|
31
130
|
if (contentEncoding)
|
|
32
131
|
json.contentEncoding = contentEncoding;
|
|
33
132
|
if (patterns && patterns.size > 0) {
|
|
34
|
-
const patternList = [...patterns];
|
|
133
|
+
const patternList = [...patterns].map(exactPattern);
|
|
35
134
|
if (patternList.length === 1)
|
|
36
135
|
json.pattern = patternList[0].source;
|
|
37
136
|
else if (patternList.length > 1) {
|
|
@@ -48,11 +147,8 @@ export const stringProcessor = (schema, ctx, _json, _params) => {
|
|
|
48
147
|
};
|
|
49
148
|
export const numberProcessor = (schema, ctx, _json, params) => {
|
|
50
149
|
const json = _json;
|
|
51
|
-
const { minimum, maximum,
|
|
52
|
-
|
|
53
|
-
json.type = "integer";
|
|
54
|
-
else
|
|
55
|
-
json.type = "number";
|
|
150
|
+
const { minimum, maximum, multipleOf, exclusiveMaximum, exclusiveMinimum, isInt } = aggregateChecks(schema);
|
|
151
|
+
json.type = isInt ? "integer" : "number";
|
|
56
152
|
// when both minimum and exclusiveMinimum exist, pick the more restrictive one
|
|
57
153
|
const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);
|
|
58
154
|
const exMax = typeof exclusiveMaximum === "number" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY);
|
|
@@ -81,12 +177,21 @@ export const numberProcessor = (schema, ctx, _json, params) => {
|
|
|
81
177
|
else if (typeof maximum === "number") {
|
|
82
178
|
json.maximum = maximum;
|
|
83
179
|
}
|
|
84
|
-
if (
|
|
180
|
+
if (multipleOf) {
|
|
85
181
|
// JSON Schema requires a divisor strictly greater than zero, and a non-finite one does not survive JSON at all. A negative divisor accepts exactly what its absolute value accepts, so it still maps; zero, NaN and Infinity have no keyword form.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
182
|
+
const divisors = new Set();
|
|
183
|
+
for (const divisor of multipleOf) {
|
|
184
|
+
if (Number.isFinite(divisor) && divisor !== 0)
|
|
185
|
+
divisors.add(Math.abs(divisor));
|
|
186
|
+
else
|
|
187
|
+
handleUnrepresentable(schema, ctx, json, params, `A multipleOf divisor of ${divisor} cannot be represented in JSON Schema`);
|
|
188
|
+
}
|
|
189
|
+
// chained divisors are a conjunction the keyword cannot carry alone, so extras ride an allOf, same as stacked patterns
|
|
190
|
+
const [first, ...rest] = divisors;
|
|
191
|
+
if (first !== undefined)
|
|
192
|
+
json.multipleOf = first;
|
|
193
|
+
if (rest.length)
|
|
194
|
+
json.allOf = [...(json.allOf ?? []), ...rest.map((m) => ({ multipleOf: m }))];
|
|
90
195
|
}
|
|
91
196
|
};
|
|
92
197
|
export const booleanProcessor = (_schema, _ctx, json, _params) => {
|
|
@@ -203,29 +308,24 @@ export const templateLiteralProcessor = (schema, _ctx, json, _params) => {
|
|
|
203
308
|
};
|
|
204
309
|
export const fileProcessor = (schema, _ctx, json, _params) => {
|
|
205
310
|
const _json = json;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
};
|
|
211
|
-
const { minimum, maximum, mime } = schema._zod.bag;
|
|
311
|
+
_json.type = "string";
|
|
312
|
+
_json.format = "binary";
|
|
313
|
+
_json.contentEncoding = "binary";
|
|
314
|
+
const { minimum, maximum, mime } = aggregateChecks(schema);
|
|
212
315
|
if (minimum !== undefined)
|
|
213
|
-
|
|
316
|
+
_json.minLength = minimum;
|
|
214
317
|
if (maximum !== undefined)
|
|
215
|
-
|
|
216
|
-
if (mime)
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
else {
|
|
227
|
-
Object.assign(_json, file);
|
|
228
|
-
}
|
|
318
|
+
_json.maxLength = maximum;
|
|
319
|
+
if (!mime)
|
|
320
|
+
return;
|
|
321
|
+
// an empty intersection means the mime checks share no value, so nothing passes at runtime; `anyOf` must be non-empty, so the false schema is `not: {}`
|
|
322
|
+
if (mime.length === 0)
|
|
323
|
+
_json.not = {};
|
|
324
|
+
else if (mime.length === 1)
|
|
325
|
+
_json.contentMediaType = mime[0];
|
|
326
|
+
// only contentMediaType differs, so the shared props stay at the root
|
|
327
|
+
else
|
|
328
|
+
_json.anyOf = mime.map((m) => ({ contentMediaType: m }));
|
|
229
329
|
};
|
|
230
330
|
export const successProcessor = (_schema, _ctx, json, _params) => {
|
|
231
331
|
json.type = "boolean";
|
|
@@ -249,13 +349,13 @@ export const setProcessor = (schema, ctx, json, params) => {
|
|
|
249
349
|
export const arrayProcessor = (schema, ctx, _json, params) => {
|
|
250
350
|
const json = _json;
|
|
251
351
|
const def = schema._zod.def;
|
|
252
|
-
const { minimum, maximum } = schema
|
|
352
|
+
const { minimum, maximum } = aggregateChecks(schema);
|
|
253
353
|
if (typeof minimum === "number")
|
|
254
354
|
json.minItems = minimum;
|
|
255
355
|
if (typeof maximum === "number")
|
|
256
356
|
json.maxItems = maximum;
|
|
257
357
|
json.type = "array";
|
|
258
|
-
json.items =
|
|
358
|
+
json.items = processSchema(def.element, ctx, {
|
|
259
359
|
...params,
|
|
260
360
|
path: [...params.path, "items"],
|
|
261
361
|
});
|
|
@@ -289,24 +389,21 @@ export const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
289
389
|
json.properties = {};
|
|
290
390
|
for (const key in shape) {
|
|
291
391
|
// assignProp so a __proto__ key becomes an own property instead of hitting the inherited setter on the plain {} we build into
|
|
292
|
-
assignProp(json.properties, key,
|
|
392
|
+
assignProp(json.properties, key, processSchema(shape[key], ctx, {
|
|
293
393
|
...params,
|
|
294
394
|
path: [...params.path, "properties", key],
|
|
295
395
|
}));
|
|
296
396
|
}
|
|
297
397
|
// required keys
|
|
298
|
-
const
|
|
299
|
-
const
|
|
398
|
+
const requiredKeys = [];
|
|
399
|
+
for (const key of Object.keys(shape)) {
|
|
300
400
|
const field = def.shape[key];
|
|
301
|
-
if (ctx.io === "input") {
|
|
302
|
-
|
|
401
|
+
if (ctx.io === "input" ? inputOptin(field) === undefined : field._zod.optout === undefined) {
|
|
402
|
+
requiredKeys.push(key);
|
|
303
403
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
}));
|
|
308
|
-
if (requiredKeys.size > 0) {
|
|
309
|
-
json.required = Array.from(requiredKeys);
|
|
404
|
+
}
|
|
405
|
+
if (requiredKeys.length > 0) {
|
|
406
|
+
json.required = requiredKeys;
|
|
310
407
|
}
|
|
311
408
|
// catchall
|
|
312
409
|
if (def.catchall?._zod.def.type === "never") {
|
|
@@ -319,7 +416,7 @@ export const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
319
416
|
json.additionalProperties = false;
|
|
320
417
|
}
|
|
321
418
|
else if (def.catchall) {
|
|
322
|
-
json.additionalProperties =
|
|
419
|
+
json.additionalProperties = processSchema(def.catchall, ctx, {
|
|
323
420
|
...params,
|
|
324
421
|
path: [...params.path, "additionalProperties"],
|
|
325
422
|
});
|
|
@@ -329,7 +426,7 @@ export const unionProcessor = (schema, ctx, json, params) => {
|
|
|
329
426
|
const def = schema._zod.def;
|
|
330
427
|
// Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches). This includes both z.xor() and discriminated unions
|
|
331
428
|
const isExclusive = def.inclusive === false;
|
|
332
|
-
const options = def.options.map((x, i) =>
|
|
429
|
+
const options = def.options.map((x, i) => processSchema(x, ctx, {
|
|
333
430
|
...params,
|
|
334
431
|
path: [...params.path, isExclusive ? "oneOf" : "anyOf", i],
|
|
335
432
|
}));
|
|
@@ -342,11 +439,11 @@ export const unionProcessor = (schema, ctx, json, params) => {
|
|
|
342
439
|
};
|
|
343
440
|
export const intersectionProcessor = (schema, ctx, json, params) => {
|
|
344
441
|
const def = schema._zod.def;
|
|
345
|
-
const a =
|
|
442
|
+
const a = processSchema(def.left, ctx, {
|
|
346
443
|
...params,
|
|
347
444
|
path: [...params.path, "allOf", 0],
|
|
348
445
|
});
|
|
349
|
-
const b =
|
|
446
|
+
const b = processSchema(def.right, ctx, {
|
|
350
447
|
...params,
|
|
351
448
|
path: [...params.path, "allOf", 1],
|
|
352
449
|
});
|
|
@@ -365,12 +462,12 @@ export const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
365
462
|
json.type = "array";
|
|
366
463
|
const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
|
|
367
464
|
const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
|
|
368
|
-
const prefixItems = def.items.map((x, i) =>
|
|
465
|
+
const prefixItems = def.items.map((x, i) => processSchema(x, ctx, {
|
|
369
466
|
...params,
|
|
370
467
|
path: [...params.path, prefixPath, i],
|
|
371
468
|
}));
|
|
372
469
|
const rest = def.rest
|
|
373
|
-
?
|
|
470
|
+
? processSchema(def.rest, ctx, {
|
|
374
471
|
...params,
|
|
375
472
|
path: [...params.path, restPath, ...(ctx.target === "openapi-3.0" ? [def.items.length] : [])],
|
|
376
473
|
})
|
|
@@ -424,7 +521,7 @@ export const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
424
521
|
json.maxItems = maxItems;
|
|
425
522
|
}
|
|
426
523
|
// explicit user-defined length checks take precedence
|
|
427
|
-
const { minimum, maximum } = schema
|
|
524
|
+
const { minimum, maximum } = aggregateChecks(schema);
|
|
428
525
|
if (typeof minimum === "number")
|
|
429
526
|
json.minItems = minimum;
|
|
430
527
|
if (typeof maximum === "number")
|
|
@@ -517,23 +614,22 @@ export const recordProcessor = (schema, ctx, _json, params) => {
|
|
|
517
614
|
json.type = "object";
|
|
518
615
|
// For looseRecord with regex patterns, use patternProperties. This correctly represents "only validate keys matching the pattern" semantics and composes well with allOf (intersections)
|
|
519
616
|
const keyType = def.keyType;
|
|
520
|
-
const
|
|
521
|
-
const patterns = keyBag?.patterns;
|
|
617
|
+
const patterns = aggregateChecks(keyType).patterns;
|
|
522
618
|
if (def.mode === "loose" && patterns && patterns.size > 0) {
|
|
523
619
|
// Use patternProperties for looseRecord with regex patterns
|
|
524
|
-
const valueSchema =
|
|
620
|
+
const valueSchema = processSchema(def.valueType, ctx, {
|
|
525
621
|
...params,
|
|
526
622
|
path: [...params.path, "patternProperties", "*"],
|
|
527
623
|
});
|
|
528
624
|
json.patternProperties = {};
|
|
529
625
|
for (const pattern of patterns) {
|
|
530
|
-
assignProp(json.patternProperties, pattern.source, valueSchema);
|
|
626
|
+
assignProp(json.patternProperties, exactPattern(pattern).source, valueSchema);
|
|
531
627
|
}
|
|
532
628
|
}
|
|
533
629
|
else {
|
|
534
630
|
// Default behavior: use propertyNames + additionalProperties
|
|
535
631
|
if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") {
|
|
536
|
-
json.propertyNames =
|
|
632
|
+
json.propertyNames = processSchema(def.keyType, ctx, {
|
|
537
633
|
...params,
|
|
538
634
|
path: [...params.path, "propertyNames"],
|
|
539
635
|
});
|
|
@@ -545,7 +641,7 @@ export const recordProcessor = (schema, ctx, _json, params) => {
|
|
|
545
641
|
}
|
|
546
642
|
pending.push(schema);
|
|
547
643
|
}
|
|
548
|
-
json.additionalProperties =
|
|
644
|
+
json.additionalProperties = processSchema(def.valueType, ctx, {
|
|
549
645
|
...params,
|
|
550
646
|
path: [...params.path, "additionalProperties"],
|
|
551
647
|
});
|
|
@@ -563,7 +659,7 @@ export const recordProcessor = (schema, ctx, _json, params) => {
|
|
|
563
659
|
};
|
|
564
660
|
export const nullableProcessor = (schema, ctx, json, params) => {
|
|
565
661
|
const def = schema._zod.def;
|
|
566
|
-
const inner =
|
|
662
|
+
const inner = processSchema(def.innerType, ctx, params);
|
|
567
663
|
const seen = ctx.seen.get(schema);
|
|
568
664
|
if (ctx.target === "openapi-3.0") {
|
|
569
665
|
seen.ref = def.innerType;
|
|
@@ -575,7 +671,7 @@ export const nullableProcessor = (schema, ctx, json, params) => {
|
|
|
575
671
|
};
|
|
576
672
|
export const nonoptionalProcessor = (schema, ctx, _json, params) => {
|
|
577
673
|
const def = schema._zod.def;
|
|
578
|
-
|
|
674
|
+
processSchema(def.innerType, ctx, params);
|
|
579
675
|
const seen = ctx.seen.get(schema);
|
|
580
676
|
seen.ref = def.innerType;
|
|
581
677
|
};
|
|
@@ -598,7 +694,7 @@ function serializeDefaultValue(value, schema, ctx, json, params) {
|
|
|
598
694
|
}
|
|
599
695
|
export const defaultProcessor = (schema, ctx, json, params) => {
|
|
600
696
|
const def = schema._zod.def;
|
|
601
|
-
|
|
697
|
+
processSchema(def.innerType, ctx, params);
|
|
602
698
|
const seen = ctx.seen.get(schema);
|
|
603
699
|
seen.ref = def.innerType;
|
|
604
700
|
const value = serializeDefaultValue(def.defaultValue, schema, ctx, json, params);
|
|
@@ -607,7 +703,7 @@ export const defaultProcessor = (schema, ctx, json, params) => {
|
|
|
607
703
|
};
|
|
608
704
|
export const prefaultProcessor = (schema, ctx, json, params) => {
|
|
609
705
|
const def = schema._zod.def;
|
|
610
|
-
|
|
706
|
+
processSchema(def.innerType, ctx, params);
|
|
611
707
|
const seen = ctx.seen.get(schema);
|
|
612
708
|
seen.ref = def.innerType;
|
|
613
709
|
if (ctx.io !== "input")
|
|
@@ -618,7 +714,7 @@ export const prefaultProcessor = (schema, ctx, json, params) => {
|
|
|
618
714
|
};
|
|
619
715
|
export const catchProcessor = (schema, ctx, json, params) => {
|
|
620
716
|
const def = schema._zod.def;
|
|
621
|
-
|
|
717
|
+
processSchema(def.innerType, ctx, params);
|
|
622
718
|
const seen = ctx.seen.get(schema);
|
|
623
719
|
seen.ref = def.innerType;
|
|
624
720
|
let catchValue;
|
|
@@ -635,32 +731,32 @@ export const pipeProcessor = (schema, ctx, _json, params) => {
|
|
|
635
731
|
const def = schema._zod.def;
|
|
636
732
|
const inIsTransform = def.in._zod.traits.has("$ZodTransform");
|
|
637
733
|
const innerType = ctx.io === "input" ? (inIsTransform ? def.out : def.in) : def.out;
|
|
638
|
-
|
|
734
|
+
processSchema(innerType, ctx, params);
|
|
639
735
|
const seen = ctx.seen.get(schema);
|
|
640
736
|
seen.ref = innerType;
|
|
641
737
|
};
|
|
642
738
|
export const readonlyProcessor = (schema, ctx, json, params) => {
|
|
643
739
|
const def = schema._zod.def;
|
|
644
|
-
|
|
740
|
+
processSchema(def.innerType, ctx, params);
|
|
645
741
|
const seen = ctx.seen.get(schema);
|
|
646
742
|
seen.ref = def.innerType;
|
|
647
743
|
json.readOnly = true;
|
|
648
744
|
};
|
|
649
745
|
export const promiseProcessor = (schema, ctx, _json, params) => {
|
|
650
746
|
const def = schema._zod.def;
|
|
651
|
-
|
|
747
|
+
processSchema(def.innerType, ctx, params);
|
|
652
748
|
const seen = ctx.seen.get(schema);
|
|
653
749
|
seen.ref = def.innerType;
|
|
654
750
|
};
|
|
655
751
|
export const optionalProcessor = (schema, ctx, _json, params) => {
|
|
656
752
|
const def = schema._zod.def;
|
|
657
|
-
|
|
753
|
+
processSchema(def.innerType, ctx, params);
|
|
658
754
|
const seen = ctx.seen.get(schema);
|
|
659
755
|
seen.ref = def.innerType;
|
|
660
756
|
};
|
|
661
757
|
export const lazyProcessor = (schema, ctx, _json, params) => {
|
|
662
758
|
const innerType = schema._zod.innerType;
|
|
663
|
-
|
|
759
|
+
processSchema(innerType, ctx, params);
|
|
664
760
|
const seen = ctx.seen.get(schema);
|
|
665
761
|
seen.ref = innerType;
|
|
666
762
|
};
|
|
@@ -715,7 +811,7 @@ export function toJSONSchema(input, params) {
|
|
|
715
811
|
// First pass: process all schemas to build the seen map
|
|
716
812
|
for (const entry of registry._idmap.entries()) {
|
|
717
813
|
const [_, schema] = entry;
|
|
718
|
-
|
|
814
|
+
processSchema(schema, ctx);
|
|
719
815
|
}
|
|
720
816
|
const schemas = {};
|
|
721
817
|
const external = {
|
|
@@ -741,7 +837,7 @@ export function toJSONSchema(input, params) {
|
|
|
741
837
|
}
|
|
742
838
|
// Single schema case
|
|
743
839
|
const ctx = initializeContext({ ...params, processors: allProcessors });
|
|
744
|
-
|
|
840
|
+
processSchema(input, ctx);
|
|
745
841
|
extractDefs(ctx, input);
|
|
746
842
|
return finalize(ctx, input);
|
|
747
843
|
}
|
|
@@ -1,2 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
|
|
4
|
+
// seal-cjs-exports
|
|
5
|
+
(function () {
|
|
6
|
+
var keys = Object.getOwnPropertyNames(exports);
|
|
7
|
+
for (var i = 0; i < keys.length; i++) {
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
|
|
9
|
+
if (!desc || !desc.get || !desc.configurable) continue;
|
|
10
|
+
var value;
|
|
11
|
+
try {
|
|
12
|
+
value = desc.get();
|
|
13
|
+
} catch (e) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
// a circular require may not have settled this one yet, so leave it live
|
|
17
|
+
if (value === undefined) continue;
|
|
18
|
+
Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
|
|
19
|
+
}
|
|
20
|
+
Object.freeze(exports);
|
|
21
|
+
})();
|