@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.
Files changed (743) hide show
  1. package/assets/activity.svg +3 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{accounts-cCMNFBKg.js → .setup/accounts-DmU0xYPx.mjs} +1 -1
  4. package/dist/{app-registration-BI99e_JI.js → .setup/app-registration-Bv4mvauR.mjs} +1 -1
  5. package/dist/{channel-HDnQAH4Z.js → .setup/channel-C1KrXXJa.mjs} +93 -86
  6. package/dist/{channel.runtime-B-f6ajOp.js → .setup/channel.runtime-Bizuv7WZ.mjs} +32 -18
  7. package/dist/{chat-zhIPXu4X.js → .setup/chat-dWJYS63b.mjs} +2 -2
  8. package/dist/{client-DMbIL3UH.js → .setup/client-DCwNVFZg.mjs} +128 -11
  9. package/dist/{conversation-id-VYgGQ-GX.js → .setup/conversation-id-H-lUayji.mjs} +49 -14
  10. package/dist/{monitor-EuNsFn2T.js → .setup/monitor-C69OLzgO.mjs} +4 -4
  11. package/dist/{monitor.account-CZ7EtqYS.js → .setup/monitor.account-zwHb3HKM.mjs} +68 -52
  12. package/dist/{probe-D_SatdZl.js → .setup/probe-bdidyhAn.mjs} +2 -2
  13. package/dist/{reply-delivery-result-C3smdVzb.js → .setup/reply-delivery-result-DFjxGLgX.mjs} +129 -116
  14. package/dist/.setup/runtime-setter-api-CG-RC4_r.mjs +3 -0
  15. package/dist/.setup/secret-contract-api-jmCkqVLc.mjs +3 -0
  16. package/dist/{security-audit-DKfR4Cv3.js → .setup/security-audit-CmiKKfU-.mjs} +1 -1
  17. package/dist/{session-conversation-DFCIvQK-.js → .setup/session-conversation-ZC6TC1zk.mjs} +1 -1
  18. package/dist/.setup/setup-api-CTRwX09n.mjs +3 -0
  19. package/dist/{subagent-hooks-Buadpie_.js → .setup/subagent-hooks-BBfF1hZk.mjs} +3 -19
  20. package/dist/api.js +29 -15
  21. package/dist/channel-plugin-api.js +1 -1
  22. package/dist/contract-api.js +3 -3
  23. package/dist/doctor-contract-api.js +1 -1
  24. package/dist/runtime-api.js +1 -1
  25. package/dist/runtime-setter-api.js +1 -1
  26. package/dist/secret-contract-api.js +1 -1
  27. package/dist/security-contract-api.js +1 -1
  28. package/dist/session-binding-contract-api.js +1 -1
  29. package/dist/session-key-api.js +1 -1
  30. package/dist/setup-api.js +1 -1
  31. package/dist/setup-entry.js +4 -3
  32. package/dist/subagent-hooks-api.js +1 -1
  33. package/node_modules/@larksuiteoapi/node-sdk/es/index.js +199 -35
  34. package/node_modules/@larksuiteoapi/node-sdk/lib/index.js +199 -35
  35. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/CHANGELOG.md +62 -0
  36. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/README.md +233 -5
  37. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/axios.js +387 -89
  38. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/axios.min.js +3 -3
  39. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/axios.min.js.map +1 -1
  40. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/browser/axios.cjs +458 -98
  41. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/esm/axios.js +458 -98
  42. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/esm/axios.min.js +2 -2
  43. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  44. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/dist/node/axios.cjs +568 -116
  45. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/index.d.cts +4 -0
  46. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/index.d.ts +4 -0
  47. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/adapters/fetch.js +64 -11
  48. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/adapters/http.js +134 -50
  49. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/adapters/xhr.js +52 -3
  50. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/Axios.js +19 -14
  51. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/InterceptorManager.js +107 -8
  52. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/buildFullPath.js +1 -13
  53. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/dispatchRequest.js +8 -2
  54. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/mergeConfig.js +1 -1
  55. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/core/methodList.js +17 -0
  56. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/defaults/index.js +2 -1
  57. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/env/data.js +1 -1
  58. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
  59. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/HttpStatusCode.js +11 -1
  60. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
  61. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  62. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/progressEventReducer.js +1 -1
  63. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/resolveConfig.js +4 -2
  64. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/shouldBypassProxy.js +182 -6
  65. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/throttle.js +3 -2
  66. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/helpers/toFormData.js +14 -21
  67. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/lib/utils.js +134 -13
  68. package/node_modules/@larksuiteoapi/node-sdk/node_modules/axios/package.json +1 -1
  69. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/README.md +24 -17
  70. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.js +124 -14
  71. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  72. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  73. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  74. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.js +63 -9
  75. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  76. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  77. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  78. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.js +133 -18
  79. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  80. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  81. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  82. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/descriptor.generated.d.ts +7 -0
  83. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/descriptor.js +24 -0
  84. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/protojson.js +14 -4
  85. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/ext/textformat.js +8 -4
  86. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/google/protobuf/descriptor.json +20 -1
  87. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/google/protobuf/descriptor.proto +14 -1
  88. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/index.d.ts +12 -0
  89. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/package.json +1 -1
  90. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/decoder.js +31 -2
  91. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/enum.js +10 -0
  92. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/object.js +5 -2
  93. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/parse.js +9 -4
  94. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/reader.js +61 -7
  95. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/type.js +10 -0
  96. package/node_modules/@larksuiteoapi/node-sdk/node_modules/protobufjs/src/wrappers.js +5 -1
  97. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/.github/THREAT_MODEL.md +3 -3
  98. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/CHANGELOG.md +15 -0
  99. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/README.md +19 -1
  100. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/dist/qs.js +21 -21
  101. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/eslint.config.mjs +1 -1
  102. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/lib/parse.js +3 -4
  103. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/lib/stringify.js +23 -8
  104. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/lib/utils.js +10 -3
  105. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/package.json +4 -4
  106. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/test/parse.js +192 -3
  107. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/test/stringify.js +317 -0
  108. package/node_modules/@larksuiteoapi/node-sdk/node_modules/qs/test/utils.js +12 -0
  109. package/node_modules/@larksuiteoapi/node-sdk/package.json +1 -1
  110. package/node_modules/@larksuiteoapi/node-sdk/types/index.d.ts +35 -0
  111. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  112. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  113. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  114. package/node_modules/typebox/build/format/iri.mjs +5 -1
  115. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  116. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  117. package/node_modules/typebox/build/guard/string.mjs +16 -24
  118. package/node_modules/typebox/build/schema/build.mjs +2 -2
  119. package/node_modules/typebox/build/schema/check.mjs +1 -1
  120. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  121. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  122. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  123. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  124. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  125. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  126. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  127. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  128. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  129. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  130. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  131. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  132. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  133. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  134. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  135. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  136. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  137. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  138. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  139. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  140. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  141. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  142. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  143. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  144. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  145. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  146. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  147. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  148. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  149. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  150. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  151. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  152. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  153. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  154. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  155. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  156. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  157. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  158. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  159. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  160. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  161. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  162. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  163. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  164. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  165. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  166. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  167. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  168. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  169. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  170. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  171. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  172. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  173. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  174. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  175. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  176. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  177. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  178. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  179. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  180. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  181. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  182. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  183. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  184. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  185. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  186. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  187. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  188. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  189. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  190. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  191. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  192. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  193. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  194. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  195. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  196. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  197. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  198. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  199. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  200. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  201. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  202. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  203. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  204. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  205. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  206. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  207. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  208. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  209. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  210. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  211. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  212. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  213. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  214. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  215. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  216. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  217. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  218. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  219. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  220. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  221. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  222. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  223. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  224. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  225. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  226. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  227. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  228. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  229. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  230. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  231. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  232. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  233. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  234. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  235. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  236. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  237. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  238. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  239. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  240. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  241. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  242. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  243. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  244. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  245. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  246. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  247. package/node_modules/typebox/package.json +1 -1
  248. package/node_modules/typebox/readme.md +59 -89
  249. package/node_modules/zod/README.md +27 -0
  250. package/node_modules/zod/compile.cjs +77 -0
  251. package/node_modules/zod/compile.d.cts +1 -0
  252. package/node_modules/zod/compile.d.ts +1 -0
  253. package/node_modules/zod/compile.js +52 -0
  254. package/node_modules/zod/index.cjs +2 -2
  255. package/node_modules/zod/index.d.cts +1 -2
  256. package/node_modules/zod/index.d.ts +1 -2
  257. package/node_modules/zod/index.js +5 -2
  258. package/node_modules/zod/package.json +13 -2
  259. package/node_modules/zod/src/compile.ts +56 -0
  260. package/node_modules/zod/src/index.ts +5 -2
  261. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  262. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  263. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  264. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  265. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  266. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  267. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  268. package/node_modules/zod/src/v3/types.ts +5 -5
  269. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  270. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  271. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  272. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  273. package/node_modules/zod/src/v4/classic/external.ts +12 -9
  274. package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
  275. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  276. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  277. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  278. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  279. package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
  280. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  281. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  282. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
  283. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
  284. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  285. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  286. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  287. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  288. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  289. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
  290. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  291. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  292. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  293. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  294. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  295. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  296. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
  297. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
  298. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  299. package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
  300. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
  301. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  302. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  303. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  304. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  305. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  306. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
  307. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
  308. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  309. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
  310. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  311. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  312. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  313. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  314. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  315. package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
  316. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
  317. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  318. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  319. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  320. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  321. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  322. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
  323. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  324. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  325. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  326. package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
  327. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  328. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
  329. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
  330. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  331. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  332. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
  333. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  334. package/node_modules/zod/src/v4/core/api.ts +48 -12
  335. package/node_modules/zod/src/v4/core/checks.ts +57 -44
  336. package/node_modules/zod/src/v4/core/compile.ts +2188 -0
  337. package/node_modules/zod/src/v4/core/core.ts +98 -19
  338. package/node_modules/zod/src/v4/core/doc.ts +11 -7
  339. package/node_modules/zod/src/v4/core/errors.ts +115 -24
  340. package/node_modules/zod/src/v4/core/index.ts +3 -0
  341. package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
  342. package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
  343. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  344. package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
  345. package/node_modules/zod/src/v4/core/parse.ts +131 -38
  346. package/node_modules/zod/src/v4/core/regexes.ts +30 -13
  347. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  348. package/node_modules/zod/src/v4/core/schemas.ts +759 -461
  349. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  350. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  351. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  352. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  353. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
  354. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  355. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  356. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  357. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  358. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  359. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  360. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  361. package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
  362. package/node_modules/zod/src/v4/core/util.ts +268 -42
  363. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  364. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  365. package/node_modules/zod/src/v4/index.ts +3 -3
  366. package/node_modules/zod/src/v4/locales/ar.ts +3 -0
  367. package/node_modules/zod/src/v4/locales/az.ts +3 -0
  368. package/node_modules/zod/src/v4/locales/be.ts +10 -0
  369. package/node_modules/zod/src/v4/locales/bg.ts +3 -0
  370. package/node_modules/zod/src/v4/locales/bn.ts +121 -0
  371. package/node_modules/zod/src/v4/locales/ca.ts +3 -0
  372. package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
  373. package/node_modules/zod/src/v4/locales/cs.ts +3 -0
  374. package/node_modules/zod/src/v4/locales/da.ts +5 -2
  375. package/node_modules/zod/src/v4/locales/de.ts +3 -0
  376. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  377. package/node_modules/zod/src/v4/locales/en.ts +15 -4
  378. package/node_modules/zod/src/v4/locales/eo.ts +3 -0
  379. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  380. package/node_modules/zod/src/v4/locales/fa.ts +3 -0
  381. package/node_modules/zod/src/v4/locales/fi.ts +3 -0
  382. package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
  383. package/node_modules/zod/src/v4/locales/fr.ts +19 -14
  384. package/node_modules/zod/src/v4/locales/gu.ts +121 -0
  385. package/node_modules/zod/src/v4/locales/he.ts +6 -1
  386. package/node_modules/zod/src/v4/locales/hi.ts +124 -0
  387. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  388. package/node_modules/zod/src/v4/locales/hu.ts +3 -0
  389. package/node_modules/zod/src/v4/locales/hy.ts +9 -0
  390. package/node_modules/zod/src/v4/locales/id.ts +3 -0
  391. package/node_modules/zod/src/v4/locales/index.ts +10 -0
  392. package/node_modules/zod/src/v4/locales/is.ts +3 -0
  393. package/node_modules/zod/src/v4/locales/it.ts +3 -0
  394. package/node_modules/zod/src/v4/locales/ja.ts +3 -0
  395. package/node_modules/zod/src/v4/locales/ka.ts +3 -0
  396. package/node_modules/zod/src/v4/locales/km.ts +3 -0
  397. package/node_modules/zod/src/v4/locales/kn.ts +124 -0
  398. package/node_modules/zod/src/v4/locales/ko.ts +3 -0
  399. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  400. package/node_modules/zod/src/v4/locales/mk.ts +3 -0
  401. package/node_modules/zod/src/v4/locales/ms.ts +3 -0
  402. package/node_modules/zod/src/v4/locales/ne.ts +126 -0
  403. package/node_modules/zod/src/v4/locales/nl.ts +3 -0
  404. package/node_modules/zod/src/v4/locales/nn.ts +119 -0
  405. package/node_modules/zod/src/v4/locales/no.ts +5 -2
  406. package/node_modules/zod/src/v4/locales/ota.ts +3 -0
  407. package/node_modules/zod/src/v4/locales/pl.ts +3 -0
  408. package/node_modules/zod/src/v4/locales/ps.ts +3 -0
  409. package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
  410. package/node_modules/zod/src/v4/locales/pt.ts +99 -58
  411. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  412. package/node_modules/zod/src/v4/locales/ru.ts +10 -0
  413. package/node_modules/zod/src/v4/locales/sk.ts +121 -0
  414. package/node_modules/zod/src/v4/locales/sl.ts +3 -0
  415. package/node_modules/zod/src/v4/locales/sv.ts +5 -2
  416. package/node_modules/zod/src/v4/locales/ta.ts +3 -0
  417. package/node_modules/zod/src/v4/locales/th.ts +3 -0
  418. package/node_modules/zod/src/v4/locales/tk.ts +111 -0
  419. package/node_modules/zod/src/v4/locales/tr.ts +3 -0
  420. package/node_modules/zod/src/v4/locales/uk.ts +3 -0
  421. package/node_modules/zod/src/v4/locales/ur.ts +3 -0
  422. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  423. package/node_modules/zod/src/v4/locales/vi.ts +3 -0
  424. package/node_modules/zod/src/v4/locales/yo.ts +3 -0
  425. package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
  426. package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
  427. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  428. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  429. package/node_modules/zod/src/v4/mini/external.ts +10 -1
  430. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  431. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  432. package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
  433. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  434. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  435. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  436. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  437. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  438. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  439. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  440. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  441. package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
  442. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  443. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  444. package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
  445. package/node_modules/zod/v3/ZodError.cjs +22 -12
  446. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  447. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  448. package/node_modules/zod/v3/ZodError.js +22 -12
  449. package/node_modules/zod/v3/types.cjs +7 -5
  450. package/node_modules/zod/v3/types.js +7 -5
  451. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  452. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  453. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  454. package/node_modules/zod/v4/classic/checks.js +1 -1
  455. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  456. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  457. package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
  458. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  459. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  460. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  461. package/node_modules/zod/v4/classic/errors.cjs +43 -34
  462. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  463. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  464. package/node_modules/zod/v4/classic/errors.js +43 -34
  465. package/node_modules/zod/v4/classic/external.cjs +30 -27
  466. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  467. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  468. package/node_modules/zod/v4/classic/external.js +5 -8
  469. package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
  470. package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
  471. package/node_modules/zod/v4/classic/in-out.cjs +63 -0
  472. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  473. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  474. package/node_modules/zod/v4/classic/in-out.js +36 -0
  475. package/node_modules/zod/v4/classic/index.cjs +2 -2
  476. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  477. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  478. package/node_modules/zod/v4/classic/index.js +2 -2
  479. package/node_modules/zod/v4/classic/iso.cjs +11 -22
  480. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  481. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  482. package/node_modules/zod/v4/classic/iso.js +2 -17
  483. package/node_modules/zod/v4/classic/parse.cjs +4 -1
  484. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  485. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  486. package/node_modules/zod/v4/classic/parse.js +1 -0
  487. package/node_modules/zod/v4/classic/schemas.cjs +498 -398
  488. package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
  489. package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
  490. package/node_modules/zod/v4/classic/schemas.js +492 -396
  491. package/node_modules/zod/v4/core/api.cjs +23 -4
  492. package/node_modules/zod/v4/core/api.d.cts +13 -9
  493. package/node_modules/zod/v4/core/api.d.ts +13 -9
  494. package/node_modules/zod/v4/core/api.js +21 -4
  495. package/node_modules/zod/v4/core/checks.cjs +37 -31
  496. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  497. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  498. package/node_modules/zod/v4/core/checks.js +37 -31
  499. package/node_modules/zod/v4/core/compile.cjs +1813 -0
  500. package/node_modules/zod/v4/core/compile.d.cts +51 -0
  501. package/node_modules/zod/v4/core/compile.d.ts +51 -0
  502. package/node_modules/zod/v4/core/compile.js +1783 -0
  503. package/node_modules/zod/v4/core/core.cjs +81 -18
  504. package/node_modules/zod/v4/core/core.d.cts +16 -4
  505. package/node_modules/zod/v4/core/core.d.ts +16 -4
  506. package/node_modules/zod/v4/core/core.js +82 -19
  507. package/node_modules/zod/v4/core/doc.cjs +5 -7
  508. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  509. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  510. package/node_modules/zod/v4/core/doc.js +5 -7
  511. package/node_modules/zod/v4/core/errors.cjs +110 -25
  512. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  513. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  514. package/node_modules/zod/v4/core/errors.js +110 -25
  515. package/node_modules/zod/v4/core/index.cjs +5 -1
  516. package/node_modules/zod/v4/core/index.d.cts +3 -0
  517. package/node_modules/zod/v4/core/index.d.ts +3 -0
  518. package/node_modules/zod/v4/core/index.js +3 -0
  519. package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
  520. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  521. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  522. package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
  523. package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
  524. package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
  525. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  526. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  527. package/node_modules/zod/v4/core/memoizer.cjs +272 -0
  528. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  529. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  530. package/node_modules/zod/v4/core/memoizer.js +265 -0
  531. package/node_modules/zod/v4/core/parse.cjs +96 -34
  532. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  533. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  534. package/node_modules/zod/v4/core/parse.js +94 -33
  535. package/node_modules/zod/v4/core/regexes.cjs +27 -15
  536. package/node_modules/zod/v4/core/regexes.d.cts +2 -0
  537. package/node_modules/zod/v4/core/regexes.d.ts +2 -0
  538. package/node_modules/zod/v4/core/regexes.js +24 -13
  539. package/node_modules/zod/v4/core/registries.js +2 -2
  540. package/node_modules/zod/v4/core/schemas.cjs +537 -326
  541. package/node_modules/zod/v4/core/schemas.d.cts +100 -31
  542. package/node_modules/zod/v4/core/schemas.d.ts +100 -31
  543. package/node_modules/zod/v4/core/schemas.js +526 -325
  544. package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
  545. package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
  546. package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
  547. package/node_modules/zod/v4/core/to-json-schema.js +241 -39
  548. package/node_modules/zod/v4/core/util.cjs +212 -31
  549. package/node_modules/zod/v4/core/util.d.cts +58 -1
  550. package/node_modules/zod/v4/core/util.d.ts +58 -1
  551. package/node_modules/zod/v4/core/util.js +202 -30
  552. package/node_modules/zod/v4/core/versions.cjs +2 -2
  553. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  554. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  555. package/node_modules/zod/v4/core/versions.js +2 -2
  556. package/node_modules/zod/v4/core/visit.cjs +195 -0
  557. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  558. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  559. package/node_modules/zod/v4/core/visit.js +169 -0
  560. package/node_modules/zod/v4/index.cjs +15 -5
  561. package/node_modules/zod/v4/index.d.cts +2 -2
  562. package/node_modules/zod/v4/index.d.ts +2 -2
  563. package/node_modules/zod/v4/index.js +3 -2
  564. package/node_modules/zod/v4/locales/ar.cjs +3 -0
  565. package/node_modules/zod/v4/locales/ar.js +3 -0
  566. package/node_modules/zod/v4/locales/az.cjs +3 -0
  567. package/node_modules/zod/v4/locales/az.js +3 -0
  568. package/node_modules/zod/v4/locales/be.cjs +10 -0
  569. package/node_modules/zod/v4/locales/be.js +10 -0
  570. package/node_modules/zod/v4/locales/bg.cjs +3 -0
  571. package/node_modules/zod/v4/locales/bg.js +3 -0
  572. package/node_modules/zod/v4/locales/bn.cjs +138 -0
  573. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  574. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  575. package/node_modules/zod/v4/locales/bn.js +111 -0
  576. package/node_modules/zod/v4/locales/ca.cjs +3 -0
  577. package/node_modules/zod/v4/locales/ca.js +3 -0
  578. package/node_modules/zod/v4/locales/ckb.cjs +158 -0
  579. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  580. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  581. package/node_modules/zod/v4/locales/ckb.js +131 -0
  582. package/node_modules/zod/v4/locales/cs.cjs +3 -0
  583. package/node_modules/zod/v4/locales/cs.js +3 -0
  584. package/node_modules/zod/v4/locales/da.cjs +5 -2
  585. package/node_modules/zod/v4/locales/da.js +5 -2
  586. package/node_modules/zod/v4/locales/de.cjs +3 -0
  587. package/node_modules/zod/v4/locales/de.js +3 -0
  588. package/node_modules/zod/v4/locales/el.cjs +1 -0
  589. package/node_modules/zod/v4/locales/el.js +1 -0
  590. package/node_modules/zod/v4/locales/en.cjs +14 -4
  591. package/node_modules/zod/v4/locales/en.js +14 -4
  592. package/node_modules/zod/v4/locales/eo.cjs +3 -0
  593. package/node_modules/zod/v4/locales/eo.js +3 -0
  594. package/node_modules/zod/v4/locales/es.cjs +2 -0
  595. package/node_modules/zod/v4/locales/es.js +2 -0
  596. package/node_modules/zod/v4/locales/fa.cjs +3 -0
  597. package/node_modules/zod/v4/locales/fa.js +3 -0
  598. package/node_modules/zod/v4/locales/fi.cjs +3 -0
  599. package/node_modules/zod/v4/locales/fi.js +3 -0
  600. package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
  601. package/node_modules/zod/v4/locales/fr-CA.js +3 -0
  602. package/node_modules/zod/v4/locales/fr.cjs +16 -14
  603. package/node_modules/zod/v4/locales/fr.js +16 -14
  604. package/node_modules/zod/v4/locales/gu.cjs +138 -0
  605. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  606. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  607. package/node_modules/zod/v4/locales/gu.js +111 -0
  608. package/node_modules/zod/v4/locales/he.cjs +5 -0
  609. package/node_modules/zod/v4/locales/he.js +5 -0
  610. package/node_modules/zod/v4/locales/hi.cjs +136 -0
  611. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  612. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  613. package/node_modules/zod/v4/locales/hi.js +109 -0
  614. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  615. package/node_modules/zod/v4/locales/hr.js +2 -0
  616. package/node_modules/zod/v4/locales/hu.cjs +3 -0
  617. package/node_modules/zod/v4/locales/hu.js +3 -0
  618. package/node_modules/zod/v4/locales/hy.cjs +9 -0
  619. package/node_modules/zod/v4/locales/hy.js +9 -0
  620. package/node_modules/zod/v4/locales/id.cjs +3 -0
  621. package/node_modules/zod/v4/locales/id.js +3 -0
  622. package/node_modules/zod/v4/locales/index.cjs +22 -2
  623. package/node_modules/zod/v4/locales/index.d.cts +10 -0
  624. package/node_modules/zod/v4/locales/index.d.ts +10 -0
  625. package/node_modules/zod/v4/locales/index.js +10 -0
  626. package/node_modules/zod/v4/locales/is.cjs +3 -0
  627. package/node_modules/zod/v4/locales/is.js +3 -0
  628. package/node_modules/zod/v4/locales/it.cjs +3 -0
  629. package/node_modules/zod/v4/locales/it.js +3 -0
  630. package/node_modules/zod/v4/locales/ja.cjs +3 -0
  631. package/node_modules/zod/v4/locales/ja.js +3 -0
  632. package/node_modules/zod/v4/locales/ka.cjs +3 -0
  633. package/node_modules/zod/v4/locales/ka.js +3 -0
  634. package/node_modules/zod/v4/locales/km.cjs +3 -0
  635. package/node_modules/zod/v4/locales/km.js +3 -0
  636. package/node_modules/zod/v4/locales/kn.cjs +141 -0
  637. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  638. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  639. package/node_modules/zod/v4/locales/kn.js +114 -0
  640. package/node_modules/zod/v4/locales/ko.cjs +3 -0
  641. package/node_modules/zod/v4/locales/ko.js +3 -0
  642. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  643. package/node_modules/zod/v4/locales/lt.js +2 -0
  644. package/node_modules/zod/v4/locales/mk.cjs +3 -0
  645. package/node_modules/zod/v4/locales/mk.js +3 -0
  646. package/node_modules/zod/v4/locales/ms.cjs +3 -0
  647. package/node_modules/zod/v4/locales/ms.js +3 -0
  648. package/node_modules/zod/v4/locales/ne.cjs +136 -0
  649. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  650. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  651. package/node_modules/zod/v4/locales/ne.js +109 -0
  652. package/node_modules/zod/v4/locales/nl.cjs +3 -0
  653. package/node_modules/zod/v4/locales/nl.js +3 -0
  654. package/node_modules/zod/v4/locales/nn.cjs +138 -0
  655. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  656. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  657. package/node_modules/zod/v4/locales/nn.js +111 -0
  658. package/node_modules/zod/v4/locales/no.cjs +5 -2
  659. package/node_modules/zod/v4/locales/no.js +5 -2
  660. package/node_modules/zod/v4/locales/ota.cjs +3 -0
  661. package/node_modules/zod/v4/locales/ota.js +3 -0
  662. package/node_modules/zod/v4/locales/pl.cjs +3 -0
  663. package/node_modules/zod/v4/locales/pl.js +3 -0
  664. package/node_modules/zod/v4/locales/ps.cjs +3 -0
  665. package/node_modules/zod/v4/locales/ps.js +3 -0
  666. package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
  667. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  668. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  669. package/node_modules/zod/v4/locales/pt-BR.js +141 -0
  670. package/node_modules/zod/v4/locales/pt.cjs +87 -55
  671. package/node_modules/zod/v4/locales/pt.js +87 -55
  672. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  673. package/node_modules/zod/v4/locales/ro.js +1 -0
  674. package/node_modules/zod/v4/locales/ru.cjs +10 -0
  675. package/node_modules/zod/v4/locales/ru.js +10 -0
  676. package/node_modules/zod/v4/locales/sk.cjs +141 -0
  677. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  678. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  679. package/node_modules/zod/v4/locales/sk.js +114 -0
  680. package/node_modules/zod/v4/locales/sl.cjs +3 -0
  681. package/node_modules/zod/v4/locales/sl.js +3 -0
  682. package/node_modules/zod/v4/locales/sv.cjs +5 -2
  683. package/node_modules/zod/v4/locales/sv.js +5 -2
  684. package/node_modules/zod/v4/locales/ta.cjs +3 -0
  685. package/node_modules/zod/v4/locales/ta.js +3 -0
  686. package/node_modules/zod/v4/locales/th.cjs +3 -0
  687. package/node_modules/zod/v4/locales/th.js +3 -0
  688. package/node_modules/zod/v4/locales/tk.cjs +132 -0
  689. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  690. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  691. package/node_modules/zod/v4/locales/tk.js +105 -0
  692. package/node_modules/zod/v4/locales/tr.cjs +3 -0
  693. package/node_modules/zod/v4/locales/tr.js +3 -0
  694. package/node_modules/zod/v4/locales/uk.cjs +3 -0
  695. package/node_modules/zod/v4/locales/uk.js +3 -0
  696. package/node_modules/zod/v4/locales/ur.cjs +3 -0
  697. package/node_modules/zod/v4/locales/ur.js +3 -0
  698. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  699. package/node_modules/zod/v4/locales/uz.js +1 -0
  700. package/node_modules/zod/v4/locales/vi.cjs +3 -0
  701. package/node_modules/zod/v4/locales/vi.js +3 -0
  702. package/node_modules/zod/v4/locales/yo.cjs +3 -0
  703. package/node_modules/zod/v4/locales/yo.js +3 -0
  704. package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
  705. package/node_modules/zod/v4/locales/zh-CN.js +3 -0
  706. package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
  707. package/node_modules/zod/v4/locales/zh-TW.js +3 -0
  708. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  709. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  710. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  711. package/node_modules/zod/v4/mini/checks.js +1 -1
  712. package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
  713. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  714. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  715. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  716. package/node_modules/zod/v4/mini/external.cjs +12 -1
  717. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  718. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  719. package/node_modules/zod/v4/mini/external.js +3 -1
  720. package/node_modules/zod/v4/mini/in-out.cjs +63 -0
  721. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  722. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  723. package/node_modules/zod/v4/mini/in-out.js +36 -0
  724. package/node_modules/zod/v4/mini/parse.cjs +3 -1
  725. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  726. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  727. package/node_modules/zod/v4/mini/parse.js +1 -1
  728. package/node_modules/zod/v4/mini/schemas.cjs +75 -47
  729. package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
  730. package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
  731. package/node_modules/zod/v4/mini/schemas.js +71 -45
  732. package/openclaw.plugin.json +25 -58
  733. package/package.json +10 -7
  734. package/dist/targets-BTQCYRZQ.js +0 -48
  735. package/node_modules/zod/src/v4/core/config.ts +0 -15
  736. /package/dist/{audio-preflight.runtime-BBfC9elv.js → .setup/audio-preflight.runtime-BBfC9elv.mjs} +0 -0
  737. /package/dist/{doctor-contract-w6FpMypv.js → .setup/doctor-contract-w6FpMypv.mjs} +0 -0
  738. /package/dist/{json-response-DXajw_FU.js → .setup/json-response-DXajw_FU.mjs} +0 -0
  739. /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
  740. /package/dist/{runtime-C5JxBWZp.js → .setup/runtime-C5JxBWZp.mjs} +0 -0
  741. /package/dist/{secret-contract-BCpDLdg9.js → .setup/secret-contract-BCpDLdg9.mjs} +0 -0
  742. /package/dist/{security-audit-shared-CK5rVR-1.js → .setup/security-audit-shared-CK5rVR-1.mjs} +0 -0
  743. /package/dist/{thread-bindings-BiL1wGqK.js → .setup/thread-bindings-BiL1wGqK.mjs} +0 -0
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
+ <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3 17 10 7l4 5 7-6-5 13H8Z" />
3
+ </svg>
Binary file
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
2
2
  import { DEFAULT_ACCOUNT_ID, createAccountListHelpers, hasConfiguredAccountValue, normalizeAccountId, normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-resolution";
3
3
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { coerceSecretRef } from "openclaw/plugin-sdk/provider-auth";
@@ -1,4 +1,4 @@
1
- import { t as readFeishuJsonResponse } from "./json-response-DXajw_FU.js";
1
+ import { t as readFeishuJsonResponse } from "./json-response-DXajw_FU.mjs";
2
2
  import { finiteSecondsToTimerSafeMilliseconds } from "openclaw/plugin-sdk/number-runtime";
3
3
  import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
4
4
  import { renderQrTerminal } from "openclaw/plugin-sdk/media-runtime";
@@ -1,13 +1,12 @@
1
- import { a as resolveDefaultFeishuAccountId, i as listFeishuAccountIds, n as inspectFeishuCredentials, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-cCMNFBKg.js";
2
- import { i as resolveReceiveIdType, n as looksLikeFeishuId, r as normalizeFeishuTarget } from "./targets-BTQCYRZQ.js";
3
- import { A as sendStructuredCardFeishu, B as buildFeishuMediaFallbackText, C as shouldSuppressFeishuTextForVoiceMedia, Ct as resolveFeishuGroupConfig, Et as resolveFeishuGroupToolPolicy, H as resolveFeishuIdentityHeaderTitle, O as sendCardFeishu, Ot as normalizeFeishuChatType, R as createFeishuSendReceipt, U as deliverCommentThreadText, Z as cleanupAmbientCommentTypingReaction, _t as isFeishuGroupReadAllowed, a as FEISHU_PRESENTATION_CAPABILITIES, c as buildFeishuPresentationCard, d as feishuCardWithinTableLimit, dt as materializeFeishuPostMarkdownSoftBreaks, f as isFeishuCardWithinEnvelope, g as renderFeishuPresentationPayload, gt as canEnumerateAllFeishuPeers, h as renderFeishuPresentationFallbackText, ht as canEnumerateAllFeishuGroups, k as sendMessageFeishu, kt as resolveFeishuChatType, l as buildFeishuPresentationFallback, lt as chunkFeishuMarkdown, m as readNativeFeishuCard, mt as authorizeFeishuChatMemberRead, n as createFeishuReplyDeliveryResult, o as assertFeishuCardWithinEnvelope, ot as parseFeishuCommentTarget, p as markRenderedFeishuCard, pt as assertFeishuChatReadAllowed, s as buildFeishuPayloadCard, st as readNativeFeishuCardJson, t as createFeishuPartialReplyDeliveryError, u as consumeFeishuPresentationFallbackMarker, ut as chunkFeishuPostMarkdown, v as resolveFeishuRichReply, vt as isFeishuGroupReadEnabled, w as chunkFeishuCardMarkdown, x as sendMediaFeishu, y as withinCardTableLimit, yt as resolveFeishuChatReadPreliminaryAuthorization } from "./reply-delivery-result-C3smdVzb.js";
4
- import { n as normalizeCompatibilityConfig, o as normalizeFeishuExternalKey, r as FeishuChannelConfigSchema, t as legacyConfigRules } from "./doctor-contract-w6FpMypv.js";
5
- import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, o as resolveConfiguredFeishuGroupSessionScope, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-VYgGQ-GX.js";
6
- import { t as messageActionTargetAliases } from "./security-audit-DKfR4Cv3.js";
7
- import { r as createFeishuClient } from "./client-DMbIL3UH.js";
8
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-BCpDLdg9.js";
9
- import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-CK5rVR-1.js";
10
- import { t as resolveFeishuSessionConversation } from "./session-conversation-DFCIvQK-.js";
1
+ import { a as resolveDefaultFeishuAccountId, i as listFeishuAccountIds, n as inspectFeishuCredentials, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-DmU0xYPx.mjs";
2
+ import { a as parseFeishuTargetId, c as looksLikeFeishuId, i as parseFeishuDirectConversationId, l as normalizeFeishuTarget, n as buildFeishuModelOverrideParentCandidates, o as resolveConfiguredFeishuGroupSessionScope, r as parseFeishuConversationId, t as buildFeishuConversationId, u as resolveReceiveIdType } from "./conversation-id-H-lUayji.mjs";
3
+ import { A as sendStructuredCardFeishu, At as resolveFeishuChatType, C as shouldSuppressFeishuTextForVoiceMedia, Dt as resolveFeishuGroupToolPolicy, O as sendCardFeishu, Q as cleanupAmbientCommentTypingReaction, U as resolveFeishuIdentityHeaderTitle, V as buildFeishuMediaFallbackText, W as deliverCommentThreadText, _t as canEnumerateAllFeishuPeers, a as FEISHU_PRESENTATION_CAPABILITIES, bt as resolveFeishuChatReadPreliminaryAuthorization, c as buildFeishuPresentationCard, ct as readNativeFeishuCardJson, d as feishuCardWithinTableLimit, dt as chunkFeishuPostMarkdown, f as isFeishuCardWithinEnvelope, ft as materializeFeishuPostMarkdownSoftBreaks, g as renderFeishuPresentationPayload, gt as canEnumerateAllFeishuGroups, h as renderFeishuPresentationFallbackText, ht as authorizeFeishuChatMemberRead, j as toFeishuMessageSendResult, k as sendMessageFeishu, kt as normalizeFeishuChatType, l as buildFeishuPresentationFallback, m as readNativeFeishuCard, mt as assertFeishuChatReadAllowed, n as createFeishuReplyDeliveryResult, o as assertFeishuCardWithinEnvelope, p as markRenderedFeishuCard, s as buildFeishuPayloadCard, st as parseFeishuCommentTarget, t as createFeishuPartialReplyDeliveryError, u as consumeFeishuPresentationFallbackMarker, ut as chunkFeishuMarkdown, v as resolveFeishuRichReply, vt as isFeishuGroupReadAllowed, w as chunkFeishuCardMarkdown, wt as resolveFeishuGroupConfig, x as sendMediaFeishu, y as withinCardTableLimit, yt as isFeishuGroupReadEnabled } from "./reply-delivery-result-DFjxGLgX.mjs";
4
+ import { n as normalizeCompatibilityConfig, o as normalizeFeishuExternalKey, r as FeishuChannelConfigSchema, t as legacyConfigRules } from "./doctor-contract-w6FpMypv.mjs";
5
+ import { t as messageActionTargetAliases } from "./security-audit-CmiKKfU-.mjs";
6
+ import { l as withFeishuRequestContext, r as createFeishuClient, u as withFeishuSendContext } from "./client-DCwNVFZg.mjs";
7
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-BCpDLdg9.mjs";
8
+ import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-CK5rVR-1.mjs";
9
+ import { t as resolveFeishuSessionConversation } from "./session-conversation-ZC6TC1zk.mjs";
11
10
  import { createLazyRuntimeModule, createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
12
11
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
13
12
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-resolution";
@@ -730,6 +729,40 @@ const feishuDoctor = {
730
729
  })
731
730
  };
732
731
  //#endregion
732
+ //#region extensions/feishu/src/comment-send.ts
733
+ async function sendCommentThreadReply(params) {
734
+ const target = parseFeishuCommentTarget(params.to);
735
+ if (!target) return null;
736
+ const account = resolveFeishuAccount({
737
+ cfg: params.cfg,
738
+ accountId: params.accountId
739
+ });
740
+ const client = createFeishuClient(account);
741
+ const replyId = params.replyId?.trim();
742
+ try {
743
+ const result = await deliverCommentThreadText(client, {
744
+ file_token: target.fileToken,
745
+ file_type: target.fileType,
746
+ comment_id: target.commentId,
747
+ content: params.text
748
+ });
749
+ return {
750
+ messageId: (result.delivery_mode === "reply_comment" ? result.reply_id : result.comment_id) ?? "",
751
+ chatId: target.commentId,
752
+ result
753
+ };
754
+ } finally {
755
+ if (replyId) cleanupAmbientCommentTypingReaction({
756
+ client,
757
+ deliveryContext: {
758
+ channel: "feishu",
759
+ to: params.to,
760
+ threadId: replyId
761
+ }
762
+ });
763
+ }
764
+ }
765
+ //#endregion
733
766
  //#region extensions/feishu/src/outbound.ts
734
767
  const FEISHU_PROPAGATE_MEDIA_UPLOAD_FAILURE_MARKER = "__openclawPropagateMediaUploadFailure";
735
768
  const FEISHU_TEXT_CHUNK_LIMIT = 4e3;
@@ -817,38 +850,6 @@ function resolveFeishuReplyMode(params) {
817
850
  replyInThread: false
818
851
  };
819
852
  }
820
- async function sendCommentThreadReply(params) {
821
- const target = parseFeishuCommentTarget(params.to);
822
- if (!target) return null;
823
- const account = resolveFeishuAccount({
824
- cfg: params.cfg,
825
- accountId: params.accountId
826
- });
827
- const client = createFeishuClient(account);
828
- const replyId = params.replyId?.trim();
829
- try {
830
- const result = await deliverCommentThreadText(client, {
831
- file_token: target.fileToken,
832
- file_type: target.fileType,
833
- comment_id: target.commentId,
834
- content: params.text
835
- });
836
- return {
837
- messageId: (result.delivery_mode === "reply_comment" ? result.reply_id : result.comment_id) ?? "",
838
- chatId: target.commentId,
839
- result
840
- };
841
- } finally {
842
- if (replyId) cleanupAmbientCommentTypingReaction({
843
- client,
844
- deliveryContext: {
845
- channel: "feishu",
846
- to: params.to,
847
- threadId: replyId
848
- }
849
- });
850
- }
851
- }
852
853
  async function sendOutboundText(params) {
853
854
  const { cfg, to, text, accountId, replyToMessageId, replyInThread, onDeliveryResult } = params;
854
855
  const commentResult = await sendCommentThreadReply({
@@ -991,7 +992,16 @@ async function sendFeishuTtsSupplementPayload(params) {
991
992
  messageId: ""
992
993
  };
993
994
  }
994
- const feishuOutbound = {
995
+ function withFeishuOutboundSendContext(adapter) {
996
+ const { sendText, sendMedia, sendPayload } = adapter;
997
+ return {
998
+ ...adapter,
999
+ ...sendText ? { sendText: async (ctx) => withFeishuSendContext(ctx, () => sendText(ctx)) } : {},
1000
+ ...sendMedia ? { sendMedia: async (ctx) => withFeishuSendContext(ctx, () => sendMedia(ctx)) } : {},
1001
+ ...sendPayload ? { sendPayload: async (ctx) => withFeishuSendContext(ctx, () => sendPayload(ctx)) } : {}
1002
+ };
1003
+ }
1004
+ const feishuOutbound = withFeishuOutboundSendContext({
995
1005
  deliveryMode: "direct",
996
1006
  chunker: chunkFeishuMarkdown,
997
1007
  chunkerMode: "markdown",
@@ -1312,7 +1322,7 @@ const feishuOutbound = {
1312
1322
  return toFeishuOutboundResult(aggregateFeishuSendResult(mediaResult, results));
1313
1323
  }
1314
1324
  })
1315
- };
1325
+ });
1316
1326
  //#endregion
1317
1327
  //#region extensions/feishu/src/session-route.ts
1318
1328
  function resolveFeishuOutboundSessionRoute(params) {
@@ -1489,7 +1499,7 @@ function applyNewAppSecurityPolicy(cfg, accountId, openId, groupPolicy) {
1489
1499
  next = patchFeishuConfig(next, accountId, groupPatch);
1490
1500
  return next;
1491
1501
  }
1492
- const loadAppRegistrationModule = createLazyRuntimeModule(() => import("./app-registration-BI99e_JI.js"));
1502
+ const loadAppRegistrationModule = createLazyRuntimeModule(() => import("./app-registration-Bv4mvauR.mjs"));
1493
1503
  async function promptFeishuDomain(params) {
1494
1504
  return await params.prompter.select({
1495
1505
  message: t("wizard.feishu.domainPrompt"),
@@ -1714,7 +1724,7 @@ const feishuSetupWizard = {
1714
1724
  });
1715
1725
  let probeResult = null;
1716
1726
  if (configured && account.configured) try {
1717
- const { probeFeishu } = await import("./probe-D_SatdZl.js").then((n) => n.n);
1727
+ const { probeFeishu } = await import("./probe-bdidyhAn.mjs").then((n) => n.n);
1718
1728
  probeResult = await probeFeishu(account);
1719
1729
  } catch {}
1720
1730
  if (!configured) return [formatFeishuStatusLine("needs-credentials")];
@@ -1882,7 +1892,7 @@ const meta = {
1882
1892
  order: 70,
1883
1893
  preferSessionLookupForAnnounceTarget: true
1884
1894
  };
1885
- const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-B-f6ajOp.js"), "feishuChannelRuntime");
1895
+ const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-Bizuv7WZ.mjs"), "feishuChannelRuntime");
1886
1896
  async function resolveFeishuMessageSender(params) {
1887
1897
  try {
1888
1898
  const sender = params.resolve(await loadFeishuChannelRuntime());
@@ -1901,17 +1911,6 @@ const resolveFeishuMediaSender = () => resolveFeishuMessageSender({
1901
1911
  resolve: (runtime) => runtime.feishuOutbound.sendMedia,
1902
1912
  unavailableMessage: "Feishu media sending is not available."
1903
1913
  });
1904
- function toFeishuMessageSendResult(result, kind) {
1905
- const receipt = result.receipt ?? createFeishuSendReceipt({
1906
- messageId: result.messageId,
1907
- chatId: result.chatId ?? "",
1908
- kind
1909
- });
1910
- return {
1911
- messageId: result.messageId || receipt.primaryPlatformMessageId,
1912
- receipt
1913
- };
1914
- }
1915
1914
  const feishuMessageAdapter = defineChannelMessageAdapter({
1916
1915
  id: "feishu",
1917
1916
  durableFinal: { capabilities: {
@@ -1926,27 +1925,29 @@ const feishuMessageAdapter = defineChannelMessageAdapter({
1926
1925
  text: async (ctx) => {
1927
1926
  const sendText = await resolveFeishuTextSender();
1928
1927
  const { onDeliveryResult, ...outboundCtx } = ctx;
1929
- return toFeishuMessageSendResult(await sendText({
1928
+ const result = await sendText({
1930
1929
  ...outboundCtx,
1931
1930
  ...onDeliveryResult ? { onDeliveryResult: async (progress) => {
1932
1931
  await onDeliveryResult(toFeishuMessageSendResult(progress, "text"));
1933
1932
  } } : {}
1934
- }), "text");
1933
+ });
1934
+ return toFeishuMessageSendResult(result, "text");
1935
1935
  },
1936
1936
  media: async (ctx) => {
1937
1937
  const sendMedia = await resolveFeishuMediaSender();
1938
1938
  const { onDeliveryResult, ...outboundCtx } = ctx;
1939
- return toFeishuMessageSendResult(await sendMedia({
1939
+ const result = await sendMedia({
1940
1940
  ...outboundCtx,
1941
1941
  ...onDeliveryResult ? { onDeliveryResult: async (progress) => {
1942
1942
  await onDeliveryResult(toFeishuMessageSendResult(progress, "media"));
1943
1943
  } } : {}
1944
- }), "media");
1944
+ });
1945
+ return toFeishuMessageSendResult(result, "media");
1945
1946
  }
1946
1947
  }
1947
1948
  });
1948
1949
  async function createFeishuActionClient(account) {
1949
- const { createFeishuClient } = await import("./client-DMbIL3UH.js").then((n) => n.t);
1950
+ const { createFeishuClient } = await import("./client-DCwNVFZg.mjs").then((n) => n.t);
1950
1951
  return createFeishuClient(account);
1951
1952
  }
1952
1953
  async function resolveFeishuChatTypeById(params) {
@@ -1980,7 +1981,7 @@ const collectFeishuSecurityWarnings = createAllowlistProviderGroupPolicyWarningC
1980
1981
  const collectFeishuOpenGroupFindings = createConditionalWarningCollector.findings({
1981
1982
  collectWarnings: collectFeishuSecurityWarnings,
1982
1983
  checkId: "channels.feishu.groups.open",
1983
- severity: "critical",
1984
+ severity: "warn",
1984
1985
  title: "Feishu security warning"
1985
1986
  });
1986
1987
  function describeFeishuMessageTool({ cfg, accountId }) {
@@ -2300,6 +2301,7 @@ async function getAuthorizedFeishuMessage(params) {
2300
2301
  }
2301
2302
  async function requireAuthorizedFeishuMessage(params) {
2302
2303
  const message = await getAuthorizedFeishuMessage(params);
2304
+ params.ctx.assertDirectAdapterHandoff?.();
2303
2305
  if (!message) throw new Error(`Feishu message not found: ${params.messageId}`);
2304
2306
  return message;
2305
2307
  }
@@ -2414,9 +2416,19 @@ const feishuPlugin = createChatChannelPlugin({
2414
2416
  },
2415
2417
  actions: {
2416
2418
  providerOwnedReadGates: true,
2419
+ readAuthorityActions: [
2420
+ "read",
2421
+ "reactions",
2422
+ "list-pins",
2423
+ "member-info",
2424
+ "channel-info",
2425
+ "channel-list",
2426
+ "sticker-search"
2427
+ ],
2417
2428
  messageActionTargetAliases,
2418
2429
  describeMessageTool: describeFeishuMessageTool,
2419
2430
  handleAction: async (ctx) => {
2431
+ const { assertDirectAdapterHandoff } = ctx;
2420
2432
  const account = resolveFeishuAccount({
2421
2433
  cfg: ctx.cfg,
2422
2434
  accountId: ctx.accountId ?? void 0
@@ -2449,6 +2461,10 @@ const feishuPlugin = createChatChannelPlugin({
2449
2461
  });
2450
2462
  }
2451
2463
  if (ctx.action === "send" || ctx.action === "thread-reply") {
2464
+ const sendContext = {
2465
+ assertDirectAdapterHandoff,
2466
+ onPlatformSendDispatch: ctx.onPlatformSendDispatch
2467
+ };
2452
2468
  const to = resolveFeishuActionTarget(ctx);
2453
2469
  if (!to) throw new Error(`Feishu ${ctx.action} requires a target (to).`);
2454
2470
  const { replyToMessageId, replyInThread } = buildFeishuSendReplyAnchor(ctx, account.accountId);
@@ -2481,6 +2497,7 @@ const feishuPlugin = createChatChannelPlugin({
2481
2497
  if (!sendPayload) throw new Error("Feishu presentation fallback delivery is not available.");
2482
2498
  const fallbackText = textCard ? void 0 : text;
2483
2499
  result = await sendPayload({
2500
+ ...sendContext,
2484
2501
  cfg: ctx.cfg,
2485
2502
  to,
2486
2503
  text: fallbackText ?? "",
@@ -2500,16 +2517,17 @@ const feishuPlugin = createChatChannelPlugin({
2500
2517
  });
2501
2518
  } else if (card) {
2502
2519
  if (containsLegacyFeishuCardCommandValue(card)) throw new Error("Feishu card buttons that trigger text or commands must use structured interaction envelopes.");
2503
- result = await runtime.sendCardFeishu({
2520
+ result = await withFeishuSendContext(sendContext, () => runtime.sendCardFeishu({
2504
2521
  cfg: ctx.cfg,
2505
2522
  to,
2506
2523
  card,
2507
2524
  accountId: ctx.accountId ?? void 0,
2508
2525
  replyToMessageId,
2509
2526
  replyInThread
2510
- });
2527
+ }));
2511
2528
  } else {
2512
2529
  const outboundContext = {
2530
+ ...sendContext,
2513
2531
  cfg: ctx.cfg,
2514
2532
  to,
2515
2533
  text: text ?? "",
@@ -2564,7 +2582,7 @@ const feishuPlugin = createChatChannelPlugin({
2564
2582
  message
2565
2583
  });
2566
2584
  }
2567
- if (ctx.action === "edit") {
2585
+ if (ctx.action === "edit") return withFeishuRequestContext(assertDirectAdapterHandoff, async () => {
2568
2586
  const messageId = resolveFeishuMessageId(ctx.params);
2569
2587
  if (!messageId) throw new Error("Feishu edit requires messageId.");
2570
2588
  const text = readFirstString(ctx.params, ["text", "message"]);
@@ -2588,10 +2606,10 @@ const feishuPlugin = createChatChannelPlugin({
2588
2606
  accountId: ctx.accountId ?? void 0
2589
2607
  })
2590
2608
  });
2591
- }
2592
- if (ctx.action === "pin") {
2609
+ });
2610
+ if (ctx.action === "pin" || ctx.action === "unpin") return withFeishuRequestContext(assertDirectAdapterHandoff, async () => {
2593
2611
  const messageId = resolveFeishuMessageId(ctx.params);
2594
- if (!messageId) throw new Error("Feishu pin requires messageId.");
2612
+ if (!messageId) throw new Error(`Feishu ${ctx.action} requires messageId.`);
2595
2613
  const runtime = await loadFeishuChannelRuntime();
2596
2614
  await requireAuthorizedFeishuMessage({
2597
2615
  ctx,
@@ -2599,7 +2617,7 @@ const feishuPlugin = createChatChannelPlugin({
2599
2617
  runtime,
2600
2618
  messageId
2601
2619
  });
2602
- return jsonActionResult({
2620
+ if (ctx.action === "pin") return jsonActionResult({
2603
2621
  ok: true,
2604
2622
  channel: "feishu",
2605
2623
  action: "pin",
@@ -2609,17 +2627,6 @@ const feishuPlugin = createChatChannelPlugin({
2609
2627
  accountId: ctx.accountId ?? void 0
2610
2628
  })
2611
2629
  });
2612
- }
2613
- if (ctx.action === "unpin") {
2614
- const messageId = resolveFeishuMessageId(ctx.params);
2615
- if (!messageId) throw new Error("Feishu unpin requires messageId.");
2616
- const runtime = await loadFeishuChannelRuntime();
2617
- await requireAuthorizedFeishuMessage({
2618
- ctx,
2619
- account,
2620
- runtime,
2621
- messageId
2622
- });
2623
2630
  await runtime.removePinFeishu({
2624
2631
  cfg: ctx.cfg,
2625
2632
  messageId,
@@ -2631,7 +2638,7 @@ const feishuPlugin = createChatChannelPlugin({
2631
2638
  action: "unpin",
2632
2639
  messageId
2633
2640
  });
2634
- }
2641
+ });
2635
2642
  if (ctx.action === "list-pins") {
2636
2643
  const chatId = resolveFeishuChatId(ctx);
2637
2644
  if (!chatId) throw new Error("Feishu list-pins requires chatId or channelId.");
@@ -2795,7 +2802,7 @@ const feishuPlugin = createChatChannelPlugin({
2795
2802
  peers
2796
2803
  });
2797
2804
  }
2798
- if (ctx.action === "react") {
2805
+ if (ctx.action === "react") return withFeishuRequestContext(assertDirectAdapterHandoff, async () => {
2799
2806
  const messageId = resolveFeishuMessageId(ctx.params);
2800
2807
  if (!messageId) throw new Error("Feishu reaction requires messageId.");
2801
2808
  const emoji = typeof ctx.params.emoji === "string" ? ctx.params.emoji.trim() : "";
@@ -2878,7 +2885,7 @@ const feishuPlugin = createChatChannelPlugin({
2878
2885
  ok: true,
2879
2886
  added: emoji
2880
2887
  });
2881
- }
2888
+ });
2882
2889
  if (ctx.action === "reactions") {
2883
2890
  const messageId = resolveFeishuMessageId(ctx.params);
2884
2891
  if (!messageId) throw new Error("Feishu reactions lookup requires messageId.");
@@ -3003,7 +3010,7 @@ const feishuPlugin = createChatChannelPlugin({
3003
3010
  })
3004
3011
  }),
3005
3012
  gateway: { startAccount: async (ctx) => {
3006
- const { monitorFeishuProvider } = await import("./monitor-EuNsFn2T.js");
3013
+ const { monitorFeishuProvider } = await import("./monitor-C69OLzgO.mjs");
3007
3014
  const account = resolveFeishuRuntimeAccount({
3008
3015
  cfg: ctx.cfg,
3009
3016
  accountId: ctx.accountId
@@ -1,9 +1,9 @@
1
- import { o as resolveFeishuAccount, s as resolveFeishuRuntimeAccount } from "./accounts-cCMNFBKg.js";
2
- import { c as listFeishuDirectoryPeers, o as feishuOutbound, s as listFeishuDirectoryGroups } from "./channel-HDnQAH4Z.js";
3
- import { E as getMessageFeishu, O as sendCardFeishu, S as sendStickerFeishu, T as editMessageFeishu, k as sendMessageFeishu, z as assertFeishuApiSuccess } from "./reply-delivery-result-C3smdVzb.js";
4
- import { r as createFeishuClient } from "./client-DMbIL3UH.js";
5
- import { a as getFeishuMemberInfo, i as getChatMembers, n as buildFeishuDirectChatMembers, r as getChatInfo, t as assertFeishuChatMember } from "./chat-zhIPXu4X.js";
6
- import { t as probeFeishu } from "./probe-D_SatdZl.js";
1
+ import { o as resolveFeishuAccount, s as resolveFeishuRuntimeAccount } from "./accounts-DmU0xYPx.mjs";
2
+ import { c as listFeishuDirectoryPeers, o as feishuOutbound, s as listFeishuDirectoryGroups } from "./channel-C1KrXXJa.mjs";
3
+ import { B as assertFeishuApiSuccess, E as getMessageFeishu, O as sendCardFeishu, S as sendStickerFeishu, T as editMessageFeishu, k as sendMessageFeishu } from "./reply-delivery-result-DFjxGLgX.mjs";
4
+ import { r as createFeishuClient } from "./client-DCwNVFZg.mjs";
5
+ import { a as getFeishuMemberInfo, i as getChatMembers, n as buildFeishuDirectChatMembers, r as getChatInfo, t as assertFeishuChatMember } from "./chat-dWJYS63b.mjs";
6
+ import { t as probeFeishu } from "./probe-bdidyhAn.mjs";
7
7
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  //#region extensions/feishu/src/directory.ts
9
9
  const MAX_FEISHU_DIRECTORY_PAGES = 100;
@@ -17,21 +17,35 @@ async function listFeishuDirectoryPeersLive(params) {
17
17
  const client = createFeishuClient(account);
18
18
  const peers = [];
19
19
  const limit = params.limit ?? 50;
20
- const response = await client.contact.user.list({ params: { page_size: Math.min(limit, 50) } });
21
- if (response.code !== 0) throw new Error(response.msg || `code ${response.code}`);
22
20
  const q = normalizeLowercaseStringOrEmpty(params.query);
23
- for (const user of response.data?.items ?? []) {
24
- if (user.open_id) {
25
- const name = user.name || "";
26
- if (!q || normalizeLowercaseStringOrEmpty(user.open_id).includes(q) || normalizeLowercaseStringOrEmpty(name).includes(q)) peers.push({
27
- kind: "user",
28
- id: user.open_id,
29
- name: name || void 0
30
- });
21
+ const pageSize = q ? 50 : Math.min(limit, 50);
22
+ let pageToken;
23
+ const seenPageTokens = /* @__PURE__ */ new Set();
24
+ for (let page = 0; page < MAX_FEISHU_DIRECTORY_PAGES; page += 1) {
25
+ const response = await client.contact.user.list({ params: {
26
+ page_size: pageSize,
27
+ page_token: pageToken
28
+ } });
29
+ if (response.code !== 0) throw new Error(response.msg || `code ${response.code}`);
30
+ for (const user of response.data?.items ?? []) {
31
+ if (user.open_id) {
32
+ const name = user.name || "";
33
+ if (!q || normalizeLowercaseStringOrEmpty(user.open_id).includes(q) || normalizeLowercaseStringOrEmpty(name).includes(q)) peers.push({
34
+ kind: "user",
35
+ id: user.open_id,
36
+ name: name || void 0
37
+ });
38
+ }
39
+ if (peers.length >= limit) return peers;
31
40
  }
32
- if (peers.length >= limit) break;
41
+ if (!response.data?.has_more) return peers;
42
+ const nextPageToken = response.data.page_token;
43
+ if (!nextPageToken) throw new Error("Feishu live peer directory returned an empty page token");
44
+ if (seenPageTokens.has(nextPageToken)) throw new Error("Feishu live peer directory returned a repeated page token");
45
+ seenPageTokens.add(nextPageToken);
46
+ pageToken = nextPageToken;
33
47
  }
34
- return peers;
48
+ throw new Error("Feishu live peer directory pagination limit exceeded");
35
49
  } catch (err) {
36
50
  if (params.fallbackToStatic === false) throw err instanceof Error ? err : /* @__PURE__ */ new Error("Feishu live peer lookup failed");
37
51
  return listFeishuDirectoryPeers(params);
@@ -1,5 +1,5 @@
1
- import { G as feishuExternalToolResult, X as resolveFeishuToolAccount, Y as resolveAnyEnabledFeishuToolsConfig, kt as resolveFeishuChatType, mt as authorizeFeishuChatMemberRead, pt as assertFeishuChatReadAllowed, tt as formatFeishuApiError, yt as resolveFeishuChatReadPreliminaryAuthorization } from "./reply-delivery-result-C3smdVzb.js";
2
- import { r as createFeishuClient } from "./client-DMbIL3UH.js";
1
+ import { At as resolveFeishuChatType, K as feishuExternalToolResult, X as resolveAnyEnabledFeishuToolsConfig, Z as resolveFeishuToolAccount, bt as resolveFeishuChatReadPreliminaryAuthorization, ht as authorizeFeishuChatMemberRead, mt as assertFeishuChatReadAllowed, nt as formatFeishuApiError } from "./reply-delivery-result-DFjxGLgX.mjs";
2
+ import { r as createFeishuClient } from "./client-DCwNVFZg.mjs";
3
3
  import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
4
4
  import { readPositiveIntegerParam } from "openclaw/plugin-sdk/param-readers";
5
5
  import { Type } from "typebox";
@@ -1,10 +1,13 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
2
2
  import { createRequire } from "node:module";
3
+ import { PlatformMessageNotDispatchedError } from "openclaw/plugin-sdk/error-runtime";
3
4
  import { parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime";
4
5
  import * as Lark from "@larksuiteoapi/node-sdk";
5
6
  import { bufferToBlobPart } from "openclaw/plugin-sdk/blob-runtime";
6
7
  import { isRecord } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
7
8
  import { readPluginPackageVersion, resolveAmbientNodeProxyAgent } from "openclaw/plugin-sdk/extension-shared";
9
+ import { captureChannelReadAuthority } from "openclaw/plugin-sdk/fetch-runtime";
10
+ import { AsyncLocalStorage } from "node:async_hooks";
8
11
  //#region extensions/feishu/src/client-timeout.ts
9
12
  /** Default HTTP timeout for Feishu API requests (30 seconds). */
10
13
  const FEISHU_HTTP_TIMEOUT_MS = 3e4;
@@ -26,6 +29,57 @@ function resolveConfiguredHttpTimeoutMs(creds) {
26
29
  return clampTimeout(timeout);
27
30
  }
28
31
  //#endregion
32
+ //#region extensions/feishu/src/send-context.ts
33
+ const sendScope = new AsyncLocalStorage();
34
+ /** Mutation errors preserve uncertainty after earlier requests reached the provider. */
35
+ function withFeishuRequestContext(assertCurrent, request) {
36
+ return assertCurrent ? sendScope.run({ assertCurrent }, request) : request();
37
+ }
38
+ /** Keep invocation authority out of the shared, account-cached SDK client. */
39
+ function withFeishuSendContext(context, send) {
40
+ const { signal, assertDirectAdapterHandoff, onPlatformSendDispatch } = context;
41
+ if (!signal && !assertDirectAdapterHandoff && !onPlatformSendDispatch) return send();
42
+ const assertCurrent = () => {
43
+ try {
44
+ signal?.throwIfAborted();
45
+ assertDirectAdapterHandoff?.();
46
+ } catch (cause) {
47
+ throw new PlatformMessageNotDispatchedError("Feishu sender retired before request dispatch", {
48
+ cause,
49
+ retryable: false
50
+ });
51
+ }
52
+ };
53
+ return sendScope.run({
54
+ assertCurrent,
55
+ onPlatformSendDispatch
56
+ }, send);
57
+ }
58
+ function captureFeishuSendAuthority() {
59
+ return sendScope.getStore()?.assertCurrent;
60
+ }
61
+ /** Only recipient-visible request owners opt into durable dispatch accounting. */
62
+ function withFeishuMessageDispatch(request) {
63
+ const scope = sendScope.getStore();
64
+ scope?.assertCurrent();
65
+ return scope ? sendScope.run({
66
+ ...scope,
67
+ recipientVisible: true
68
+ }, request) : request();
69
+ }
70
+ function captureFeishuSendContext() {
71
+ return sendScope.getStore();
72
+ }
73
+ async function runBeforeFeishuMessageDispatch(operation) {
74
+ try {
75
+ captureFeishuSendAuthority()?.();
76
+ return await operation();
77
+ } catch (error) {
78
+ if (error instanceof PlatformMessageNotDispatchedError) throw error;
79
+ throw new PlatformMessageNotDispatchedError(`Feishu media preparation failed before message dispatch: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
80
+ }
81
+ }
82
+ //#endregion
29
83
  //#region extensions/feishu/src/client.ts
30
84
  var client_exports = /* @__PURE__ */ __exportAll({
31
85
  createEventDispatcher: () => createEventDispatcher,
@@ -165,13 +219,14 @@ function createFeishuHttpInstance(defaultTimeoutMs, configuredDomain) {
165
219
  destination.hash = requestUrl.hash;
166
220
  return destination.toString();
167
221
  }
168
- async function injectRequestOptions(opts) {
222
+ async function injectRequestOptions(opts, authority) {
169
223
  const next = {
170
224
  timeout: defaultTimeoutMs,
171
225
  ...opts
172
226
  };
173
227
  if (typeof next.url === "string") next.url = resolveRequestUrl(next.url);
174
228
  const agent = await getFeishuProxyAgent();
229
+ authority?.assertCurrent();
175
230
  if (agent) {
176
231
  if (isManagedProxyActive()) {
177
232
  next.httpAgent = agent;
@@ -182,17 +237,79 @@ function createFeishuHttpInstance(defaultTimeoutMs, configuredDomain) {
182
237
  }
183
238
  next.proxy = false;
184
239
  }
240
+ if (authority?.beforeDispatch) {
241
+ await authority.beforeDispatch();
242
+ authority.assertCurrent();
243
+ }
244
+ if (authority) {
245
+ const defaults = feishuClientSdk.defaultHttpInstance.defaults;
246
+ const transforms = next.transformRequest === void 0 ? defaults.transformRequest : next.transformRequest;
247
+ next.transformRequest = [...Array.isArray(transforms) ? transforms : transforms ? [transforms] : [], (data) => {
248
+ authority.assertCurrent();
249
+ return data;
250
+ }];
251
+ const beforeRedirect = next.beforeRedirect === void 0 ? defaults.beforeRedirect : next.beforeRedirect;
252
+ next.beforeRedirect = (...args) => {
253
+ beforeRedirect?.(...args);
254
+ authority.assertRedirect();
255
+ };
256
+ }
185
257
  return next;
186
258
  }
259
+ async function runRequest(request, sdkMethod) {
260
+ const assertReadAuthority = captureChannelReadAuthority();
261
+ const sendContext = captureFeishuSendContext();
262
+ const recipientVisible = sdkMethod === "request" && sendContext?.recipientVisible === true;
263
+ const onPlatformSendDispatch = recipientVisible ? sendContext.onPlatformSendDispatch : void 0;
264
+ let fenceFailure;
265
+ const assertCurrent = () => {
266
+ try {
267
+ assertReadAuthority?.();
268
+ sendContext?.assertCurrent();
269
+ } catch (cause) {
270
+ fenceFailure = cause instanceof Error ? cause : new Error("Feishu request authority closed", { cause });
271
+ throw fenceFailure;
272
+ }
273
+ };
274
+ const authority = assertReadAuthority || sendContext ? {
275
+ assertCurrent,
276
+ assertRedirect: recipientVisible ? () => {
277
+ try {
278
+ assertCurrent();
279
+ } catch {
280
+ const failure = /* @__PURE__ */ new Error("Feishu sender retired before following a message redirect");
281
+ fenceFailure = failure;
282
+ throw failure;
283
+ }
284
+ } : assertCurrent,
285
+ ...onPlatformSendDispatch ? { beforeDispatch: async () => {
286
+ try {
287
+ await onPlatformSendDispatch();
288
+ } catch (cause) {
289
+ assertCurrent();
290
+ fenceFailure = cause instanceof PlatformMessageNotDispatchedError ? cause : new PlatformMessageNotDispatchedError("Feishu dispatch refresh failed before request", { cause });
291
+ throw fenceFailure;
292
+ }
293
+ } } : {}
294
+ } : void 0;
295
+ authority?.assertCurrent();
296
+ try {
297
+ return await request(authority);
298
+ } catch (error) {
299
+ assertReadAuthority?.();
300
+ if (fenceFailure) throw fenceFailure;
301
+ throw error;
302
+ }
303
+ }
187
304
  return {
188
- request: async (opts) => base.request(await injectRequestOptions(normalizeMultipartUploadData(opts))),
189
- get: async (url, opts) => base.get(resolveRequestUrl(url), await injectRequestOptions(opts)),
190
- post: async (url, data, opts) => base.post(resolveRequestUrl(url), data, await injectRequestOptions(opts)),
191
- put: async (url, data, opts) => base.put(resolveRequestUrl(url), data, await injectRequestOptions(opts)),
192
- patch: async (url, data, opts) => base.patch(resolveRequestUrl(url), data, await injectRequestOptions(opts)),
193
- delete: async (url, opts) => base.delete(resolveRequestUrl(url), await injectRequestOptions(opts)),
194
- head: async (url, opts) => base.head(resolveRequestUrl(url), await injectRequestOptions(opts)),
195
- options: async (url, opts) => base.options(resolveRequestUrl(url), await injectRequestOptions(opts))
305
+ request: (opts) => runRequest(async (authority) => base.request(await injectRequestOptions(normalizeMultipartUploadData(opts), authority)), "request"),
306
+ get: (url, opts) => runRequest(async (assert) => base.get(resolveRequestUrl(url), await injectRequestOptions(opts, assert))),
307
+ post: (url, data, opts) => runRequest(async (assert) => base.post(resolveRequestUrl(url), data, await injectRequestOptions(opts, assert))),
308
+ put: (url, data, opts) => runRequest(async (assert) => base.put(resolveRequestUrl(url), data, await injectRequestOptions(opts, assert))),
309
+ patch: (url, data, opts) => runRequest(async (assert) => base.patch(resolveRequestUrl(url), data, await injectRequestOptions(opts, assert))),
310
+ delete: (url, opts) => runRequest(async (assert) => base.delete(resolveRequestUrl(url), await injectRequestOptions(opts, assert))),
311
+ head: (url, opts) => runRequest(async (assert) => base.head(resolveRequestUrl(url), await injectRequestOptions(opts, assert))),
312
+ options: (url, opts) => runRequest(async (assert) => base.options(resolveRequestUrl(url), await injectRequestOptions(opts, assert)))
196
313
  };
197
314
  }
198
315
  /**
@@ -253,4 +370,4 @@ function createEventDispatcher(account) {
253
370
  });
254
371
  }
255
372
  //#endregion
256
- export { getFeishuUserAgent as a, createFeishuWSClient as i, createEventDispatcher as n, FEISHU_HTTP_TIMEOUT_MS as o, createFeishuClient as r, resolveConfiguredHttpTimeoutMs as s, client_exports as t };
373
+ export { getFeishuUserAgent as a, withFeishuMessageDispatch as c, FEISHU_HTTP_TIMEOUT_MS as d, resolveConfiguredHttpTimeoutMs as f, createFeishuWSClient as i, withFeishuRequestContext as l, createEventDispatcher as n, captureFeishuSendAuthority as o, createFeishuClient as r, runBeforeFeishuMessageDispatch as s, client_exports as t, withFeishuSendContext as u };