@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
@@ -1,8 +1,8 @@
1
- import { a as resolveDefaultFeishuAccountId, i as listFeishuAccountIds, o as resolveFeishuAccount, r as listEnabledFeishuAccounts, s as resolveFeishuRuntimeAccount } from "./accounts-cCMNFBKg.js";
2
- import { i as resolveReceiveIdType, r as normalizeFeishuTarget, t as detectIdType } from "./targets-BTQCYRZQ.js";
3
- import { o as normalizeFeishuExternalKey } from "./doctor-contract-w6FpMypv.js";
4
- import { r as createFeishuClient } from "./client-DMbIL3UH.js";
5
- import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.js";
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: {
@@ -1278,8 +1290,8 @@ function resolveImplicitToolAccountId(params) {
1278
1290
  }).enabled) throw new Error(`Feishu account "${listedAccountId}" is disabled`);
1279
1291
  return normalizedAccountId;
1280
1292
  }
1281
- const contextualAccountId = normalizeOptionalString(params.defaultAccountId);
1282
- if (contextualAccountId && listFeishuAccountIds(params.cfg).includes(contextualAccountId)) {
1293
+ const contextualAccountId = normalizeOptionalAccountId(params.defaultAccountId);
1294
+ if (contextualAccountId !== void 0 && listFeishuAccountIds(params.cfg).some((accountId) => normalizeOptionalAccountId(accountId) === contextualAccountId)) {
1283
1295
  if (resolveFeishuAccount({
1284
1296
  cfg: params.cfg,
1285
1297
  accountId: contextualAccountId
@@ -1355,16 +1367,6 @@ function toolExecutionErrorResult(error) {
1355
1367
  }
1356
1368
  //#endregion
1357
1369
  //#region extensions/feishu/src/drive.ts
1358
- var FeishuReplyCommentError = class extends Error {
1359
- constructor(params) {
1360
- super(params.message);
1361
- this.name = "FeishuReplyCommentError";
1362
- this.httpStatus = params.httpStatus;
1363
- this.feishuCode = params.feishuCode;
1364
- this.feishuMsg = params.feishuMsg;
1365
- this.feishuLogId = params.feishuLogId;
1366
- }
1367
- };
1368
1370
  const FEISHU_DRIVE_REQUEST_TIMEOUT_MS = 3e4;
1369
1371
  function getDriveInternalClient(client) {
1370
1372
  return client;
@@ -1602,7 +1604,7 @@ async function addComment(client, params) {
1602
1604
  if (params.block_id?.trim() && params.file_type !== "docx") throw new Error("block_id is only supported for docx comments");
1603
1605
  return {
1604
1606
  success: true,
1605
- ...assertDriveApiSuccess(await requestDriveApi({
1607
+ ...assertDriveApiSuccess(await withFeishuMessageDispatch(() => requestDriveApi({
1606
1608
  client,
1607
1609
  method: "POST",
1608
1610
  url: `/open-apis/drive/v1/files/${encodeURIComponent(params.file_token)}/new_comments`,
@@ -1611,7 +1613,7 @@ async function addComment(client, params) {
1611
1613
  reply_elements: buildReplyElements(params.content),
1612
1614
  ...params.block_id?.trim() ? { anchor: { block_id: params.block_id.trim() } } : {}
1613
1615
  }
1614
- })).data
1616
+ }))).data
1615
1617
  };
1616
1618
  }
1617
1619
  async function queryCommentById(client, params) {
@@ -1629,7 +1631,7 @@ async function replyComment(client, params) {
1629
1631
  const url = `/open-apis/drive/v1/files/${encodeURIComponent(params.file_token)}/comments/${encodeURIComponent(params.comment_id)}/replies`;
1630
1632
  const query = { file_type: params.file_type };
1631
1633
  try {
1632
- const response = await requestDriveApi({
1634
+ const response = await withFeishuMessageDispatch(() => requestDriveApi({
1633
1635
  client,
1634
1636
  method: "POST",
1635
1637
  url,
@@ -1638,7 +1640,7 @@ async function replyComment(client, params) {
1638
1640
  type: "text_run",
1639
1641
  text_run: { text: params.content }
1640
1642
  }] } }
1641
- });
1643
+ }));
1642
1644
  if (response.code === 0) return {
1643
1645
  success: true,
1644
1646
  ...response.data
@@ -1651,7 +1653,7 @@ async function replyComment(client, params) {
1651
1653
  feishuLogId: response.log_id
1652
1654
  });
1653
1655
  } catch (error) {
1654
- if (error instanceof FeishuReplyCommentError) throw error;
1656
+ if (error instanceof FeishuReplyCommentError || error instanceof PlatformMessageNotDispatchedError) throw error;
1655
1657
  const meta = extractDriveApiErrorMeta(error);
1656
1658
  console.warn(`[feishu_drive] replyComment threw comment=${params.comment_id} file_type=${params.file_type} error=${formatDriveApiError(error)}`);
1657
1659
  throw new FeishuReplyCommentError({
@@ -1813,11 +1815,6 @@ async function buildFeishuMediaFallbackText(params) {
1813
1815
  return [params.text?.trim(), attachmentText].filter(Boolean).join("\n\n");
1814
1816
  }
1815
1817
  //#endregion
1816
- //#region extensions/feishu/src/api-response.ts
1817
- function assertFeishuApiSuccess(response, errorPrefix) {
1818
- if (response.code !== 0) throw new Error(`${errorPrefix}: ${response.msg || `code ${response.code}`}`);
1819
- }
1820
- //#endregion
1821
1818
  //#region extensions/feishu/src/media-chunk-idle.ts
1822
1819
  var FeishuInboundMediaTimeoutError = class extends Error {
1823
1820
  constructor(chunkTimeoutMs) {
@@ -1830,7 +1827,7 @@ function destroySource(source) {
1830
1827
  const s = source;
1831
1828
  if (typeof s.destroy === "function") s.destroy();
1832
1829
  }
1833
- function withChunkIdleTimeout(source, chunkTimeoutMs) {
1830
+ function withChunkIdleTimeout(source, chunkTimeoutMs, teardownSource) {
1834
1831
  return { async *[Symbol.asyncIterator]() {
1835
1832
  const iterator = source[Symbol.asyncIterator]();
1836
1833
  let exhausted = false;
@@ -1841,9 +1838,7 @@ function withChunkIdleTimeout(source, chunkTimeoutMs) {
1841
1838
  const timeoutPromise = new Promise((_, reject) => {
1842
1839
  timeoutHandle = setTimeout(() => {
1843
1840
  reject(new FeishuInboundMediaTimeoutError(chunkTimeoutMs));
1844
- try {
1845
- destroySource(source);
1846
- } catch {}
1841
+ teardownSource();
1847
1842
  }, chunkTimeoutMs);
1848
1843
  });
1849
1844
  let result;
@@ -1863,54 +1858,21 @@ function withChunkIdleTimeout(source, chunkTimeoutMs) {
1863
1858
  }
1864
1859
  } };
1865
1860
  }
1866
- function saveMediaStreamWithIdleTimeout(stream, contentType, maxBytes, fileName, chunkTimeoutMs) {
1867
- return saveMediaStream(withChunkIdleTimeout(stream, chunkTimeoutMs), contentType, "inbound", maxBytes, fileName);
1868
- }
1869
- //#endregion
1870
- //#region extensions/feishu/src/send-result.ts
1871
- function resolveFeishuReceiptKind(msgType) {
1872
- switch (msgType) {
1873
- case "audio": return "voice";
1874
- case "image":
1875
- case "media":
1876
- case "file":
1877
- case "sticker": return "media";
1878
- case "interactive": return "card";
1879
- case "post":
1880
- case "text": return "text";
1881
- default: return "unknown";
1882
- }
1883
- }
1884
- function createFeishuSendReceipt(params) {
1885
- const messageId = params.messageId?.trim();
1886
- const chatId = params.chatId.trim();
1887
- return createMessageReceiptFromOutboundResults({
1888
- results: messageId ? [{
1889
- channel: "feishu",
1890
- messageId,
1891
- chatId,
1892
- conversationId: chatId
1893
- }] : [],
1894
- ...params.replyToId?.trim() ? { replyToId: params.replyToId.trim() } : {},
1895
- kind: params.kind ?? "unknown"
1896
- });
1897
- }
1898
- function toFeishuSendResult(response, chatId, kind, errorPrefix = "Feishu send failed", replyToId) {
1899
- const messageId = response.data?.message_id?.trim();
1900
- if (!messageId) throw createChannelPartialDeliveryError(/* @__PURE__ */ new Error(`${errorPrefix}: no message_id returned`), {
1901
- messageIds: [],
1902
- visibleReplySent: true
1903
- });
1904
- return {
1905
- messageId,
1906
- chatId,
1907
- receipt: createFeishuSendReceipt({
1908
- messageId,
1909
- chatId,
1910
- kind,
1911
- replyToId
1912
- })
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 {}
1913
1869
  };
1870
+ try {
1871
+ return await saveMediaStream(withChunkIdleTimeout(stream, chunkTimeoutMs, teardownSource), contentType, "inbound", maxBytes, fileName);
1872
+ } catch (error) {
1873
+ teardownSource();
1874
+ throw error;
1875
+ }
1914
1876
  }
1915
1877
  //#endregion
1916
1878
  //#region extensions/feishu/src/send-target.ts
@@ -1932,6 +1894,11 @@ function resolveFeishuSendTarget(params) {
1932
1894
  };
1933
1895
  }
1934
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
1935
1902
  //#region extensions/feishu/src/post.ts
1936
1903
  const FALLBACK_POST_TEXT = "[Rich text message]";
1937
1904
  const MARKDOWN_SPECIAL_CHARS = /([\\`*_{}[\]()#+\-!|>~])/g;
@@ -2052,7 +2019,18 @@ function resolvePostPayload(parsed) {
2052
2019
  }
2053
2020
  function parsePostContent(content, options = {}) {
2054
2021
  try {
2055
- const payload = resolvePostPayload(JSON.parse(content));
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);
2056
2034
  if (!payload) return {
2057
2035
  textContent: FALLBACK_POST_TEXT,
2058
2036
  attachments: [],
@@ -2208,12 +2186,15 @@ function parseInteractiveCardContent(parsed) {
2208
2186
  const text = extractInteractiveElementsText(elements, variables);
2209
2187
  if (text) return title ? `${title}\n${text}` : text;
2210
2188
  }
2211
- const postText = parsePostContent(JSON.stringify(parsed)).textContent.trim();
2189
+ const postText = renderPostContent(parsed).textContent.trim();
2212
2190
  if (postText && postText !== POST_FALLBACK_TEXT) return postText;
2213
2191
  return title || INTERACTIVE_CARD_FALLBACK_TEXT;
2214
2192
  }
2215
2193
  //#endregion
2216
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
+ }
2217
2198
  function isFeishuGroupChatType(chatType) {
2218
2199
  return chatType === "group" || chatType === "topic_group";
2219
2200
  }
@@ -2288,7 +2269,7 @@ function formatSubMessageContent(content, contentType) {
2288
2269
  const parsed = JSON.parse(content);
2289
2270
  switch (contentType) {
2290
2271
  case "text": return parsed.text || content;
2291
- case "post": return parsePostContent(content).textContent;
2272
+ case "post": return renderPostContent(parsed).textContent;
2292
2273
  case "interactive": return parseInteractiveCardContent(parsed);
2293
2274
  case "image": return "[Image]";
2294
2275
  case "file": return `[File: ${parsed.file_name || "unknown"}]`;
@@ -2302,16 +2283,9 @@ function formatSubMessageContent(content, contentType) {
2302
2283
  return content;
2303
2284
  }
2304
2285
  }
2305
- function parseMergeForwardContent(params) {
2306
- const { content } = params;
2286
+ function parseMergeForwardContent(items) {
2307
2287
  const maxMessages = 50;
2308
- let items;
2309
- try {
2310
- items = JSON.parse(content);
2311
- } catch {
2312
- return "[Merged and Forwarded Message - parse error]";
2313
- }
2314
- 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]";
2315
2289
  const container = items.find((item) => item.msg_type === "merge_forward" && !item.upper_message_id);
2316
2290
  const subMessages = container ? items.filter((item) => item !== container) : items.filter((item) => item.upper_message_id);
2317
2291
  if (subMessages.length === 0) return "[Merged and Forwarded Message - no sub-messages found]";
@@ -2324,6 +2298,63 @@ function parseMergeForwardContent(params) {
2324
2298
  ... [Merged-forward content truncated]`;
2325
2299
  }
2326
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
2327
2358
  //#region extensions/feishu/src/send.ts
2328
2359
  const WITHDRAWN_REPLY_ERROR_CODES = /* @__PURE__ */ new Set([230011, 231003]);
2329
2360
  function shouldFallbackFromReplyTarget(response) {
@@ -2344,14 +2375,14 @@ function isWithdrawnReplyError(err) {
2344
2375
  }
2345
2376
  /** Send a direct message as a fallback when a reply target is unavailable. */
2346
2377
  async function sendFallbackDirect(client, params, errorPrefix) {
2347
- const response = await requestFeishuApi(() => client.im.message.create({
2378
+ const response = await requestFeishuApi(() => withFeishuMessageDispatch(() => client.im.message.create({
2348
2379
  params: { receive_id_type: params.receiveIdType },
2349
2380
  data: {
2350
2381
  receive_id: params.receiveId,
2351
2382
  content: params.content,
2352
2383
  msg_type: params.msgType
2353
2384
  }
2354
- }), errorPrefix, { includeNestedErrorLogId: true });
2385
+ })), errorPrefix, { includeNestedErrorLogId: true });
2355
2386
  assertFeishuApiSuccess(response, errorPrefix);
2356
2387
  return toFeishuSendResult(response, params.receiveId, resolveFeishuReceiptKind(params.msgType), errorPrefix);
2357
2388
  }
@@ -2360,14 +2391,14 @@ async function sendReplyOrFallbackDirect(client, params) {
2360
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;
2361
2392
  let response;
2362
2393
  try {
2363
- response = await requestFeishuApi(() => client.im.message.reply({
2394
+ response = await requestFeishuApi(() => withFeishuMessageDispatch(() => client.im.message.reply({
2364
2395
  path: { message_id: params.replyToMessageId },
2365
2396
  data: {
2366
2397
  content: params.content,
2367
2398
  msg_type: params.msgType,
2368
2399
  ...params.replyInThread ? { reply_in_thread: true } : {}
2369
2400
  }
2370
- }), params.replyErrorPrefix, { includeNestedErrorLogId: true });
2401
+ })), params.replyErrorPrefix, { includeNestedErrorLogId: true });
2371
2402
  } catch (err) {
2372
2403
  if (!isWithdrawnReplyError(err)) throw err;
2373
2404
  if (replyTargetFallbackError) throw replyTargetFallbackError;
@@ -2394,7 +2425,7 @@ function parseFeishuMessageContent(rawContent, msgType, messageId) {
2394
2425
  const text = parsed?.text;
2395
2426
  return typeof text === "string" ? text : "[Text message]";
2396
2427
  }
2397
- if (msgType === "post") return parsePostContent(rawContent).textContent;
2428
+ if (msgType === "post") return renderPostContent(parsed).textContent;
2398
2429
  if (msgType === "interactive") return parseInteractiveCardContent(parsed);
2399
2430
  if (typeof parsed === "string") return parsed;
2400
2431
  const genericText = parsed?.text;
@@ -2445,7 +2476,7 @@ async function getMessageFeishu(params) {
2445
2476
  const parsedItem = parseFeishuMessageItem(item, messageId);
2446
2477
  if (parsedItem.contentType === "merge_forward" && responseItems) return {
2447
2478
  ...parsedItem,
2448
- content: parseMergeForwardContent({ content: JSON.stringify(responseItems) })
2479
+ content: parseMergeForwardContent(responseItems)
2449
2480
  };
2450
2481
  return parsedItem;
2451
2482
  } catch {
@@ -2696,14 +2727,6 @@ const FEISHU_TRANSCODABLE_AUDIO_EXTS = /* @__PURE__ */ new Set([
2696
2727
  ".webm",
2697
2728
  ".wma"
2698
2729
  ]);
2699
- async function runBeforeFeishuMessageDispatch(operation) {
2700
- try {
2701
- return await operation();
2702
- } catch (error) {
2703
- if (error instanceof PlatformMessageNotDispatchedError) throw error;
2704
- throw new PlatformMessageNotDispatchedError(`Feishu media preparation failed before message dispatch: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
2705
- }
2706
- }
2707
2730
  function createConfiguredFeishuMediaClient(params) {
2708
2731
  const account = resolveFeishuRuntimeAccount({
2709
2732
  cfg: params.cfg,
@@ -2925,7 +2948,7 @@ async function sendImageFeishu(params) {
2925
2948
  accountId
2926
2949
  });
2927
2950
  const content = JSON.stringify({ image_key: imageKey });
2928
- if (replyToMessageId) return sendReplyOrFallbackDirect(client, {
2951
+ return sendReplyOrFallbackDirect(client, {
2929
2952
  replyToMessageId,
2930
2953
  replyInThread,
2931
2954
  allowTopLevelReplyFallback,
@@ -2940,16 +2963,6 @@ async function sendImageFeishu(params) {
2940
2963
  directErrorPrefix: "Feishu image send failed",
2941
2964
  replyErrorPrefix: "Feishu image reply failed"
2942
2965
  });
2943
- const response = await requestFeishuApi(() => client.im.message.create({
2944
- params: { receive_id_type: receiveIdType },
2945
- data: {
2946
- receive_id: receiveId,
2947
- content,
2948
- msg_type: "image"
2949
- }
2950
- }), "Feishu image send failed", { includeNestedErrorLogId: true });
2951
- assertFeishuApiSuccess(response, "Feishu image send failed");
2952
- return toFeishuSendResult(response, receiveId, "media", "Feishu image send failed");
2953
2966
  }
2954
2967
  /**
2955
2968
  * Send a file message using a file_key
@@ -3647,4 +3660,4 @@ function createFeishuPartialReplyDeliveryError(cause, result) {
3647
3660
  });
3648
3661
  }
3649
3662
  //#endregion
3650
- export { encodeQuery as $, sendStructuredCardFeishu as A, FEISHU_CARD_INTERACTION_VERSION as At, buildFeishuMediaFallbackText as B, shouldSuppressFeishuTextForVoiceMedia as C, resolveFeishuGroupConfig as Ct, listFeishuThreadMessages as D, resolveFeishuReplyPolicy as Dt, getMessageFeishu as E, resolveFeishuGroupToolPolicy as Et, isFeishuGroupChatType as F, feishuExternalToolResult as G, resolveFeishuIdentityHeaderTitle as H, parseInteractiveCardContent as I, createFeishuToolClient as J, toolExecutionErrorResult as K, parsePostContent as L, extractMentionTargets as M, createFeishuCardInteractionEnvelope as Mt, isFeishuBroadcastMention as N, decodeFeishuCardAction as Nt, sendCardFeishu as O, normalizeFeishuChatType as Ot, isMentionForwardRequest as P, createCommentTypingReactionLifecycle as Q, createFeishuSendReceipt as R, sendStickerFeishu as S, resolveFeishuDmIngressAccess as St, editMessageFeishu as T, resolveFeishuGroupSenderActivationIngressAccess as Tt, deliverCommentThreadText as U, resolveFeishuIdentityEmoji as V, registerFeishuDriveTools as W, resolveFeishuToolAccount as X, resolveAnyEnabledFeishuToolsConfig as Y, cleanupAmbientCommentTypingReaction as Z, renderFeishuReplyPayload as _, isFeishuGroupReadAllowed as _t, FEISHU_PRESENTATION_CAPABILITIES as a, normalizeCommentFileType as at, saveMessageResourceFeishu as b, hasExplicitFeishuGroupConfig as bt, buildFeishuPresentationCard as c, resolveFeishuCardTemplate as ct, feishuCardWithinTableLimit as d, materializeFeishuPostMarkdownSoftBreaks as dt, extractReplyText as et, isFeishuCardWithinEnvelope as f, parseFeishuMarkdown as ft, renderFeishuPresentationPayload as g, canEnumerateAllFeishuPeers as gt, renderFeishuPresentationFallbackText as h, canEnumerateAllFeishuGroups as ht, noVisibleFeishuReplyDelivery as i, buildFeishuCommentTarget as it, formatFeishuMediaContent as j, buildFeishuCardActionTextFallback as jt, sendMessageFeishu as k, resolveFeishuChatType as kt, buildFeishuPresentationFallback as l, chunkFeishuMarkdown as lt, readNativeFeishuCard as m, authorizeFeishuChatMemberRead as mt, createFeishuReplyDeliveryResult as n, parseCommentContentElements as nt, assertFeishuCardWithinEnvelope as o, parseFeishuCommentTarget as ot, markRenderedFeishuCard as p, assertFeishuChatReadAllowed as pt, unknownToolActionResult as q, mergeFeishuReplyDeliveryResults as r, requestFeishuApi as rt, buildFeishuPayloadCard as s, readNativeFeishuCardJson as st, createFeishuPartialReplyDeliveryError as t, formatFeishuApiError as tt, consumeFeishuPresentationFallbackMarker as u, chunkFeishuPostMarkdown as ut, resolveFeishuRichReply as v, isFeishuGroupReadEnabled as vt, chunkFeishuCardMarkdown as w, resolveFeishuGroupConversationIngressAccess as wt, sendMediaFeishu as x, normalizeFeishuAllowEntry as xt, withinCardTableLimit as y, resolveFeishuChatReadPreliminaryAuthorization as yt, assertFeishuApiSuccess as z };
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 };
@@ -0,0 +1,3 @@
1
+ import { n as setFeishuRuntime } from "./runtime-C5JxBWZp.mjs";
2
+ import "../runtime-setter-api.js";
3
+ export { setFeishuRuntime };
@@ -0,0 +1,3 @@
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-BCpDLdg9.mjs";
2
+ import "../secret-contract-api.js";
3
+ export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,4 +1,4 @@
1
- import "./security-audit-shared-CK5rVR-1.js";
1
+ import "./security-audit-shared-CK5rVR-1.mjs";
2
2
  //#region extensions/feishu/src/message-action-contract.ts
3
3
  const FEISHU_NATIVE_CHAT_TARGET_ALIASES = [
4
4
  "chatId",
@@ -1,4 +1,4 @@
1
- import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-VYgGQ-GX.js";
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 });
@@ -0,0 +1,3 @@
1
+ import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./channel-C1KrXXJa.mjs";
2
+ import "../setup-api.js";
3
+ export { feishuPlugin, feishuSetupAdapter, feishuSetupWizard };
@@ -1,7 +1,6 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as stripFeishuProviderPrefix, r as normalizeFeishuTarget } from "./targets-BTQCYRZQ.js";
3
- import { r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-VYgGQ-GX.js";
4
- import { n as getFeishuThreadBindingManager } from "./thread-bindings-BiL1wGqK.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
2
+ import { d as stripFeishuProviderPrefix, l as normalizeFeishuTarget, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-H-lUayji.mjs";
3
+ import { n as getFeishuThreadBindingManager } from "./thread-bindings-BiL1wGqK.mjs";
5
4
  import { normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
5
  //#region extensions/feishu/src/subagent-hooks.ts
7
6
  var subagent_hooks_exports = /* @__PURE__ */ __exportAll({
@@ -67,21 +66,6 @@ function resolveFeishuRequesterConversation(params) {
67
66
  parentConversationId: existing.parentConversationId
68
67
  };
69
68
  }
70
- const senderScopedTopicBindings = matchingTopicBindings.filter((entry) => {
71
- return parseFeishuConversationId({
72
- conversationId: entry.conversationId,
73
- parentConversationId: entry.parentConversationId
74
- })?.scope === "group_topic_sender";
75
- });
76
- if (senderScopedTopicBindings.length === 1 && matchingTopicBindings.length === senderScopedTopicBindings.length) {
77
- const existing = senderScopedTopicBindings.at(0);
78
- if (existing === void 0) return null;
79
- return {
80
- accountId: existing.accountId,
81
- conversationId: existing.conversationId,
82
- parentConversationId: existing.parentConversationId
83
- };
84
- }
85
69
  return null;
86
70
  }
87
71
  }
package/dist/api.js CHANGED
@@ -1,11 +1,11 @@
1
- import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./channel-HDnQAH4Z.js";
2
- import { G as feishuExternalToolResult, J as createFeishuToolClient, K as toolExecutionErrorResult, W as registerFeishuDriveTools, X as resolveFeishuToolAccount, Y as resolveAnyEnabledFeishuToolsConfig, ft as parseFeishuMarkdown, lt as chunkFeishuMarkdown, q as unknownToolActionResult } from "./reply-delivery-result-C3smdVzb.js";
3
- import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-VYgGQ-GX.js";
4
- import { r as createFeishuClient, s as resolveConfiguredHttpTimeoutMs } from "./client-DMbIL3UH.js";
5
- import { t as getFeishuRuntime } from "./runtime-C5JxBWZp.js";
6
- import { o as registerFeishuChatTools } from "./chat-zhIPXu4X.js";
7
- import { n as getFeishuThreadBindingManager, t as createFeishuThreadBindingManager } from "./thread-bindings-BiL1wGqK.js";
8
- import { n as handleFeishuSubagentEnded, t as handleFeishuSubagentDeliveryTarget } from "./subagent-hooks-Buadpie_.js";
1
+ import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./.setup/conversation-id-H-lUayji.mjs";
2
+ import { a as setFeishuNamedAccountEnabled, i as feishuSetupAdapter, n as feishuSetupWizard, r as runFeishuLogin, t as feishuPlugin } from "./.setup/channel-C1KrXXJa.mjs";
3
+ import { G as registerFeishuDriveTools, J as unknownToolActionResult, K as feishuExternalToolResult, X as resolveAnyEnabledFeishuToolsConfig, Y as createFeishuToolClient, Z as resolveFeishuToolAccount, pt as parseFeishuMarkdown, q as toolExecutionErrorResult, ut as chunkFeishuMarkdown } from "./.setup/reply-delivery-result-DFjxGLgX.mjs";
4
+ import { f as resolveConfiguredHttpTimeoutMs, r as createFeishuClient } from "./.setup/client-DCwNVFZg.mjs";
5
+ import { t as getFeishuRuntime } from "./.setup/runtime-C5JxBWZp.mjs";
6
+ import { o as registerFeishuChatTools } from "./.setup/chat-dWJYS63b.mjs";
7
+ import { n as getFeishuThreadBindingManager, t as createFeishuThreadBindingManager } from "./.setup/thread-bindings-BiL1wGqK.mjs";
8
+ import { n as handleFeishuSubagentEnded, t as handleFeishuSubagentDeliveryTarget } from "./.setup/subagent-hooks-BBfF1hZk.mjs";
9
9
  import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
10
10
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
11
11
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, readStringValue, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -183,15 +183,14 @@ function createDescendantTable(table, adaptiveWidths) {
183
183
  ...adaptiveWidths?.length ? { column_width: adaptiveWidths } : {}
184
184
  } };
185
185
  }
186
- function calculateAdaptiveColumnWidths(blocks, tableBlockId) {
186
+ function calculateAdaptiveColumnWidths(blocks, tableBlockId, getBlockMap) {
187
187
  const tableBlock = blocks.find((b) => b.block_id === tableBlockId && b.block_type === 31);
188
188
  if (!tableBlock?.table?.property) return [];
189
189
  const { row_size, column_size, column_width: originalWidths } = tableBlock.table.property;
190
190
  if (!row_size || !column_size) return [];
191
191
  const totalWidth = originalWidths && originalWidths.length > 0 ? originalWidths.reduce((a, b) => a + b, 0) : DEFAULT_TABLE_WIDTH;
192
192
  const cellIds = normalizeChildBlockIds(tableBlock.children);
193
- const blockMap = /* @__PURE__ */ new Map();
194
- for (const block of blocks) if (block.block_id) blockMap.set(block.block_id, block);
193
+ const blockMap = getBlockMap();
195
194
  function getCellText(cellId) {
196
195
  const cell = blockMap.get(cellId);
197
196
  let text = "";
@@ -205,9 +204,16 @@ function calculateAdaptiveColumnWidths(blocks, tableBlockId) {
205
204
  return text;
206
205
  }
207
206
  function getWeightedLength(text) {
208
- return Array.from(text).reduce((sum, char) => {
209
- return sum + (char.charCodeAt(0) > 255 ? 2 : 1);
210
- }, 0);
207
+ let length = 0;
208
+ for (let index = 0; index < text.length; index += 1) {
209
+ const code = text.charCodeAt(index);
210
+ length += code > 255 ? 2 : 1;
211
+ if (code >= 55296 && code <= 56319) {
212
+ const next = text.charCodeAt(index + 1);
213
+ if (next >= 56320 && next <= 57343) index += 1;
214
+ }
215
+ }
216
+ return length;
211
217
  }
212
218
  const maxLengths = Array.from({ length: column_size }, () => 0);
213
219
  for (let row = 0; row < row_size; row++) for (let col = 0; col < column_size; col++) {
@@ -255,9 +261,17 @@ function calculateAdaptiveColumnWidths(blocks, tableBlockId) {
255
261
  * @returns Cleaned blocks ready for Descendant API
256
262
  */
257
263
  function cleanBlocksForDescendant(blocks) {
264
+ let blockMap;
265
+ const getBlockMap = () => {
266
+ if (!blockMap) {
267
+ blockMap = /* @__PURE__ */ new Map();
268
+ for (const block of blocks) if (block.block_id) blockMap.set(block.block_id, block);
269
+ }
270
+ return blockMap;
271
+ };
258
272
  const tableWidths = /* @__PURE__ */ new Map();
259
273
  for (const block of blocks) if (block.block_type === 31 && block.block_id) {
260
- const widths = calculateAdaptiveColumnWidths(blocks, block.block_id);
274
+ const widths = calculateAdaptiveColumnWidths(blocks, block.block_id, getBlockMap);
261
275
  tableWidths.set(block.block_id, widths);
262
276
  }
263
277
  return blocks.map((block) => {
@@ -1,2 +1,2 @@
1
- import { t as feishuPlugin } from "./channel-HDnQAH4Z.js";
1
+ import { t as feishuPlugin } from "./.setup/channel-C1KrXXJa.mjs";
2
2
  export { feishuPlugin };
@@ -1,4 +1,4 @@
1
- import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-VYgGQ-GX.js";
2
- import { t as messageActionTargetAliases } from "./security-audit-DKfR4Cv3.js";
3
- import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-CK5rVR-1.js";
1
+ import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./.setup/conversation-id-H-lUayji.mjs";
2
+ import { t as messageActionTargetAliases } from "./.setup/security-audit-CmiKKfU-.mjs";
3
+ import { t as collectFeishuSecurityAuditFindings } from "./.setup/security-audit-shared-CK5rVR-1.mjs";
4
4
  export { buildFeishuConversationId, collectFeishuSecurityAuditFindings, messageActionTargetAliases, parseFeishuConversationId, parseFeishuDirectConversationId, parseFeishuTargetId };
@@ -1,2 +1,2 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-w6FpMypv.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./.setup/doctor-contract-w6FpMypv.mjs";
2
2
  export { legacyConfigRules, normalizeCompatibilityConfig };
@@ -1,4 +1,4 @@
1
- import { n as setFeishuRuntime } from "./runtime-C5JxBWZp.js";
1
+ import { n as setFeishuRuntime } from "./.setup/runtime-C5JxBWZp.mjs";
2
2
  import { createReplyPrefixContext } from "openclaw/plugin-sdk/channel-outbound";
3
3
  import { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing";
4
4
  import { PAIRING_APPROVED_MESSAGE, buildProbeChannelStatusSummary, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/channel-status";
@@ -1,2 +1,2 @@
1
- import { n as setFeishuRuntime } from "./runtime-C5JxBWZp.js";
1
+ import { n as setFeishuRuntime } from "./.setup/runtime-C5JxBWZp.mjs";
2
2
  export { setFeishuRuntime };
@@ -1,2 +1,2 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-BCpDLdg9.js";
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./.setup/secret-contract-BCpDLdg9.mjs";
2
2
  export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,2 +1,2 @@
1
- import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-CK5rVR-1.js";
1
+ import { t as collectFeishuSecurityAuditFindings } from "./.setup/security-audit-shared-CK5rVR-1.mjs";
2
2
  export { collectFeishuSecurityAuditFindings };
@@ -1,2 +1,2 @@
1
- import { t as createFeishuThreadBindingManager } from "./thread-bindings-BiL1wGqK.js";
1
+ import { t as createFeishuThreadBindingManager } from "./.setup/thread-bindings-BiL1wGqK.mjs";
2
2
  export { createFeishuThreadBindingManager };