@openclaw/firecrawl-plugin 2026.9.5 → 2026.9.6
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/dist/.setup/{firecrawl-client-BPFpIblh.mjs → firecrawl-client-hBjAoE8s.mjs} +25 -26
- package/dist/.setup/{firecrawl-fetch-provider-BM5uWYri.mjs → firecrawl-fetch-provider-DH8FdBjV.mjs} +1 -1
- package/dist/.setup/{firecrawl-search-provider-CdDShG2T.mjs → firecrawl-search-provider-8H0Cu9l0.mjs} +1 -1
- package/dist/api.js +1 -1
- package/dist/index.js +3 -3
- package/dist/web-fetch-contract-api.js +1 -1
- package/dist/web-fetch-provider.js +1 -1
- package/dist/web-search-contract-api.js +1 -1
- package/dist/web-search-provider.js +1 -1
- 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 +5 -5
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { build, transform } from "esbuild";
|
|
4
|
+
import { expect, test } from "vitest";
|
|
5
|
+
import * as core from "zod/v4/core";
|
|
6
|
+
|
|
7
|
+
// Browser polyfills for node globals land as raw text in the bundle's top scope — an esbuild `banner`, a scope-unaware injector — so the bundler never sees the collision and the browser is the first thing to read both declarations. zod must therefore declare none of these names at module scope. The JSON Schema pass shipped an `export function process` for three minors before #6397 reported the white screen it caused.
|
|
8
|
+
const INJECTED = ["process", "Buffer", "global", "__dirname", "__filename"];
|
|
9
|
+
|
|
10
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
const CLASSIC = path.resolve(here, "../../../index.ts");
|
|
12
|
+
const MINI = path.resolve(here, "../../../mini/index.ts");
|
|
13
|
+
|
|
14
|
+
const polyfills = INJECTED.map((name) => `const ${name} = {};`).join("\n");
|
|
15
|
+
|
|
16
|
+
// toJSONSchema has to be reachable: a bundle that only parses a schema tree-shakes the offending module away and would pass no matter what it declares. `z.core.process` is the pre-rename export name, read as a namespace property so the entry itself declares no `process` binding.
|
|
17
|
+
const ENTRY = `import * as z from "%ENTRY%";\nglobalThis.__out = [z.toJSONSchema(z.string()), z.core.process];`;
|
|
18
|
+
|
|
19
|
+
test.each([
|
|
20
|
+
["classic", CLASSIC],
|
|
21
|
+
["mini", MINI],
|
|
22
|
+
])(
|
|
23
|
+
"a %s bundle reaching toJSONSchema parses beside polyfilled node globals",
|
|
24
|
+
async (_flavor, entrypoint) => {
|
|
25
|
+
const result = await build({
|
|
26
|
+
stdin: { contents: ENTRY.replace("%ENTRY%", entrypoint), loader: "ts", resolveDir: here },
|
|
27
|
+
bundle: true,
|
|
28
|
+
format: "esm",
|
|
29
|
+
target: "es2020",
|
|
30
|
+
write: false,
|
|
31
|
+
logLevel: "silent",
|
|
32
|
+
banner: { js: polyfills },
|
|
33
|
+
});
|
|
34
|
+
const out = result.outputFiles[0]!.text;
|
|
35
|
+
|
|
36
|
+
expect(out).toContain("https://json-schema.org/draft/2020-12/schema");
|
|
37
|
+
|
|
38
|
+
// the banner is appended after esbuild has already renamed its own symbols, so this second pass is where a duplicate surfaces: `The symbol "process" has already been declared`
|
|
39
|
+
await expect(transform(out, { loader: "js", format: "esm" })).resolves.toBeTruthy();
|
|
40
|
+
},
|
|
41
|
+
30000
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
test("the pre-rename `process` export still resolves to the helper", () => {
|
|
45
|
+
expect(core.process).toBe(core.processSchema);
|
|
46
|
+
});
|
|
@@ -1,31 +1,133 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
const URLDescriptor = Object.getOwnPropertyDescriptor(globalThis, "URL")!;
|
|
4
|
+
const NativeURL = globalThis.URL;
|
|
5
|
+
const canParseDescriptor = Object.getOwnPropertyDescriptor(NativeURL, "canParse")!;
|
|
6
|
+
const parseDescriptor = Object.getOwnPropertyDescriptor(NativeURL, "parse")!;
|
|
6
7
|
|
|
8
|
+
function restoreURL() {
|
|
9
|
+
Object.defineProperty(globalThis, "URL", URLDescriptor);
|
|
10
|
+
Object.defineProperty(NativeURL, "canParse", canParseDescriptor);
|
|
11
|
+
Object.defineProperty(NativeURL, "parse", parseDescriptor);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
describe("URL parser fallbacks", () => {
|
|
7
15
|
beforeEach(() => {
|
|
16
|
+
restoreURL();
|
|
8
17
|
vi.resetModules();
|
|
9
|
-
// @ts-expect-error force the fallback branch (URL.canParse may be undefined on older runtimes)
|
|
10
|
-
delete URL.canParse;
|
|
11
18
|
});
|
|
12
19
|
|
|
13
|
-
afterEach(
|
|
14
|
-
|
|
20
|
+
afterEach(restoreURL);
|
|
21
|
+
|
|
22
|
+
test("uses the boolean and object APIs on modern runtimes", async () => {
|
|
23
|
+
const canParse = vi.spyOn(NativeURL, "canParse");
|
|
24
|
+
const URLStatic = NativeURL as typeof URL & { parse: (input: string) => URL | null };
|
|
25
|
+
const parse = vi.spyOn(URLStatic, "parse");
|
|
26
|
+
const z = await import("../../index.js");
|
|
27
|
+
|
|
28
|
+
expect(z.validate(z.url(), "https://example.com")).toBe(true);
|
|
29
|
+
expect(canParse).toHaveBeenCalledOnce();
|
|
30
|
+
expect(parse).not.toHaveBeenCalled();
|
|
31
|
+
|
|
32
|
+
canParse.mockClear();
|
|
33
|
+
expect(z.validate(z.url({ normalize: true }), "https://example.com")).toBe(true);
|
|
34
|
+
expect(parse).toHaveBeenCalledOnce();
|
|
35
|
+
expect(canParse).not.toHaveBeenCalled();
|
|
36
|
+
|
|
37
|
+
parse.mockClear();
|
|
38
|
+
expect(z.validate(z.ipv6(), "2001:db8::1")).toBe(true);
|
|
39
|
+
expect(canParse).toHaveBeenCalledOnce();
|
|
40
|
+
expect(parse).not.toHaveBeenCalled();
|
|
15
41
|
});
|
|
16
42
|
|
|
17
|
-
test("
|
|
18
|
-
expect(URL.canParse).toBeUndefined();
|
|
43
|
+
test("URL fast-path selection preserves live option getter reads", async () => {
|
|
19
44
|
const z = await import("../../index.js");
|
|
20
|
-
|
|
21
|
-
|
|
45
|
+
const postProcessor = z.core.globalConfig.postProcessor;
|
|
46
|
+
z.core.globalConfig.postProcessor = undefined;
|
|
47
|
+
try {
|
|
48
|
+
for (const inherited of [false, true]) {
|
|
49
|
+
const schema = z.url();
|
|
50
|
+
const target = inherited ? Object.create(Object.getPrototypeOf(schema.def)) : schema.def;
|
|
51
|
+
let reads = 0;
|
|
52
|
+
Object.defineProperty(target, "hostname", {
|
|
53
|
+
get: () => (++reads === 1 ? /^example\.com$/ : undefined),
|
|
54
|
+
});
|
|
55
|
+
if (inherited) Object.setPrototypeOf(schema.def, target);
|
|
56
|
+
expect(z.validate(schema, "https://example.com")).toBe(false);
|
|
57
|
+
expect(reads).toBe(2);
|
|
58
|
+
reads = 0;
|
|
59
|
+
expect(schema.safeParse("https://example.com").success).toBe(false);
|
|
60
|
+
expect(reads).toBe(2);
|
|
61
|
+
}
|
|
62
|
+
} finally {
|
|
63
|
+
z.core.globalConfig.postProcessor = postProcessor;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
test("the exported object parser still returns a URL", async () => {
|
|
68
|
+
const { parseURLObject } = await import("../schemas.js");
|
|
69
|
+
const result = parseURLObject("https://example.com", {});
|
|
70
|
+
expect(result).toBeInstanceOf(NativeURL);
|
|
71
|
+
if (typeof result === "number") expect.unreachable();
|
|
72
|
+
expect(result.hostname).toBe("example.com");
|
|
73
|
+
expect(parseURLObject("invalid", {})).toBe(2);
|
|
22
74
|
});
|
|
23
75
|
|
|
24
|
-
test("
|
|
25
|
-
|
|
76
|
+
test("falls back when URL.canParse is absent", async () => {
|
|
77
|
+
Reflect.deleteProperty(NativeURL, "canParse");
|
|
26
78
|
const z = await import("../../index.js");
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
79
|
+
const cases = [
|
|
80
|
+
[z.url(), "https://example.com", "not a url"],
|
|
81
|
+
[z.ipv6(), "2001:db8::1", "not-an-ip"],
|
|
82
|
+
[z.cidrv6(), "2001:db8::/32", "not-an-ip/32"],
|
|
83
|
+
] as const;
|
|
84
|
+
|
|
85
|
+
for (const [schema, valid, invalid] of cases) {
|
|
86
|
+
for (const subject of [schema, z.compile(schema)]) {
|
|
87
|
+
expect(z.validate(subject, valid)).toBe(true);
|
|
88
|
+
expect(z.validate(subject, invalid)).toBe(false);
|
|
89
|
+
expect(subject.safeParse(valid).success).toBe(true);
|
|
90
|
+
expect(subject.safeParse(invalid).success).toBe(false);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
test("falls back when URL.parse is absent", async () => {
|
|
96
|
+
Reflect.deleteProperty(NativeURL, "parse");
|
|
97
|
+
const z = await import("../../index.js");
|
|
98
|
+
const cases = [
|
|
99
|
+
[z.url({ normalize: true }), "https://example.com", "not a url"],
|
|
100
|
+
[z.url({ hostname: /^example\.com$/ }), "https://example.com", "https://other.com"],
|
|
101
|
+
[z.httpUrl(), "https://example.com", "mailto:a@example.com"],
|
|
102
|
+
] as const;
|
|
103
|
+
|
|
104
|
+
for (const [schema, valid, invalid] of cases) {
|
|
105
|
+
for (const subject of [schema, z.compile(schema)]) {
|
|
106
|
+
expect(z.validate(subject, valid)).toBe(true);
|
|
107
|
+
expect(z.validate(subject, invalid)).toBe(false);
|
|
108
|
+
expect(subject.safeParse(valid).success).toBe(true);
|
|
109
|
+
expect(subject.safeParse(invalid).success).toBe(false);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
test("rejects without a global URL constructor", async () => {
|
|
115
|
+
const z = await import("../../index.js");
|
|
116
|
+
const cases = [
|
|
117
|
+
[z.url(), "https://example.com"],
|
|
118
|
+
[z.url({ normalize: true }), "https://example.com"],
|
|
119
|
+
[z.ipv6(), "2001:db8::1"],
|
|
120
|
+
[z.cidrv6(), "2001:db8::/32"],
|
|
121
|
+
] as const;
|
|
122
|
+
const subjects = cases.flatMap(([schema, input]) => [
|
|
123
|
+
[schema, input] as const,
|
|
124
|
+
[z.compile(schema), input] as const,
|
|
125
|
+
]);
|
|
126
|
+
Object.defineProperty(globalThis, "URL", { configurable: true, value: undefined });
|
|
127
|
+
|
|
128
|
+
for (const [schema, input] of subjects) {
|
|
129
|
+
expect(z.validate(schema, input)).toBe(false);
|
|
130
|
+
expect(schema.safeParse(input).success).toBe(false);
|
|
131
|
+
}
|
|
30
132
|
});
|
|
31
133
|
});
|
|
@@ -128,7 +128,7 @@ export interface ToJSONSchemaContext {
|
|
|
128
128
|
* covers both passes in `finalize`: the ref flattening and the `$defs` build.
|
|
129
129
|
*
|
|
130
130
|
* The passes are valid only while nothing they read has changed, so both are cleared in
|
|
131
|
-
* `
|
|
131
|
+
* `processSchema()` when the map grows, and in `JSONSchemaGenerator.emit()`, which can also change
|
|
132
132
|
* the `cycles` and `reused` they branch on.
|
|
133
133
|
*
|
|
134
134
|
* One case is deliberately not covered: an `override` callback that writes to
|
|
@@ -209,7 +209,8 @@ export function handleUnrepresentable(
|
|
|
209
209
|
return true;
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
-
|
|
212
|
+
// never rename this back to `process`: bundler polyfills inject a top-level `const process` that a lexical declaration of the same name collides with (#6397)
|
|
213
|
+
export function processSchema<T extends schemas.$ZodType>(
|
|
213
214
|
schema: T,
|
|
214
215
|
ctx: ToJSONSchemaContext,
|
|
215
216
|
_params: ProcessParams = { path: [], schemaPath: [] }
|
|
@@ -264,7 +265,7 @@ export function process<T extends schemas.$ZodType>(
|
|
|
264
265
|
if (parent) {
|
|
265
266
|
// Also set ref if processor didn't (for inheritance)
|
|
266
267
|
if (!result.ref) result.ref = parent;
|
|
267
|
-
|
|
268
|
+
processSchema(parent, ctx, params);
|
|
268
269
|
ctx.seen.get(parent)!.isParent = true;
|
|
269
270
|
}
|
|
270
271
|
}
|
|
@@ -289,6 +290,9 @@ export function process<T extends schemas.$ZodType>(
|
|
|
289
290
|
return _result.schema;
|
|
290
291
|
}
|
|
291
292
|
|
|
293
|
+
/** @deprecated Renamed to `processSchema`. An export alias declares no binding, so it is safe to keep. */
|
|
294
|
+
export { processSchema as process };
|
|
295
|
+
|
|
292
296
|
// Escape a reference token for use in a JSON Pointer fragment (RFC 6901): `~` becomes `~0` and `/` becomes `~1`. The `~` replacement must run first.
|
|
293
297
|
function encodeJSONPointerSegment(segment: string): string {
|
|
294
298
|
return segment.replace(/~/g, "~0").replace(/\//g, "~1");
|
|
@@ -429,8 +433,6 @@ export function extractDefs<T extends schemas.$ZodType>(
|
|
|
429
433
|
if (seen.count > 1) {
|
|
430
434
|
if (ctx.reused === "ref") {
|
|
431
435
|
extractToDef(entry);
|
|
432
|
-
// biome-ignore lint:
|
|
433
|
-
continue;
|
|
434
436
|
}
|
|
435
437
|
}
|
|
436
438
|
}
|
|
@@ -834,7 +836,7 @@ export const createToJSONSchemaMethod =
|
|
|
834
836
|
<T extends schemas.$ZodType>(schema: T, processors: Record<string, Processor> = {}) =>
|
|
835
837
|
(params?: ToJSONSchemaParams): ZodStandardJSONSchemaPayload<T> => {
|
|
836
838
|
const ctx = initializeContext({ ...params, processors });
|
|
837
|
-
|
|
839
|
+
processSchema(schema, ctx);
|
|
838
840
|
extractDefs(ctx, schema);
|
|
839
841
|
return finalize(ctx, schema);
|
|
840
842
|
};
|
|
@@ -849,7 +851,7 @@ export const createStandardJSONSchemaMethod =
|
|
|
849
851
|
(params?: StandardJSONSchemaMethodParams): JSONSchema.BaseSchema => {
|
|
850
852
|
const { libraryOptions, target } = params ?? {};
|
|
851
853
|
const ctx = initializeContext({ ...(libraryOptions ?? {}), target, io, processors });
|
|
852
|
-
|
|
854
|
+
processSchema(schema, ctx);
|
|
853
855
|
extractDefs(ctx, schema);
|
|
854
856
|
return finalize(ctx, schema);
|
|
855
857
|
};
|