@openclaw/feishu 2026.9.3 → 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-DrAqd5ED.js → .setup/channel-C1KrXXJa.mjs} +100 -99
- package/dist/{channel.runtime-BZzuDlOS.js → .setup/channel.runtime-Bizuv7WZ.mjs} +32 -18
- package/dist/{chat-BZSnEtgb.js → .setup/chat-dWJYS63b.mjs} +89 -88
- 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-DSGtOPio.js → .setup/monitor-C69OLzgO.mjs} +4 -4
- package/dist/{monitor.account-BRDUsS_q.js → .setup/monitor.account-zwHb3HKM.mjs} +76 -52
- package/dist/{probe-D_SatdZl.js → .setup/probe-bdidyhAn.mjs} +2 -2
- package/dist/{reply-delivery-result-BXEmtKpf.js → .setup/reply-delivery-result-DFjxGLgX.mjs} +162 -163
- 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 +125 -121
- 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 +27 -56
- 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
package/dist/{reply-delivery-result-BXEmtKpf.js → .setup/reply-delivery-result-DFjxGLgX.mjs}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as resolveDefaultFeishuAccountId, i as listFeishuAccountIds, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-
|
|
2
|
-
import {
|
|
3
|
-
import { o as normalizeFeishuExternalKey } from "./doctor-contract-w6FpMypv.
|
|
4
|
-
import { r as createFeishuClient } from "./client-
|
|
5
|
-
import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.
|
|
1
|
+
import { a as resolveDefaultFeishuAccountId, i as listFeishuAccountIds, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-DmU0xYPx.mjs";
|
|
2
|
+
import { l as normalizeFeishuTarget, s as detectIdType, u as resolveReceiveIdType } from "./conversation-id-H-lUayji.mjs";
|
|
3
|
+
import { o as normalizeFeishuExternalKey } from "./doctor-contract-w6FpMypv.mjs";
|
|
4
|
+
import { c as withFeishuMessageDispatch, o as captureFeishuSendAuthority, r as createFeishuClient, s as runBeforeFeishuMessageDispatch } from "./client-DCwNVFZg.mjs";
|
|
5
|
+
import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.mjs";
|
|
6
6
|
import { normalizeAccountId, normalizeOptionalAccountId, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
|
|
7
7
|
import { compileAllowlist, resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
|
|
8
8
|
import { ToolAuthorizationError } from "openclaw/plugin-sdk/channel-actions";
|
|
@@ -787,6 +787,16 @@ function getFeishuSendRateLimitCodeFromResponse(response) {
|
|
|
787
787
|
}
|
|
788
788
|
//#endregion
|
|
789
789
|
//#region extensions/feishu/src/comment-shared.ts
|
|
790
|
+
var FeishuReplyCommentError = class extends Error {
|
|
791
|
+
constructor(params) {
|
|
792
|
+
super(params.message);
|
|
793
|
+
this.name = "FeishuReplyCommentError";
|
|
794
|
+
this.httpStatus = params.httpStatus;
|
|
795
|
+
this.feishuCode = params.feishuCode;
|
|
796
|
+
this.feishuMsg = params.feishuMsg;
|
|
797
|
+
this.feishuLogId = params.feishuLogId;
|
|
798
|
+
}
|
|
799
|
+
};
|
|
790
800
|
function encodeQuery(params) {
|
|
791
801
|
const query = new URLSearchParams();
|
|
792
802
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -824,8 +834,10 @@ function createFeishuApiError(error, errorPrefix, options = {}) {
|
|
|
824
834
|
}
|
|
825
835
|
const FEISHU_SEND_RETRY_BASE_MS = 500;
|
|
826
836
|
async function requestFeishuApi(request, errorPrefix, options = {}) {
|
|
837
|
+
const assertSendAuthority = captureFeishuSendAuthority();
|
|
827
838
|
try {
|
|
828
839
|
return await retryAsync(async () => {
|
|
840
|
+
assertSendAuthority?.();
|
|
829
841
|
const result = await request();
|
|
830
842
|
const fulfilledRateLimit = getFeishuSendRateLimitCodeFromResponse(result);
|
|
831
843
|
if (fulfilledRateLimit !== void 0) throw Object.assign(/* @__PURE__ */ new Error(`Request fulfilled with rate-limit code ${fulfilledRateLimit}`), { response: {
|
|
@@ -1267,32 +1279,32 @@ function resolveImplicitToolAccountId(params) {
|
|
|
1267
1279
|
if (explicitAccountId) {
|
|
1268
1280
|
const normalizedAccountId = normalizeOptionalAccountId(explicitAccountId);
|
|
1269
1281
|
if (!normalizedAccountId) throw new Error(`Invalid Feishu account ID "${explicitAccountId}"`);
|
|
1270
|
-
const listedAccountId = listFeishuAccountIds(params.
|
|
1271
|
-
const defaultAccountId = resolveDefaultFeishuAccountId(params.
|
|
1282
|
+
const listedAccountId = listFeishuAccountIds(params.cfg).find((accountId) => normalizeOptionalAccountId(accountId) === normalizedAccountId) ?? (() => {
|
|
1283
|
+
const defaultAccountId = resolveDefaultFeishuAccountId(params.cfg);
|
|
1272
1284
|
return normalizeOptionalAccountId(defaultAccountId) === normalizedAccountId ? defaultAccountId : void 0;
|
|
1273
1285
|
})();
|
|
1274
1286
|
if (!listedAccountId) throw new Error(`Unknown Feishu account "${explicitAccountId}"`);
|
|
1275
1287
|
if (!resolveFeishuAccount({
|
|
1276
|
-
cfg: params.
|
|
1288
|
+
cfg: params.cfg,
|
|
1277
1289
|
accountId: normalizedAccountId
|
|
1278
1290
|
}).enabled) throw new Error(`Feishu account "${listedAccountId}" is disabled`);
|
|
1279
1291
|
return normalizedAccountId;
|
|
1280
1292
|
}
|
|
1281
|
-
const contextualAccountId =
|
|
1282
|
-
if (contextualAccountId && listFeishuAccountIds(params.
|
|
1293
|
+
const contextualAccountId = normalizeOptionalAccountId(params.defaultAccountId);
|
|
1294
|
+
if (contextualAccountId !== void 0 && listFeishuAccountIds(params.cfg).some((accountId) => normalizeOptionalAccountId(accountId) === contextualAccountId)) {
|
|
1283
1295
|
if (resolveFeishuAccount({
|
|
1284
|
-
cfg: params.
|
|
1296
|
+
cfg: params.cfg,
|
|
1285
1297
|
accountId: contextualAccountId
|
|
1286
1298
|
}).enabled) return contextualAccountId;
|
|
1287
1299
|
}
|
|
1288
|
-
const configuredDefaultAccountId = normalizeOptionalString((params.
|
|
1300
|
+
const configuredDefaultAccountId = normalizeOptionalString((params.cfg.channels?.feishu)?.defaultAccount);
|
|
1289
1301
|
if (configuredDefaultAccountId && resolveFeishuAccount({
|
|
1290
|
-
cfg: params.
|
|
1302
|
+
cfg: params.cfg,
|
|
1291
1303
|
accountId: configuredDefaultAccountId
|
|
1292
1304
|
}).enabled) return configuredDefaultAccountId;
|
|
1293
|
-
|
|
1305
|
+
for (const accountId of listFeishuAccountIds(params.cfg)) {
|
|
1294
1306
|
const account = resolveFeishuAccount({
|
|
1295
|
-
cfg: params.
|
|
1307
|
+
cfg: params.cfg,
|
|
1296
1308
|
accountId
|
|
1297
1309
|
});
|
|
1298
1310
|
if (account.enabled && account.configured && resolveToolsConfig(account.config.tools)[params.requiredTool.family]) return accountId;
|
|
@@ -1300,9 +1312,8 @@ function resolveImplicitToolAccountId(params) {
|
|
|
1300
1312
|
throw new Error(`No usable Feishu account has ${params.requiredTool.label} tools enabled`);
|
|
1301
1313
|
}
|
|
1302
1314
|
function resolveFeishuToolAccount(params) {
|
|
1303
|
-
if (!params.api.config) throw new Error("Feishu config unavailable");
|
|
1304
1315
|
const account = resolveFeishuRuntimeAccount({
|
|
1305
|
-
cfg: params.
|
|
1316
|
+
cfg: params.cfg,
|
|
1306
1317
|
accountId: resolveImplicitToolAccountId(params)
|
|
1307
1318
|
});
|
|
1308
1319
|
if (!resolveToolsConfig(account.config.tools)[params.requiredTool.family]) throw new Error(`Feishu ${params.requiredTool.label} tools are disabled for account "${account.accountId}"`);
|
|
@@ -1356,16 +1367,6 @@ function toolExecutionErrorResult(error) {
|
|
|
1356
1367
|
}
|
|
1357
1368
|
//#endregion
|
|
1358
1369
|
//#region extensions/feishu/src/drive.ts
|
|
1359
|
-
var FeishuReplyCommentError = class extends Error {
|
|
1360
|
-
constructor(params) {
|
|
1361
|
-
super(params.message);
|
|
1362
|
-
this.name = "FeishuReplyCommentError";
|
|
1363
|
-
this.httpStatus = params.httpStatus;
|
|
1364
|
-
this.feishuCode = params.feishuCode;
|
|
1365
|
-
this.feishuMsg = params.feishuMsg;
|
|
1366
|
-
this.feishuLogId = params.feishuLogId;
|
|
1367
|
-
}
|
|
1368
|
-
};
|
|
1369
1370
|
const FEISHU_DRIVE_REQUEST_TIMEOUT_MS = 3e4;
|
|
1370
1371
|
function getDriveInternalClient(client) {
|
|
1371
1372
|
return client;
|
|
@@ -1603,7 +1604,7 @@ async function addComment(client, params) {
|
|
|
1603
1604
|
if (params.block_id?.trim() && params.file_type !== "docx") throw new Error("block_id is only supported for docx comments");
|
|
1604
1605
|
return {
|
|
1605
1606
|
success: true,
|
|
1606
|
-
...assertDriveApiSuccess(await requestDriveApi({
|
|
1607
|
+
...assertDriveApiSuccess(await withFeishuMessageDispatch(() => requestDriveApi({
|
|
1607
1608
|
client,
|
|
1608
1609
|
method: "POST",
|
|
1609
1610
|
url: `/open-apis/drive/v1/files/${encodeURIComponent(params.file_token)}/new_comments`,
|
|
@@ -1612,7 +1613,7 @@ async function addComment(client, params) {
|
|
|
1612
1613
|
reply_elements: buildReplyElements(params.content),
|
|
1613
1614
|
...params.block_id?.trim() ? { anchor: { block_id: params.block_id.trim() } } : {}
|
|
1614
1615
|
}
|
|
1615
|
-
})).data
|
|
1616
|
+
}))).data
|
|
1616
1617
|
};
|
|
1617
1618
|
}
|
|
1618
1619
|
async function queryCommentById(client, params) {
|
|
@@ -1630,7 +1631,7 @@ async function replyComment(client, params) {
|
|
|
1630
1631
|
const url = `/open-apis/drive/v1/files/${encodeURIComponent(params.file_token)}/comments/${encodeURIComponent(params.comment_id)}/replies`;
|
|
1631
1632
|
const query = { file_type: params.file_type };
|
|
1632
1633
|
try {
|
|
1633
|
-
const response = await requestDriveApi({
|
|
1634
|
+
const response = await withFeishuMessageDispatch(() => requestDriveApi({
|
|
1634
1635
|
client,
|
|
1635
1636
|
method: "POST",
|
|
1636
1637
|
url,
|
|
@@ -1639,7 +1640,7 @@ async function replyComment(client, params) {
|
|
|
1639
1640
|
type: "text_run",
|
|
1640
1641
|
text_run: { text: params.content }
|
|
1641
1642
|
}] } }
|
|
1642
|
-
});
|
|
1643
|
+
}));
|
|
1643
1644
|
if (response.code === 0) return {
|
|
1644
1645
|
success: true,
|
|
1645
1646
|
...response.data
|
|
@@ -1652,7 +1653,7 @@ async function replyComment(client, params) {
|
|
|
1652
1653
|
feishuLogId: response.log_id
|
|
1653
1654
|
});
|
|
1654
1655
|
} catch (error) {
|
|
1655
|
-
if (error instanceof FeishuReplyCommentError) throw error;
|
|
1656
|
+
if (error instanceof FeishuReplyCommentError || error instanceof PlatformMessageNotDispatchedError) throw error;
|
|
1656
1657
|
const meta = extractDriveApiErrorMeta(error);
|
|
1657
1658
|
console.warn(`[feishu_drive] replyComment threw comment=${params.comment_id} file_type=${params.file_type} error=${formatDriveApiError(error)}`);
|
|
1658
1659
|
throw new FeishuReplyCommentError({
|
|
@@ -1708,9 +1709,9 @@ async function deliverCommentThreadText(client, params) {
|
|
|
1708
1709
|
}
|
|
1709
1710
|
}
|
|
1710
1711
|
function registerFeishuDriveTools(api) {
|
|
1711
|
-
if (!api.config) return;
|
|
1712
|
-
if (!resolveAnyEnabledFeishuToolsConfig(api.config).drive) return;
|
|
1713
1712
|
api.registerTool((ctx) => {
|
|
1713
|
+
const cfg = ctx.runtimeConfig ?? ctx.config ?? api.config;
|
|
1714
|
+
if (!cfg || !resolveAnyEnabledFeishuToolsConfig(cfg).drive) return null;
|
|
1714
1715
|
const defaultAccountId = ctx.agentAccountId;
|
|
1715
1716
|
return {
|
|
1716
1717
|
name: "feishu_drive",
|
|
@@ -1722,7 +1723,7 @@ function registerFeishuDriveTools(api) {
|
|
|
1722
1723
|
const p = params;
|
|
1723
1724
|
try {
|
|
1724
1725
|
const client = createFeishuToolClient({
|
|
1725
|
-
|
|
1726
|
+
cfg,
|
|
1726
1727
|
executeParams: p,
|
|
1727
1728
|
defaultAccountId,
|
|
1728
1729
|
requiredTool: {
|
|
@@ -1814,11 +1815,6 @@ async function buildFeishuMediaFallbackText(params) {
|
|
|
1814
1815
|
return [params.text?.trim(), attachmentText].filter(Boolean).join("\n\n");
|
|
1815
1816
|
}
|
|
1816
1817
|
//#endregion
|
|
1817
|
-
//#region extensions/feishu/src/api-response.ts
|
|
1818
|
-
function assertFeishuApiSuccess(response, errorPrefix) {
|
|
1819
|
-
if (response.code !== 0) throw new Error(`${errorPrefix}: ${response.msg || `code ${response.code}`}`);
|
|
1820
|
-
}
|
|
1821
|
-
//#endregion
|
|
1822
1818
|
//#region extensions/feishu/src/media-chunk-idle.ts
|
|
1823
1819
|
var FeishuInboundMediaTimeoutError = class extends Error {
|
|
1824
1820
|
constructor(chunkTimeoutMs) {
|
|
@@ -1831,7 +1827,7 @@ function destroySource(source) {
|
|
|
1831
1827
|
const s = source;
|
|
1832
1828
|
if (typeof s.destroy === "function") s.destroy();
|
|
1833
1829
|
}
|
|
1834
|
-
function withChunkIdleTimeout(source, chunkTimeoutMs) {
|
|
1830
|
+
function withChunkIdleTimeout(source, chunkTimeoutMs, teardownSource) {
|
|
1835
1831
|
return { async *[Symbol.asyncIterator]() {
|
|
1836
1832
|
const iterator = source[Symbol.asyncIterator]();
|
|
1837
1833
|
let exhausted = false;
|
|
@@ -1842,9 +1838,7 @@ function withChunkIdleTimeout(source, chunkTimeoutMs) {
|
|
|
1842
1838
|
const timeoutPromise = new Promise((_, reject) => {
|
|
1843
1839
|
timeoutHandle = setTimeout(() => {
|
|
1844
1840
|
reject(new FeishuInboundMediaTimeoutError(chunkTimeoutMs));
|
|
1845
|
-
|
|
1846
|
-
destroySource(source);
|
|
1847
|
-
} catch {}
|
|
1841
|
+
teardownSource();
|
|
1848
1842
|
}, chunkTimeoutMs);
|
|
1849
1843
|
});
|
|
1850
1844
|
let result;
|
|
@@ -1864,54 +1858,21 @@ function withChunkIdleTimeout(source, chunkTimeoutMs) {
|
|
|
1864
1858
|
}
|
|
1865
1859
|
} };
|
|
1866
1860
|
}
|
|
1867
|
-
function saveMediaStreamWithIdleTimeout(stream, contentType, maxBytes, fileName, chunkTimeoutMs) {
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
case "image":
|
|
1876
|
-
case "media":
|
|
1877
|
-
case "file":
|
|
1878
|
-
case "sticker": return "media";
|
|
1879
|
-
case "interactive": return "card";
|
|
1880
|
-
case "post":
|
|
1881
|
-
case "text": return "text";
|
|
1882
|
-
default: return "unknown";
|
|
1883
|
-
}
|
|
1884
|
-
}
|
|
1885
|
-
function createFeishuSendReceipt(params) {
|
|
1886
|
-
const messageId = params.messageId?.trim();
|
|
1887
|
-
const chatId = params.chatId.trim();
|
|
1888
|
-
return createMessageReceiptFromOutboundResults({
|
|
1889
|
-
results: messageId ? [{
|
|
1890
|
-
channel: "feishu",
|
|
1891
|
-
messageId,
|
|
1892
|
-
chatId,
|
|
1893
|
-
conversationId: chatId
|
|
1894
|
-
}] : [],
|
|
1895
|
-
...params.replyToId?.trim() ? { replyToId: params.replyToId.trim() } : {},
|
|
1896
|
-
kind: params.kind ?? "unknown"
|
|
1897
|
-
});
|
|
1898
|
-
}
|
|
1899
|
-
function toFeishuSendResult(response, chatId, kind, errorPrefix = "Feishu send failed", replyToId) {
|
|
1900
|
-
const messageId = response.data?.message_id?.trim();
|
|
1901
|
-
if (!messageId) throw createChannelPartialDeliveryError(/* @__PURE__ */ new Error(`${errorPrefix}: no message_id returned`), {
|
|
1902
|
-
messageIds: [],
|
|
1903
|
-
visibleReplySent: true
|
|
1904
|
-
});
|
|
1905
|
-
return {
|
|
1906
|
-
messageId,
|
|
1907
|
-
chatId,
|
|
1908
|
-
receipt: createFeishuSendReceipt({
|
|
1909
|
-
messageId,
|
|
1910
|
-
chatId,
|
|
1911
|
-
kind,
|
|
1912
|
-
replyToId
|
|
1913
|
-
})
|
|
1861
|
+
async function saveMediaStreamWithIdleTimeout(stream, contentType, maxBytes, fileName, chunkTimeoutMs) {
|
|
1862
|
+
let teardownAttempted = false;
|
|
1863
|
+
const teardownSource = () => {
|
|
1864
|
+
if (teardownAttempted) return;
|
|
1865
|
+
teardownAttempted = true;
|
|
1866
|
+
try {
|
|
1867
|
+
destroySource(stream);
|
|
1868
|
+
} catch {}
|
|
1914
1869
|
};
|
|
1870
|
+
try {
|
|
1871
|
+
return await saveMediaStream(withChunkIdleTimeout(stream, chunkTimeoutMs, teardownSource), contentType, "inbound", maxBytes, fileName);
|
|
1872
|
+
} catch (error) {
|
|
1873
|
+
teardownSource();
|
|
1874
|
+
throw error;
|
|
1875
|
+
}
|
|
1915
1876
|
}
|
|
1916
1877
|
//#endregion
|
|
1917
1878
|
//#region extensions/feishu/src/send-target.ts
|
|
@@ -1933,6 +1894,11 @@ function resolveFeishuSendTarget(params) {
|
|
|
1933
1894
|
};
|
|
1934
1895
|
}
|
|
1935
1896
|
//#endregion
|
|
1897
|
+
//#region extensions/feishu/src/api-response.ts
|
|
1898
|
+
function assertFeishuApiSuccess(response, errorPrefix) {
|
|
1899
|
+
if (response.code !== 0) throw new Error(`${errorPrefix}: ${response.msg || `code ${response.code}`}`);
|
|
1900
|
+
}
|
|
1901
|
+
//#endregion
|
|
1936
1902
|
//#region extensions/feishu/src/post.ts
|
|
1937
1903
|
const FALLBACK_POST_TEXT = "[Rich text message]";
|
|
1938
1904
|
const MARKDOWN_SPECIAL_CHARS = /([\\`*_{}[\]()#+\-!|>~])/g;
|
|
@@ -1942,13 +1908,6 @@ function toStringOrEmpty(value) {
|
|
|
1942
1908
|
function escapeMarkdownText(text) {
|
|
1943
1909
|
return text.replace(MARKDOWN_SPECIAL_CHARS, "\\$1");
|
|
1944
1910
|
}
|
|
1945
|
-
function toBoolean(value) {
|
|
1946
|
-
return value === true || value === 1 || value === "true";
|
|
1947
|
-
}
|
|
1948
|
-
function isStyleEnabled(style, key) {
|
|
1949
|
-
if (!style) return false;
|
|
1950
|
-
return toBoolean(style[key]);
|
|
1951
|
-
}
|
|
1952
1911
|
function wrapInlineCode(text) {
|
|
1953
1912
|
const maxRun = Math.max(0, ...(text.match(/`+/g) ?? []).map((run) => run.length));
|
|
1954
1913
|
const fence = "`".repeat(maxRun + 1);
|
|
@@ -1957,17 +1916,15 @@ function wrapInlineCode(text) {
|
|
|
1957
1916
|
function sanitizeFenceLanguage(language) {
|
|
1958
1917
|
return language.trim().replace(/[^A-Za-z0-9_+#.-]/g, "");
|
|
1959
1918
|
}
|
|
1960
|
-
function
|
|
1961
|
-
const
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
if (
|
|
1966
|
-
if (
|
|
1967
|
-
if (
|
|
1968
|
-
|
|
1969
|
-
if (isStyleEnabled(style, "strikethrough") || isStyleEnabled(style, "line_through") || isStyleEnabled(style, "lineThrough")) rendered = `~~${rendered}~~`;
|
|
1970
|
-
return rendered;
|
|
1919
|
+
function applyInlineStyles(text, style) {
|
|
1920
|
+
const content = text.trim();
|
|
1921
|
+
if (!content || !Array.isArray(style)) return text;
|
|
1922
|
+
let rendered = content;
|
|
1923
|
+
if (style.includes("bold")) rendered = `**${rendered}**`;
|
|
1924
|
+
if (style.includes("italic")) rendered = `*${rendered}*`;
|
|
1925
|
+
if (style.includes("underline")) rendered = `<u>${rendered}</u>`;
|
|
1926
|
+
if (style.includes("lineThrough")) rendered = `~~${rendered}~~`;
|
|
1927
|
+
return text.replace(content, () => rendered);
|
|
1971
1928
|
}
|
|
1972
1929
|
function renderLinkElement(element) {
|
|
1973
1930
|
const href = toStringOrEmpty(element.href).trim();
|
|
@@ -1992,15 +1949,15 @@ function renderCodeBlockElement(element) {
|
|
|
1992
1949
|
function renderElement(element, attachments, mentionedOpenIds, renderMediaPlaceholders) {
|
|
1993
1950
|
if (!isRecord(element)) return escapeMarkdownText(toStringOrEmpty(element));
|
|
1994
1951
|
switch (normalizeLowercaseStringOrEmpty(toStringOrEmpty(element.tag))) {
|
|
1995
|
-
case "text": return
|
|
1996
|
-
case "a": return renderLinkElement(element);
|
|
1952
|
+
case "text": return applyInlineStyles(escapeMarkdownText(toStringOrEmpty(element.text)), element.style);
|
|
1953
|
+
case "a": return applyInlineStyles(renderLinkElement(element), element.style);
|
|
1997
1954
|
case "at":
|
|
1998
1955
|
{
|
|
1999
1956
|
const mentioned = toStringOrEmpty(element.open_id) || toStringOrEmpty(element.user_id);
|
|
2000
1957
|
const normalizedMention = normalizeFeishuExternalKey(mentioned);
|
|
2001
1958
|
if (normalizedMention) mentionedOpenIds.push(normalizedMention);
|
|
2002
1959
|
}
|
|
2003
|
-
return renderMentionElement(element);
|
|
1960
|
+
return applyInlineStyles(renderMentionElement(element), element.style);
|
|
2004
1961
|
case "img": {
|
|
2005
1962
|
const imageKey = normalizeFeishuExternalKey(toStringOrEmpty(element.image_key));
|
|
2006
1963
|
if (imageKey) attachments.push({
|
|
@@ -2062,7 +2019,18 @@ function resolvePostPayload(parsed) {
|
|
|
2062
2019
|
}
|
|
2063
2020
|
function parsePostContent(content, options = {}) {
|
|
2064
2021
|
try {
|
|
2065
|
-
|
|
2022
|
+
return renderPostContent(JSON.parse(content), options);
|
|
2023
|
+
} catch {
|
|
2024
|
+
return {
|
|
2025
|
+
textContent: FALLBACK_POST_TEXT,
|
|
2026
|
+
attachments: [],
|
|
2027
|
+
mentionedOpenIds: []
|
|
2028
|
+
};
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
function renderPostContent(parsed, options = {}) {
|
|
2032
|
+
try {
|
|
2033
|
+
const payload = resolvePostPayload(parsed);
|
|
2066
2034
|
if (!payload) return {
|
|
2067
2035
|
textContent: FALLBACK_POST_TEXT,
|
|
2068
2036
|
attachments: [],
|
|
@@ -2218,12 +2186,15 @@ function parseInteractiveCardContent(parsed) {
|
|
|
2218
2186
|
const text = extractInteractiveElementsText(elements, variables);
|
|
2219
2187
|
if (text) return title ? `${title}\n${text}` : text;
|
|
2220
2188
|
}
|
|
2221
|
-
const postText =
|
|
2189
|
+
const postText = renderPostContent(parsed).textContent.trim();
|
|
2222
2190
|
if (postText && postText !== POST_FALLBACK_TEXT) return postText;
|
|
2223
2191
|
return title || INTERACTIVE_CARD_FALLBACK_TEXT;
|
|
2224
2192
|
}
|
|
2225
2193
|
//#endregion
|
|
2226
2194
|
//#region extensions/feishu/src/types.ts
|
|
2195
|
+
function normalizeFeishuEventChatType(value) {
|
|
2196
|
+
return value === "group" || value === "topic_group" || value === "private" || value === "p2p" ? value : void 0;
|
|
2197
|
+
}
|
|
2227
2198
|
function isFeishuGroupChatType(chatType) {
|
|
2228
2199
|
return chatType === "group" || chatType === "topic_group";
|
|
2229
2200
|
}
|
|
@@ -2298,7 +2269,7 @@ function formatSubMessageContent(content, contentType) {
|
|
|
2298
2269
|
const parsed = JSON.parse(content);
|
|
2299
2270
|
switch (contentType) {
|
|
2300
2271
|
case "text": return parsed.text || content;
|
|
2301
|
-
case "post": return
|
|
2272
|
+
case "post": return renderPostContent(parsed).textContent;
|
|
2302
2273
|
case "interactive": return parseInteractiveCardContent(parsed);
|
|
2303
2274
|
case "image": return "[Image]";
|
|
2304
2275
|
case "file": return `[File: ${parsed.file_name || "unknown"}]`;
|
|
@@ -2312,16 +2283,9 @@ function formatSubMessageContent(content, contentType) {
|
|
|
2312
2283
|
return content;
|
|
2313
2284
|
}
|
|
2314
2285
|
}
|
|
2315
|
-
function parseMergeForwardContent(
|
|
2316
|
-
const { content } = params;
|
|
2286
|
+
function parseMergeForwardContent(items) {
|
|
2317
2287
|
const maxMessages = 50;
|
|
2318
|
-
|
|
2319
|
-
try {
|
|
2320
|
-
items = JSON.parse(content);
|
|
2321
|
-
} catch {
|
|
2322
|
-
return "[Merged and Forwarded Message - parse error]";
|
|
2323
|
-
}
|
|
2324
|
-
if (!Array.isArray(items) || items.length === 0) return "[Merged and Forwarded Message - no sub-messages]";
|
|
2288
|
+
if (items.length === 0) return "[Merged and Forwarded Message - no sub-messages]";
|
|
2325
2289
|
const container = items.find((item) => item.msg_type === "merge_forward" && !item.upper_message_id);
|
|
2326
2290
|
const subMessages = container ? items.filter((item) => item !== container) : items.filter((item) => item.upper_message_id);
|
|
2327
2291
|
if (subMessages.length === 0) return "[Merged and Forwarded Message - no sub-messages found]";
|
|
@@ -2334,6 +2298,63 @@ function parseMergeForwardContent(params) {
|
|
|
2334
2298
|
... [Merged-forward content truncated]`;
|
|
2335
2299
|
}
|
|
2336
2300
|
//#endregion
|
|
2301
|
+
//#region extensions/feishu/src/send-result.ts
|
|
2302
|
+
function resolveFeishuReceiptKind(msgType) {
|
|
2303
|
+
switch (msgType) {
|
|
2304
|
+
case "audio": return "voice";
|
|
2305
|
+
case "image":
|
|
2306
|
+
case "media":
|
|
2307
|
+
case "file":
|
|
2308
|
+
case "sticker": return "media";
|
|
2309
|
+
case "interactive": return "card";
|
|
2310
|
+
case "post":
|
|
2311
|
+
case "text": return "text";
|
|
2312
|
+
default: return "unknown";
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2315
|
+
function createFeishuSendReceipt(params) {
|
|
2316
|
+
const messageId = params.messageId?.trim();
|
|
2317
|
+
const chatId = params.chatId.trim();
|
|
2318
|
+
return createMessageReceiptFromOutboundResults({
|
|
2319
|
+
results: messageId ? [{
|
|
2320
|
+
channel: "feishu",
|
|
2321
|
+
messageId,
|
|
2322
|
+
chatId,
|
|
2323
|
+
conversationId: chatId
|
|
2324
|
+
}] : [],
|
|
2325
|
+
...params.replyToId?.trim() ? { replyToId: params.replyToId.trim() } : {},
|
|
2326
|
+
kind: params.kind ?? "unknown"
|
|
2327
|
+
});
|
|
2328
|
+
}
|
|
2329
|
+
function toFeishuSendResult(response, chatId, kind, errorPrefix = "Feishu send failed", replyToId) {
|
|
2330
|
+
const messageId = response.data?.message_id?.trim();
|
|
2331
|
+
if (!messageId) throw createChannelPartialDeliveryError(/* @__PURE__ */ new Error(`${errorPrefix}: no message_id returned`), {
|
|
2332
|
+
messageIds: [],
|
|
2333
|
+
visibleReplySent: true
|
|
2334
|
+
});
|
|
2335
|
+
return {
|
|
2336
|
+
messageId,
|
|
2337
|
+
chatId,
|
|
2338
|
+
receipt: createFeishuSendReceipt({
|
|
2339
|
+
messageId,
|
|
2340
|
+
chatId,
|
|
2341
|
+
kind,
|
|
2342
|
+
replyToId
|
|
2343
|
+
})
|
|
2344
|
+
};
|
|
2345
|
+
}
|
|
2346
|
+
function toFeishuMessageSendResult(result, kind) {
|
|
2347
|
+
const receipt = result.receipt ?? createFeishuSendReceipt({
|
|
2348
|
+
messageId: result.messageId,
|
|
2349
|
+
chatId: result.chatId ?? "",
|
|
2350
|
+
kind
|
|
2351
|
+
});
|
|
2352
|
+
return {
|
|
2353
|
+
messageId: result.messageId || receipt.primaryPlatformMessageId,
|
|
2354
|
+
receipt
|
|
2355
|
+
};
|
|
2356
|
+
}
|
|
2357
|
+
//#endregion
|
|
2337
2358
|
//#region extensions/feishu/src/send.ts
|
|
2338
2359
|
const WITHDRAWN_REPLY_ERROR_CODES = /* @__PURE__ */ new Set([230011, 231003]);
|
|
2339
2360
|
function shouldFallbackFromReplyTarget(response) {
|
|
@@ -2354,14 +2375,14 @@ function isWithdrawnReplyError(err) {
|
|
|
2354
2375
|
}
|
|
2355
2376
|
/** Send a direct message as a fallback when a reply target is unavailable. */
|
|
2356
2377
|
async function sendFallbackDirect(client, params, errorPrefix) {
|
|
2357
|
-
const response = await requestFeishuApi(() => client.im.message.create({
|
|
2378
|
+
const response = await requestFeishuApi(() => withFeishuMessageDispatch(() => client.im.message.create({
|
|
2358
2379
|
params: { receive_id_type: params.receiveIdType },
|
|
2359
2380
|
data: {
|
|
2360
2381
|
receive_id: params.receiveId,
|
|
2361
2382
|
content: params.content,
|
|
2362
2383
|
msg_type: params.msgType
|
|
2363
2384
|
}
|
|
2364
|
-
}), errorPrefix, { includeNestedErrorLogId: true });
|
|
2385
|
+
})), errorPrefix, { includeNestedErrorLogId: true });
|
|
2365
2386
|
assertFeishuApiSuccess(response, errorPrefix);
|
|
2366
2387
|
return toFeishuSendResult(response, params.receiveId, resolveFeishuReceiptKind(params.msgType), errorPrefix);
|
|
2367
2388
|
}
|
|
@@ -2370,14 +2391,14 @@ async function sendReplyOrFallbackDirect(client, params) {
|
|
|
2370
2391
|
const replyTargetFallbackError = params.replyInThread && params.allowTopLevelReplyFallback !== true ? /* @__PURE__ */ new Error("Feishu thread reply failed: reply target is unavailable and cannot safely fall back to a top-level send.") : null;
|
|
2371
2392
|
let response;
|
|
2372
2393
|
try {
|
|
2373
|
-
response = await requestFeishuApi(() => client.im.message.reply({
|
|
2394
|
+
response = await requestFeishuApi(() => withFeishuMessageDispatch(() => client.im.message.reply({
|
|
2374
2395
|
path: { message_id: params.replyToMessageId },
|
|
2375
2396
|
data: {
|
|
2376
2397
|
content: params.content,
|
|
2377
2398
|
msg_type: params.msgType,
|
|
2378
2399
|
...params.replyInThread ? { reply_in_thread: true } : {}
|
|
2379
2400
|
}
|
|
2380
|
-
}), params.replyErrorPrefix, { includeNestedErrorLogId: true });
|
|
2401
|
+
})), params.replyErrorPrefix, { includeNestedErrorLogId: true });
|
|
2381
2402
|
} catch (err) {
|
|
2382
2403
|
if (!isWithdrawnReplyError(err)) throw err;
|
|
2383
2404
|
if (replyTargetFallbackError) throw replyTargetFallbackError;
|
|
@@ -2404,7 +2425,7 @@ function parseFeishuMessageContent(rawContent, msgType, messageId) {
|
|
|
2404
2425
|
const text = parsed?.text;
|
|
2405
2426
|
return typeof text === "string" ? text : "[Text message]";
|
|
2406
2427
|
}
|
|
2407
|
-
if (msgType === "post") return
|
|
2428
|
+
if (msgType === "post") return renderPostContent(parsed).textContent;
|
|
2408
2429
|
if (msgType === "interactive") return parseInteractiveCardContent(parsed);
|
|
2409
2430
|
if (typeof parsed === "string") return parsed;
|
|
2410
2431
|
const genericText = parsed?.text;
|
|
@@ -2455,7 +2476,7 @@ async function getMessageFeishu(params) {
|
|
|
2455
2476
|
const parsedItem = parseFeishuMessageItem(item, messageId);
|
|
2456
2477
|
if (parsedItem.contentType === "merge_forward" && responseItems) return {
|
|
2457
2478
|
...parsedItem,
|
|
2458
|
-
content: parseMergeForwardContent(
|
|
2479
|
+
content: parseMergeForwardContent(responseItems)
|
|
2459
2480
|
};
|
|
2460
2481
|
return parsedItem;
|
|
2461
2482
|
} catch {
|
|
@@ -2706,14 +2727,6 @@ const FEISHU_TRANSCODABLE_AUDIO_EXTS = /* @__PURE__ */ new Set([
|
|
|
2706
2727
|
".webm",
|
|
2707
2728
|
".wma"
|
|
2708
2729
|
]);
|
|
2709
|
-
async function runBeforeFeishuMessageDispatch(operation) {
|
|
2710
|
-
try {
|
|
2711
|
-
return await operation();
|
|
2712
|
-
} catch (error) {
|
|
2713
|
-
if (error instanceof PlatformMessageNotDispatchedError) throw error;
|
|
2714
|
-
throw new PlatformMessageNotDispatchedError(`Feishu media preparation failed before message dispatch: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
2715
|
-
}
|
|
2716
|
-
}
|
|
2717
2730
|
function createConfiguredFeishuMediaClient(params) {
|
|
2718
2731
|
const account = resolveFeishuRuntimeAccount({
|
|
2719
2732
|
cfg: params.cfg,
|
|
@@ -2935,7 +2948,7 @@ async function sendImageFeishu(params) {
|
|
|
2935
2948
|
accountId
|
|
2936
2949
|
});
|
|
2937
2950
|
const content = JSON.stringify({ image_key: imageKey });
|
|
2938
|
-
|
|
2951
|
+
return sendReplyOrFallbackDirect(client, {
|
|
2939
2952
|
replyToMessageId,
|
|
2940
2953
|
replyInThread,
|
|
2941
2954
|
allowTopLevelReplyFallback,
|
|
@@ -2950,16 +2963,6 @@ async function sendImageFeishu(params) {
|
|
|
2950
2963
|
directErrorPrefix: "Feishu image send failed",
|
|
2951
2964
|
replyErrorPrefix: "Feishu image reply failed"
|
|
2952
2965
|
});
|
|
2953
|
-
const response = await requestFeishuApi(() => client.im.message.create({
|
|
2954
|
-
params: { receive_id_type: receiveIdType },
|
|
2955
|
-
data: {
|
|
2956
|
-
receive_id: receiveId,
|
|
2957
|
-
content,
|
|
2958
|
-
msg_type: "image"
|
|
2959
|
-
}
|
|
2960
|
-
}), "Feishu image send failed", { includeNestedErrorLogId: true });
|
|
2961
|
-
assertFeishuApiSuccess(response, "Feishu image send failed");
|
|
2962
|
-
return toFeishuSendResult(response, receiveId, "media", "Feishu image send failed");
|
|
2963
2966
|
}
|
|
2964
2967
|
/**
|
|
2965
2968
|
* Send a file message using a file_key
|
|
@@ -3353,24 +3356,20 @@ function assertFeishuCardWithinEnvelope(card, label = "Feishu card") {
|
|
|
3353
3356
|
/** Feishu allows at most five table components per static interactive card. */
|
|
3354
3357
|
const FEISHU_CARD_TABLE_LIMIT = 5;
|
|
3355
3358
|
function countMarkdownTables(text) {
|
|
3356
|
-
return text ? markdownToIRWithMeta(text, { tableMode: "block" }).tables.length : 0;
|
|
3359
|
+
return text.includes("|") ? markdownToIRWithMeta(text, { tableMode: "block" }).tables.length : 0;
|
|
3357
3360
|
}
|
|
3358
3361
|
function withinCardTableLimit(text) {
|
|
3359
3362
|
return countMarkdownTables(text) <= FEISHU_CARD_TABLE_LIMIT;
|
|
3360
3363
|
}
|
|
3361
|
-
function collectFeishuCardMarkdownTexts(value, output) {
|
|
3362
|
-
if (Array.isArray(value)) {
|
|
3363
|
-
for (const item of value) collectFeishuCardMarkdownTexts(item, output);
|
|
3364
|
-
return;
|
|
3365
|
-
}
|
|
3366
|
-
if (!isRecord(value)) return;
|
|
3367
|
-
if (value.tag === "markdown" && typeof value.content === "string") output.push(value.content);
|
|
3368
|
-
for (const child of Object.values(value)) collectFeishuCardMarkdownTexts(child, output);
|
|
3369
|
-
}
|
|
3370
3364
|
function feishuCardWithinTableLimit(card) {
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3365
|
+
let remaining = FEISHU_CARD_TABLE_LIMIT;
|
|
3366
|
+
const visit = (value) => {
|
|
3367
|
+
if (Array.isArray(value)) return value.every(visit);
|
|
3368
|
+
if (!isRecord(value)) return true;
|
|
3369
|
+
if (value.tag === "markdown" && typeof value.content === "string") remaining -= countMarkdownTables(value.content);
|
|
3370
|
+
return remaining >= 0 && Object.values(value).every(visit);
|
|
3371
|
+
};
|
|
3372
|
+
return visit(card);
|
|
3374
3373
|
}
|
|
3375
3374
|
function resolveFeishuButtonUrl(button) {
|
|
3376
3375
|
if (button.action?.type === "url" || button.action?.type === "web-app") return button.action.url;
|
|
@@ -3661,4 +3660,4 @@ function createFeishuPartialReplyDeliveryError(cause, result) {
|
|
|
3661
3660
|
});
|
|
3662
3661
|
}
|
|
3663
3662
|
//#endregion
|
|
3664
|
-
export {
|
|
3663
|
+
export { createCommentTypingReactionLifecycle as $, sendStructuredCardFeishu as A, resolveFeishuChatType as At, assertFeishuApiSuccess as B, shouldSuppressFeishuTextForVoiceMedia as C, resolveFeishuDmIngressAccess as Ct, listFeishuThreadMessages as D, resolveFeishuGroupToolPolicy as Dt, getMessageFeishu as E, resolveFeishuGroupSenderActivationIngressAccess as Et, isMentionForwardRequest as F, registerFeishuDriveTools as G, resolveFeishuIdentityEmoji as H, isFeishuGroupChatType as I, unknownToolActionResult as J, feishuExternalToolResult as K, normalizeFeishuEventChatType as L, formatFeishuMediaContent as M, buildFeishuCardActionTextFallback as Mt, extractMentionTargets as N, createFeishuCardInteractionEnvelope as Nt, sendCardFeishu as O, resolveFeishuReplyPolicy as Ot, isFeishuBroadcastMention as P, decodeFeishuCardAction as Pt, cleanupAmbientCommentTypingReaction as Q, parseInteractiveCardContent as R, sendStickerFeishu as S, normalizeFeishuAllowEntry as St, editMessageFeishu as T, resolveFeishuGroupConversationIngressAccess as Tt, resolveFeishuIdentityHeaderTitle as U, buildFeishuMediaFallbackText as V, deliverCommentThreadText as W, resolveAnyEnabledFeishuToolsConfig as X, createFeishuToolClient as Y, resolveFeishuToolAccount as Z, renderFeishuReplyPayload as _, canEnumerateAllFeishuPeers as _t, FEISHU_PRESENTATION_CAPABILITIES as a, buildFeishuCommentTarget as at, saveMessageResourceFeishu as b, resolveFeishuChatReadPreliminaryAuthorization as bt, buildFeishuPresentationCard as c, readNativeFeishuCardJson as ct, feishuCardWithinTableLimit as d, chunkFeishuPostMarkdown as dt, encodeQuery as et, isFeishuCardWithinEnvelope as f, materializeFeishuPostMarkdownSoftBreaks as ft, renderFeishuPresentationPayload as g, canEnumerateAllFeishuGroups as gt, renderFeishuPresentationFallbackText as h, authorizeFeishuChatMemberRead as ht, noVisibleFeishuReplyDelivery as i, requestFeishuApi as it, toFeishuMessageSendResult as j, FEISHU_CARD_INTERACTION_VERSION as jt, sendMessageFeishu as k, normalizeFeishuChatType as kt, buildFeishuPresentationFallback as l, resolveFeishuCardTemplate as lt, readNativeFeishuCard as m, assertFeishuChatReadAllowed as mt, createFeishuReplyDeliveryResult as n, formatFeishuApiError as nt, assertFeishuCardWithinEnvelope as o, normalizeCommentFileType as ot, markRenderedFeishuCard as p, parseFeishuMarkdown as pt, toolExecutionErrorResult as q, mergeFeishuReplyDeliveryResults as r, parseCommentContentElements as rt, buildFeishuPayloadCard as s, parseFeishuCommentTarget as st, createFeishuPartialReplyDeliveryError as t, extractReplyText as tt, consumeFeishuPresentationFallbackMarker as u, chunkFeishuMarkdown as ut, resolveFeishuRichReply as v, isFeishuGroupReadAllowed as vt, chunkFeishuCardMarkdown as w, resolveFeishuGroupConfig as wt, sendMediaFeishu as x, hasExplicitFeishuGroupConfig as xt, withinCardTableLimit as y, isFeishuGroupReadEnabled as yt, parsePostContent as z };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-
|
|
1
|
+
import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-H-lUayji.mjs";
|
|
2
2
|
//#region extensions/feishu/src/session-conversation.ts
|
|
3
3
|
function resolveFeishuParentConversationCandidates(rawId) {
|
|
4
4
|
const parsed = parseFeishuConversationId({ conversationId: rawId });
|