@openclaw/feishu 2026.9.4 → 2026.9.5
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/assets/activity.svg +3 -0
- package/assets/icon.png +0 -0
- package/dist/{accounts-cCMNFBKg.js → .setup/accounts-DmU0xYPx.mjs} +1 -1
- package/dist/{app-registration-BI99e_JI.js → .setup/app-registration-Bv4mvauR.mjs} +1 -1
- package/dist/{channel-HDnQAH4Z.js → .setup/channel-C1KrXXJa.mjs} +93 -86
- package/dist/{channel.runtime-B-f6ajOp.js → .setup/channel.runtime-Bizuv7WZ.mjs} +32 -18
- package/dist/{chat-zhIPXu4X.js → .setup/chat-dWJYS63b.mjs} +2 -2
- package/dist/{client-DMbIL3UH.js → .setup/client-DCwNVFZg.mjs} +128 -11
- package/dist/{conversation-id-VYgGQ-GX.js → .setup/conversation-id-H-lUayji.mjs} +49 -14
- package/dist/{monitor-EuNsFn2T.js → .setup/monitor-C69OLzgO.mjs} +4 -4
- package/dist/{monitor.account-CZ7EtqYS.js → .setup/monitor.account-zwHb3HKM.mjs} +68 -52
- package/dist/{probe-D_SatdZl.js → .setup/probe-bdidyhAn.mjs} +2 -2
- package/dist/{reply-delivery-result-C3smdVzb.js → .setup/reply-delivery-result-DFjxGLgX.mjs} +129 -116
- package/dist/.setup/runtime-setter-api-CG-RC4_r.mjs +3 -0
- package/dist/.setup/secret-contract-api-jmCkqVLc.mjs +3 -0
- package/dist/{security-audit-DKfR4Cv3.js → .setup/security-audit-CmiKKfU-.mjs} +1 -1
- package/dist/{session-conversation-DFCIvQK-.js → .setup/session-conversation-ZC6TC1zk.mjs} +1 -1
- package/dist/.setup/setup-api-CTRwX09n.mjs +3 -0
- package/dist/{subagent-hooks-Buadpie_.js → .setup/subagent-hooks-BBfF1hZk.mjs} +3 -19
- package/dist/api.js +29 -15
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +3 -3
- package/dist/doctor-contract-api.js +1 -1
- package/dist/runtime-api.js +1 -1
- package/dist/runtime-setter-api.js +1 -1
- package/dist/secret-contract-api.js +1 -1
- package/dist/security-contract-api.js +1 -1
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/session-key-api.js +1 -1
- package/dist/setup-api.js +1 -1
- package/dist/setup-entry.js +4 -3
- package/dist/subagent-hooks-api.js +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/es/index.js +199 -35
- package/node_modules/@larksuiteoapi/node-sdk/lib/index.js +199 -35
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/CHANGELOG.md +62 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/README.md +233 -5
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/axios.js +387 -89
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/axios.min.js +3 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/browser/axios.cjs +458 -98
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/esm/axios.js +458 -98
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/node/axios.cjs +568 -116
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/index.d.cts +4 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/index.d.ts +4 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/adapters/fetch.js +64 -11
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/adapters/http.js +134 -50
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/adapters/xhr.js +52 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/Axios.js +19 -14
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/InterceptorManager.js +107 -8
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/buildFullPath.js +1 -13
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/dispatchRequest.js +8 -2
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/mergeConfig.js +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/methodList.js +17 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/defaults/index.js +2 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/HttpStatusCode.js +11 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/progressEventReducer.js +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/resolveConfig.js +4 -2
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/shouldBypassProxy.js +182 -6
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/throttle.js +3 -2
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/toFormData.js +14 -21
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/utils.js +134 -13
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/package.json +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/README.md +24 -17
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.js +124 -14
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.js +63 -9
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.js +133 -18
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/descriptor.generated.d.ts +7 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/descriptor.js +24 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/protojson.js +14 -4
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/textformat.js +8 -4
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/google/protobuf/descriptor.json +20 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/google/protobuf/descriptor.proto +14 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/index.d.ts +12 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/package.json +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/decoder.js +31 -2
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/enum.js +10 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/object.js +5 -2
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/parse.js +9 -4
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/reader.js +61 -7
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/type.js +10 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/wrappers.js +5 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/.github/THREAT_MODEL.md +3 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/CHANGELOG.md +15 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/README.md +19 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/dist/qs.js +21 -21
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/eslint.config.mjs +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/lib/parse.js +3 -4
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/lib/stringify.js +23 -8
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/lib/utils.js +10 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/package.json +4 -4
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/test/parse.js +192 -3
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/test/stringify.js +317 -0
- package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/test/utils.js +12 -0
- package/node_modules/@larksuiteoapi/node-sdk/package.json +1 -1
- package/node_modules/@larksuiteoapi/node-sdk/types/index.d.ts +35 -0
- package/node_modules/typebox/build/compile/validator.d.mts +1 -1
- package/node_modules/typebox/build/compile/validator.mjs +1 -1
- package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
- package/node_modules/typebox/build/format/iri.mjs +5 -1
- package/node_modules/typebox/build/guard/emit.mjs +2 -4
- package/node_modules/typebox/build/guard/guard.mjs +6 -18
- package/node_modules/typebox/build/guard/string.mjs +16 -24
- package/node_modules/typebox/build/schema/build.mjs +2 -2
- package/node_modules/typebox/build/schema/check.mjs +1 -1
- package/node_modules/typebox/build/schema/compile.d.mts +3 -2
- package/node_modules/typebox/build/schema/compile.mjs +8 -8
- package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
- package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
- package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
- package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
- package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
- package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
- package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
- package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
- package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
- package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
- package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
- package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
- package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
- package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
- package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
- package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
- package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
- package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
- package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
- package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
- package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
- package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
- package/node_modules/typebox/build/schema/errors.d.mts +2 -2
- package/node_modules/typebox/build/schema/errors.mjs +8 -14
- package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
- package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
- package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
- package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
- package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
- package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
- package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
- package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
- package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
- package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
- package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
- package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
- package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
- package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
- package/node_modules/typebox/build/schema/parse.d.mts +1 -0
- package/node_modules/typebox/build/schema/parse.mjs +10 -5
- package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
- package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
- package/node_modules/typebox/build/schema/schema.d.mts +2 -0
- package/node_modules/typebox/build/schema/schema.mjs +2 -0
- package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
- package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +59 -89
- package/node_modules/zod/README.md +27 -0
- package/node_modules/zod/compile.cjs +77 -0
- package/node_modules/zod/compile.d.cts +1 -0
- package/node_modules/zod/compile.d.ts +1 -0
- package/node_modules/zod/compile.js +52 -0
- package/node_modules/zod/index.cjs +2 -2
- package/node_modules/zod/index.d.cts +1 -2
- package/node_modules/zod/index.d.ts +1 -2
- package/node_modules/zod/index.js +5 -2
- package/node_modules/zod/package.json +13 -2
- package/node_modules/zod/src/compile.ts +56 -0
- package/node_modules/zod/src/index.ts +5 -2
- package/node_modules/zod/src/v3/ZodError.ts +22 -12
- package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
- package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
- package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
- package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
- package/node_modules/zod/src/v3/types.ts +5 -5
- package/node_modules/zod/src/v4/classic/checks.ts +1 -0
- package/node_modules/zod/src/v4/classic/compat.ts +26 -18
- package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/node_modules/zod/src/v4/classic/errors.ts +59 -44
- package/node_modules/zod/src/v4/classic/external.ts +12 -9
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
- package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/node_modules/zod/src/v4/classic/index.ts +2 -2
- package/node_modules/zod/src/v4/classic/iso.ts +2 -72
- package/node_modules/zod/src/v4/classic/parse.ts +10 -4
- package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
- package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
- package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
- package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
- package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
- package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
- package/node_modules/zod/src/v4/core/api.ts +48 -12
- package/node_modules/zod/src/v4/core/checks.ts +57 -44
- package/node_modules/zod/src/v4/core/compile.ts +2188 -0
- package/node_modules/zod/src/v4/core/core.ts +98 -19
- package/node_modules/zod/src/v4/core/doc.ts +11 -7
- package/node_modules/zod/src/v4/core/errors.ts +115 -24
- package/node_modules/zod/src/v4/core/index.ts +3 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
- package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
- package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
- package/node_modules/zod/src/v4/core/parse.ts +131 -38
- package/node_modules/zod/src/v4/core/regexes.ts +30 -13
- package/node_modules/zod/src/v4/core/registries.ts +2 -2
- package/node_modules/zod/src/v4/core/schemas.ts +759 -461
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
- package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
- package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
- package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
- package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
- package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
- package/node_modules/zod/src/v4/core/util.ts +268 -42
- package/node_modules/zod/src/v4/core/versions.ts +2 -2
- package/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/node_modules/zod/src/v4/index.ts +3 -3
- package/node_modules/zod/src/v4/locales/ar.ts +3 -0
- package/node_modules/zod/src/v4/locales/az.ts +3 -0
- package/node_modules/zod/src/v4/locales/be.ts +10 -0
- package/node_modules/zod/src/v4/locales/bg.ts +3 -0
- package/node_modules/zod/src/v4/locales/bn.ts +121 -0
- package/node_modules/zod/src/v4/locales/ca.ts +3 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
- package/node_modules/zod/src/v4/locales/cs.ts +3 -0
- package/node_modules/zod/src/v4/locales/da.ts +5 -2
- package/node_modules/zod/src/v4/locales/de.ts +3 -0
- package/node_modules/zod/src/v4/locales/el.ts +1 -0
- package/node_modules/zod/src/v4/locales/en.ts +15 -4
- package/node_modules/zod/src/v4/locales/eo.ts +3 -0
- package/node_modules/zod/src/v4/locales/es.ts +2 -0
- package/node_modules/zod/src/v4/locales/fa.ts +3 -0
- package/node_modules/zod/src/v4/locales/fi.ts +3 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
- package/node_modules/zod/src/v4/locales/fr.ts +19 -14
- package/node_modules/zod/src/v4/locales/gu.ts +121 -0
- package/node_modules/zod/src/v4/locales/he.ts +6 -1
- package/node_modules/zod/src/v4/locales/hi.ts +124 -0
- package/node_modules/zod/src/v4/locales/hr.ts +2 -0
- package/node_modules/zod/src/v4/locales/hu.ts +3 -0
- package/node_modules/zod/src/v4/locales/hy.ts +9 -0
- package/node_modules/zod/src/v4/locales/id.ts +3 -0
- package/node_modules/zod/src/v4/locales/index.ts +10 -0
- package/node_modules/zod/src/v4/locales/is.ts +3 -0
- package/node_modules/zod/src/v4/locales/it.ts +3 -0
- package/node_modules/zod/src/v4/locales/ja.ts +3 -0
- package/node_modules/zod/src/v4/locales/ka.ts +3 -0
- package/node_modules/zod/src/v4/locales/km.ts +3 -0
- package/node_modules/zod/src/v4/locales/kn.ts +124 -0
- package/node_modules/zod/src/v4/locales/ko.ts +3 -0
- package/node_modules/zod/src/v4/locales/lt.ts +2 -0
- package/node_modules/zod/src/v4/locales/mk.ts +3 -0
- package/node_modules/zod/src/v4/locales/ms.ts +3 -0
- package/node_modules/zod/src/v4/locales/ne.ts +126 -0
- package/node_modules/zod/src/v4/locales/nl.ts +3 -0
- package/node_modules/zod/src/v4/locales/nn.ts +119 -0
- package/node_modules/zod/src/v4/locales/no.ts +5 -2
- package/node_modules/zod/src/v4/locales/ota.ts +3 -0
- package/node_modules/zod/src/v4/locales/pl.ts +3 -0
- package/node_modules/zod/src/v4/locales/ps.ts +3 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
- package/node_modules/zod/src/v4/locales/pt.ts +99 -58
- package/node_modules/zod/src/v4/locales/ro.ts +1 -0
- package/node_modules/zod/src/v4/locales/ru.ts +10 -0
- package/node_modules/zod/src/v4/locales/sk.ts +121 -0
- package/node_modules/zod/src/v4/locales/sl.ts +3 -0
- package/node_modules/zod/src/v4/locales/sv.ts +5 -2
- package/node_modules/zod/src/v4/locales/ta.ts +3 -0
- package/node_modules/zod/src/v4/locales/th.ts +3 -0
- package/node_modules/zod/src/v4/locales/tk.ts +111 -0
- package/node_modules/zod/src/v4/locales/tr.ts +3 -0
- package/node_modules/zod/src/v4/locales/uk.ts +3 -0
- package/node_modules/zod/src/v4/locales/ur.ts +3 -0
- package/node_modules/zod/src/v4/locales/uz.ts +1 -0
- package/node_modules/zod/src/v4/locales/vi.ts +3 -0
- package/node_modules/zod/src/v4/locales/yo.ts +3 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
- package/node_modules/zod/src/v4/mini/checks.ts +1 -0
- package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/node_modules/zod/src/v4/mini/external.ts +10 -1
- package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/node_modules/zod/src/v4/mini/parse.ts +2 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
- package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
- package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
- package/node_modules/zod/v3/ZodError.cjs +22 -12
- package/node_modules/zod/v3/ZodError.d.cts +1 -1
- package/node_modules/zod/v3/ZodError.d.ts +1 -1
- package/node_modules/zod/v3/ZodError.js +22 -12
- package/node_modules/zod/v3/types.cjs +7 -5
- package/node_modules/zod/v3/types.js +7 -5
- package/node_modules/zod/v4/classic/checks.cjs +2 -1
- package/node_modules/zod/v4/classic/checks.d.cts +1 -1
- package/node_modules/zod/v4/classic/checks.d.ts +1 -1
- package/node_modules/zod/v4/classic/checks.js +1 -1
- package/node_modules/zod/v4/classic/compat.d.cts +9 -11
- package/node_modules/zod/v4/classic/compat.d.ts +9 -11
- package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
- package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/node_modules/zod/v4/classic/errors.cjs +43 -34
- package/node_modules/zod/v4/classic/errors.d.cts +3 -4
- package/node_modules/zod/v4/classic/errors.d.ts +3 -4
- package/node_modules/zod/v4/classic/errors.js +43 -34
- package/node_modules/zod/v4/classic/external.cjs +30 -27
- package/node_modules/zod/v4/classic/external.d.cts +5 -2
- package/node_modules/zod/v4/classic/external.d.ts +5 -2
- package/node_modules/zod/v4/classic/external.js +5 -8
- package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
- package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
- package/node_modules/zod/v4/classic/in-out.cjs +63 -0
- package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/node_modules/zod/v4/classic/in-out.js +36 -0
- package/node_modules/zod/v4/classic/index.cjs +2 -2
- package/node_modules/zod/v4/classic/index.d.cts +1 -2
- package/node_modules/zod/v4/classic/index.d.ts +1 -2
- package/node_modules/zod/v4/classic/index.js +2 -2
- package/node_modules/zod/v4/classic/iso.cjs +11 -22
- package/node_modules/zod/v4/classic/iso.d.cts +2 -17
- package/node_modules/zod/v4/classic/iso.d.ts +2 -17
- package/node_modules/zod/v4/classic/iso.js +2 -17
- package/node_modules/zod/v4/classic/parse.cjs +4 -1
- package/node_modules/zod/v4/classic/parse.d.cts +17 -4
- package/node_modules/zod/v4/classic/parse.d.ts +17 -4
- package/node_modules/zod/v4/classic/parse.js +1 -0
- package/node_modules/zod/v4/classic/schemas.cjs +498 -398
- package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
- package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
- package/node_modules/zod/v4/classic/schemas.js +492 -396
- package/node_modules/zod/v4/core/api.cjs +23 -4
- package/node_modules/zod/v4/core/api.d.cts +13 -9
- package/node_modules/zod/v4/core/api.d.ts +13 -9
- package/node_modules/zod/v4/core/api.js +21 -4
- package/node_modules/zod/v4/core/checks.cjs +37 -31
- package/node_modules/zod/v4/core/checks.d.cts +13 -13
- package/node_modules/zod/v4/core/checks.d.ts +13 -13
- package/node_modules/zod/v4/core/checks.js +37 -31
- package/node_modules/zod/v4/core/compile.cjs +1813 -0
- package/node_modules/zod/v4/core/compile.d.cts +51 -0
- package/node_modules/zod/v4/core/compile.d.ts +51 -0
- package/node_modules/zod/v4/core/compile.js +1783 -0
- package/node_modules/zod/v4/core/core.cjs +81 -18
- package/node_modules/zod/v4/core/core.d.cts +16 -4
- package/node_modules/zod/v4/core/core.d.ts +16 -4
- package/node_modules/zod/v4/core/core.js +82 -19
- package/node_modules/zod/v4/core/doc.cjs +5 -7
- package/node_modules/zod/v4/core/doc.d.cts +3 -1
- package/node_modules/zod/v4/core/doc.d.ts +3 -1
- package/node_modules/zod/v4/core/doc.js +5 -7
- package/node_modules/zod/v4/core/errors.cjs +110 -25
- package/node_modules/zod/v4/core/errors.d.cts +4 -0
- package/node_modules/zod/v4/core/errors.d.ts +4 -0
- package/node_modules/zod/v4/core/errors.js +110 -25
- package/node_modules/zod/v4/core/index.cjs +5 -1
- package/node_modules/zod/v4/core/index.d.cts +3 -0
- package/node_modules/zod/v4/core/index.d.ts +3 -0
- package/node_modules/zod/v4/core/index.js +3 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
- package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
- package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
- package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
- package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
- package/node_modules/zod/v4/core/memoizer.cjs +272 -0
- package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/node_modules/zod/v4/core/memoizer.js +265 -0
- package/node_modules/zod/v4/core/parse.cjs +96 -34
- package/node_modules/zod/v4/core/parse.d.cts +14 -11
- package/node_modules/zod/v4/core/parse.d.ts +14 -11
- package/node_modules/zod/v4/core/parse.js +94 -33
- package/node_modules/zod/v4/core/regexes.cjs +27 -15
- package/node_modules/zod/v4/core/regexes.d.cts +2 -0
- package/node_modules/zod/v4/core/regexes.d.ts +2 -0
- package/node_modules/zod/v4/core/regexes.js +24 -13
- package/node_modules/zod/v4/core/registries.js +2 -2
- package/node_modules/zod/v4/core/schemas.cjs +537 -326
- package/node_modules/zod/v4/core/schemas.d.cts +100 -31
- package/node_modules/zod/v4/core/schemas.d.ts +100 -31
- package/node_modules/zod/v4/core/schemas.js +526 -325
- package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
- package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
- package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
- package/node_modules/zod/v4/core/to-json-schema.js +241 -39
- package/node_modules/zod/v4/core/util.cjs +212 -31
- package/node_modules/zod/v4/core/util.d.cts +58 -1
- package/node_modules/zod/v4/core/util.d.ts +58 -1
- package/node_modules/zod/v4/core/util.js +202 -30
- package/node_modules/zod/v4/core/versions.cjs +2 -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 +195 -0
- package/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/node_modules/zod/v4/core/visit.js +169 -0
- package/node_modules/zod/v4/index.cjs +15 -5
- package/node_modules/zod/v4/index.d.cts +2 -2
- package/node_modules/zod/v4/index.d.ts +2 -2
- package/node_modules/zod/v4/index.js +3 -2
- package/node_modules/zod/v4/locales/ar.cjs +3 -0
- package/node_modules/zod/v4/locales/ar.js +3 -0
- package/node_modules/zod/v4/locales/az.cjs +3 -0
- package/node_modules/zod/v4/locales/az.js +3 -0
- package/node_modules/zod/v4/locales/be.cjs +10 -0
- package/node_modules/zod/v4/locales/be.js +10 -0
- package/node_modules/zod/v4/locales/bg.cjs +3 -0
- package/node_modules/zod/v4/locales/bg.js +3 -0
- package/node_modules/zod/v4/locales/bn.cjs +138 -0
- package/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/node_modules/zod/v4/locales/bn.js +111 -0
- package/node_modules/zod/v4/locales/ca.cjs +3 -0
- package/node_modules/zod/v4/locales/ca.js +3 -0
- package/node_modules/zod/v4/locales/ckb.cjs +158 -0
- package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/node_modules/zod/v4/locales/ckb.js +131 -0
- package/node_modules/zod/v4/locales/cs.cjs +3 -0
- package/node_modules/zod/v4/locales/cs.js +3 -0
- package/node_modules/zod/v4/locales/da.cjs +5 -2
- package/node_modules/zod/v4/locales/da.js +5 -2
- package/node_modules/zod/v4/locales/de.cjs +3 -0
- package/node_modules/zod/v4/locales/de.js +3 -0
- package/node_modules/zod/v4/locales/el.cjs +1 -0
- package/node_modules/zod/v4/locales/el.js +1 -0
- package/node_modules/zod/v4/locales/en.cjs +14 -4
- package/node_modules/zod/v4/locales/en.js +14 -4
- package/node_modules/zod/v4/locales/eo.cjs +3 -0
- package/node_modules/zod/v4/locales/eo.js +3 -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 +3 -0
- package/node_modules/zod/v4/locales/fa.js +3 -0
- package/node_modules/zod/v4/locales/fi.cjs +3 -0
- package/node_modules/zod/v4/locales/fi.js +3 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
- package/node_modules/zod/v4/locales/fr-CA.js +3 -0
- package/node_modules/zod/v4/locales/fr.cjs +16 -14
- package/node_modules/zod/v4/locales/fr.js +16 -14
- package/node_modules/zod/v4/locales/gu.cjs +138 -0
- package/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/node_modules/zod/v4/locales/gu.js +111 -0
- package/node_modules/zod/v4/locales/he.cjs +5 -0
- package/node_modules/zod/v4/locales/he.js +5 -0
- package/node_modules/zod/v4/locales/hi.cjs +136 -0
- package/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/node_modules/zod/v4/locales/hi.js +109 -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 +3 -0
- package/node_modules/zod/v4/locales/hu.js +3 -0
- package/node_modules/zod/v4/locales/hy.cjs +9 -0
- package/node_modules/zod/v4/locales/hy.js +9 -0
- package/node_modules/zod/v4/locales/id.cjs +3 -0
- package/node_modules/zod/v4/locales/id.js +3 -0
- package/node_modules/zod/v4/locales/index.cjs +22 -2
- package/node_modules/zod/v4/locales/index.d.cts +10 -0
- package/node_modules/zod/v4/locales/index.d.ts +10 -0
- package/node_modules/zod/v4/locales/index.js +10 -0
- package/node_modules/zod/v4/locales/is.cjs +3 -0
- package/node_modules/zod/v4/locales/is.js +3 -0
- package/node_modules/zod/v4/locales/it.cjs +3 -0
- package/node_modules/zod/v4/locales/it.js +3 -0
- package/node_modules/zod/v4/locales/ja.cjs +3 -0
- package/node_modules/zod/v4/locales/ja.js +3 -0
- package/node_modules/zod/v4/locales/ka.cjs +3 -0
- package/node_modules/zod/v4/locales/ka.js +3 -0
- package/node_modules/zod/v4/locales/km.cjs +3 -0
- package/node_modules/zod/v4/locales/km.js +3 -0
- package/node_modules/zod/v4/locales/kn.cjs +141 -0
- package/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/node_modules/zod/v4/locales/kn.js +114 -0
- package/node_modules/zod/v4/locales/ko.cjs +3 -0
- package/node_modules/zod/v4/locales/ko.js +3 -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 +3 -0
- package/node_modules/zod/v4/locales/mk.js +3 -0
- package/node_modules/zod/v4/locales/ms.cjs +3 -0
- package/node_modules/zod/v4/locales/ms.js +3 -0
- package/node_modules/zod/v4/locales/ne.cjs +136 -0
- package/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/node_modules/zod/v4/locales/ne.js +109 -0
- package/node_modules/zod/v4/locales/nl.cjs +3 -0
- package/node_modules/zod/v4/locales/nl.js +3 -0
- package/node_modules/zod/v4/locales/nn.cjs +138 -0
- package/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/node_modules/zod/v4/locales/nn.js +111 -0
- package/node_modules/zod/v4/locales/no.cjs +5 -2
- package/node_modules/zod/v4/locales/no.js +5 -2
- package/node_modules/zod/v4/locales/ota.cjs +3 -0
- package/node_modules/zod/v4/locales/ota.js +3 -0
- package/node_modules/zod/v4/locales/pl.cjs +3 -0
- package/node_modules/zod/v4/locales/pl.js +3 -0
- package/node_modules/zod/v4/locales/ps.cjs +3 -0
- package/node_modules/zod/v4/locales/ps.js +3 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
- package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt-BR.js +141 -0
- package/node_modules/zod/v4/locales/pt.cjs +87 -55
- package/node_modules/zod/v4/locales/pt.js +87 -55
- package/node_modules/zod/v4/locales/ro.cjs +1 -0
- package/node_modules/zod/v4/locales/ro.js +1 -0
- package/node_modules/zod/v4/locales/ru.cjs +10 -0
- package/node_modules/zod/v4/locales/ru.js +10 -0
- package/node_modules/zod/v4/locales/sk.cjs +141 -0
- package/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/node_modules/zod/v4/locales/sk.js +114 -0
- package/node_modules/zod/v4/locales/sl.cjs +3 -0
- package/node_modules/zod/v4/locales/sl.js +3 -0
- package/node_modules/zod/v4/locales/sv.cjs +5 -2
- package/node_modules/zod/v4/locales/sv.js +5 -2
- package/node_modules/zod/v4/locales/ta.cjs +3 -0
- package/node_modules/zod/v4/locales/ta.js +3 -0
- package/node_modules/zod/v4/locales/th.cjs +3 -0
- package/node_modules/zod/v4/locales/th.js +3 -0
- package/node_modules/zod/v4/locales/tk.cjs +132 -0
- package/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/node_modules/zod/v4/locales/tk.js +105 -0
- package/node_modules/zod/v4/locales/tr.cjs +3 -0
- package/node_modules/zod/v4/locales/tr.js +3 -0
- package/node_modules/zod/v4/locales/uk.cjs +3 -0
- package/node_modules/zod/v4/locales/uk.js +3 -0
- package/node_modules/zod/v4/locales/ur.cjs +3 -0
- package/node_modules/zod/v4/locales/ur.js +3 -0
- package/node_modules/zod/v4/locales/uz.cjs +1 -0
- package/node_modules/zod/v4/locales/uz.js +1 -0
- package/node_modules/zod/v4/locales/vi.cjs +3 -0
- package/node_modules/zod/v4/locales/vi.js +3 -0
- package/node_modules/zod/v4/locales/yo.cjs +3 -0
- package/node_modules/zod/v4/locales/yo.js +3 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
- package/node_modules/zod/v4/locales/zh-CN.js +3 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
- package/node_modules/zod/v4/locales/zh-TW.js +3 -0
- package/node_modules/zod/v4/mini/checks.cjs +2 -1
- package/node_modules/zod/v4/mini/checks.d.cts +1 -1
- package/node_modules/zod/v4/mini/checks.d.ts +1 -1
- package/node_modules/zod/v4/mini/checks.js +1 -1
- package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
- package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/node_modules/zod/v4/mini/external.cjs +12 -1
- package/node_modules/zod/v4/mini/external.d.cts +5 -2
- package/node_modules/zod/v4/mini/external.d.ts +5 -2
- package/node_modules/zod/v4/mini/external.js +3 -1
- package/node_modules/zod/v4/mini/in-out.cjs +63 -0
- package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/node_modules/zod/v4/mini/in-out.js +36 -0
- package/node_modules/zod/v4/mini/parse.cjs +3 -1
- package/node_modules/zod/v4/mini/parse.d.cts +1 -1
- package/node_modules/zod/v4/mini/parse.d.ts +1 -1
- package/node_modules/zod/v4/mini/parse.js +1 -1
- package/node_modules/zod/v4/mini/schemas.cjs +75 -47
- package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
- package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
- package/node_modules/zod/v4/mini/schemas.js +71 -45
- package/openclaw.plugin.json +25 -58
- package/package.json +10 -7
- package/dist/targets-BTQCYRZQ.js +0 -48
- package/node_modules/zod/src/v4/core/config.ts +0 -15
- /package/dist/{audio-preflight.runtime-BBfC9elv.js → .setup/audio-preflight.runtime-BBfC9elv.mjs} +0 -0
- /package/dist/{doctor-contract-w6FpMypv.js → .setup/doctor-contract-w6FpMypv.mjs} +0 -0
- /package/dist/{json-response-DXajw_FU.js → .setup/json-response-DXajw_FU.mjs} +0 -0
- /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
- /package/dist/{runtime-C5JxBWZp.js → .setup/runtime-C5JxBWZp.mjs} +0 -0
- /package/dist/{secret-contract-BCpDLdg9.js → .setup/secret-contract-BCpDLdg9.mjs} +0 -0
- /package/dist/{security-audit-shared-CK5rVR-1.js → .setup/security-audit-shared-CK5rVR-1.mjs} +0 -0
- /package/dist/{thread-bindings-BiL1wGqK.js → .setup/thread-bindings-BiL1wGqK.mjs} +0 -0
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import type * as errors from "./errors.js";
|
|
2
|
+
import type { $ZodMemoizer, $ZodType, $ZodTypeDef, ParseContextInternal, ParsePayload } from "./schemas.js";
|
|
3
|
+
import type * as util from "./util.js";
|
|
4
|
+
|
|
5
|
+
export class $ZodCyclicError extends Error {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(`Cannot parse a reference cycle that closes through a transform`);
|
|
8
|
+
this.name = "ZodCyclicError";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface Entry {
|
|
13
|
+
value: unknown;
|
|
14
|
+
/** `null` until the node's children are parsed. */
|
|
15
|
+
issues: errors.$ZodRawIssue[] | null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface State {
|
|
19
|
+
buckets: Map<$ZodType, Map<object, Entry>>;
|
|
20
|
+
/** Nodes a back-edge resolved to before they finished. */
|
|
21
|
+
backEdges: Set<object> | undefined;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Keyed off the context object every schema in one parse call already shares. */
|
|
25
|
+
const STATE = "~memo";
|
|
26
|
+
type WithState = { [STATE]?: State };
|
|
27
|
+
|
|
28
|
+
const NO_ISSUES: errors.$ZodRawIssue[] = [];
|
|
29
|
+
|
|
30
|
+
// Receivers prefix paths in place, so the cache and every hand-out need their own copies.
|
|
31
|
+
function cloneIssues(issues: errors.$ZodRawIssue[]): errors.$ZodRawIssue[] {
|
|
32
|
+
return issues.map((iss) => (iss.path ? { ...iss, path: iss.path.slice() } : { ...iss }));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const recursive: WeakMap<object, boolean> = /*@__PURE__*/ new WeakMap();
|
|
36
|
+
|
|
37
|
+
/** Whether this schema's subtree contains a cycle, so one parse can re-enter it. */
|
|
38
|
+
function isRecursive(inst: $ZodType, stack: Set<object>): boolean {
|
|
39
|
+
const cached = recursive.get(inst);
|
|
40
|
+
if (cached !== undefined) return cached;
|
|
41
|
+
// Relative to the walk in progress, so not cached.
|
|
42
|
+
if (stack.has(inst)) return true;
|
|
43
|
+
stack.add(inst);
|
|
44
|
+
|
|
45
|
+
let result = false;
|
|
46
|
+
const check = (child: any) => {
|
|
47
|
+
if (!result && child?._zod && isRecursive(child, stack)) result = true;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const def = inst._zod.def as any;
|
|
51
|
+
const kind = def.type as $ZodTypeDef["type"];
|
|
52
|
+
switch (kind) {
|
|
53
|
+
case "object": {
|
|
54
|
+
// `Reflect.ownKeys` rather than `Object.keys`, so a cycle through a declared symbol key is still seen
|
|
55
|
+
for (const key of Reflect.ownKeys(def.shape)) check(def.shape[key]);
|
|
56
|
+
check(def.catchall);
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
case "array":
|
|
60
|
+
check(def.element);
|
|
61
|
+
break;
|
|
62
|
+
case "tuple":
|
|
63
|
+
for (const el of def.items) check(el);
|
|
64
|
+
check(def.rest);
|
|
65
|
+
break;
|
|
66
|
+
case "record":
|
|
67
|
+
case "map":
|
|
68
|
+
check(def.keyType);
|
|
69
|
+
check(def.valueType);
|
|
70
|
+
break;
|
|
71
|
+
case "set":
|
|
72
|
+
check(def.valueType);
|
|
73
|
+
break;
|
|
74
|
+
case "union":
|
|
75
|
+
for (const el of def.options) check(el);
|
|
76
|
+
break;
|
|
77
|
+
case "intersection":
|
|
78
|
+
check(def.left);
|
|
79
|
+
check(def.right);
|
|
80
|
+
break;
|
|
81
|
+
case "optional":
|
|
82
|
+
case "nullable":
|
|
83
|
+
case "default":
|
|
84
|
+
case "prefault":
|
|
85
|
+
case "catch":
|
|
86
|
+
case "readonly":
|
|
87
|
+
case "nonoptional":
|
|
88
|
+
case "promise":
|
|
89
|
+
case "success":
|
|
90
|
+
check(def.innerType);
|
|
91
|
+
break;
|
|
92
|
+
case "pipe":
|
|
93
|
+
check(def.in);
|
|
94
|
+
check(def.out);
|
|
95
|
+
break;
|
|
96
|
+
case "function":
|
|
97
|
+
check(def.input);
|
|
98
|
+
check(def.output);
|
|
99
|
+
break;
|
|
100
|
+
// reading `_zod.innerType` resolves the getter once and caches it
|
|
101
|
+
case "lazy":
|
|
102
|
+
check((inst as any)._zod.innerType);
|
|
103
|
+
break;
|
|
104
|
+
// a leaf by choice: `parts` are regex fragments, not data positions
|
|
105
|
+
case "template_literal":
|
|
106
|
+
// leaves
|
|
107
|
+
case "string":
|
|
108
|
+
case "number":
|
|
109
|
+
case "int":
|
|
110
|
+
case "boolean":
|
|
111
|
+
case "bigint":
|
|
112
|
+
case "symbol":
|
|
113
|
+
case "undefined":
|
|
114
|
+
case "null":
|
|
115
|
+
case "void":
|
|
116
|
+
case "never":
|
|
117
|
+
case "any":
|
|
118
|
+
case "unknown":
|
|
119
|
+
case "date":
|
|
120
|
+
case "nan":
|
|
121
|
+
case "enum":
|
|
122
|
+
case "literal":
|
|
123
|
+
case "file":
|
|
124
|
+
case "transform":
|
|
125
|
+
case "custom":
|
|
126
|
+
break;
|
|
127
|
+
default: {
|
|
128
|
+
// a new built-in kind becomes a compile error here
|
|
129
|
+
kind satisfies never;
|
|
130
|
+
// a user-defined kind can still hold children, and only its author knows where, so fall back to scanning the def — skipping accessors, since reading one can run user code
|
|
131
|
+
for (const key in def) {
|
|
132
|
+
const desc = Object.getOwnPropertyDescriptor(def, key);
|
|
133
|
+
if (!desc || desc.get) continue;
|
|
134
|
+
const value = desc.value;
|
|
135
|
+
if (!value || typeof value !== "object") continue;
|
|
136
|
+
if (value._zod) check(value);
|
|
137
|
+
else if (Array.isArray(value)) for (const el of value) check(el);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
stack.delete(inst);
|
|
143
|
+
recursive.set(inst, result);
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Whether one parse can re-enter this schema, i.e. its subtree contains a cycle.
|
|
149
|
+
* Exported for `z.compile`, which refuses to compile such a schema: cycle
|
|
150
|
+
* breaking is driven from here off state keyed on the parse context, and a
|
|
151
|
+
* generated fast path has no context to key on.
|
|
152
|
+
*/
|
|
153
|
+
export function isRecursiveSchema(inst: $ZodType): boolean {
|
|
154
|
+
return isRecursive(inst, new Set());
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function bucketFor(state: State, inst: $ZodType): Map<object, Entry> {
|
|
158
|
+
let bucket = state.buckets.get(inst);
|
|
159
|
+
if (!bucket) {
|
|
160
|
+
bucket = new Map();
|
|
161
|
+
state.buckets.set(inst, bucket);
|
|
162
|
+
}
|
|
163
|
+
return bucket;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Set immediately before delegating to core and cleared immediately after, so `alloc` registers only for a visit this module is driving.
|
|
167
|
+
let handoff: Map<object, Entry> | undefined;
|
|
168
|
+
|
|
169
|
+
// Allocated but unfinished entries. `alloc` and the matching pop both happen in the synchronous part of a parse, so they nest even when children are async, and one stack serves every schema.
|
|
170
|
+
const open: Entry[] = [];
|
|
171
|
+
|
|
172
|
+
const memo: $ZodMemoizer = {
|
|
173
|
+
alloc(_inst, payload, empty) {
|
|
174
|
+
const bucket = handoff;
|
|
175
|
+
if (!bucket) return empty;
|
|
176
|
+
handoff = undefined;
|
|
177
|
+
const entry: Entry = { value: empty, issues: null };
|
|
178
|
+
bucket.set(payload.value as object, entry);
|
|
179
|
+
open.push(entry);
|
|
180
|
+
return empty;
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
guard(inst) {
|
|
184
|
+
inst._zod.deferred ??= [];
|
|
185
|
+
inst._zod.deferred.push(() => {
|
|
186
|
+
const base = inst._zod.parse;
|
|
187
|
+
const wrapped = (payload: ParsePayload, ctx: ParseContextInternal): util.MaybeAsync<ParsePayload> => {
|
|
188
|
+
// The value is a placeholder a back-edge is still waiting on, so the cycle closes through this transform. Its output can't exist in time to bind.
|
|
189
|
+
if (ctx.direction !== "backward" && isBackEdge(ctx, payload.value)) throw new $ZodCyclicError();
|
|
190
|
+
return base(payload, ctx);
|
|
191
|
+
};
|
|
192
|
+
inst._zod.parse = wrapped;
|
|
193
|
+
if (inst._zod.run === base) inst._zod.run = wrapped;
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
attach(inst) {
|
|
198
|
+
let isRecursiveInst: boolean | undefined;
|
|
199
|
+
// `bucket` memoized for one parse; a recursive schema is re-entered many times and its bucket never changes
|
|
200
|
+
let lastCtx: object | undefined;
|
|
201
|
+
let lastBucket: Map<object, Entry> | undefined;
|
|
202
|
+
|
|
203
|
+
// Wraps `parse` in a deferred so it sees the container's final parse. Core's own deferred copies `parse` into `run` when there are no checks, and it ran first, so `run` is patched to match; with checks, `run` reads `parse` dynamically.
|
|
204
|
+
inst._zod.deferred ??= [];
|
|
205
|
+
inst._zod.deferred.push(() => {
|
|
206
|
+
const base = inst._zod.parse;
|
|
207
|
+
|
|
208
|
+
const wrapped = (payload: ParsePayload, ctx: ParseContextInternal): util.MaybeAsync<ParsePayload> => {
|
|
209
|
+
if (isRecursiveInst === undefined) {
|
|
210
|
+
isRecursiveInst = isRecursive(inst, new Set());
|
|
211
|
+
if (!isRecursiveInst) {
|
|
212
|
+
// Nothing here can ever fire, so take it back out.
|
|
213
|
+
inst._zod.parse = base;
|
|
214
|
+
if (inst._zod.run === wrapped) inst._zod.run = base;
|
|
215
|
+
return base(payload, ctx);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
const input = payload.value;
|
|
220
|
+
if (input === null || typeof input !== "object") return base(payload, ctx);
|
|
221
|
+
|
|
222
|
+
let state = (ctx as WithState)[STATE];
|
|
223
|
+
if (!state) {
|
|
224
|
+
state = { buckets: new Map(), backEdges: undefined };
|
|
225
|
+
(ctx as WithState)[STATE] = state;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
let bucket: Map<object, Entry>;
|
|
229
|
+
if (lastCtx === ctx) {
|
|
230
|
+
bucket = lastBucket!;
|
|
231
|
+
} else {
|
|
232
|
+
bucket = bucketFor(state, inst);
|
|
233
|
+
lastCtx = ctx;
|
|
234
|
+
lastBucket = bucket;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
const hit = bucket.get(input);
|
|
238
|
+
if (hit) {
|
|
239
|
+
payload.value = hit.value;
|
|
240
|
+
if (hit.issues) {
|
|
241
|
+
if (hit.issues.length) payload.issues.push(...cloneIssues(hit.issues));
|
|
242
|
+
} else {
|
|
243
|
+
// Still being parsed: its own checks cover it, so skip them here.
|
|
244
|
+
payload.memo = true;
|
|
245
|
+
state.backEdges ??= new Set();
|
|
246
|
+
state.backEdges.add(hit.value as object);
|
|
247
|
+
}
|
|
248
|
+
return payload;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
handoff = bucket;
|
|
252
|
+
const depth = open.length;
|
|
253
|
+
const result = base(payload, ctx);
|
|
254
|
+
handoff = undefined;
|
|
255
|
+
// A container that rejected its input outright allocated nothing.
|
|
256
|
+
const entry = open.length > depth ? open.pop()! : undefined;
|
|
257
|
+
|
|
258
|
+
// Both paths written out so the sync one allocates no closure. It runs once per node, and capturing here cost more than everything else combined.
|
|
259
|
+
if (result instanceof Promise) {
|
|
260
|
+
return result.then((r) => {
|
|
261
|
+
if (entry) entry.issues = r.issues.length ? cloneIssues(r.issues) : NO_ISSUES;
|
|
262
|
+
return r;
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
if (entry) entry.issues = result.issues.length ? cloneIssues(result.issues) : NO_ISSUES;
|
|
266
|
+
return result;
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
inst._zod.parse = wrapped;
|
|
270
|
+
if (inst._zod.run === base) inst._zod.run = wrapped;
|
|
271
|
+
});
|
|
272
|
+
},
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
/** The memoizer that gives containers cycle support. `zod` installs it by default; `zod/mini` opts in with `config({ memoizer: memoizer() })`. */
|
|
276
|
+
export function memoizer(): $ZodMemoizer {
|
|
277
|
+
return memo;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/** Whether this value is a node a back-edge resolved to before it finished. */
|
|
281
|
+
export function isBackEdge(ctx: object, value: unknown): boolean {
|
|
282
|
+
const backEdges = (ctx as WithState)[STATE]?.backEdges;
|
|
283
|
+
return backEdges !== undefined && value !== null && typeof value === "object" && backEdges.has(value);
|
|
284
|
+
}
|
|
@@ -4,27 +4,36 @@ import type * as schemas from "./schemas.js";
|
|
|
4
4
|
import * as util from "./util.js";
|
|
5
5
|
|
|
6
6
|
export type $ZodErrorClass = { new (issues: errors.$ZodIssue[]): errors.$ZodError };
|
|
7
|
+
type $ParseParams = { callee?: util.AnyFunc; Err?: $ZodErrorClass | undefined };
|
|
8
|
+
|
|
9
|
+
// Always both keys, so the `_params` read site in `_parse` sees one object shape rather than two.
|
|
10
|
+
function finalizeParams(callee: util.AnyFunc, params: $ParseParams | undefined): $ParseParams {
|
|
11
|
+
return { callee: params?.callee ?? callee, Err: params?.Err };
|
|
12
|
+
}
|
|
7
13
|
|
|
8
14
|
/////////// METHODS ///////////
|
|
9
15
|
export type $Parse = <T extends schemas.$ZodType>(
|
|
10
16
|
schema: T,
|
|
11
17
|
value: unknown,
|
|
12
18
|
_ctx?: schemas.ParseContext<errors.$ZodIssue>,
|
|
13
|
-
_params?:
|
|
19
|
+
_params?: $ParseParams
|
|
14
20
|
) => core.output<T>;
|
|
15
21
|
|
|
16
|
-
export const _parse: (_Err: $ZodErrorClass) => $Parse = (_Err) =>
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
export const _parse: (_Err: $ZodErrorClass) => $Parse = (_Err) => {
|
|
23
|
+
const fn: $Parse = (schema, value, _ctx, _params) => {
|
|
24
|
+
const ctx: schemas.ParseContextInternal = _ctx ? { ..._ctx, async: false } : { async: false };
|
|
25
|
+
const result = schema._zod.run({ value, issues: [] }, ctx);
|
|
26
|
+
if (result instanceof Promise) {
|
|
27
|
+
throw new core.$ZodAsyncError();
|
|
28
|
+
}
|
|
29
|
+
if (result.issues.length) {
|
|
30
|
+
const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));
|
|
31
|
+
util.captureStackTrace(e, _params?.callee ?? fn);
|
|
32
|
+
throw e;
|
|
33
|
+
}
|
|
34
|
+
return result.value as core.output<typeof schema>;
|
|
35
|
+
};
|
|
36
|
+
return fn;
|
|
28
37
|
};
|
|
29
38
|
|
|
30
39
|
export const parse: $Parse = /* @__PURE__*/ _parse(errors.$ZodRealError);
|
|
@@ -33,19 +42,22 @@ export type $ParseAsync = <T extends schemas.$ZodType>(
|
|
|
33
42
|
schema: T,
|
|
34
43
|
value: unknown,
|
|
35
44
|
_ctx?: schemas.ParseContext<errors.$ZodIssue>,
|
|
36
|
-
_params?:
|
|
45
|
+
_params?: $ParseParams
|
|
37
46
|
) => Promise<core.output<T>>;
|
|
38
47
|
|
|
39
|
-
export const _parseAsync: (_Err: $ZodErrorClass) => $ParseAsync = (_Err) =>
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
export const _parseAsync: (_Err: $ZodErrorClass) => $ParseAsync = (_Err) => {
|
|
49
|
+
const fn: $ParseAsync = async (schema, value, _ctx, params) => {
|
|
50
|
+
const ctx: schemas.ParseContextInternal = _ctx ? { ..._ctx, async: true } : { async: true };
|
|
51
|
+
let result = schema._zod.run({ value, issues: [] }, ctx);
|
|
52
|
+
if (result instanceof Promise) result = await result;
|
|
53
|
+
if (result.issues.length) {
|
|
54
|
+
const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));
|
|
55
|
+
util.captureStackTrace(e, params?.callee ?? fn);
|
|
56
|
+
throw e;
|
|
57
|
+
}
|
|
58
|
+
return result.value as core.output<typeof schema>;
|
|
59
|
+
};
|
|
60
|
+
return fn;
|
|
49
61
|
};
|
|
50
62
|
|
|
51
63
|
export const parseAsync: $ParseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);
|
|
@@ -93,16 +105,82 @@ export const _safeParseAsync: (_Err: $ZodErrorClass) => $SafeParseAsync = (_Err)
|
|
|
93
105
|
|
|
94
106
|
export const safeParseAsync: $SafeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);
|
|
95
107
|
|
|
108
|
+
// registry mirrors of the compiler's sentinels, so this module never imports the compiler
|
|
109
|
+
const COMPILE_INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid");
|
|
110
|
+
const COMPILE_FALLBACK = /* @__PURE__ */ Symbol.for("zod.compile.fallback");
|
|
111
|
+
|
|
112
|
+
interface CompiledBag {
|
|
113
|
+
validator?: (input: unknown) => unknown;
|
|
114
|
+
fallbackRun?: (payload: schemas.ParsePayload, ctx: schemas.ParseContextInternal) => unknown;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export type $Validate = <T extends schemas.$ZodType>(
|
|
118
|
+
schema: T,
|
|
119
|
+
value: unknown,
|
|
120
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>
|
|
121
|
+
) => value is core.input<T>;
|
|
122
|
+
|
|
123
|
+
// Deliberately tiny, because v8 will not inline a body carrying the fallback's object literals and throw. Everything that is not the compiled happy path lives in validateFallback, and that split is worth ~35% on a compiled schema.
|
|
124
|
+
export const validate: $Validate = ((
|
|
125
|
+
schema: schemas.$ZodType,
|
|
126
|
+
value: unknown,
|
|
127
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>
|
|
128
|
+
): boolean => {
|
|
129
|
+
const validator = (schema._zod.bag as CompiledBag).validator;
|
|
130
|
+
if (validator !== undefined && validator(value) !== COMPILE_INVALID) return true;
|
|
131
|
+
return validateFallback(schema, value, _ctx);
|
|
132
|
+
}) as $Validate;
|
|
133
|
+
|
|
134
|
+
function validateFallback(
|
|
135
|
+
schema: schemas.$ZodType,
|
|
136
|
+
value: unknown,
|
|
137
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>
|
|
138
|
+
): boolean {
|
|
139
|
+
const ctx: schemas.ParseContextInternal = _ctx ? { ..._ctx, async: false } : { async: false };
|
|
140
|
+
const fallbackRun = (schema._zod.bag as CompiledBag).fallbackRun;
|
|
141
|
+
let result: unknown;
|
|
142
|
+
if (fallbackRun) {
|
|
143
|
+
// skip nested fast paths on the fallback, so user callbacks keep the at-most-twice bound
|
|
144
|
+
(ctx as Record<symbol, unknown>)[COMPILE_FALLBACK] = true;
|
|
145
|
+
result = fallbackRun({ value, issues: [] }, ctx);
|
|
146
|
+
} else {
|
|
147
|
+
result = schema._zod.run({ value, issues: [] }, ctx);
|
|
148
|
+
}
|
|
149
|
+
if (result instanceof Promise) {
|
|
150
|
+
throw new core.$ZodAsyncError();
|
|
151
|
+
}
|
|
152
|
+
return (result as schemas.ParsePayload).issues.length === 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export type $ValidateAsync = <T extends schemas.$ZodType>(
|
|
156
|
+
schema: T,
|
|
157
|
+
value: unknown,
|
|
158
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>
|
|
159
|
+
) => Promise<boolean>;
|
|
160
|
+
|
|
161
|
+
// no fast path: the compiler keeps async parses on the runtime, because a promise-returning callback that is not declared async compiles to a throw
|
|
162
|
+
export const validateAsync: $ValidateAsync = async (schema, value, _ctx) => {
|
|
163
|
+
const ctx: schemas.ParseContextInternal = _ctx ? { ..._ctx, async: true } : { async: true };
|
|
164
|
+
let result: unknown = schema._zod.run({ value, issues: [] }, ctx);
|
|
165
|
+
if (result instanceof Promise) result = await result;
|
|
166
|
+
return (result as schemas.ParsePayload).issues.length === 0;
|
|
167
|
+
};
|
|
168
|
+
|
|
96
169
|
// Codec functions
|
|
97
170
|
export type $Encode = <T extends schemas.$ZodType>(
|
|
98
171
|
schema: T,
|
|
99
172
|
value: core.output<T>,
|
|
100
|
-
_ctx?: schemas.ParseContext<errors.$ZodIssue
|
|
173
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>,
|
|
174
|
+
_params?: $ParseParams
|
|
101
175
|
) => core.input<T>;
|
|
102
176
|
|
|
103
|
-
export const _encode: (_Err: $ZodErrorClass) => $Encode = (_Err) =>
|
|
104
|
-
const
|
|
105
|
-
|
|
177
|
+
export const _encode: (_Err: $ZodErrorClass) => $Encode = (_Err) => {
|
|
178
|
+
const parse = _parse(_Err);
|
|
179
|
+
const fn: $Encode = (schema, value, _ctx, _params) => {
|
|
180
|
+
const ctx = _ctx ? { ..._ctx, direction: "backward" as const } : { direction: "backward" as const };
|
|
181
|
+
return parse(schema, value, ctx as any, finalizeParams(fn, _params)) as any;
|
|
182
|
+
};
|
|
183
|
+
return fn;
|
|
106
184
|
};
|
|
107
185
|
|
|
108
186
|
export const encode: $Encode = /* @__PURE__*/ _encode(errors.$ZodRealError);
|
|
@@ -110,11 +188,16 @@ export const encode: $Encode = /* @__PURE__*/ _encode(errors.$ZodRealError);
|
|
|
110
188
|
export type $Decode = <T extends schemas.$ZodType>(
|
|
111
189
|
schema: T,
|
|
112
190
|
value: core.input<T>,
|
|
113
|
-
_ctx?: schemas.ParseContext<errors.$ZodIssue
|
|
191
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>,
|
|
192
|
+
_params?: $ParseParams
|
|
114
193
|
) => core.output<T>;
|
|
115
194
|
|
|
116
|
-
export const _decode: (_Err: $ZodErrorClass) => $Decode = (_Err) =>
|
|
117
|
-
|
|
195
|
+
export const _decode: (_Err: $ZodErrorClass) => $Decode = (_Err) => {
|
|
196
|
+
const parse = _parse(_Err);
|
|
197
|
+
const fn: $Decode = (schema, value, _ctx, _params) => {
|
|
198
|
+
return parse(schema, value, _ctx, finalizeParams(fn, _params));
|
|
199
|
+
};
|
|
200
|
+
return fn;
|
|
118
201
|
};
|
|
119
202
|
|
|
120
203
|
export const decode: $Decode = /* @__PURE__*/ _decode(errors.$ZodRealError);
|
|
@@ -122,12 +205,17 @@ export const decode: $Decode = /* @__PURE__*/ _decode(errors.$ZodRealError);
|
|
|
122
205
|
export type $EncodeAsync = <T extends schemas.$ZodType>(
|
|
123
206
|
schema: T,
|
|
124
207
|
value: core.output<T>,
|
|
125
|
-
_ctx?: schemas.ParseContext<errors.$ZodIssue
|
|
208
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>,
|
|
209
|
+
_params?: $ParseParams
|
|
126
210
|
) => Promise<core.input<T>>;
|
|
127
211
|
|
|
128
|
-
export const _encodeAsync: (_Err: $ZodErrorClass) => $EncodeAsync = (_Err) =>
|
|
129
|
-
const
|
|
130
|
-
|
|
212
|
+
export const _encodeAsync: (_Err: $ZodErrorClass) => $EncodeAsync = (_Err) => {
|
|
213
|
+
const parseAsync = _parseAsync(_Err);
|
|
214
|
+
const fn: $EncodeAsync = async (schema, value, _ctx, _params) => {
|
|
215
|
+
const ctx = _ctx ? { ..._ctx, direction: "backward" as const } : { direction: "backward" as const };
|
|
216
|
+
return (await parseAsync(schema, value, ctx as any, finalizeParams(fn, _params))) as any;
|
|
217
|
+
};
|
|
218
|
+
return fn;
|
|
131
219
|
};
|
|
132
220
|
|
|
133
221
|
export const encodeAsync: $EncodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);
|
|
@@ -135,11 +223,16 @@ export const encodeAsync: $EncodeAsync = /* @__PURE__*/ _encodeAsync(errors.$Zod
|
|
|
135
223
|
export type $DecodeAsync = <T extends schemas.$ZodType>(
|
|
136
224
|
schema: T,
|
|
137
225
|
value: core.input<T>,
|
|
138
|
-
_ctx?: schemas.ParseContext<errors.$ZodIssue
|
|
226
|
+
_ctx?: schemas.ParseContext<errors.$ZodIssue>,
|
|
227
|
+
_params?: $ParseParams
|
|
139
228
|
) => Promise<core.output<T>>;
|
|
140
229
|
|
|
141
|
-
export const _decodeAsync: (_Err: $ZodErrorClass) => $DecodeAsync = (_Err) =>
|
|
142
|
-
|
|
230
|
+
export const _decodeAsync: (_Err: $ZodErrorClass) => $DecodeAsync = (_Err) => {
|
|
231
|
+
const parseAsync = _parseAsync(_Err);
|
|
232
|
+
const fn: $DecodeAsync = async (schema, value, _ctx, _params) => {
|
|
233
|
+
return await parseAsync(schema, value, _ctx, finalizeParams(fn, _params));
|
|
234
|
+
};
|
|
235
|
+
return fn;
|
|
143
236
|
};
|
|
144
237
|
|
|
145
238
|
export const decodeAsync: $DecodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);
|
|
@@ -7,10 +7,13 @@ import * as util from "./util.js";
|
|
|
7
7
|
*/
|
|
8
8
|
export const cuid: RegExp = /^[cC][0-9a-z]{6,}$/;
|
|
9
9
|
export const cuid2: RegExp = /^[0-9a-z]+$/;
|
|
10
|
-
export const ulid: RegExp = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{
|
|
10
|
+
export const ulid: RegExp = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/;
|
|
11
11
|
export const xid: RegExp = /^[0-9a-vA-V]{20}$/;
|
|
12
12
|
export const ksuid: RegExp = /^[A-Za-z0-9]{27}$/;
|
|
13
13
|
export const nanoid: RegExp = /^[a-zA-Z0-9_-]{21}$/;
|
|
14
|
+
export function nanoidOfLength(length: number): RegExp {
|
|
15
|
+
return new RegExp(`^[a-zA-Z0-9_-]{${length}}$`);
|
|
16
|
+
}
|
|
14
17
|
|
|
15
18
|
/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */
|
|
16
19
|
export const duration: RegExp =
|
|
@@ -57,7 +60,8 @@ export const browserEmail: RegExp =
|
|
|
57
60
|
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
|
58
61
|
// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
|
|
59
62
|
|
|
60
|
-
|
|
63
|
+
// Single character class, not an alternation: the two properties overlap (U+1F9B0-U+1F9B3), so `(A|B)+` backtracks exponentially on a failed match.
|
|
64
|
+
const _emoji: string = `^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;
|
|
61
65
|
export function emoji(): RegExp {
|
|
62
66
|
return new RegExp(_emoji, "u");
|
|
63
67
|
}
|
|
@@ -73,7 +77,7 @@ export const mac = (delimiter?: string): RegExp => {
|
|
|
73
77
|
export const cidrv4: RegExp =
|
|
74
78
|
/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
|
|
75
79
|
export const cidrv6: RegExp =
|
|
76
|
-
/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}
|
|
80
|
+
/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
|
|
77
81
|
|
|
78
82
|
// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
|
|
79
83
|
export const base64: RegExp = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
|
|
@@ -84,19 +88,28 @@ export const base64url: RegExp = /^[A-Za-z0-9_-]*$/;
|
|
|
84
88
|
export const hostname: RegExp =
|
|
85
89
|
/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
|
|
86
90
|
|
|
87
|
-
export const domain: RegExp = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
|
|
91
|
+
export const domain: RegExp = /^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/;
|
|
88
92
|
|
|
89
93
|
export const httpProtocol: RegExp = /^https?$/;
|
|
90
94
|
|
|
91
|
-
// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
|
|
92
|
-
// E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15
|
|
95
|
+
// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces) E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15
|
|
93
96
|
export const e164: RegExp = /^\+[1-9]\d{6,14}$/;
|
|
94
97
|
|
|
95
|
-
//
|
|
98
|
+
// Credit card shape: 12–19 digits, optionally separated by single spaces or single hyphens. ISO/IEC 7812 caps the PAN at 19 digits; 12 is the shortest issued length (Maestro).
|
|
99
|
+
export const creditCard: RegExp = /^\d(?:[ -]?\d){11,18}$/;
|
|
100
|
+
|
|
96
101
|
const dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;
|
|
97
|
-
export const date: RegExp = /*@__PURE__*/ new RegExp(`^${dateSource}$`);
|
|
98
102
|
|
|
99
|
-
|
|
103
|
+
/** Anchors a pattern source. The interpolation lives here rather than at the call site because
|
|
104
|
+
* esbuild will not drop a `@__PURE__` call whose own argument interpolates a variable, but it
|
|
105
|
+
* will drop `anchor(dateSource)`. Keeping it inline pinned `date` into every bundle. */
|
|
106
|
+
function anchor(source: string): RegExp {
|
|
107
|
+
return new RegExp(`^${source}$`);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export const date: RegExp = /*@__PURE__*/ anchor(dateSource);
|
|
111
|
+
|
|
112
|
+
function timeSource(args: { precision?: number | null | undefined; seconds?: boolean }) {
|
|
100
113
|
const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`;
|
|
101
114
|
const regex =
|
|
102
115
|
typeof args.precision === "number"
|
|
@@ -105,7 +118,9 @@ function timeSource(args: { precision?: number | null | undefined }) {
|
|
|
105
118
|
: args.precision === 0
|
|
106
119
|
? `${hhmm}:[0-5]\\d`
|
|
107
120
|
: `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}`
|
|
108
|
-
:
|
|
121
|
+
: args.seconds
|
|
122
|
+
? `${hhmm}:[0-5]\\d(?:\\.\\d+)?`
|
|
123
|
+
: `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
|
|
109
124
|
return regex;
|
|
110
125
|
}
|
|
111
126
|
export function time(args: {
|
|
@@ -121,12 +136,13 @@ export function datetime(args: {
|
|
|
121
136
|
offset?: boolean;
|
|
122
137
|
local?: boolean;
|
|
123
138
|
}): RegExp {
|
|
124
|
-
const time = timeSource({ precision: args.precision });
|
|
125
139
|
const opts = ["Z"];
|
|
126
|
-
if (args.local) opts.push("");
|
|
127
140
|
// if (args.offset) opts.push(`([+-]\\d{2}:\\d{2})`);
|
|
128
141
|
if (args.offset) opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
|
|
129
|
-
|
|
142
|
+
|
|
143
|
+
// RFC 3339 mandates seconds wherever the time carries a `Z` or an offset, so only the unqualified form `local` adds may omit them
|
|
144
|
+
const qualified = `${timeSource({ precision: args.precision, seconds: true })}(?:${opts.join("|")})`;
|
|
145
|
+
const timeRegex = args.local ? `${qualified}|${timeSource({ precision: args.precision })}` : qualified;
|
|
130
146
|
|
|
131
147
|
return new RegExp(`^${dateSource}T(?:${timeRegex})$`);
|
|
132
148
|
}
|
|
@@ -154,6 +170,7 @@ export const uppercase: RegExp = /^[^a-z]*$/;
|
|
|
154
170
|
export const hex: RegExp = /^[0-9a-fA-F]*$/;
|
|
155
171
|
|
|
156
172
|
// Hash regexes for different algorithms and encodings
|
|
173
|
+
|
|
157
174
|
// Helper function to create base64 regex with exact length and padding
|
|
158
175
|
function fixedBase64(bodyLength: number, padding: "" | "=" | "=="): RegExp {
|
|
159
176
|
return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type * as core from "./core.js";
|
|
2
2
|
import type { $ZodType } from "./schemas.js";
|
|
3
3
|
|
|
4
|
-
export const $output: unique symbol = Symbol("ZodOutput");
|
|
4
|
+
export const $output: unique symbol = /*@__PURE__*/ Symbol("ZodOutput");
|
|
5
5
|
export type $output = typeof $output;
|
|
6
|
-
export const $input: unique symbol = Symbol("ZodInput");
|
|
6
|
+
export const $input: unique symbol = /*@__PURE__*/ Symbol("ZodInput");
|
|
7
7
|
export type $input = typeof $input;
|
|
8
8
|
|
|
9
9
|
export type $replace<Meta, S extends $ZodType> = Meta extends $output
|