wechaty-puppet-matrix 0.0.4

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 (352) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +14 -0
  3. package/dist/cjs/package.json +3 -0
  4. package/dist/cjs/src/cleanup.d.ts +4 -0
  5. package/dist/cjs/src/cleanup.d.ts.map +1 -0
  6. package/dist/cjs/src/cleanup.js +31 -0
  7. package/dist/cjs/src/config.d.ts +5 -0
  8. package/dist/cjs/src/config.d.ts.map +1 -0
  9. package/dist/cjs/src/config.js +10 -0
  10. package/dist/cjs/src/engine-schema.d.ts +76 -0
  11. package/dist/cjs/src/engine-schema.d.ts.map +1 -0
  12. package/dist/cjs/src/engine-schema.js +14 -0
  13. package/dist/cjs/src/matrix/cache-manager.d.ts +58 -0
  14. package/dist/cjs/src/matrix/cache-manager.d.ts.map +1 -0
  15. package/dist/cjs/src/matrix/cache-manager.js +286 -0
  16. package/dist/cjs/src/matrix/events/event-friendship.d.ts +6 -0
  17. package/dist/cjs/src/matrix/events/event-friendship.d.ts.map +1 -0
  18. package/dist/cjs/src/matrix/events/event-friendship.js +109 -0
  19. package/dist/cjs/src/matrix/events/event-message.d.ts +6 -0
  20. package/dist/cjs/src/matrix/events/event-message.d.ts.map +1 -0
  21. package/dist/cjs/src/matrix/events/event-message.js +5 -0
  22. package/dist/cjs/src/matrix/events/event-room-invite.d.ts +6 -0
  23. package/dist/cjs/src/matrix/events/event-room-invite.d.ts.map +1 -0
  24. package/dist/cjs/src/matrix/events/event-room-invite.js +55 -0
  25. package/dist/cjs/src/matrix/events/event-room-join.d.ts +6 -0
  26. package/dist/cjs/src/matrix/events/event-room-join.d.ts.map +1 -0
  27. package/dist/cjs/src/matrix/events/event-room-join.js +127 -0
  28. package/dist/cjs/src/matrix/events/event-room-leave.d.ts +8 -0
  29. package/dist/cjs/src/matrix/events/event-room-leave.d.ts.map +1 -0
  30. package/dist/cjs/src/matrix/events/event-room-leave.js +83 -0
  31. package/dist/cjs/src/matrix/events/event-room-topic.d.ts +6 -0
  32. package/dist/cjs/src/matrix/events/event-room-topic.d.ts.map +1 -0
  33. package/dist/cjs/src/matrix/events/event-room-topic.js +56 -0
  34. package/dist/cjs/src/matrix/events/event.d.ts +28 -0
  35. package/dist/cjs/src/matrix/events/event.d.ts.map +1 -0
  36. package/dist/cjs/src/matrix/events/event.js +42 -0
  37. package/dist/cjs/src/matrix/events/mod.d.ts +3 -0
  38. package/dist/cjs/src/matrix/events/mod.d.ts.map +1 -0
  39. package/dist/cjs/src/matrix/events/mod.js +21 -0
  40. package/dist/cjs/src/matrix/messages/message-appmsg.d.ts +57 -0
  41. package/dist/cjs/src/matrix/messages/message-appmsg.d.ts.map +1 -0
  42. package/dist/cjs/src/matrix/messages/message-appmsg.js +60 -0
  43. package/dist/cjs/src/matrix/messages/message-audio.d.ts +32 -0
  44. package/dist/cjs/src/matrix/messages/message-audio.d.ts.map +1 -0
  45. package/dist/cjs/src/matrix/messages/message-audio.js +17 -0
  46. package/dist/cjs/src/matrix/messages/message-emotion.d.ts +13 -0
  47. package/dist/cjs/src/matrix/messages/message-emotion.d.ts.map +1 -0
  48. package/dist/cjs/src/matrix/messages/message-emotion.js +32 -0
  49. package/dist/cjs/src/matrix/messages/message-image.d.ts +33 -0
  50. package/dist/cjs/src/matrix/messages/message-image.d.ts.map +1 -0
  51. package/dist/cjs/src/matrix/messages/message-image.js +14 -0
  52. package/dist/cjs/src/matrix/messages/message-miniprogram.d.ts +4 -0
  53. package/dist/cjs/src/matrix/messages/message-miniprogram.d.ts.map +1 -0
  54. package/dist/cjs/src/matrix/messages/message-miniprogram.js +21 -0
  55. package/dist/cjs/src/matrix/messages/message-sysmsg.d.ts +18 -0
  56. package/dist/cjs/src/matrix/messages/message-sysmsg.d.ts.map +1 -0
  57. package/dist/cjs/src/matrix/messages/message-sysmsg.js +76 -0
  58. package/dist/cjs/src/matrix/messages/message-video.d.ts +43 -0
  59. package/dist/cjs/src/matrix/messages/message-video.d.ts.map +1 -0
  60. package/dist/cjs/src/matrix/messages/message-video.js +20 -0
  61. package/dist/cjs/src/matrix/messages/sysmsg/message-pat.d.ts +14 -0
  62. package/dist/cjs/src/matrix/messages/sysmsg/message-pat.d.ts.map +1 -0
  63. package/dist/cjs/src/matrix/messages/sysmsg/message-pat.js +11 -0
  64. package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.d.ts +19 -0
  65. package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.d.ts.map +1 -0
  66. package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.js +48 -0
  67. package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts +59 -0
  68. package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts.map +1 -0
  69. package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.js +61 -0
  70. package/dist/cjs/src/matrix/messages/sysmsg/message-todo.d.ts +31 -0
  71. package/dist/cjs/src/matrix/messages/sysmsg/message-todo.d.ts.map +1 -0
  72. package/dist/cjs/src/matrix/messages/sysmsg/message-todo.js +16 -0
  73. package/dist/cjs/src/matrix/schema-mapper/contact.d.ts +4 -0
  74. package/dist/cjs/src/matrix/schema-mapper/contact.d.ts.map +1 -0
  75. package/dist/cjs/src/matrix/schema-mapper/contact.js +62 -0
  76. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts +3 -0
  77. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts.map +1 -0
  78. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.js +100 -0
  79. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts +3 -0
  80. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts.map +1 -0
  81. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.js +67 -0
  82. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.d.ts +3 -0
  83. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.d.ts.map +1 -0
  84. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.js +40 -0
  85. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts +3 -0
  86. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts.map +1 -0
  87. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.js +11 -0
  88. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts +3 -0
  89. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts.map +1 -0
  90. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.js +41 -0
  91. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.d.ts +3 -0
  92. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.d.ts.map +1 -0
  93. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.js +65 -0
  94. package/dist/cjs/src/matrix/schema-mapper/message/message-parser.d.ts +13 -0
  95. package/dist/cjs/src/matrix/schema-mapper/message/message-parser.d.ts.map +1 -0
  96. package/dist/cjs/src/matrix/schema-mapper/message/message-parser.js +20 -0
  97. package/dist/cjs/src/matrix/schema-mapper/message/mod.d.ts +3 -0
  98. package/dist/cjs/src/matrix/schema-mapper/message/mod.d.ts.map +1 -0
  99. package/dist/cjs/src/matrix/schema-mapper/message/mod.js +17 -0
  100. package/dist/cjs/src/matrix/schema-mapper/message.d.ts +6 -0
  101. package/dist/cjs/src/matrix/schema-mapper/message.d.ts.map +1 -0
  102. package/dist/cjs/src/matrix/schema-mapper/message.js +47 -0
  103. package/dist/cjs/src/matrix/schema-mapper/room.d.ts +6 -0
  104. package/dist/cjs/src/matrix/schema-mapper/room.d.ts.map +1 -0
  105. package/dist/cjs/src/matrix/schema-mapper/room.js +27 -0
  106. package/dist/cjs/src/matrix/service/request.d.ts +290 -0
  107. package/dist/cjs/src/matrix/service/request.d.ts.map +1 -0
  108. package/dist/cjs/src/matrix/service/request.js +1315 -0
  109. package/dist/cjs/src/matrix/types.d.ts +34 -0
  110. package/dist/cjs/src/matrix/types.d.ts.map +1 -0
  111. package/dist/cjs/src/matrix/types.js +30 -0
  112. package/dist/cjs/src/matrix/utils/cached-promise.d.ts +5 -0
  113. package/dist/cjs/src/matrix/utils/cached-promise.d.ts.map +1 -0
  114. package/dist/cjs/src/matrix/utils/cached-promise.js +22 -0
  115. package/dist/cjs/src/matrix/utils/image-decrypt.d.ts +7 -0
  116. package/dist/cjs/src/matrix/utils/image-decrypt.d.ts.map +1 -0
  117. package/dist/cjs/src/matrix/utils/image-decrypt.js +158 -0
  118. package/dist/cjs/src/matrix/utils/index.d.ts +4 -0
  119. package/dist/cjs/src/matrix/utils/index.d.ts.map +1 -0
  120. package/dist/cjs/src/matrix/utils/index.js +32 -0
  121. package/dist/cjs/src/matrix/utils/is-type.d.ts +9 -0
  122. package/dist/cjs/src/matrix/utils/is-type.d.ts.map +1 -0
  123. package/dist/cjs/src/matrix/utils/is-type.js +72 -0
  124. package/dist/cjs/src/matrix/utils/regex.d.ts +3 -0
  125. package/dist/cjs/src/matrix/utils/regex.d.ts.map +1 -0
  126. package/dist/cjs/src/matrix/utils/regex.js +14 -0
  127. package/dist/cjs/src/matrix/utils/runner.d.ts +3 -0
  128. package/dist/cjs/src/matrix/utils/runner.d.ts.map +1 -0
  129. package/dist/cjs/src/matrix/utils/runner.js +12 -0
  130. package/dist/cjs/src/matrix/utils/string.d.ts +2 -0
  131. package/dist/cjs/src/matrix/utils/string.d.ts.map +1 -0
  132. package/dist/cjs/src/matrix/utils/string.js +7 -0
  133. package/dist/cjs/src/matrix/utils/xml-to-json.d.ts +5 -0
  134. package/dist/cjs/src/matrix/utils/xml-to-json.d.ts.map +1 -0
  135. package/dist/cjs/src/matrix/utils/xml-to-json.js +51 -0
  136. package/dist/cjs/src/mod.d.ts +5 -0
  137. package/dist/cjs/src/mod.d.ts.map +1 -0
  138. package/dist/cjs/src/mod.js +9 -0
  139. package/dist/cjs/src/package-json.d.ts +3 -0
  140. package/dist/cjs/src/package-json.d.ts.map +1 -0
  141. package/dist/cjs/src/package-json.js +4 -0
  142. package/dist/cjs/src/package-json.spec.d.ts +3 -0
  143. package/dist/cjs/src/package-json.spec.d.ts.map +1 -0
  144. package/dist/cjs/src/package-json.spec.js +9 -0
  145. package/dist/cjs/src/puppet-matrix.d.ts +114 -0
  146. package/dist/cjs/src/puppet-matrix.d.ts.map +1 -0
  147. package/dist/cjs/src/puppet-matrix.js +1037 -0
  148. package/dist/cjs/tests/integration.spec.d.ts +3 -0
  149. package/dist/cjs/tests/integration.spec.d.ts.map +1 -0
  150. package/dist/cjs/tests/integration.spec.js +7 -0
  151. package/dist/cjs/tests/tap.spec.d.ts +3 -0
  152. package/dist/cjs/tests/tap.spec.d.ts.map +1 -0
  153. package/dist/cjs/tests/tap.spec.js +32 -0
  154. package/dist/esm/src/cleanup.d.ts +4 -0
  155. package/dist/esm/src/cleanup.d.ts.map +1 -0
  156. package/dist/esm/src/cleanup.js +24 -0
  157. package/dist/esm/src/config.d.ts +5 -0
  158. package/dist/esm/src/config.d.ts.map +1 -0
  159. package/dist/esm/src/config.js +5 -0
  160. package/dist/esm/src/engine-schema.d.ts +76 -0
  161. package/dist/esm/src/engine-schema.d.ts.map +1 -0
  162. package/dist/esm/src/engine-schema.js +11 -0
  163. package/dist/esm/src/matrix/cache-manager.d.ts +58 -0
  164. package/dist/esm/src/matrix/cache-manager.d.ts.map +1 -0
  165. package/dist/esm/src/matrix/cache-manager.js +279 -0
  166. package/dist/esm/src/matrix/events/event-friendship.d.ts +6 -0
  167. package/dist/esm/src/matrix/events/event-friendship.d.ts.map +1 -0
  168. package/dist/esm/src/matrix/events/event-friendship.js +84 -0
  169. package/dist/esm/src/matrix/events/event-message.d.ts +6 -0
  170. package/dist/esm/src/matrix/events/event-message.d.ts.map +1 -0
  171. package/dist/esm/src/matrix/events/event-message.js +3 -0
  172. package/dist/esm/src/matrix/events/event-room-invite.d.ts +6 -0
  173. package/dist/esm/src/matrix/events/event-room-invite.d.ts.map +1 -0
  174. package/dist/esm/src/matrix/events/event-room-invite.js +53 -0
  175. package/dist/esm/src/matrix/events/event-room-join.d.ts +6 -0
  176. package/dist/esm/src/matrix/events/event-room-join.d.ts.map +1 -0
  177. package/dist/esm/src/matrix/events/event-room-join.js +125 -0
  178. package/dist/esm/src/matrix/events/event-room-leave.d.ts +8 -0
  179. package/dist/esm/src/matrix/events/event-room-leave.d.ts.map +1 -0
  180. package/dist/esm/src/matrix/events/event-room-leave.js +79 -0
  181. package/dist/esm/src/matrix/events/event-room-topic.d.ts +6 -0
  182. package/dist/esm/src/matrix/events/event-room-topic.d.ts.map +1 -0
  183. package/dist/esm/src/matrix/events/event-room-topic.js +54 -0
  184. package/dist/esm/src/matrix/events/event.d.ts +28 -0
  185. package/dist/esm/src/matrix/events/event.d.ts.map +1 -0
  186. package/dist/esm/src/matrix/events/event.js +37 -0
  187. package/dist/esm/src/matrix/events/mod.d.ts +3 -0
  188. package/dist/esm/src/matrix/events/mod.d.ts.map +1 -0
  189. package/dist/esm/src/matrix/events/mod.js +14 -0
  190. package/dist/esm/src/matrix/messages/message-appmsg.d.ts +57 -0
  191. package/dist/esm/src/matrix/messages/message-appmsg.d.ts.map +1 -0
  192. package/dist/esm/src/matrix/messages/message-appmsg.js +56 -0
  193. package/dist/esm/src/matrix/messages/message-audio.d.ts +32 -0
  194. package/dist/esm/src/matrix/messages/message-audio.d.ts.map +1 -0
  195. package/dist/esm/src/matrix/messages/message-audio.js +14 -0
  196. package/dist/esm/src/matrix/messages/message-emotion.d.ts +13 -0
  197. package/dist/esm/src/matrix/messages/message-emotion.d.ts.map +1 -0
  198. package/dist/esm/src/matrix/messages/message-emotion.js +28 -0
  199. package/dist/esm/src/matrix/messages/message-image.d.ts +33 -0
  200. package/dist/esm/src/matrix/messages/message-image.d.ts.map +1 -0
  201. package/dist/esm/src/matrix/messages/message-image.js +11 -0
  202. package/dist/esm/src/matrix/messages/message-miniprogram.d.ts +4 -0
  203. package/dist/esm/src/matrix/messages/message-miniprogram.d.ts.map +1 -0
  204. package/dist/esm/src/matrix/messages/message-miniprogram.js +18 -0
  205. package/dist/esm/src/matrix/messages/message-sysmsg.d.ts +18 -0
  206. package/dist/esm/src/matrix/messages/message-sysmsg.d.ts.map +1 -0
  207. package/dist/esm/src/matrix/messages/message-sysmsg.js +69 -0
  208. package/dist/esm/src/matrix/messages/message-video.d.ts +43 -0
  209. package/dist/esm/src/matrix/messages/message-video.d.ts.map +1 -0
  210. package/dist/esm/src/matrix/messages/message-video.js +17 -0
  211. package/dist/esm/src/matrix/messages/sysmsg/message-pat.d.ts +14 -0
  212. package/dist/esm/src/matrix/messages/sysmsg/message-pat.d.ts.map +1 -0
  213. package/dist/esm/src/matrix/messages/sysmsg/message-pat.js +8 -0
  214. package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.d.ts +19 -0
  215. package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.d.ts.map +1 -0
  216. package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.js +43 -0
  217. package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts +59 -0
  218. package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts.map +1 -0
  219. package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.js +56 -0
  220. package/dist/esm/src/matrix/messages/sysmsg/message-todo.d.ts +31 -0
  221. package/dist/esm/src/matrix/messages/sysmsg/message-todo.d.ts.map +1 -0
  222. package/dist/esm/src/matrix/messages/sysmsg/message-todo.js +13 -0
  223. package/dist/esm/src/matrix/schema-mapper/contact.d.ts +4 -0
  224. package/dist/esm/src/matrix/schema-mapper/contact.d.ts.map +1 -0
  225. package/dist/esm/src/matrix/schema-mapper/contact.js +36 -0
  226. package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts +3 -0
  227. package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts.map +1 -0
  228. package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.js +73 -0
  229. package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts +3 -0
  230. package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts.map +1 -0
  231. package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.js +40 -0
  232. package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.d.ts +3 -0
  233. package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.d.ts.map +1 -0
  234. package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.js +36 -0
  235. package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts +3 -0
  236. package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts.map +1 -0
  237. package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.js +7 -0
  238. package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts +3 -0
  239. package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts.map +1 -0
  240. package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.js +37 -0
  241. package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.d.ts +3 -0
  242. package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.d.ts.map +1 -0
  243. package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.js +38 -0
  244. package/dist/esm/src/matrix/schema-mapper/message/message-parser.d.ts +13 -0
  245. package/dist/esm/src/matrix/schema-mapper/message/message-parser.d.ts.map +1 -0
  246. package/dist/esm/src/matrix/schema-mapper/message/message-parser.js +15 -0
  247. package/dist/esm/src/matrix/schema-mapper/message/mod.d.ts +3 -0
  248. package/dist/esm/src/matrix/schema-mapper/message/mod.d.ts.map +1 -0
  249. package/dist/esm/src/matrix/schema-mapper/message/mod.js +14 -0
  250. package/dist/esm/src/matrix/schema-mapper/message.d.ts +6 -0
  251. package/dist/esm/src/matrix/schema-mapper/message.d.ts.map +1 -0
  252. package/dist/esm/src/matrix/schema-mapper/message.js +21 -0
  253. package/dist/esm/src/matrix/schema-mapper/room.d.ts +6 -0
  254. package/dist/esm/src/matrix/schema-mapper/room.d.ts.map +1 -0
  255. package/dist/esm/src/matrix/schema-mapper/room.js +22 -0
  256. package/dist/esm/src/matrix/service/request.d.ts +290 -0
  257. package/dist/esm/src/matrix/service/request.d.ts.map +1 -0
  258. package/dist/esm/src/matrix/service/request.js +1286 -0
  259. package/dist/esm/src/matrix/types.d.ts +34 -0
  260. package/dist/esm/src/matrix/types.d.ts.map +1 -0
  261. package/dist/esm/src/matrix/types.js +27 -0
  262. package/dist/esm/src/matrix/utils/cached-promise.d.ts +5 -0
  263. package/dist/esm/src/matrix/utils/cached-promise.d.ts.map +1 -0
  264. package/dist/esm/src/matrix/utils/cached-promise.js +18 -0
  265. package/dist/esm/src/matrix/utils/image-decrypt.d.ts +7 -0
  266. package/dist/esm/src/matrix/utils/image-decrypt.d.ts.map +1 -0
  267. package/dist/esm/src/matrix/utils/image-decrypt.js +153 -0
  268. package/dist/esm/src/matrix/utils/index.d.ts +4 -0
  269. package/dist/esm/src/matrix/utils/index.d.ts.map +1 -0
  270. package/dist/esm/src/matrix/utils/index.js +24 -0
  271. package/dist/esm/src/matrix/utils/is-type.d.ts +9 -0
  272. package/dist/esm/src/matrix/utils/is-type.d.ts.map +1 -0
  273. package/dist/esm/src/matrix/utils/is-type.js +62 -0
  274. package/dist/esm/src/matrix/utils/regex.d.ts +3 -0
  275. package/dist/esm/src/matrix/utils/regex.d.ts.map +1 -0
  276. package/dist/esm/src/matrix/utils/regex.js +11 -0
  277. package/dist/esm/src/matrix/utils/runner.d.ts +3 -0
  278. package/dist/esm/src/matrix/utils/runner.d.ts.map +1 -0
  279. package/dist/esm/src/matrix/utils/runner.js +9 -0
  280. package/dist/esm/src/matrix/utils/string.d.ts +2 -0
  281. package/dist/esm/src/matrix/utils/string.d.ts.map +1 -0
  282. package/dist/esm/src/matrix/utils/string.js +3 -0
  283. package/dist/esm/src/matrix/utils/xml-to-json.d.ts +5 -0
  284. package/dist/esm/src/matrix/utils/xml-to-json.d.ts.map +1 -0
  285. package/dist/esm/src/matrix/utils/xml-to-json.js +45 -0
  286. package/dist/esm/src/mod.d.ts +5 -0
  287. package/dist/esm/src/mod.d.ts.map +1 -0
  288. package/dist/esm/src/mod.js +4 -0
  289. package/dist/esm/src/package-json.d.ts +3 -0
  290. package/dist/esm/src/package-json.d.ts.map +1 -0
  291. package/dist/esm/src/package-json.js +1 -0
  292. package/dist/esm/src/package-json.spec.d.ts +3 -0
  293. package/dist/esm/src/package-json.spec.d.ts.map +1 -0
  294. package/dist/esm/src/package-json.spec.js +7 -0
  295. package/dist/esm/src/puppet-matrix.d.ts +114 -0
  296. package/dist/esm/src/puppet-matrix.d.ts.map +1 -0
  297. package/dist/esm/src/puppet-matrix.js +1007 -0
  298. package/dist/esm/tests/integration.spec.d.ts +3 -0
  299. package/dist/esm/tests/integration.spec.d.ts.map +1 -0
  300. package/dist/esm/tests/integration.spec.js +5 -0
  301. package/dist/esm/tests/tap.spec.d.ts +3 -0
  302. package/dist/esm/tests/tap.spec.d.ts.map +1 -0
  303. package/dist/esm/tests/tap.spec.js +7 -0
  304. package/package.json +98 -0
  305. package/src/cleanup.ts +36 -0
  306. package/src/config.ts +15 -0
  307. package/src/engine-schema.ts +171 -0
  308. package/src/matrix/cache-manager.ts +359 -0
  309. package/src/matrix/events/event-friendship.ts +116 -0
  310. package/src/matrix/events/event-message.ts +7 -0
  311. package/src/matrix/events/event-room-invite.ts +64 -0
  312. package/src/matrix/events/event-room-join.ts +200 -0
  313. package/src/matrix/events/event-room-leave.ts +111 -0
  314. package/src/matrix/events/event-room-topic.ts +73 -0
  315. package/src/matrix/events/event.ts +60 -0
  316. package/src/matrix/events/mod.ts +16 -0
  317. package/src/matrix/messages/message-appmsg.ts +131 -0
  318. package/src/matrix/messages/message-audio.ts +48 -0
  319. package/src/matrix/messages/message-emotion.ts +68 -0
  320. package/src/matrix/messages/message-image.ts +46 -0
  321. package/src/matrix/messages/message-miniprogram.ts +45 -0
  322. package/src/matrix/messages/message-sysmsg.ts +106 -0
  323. package/src/matrix/messages/message-video.ts +62 -0
  324. package/src/matrix/messages/sysmsg/message-pat.ts +22 -0
  325. package/src/matrix/messages/sysmsg/message-revokemsg.ts +70 -0
  326. package/src/matrix/messages/sysmsg/message-sysmsgtemplate.ts +133 -0
  327. package/src/matrix/messages/sysmsg/message-todo.ts +45 -0
  328. package/src/matrix/schema-mapper/contact.ts +37 -0
  329. package/src/matrix/schema-mapper/message/message-parser-appmsg.ts +78 -0
  330. package/src/matrix/schema-mapper/message/message-parser-refermsg.ts +53 -0
  331. package/src/matrix/schema-mapper/message/message-parser-room.ts +62 -0
  332. package/src/matrix/schema-mapper/message/message-parser-single-chat.ts +12 -0
  333. package/src/matrix/schema-mapper/message/message-parser-sysmsg.ts +62 -0
  334. package/src/matrix/schema-mapper/message/message-parser-type.ts +48 -0
  335. package/src/matrix/schema-mapper/message/message-parser.ts +35 -0
  336. package/src/matrix/schema-mapper/message/mod.ts +17 -0
  337. package/src/matrix/schema-mapper/message.ts +30 -0
  338. package/src/matrix/schema-mapper/room.ts +28 -0
  339. package/src/matrix/service/request.ts +1944 -0
  340. package/src/matrix/types.ts +37 -0
  341. package/src/matrix/utils/cached-promise.ts +25 -0
  342. package/src/matrix/utils/image-decrypt.ts +198 -0
  343. package/src/matrix/utils/index.ts +34 -0
  344. package/src/matrix/utils/is-type.ts +72 -0
  345. package/src/matrix/utils/regex.ts +15 -0
  346. package/src/matrix/utils/runner.ts +12 -0
  347. package/src/matrix/utils/string.ts +3 -0
  348. package/src/matrix/utils/xml-to-json.ts +59 -0
  349. package/src/mod.ts +10 -0
  350. package/src/package-json.spec.ts +10 -0
  351. package/src/package-json.ts +11 -0
  352. package/src/puppet-matrix.ts +1402 -0
@@ -0,0 +1,28 @@
1
+ import { xmlToJson } from '../utils/xml-to-json.js';
2
+ export async function parseEmotionMessagePayload(message) {
3
+ const jsonPayload = await xmlToJson(message.msg);
4
+ const len = parseInt(jsonPayload.msg.emoji.$.len, 10) || 0;
5
+ const width = parseInt(jsonPayload.msg.emoji.$.width, 10) || 0;
6
+ const height = parseInt(jsonPayload.msg.emoji.$.height, 10) || 0;
7
+ const cdnurl = jsonPayload.msg.emoji.$.cdnurl;
8
+ const type = parseInt(jsonPayload.msg.emoji.$.type, 10) || 0;
9
+ const md5 = jsonPayload.msg.emoji.$.md5;
10
+ let gameext;
11
+ if (jsonPayload.msg.gameext) {
12
+ const gameextType = parseInt(jsonPayload.msg.gameext.$.type, 10) || 0;
13
+ const gameextContent = parseInt(jsonPayload.msg.gameext.$.content, 10) || 0;
14
+ gameext = `<gameext type="${gameextType}" content="${gameextContent}" ></gameext>`;
15
+ }
16
+ return {
17
+ cdnurl,
18
+ gameext,
19
+ height,
20
+ len,
21
+ md5,
22
+ type,
23
+ width,
24
+ };
25
+ }
26
+ export function generateEmotionPayload(emojiMessagePayload) {
27
+ return `<msg><emoji cdnurl="${emojiMessagePayload.cdnurl}" len="${emojiMessagePayload.len}" md5="${emojiMessagePayload.md5}" type="${emojiMessagePayload.type}"/>${emojiMessagePayload.gameext || ''}</msg>`;
28
+ }
@@ -0,0 +1,33 @@
1
+ import { MessagePayload } from '../../engine-schema.js';
2
+ export interface ImageXmlSchema {
3
+ msg: {
4
+ img: {
5
+ $: {
6
+ aeskey: string;
7
+ encryver: string;
8
+ cdnthumbaeskey: string;
9
+ cdnthumburl: string;
10
+ cdnthumblength: string;
11
+ cdnthumbheight: string;
12
+ cdnthumbwidth: string;
13
+ cdnmidheight: string;
14
+ cdnmidwidth: string;
15
+ cdnhdheight: string;
16
+ cdnhdwidth: string;
17
+ cdnmidimgurl: string;
18
+ length: string;
19
+ cdnbigimgurl: string;
20
+ hdlength: string;
21
+ md5: string;
22
+ };
23
+ };
24
+ };
25
+ }
26
+ export interface ImageMessagePayload {
27
+ aes_key: string;
28
+ file_id: string;
29
+ file_size: string;
30
+ file_name: string;
31
+ }
32
+ export declare function parseImageMessagePayload(rawPayload: MessagePayload): Promise<ImageMessagePayload>;
33
+ //# sourceMappingURL=message-image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-image.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE;QACD,GAAG,EAAE;YACD,CAAC,EAAE;gBACC,MAAM,EAAE,MAAM,CAAA;gBACd,QAAQ,EAAE,MAAM,CAAA;gBAChB,cAAc,EAAE,MAAM,CAAA;gBACtB,WAAW,EAAE,MAAM,CAAA;gBACnB,cAAc,EAAE,MAAM,CAAA;gBACtB,cAAc,EAAE,MAAM,CAAA;gBACtB,aAAa,EAAE,MAAM,CAAA;gBACrB,YAAY,EAAE,MAAM,CAAA;gBACpB,WAAW,EAAE,MAAM,CAAA;gBACnB,WAAW,EAAE,MAAM,CAAA;gBACnB,UAAU,EAAE,MAAM,CAAA;gBAClB,YAAY,EAAE,MAAM,CAAA;gBACpB,MAAM,EAAE,MAAM,CAAA;gBACd,YAAY,EAAE,MAAM,CAAA;gBACpB,QAAQ,EAAE,MAAM,CAAA;gBAChB,GAAG,EAAE,MAAM,CAAA;aACd,CAAA;SACJ,CAAA;KACJ,CAAA;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,wBAAwB,CAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUxG"}
@@ -0,0 +1,11 @@
1
+ import { xmlToJson } from '../utils/xml-to-json.js';
2
+ export async function parseImageMessagePayload(rawPayload) {
3
+ const imageXml = await xmlToJson(rawPayload.msg);
4
+ const schema = imageXml.msg.img.$;
5
+ return {
6
+ aes_key: schema.aeskey,
7
+ file_id: schema.cdnmidimgurl,
8
+ file_size: schema.length,
9
+ file_name: '',
10
+ };
11
+ }
@@ -0,0 +1,4 @@
1
+ import type * as PUPPET from '@juzi/wechaty-puppet';
2
+ import type { MessagePayload } from '../../engine-schema.js';
3
+ export declare function parseMiniProgramMessagePayload(rawPayload: MessagePayload): Promise<PUPPET.payloads.MiniProgram>;
4
+ //# sourceMappingURL=message-miniprogram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-miniprogram.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-miniprogram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AA0B5D,wBAAsB,8BAA8B,CAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAiBtH"}
@@ -0,0 +1,18 @@
1
+ import { xmlToJson } from '../utils/xml-to-json.js';
2
+ export async function parseMiniProgramMessagePayload(rawPayload) {
3
+ const miniProgramXml = await xmlToJson(rawPayload.msg);
4
+ const appmsg = miniProgramXml.msg.appmsg;
5
+ const weappinfo = appmsg.weappinfo;
6
+ const appattach = appmsg.appattach;
7
+ return {
8
+ appid: weappinfo.appid,
9
+ description: appmsg.sourcedisplayname,
10
+ iconUrl: weappinfo.weappiconurl,
11
+ pagePath: weappinfo.pagepath,
12
+ shareId: weappinfo.shareId,
13
+ thumbKey: appattach.cdnthumbaeskey,
14
+ thumbUrl: appattach.cdnthumburl,
15
+ title: appmsg.title,
16
+ username: weappinfo.username,
17
+ };
18
+ }
@@ -0,0 +1,18 @@
1
+ import type { MessagePayload } from '../../engine-schema.js';
2
+ import type { PatMessagePayload } from './sysmsg/message-pat.js';
3
+ import type { SysmsgTemplateMessagePayload } from './sysmsg/message-sysmsgtemplate.js';
4
+ import type { TodoMessagePayload } from './sysmsg/message-todo.js';
5
+ import type { RevokeMsgMessagePayload } from './sysmsg/message-revokemsg.js';
6
+ type SysMsgType = 'pat' | 'sysmsgtemplate' | 'roomtoolstips' | 'revokemsg';
7
+ type SysMsgPayload = PatMessagePayload | SysmsgTemplateMessagePayload | TodoMessagePayload | RevokeMsgMessagePayload;
8
+ export interface SysmsgMessagePayload {
9
+ type: SysMsgType;
10
+ payload: SysMsgPayload;
11
+ }
12
+ export declare function parseSysmsgMessagePayload(message: MessagePayload): Promise<SysmsgMessagePayload | null>;
13
+ export declare function parseSysmsgPatMessagePayload(message: MessagePayload): Promise<PatMessagePayload | null>;
14
+ export declare function parseSysmsgSysmsgTemplateMessagePayload(message: MessagePayload): Promise<SysmsgTemplateMessagePayload | null>;
15
+ export declare function parseSysmsgTodoMessagePayload(message: MessagePayload): Promise<TodoMessagePayload | null>;
16
+ export declare function parseSysmsgRevokeMsgMessagePayload(message: MessagePayload): Promise<RevokeMsgMessagePayload | null>;
17
+ export {};
18
+ //# sourceMappingURL=message-sysmsg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-sysmsg.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-sysmsg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,yBAAyB,CAAA;AAC9E,OAAO,KAAK,EAAE,4BAA4B,EAA2B,MAAM,oCAAoC,CAAA;AAG/G,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,0BAA0B,CAAA;AAEjF,OAAO,KAAK,EAAE,uBAAuB,EAAsB,MAAM,+BAA+B,CAAA;AAehG,KAAK,UAAU,GAAG,KAAK,GAAG,gBAAgB,GAAG,eAAe,GAAG,WAAW,CAAC;AAC3E,KAAK,aAAa,GAAG,iBAAiB,GAAG,4BAA4B,GAAG,kBAAkB,GAAG,uBAAuB,CAAC;AAErH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,wBAAsB,yBAAyB,CAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAqC9G;AAED,wBAAsB,4BAA4B,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAO/G;AAED,wBAAsB,uCAAuC,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAOrI;AAED,wBAAsB,6BAA6B,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAOjH;AAED,wBAAsB,kCAAkC,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAO3H"}
@@ -0,0 +1,69 @@
1
+ import { WechatMessageType } from '../types.js';
2
+ import { xmlToJson } from '../utils/xml-to-json.js';
3
+ import { parsePatMessagePayload } from './sysmsg/message-pat.js';
4
+ import { parseSysmsgTemplateMessagePayload } from './sysmsg/message-sysmsgtemplate.js';
5
+ import { parseTodoMessagePayload } from './sysmsg/message-todo.js';
6
+ import { parseRevokeMsgMessagePayload } from './sysmsg/message-revokemsg.js';
7
+ export async function parseSysmsgMessagePayload(message) {
8
+ if (message.msgType !== WechatMessageType.Sys) {
9
+ return null;
10
+ }
11
+ const content = message.msg.trim();
12
+ const sysmsgIndex = content.indexOf('<sysmsg');
13
+ if (sysmsgIndex === -1) {
14
+ return null;
15
+ }
16
+ const sysmsgXml = await xmlToJson(content.substring(sysmsgIndex));
17
+ let payload;
18
+ switch (sysmsgXml.sysmsg.$.type) {
19
+ case 'pat':
20
+ payload = await parsePatMessagePayload(sysmsgXml.sysmsg.pat);
21
+ break;
22
+ case 'sysmsgtemplate':
23
+ payload = await parseSysmsgTemplateMessagePayload(sysmsgXml.sysmsg.sysmsgtemplate);
24
+ break;
25
+ case 'roomtoolstips':
26
+ payload = await parseTodoMessagePayload(sysmsgXml.sysmsg.todo);
27
+ break;
28
+ case 'revokemsg':
29
+ payload = await parseRevokeMsgMessagePayload(sysmsgXml.sysmsg.revokemsg);
30
+ break;
31
+ }
32
+ if (payload) {
33
+ return {
34
+ payload,
35
+ type: sysmsgXml.sysmsg.$.type,
36
+ };
37
+ }
38
+ else {
39
+ return null;
40
+ }
41
+ }
42
+ export async function parseSysmsgPatMessagePayload(message) {
43
+ const sysmsgPayload = await parseSysmsgMessagePayload(message);
44
+ if (!sysmsgPayload || sysmsgPayload.type !== 'pat') {
45
+ return null;
46
+ }
47
+ return sysmsgPayload.payload;
48
+ }
49
+ export async function parseSysmsgSysmsgTemplateMessagePayload(message) {
50
+ const sysmsgPayload = await parseSysmsgMessagePayload(message);
51
+ if (!sysmsgPayload || sysmsgPayload.type !== 'sysmsgtemplate') {
52
+ return null;
53
+ }
54
+ return sysmsgPayload.payload;
55
+ }
56
+ export async function parseSysmsgTodoMessagePayload(message) {
57
+ const sysmsgPayload = await parseSysmsgMessagePayload(message);
58
+ if (!sysmsgPayload || sysmsgPayload.type !== 'roomtoolstips') {
59
+ return null;
60
+ }
61
+ return sysmsgPayload.payload;
62
+ }
63
+ export async function parseSysmsgRevokeMsgMessagePayload(message) {
64
+ const sysmsgPayload = await parseSysmsgMessagePayload(message);
65
+ if (!sysmsgPayload || sysmsgPayload.type !== 'revokemsg') {
66
+ return null;
67
+ }
68
+ return sysmsgPayload.payload;
69
+ }
@@ -0,0 +1,43 @@
1
+ import { MessagePayload } from '../../engine-schema.js';
2
+ export interface VideoXmlSchema {
3
+ msg: {
4
+ videomsg: {
5
+ $: {
6
+ aeskey: string;
7
+ cdnvideourl: string;
8
+ cdnthumbaeskey: string;
9
+ cdnthumburl: string;
10
+ length: string;
11
+ playlength: string;
12
+ cdnthumblength: string;
13
+ cdnthumbwidth: string;
14
+ cdnthumbheight: string;
15
+ fromusername: string;
16
+ md5: string;
17
+ newmd5: string;
18
+ isplaceholder: string;
19
+ rawmd5: string;
20
+ rawlength: string;
21
+ cdnrawvideourl: string;
22
+ cdnrawvideoaeskey: string;
23
+ overwritenewmsgid: string;
24
+ originsourcemd5: string;
25
+ isad: string;
26
+ };
27
+ };
28
+ };
29
+ }
30
+ export interface VideoMessagePayload {
31
+ aes_key: string;
32
+ file_id: string;
33
+ file_size: string;
34
+ play_length: string;
35
+ thumb_aes_key: string;
36
+ thumb_url: string;
37
+ thumb_size: string;
38
+ thumb_width: string;
39
+ thumb_height: string;
40
+ file_name: '';
41
+ }
42
+ export declare function parseVideoMessagePayload(rawPayload: MessagePayload): Promise<VideoMessagePayload>;
43
+ //# sourceMappingURL=message-video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-video.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE;QACD,QAAQ,EAAE;YACN,CAAC,EAAE;gBACC,MAAM,EAAE,MAAM,CAAA;gBACd,WAAW,EAAE,MAAM,CAAA;gBACnB,cAAc,EAAE,MAAM,CAAA;gBACtB,WAAW,EAAE,MAAM,CAAA;gBACnB,MAAM,EAAE,MAAM,CAAA;gBACd,UAAU,EAAE,MAAM,CAAA;gBAClB,cAAc,EAAE,MAAM,CAAA;gBACtB,aAAa,EAAE,MAAM,CAAA;gBACrB,cAAc,EAAE,MAAM,CAAA;gBACtB,YAAY,EAAE,MAAM,CAAA;gBACpB,GAAG,EAAE,MAAM,CAAA;gBACX,MAAM,EAAE,MAAM,CAAA;gBACd,aAAa,EAAE,MAAM,CAAA;gBACrB,MAAM,EAAE,MAAM,CAAA;gBACd,SAAS,EAAE,MAAM,CAAA;gBACjB,cAAc,EAAE,MAAM,CAAA;gBACtB,iBAAiB,EAAE,MAAM,CAAA;gBACzB,iBAAiB,EAAE,MAAM,CAAA;gBACzB,eAAe,EAAE,MAAM,CAAA;gBACvB,IAAI,EAAE,MAAM,CAAA;aACf,CAAA;SACJ,CAAA;KACJ,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,EAAE,CAAA;CACd;AAED,wBAAsB,wBAAwB,CAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgBxG"}
@@ -0,0 +1,17 @@
1
+ import { xmlToJson } from '../utils/xml-to-json.js';
2
+ export async function parseVideoMessagePayload(rawPayload) {
3
+ const videoXml = await xmlToJson(rawPayload.msg);
4
+ const videoSchema = videoXml.msg.videomsg.$;
5
+ return {
6
+ aes_key: videoSchema.aeskey,
7
+ file_id: videoSchema.cdnvideourl,
8
+ file_size: videoSchema.length,
9
+ play_length: videoSchema.playlength,
10
+ thumb_aes_key: videoSchema.cdnthumbaeskey,
11
+ thumb_url: videoSchema.cdnthumburl,
12
+ thumb_size: videoSchema.cdnthumblength,
13
+ thumb_width: videoSchema.cdnthumbwidth,
14
+ thumb_height: videoSchema.cdnthumbheight,
15
+ file_name: '',
16
+ };
17
+ }
@@ -0,0 +1,14 @@
1
+ export interface PatXmlSchema {
2
+ fromusername: string;
3
+ chatusername: string;
4
+ pattedusername: string;
5
+ template: string;
6
+ }
7
+ export interface PatMessagePayload {
8
+ fromUserName: string;
9
+ chatUserName: string;
10
+ pattedUserName: string;
11
+ template: string;
12
+ }
13
+ export declare function parsePatMessagePayload(patXml: PatXmlSchema): Promise<PatMessagePayload>;
14
+ //# sourceMappingURL=message-pat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-pat.d.ts","sourceRoot":"","sources":["../../../../../../src/matrix/messages/sysmsg/message-pat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,sBAAsB,CAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAO9F"}
@@ -0,0 +1,8 @@
1
+ export async function parsePatMessagePayload(patXml) {
2
+ return {
3
+ chatUserName: patXml.chatusername,
4
+ fromUserName: patXml.fromusername,
5
+ pattedUserName: patXml.pattedusername,
6
+ template: patXml.template,
7
+ };
8
+ }
@@ -0,0 +1,19 @@
1
+ import type * as PUPPET from '@juzi/wechaty-puppet';
2
+ export interface RevokeMsgXmlSchema {
3
+ session: string;
4
+ msgid: string;
5
+ newmsgid: string;
6
+ replacemsg: string;
7
+ }
8
+ export type RevokeMsgType = 'You' | 'Other';
9
+ export interface RevokeMsgMessagePayload {
10
+ content: string;
11
+ operatorNickName?: string;
12
+ originalMessageId: string;
13
+ session: string;
14
+ type: RevokeMsgType;
15
+ }
16
+ export declare function parseRevokeMsgMessagePayload(revokeMsgXmlSchema: RevokeMsgXmlSchema): Promise<RevokeMsgMessagePayload>;
17
+ export declare function getRevokeOriginalMessage(puppet: PUPPET.Puppet, revokemsgPayload: RevokeMsgMessagePayload): Promise<PUPPET.payloads.Message | null>;
18
+ export declare function getRevokeOperatorIdForRoomMessage(puppet: PUPPET.Puppet, revokemsgPayload: RevokeMsgMessagePayload): Promise<string | null>;
19
+ //# sourceMappingURL=message-revokemsg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-revokemsg.d.ts","sourceRoot":"","sources":["../../../../../../src/matrix/messages/sysmsg/message-revokemsg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAGnD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACrB;AAWD,wBAAsB,4BAA4B,CAAE,kBAAkB,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAkB5H;AAED,wBAAsB,wBAAwB,CAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAC,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,CAOxJ;AAED,wBAAsB,iCAAiC,CAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAC,uBAAuB,GAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASjJ"}
@@ -0,0 +1,43 @@
1
+ import { parseTextWithRegexList } from '../../utils/regex.js';
2
+ import { executeRunners } from '../../utils/runner.js';
3
+ import { isIMRoomId, isRoomId } from '../../utils/is-type.js';
4
+ const YOU_REVOKE_REGEX_LIST = [
5
+ /你撤回了一条消息/,
6
+ /You recalled a message/,
7
+ ];
8
+ const OTHER_REVOKE_REGEX_LIST = [
9
+ /"(.+)" 撤回了一条消息/,
10
+ /"(.+)" has recalled a message./,
11
+ ];
12
+ export async function parseRevokeMsgMessagePayload(revokeMsgXmlSchema) {
13
+ let nickName;
14
+ const youRevoke = async () => parseTextWithRegexList(revokeMsgXmlSchema.replacemsg, YOU_REVOKE_REGEX_LIST, async () => 'You');
15
+ const otherRevoke = async () => parseTextWithRegexList(revokeMsgXmlSchema.replacemsg, OTHER_REVOKE_REGEX_LIST, async (_, match) => {
16
+ nickName = match[1];
17
+ return 'Other';
18
+ });
19
+ const type = (await executeRunners([youRevoke, otherRevoke]));
20
+ return {
21
+ content: revokeMsgXmlSchema.replacemsg,
22
+ operatorNickName: nickName,
23
+ originalMessageId: revokeMsgXmlSchema.newmsgid,
24
+ session: revokeMsgXmlSchema.session,
25
+ type,
26
+ };
27
+ }
28
+ export async function getRevokeOriginalMessage(puppet, revokemsgPayload) {
29
+ const messageIdList = await puppet.messageSearch({ id: revokemsgPayload.originalMessageId });
30
+ if (messageIdList.length) {
31
+ return puppet.messagePayload(messageIdList[0]);
32
+ }
33
+ return null;
34
+ }
35
+ export async function getRevokeOperatorIdForRoomMessage(puppet, revokemsgPayload) {
36
+ if (isRoomId(revokemsgPayload.session) || isIMRoomId(revokemsgPayload.session)) {
37
+ const contactIdList = await puppet.roomMemberSearch(revokemsgPayload.session, revokemsgPayload.operatorNickName);
38
+ if (contactIdList.length) {
39
+ return contactIdList[0];
40
+ }
41
+ }
42
+ return null;
43
+ }
@@ -0,0 +1,59 @@
1
+ import type { Runner } from '../../utils/runner.js';
2
+ export interface SysmsgTemplateXmlSchema {
3
+ content_template: {
4
+ $: {
5
+ type: string;
6
+ };
7
+ plain: string;
8
+ template: string;
9
+ link_list: {
10
+ link: [
11
+ {
12
+ $: {
13
+ name: string;
14
+ type: string;
15
+ hidden?: string;
16
+ };
17
+ memberlist?: {
18
+ member: [
19
+ {
20
+ username?: string;
21
+ nickname: string;
22
+ }
23
+ ];
24
+ };
25
+ separator?: string;
26
+ title?: string;
27
+ usernamelist?: {
28
+ username: string[];
29
+ };
30
+ }
31
+ ];
32
+ };
33
+ };
34
+ }
35
+ export interface SysmsgTemplateLinkMember {
36
+ userName?: string;
37
+ nickName: string;
38
+ }
39
+ export type SysmsgTemplateLinkProfile = Array<SysmsgTemplateLinkMember>;
40
+ export interface SysmsgTemplateLinkRevoke {
41
+ title: string;
42
+ userNameList: string[];
43
+ }
44
+ export type SysmsgTemplateLinkType = 'link_profile' | 'link_revoke';
45
+ export type SysmsgTemplateLinkPayload = SysmsgTemplateLinkProfile | SysmsgTemplateLinkRevoke;
46
+ export interface SysmsgTemplateLink {
47
+ name: string;
48
+ payload: SysmsgTemplateLinkPayload;
49
+ type: SysmsgTemplateLinkType;
50
+ }
51
+ export interface SysmsgTemplateMessagePayload {
52
+ template: string;
53
+ templateLinkList: Array<SysmsgTemplateLink>;
54
+ }
55
+ export declare function parseSysmsgTemplateMessagePayload(sysmsgTemplateXml: SysmsgTemplateXmlSchema): Promise<SysmsgTemplateMessagePayload>;
56
+ export type SysmsgTemplateHandler<T> = (templateLinkList: SysmsgTemplateLink[], matchedRegexIndex: number) => Promise<T>;
57
+ export declare function parseSysmsgTemplate<T>(sysmsgTemplatePayload: SysmsgTemplateMessagePayload, regexList: RegExp[], handler: SysmsgTemplateHandler<T>): Promise<T | null>;
58
+ export declare function createSysmsgTemplateRunner<T>(sysmsgTemplatePayload: SysmsgTemplateMessagePayload, regexList: RegExp[], handler: SysmsgTemplateHandler<T>): Runner<T>;
59
+ //# sourceMappingURL=message-sysmsgtemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-sysmsgtemplate.d.ts","sourceRoot":"","sources":["../../../../../../src/matrix/messages/sysmsg/message-sysmsgtemplate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,WAAW,uBAAuB;IACtC,gBAAgB,EAAE;QAChB,CAAC,EAAE;YACD,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE;YACT,IAAI,EAAE;gBACJ;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM,CAAC;wBACb,IAAI,EAAE,MAAM,CAAC;wBACb,MAAM,CAAC,EAAE,MAAM,CAAC;qBACjB,CAAC;oBACF,UAAU,CAAC,EAAE;wBACX,MAAM,EAAE;4BACN;gCACE,QAAQ,CAAC,EAAE,MAAM,CAAC;gCAClB,QAAQ,EAAE,MAAM,CAAC;6BAClB;yBACF,CAAC;qBACH,CAAC;oBACF,SAAS,CAAC,EAAE,MAAM,CAAC;oBACnB,KAAK,CAAC,EAAE,MAAM,CAAC;oBACf,YAAY,CAAC,EAAE;wBACb,QAAQ,EAAE,MAAM,EAAE,CAAC;qBACpB,CAAC;iBACH;aACF,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,aAAa,CAAC;AAEpE,MAAM,MAAM,yBAAyB,GAAG,yBAAyB,GAAG,wBAAwB,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,yBAAyB,CAAC;IACnC,IAAI,EAAE,sBAAsB,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;CAC7C;AAcD,wBAAsB,iCAAiC,CAAE,iBAAiB,EAAE,uBAAuB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA2C1I;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEzH,wBAAsB,mBAAmB,CAAC,CAAC,EAAG,qBAAqB,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAI7K;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAAG,qBAAqB,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAErK"}
@@ -0,0 +1,56 @@
1
+ import { parseTextWithRegexList } from '../../utils/regex.js';
2
+ function toList(list) {
3
+ if (!Array.isArray(list)) {
4
+ return [list];
5
+ }
6
+ else {
7
+ return list;
8
+ }
9
+ }
10
+ export async function parseSysmsgTemplateMessagePayload(sysmsgTemplateXml) {
11
+ const linkList = toList(sysmsgTemplateXml.content_template.link_list.link);
12
+ const allLinkList = linkList.map((link) => {
13
+ const type = link.$.type;
14
+ let payload;
15
+ if (type === 'link_profile') {
16
+ const memberList = toList(link.memberlist.member);
17
+ payload = memberList.map((member) => {
18
+ return {
19
+ nickName: member.nickname,
20
+ userName: member.username,
21
+ };
22
+ });
23
+ }
24
+ else if (link.$.type === 'link_revoke') {
25
+ payload = {
26
+ title: link.title,
27
+ userNameList: toList(link.usernamelist.username),
28
+ };
29
+ }
30
+ else {
31
+ }
32
+ return {
33
+ name: link.$.name,
34
+ payload: payload,
35
+ type,
36
+ };
37
+ });
38
+ const template = sysmsgTemplateXml.content_template.template;
39
+ const matches = [...template.matchAll(/\$(.+?)\$/g)];
40
+ const templateLinkList = matches.map(match => {
41
+ const linkName = match[1];
42
+ return allLinkList.filter((link) => link.name === linkName)[0];
43
+ });
44
+ return {
45
+ template,
46
+ templateLinkList,
47
+ };
48
+ }
49
+ export async function parseSysmsgTemplate(sysmsgTemplatePayload, regexList, handler) {
50
+ return parseTextWithRegexList(sysmsgTemplatePayload.template, regexList, async (matchedRegexIndex) => {
51
+ return handler(sysmsgTemplatePayload.templateLinkList, matchedRegexIndex);
52
+ });
53
+ }
54
+ export function createSysmsgTemplateRunner(sysmsgTemplatePayload, regexList, handler) {
55
+ return async () => parseSysmsgTemplate(sysmsgTemplatePayload, regexList, handler);
56
+ }
@@ -0,0 +1,31 @@
1
+ export interface TodoXmlSchema {
2
+ op: string;
3
+ todoid: string;
4
+ username: string;
5
+ path: string;
6
+ time: number;
7
+ custominfo: string;
8
+ title: string;
9
+ creator: string;
10
+ related_msgid: string;
11
+ manager: string;
12
+ nreply: number;
13
+ scene: string;
14
+ oper: string;
15
+ sharekey: string;
16
+ sharename: string;
17
+ template?: string;
18
+ }
19
+ export interface TodoMessagePayload {
20
+ id: string;
21
+ creatorUserName: string;
22
+ operatorUserName: string;
23
+ numberOfReply: number;
24
+ appId: string;
25
+ path: string;
26
+ relatedMessageId: string;
27
+ title: string;
28
+ template?: string;
29
+ }
30
+ export declare function parseTodoMessagePayload(todoXml: TodoXmlSchema): Promise<TodoMessagePayload>;
31
+ //# sourceMappingURL=message-todo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-todo.d.ts","sourceRoot":"","sources":["../../../../../../src/matrix/messages/sysmsg/message-todo.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,uBAAuB,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYlG"}
@@ -0,0 +1,13 @@
1
+ export async function parseTodoMessagePayload(todoXml) {
2
+ return {
3
+ appId: todoXml.username,
4
+ creatorUserName: todoXml.creator,
5
+ id: todoXml.todoid,
6
+ numberOfReply: todoXml.nreply,
7
+ operatorUserName: todoXml.oper,
8
+ path: todoXml.path,
9
+ relatedMessageId: todoXml.related_msgid,
10
+ template: todoXml.template,
11
+ title: todoXml.title,
12
+ };
13
+ }
@@ -0,0 +1,4 @@
1
+ import * as PUPPET from '@juzi/wechaty-puppet';
2
+ import type { ContactPayload } from '../../engine-schema.js';
3
+ export declare function engineContactToWechaty(contact?: ContactPayload): PUPPET.payloads.Contact;
4
+ //# sourceMappingURL=contact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/schema-mapper/contact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,wBAAgB,sBAAsB,CAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAgCzF"}
@@ -0,0 +1,36 @@
1
+ import * as PUPPET from '@juzi/wechaty-puppet';
2
+ import { isContactOfficialId } from '../utils/is-type.js';
3
+ export function engineContactToWechaty(contact) {
4
+ if (contact) {
5
+ return {
6
+ alias: contact.remark,
7
+ avatar: contact.avatar,
8
+ city: contact.city,
9
+ gender: contact.sex,
10
+ id: contact.wxid,
11
+ name: contact.name,
12
+ friend: !!contact.isFriend,
13
+ phone: [],
14
+ province: contact.province,
15
+ signature: contact.sign,
16
+ type: isContactOfficialId(contact.wxid) ? PUPPET.types.Contact.Official : PUPPET.types.Contact.Individual,
17
+ weixin: contact.wxNum,
18
+ };
19
+ }
20
+ else {
21
+ return {
22
+ alias: '',
23
+ avatar: '',
24
+ city: '',
25
+ gender: 0,
26
+ id: '',
27
+ name: '',
28
+ friend: false,
29
+ phone: [],
30
+ province: '',
31
+ signature: '',
32
+ type: PUPPET.types.Contact.Individual,
33
+ weixin: '',
34
+ };
35
+ }
36
+ }
@@ -0,0 +1,3 @@
1
+ import { MessageParser } from './message-parser.js';
2
+ export declare const appMsgParser: MessageParser;
3
+ //# sourceMappingURL=message-parser-appmsg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-parser-appmsg.d.ts","sourceRoot":"","sources":["../../../../../../src/matrix/schema-mapper/message/message-parser-appmsg.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,aAAa,EAAwB,MAAM,qBAAqB,CAAA;AAIjF,eAAO,MAAM,YAAY,EAAE,aAqE1B,CAAA"}