@openclaw/feishu 2026.6.8-beta.2 → 2026.6.9-beta.1

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 (281) hide show
  1. package/dist/api.js +78 -23
  2. package/dist/{channel-DwygSth-.js → channel-C9mW5kaS.js} +2 -2
  3. package/dist/channel-plugin-api.js +1 -1
  4. package/dist/{channel.runtime-CrqKcXaU.js → channel.runtime-BgUhHAja.js} +3 -3
  5. package/dist/{drive-8o3Omlnd.js → drive-9UfpmY27.js} +15 -2
  6. package/dist/{monitor-_1eNsUVp.js → monitor-BayUOr_U.js} +1 -1
  7. package/dist/{monitor.account-BhoLA1Y0.js → monitor.account-DzZWj0ob.js} +92 -48
  8. package/dist/{send-B3kteMF8.js → send-BozRcrbz.js} +32 -24
  9. package/dist/setup-api.js +1 -1
  10. package/node_modules/@protobufjs/aspromise/LICENSE +26 -0
  11. package/node_modules/@protobufjs/aspromise/README.md +13 -0
  12. package/node_modules/{protobufjs/src/util/aspromise.d.ts → @protobufjs/aspromise/index.d.ts} +13 -13
  13. package/node_modules/{protobufjs/src/util/aspromise.js → @protobufjs/aspromise/index.js} +52 -52
  14. package/node_modules/@protobufjs/aspromise/package.json +21 -0
  15. package/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
  16. package/node_modules/@protobufjs/base64/LICENSE +26 -0
  17. package/node_modules/@protobufjs/base64/README.md +19 -0
  18. package/node_modules/{protobufjs/src/util/base64.d.ts → @protobufjs/base64/index.d.ts} +32 -32
  19. package/node_modules/{protobufjs/src/util/base64.js → @protobufjs/base64/index.js} +139 -146
  20. package/node_modules/@protobufjs/base64/package.json +21 -0
  21. package/node_modules/@protobufjs/base64/tests/index.js +46 -0
  22. package/node_modules/@protobufjs/codegen/LICENSE +26 -0
  23. package/node_modules/@protobufjs/codegen/README.md +49 -0
  24. package/node_modules/{protobufjs/src/util/codegen.d.ts → @protobufjs/codegen/index.d.ts} +31 -31
  25. package/node_modules/{protobufjs/src/util/codegen.js → @protobufjs/codegen/index.js} +112 -113
  26. package/node_modules/@protobufjs/codegen/package.json +13 -0
  27. package/node_modules/@protobufjs/codegen/tests/index.js +13 -0
  28. package/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
  29. package/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
  30. package/node_modules/@protobufjs/eventemitter/README.md +22 -0
  31. package/node_modules/{protobufjs/src/util/eventemitter.d.ts → @protobufjs/eventemitter/index.d.ts} +45 -45
  32. package/node_modules/{protobufjs/src/util/eventemitter.js → @protobufjs/eventemitter/index.js} +86 -86
  33. package/node_modules/@protobufjs/eventemitter/package.json +21 -0
  34. package/node_modules/@protobufjs/eventemitter/tests/index.js +83 -0
  35. package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
  36. package/node_modules/@protobufjs/fetch/LICENSE +26 -0
  37. package/node_modules/@protobufjs/fetch/README.md +13 -0
  38. package/node_modules/{protobufjs/src/util/fetch.d.ts → @protobufjs/fetch/index.d.ts} +56 -56
  39. package/node_modules/{protobufjs/src/util/fetch.js → @protobufjs/fetch/index.js} +112 -112
  40. package/node_modules/@protobufjs/fetch/package.json +27 -0
  41. package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
  42. package/node_modules/@protobufjs/fetch/tests/index.js +158 -0
  43. package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
  44. package/node_modules/@protobufjs/float/LICENSE +26 -0
  45. package/node_modules/@protobufjs/float/README.md +102 -0
  46. package/node_modules/@protobufjs/float/bench/index.js +87 -0
  47. package/node_modules/@protobufjs/float/bench/suite.js +46 -0
  48. package/node_modules/{protobufjs/src/util/float.js → @protobufjs/float/index.js} +335 -335
  49. package/node_modules/@protobufjs/float/package.json +26 -0
  50. package/node_modules/@protobufjs/float/tests/index.js +100 -0
  51. package/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
  52. package/node_modules/@protobufjs/inquire/LICENSE +26 -0
  53. package/node_modules/@protobufjs/inquire/README.md +13 -0
  54. package/node_modules/{protobufjs/src/util/inquire.d.ts → @protobufjs/inquire/index.d.ts} +10 -10
  55. package/node_modules/{protobufjs/src/util/inquire.js → @protobufjs/inquire/index.js} +38 -38
  56. package/node_modules/@protobufjs/inquire/package.json +21 -0
  57. package/node_modules/@protobufjs/inquire/tests/data/array.js +1 -0
  58. package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +1 -0
  59. package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +1 -0
  60. package/node_modules/@protobufjs/inquire/tests/data/object.js +1 -0
  61. package/node_modules/@protobufjs/inquire/tests/index.js +20 -0
  62. package/node_modules/@protobufjs/path/LICENSE +26 -0
  63. package/node_modules/@protobufjs/path/README.md +19 -0
  64. package/node_modules/{protobufjs/src/util/path.d.ts → @protobufjs/path/index.d.ts} +22 -22
  65. package/node_modules/{protobufjs/src/util/path.js → @protobufjs/path/index.js} +65 -72
  66. package/node_modules/@protobufjs/path/package.json +21 -0
  67. package/node_modules/@protobufjs/path/tests/index.js +60 -0
  68. package/node_modules/@protobufjs/pool/.npmignore +3 -0
  69. package/node_modules/@protobufjs/pool/LICENSE +26 -0
  70. package/node_modules/@protobufjs/pool/README.md +13 -0
  71. package/node_modules/{protobufjs/src/util/pool.d.ts → @protobufjs/pool/index.d.ts} +32 -32
  72. package/node_modules/{protobufjs/src/util/pool.js → @protobufjs/pool/index.js} +48 -48
  73. package/node_modules/@protobufjs/pool/package.json +21 -0
  74. package/node_modules/@protobufjs/pool/tests/index.js +33 -0
  75. package/node_modules/@protobufjs/utf8/LICENSE +26 -0
  76. package/node_modules/@protobufjs/utf8/README.md +20 -0
  77. package/node_modules/{protobufjs/src/util/utf8.d.ts → @protobufjs/utf8/index.d.ts} +24 -24
  78. package/node_modules/{protobufjs/src/util/utf8.js → @protobufjs/utf8/index.js} +104 -130
  79. package/node_modules/@protobufjs/utf8/package.json +21 -0
  80. package/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
  81. package/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
  82. package/node_modules/@protobufjs/utf8/tests/index.js +74 -0
  83. package/node_modules/@types/node/LICENSE +21 -0
  84. package/node_modules/@types/node/README.md +15 -0
  85. package/node_modules/@types/node/assert/strict.d.ts +59 -0
  86. package/node_modules/@types/node/assert.d.ts +950 -0
  87. package/node_modules/@types/node/async_hooks.d.ts +711 -0
  88. package/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  89. package/node_modules/@types/node/buffer.d.ts +1765 -0
  90. package/node_modules/@types/node/child_process.d.ts +1366 -0
  91. package/node_modules/@types/node/cluster.d.ts +432 -0
  92. package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  93. package/node_modules/@types/node/console.d.ts +93 -0
  94. package/node_modules/@types/node/constants.d.ts +14 -0
  95. package/node_modules/@types/node/crypto.d.ts +4058 -0
  96. package/node_modules/@types/node/dgram.d.ts +537 -0
  97. package/node_modules/@types/node/diagnostics_channel.d.ts +552 -0
  98. package/node_modules/@types/node/dns/promises.d.ts +497 -0
  99. package/node_modules/@types/node/dns.d.ts +876 -0
  100. package/node_modules/@types/node/domain.d.ts +150 -0
  101. package/node_modules/@types/node/events.d.ts +1008 -0
  102. package/node_modules/@types/node/fs/promises.d.ts +1468 -0
  103. package/node_modules/@types/node/fs.d.ts +4780 -0
  104. package/node_modules/@types/node/globals.d.ts +150 -0
  105. package/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  106. package/node_modules/@types/node/http.d.ts +2147 -0
  107. package/node_modules/@types/node/http2.d.ts +2485 -0
  108. package/node_modules/@types/node/https.d.ts +400 -0
  109. package/node_modules/@types/node/index.d.ts +117 -0
  110. package/node_modules/@types/node/inspector/promises.d.ts +35 -0
  111. package/node_modules/@types/node/inspector.d.ts +264 -0
  112. package/node_modules/@types/node/inspector.generated.d.ts +4406 -0
  113. package/node_modules/@types/node/module.d.ts +755 -0
  114. package/node_modules/@types/node/net.d.ts +970 -0
  115. package/node_modules/@types/node/os.d.ts +498 -0
  116. package/node_modules/@types/node/package.json +155 -0
  117. package/node_modules/@types/node/path/posix.d.ts +8 -0
  118. package/node_modules/@types/node/path/win32.d.ts +8 -0
  119. package/node_modules/@types/node/path.d.ts +178 -0
  120. package/node_modules/@types/node/perf_hooks.d.ts +612 -0
  121. package/node_modules/@types/node/process.d.ts +2204 -0
  122. package/node_modules/@types/node/punycode.d.ts +89 -0
  123. package/node_modules/@types/node/querystring.d.ts +139 -0
  124. package/node_modules/@types/node/quic.d.ts +897 -0
  125. package/node_modules/@types/node/readline/promises.d.ts +158 -0
  126. package/node_modules/@types/node/readline.d.ts +507 -0
  127. package/node_modules/@types/node/repl.d.ts +420 -0
  128. package/node_modules/@types/node/sea.d.ts +47 -0
  129. package/node_modules/@types/node/sqlite.d.ts +1068 -0
  130. package/node_modules/@types/node/stream/consumers.d.ts +114 -0
  131. package/node_modules/@types/node/stream/iter.d.ts +301 -0
  132. package/node_modules/@types/node/stream/promises.d.ts +211 -0
  133. package/node_modules/@types/node/stream/web.d.ts +300 -0
  134. package/node_modules/@types/node/stream.d.ts +1774 -0
  135. package/node_modules/@types/node/string_decoder.d.ts +27 -0
  136. package/node_modules/@types/node/test/reporters.d.ts +59 -0
  137. package/node_modules/@types/node/test.d.ts +2279 -0
  138. package/node_modules/@types/node/timers/promises.d.ts +93 -0
  139. package/node_modules/@types/node/timers.d.ts +149 -0
  140. package/node_modules/@types/node/tls.d.ts +1193 -0
  141. package/node_modules/@types/node/trace_events.d.ts +103 -0
  142. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  143. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  144. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  145. package/node_modules/@types/node/ts5.6/index.d.ts +119 -0
  146. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  147. package/node_modules/@types/node/ts5.7/index.d.ts +119 -0
  148. package/node_modules/@types/node/tty.d.ts +225 -0
  149. package/node_modules/@types/node/url.d.ts +556 -0
  150. package/node_modules/@types/node/util/types.d.ts +558 -0
  151. package/node_modules/@types/node/util.d.ts +1677 -0
  152. package/node_modules/@types/node/v8.d.ts +980 -0
  153. package/node_modules/@types/node/vm.d.ts +1136 -0
  154. package/node_modules/@types/node/wasi.d.ts +131 -0
  155. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  156. package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  157. package/node_modules/@types/node/web-globals/console.d.ts +9 -0
  158. package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  159. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  160. package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  161. package/node_modules/@types/node/web-globals/events.d.ts +106 -0
  162. package/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  163. package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  164. package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  165. package/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  166. package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  167. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  168. package/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  169. package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  170. package/node_modules/@types/node/web-globals/url.d.ts +24 -0
  171. package/node_modules/@types/node/worker_threads.d.ts +671 -0
  172. package/node_modules/@types/node/zlib/iter.d.ts +131 -0
  173. package/node_modules/@types/node/zlib.d.ts +589 -0
  174. package/node_modules/protobufjs/README.md +556 -263
  175. package/node_modules/protobufjs/dist/light/protobuf.js +1569 -1919
  176. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  177. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  178. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  179. package/node_modules/protobufjs/dist/minimal/protobuf.js +906 -1132
  180. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  181. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  182. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  183. package/node_modules/protobufjs/dist/protobuf.js +1576 -1993
  184. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  185. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  186. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  187. package/node_modules/protobufjs/ext/descriptor/README.md +70 -3
  188. package/node_modules/protobufjs/ext/descriptor/index.d.ts +193 -0
  189. package/node_modules/protobufjs/ext/descriptor/index.js +1185 -1
  190. package/node_modules/protobufjs/ext/descriptor/test.js +54 -0
  191. package/node_modules/protobufjs/index.d.ts +720 -834
  192. package/node_modules/protobufjs/package.json +44 -20
  193. package/node_modules/protobufjs/src/converter.js +36 -60
  194. package/node_modules/protobufjs/src/decoder.js +53 -124
  195. package/node_modules/protobufjs/src/encoder.js +2 -10
  196. package/node_modules/protobufjs/src/enum.js +3 -8
  197. package/node_modules/protobufjs/src/field.js +11 -13
  198. package/node_modules/protobufjs/src/index-light.js +1 -1
  199. package/node_modules/protobufjs/src/mapfield.js +0 -1
  200. package/node_modules/protobufjs/src/message.js +11 -5
  201. package/node_modules/protobufjs/src/method.js +4 -5
  202. package/node_modules/protobufjs/src/namespace.js +3 -10
  203. package/node_modules/protobufjs/src/object.js +20 -20
  204. package/node_modules/protobufjs/src/oneof.js +0 -3
  205. package/node_modules/protobufjs/src/parse.js +16 -78
  206. package/node_modules/protobufjs/src/reader.js +31 -136
  207. package/node_modules/protobufjs/src/reader_buffer.js +3 -24
  208. package/node_modules/protobufjs/src/root.js +3 -7
  209. package/node_modules/protobufjs/src/roots.js +1 -1
  210. package/node_modules/protobufjs/src/service.js +6 -13
  211. package/node_modules/protobufjs/src/tokenize.js +1 -6
  212. package/node_modules/protobufjs/src/type.js +30 -44
  213. package/node_modules/protobufjs/src/typescript.jsdoc +15 -0
  214. package/node_modules/protobufjs/src/util/minimal.js +12 -36
  215. package/node_modules/protobufjs/src/util.js +17 -6
  216. package/node_modules/protobufjs/src/verifier.js +6 -6
  217. package/node_modules/protobufjs/src/wrappers.js +1 -0
  218. package/node_modules/protobufjs/src/writer.js +16 -42
  219. package/node_modules/protobufjs/src/writer_buffer.js +1 -18
  220. package/node_modules/protobufjs/tsconfig.json +5 -3
  221. package/node_modules/undici-types/LICENSE +21 -0
  222. package/node_modules/undici-types/README.md +6 -0
  223. package/node_modules/undici-types/agent.d.ts +32 -0
  224. package/node_modules/undici-types/api.d.ts +43 -0
  225. package/node_modules/undici-types/balanced-pool.d.ts +30 -0
  226. package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
  227. package/node_modules/undici-types/cache.d.ts +36 -0
  228. package/node_modules/undici-types/client-stats.d.ts +15 -0
  229. package/node_modules/undici-types/client.d.ts +123 -0
  230. package/node_modules/undici-types/connector.d.ts +36 -0
  231. package/node_modules/undici-types/content-type.d.ts +21 -0
  232. package/node_modules/undici-types/cookies.d.ts +30 -0
  233. package/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  234. package/node_modules/undici-types/dispatcher.d.ts +279 -0
  235. package/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  236. package/node_modules/undici-types/errors.d.ts +177 -0
  237. package/node_modules/undici-types/eventsource.d.ts +66 -0
  238. package/node_modules/undici-types/fetch.d.ts +211 -0
  239. package/node_modules/undici-types/formdata.d.ts +108 -0
  240. package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  241. package/node_modules/undici-types/global-origin.d.ts +7 -0
  242. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  243. package/node_modules/undici-types/handlers.d.ts +15 -0
  244. package/node_modules/undici-types/header.d.ts +160 -0
  245. package/node_modules/undici-types/index.d.ts +91 -0
  246. package/node_modules/undici-types/interceptors.d.ts +80 -0
  247. package/node_modules/undici-types/mock-agent.d.ts +68 -0
  248. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  249. package/node_modules/undici-types/mock-client.d.ts +27 -0
  250. package/node_modules/undici-types/mock-errors.d.ts +12 -0
  251. package/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  252. package/node_modules/undici-types/mock-pool.d.ts +27 -0
  253. package/node_modules/undici-types/package.json +55 -0
  254. package/node_modules/undici-types/patch.d.ts +29 -0
  255. package/node_modules/undici-types/pool-stats.d.ts +19 -0
  256. package/node_modules/undici-types/pool.d.ts +41 -0
  257. package/node_modules/undici-types/proxy-agent.d.ts +29 -0
  258. package/node_modules/undici-types/readable.d.ts +68 -0
  259. package/node_modules/undici-types/retry-agent.d.ts +8 -0
  260. package/node_modules/undici-types/retry-handler.d.ts +125 -0
  261. package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  262. package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  263. package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
  264. package/node_modules/undici-types/util.d.ts +18 -0
  265. package/node_modules/undici-types/utility.d.ts +7 -0
  266. package/node_modules/undici-types/webidl.d.ts +347 -0
  267. package/node_modules/undici-types/websocket.d.ts +188 -0
  268. package/npm-shrinkwrap.json +95 -6
  269. package/package.json +4 -4
  270. package/skills/feishu-wiki/SKILL.md +10 -1
  271. package/node_modules/protobufjs/ext/README.md +0 -81
  272. package/node_modules/protobufjs/ext/descriptor.d.ts +0 -86
  273. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -409
  274. package/node_modules/protobufjs/ext/descriptor.js +0 -1266
  275. package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
  276. package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -11
  277. package/node_modules/protobufjs/ext/textformat.js +0 -1235
  278. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
  279. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
  280. package/node_modules/protobufjs/src/typescript.js +0 -25
  281. /package/node_modules/{protobufjs/src/util/float.d.ts → @protobufjs/float/index.d.ts} +0 -0
@@ -182,7 +182,7 @@ async function saveMessageResourceWithType(params) {
182
182
  errorPrefix: "Feishu message resource download failed",
183
183
  maxBytes: params.maxBytes,
184
184
  contentType: meta.contentType,
185
- fileName: meta.fileName ?? params.originalFilename
185
+ fileName: meta.fileName ?? (params.originalFilename ? recoverUtf8FileNameFromLatin1Header(params.originalFilename) : void 0)
186
186
  }),
187
187
  ...meta
188
188
  };
@@ -606,25 +606,12 @@ function isMentionForwardRequest(event, botOpenId) {
606
606
  return userMentions.some((m) => m.id.open_id === botOpenId) && hasOtherMention;
607
607
  }
608
608
  /**
609
- * Format @mention for text message
610
- */
611
- function formatMentionForText(target) {
612
- return `<at user_id="${target.openId}">${target.name}</at>`;
613
- }
614
- /**
615
609
  * Format @mention for card message (lark_md)
616
610
  */
617
611
  function formatMentionForCard(target) {
618
612
  return `<at id=${target.openId}></at>`;
619
613
  }
620
614
  /**
621
- * Build complete message with @mentions (text format)
622
- */
623
- function buildMentionedMessage(targets, message) {
624
- if (targets.length === 0) return message;
625
- return `${targets.map((t) => formatMentionForText(t)).join(" ")} ${message}`;
626
- }
627
- /**
628
615
  * Build card content with @mentions (Markdown format)
629
616
  */
630
617
  function buildMentionedCardContent(targets, message) {
@@ -973,7 +960,10 @@ async function getMessageFeishu(params) {
973
960
  if (!account.configured) throw new Error(`Feishu account "${account.accountId}" not configured`);
974
961
  const client = createFeishuClient(account);
975
962
  try {
976
- const response = await client.im.message.get({ path: { message_id: messageId } });
963
+ const response = await client.im.message.get({
964
+ params: { card_msg_content_type: "user_card_content" },
965
+ path: { message_id: messageId }
966
+ });
977
967
  if (response.code !== 0) return null;
978
968
  const rawItem = response.data?.items?.[0] ?? response.data;
979
969
  const item = rawItem && (rawItem.body !== void 0 || rawItem.message_id !== void 0) ? rawItem : null;
@@ -999,7 +989,8 @@ async function listFeishuThreadMessages(params) {
999
989
  container_id_type: "thread",
1000
990
  container_id: threadId,
1001
991
  sort_type: "ByCreateTimeDesc",
1002
- page_size: Math.min(limit + 1, 50)
992
+ page_size: Math.min(limit + 1, 50),
993
+ card_msg_content_type: "user_card_content"
1003
994
  } });
1004
995
  if (response.code !== 0) throw new Error(`Feishu thread list failed: code=${response.code} msg=${response.msg ?? "unknown"}`);
1005
996
  const items = response.data?.items ?? [];
@@ -1021,13 +1012,29 @@ async function listFeishuThreadMessages(params) {
1021
1012
  results.reverse();
1022
1013
  return results;
1023
1014
  }
1015
+ function buildFeishuPostMentionElements(mentions) {
1016
+ if (!mentions?.length) return [];
1017
+ const elements = [];
1018
+ for (const mention of mentions) {
1019
+ const userId = mention.openId.trim();
1020
+ if (!userId) continue;
1021
+ const userName = mention.name.trim();
1022
+ elements.push({
1023
+ tag: "at",
1024
+ user_id: userId,
1025
+ ...userName ? { user_name: userName } : {}
1026
+ });
1027
+ }
1028
+ return elements;
1029
+ }
1024
1030
  function buildFeishuPostMessagePayload(params) {
1025
- const { messageText } = params;
1031
+ const { messageText, mentions } = params;
1032
+ const content = [...buildFeishuPostMentionElements(mentions), {
1033
+ tag: "md",
1034
+ text: messageText
1035
+ }];
1026
1036
  return {
1027
- content: JSON.stringify({ zh_cn: { content: [[{
1028
- tag: "md",
1029
- text: messageText
1030
- }]] } }),
1037
+ content: JSON.stringify({ zh_cn: { content: [content] } }),
1031
1038
  msgType: "post"
1032
1039
  };
1033
1040
  }
@@ -1042,9 +1049,10 @@ async function sendMessageFeishu(params) {
1042
1049
  cfg,
1043
1050
  channel: "feishu"
1044
1051
  });
1045
- let rawText = text ?? "";
1046
- if (mentions && mentions.length > 0) rawText = buildMentionedMessage(mentions, rawText);
1047
- const { content, msgType } = buildFeishuPostMessagePayload({ messageText: convertMarkdownTables(rawText, tableMode) });
1052
+ const { content, msgType } = buildFeishuPostMessagePayload({
1053
+ messageText: convertMarkdownTables(text ?? "", tableMode),
1054
+ mentions
1055
+ });
1048
1056
  return sendReplyOrFallbackDirect(client, {
1049
1057
  replyToMessageId,
1050
1058
  replyInThread,
package/dist/setup-api.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./channel-DwygSth-.js";
1
+ import { i as feishuSetupAdapter, n as feishuSetupWizard, t as feishuPlugin } from "./channel-C9mW5kaS.js";
2
2
  export { feishuPlugin, feishuSetupAdapter, feishuSetupWizard };
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2016, Daniel Wirtz All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions are
5
+ met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+ * Neither the name of its author, nor the names of its contributors
13
+ may be used to endorse or promote products derived from this software
14
+ without specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,13 @@
1
+ @protobufjs/aspromise
2
+ =====================
3
+ [![npm](https://img.shields.io/npm/v/@protobufjs/aspromise.svg)](https://www.npmjs.com/package/@protobufjs/aspromise)
4
+
5
+ Returns a promise from a node-style callback function.
6
+
7
+ API
8
+ ---
9
+
10
+ * **asPromise(fn: `function`, ctx: `Object`, ...params: `*`): `Promise<*>`**<br />
11
+ Returns a promise from a node-style callback function.
12
+
13
+ **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
@@ -1,13 +1,13 @@
1
- export = asPromise;
2
-
3
- type asPromiseCallback = (error: Error | null, ...params: any[]) => {};
4
-
5
- /**
6
- * Returns a promise from a node-style callback function.
7
- * @memberof util
8
- * @param {asPromiseCallback} fn Function to call
9
- * @param {*} ctx Function context
10
- * @param {...*} params Function arguments
11
- * @returns {Promise<*>} Promisified function
12
- */
13
- declare function asPromise(fn: asPromiseCallback, ctx: any, ...params: any[]): Promise<any>;
1
+ export = asPromise;
2
+
3
+ type asPromiseCallback = (error: Error | null, ...params: any[]) => {};
4
+
5
+ /**
6
+ * Returns a promise from a node-style callback function.
7
+ * @memberof util
8
+ * @param {asPromiseCallback} fn Function to call
9
+ * @param {*} ctx Function context
10
+ * @param {...*} params Function arguments
11
+ * @returns {Promise<*>} Promisified function
12
+ */
13
+ declare function asPromise(fn: asPromiseCallback, ctx: any, ...params: any[]): Promise<any>;
@@ -1,52 +1,52 @@
1
- "use strict";
2
- module.exports = asPromise;
3
-
4
- /**
5
- * Callback as used by {@link util.asPromise}.
6
- * @typedef asPromiseCallback
7
- * @type {function}
8
- * @param {Error|null} error Error, if any
9
- * @param {...*} params Additional arguments
10
- * @returns {undefined}
11
- */
12
-
13
- /**
14
- * Returns a promise from a node-style callback function.
15
- * @memberof util
16
- * @param {asPromiseCallback} fn Function to call
17
- * @param {*} ctx Function context
18
- * @param {...*} params Function arguments
19
- * @returns {Promise<*>} Promisified function
20
- */
21
- function asPromise(fn, ctx/*, varargs */) {
22
- var params = new Array(arguments.length - 1),
23
- offset = 0,
24
- index = 2,
25
- pending = true;
26
- while (index < arguments.length)
27
- params[offset++] = arguments[index++];
28
- return new Promise(function executor(resolve, reject) {
29
- params[offset] = function callback(err/*, varargs */) {
30
- if (pending) {
31
- pending = false;
32
- if (err)
33
- reject(err);
34
- else {
35
- var params = new Array(arguments.length - 1),
36
- offset = 0;
37
- while (offset < params.length)
38
- params[offset++] = arguments[offset];
39
- resolve.apply(null, params);
40
- }
41
- }
42
- };
43
- try {
44
- fn.apply(ctx || null, params);
45
- } catch (err) {
46
- if (pending) {
47
- pending = false;
48
- reject(err);
49
- }
50
- }
51
- });
52
- }
1
+ "use strict";
2
+ module.exports = asPromise;
3
+
4
+ /**
5
+ * Callback as used by {@link util.asPromise}.
6
+ * @typedef asPromiseCallback
7
+ * @type {function}
8
+ * @param {Error|null} error Error, if any
9
+ * @param {...*} params Additional arguments
10
+ * @returns {undefined}
11
+ */
12
+
13
+ /**
14
+ * Returns a promise from a node-style callback function.
15
+ * @memberof util
16
+ * @param {asPromiseCallback} fn Function to call
17
+ * @param {*} ctx Function context
18
+ * @param {...*} params Function arguments
19
+ * @returns {Promise<*>} Promisified function
20
+ */
21
+ function asPromise(fn, ctx/*, varargs */) {
22
+ var params = new Array(arguments.length - 1),
23
+ offset = 0,
24
+ index = 2,
25
+ pending = true;
26
+ while (index < arguments.length)
27
+ params[offset++] = arguments[index++];
28
+ return new Promise(function executor(resolve, reject) {
29
+ params[offset] = function callback(err/*, varargs */) {
30
+ if (pending) {
31
+ pending = false;
32
+ if (err)
33
+ reject(err);
34
+ else {
35
+ var params = new Array(arguments.length - 1),
36
+ offset = 0;
37
+ while (offset < params.length)
38
+ params[offset++] = arguments[offset];
39
+ resolve.apply(null, params);
40
+ }
41
+ }
42
+ };
43
+ try {
44
+ fn.apply(ctx || null, params);
45
+ } catch (err) {
46
+ if (pending) {
47
+ pending = false;
48
+ reject(err);
49
+ }
50
+ }
51
+ });
52
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "@protobufjs/aspromise",
3
+ "description": "Returns a promise from a node-style callback function.",
4
+ "version": "1.1.2",
5
+ "author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/dcodeIO/protobuf.js.git"
9
+ },
10
+ "license": "BSD-3-Clause",
11
+ "main": "index.js",
12
+ "types": "index.d.ts",
13
+ "devDependencies": {
14
+ "istanbul": "^0.4.5",
15
+ "tape": "^4.6.3"
16
+ },
17
+ "scripts": {
18
+ "test": "tape tests/*.js",
19
+ "coverage": "istanbul cover node_modules/tape/bin/tape tests/*.js"
20
+ }
21
+ }
@@ -0,0 +1,130 @@
1
+ var tape = require("tape");
2
+
3
+ var asPromise = require("..");
4
+
5
+ tape.test("aspromise", function(test) {
6
+
7
+ test.test(this.name + " - resolve", function(test) {
8
+
9
+ function fn(arg1, arg2, callback) {
10
+ test.equal(this, ctx, "function should be called with this = ctx");
11
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
12
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
13
+ callback(null, arg2);
14
+ }
15
+
16
+ var ctx = {};
17
+
18
+ var promise = asPromise(fn, ctx, 1, 2);
19
+ promise.then(function(arg2) {
20
+ test.equal(arg2, 2, "promise should be resolved with arg2 = 2");
21
+ test.end();
22
+ }).catch(function(err) {
23
+ test.fail("promise should not be rejected (" + err + ")");
24
+ });
25
+ });
26
+
27
+ test.test(this.name + " - reject", function(test) {
28
+
29
+ function fn(arg1, arg2, callback) {
30
+ test.equal(this, ctx, "function should be called with this = ctx");
31
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
32
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
33
+ callback(arg1);
34
+ }
35
+
36
+ var ctx = {};
37
+
38
+ var promise = asPromise(fn, ctx, 1, 2);
39
+ promise.then(function() {
40
+ test.fail("promise should not be resolved");
41
+ }).catch(function(err) {
42
+ test.equal(err, 1, "promise should be rejected with err = 1");
43
+ test.end();
44
+ });
45
+ });
46
+
47
+ test.test(this.name + " - resolve twice", function(test) {
48
+
49
+ function fn(arg1, arg2, callback) {
50
+ test.equal(this, ctx, "function should be called with this = ctx");
51
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
52
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
53
+ callback(null, arg2);
54
+ callback(null, arg1);
55
+ }
56
+
57
+ var ctx = {};
58
+ var count = 0;
59
+
60
+ var promise = asPromise(fn, ctx, 1, 2);
61
+ promise.then(function(arg2) {
62
+ test.equal(arg2, 2, "promise should be resolved with arg2 = 2");
63
+ if (++count > 1)
64
+ test.fail("promise should not be resolved twice");
65
+ test.end();
66
+ }).catch(function(err) {
67
+ test.fail("promise should not be rejected (" + err + ")");
68
+ });
69
+ });
70
+
71
+ test.test(this.name + " - reject twice", function(test) {
72
+
73
+ function fn(arg1, arg2, callback) {
74
+ test.equal(this, ctx, "function should be called with this = ctx");
75
+ test.equal(arg1, 1, "function should be called with arg1 = 1");
76
+ test.equal(arg2, 2, "function should be called with arg2 = 2");
77
+ callback(arg1);
78
+ callback(arg2);
79
+ }
80
+
81
+ var ctx = {};
82
+ var count = 0;
83
+
84
+ var promise = asPromise(fn, ctx, 1, 2);
85
+ promise.then(function() {
86
+ test.fail("promise should not be resolved");
87
+ }).catch(function(err) {
88
+ test.equal(err, 1, "promise should be rejected with err = 1");
89
+ if (++count > 1)
90
+ test.fail("promise should not be rejected twice");
91
+ test.end();
92
+ });
93
+ });
94
+
95
+ test.test(this.name + " - reject error", function(test) {
96
+
97
+ function fn(callback) {
98
+ test.ok(arguments.length === 1 && typeof callback === "function", "function should be called with just a callback");
99
+ throw 3;
100
+ }
101
+
102
+ var promise = asPromise(fn, null);
103
+ promise.then(function() {
104
+ test.fail("promise should not be resolved");
105
+ }).catch(function(err) {
106
+ test.equal(err, 3, "promise should be rejected with err = 3");
107
+ test.end();
108
+ });
109
+ });
110
+
111
+ test.test(this.name + " - reject and error", function(test) {
112
+
113
+ function fn(callback) {
114
+ callback(3);
115
+ throw 4;
116
+ }
117
+
118
+ var count = 0;
119
+
120
+ var promise = asPromise(fn, null);
121
+ promise.then(function() {
122
+ test.fail("promise should not be resolved");
123
+ }).catch(function(err) {
124
+ test.equal(err, 3, "promise should be rejected with err = 3");
125
+ if (++count > 1)
126
+ test.fail("promise should not be rejected twice");
127
+ test.end();
128
+ });
129
+ });
130
+ });
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2016, Daniel Wirtz All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without
4
+ modification, are permitted provided that the following conditions are
5
+ met:
6
+
7
+ * Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+ * Neither the name of its author, nor the names of its contributors
13
+ may be used to endorse or promote products derived from this software
14
+ without specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,19 @@
1
+ @protobufjs/base64
2
+ ==================
3
+ [![npm](https://img.shields.io/npm/v/@protobufjs/base64.svg)](https://www.npmjs.com/package/@protobufjs/base64)
4
+
5
+ A minimal base64 implementation for number arrays.
6
+
7
+ API
8
+ ---
9
+
10
+ * **base64.length(string: `string`): `number`**<br />
11
+ Calculates the byte length of a base64 encoded string.
12
+
13
+ * **base64.encode(buffer: `Uint8Array`, start: `number`, end: `number`): `string`**<br />
14
+ Encodes a buffer to a base64 encoded string.
15
+
16
+ * **base64.decode(string: `string`, buffer: `Uint8Array`, offset: `number`): `number`**<br />
17
+ Decodes a base64 encoded string to a buffer.
18
+
19
+ **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
@@ -1,32 +1,32 @@
1
- /**
2
- * Calculates the byte length of a base64 encoded string.
3
- * @param {string} string Base64 encoded string
4
- * @returns {number} Byte length
5
- */
6
- export function length(string: string): number;
7
-
8
- /**
9
- * Encodes a buffer to a base64 encoded string.
10
- * @param {Uint8Array} buffer Source buffer
11
- * @param {number} start Source start
12
- * @param {number} end Source end
13
- * @returns {string} Base64 encoded string
14
- */
15
- export function encode(buffer: Uint8Array, start: number, end: number): string;
16
-
17
- /**
18
- * Decodes a base64 encoded string to a buffer.
19
- * @param {string} string Source string
20
- * @param {Uint8Array} buffer Destination buffer
21
- * @param {number} offset Destination offset
22
- * @returns {number} Number of bytes written
23
- * @throws {Error} If encoding is invalid
24
- */
25
- export function decode(string: string, buffer: Uint8Array, offset: number): number;
26
-
27
- /**
28
- * Tests if the specified string appears to be base64 encoded.
29
- * @param {string} string String to test
30
- * @returns {boolean} `true` if it appears to be base64 encoded, otherwise false
31
- */
32
- export function test(string: string): boolean;
1
+ /**
2
+ * Calculates the byte length of a base64 encoded string.
3
+ * @param {string} string Base64 encoded string
4
+ * @returns {number} Byte length
5
+ */
6
+ export function length(string: string): number;
7
+
8
+ /**
9
+ * Encodes a buffer to a base64 encoded string.
10
+ * @param {Uint8Array} buffer Source buffer
11
+ * @param {number} start Source start
12
+ * @param {number} end Source end
13
+ * @returns {string} Base64 encoded string
14
+ */
15
+ export function encode(buffer: Uint8Array, start: number, end: number): string;
16
+
17
+ /**
18
+ * Decodes a base64 encoded string to a buffer.
19
+ * @param {string} string Source string
20
+ * @param {Uint8Array} buffer Destination buffer
21
+ * @param {number} offset Destination offset
22
+ * @returns {number} Number of bytes written
23
+ * @throws {Error} If encoding is invalid
24
+ */
25
+ export function decode(string: string, buffer: Uint8Array, offset: number): number;
26
+
27
+ /**
28
+ * Tests if the specified string appears to be base64 encoded.
29
+ * @param {string} string String to test
30
+ * @returns {boolean} `true` if it appears to be base64 encoded, otherwise false
31
+ */
32
+ export function test(string: string): boolean;