@juzi/wechaty-puppet-service 1.0.0

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 (602) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +166 -0
  3. package/dist/cjs/examples/ding-dong-bot.d.ts +2 -0
  4. package/dist/cjs/examples/ding-dong-bot.d.ts.map +1 -0
  5. package/dist/cjs/examples/ding-dong-bot.js +156 -0
  6. package/dist/cjs/examples/ding-dong-bot.js.map +1 -0
  7. package/dist/cjs/package.json +3 -0
  8. package/dist/cjs/src/auth/auth-impl-token.d.ts +4 -0
  9. package/dist/cjs/src/auth/auth-impl-token.d.ts.map +1 -0
  10. package/dist/cjs/src/auth/auth-impl-token.js +81 -0
  11. package/dist/cjs/src/auth/auth-impl-token.js.map +1 -0
  12. package/dist/cjs/src/auth/auth-impl-token.spec.d.ts +3 -0
  13. package/dist/cjs/src/auth/auth-impl-token.spec.d.ts.map +1 -0
  14. package/dist/cjs/src/auth/auth-impl-token.spec.js +65 -0
  15. package/dist/cjs/src/auth/auth-impl-token.spec.js.map +1 -0
  16. package/dist/cjs/src/auth/ca.d.ts +46 -0
  17. package/dist/cjs/src/auth/ca.d.ts.map +1 -0
  18. package/dist/cjs/src/auth/ca.js +135 -0
  19. package/dist/cjs/src/auth/ca.js.map +1 -0
  20. package/dist/cjs/src/auth/ca.spec.d.ts +3 -0
  21. package/dist/cjs/src/auth/ca.spec.d.ts.map +1 -0
  22. package/dist/cjs/src/auth/ca.spec.js +115 -0
  23. package/dist/cjs/src/auth/ca.spec.js.map +1 -0
  24. package/dist/cjs/src/auth/call-cred.d.ts +9 -0
  25. package/dist/cjs/src/auth/call-cred.d.ts.map +1 -0
  26. package/dist/cjs/src/auth/call-cred.js +17 -0
  27. package/dist/cjs/src/auth/call-cred.js.map +1 -0
  28. package/dist/cjs/src/auth/call-cred.spec.d.ts +3 -0
  29. package/dist/cjs/src/auth/call-cred.spec.d.ts.map +1 -0
  30. package/dist/cjs/src/auth/call-cred.spec.js +18 -0
  31. package/dist/cjs/src/auth/call-cred.spec.js.map +1 -0
  32. package/dist/cjs/src/auth/env-vars.d.ts +13 -0
  33. package/dist/cjs/src/auth/env-vars.d.ts.map +1 -0
  34. package/dist/cjs/src/auth/env-vars.js +29 -0
  35. package/dist/cjs/src/auth/env-vars.js.map +1 -0
  36. package/dist/cjs/src/auth/grpc-js.d.ts +7 -0
  37. package/dist/cjs/src/auth/grpc-js.d.ts.map +1 -0
  38. package/dist/cjs/src/auth/grpc-js.js +10 -0
  39. package/dist/cjs/src/auth/grpc-js.js.map +1 -0
  40. package/dist/cjs/src/auth/mod.d.ts +5 -0
  41. package/dist/cjs/src/auth/mod.d.ts.map +1 -0
  42. package/dist/cjs/src/auth/mod.js +10 -0
  43. package/dist/cjs/src/auth/mod.js.map +1 -0
  44. package/dist/cjs/src/auth/mokey-patch-header-authorization.d.ts +11 -0
  45. package/dist/cjs/src/auth/mokey-patch-header-authorization.d.ts.map +1 -0
  46. package/dist/cjs/src/auth/mokey-patch-header-authorization.js +32 -0
  47. package/dist/cjs/src/auth/mokey-patch-header-authorization.js.map +1 -0
  48. package/dist/cjs/src/auth/monkey-patch-header-authorization.spec.d.ts +3 -0
  49. package/dist/cjs/src/auth/monkey-patch-header-authorization.spec.d.ts.map +1 -0
  50. package/dist/cjs/src/auth/monkey-patch-header-authorization.spec.js +19 -0
  51. package/dist/cjs/src/auth/monkey-patch-header-authorization.spec.js.map +1 -0
  52. package/dist/cjs/src/client/duck/actions.d.ts +6 -0
  53. package/dist/cjs/src/client/duck/actions.d.ts.map +1 -0
  54. package/dist/cjs/src/client/duck/actions.js +54 -0
  55. package/dist/cjs/src/client/duck/actions.js.map +1 -0
  56. package/dist/cjs/src/client/duck/epic-recover.d.ts +36 -0
  57. package/dist/cjs/src/client/duck/epic-recover.d.ts.map +1 -0
  58. package/dist/cjs/src/client/duck/epic-recover.js +41 -0
  59. package/dist/cjs/src/client/duck/epic-recover.js.map +1 -0
  60. package/dist/cjs/src/client/duck/epic-recover.spec.d.ts +3 -0
  61. package/dist/cjs/src/client/duck/epic-recover.spec.d.ts.map +1 -0
  62. package/dist/cjs/src/client/duck/epic-recover.spec.js +131 -0
  63. package/dist/cjs/src/client/duck/epic-recover.spec.js.map +1 -0
  64. package/dist/cjs/src/client/duck/epics.d.ts +4 -0
  65. package/dist/cjs/src/client/duck/epics.d.ts.map +1 -0
  66. package/dist/cjs/src/client/duck/epics.js +36 -0
  67. package/dist/cjs/src/client/duck/epics.js.map +1 -0
  68. package/dist/cjs/src/client/duck/mod.d.ts +29 -0
  69. package/dist/cjs/src/client/duck/mod.d.ts.map +1 -0
  70. package/dist/cjs/src/client/duck/mod.js +63 -0
  71. package/dist/cjs/src/client/duck/mod.js.map +1 -0
  72. package/dist/cjs/src/client/duck/operations.d.ts +23 -0
  73. package/dist/cjs/src/client/duck/operations.d.ts.map +1 -0
  74. package/dist/cjs/src/client/duck/operations.js +30 -0
  75. package/dist/cjs/src/client/duck/operations.js.map +1 -0
  76. package/dist/cjs/src/client/duck/reducers.d.ts +59 -0
  77. package/dist/cjs/src/client/duck/reducers.d.ts.map +1 -0
  78. package/dist/cjs/src/client/duck/reducers.js +51 -0
  79. package/dist/cjs/src/client/duck/reducers.js.map +1 -0
  80. package/dist/cjs/src/client/duck/selectors.d.ts +21 -0
  81. package/dist/cjs/src/client/duck/selectors.d.ts.map +1 -0
  82. package/dist/cjs/src/client/duck/selectors.js +23 -0
  83. package/dist/cjs/src/client/duck/selectors.js.map +1 -0
  84. package/dist/cjs/src/client/duck/tests.spec.d.ts +3 -0
  85. package/dist/cjs/src/client/duck/tests.spec.d.ts.map +1 -0
  86. package/dist/cjs/src/client/duck/tests.spec.js +49 -0
  87. package/dist/cjs/src/client/duck/tests.spec.js.map +1 -0
  88. package/dist/cjs/src/client/duck/types.d.ts +21 -0
  89. package/dist/cjs/src/client/duck/types.d.ts.map +1 -0
  90. package/dist/cjs/src/client/duck/types.js +24 -0
  91. package/dist/cjs/src/client/duck/types.js.map +1 -0
  92. package/dist/cjs/src/client/duck/utils.d.ts +21 -0
  93. package/dist/cjs/src/client/duck/utils.d.ts.map +1 -0
  94. package/dist/cjs/src/client/duck/utils.js +3 -0
  95. package/dist/cjs/src/client/duck/utils.js.map +1 -0
  96. package/dist/cjs/src/client/grpc-manager.d.ts +29 -0
  97. package/dist/cjs/src/client/grpc-manager.d.ts.map +1 -0
  98. package/dist/cjs/src/client/grpc-manager.js +359 -0
  99. package/dist/cjs/src/client/grpc-manager.js.map +1 -0
  100. package/dist/cjs/src/client/grpc-manager.spec.d.ts +3 -0
  101. package/dist/cjs/src/client/grpc-manager.spec.d.ts.map +1 -0
  102. package/dist/cjs/src/client/grpc-manager.spec.js +19 -0
  103. package/dist/cjs/src/client/grpc-manager.spec.js.map +1 -0
  104. package/dist/cjs/src/client/payload-store.d.ts +26 -0
  105. package/dist/cjs/src/client/payload-store.d.ts.map +1 -0
  106. package/dist/cjs/src/client/payload-store.js +118 -0
  107. package/dist/cjs/src/client/payload-store.js.map +1 -0
  108. package/dist/cjs/src/client/payload-store.spec.d.ts +3 -0
  109. package/dist/cjs/src/client/payload-store.spec.d.ts.map +1 -0
  110. package/dist/cjs/src/client/payload-store.spec.js +17 -0
  111. package/dist/cjs/src/client/payload-store.spec.js.map +1 -0
  112. package/dist/cjs/src/client/puppet-service.d.ts +161 -0
  113. package/dist/cjs/src/client/puppet-service.d.ts.map +1 -0
  114. package/dist/cjs/src/client/puppet-service.js +1384 -0
  115. package/dist/cjs/src/client/puppet-service.js.map +1 -0
  116. package/dist/cjs/src/client/puppet-service.spec.d.ts +3 -0
  117. package/dist/cjs/src/client/puppet-service.spec.d.ts.map +1 -0
  118. package/dist/cjs/src/client/puppet-service.spec.js +55 -0
  119. package/dist/cjs/src/client/puppet-service.spec.js.map +1 -0
  120. package/dist/cjs/src/config.d.ts +20 -0
  121. package/dist/cjs/src/config.d.ts.map +1 -0
  122. package/dist/cjs/src/config.js +49 -0
  123. package/dist/cjs/src/config.js.map +1 -0
  124. package/dist/cjs/src/deprecated/chunk-pb.d.ts +15 -0
  125. package/dist/cjs/src/deprecated/chunk-pb.d.ts.map +1 -0
  126. package/dist/cjs/src/deprecated/chunk-pb.js +60 -0
  127. package/dist/cjs/src/deprecated/chunk-pb.js.map +1 -0
  128. package/dist/cjs/src/deprecated/chunk-pb.spec.d.ts +3 -0
  129. package/dist/cjs/src/deprecated/chunk-pb.spec.d.ts.map +1 -0
  130. package/dist/cjs/src/deprecated/chunk-pb.spec.js +144 -0
  131. package/dist/cjs/src/deprecated/chunk-pb.spec.js.map +1 -0
  132. package/dist/cjs/src/deprecated/conversation-id-file-box.d.ts +21 -0
  133. package/dist/cjs/src/deprecated/conversation-id-file-box.d.ts.map +1 -0
  134. package/dist/cjs/src/deprecated/conversation-id-file-box.js +43 -0
  135. package/dist/cjs/src/deprecated/conversation-id-file-box.js.map +1 -0
  136. package/dist/cjs/src/deprecated/conversation-id-file-box.spec.d.ts +3 -0
  137. package/dist/cjs/src/deprecated/conversation-id-file-box.spec.d.ts.map +1 -0
  138. package/dist/cjs/src/deprecated/conversation-id-file-box.spec.js +94 -0
  139. package/dist/cjs/src/deprecated/conversation-id-file-box.spec.js.map +1 -0
  140. package/dist/cjs/src/deprecated/file-box-chunk.d.ts +14 -0
  141. package/dist/cjs/src/deprecated/file-box-chunk.d.ts.map +1 -0
  142. package/dist/cjs/src/deprecated/file-box-chunk.js +67 -0
  143. package/dist/cjs/src/deprecated/file-box-chunk.js.map +1 -0
  144. package/dist/cjs/src/deprecated/file-box-chunk.spec.d.ts +3 -0
  145. package/dist/cjs/src/deprecated/file-box-chunk.spec.d.ts.map +1 -0
  146. package/dist/cjs/src/deprecated/file-box-chunk.spec.js +134 -0
  147. package/dist/cjs/src/deprecated/file-box-chunk.spec.js.map +1 -0
  148. package/dist/cjs/src/deprecated/file-box-pb.d.ts +15 -0
  149. package/dist/cjs/src/deprecated/file-box-pb.d.ts.map +1 -0
  150. package/dist/cjs/src/deprecated/file-box-pb.js +26 -0
  151. package/dist/cjs/src/deprecated/file-box-pb.js.map +1 -0
  152. package/dist/cjs/src/deprecated/file-box-pb.spec.d.ts +3 -0
  153. package/dist/cjs/src/deprecated/file-box-pb.spec.d.ts.map +1 -0
  154. package/dist/cjs/src/deprecated/file-box-pb.spec.js +18 -0
  155. package/dist/cjs/src/deprecated/file-box-pb.spec.js.map +1 -0
  156. package/dist/cjs/src/deprecated/file-box-pb.type.d.ts +15 -0
  157. package/dist/cjs/src/deprecated/file-box-pb.type.d.ts.map +1 -0
  158. package/dist/cjs/src/deprecated/file-box-pb.type.js +3 -0
  159. package/dist/cjs/src/deprecated/file-box-pb.type.js.map +1 -0
  160. package/dist/cjs/src/deprecated/mod.d.ts +3 -0
  161. package/dist/cjs/src/deprecated/mod.d.ts.map +1 -0
  162. package/dist/cjs/src/deprecated/mod.js +10 -0
  163. package/dist/cjs/src/deprecated/mod.js.map +1 -0
  164. package/dist/cjs/src/deprecated/next-data.d.ts +7 -0
  165. package/dist/cjs/src/deprecated/next-data.d.ts.map +1 -0
  166. package/dist/cjs/src/deprecated/next-data.js +26 -0
  167. package/dist/cjs/src/deprecated/next-data.js.map +1 -0
  168. package/dist/cjs/src/deprecated/serialize-file-box.d.ts +6 -0
  169. package/dist/cjs/src/deprecated/serialize-file-box.d.ts.map +1 -0
  170. package/dist/cjs/src/deprecated/serialize-file-box.js +22 -0
  171. package/dist/cjs/src/deprecated/serialize-file-box.js.map +1 -0
  172. package/dist/cjs/src/env-vars.d.ts +5 -0
  173. package/dist/cjs/src/env-vars.d.ts.map +1 -0
  174. package/dist/cjs/src/env-vars.js +88 -0
  175. package/dist/cjs/src/env-vars.js.map +1 -0
  176. package/dist/cjs/src/env-vars.spec.d.ts +3 -0
  177. package/dist/cjs/src/env-vars.spec.d.ts.map +1 -0
  178. package/dist/cjs/src/env-vars.spec.js +21 -0
  179. package/dist/cjs/src/env-vars.spec.js.map +1 -0
  180. package/dist/cjs/src/event-type-rev.d.ts +11 -0
  181. package/dist/cjs/src/event-type-rev.d.ts.map +1 -0
  182. package/dist/cjs/src/event-type-rev.js +17 -0
  183. package/dist/cjs/src/event-type-rev.js.map +1 -0
  184. package/dist/cjs/src/file-box-helper/mod.d.ts +4 -0
  185. package/dist/cjs/src/file-box-helper/mod.d.ts.map +1 -0
  186. package/dist/cjs/src/file-box-helper/mod.js +8 -0
  187. package/dist/cjs/src/file-box-helper/mod.js.map +1 -0
  188. package/dist/cjs/src/file-box-helper/normalize-filebox.d.ts +6 -0
  189. package/dist/cjs/src/file-box-helper/normalize-filebox.d.ts.map +1 -0
  190. package/dist/cjs/src/file-box-helper/normalize-filebox.js +76 -0
  191. package/dist/cjs/src/file-box-helper/normalize-filebox.js.map +1 -0
  192. package/dist/cjs/src/file-box-helper/normalize-filebox.spec.d.ts +3 -0
  193. package/dist/cjs/src/file-box-helper/normalize-filebox.spec.d.ts.map +1 -0
  194. package/dist/cjs/src/file-box-helper/normalize-filebox.spec.js +35 -0
  195. package/dist/cjs/src/file-box-helper/normalize-filebox.spec.js.map +1 -0
  196. package/dist/cjs/src/file-box-helper/uuidify-file-box-grpc.d.ts +6 -0
  197. package/dist/cjs/src/file-box-helper/uuidify-file-box-grpc.d.ts.map +1 -0
  198. package/dist/cjs/src/file-box-helper/uuidify-file-box-grpc.js +45 -0
  199. package/dist/cjs/src/file-box-helper/uuidify-file-box-grpc.js.map +1 -0
  200. package/dist/cjs/src/file-box-helper/uuidify-file-box-local.d.ts +5 -0
  201. package/dist/cjs/src/file-box-helper/uuidify-file-box-local.d.ts.map +1 -0
  202. package/dist/cjs/src/file-box-helper/uuidify-file-box-local.js +19 -0
  203. package/dist/cjs/src/file-box-helper/uuidify-file-box-local.js.map +1 -0
  204. package/dist/cjs/src/mod.d.ts +8 -0
  205. package/dist/cjs/src/mod.d.ts.map +1 -0
  206. package/dist/cjs/src/mod.js +13 -0
  207. package/dist/cjs/src/mod.js.map +1 -0
  208. package/dist/cjs/src/mod.spec.d.ts +3 -0
  209. package/dist/cjs/src/mod.spec.d.ts.map +1 -0
  210. package/dist/cjs/src/mod.spec.js +32 -0
  211. package/dist/cjs/src/mod.spec.js.map +1 -0
  212. package/dist/cjs/src/package-json.d.ts +6 -0
  213. package/dist/cjs/src/package-json.d.ts.map +1 -0
  214. package/dist/cjs/src/package-json.js +101 -0
  215. package/dist/cjs/src/package-json.js.map +1 -0
  216. package/dist/cjs/src/package-json.spec.d.ts +3 -0
  217. package/dist/cjs/src/package-json.spec.d.ts.map +1 -0
  218. package/dist/cjs/src/package-json.spec.js +10 -0
  219. package/dist/cjs/src/package-json.spec.js.map +1 -0
  220. package/dist/cjs/src/pure-functions/timestamp.d.ts +8 -0
  221. package/dist/cjs/src/pure-functions/timestamp.d.ts.map +1 -0
  222. package/dist/cjs/src/pure-functions/timestamp.js +23 -0
  223. package/dist/cjs/src/pure-functions/timestamp.js.map +1 -0
  224. package/dist/cjs/src/server/event-stream-manager.d.ts +40 -0
  225. package/dist/cjs/src/server/event-stream-manager.d.ts.map +1 -0
  226. package/dist/cjs/src/server/event-stream-manager.js +344 -0
  227. package/dist/cjs/src/server/event-stream-manager.js.map +1 -0
  228. package/dist/cjs/src/server/grpc-error.d.ts +5 -0
  229. package/dist/cjs/src/server/grpc-error.d.ts.map +1 -0
  230. package/dist/cjs/src/server/grpc-error.js +12 -0
  231. package/dist/cjs/src/server/grpc-error.js.map +1 -0
  232. package/dist/cjs/src/server/health-implementation.d.ts +5 -0
  233. package/dist/cjs/src/server/health-implementation.d.ts.map +1 -0
  234. package/dist/cjs/src/server/health-implementation.js +55 -0
  235. package/dist/cjs/src/server/health-implementation.js.map +1 -0
  236. package/dist/cjs/src/server/puppet-implementation.d.ts +6 -0
  237. package/dist/cjs/src/server/puppet-implementation.d.ts.map +1 -0
  238. package/dist/cjs/src/server/puppet-implementation.js +1226 -0
  239. package/dist/cjs/src/server/puppet-implementation.js.map +1 -0
  240. package/dist/cjs/src/server/puppet-server.d.ts +23 -0
  241. package/dist/cjs/src/server/puppet-server.d.ts.map +1 -0
  242. package/dist/cjs/src/server/puppet-server.js +159 -0
  243. package/dist/cjs/src/server/puppet-server.js.map +1 -0
  244. package/dist/cjs/src/server/puppet-server.spec.d.ts +3 -0
  245. package/dist/cjs/src/server/puppet-server.spec.d.ts.map +1 -0
  246. package/dist/cjs/src/server/puppet-server.spec.js +15 -0
  247. package/dist/cjs/src/server/puppet-server.spec.js.map +1 -0
  248. package/dist/cjs/tests/grpc-client.spec.d.ts +3 -0
  249. package/dist/cjs/tests/grpc-client.spec.d.ts.map +1 -0
  250. package/dist/cjs/tests/grpc-client.spec.js +137 -0
  251. package/dist/cjs/tests/grpc-client.spec.js.map +1 -0
  252. package/dist/cjs/tests/grpc-stream.spec.d.ts +15 -0
  253. package/dist/cjs/tests/grpc-stream.spec.d.ts.map +1 -0
  254. package/dist/cjs/tests/grpc-stream.spec.js +67 -0
  255. package/dist/cjs/tests/grpc-stream.spec.js.map +1 -0
  256. package/dist/cjs/tests/integration.spec.d.ts +3 -0
  257. package/dist/cjs/tests/integration.spec.d.ts.map +1 -0
  258. package/dist/cjs/tests/integration.spec.js +70 -0
  259. package/dist/cjs/tests/integration.spec.js.map +1 -0
  260. package/dist/cjs/tests/performance.spec.d.ts +14 -0
  261. package/dist/cjs/tests/performance.spec.d.ts.map +1 -0
  262. package/dist/cjs/tests/performance.spec.js +129 -0
  263. package/dist/cjs/tests/performance.spec.js.map +1 -0
  264. package/dist/cjs/tests/ready-event.spec.d.ts +3 -0
  265. package/dist/cjs/tests/ready-event.spec.d.ts.map +1 -0
  266. package/dist/cjs/tests/ready-event.spec.js +80 -0
  267. package/dist/cjs/tests/ready-event.spec.js.map +1 -0
  268. package/dist/cjs/tests/uuid-file-box.spec.d.ts +3 -0
  269. package/dist/cjs/tests/uuid-file-box.spec.d.ts.map +1 -0
  270. package/dist/cjs/tests/uuid-file-box.spec.js +77 -0
  271. package/dist/cjs/tests/uuid-file-box.spec.js.map +1 -0
  272. package/dist/esm/examples/ding-dong-bot.d.ts +2 -0
  273. package/dist/esm/examples/ding-dong-bot.d.ts.map +1 -0
  274. package/dist/esm/examples/ding-dong-bot.js +131 -0
  275. package/dist/esm/examples/ding-dong-bot.js.map +1 -0
  276. package/dist/esm/src/auth/auth-impl-token.d.ts +4 -0
  277. package/dist/esm/src/auth/auth-impl-token.d.ts.map +1 -0
  278. package/dist/esm/src/auth/auth-impl-token.js +78 -0
  279. package/dist/esm/src/auth/auth-impl-token.js.map +1 -0
  280. package/dist/esm/src/auth/auth-impl-token.spec.d.ts +3 -0
  281. package/dist/esm/src/auth/auth-impl-token.spec.d.ts.map +1 -0
  282. package/dist/esm/src/auth/auth-impl-token.spec.js +63 -0
  283. package/dist/esm/src/auth/auth-impl-token.spec.js.map +1 -0
  284. package/dist/esm/src/auth/ca.d.ts +46 -0
  285. package/dist/esm/src/auth/ca.d.ts.map +1 -0
  286. package/dist/esm/src/auth/ca.js +129 -0
  287. package/dist/esm/src/auth/ca.js.map +1 -0
  288. package/dist/esm/src/auth/ca.spec.d.ts +3 -0
  289. package/dist/esm/src/auth/ca.spec.d.ts.map +1 -0
  290. package/dist/esm/src/auth/ca.spec.js +87 -0
  291. package/dist/esm/src/auth/ca.spec.js.map +1 -0
  292. package/dist/esm/src/auth/call-cred.d.ts +9 -0
  293. package/dist/esm/src/auth/call-cred.d.ts.map +1 -0
  294. package/dist/esm/src/auth/call-cred.js +13 -0
  295. package/dist/esm/src/auth/call-cred.js.map +1 -0
  296. package/dist/esm/src/auth/call-cred.spec.d.ts +3 -0
  297. package/dist/esm/src/auth/call-cred.spec.d.ts.map +1 -0
  298. package/dist/esm/src/auth/call-cred.spec.js +16 -0
  299. package/dist/esm/src/auth/call-cred.spec.js.map +1 -0
  300. package/dist/esm/src/auth/env-vars.d.ts +13 -0
  301. package/dist/esm/src/auth/env-vars.d.ts.map +1 -0
  302. package/dist/esm/src/auth/env-vars.js +21 -0
  303. package/dist/esm/src/auth/env-vars.js.map +1 -0
  304. package/dist/esm/src/auth/grpc-js.d.ts +7 -0
  305. package/dist/esm/src/auth/grpc-js.d.ts.map +1 -0
  306. package/dist/esm/src/auth/grpc-js.js +4 -0
  307. package/dist/esm/src/auth/grpc-js.js.map +1 -0
  308. package/dist/esm/src/auth/mod.d.ts +5 -0
  309. package/dist/esm/src/auth/mod.d.ts.map +1 -0
  310. package/dist/esm/src/auth/mod.js +5 -0
  311. package/dist/esm/src/auth/mod.js.map +1 -0
  312. package/dist/esm/src/auth/mokey-patch-header-authorization.d.ts +11 -0
  313. package/dist/esm/src/auth/mokey-patch-header-authorization.d.ts.map +1 -0
  314. package/dist/esm/src/auth/mokey-patch-header-authorization.js +29 -0
  315. package/dist/esm/src/auth/mokey-patch-header-authorization.js.map +1 -0
  316. package/dist/esm/src/auth/monkey-patch-header-authorization.spec.d.ts +3 -0
  317. package/dist/esm/src/auth/monkey-patch-header-authorization.spec.d.ts.map +1 -0
  318. package/dist/esm/src/auth/monkey-patch-header-authorization.spec.js +17 -0
  319. package/dist/esm/src/auth/monkey-patch-header-authorization.spec.js.map +1 -0
  320. package/dist/esm/src/client/duck/actions.d.ts +6 -0
  321. package/dist/esm/src/client/duck/actions.d.ts.map +1 -0
  322. package/dist/esm/src/client/duck/actions.js +28 -0
  323. package/dist/esm/src/client/duck/actions.js.map +1 -0
  324. package/dist/esm/src/client/duck/epic-recover.d.ts +36 -0
  325. package/dist/esm/src/client/duck/epic-recover.d.ts.map +1 -0
  326. package/dist/esm/src/client/duck/epic-recover.js +36 -0
  327. package/dist/esm/src/client/duck/epic-recover.js.map +1 -0
  328. package/dist/esm/src/client/duck/epic-recover.spec.d.ts +3 -0
  329. package/dist/esm/src/client/duck/epic-recover.spec.d.ts.map +1 -0
  330. package/dist/esm/src/client/duck/epic-recover.spec.js +126 -0
  331. package/dist/esm/src/client/duck/epic-recover.spec.js.map +1 -0
  332. package/dist/esm/src/client/duck/epics.d.ts +4 -0
  333. package/dist/esm/src/client/duck/epics.d.ts.map +1 -0
  334. package/dist/esm/src/client/duck/epics.js +33 -0
  335. package/dist/esm/src/client/duck/epics.js.map +1 -0
  336. package/dist/esm/src/client/duck/mod.d.ts +29 -0
  337. package/dist/esm/src/client/duck/mod.d.ts.map +1 -0
  338. package/dist/esm/src/client/duck/mod.js +29 -0
  339. package/dist/esm/src/client/duck/mod.js.map +1 -0
  340. package/dist/esm/src/client/duck/operations.d.ts +23 -0
  341. package/dist/esm/src/client/duck/operations.d.ts.map +1 -0
  342. package/dist/esm/src/client/duck/operations.js +4 -0
  343. package/dist/esm/src/client/duck/operations.js.map +1 -0
  344. package/dist/esm/src/client/duck/reducers.d.ts +59 -0
  345. package/dist/esm/src/client/duck/reducers.d.ts.map +1 -0
  346. package/dist/esm/src/client/duck/reducers.js +26 -0
  347. package/dist/esm/src/client/duck/reducers.js.map +1 -0
  348. package/dist/esm/src/client/duck/selectors.d.ts +21 -0
  349. package/dist/esm/src/client/duck/selectors.d.ts.map +1 -0
  350. package/dist/esm/src/client/duck/selectors.js +22 -0
  351. package/dist/esm/src/client/duck/selectors.js.map +1 -0
  352. package/dist/esm/src/client/duck/tests.spec.d.ts +3 -0
  353. package/dist/esm/src/client/duck/tests.spec.d.ts.map +1 -0
  354. package/dist/esm/src/client/duck/tests.spec.js +24 -0
  355. package/dist/esm/src/client/duck/tests.spec.js.map +1 -0
  356. package/dist/esm/src/client/duck/types.d.ts +21 -0
  357. package/dist/esm/src/client/duck/types.d.ts.map +1 -0
  358. package/dist/esm/src/client/duck/types.js +21 -0
  359. package/dist/esm/src/client/duck/types.js.map +1 -0
  360. package/dist/esm/src/client/duck/utils.d.ts +21 -0
  361. package/dist/esm/src/client/duck/utils.d.ts.map +1 -0
  362. package/dist/esm/src/client/duck/utils.js +2 -0
  363. package/dist/esm/src/client/duck/utils.js.map +1 -0
  364. package/dist/esm/src/client/grpc-manager.d.ts +29 -0
  365. package/dist/esm/src/client/grpc-manager.d.ts.map +1 -0
  366. package/dist/esm/src/client/grpc-manager.js +353 -0
  367. package/dist/esm/src/client/grpc-manager.js.map +1 -0
  368. package/dist/esm/src/client/grpc-manager.spec.d.ts +3 -0
  369. package/dist/esm/src/client/grpc-manager.spec.d.ts.map +1 -0
  370. package/dist/esm/src/client/grpc-manager.spec.js +17 -0
  371. package/dist/esm/src/client/grpc-manager.spec.js.map +1 -0
  372. package/dist/esm/src/client/payload-store.d.ts +26 -0
  373. package/dist/esm/src/client/payload-store.d.ts.map +1 -0
  374. package/dist/esm/src/client/payload-store.js +112 -0
  375. package/dist/esm/src/client/payload-store.js.map +1 -0
  376. package/dist/esm/src/client/payload-store.spec.d.ts +3 -0
  377. package/dist/esm/src/client/payload-store.spec.d.ts.map +1 -0
  378. package/dist/esm/src/client/payload-store.spec.js +15 -0
  379. package/dist/esm/src/client/payload-store.spec.js.map +1 -0
  380. package/dist/esm/src/client/puppet-service.d.ts +161 -0
  381. package/dist/esm/src/client/puppet-service.d.ts.map +1 -0
  382. package/dist/esm/src/client/puppet-service.js +1357 -0
  383. package/dist/esm/src/client/puppet-service.js.map +1 -0
  384. package/dist/esm/src/client/puppet-service.spec.d.ts +3 -0
  385. package/dist/esm/src/client/puppet-service.spec.d.ts.map +1 -0
  386. package/dist/esm/src/client/puppet-service.spec.js +50 -0
  387. package/dist/esm/src/client/puppet-service.spec.js.map +1 -0
  388. package/dist/esm/src/config.d.ts +20 -0
  389. package/dist/esm/src/config.d.ts.map +1 -0
  390. package/dist/esm/src/config.js +20 -0
  391. package/dist/esm/src/config.js.map +1 -0
  392. package/dist/esm/src/deprecated/chunk-pb.d.ts +15 -0
  393. package/dist/esm/src/deprecated/chunk-pb.d.ts.map +1 -0
  394. package/dist/esm/src/deprecated/chunk-pb.js +56 -0
  395. package/dist/esm/src/deprecated/chunk-pb.js.map +1 -0
  396. package/dist/esm/src/deprecated/chunk-pb.spec.d.ts +3 -0
  397. package/dist/esm/src/deprecated/chunk-pb.spec.d.ts.map +1 -0
  398. package/dist/esm/src/deprecated/chunk-pb.spec.js +142 -0
  399. package/dist/esm/src/deprecated/chunk-pb.spec.js.map +1 -0
  400. package/dist/esm/src/deprecated/conversation-id-file-box.d.ts +21 -0
  401. package/dist/esm/src/deprecated/conversation-id-file-box.d.ts.map +1 -0
  402. package/dist/esm/src/deprecated/conversation-id-file-box.js +39 -0
  403. package/dist/esm/src/deprecated/conversation-id-file-box.js.map +1 -0
  404. package/dist/esm/src/deprecated/conversation-id-file-box.spec.d.ts +3 -0
  405. package/dist/esm/src/deprecated/conversation-id-file-box.spec.d.ts.map +1 -0
  406. package/dist/esm/src/deprecated/conversation-id-file-box.spec.js +92 -0
  407. package/dist/esm/src/deprecated/conversation-id-file-box.spec.js.map +1 -0
  408. package/dist/esm/src/deprecated/file-box-chunk.d.ts +14 -0
  409. package/dist/esm/src/deprecated/file-box-chunk.d.ts.map +1 -0
  410. package/dist/esm/src/deprecated/file-box-chunk.js +63 -0
  411. package/dist/esm/src/deprecated/file-box-chunk.js.map +1 -0
  412. package/dist/esm/src/deprecated/file-box-chunk.spec.d.ts +3 -0
  413. package/dist/esm/src/deprecated/file-box-chunk.spec.d.ts.map +1 -0
  414. package/dist/esm/src/deprecated/file-box-chunk.spec.js +132 -0
  415. package/dist/esm/src/deprecated/file-box-chunk.spec.js.map +1 -0
  416. package/dist/esm/src/deprecated/file-box-pb.d.ts +15 -0
  417. package/dist/esm/src/deprecated/file-box-pb.d.ts.map +1 -0
  418. package/dist/esm/src/deprecated/file-box-pb.js +22 -0
  419. package/dist/esm/src/deprecated/file-box-pb.js.map +1 -0
  420. package/dist/esm/src/deprecated/file-box-pb.spec.d.ts +3 -0
  421. package/dist/esm/src/deprecated/file-box-pb.spec.d.ts.map +1 -0
  422. package/dist/esm/src/deprecated/file-box-pb.spec.js +16 -0
  423. package/dist/esm/src/deprecated/file-box-pb.spec.js.map +1 -0
  424. package/dist/esm/src/deprecated/file-box-pb.type.d.ts +15 -0
  425. package/dist/esm/src/deprecated/file-box-pb.type.d.ts.map +1 -0
  426. package/dist/esm/src/deprecated/file-box-pb.type.js +2 -0
  427. package/dist/esm/src/deprecated/file-box-pb.type.js.map +1 -0
  428. package/dist/esm/src/deprecated/mod.d.ts +3 -0
  429. package/dist/esm/src/deprecated/mod.d.ts.map +1 -0
  430. package/dist/esm/src/deprecated/mod.js +3 -0
  431. package/dist/esm/src/deprecated/mod.js.map +1 -0
  432. package/dist/esm/src/deprecated/next-data.d.ts +7 -0
  433. package/dist/esm/src/deprecated/next-data.d.ts.map +1 -0
  434. package/dist/esm/src/deprecated/next-data.js +23 -0
  435. package/dist/esm/src/deprecated/next-data.js.map +1 -0
  436. package/dist/esm/src/deprecated/serialize-file-box.d.ts +6 -0
  437. package/dist/esm/src/deprecated/serialize-file-box.d.ts.map +1 -0
  438. package/dist/esm/src/deprecated/serialize-file-box.js +18 -0
  439. package/dist/esm/src/deprecated/serialize-file-box.js.map +1 -0
  440. package/dist/esm/src/env-vars.d.ts +5 -0
  441. package/dist/esm/src/env-vars.d.ts.map +1 -0
  442. package/dist/esm/src/env-vars.js +83 -0
  443. package/dist/esm/src/env-vars.js.map +1 -0
  444. package/dist/esm/src/env-vars.spec.d.ts +3 -0
  445. package/dist/esm/src/env-vars.spec.d.ts.map +1 -0
  446. package/dist/esm/src/env-vars.spec.js +19 -0
  447. package/dist/esm/src/env-vars.spec.js.map +1 -0
  448. package/dist/esm/src/event-type-rev.d.ts +11 -0
  449. package/dist/esm/src/event-type-rev.d.ts.map +1 -0
  450. package/dist/esm/src/event-type-rev.js +14 -0
  451. package/dist/esm/src/event-type-rev.js.map +1 -0
  452. package/dist/esm/src/file-box-helper/mod.d.ts +4 -0
  453. package/dist/esm/src/file-box-helper/mod.d.ts.map +1 -0
  454. package/dist/esm/src/file-box-helper/mod.js +4 -0
  455. package/dist/esm/src/file-box-helper/mod.js.map +1 -0
  456. package/dist/esm/src/file-box-helper/normalize-filebox.d.ts +6 -0
  457. package/dist/esm/src/file-box-helper/normalize-filebox.d.ts.map +1 -0
  458. package/dist/esm/src/file-box-helper/normalize-filebox.js +72 -0
  459. package/dist/esm/src/file-box-helper/normalize-filebox.js.map +1 -0
  460. package/dist/esm/src/file-box-helper/normalize-filebox.spec.d.ts +3 -0
  461. package/dist/esm/src/file-box-helper/normalize-filebox.spec.d.ts.map +1 -0
  462. package/dist/esm/src/file-box-helper/normalize-filebox.spec.js +33 -0
  463. package/dist/esm/src/file-box-helper/normalize-filebox.spec.js.map +1 -0
  464. package/dist/esm/src/file-box-helper/uuidify-file-box-grpc.d.ts +6 -0
  465. package/dist/esm/src/file-box-helper/uuidify-file-box-grpc.d.ts.map +1 -0
  466. package/dist/esm/src/file-box-helper/uuidify-file-box-grpc.js +42 -0
  467. package/dist/esm/src/file-box-helper/uuidify-file-box-grpc.js.map +1 -0
  468. package/dist/esm/src/file-box-helper/uuidify-file-box-local.d.ts +5 -0
  469. package/dist/esm/src/file-box-helper/uuidify-file-box-local.d.ts.map +1 -0
  470. package/dist/esm/src/file-box-helper/uuidify-file-box-local.js +16 -0
  471. package/dist/esm/src/file-box-helper/uuidify-file-box-local.js.map +1 -0
  472. package/dist/esm/src/mod.d.ts +8 -0
  473. package/dist/esm/src/mod.d.ts.map +1 -0
  474. package/dist/esm/src/mod.js +7 -0
  475. package/dist/esm/src/mod.js.map +1 -0
  476. package/dist/esm/src/mod.spec.d.ts +3 -0
  477. package/dist/esm/src/mod.spec.d.ts.map +1 -0
  478. package/dist/esm/src/mod.spec.js +7 -0
  479. package/dist/esm/src/mod.spec.js.map +1 -0
  480. package/dist/esm/src/package-json.d.ts +6 -0
  481. package/dist/esm/src/package-json.d.ts.map +1 -0
  482. package/dist/esm/src/package-json.js +98 -0
  483. package/dist/esm/src/package-json.js.map +1 -0
  484. package/dist/esm/src/package-json.spec.d.ts +3 -0
  485. package/dist/esm/src/package-json.spec.d.ts.map +1 -0
  486. package/dist/esm/src/package-json.spec.js +8 -0
  487. package/dist/esm/src/package-json.spec.js.map +1 -0
  488. package/dist/esm/src/pure-functions/timestamp.d.ts +8 -0
  489. package/dist/esm/src/pure-functions/timestamp.d.ts.map +1 -0
  490. package/dist/esm/src/pure-functions/timestamp.js +19 -0
  491. package/dist/esm/src/pure-functions/timestamp.js.map +1 -0
  492. package/dist/esm/src/server/event-stream-manager.d.ts +40 -0
  493. package/dist/esm/src/server/event-stream-manager.d.ts.map +1 -0
  494. package/dist/esm/src/server/event-stream-manager.js +318 -0
  495. package/dist/esm/src/server/event-stream-manager.js.map +1 -0
  496. package/dist/esm/src/server/grpc-error.d.ts +5 -0
  497. package/dist/esm/src/server/grpc-error.d.ts.map +1 -0
  498. package/dist/esm/src/server/grpc-error.js +8 -0
  499. package/dist/esm/src/server/grpc-error.js.map +1 -0
  500. package/dist/esm/src/server/health-implementation.d.ts +5 -0
  501. package/dist/esm/src/server/health-implementation.d.ts.map +1 -0
  502. package/dist/esm/src/server/health-implementation.js +52 -0
  503. package/dist/esm/src/server/health-implementation.js.map +1 -0
  504. package/dist/esm/src/server/puppet-implementation.d.ts +6 -0
  505. package/dist/esm/src/server/puppet-implementation.d.ts.map +1 -0
  506. package/dist/esm/src/server/puppet-implementation.js +1200 -0
  507. package/dist/esm/src/server/puppet-implementation.js.map +1 -0
  508. package/dist/esm/src/server/puppet-server.d.ts +23 -0
  509. package/dist/esm/src/server/puppet-server.d.ts.map +1 -0
  510. package/dist/esm/src/server/puppet-server.js +152 -0
  511. package/dist/esm/src/server/puppet-server.js.map +1 -0
  512. package/dist/esm/src/server/puppet-server.spec.d.ts +3 -0
  513. package/dist/esm/src/server/puppet-server.spec.d.ts.map +1 -0
  514. package/dist/esm/src/server/puppet-server.spec.js +13 -0
  515. package/dist/esm/src/server/puppet-server.spec.js.map +1 -0
  516. package/dist/esm/tests/grpc-client.spec.d.ts +3 -0
  517. package/dist/esm/tests/grpc-client.spec.d.ts.map +1 -0
  518. package/dist/esm/tests/grpc-client.spec.js +132 -0
  519. package/dist/esm/tests/grpc-client.spec.js.map +1 -0
  520. package/dist/esm/tests/grpc-stream.spec.d.ts +15 -0
  521. package/dist/esm/tests/grpc-stream.spec.d.ts.map +1 -0
  522. package/dist/esm/tests/grpc-stream.spec.js +62 -0
  523. package/dist/esm/tests/grpc-stream.spec.js.map +1 -0
  524. package/dist/esm/tests/integration.spec.d.ts +3 -0
  525. package/dist/esm/tests/integration.spec.d.ts.map +1 -0
  526. package/dist/esm/tests/integration.spec.js +65 -0
  527. package/dist/esm/tests/integration.spec.js.map +1 -0
  528. package/dist/esm/tests/performance.spec.d.ts +14 -0
  529. package/dist/esm/tests/performance.spec.d.ts.map +1 -0
  530. package/dist/esm/tests/performance.spec.js +104 -0
  531. package/dist/esm/tests/performance.spec.js.map +1 -0
  532. package/dist/esm/tests/ready-event.spec.d.ts +3 -0
  533. package/dist/esm/tests/ready-event.spec.d.ts.map +1 -0
  534. package/dist/esm/tests/ready-event.spec.js +52 -0
  535. package/dist/esm/tests/ready-event.spec.js.map +1 -0
  536. package/dist/esm/tests/uuid-file-box.spec.d.ts +3 -0
  537. package/dist/esm/tests/uuid-file-box.spec.d.ts.map +1 -0
  538. package/dist/esm/tests/uuid-file-box.spec.js +49 -0
  539. package/dist/esm/tests/uuid-file-box.spec.js.map +1 -0
  540. package/package.json +97 -0
  541. package/src/auth/README.md +10 -0
  542. package/src/auth/auth-impl-token.spec.ts +81 -0
  543. package/src/auth/auth-impl-token.ts +108 -0
  544. package/src/auth/ca.spec.ts +116 -0
  545. package/src/auth/ca.ts +137 -0
  546. package/src/auth/call-cred.spec.ts +25 -0
  547. package/src/auth/call-cred.ts +22 -0
  548. package/src/auth/env-vars.ts +32 -0
  549. package/src/auth/grpc-js.ts +29 -0
  550. package/src/auth/mod.ts +9 -0
  551. package/src/auth/mokey-patch-header-authorization.ts +45 -0
  552. package/src/auth/monkey-patch-header-authorization.spec.ts +26 -0
  553. package/src/client/duck/actions.ts +31 -0
  554. package/src/client/duck/epic-recover.spec.ts +180 -0
  555. package/src/client/duck/epic-recover.ts +109 -0
  556. package/src/client/duck/epics.ts +53 -0
  557. package/src/client/duck/mod.ts +38 -0
  558. package/src/client/duck/operations.ts +28 -0
  559. package/src/client/duck/reducers.ts +36 -0
  560. package/src/client/duck/selectors.ts +27 -0
  561. package/src/client/duck/tests.spec.ts +25 -0
  562. package/src/client/duck/types.ts +20 -0
  563. package/src/client/duck/utils.ts +20 -0
  564. package/src/client/grpc-manager.spec.ts +20 -0
  565. package/src/client/grpc-manager.ts +440 -0
  566. package/src/client/payload-store.spec.ts +19 -0
  567. package/src/client/payload-store.ts +153 -0
  568. package/src/client/puppet-service.spec.ts +59 -0
  569. package/src/client/puppet-service.ts +1938 -0
  570. package/src/config.ts +31 -0
  571. package/src/deprecated/chunk-pb.spec.ts +210 -0
  572. package/src/deprecated/chunk-pb.ts +75 -0
  573. package/src/deprecated/conversation-id-file-box.spec.ts +131 -0
  574. package/src/deprecated/conversation-id-file-box.ts +72 -0
  575. package/src/deprecated/file-box-chunk.spec.ts +184 -0
  576. package/src/deprecated/file-box-chunk.ts +87 -0
  577. package/src/deprecated/file-box-pb.spec.ts +31 -0
  578. package/src/deprecated/file-box-pb.ts +41 -0
  579. package/src/deprecated/file-box-pb.type.ts +16 -0
  580. package/src/deprecated/mod.ts +8 -0
  581. package/src/deprecated/next-data.ts +35 -0
  582. package/src/deprecated/serialize-file-box.ts +24 -0
  583. package/src/env-vars.spec.ts +23 -0
  584. package/src/env-vars.ts +100 -0
  585. package/src/event-type-rev.ts +19 -0
  586. package/src/file-box-helper/mod.ts +11 -0
  587. package/src/file-box-helper/normalize-filebox.spec.ts +47 -0
  588. package/src/file-box-helper/normalize-filebox.ts +90 -0
  589. package/src/file-box-helper/uuidify-file-box-grpc.ts +83 -0
  590. package/src/file-box-helper/uuidify-file-box-local.ts +31 -0
  591. package/src/mod.spec.ts +9 -0
  592. package/src/mod.ts +25 -0
  593. package/src/package-json.spec.ts +10 -0
  594. package/src/package-json.ts +101 -0
  595. package/src/pure-functions/timestamp.ts +28 -0
  596. package/src/server/event-stream-manager.ts +383 -0
  597. package/src/server/grpc-error.ts +23 -0
  598. package/src/server/health-implementation.ts +78 -0
  599. package/src/server/puppet-implementation.ts +1539 -0
  600. package/src/server/puppet-server.spec.ts +21 -0
  601. package/src/server/puppet-server.ts +239 -0
  602. package/src/typings.d.ts +68 -0
@@ -0,0 +1,1226 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.puppetImplementation = void 0;
27
+ const wechaty_grpc_1 = require("@juzi/wechaty-grpc");
28
+ const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
29
+ const gerror_1 = require("gerror");
30
+ const mod_js_1 = require("../deprecated/mod.js");
31
+ const timestamp_js_1 = require("../pure-functions/timestamp.js");
32
+ const mod_js_2 = require("../file-box-helper/mod.js");
33
+ const config_js_1 = require("../config.js");
34
+ const grpc_error_js_1 = require("./grpc-error.js");
35
+ const event_stream_manager_js_1 = require("./event-stream-manager.js");
36
+ function puppetImplementation(puppet, FileBoxUuid) {
37
+ /**
38
+ * Save scan payload to send it to the puppet-service right after connected (if needed)
39
+ *
40
+ * TODO: clean the listeners if necessary
41
+ */
42
+ let scanPayload;
43
+ let readyPayload;
44
+ let readyTimeout;
45
+ puppet.on('scan', payload => { scanPayload = payload; });
46
+ puppet.on('ready', payload => { readyPayload = payload; });
47
+ puppet.on('logout', _ => {
48
+ readyPayload = undefined;
49
+ if (readyTimeout) {
50
+ clearTimeout(readyTimeout);
51
+ }
52
+ });
53
+ puppet.on('login', _ => {
54
+ scanPayload = undefined;
55
+ readyTimeout = setTimeout(() => {
56
+ // Huan(202110): should we emit ready event here?
57
+ readyPayload && eventStreamManager.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_READY, readyPayload);
58
+ }, 5 * 1000);
59
+ });
60
+ const eventStreamManager = new event_stream_manager_js_1.EventStreamManager(puppet);
61
+ const serializeFileBox = async (fileBox) => {
62
+ /**
63
+ * 1. if the fileBox is one of type `Url`, `QRCode`, `Uuid`, etc,
64
+ * then it can be serialized by `fileBox.toString()`
65
+ * 2. if the fileBox is one of type `Stream`, `Buffer`, `File`, etc,
66
+ * then it need to be convert to type `Uuid`
67
+ * before serialized by `fileBox.toString()`
68
+ */
69
+ const normalizedFileBox = await (0, mod_js_2.normalizeFileBoxUuid)(FileBoxUuid)(fileBox);
70
+ return JSON.stringify(normalizedFileBox);
71
+ };
72
+ const puppetServerImpl = {
73
+ contactAlias: async (call, callback) => {
74
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactAlias()');
75
+ const id = call.request.getId();
76
+ /**
77
+ * Set
78
+ */
79
+ if (call.request.hasAlias()) {
80
+ try {
81
+ await puppet.contactAlias(id, call.request.getAlias());
82
+ return callback(null, new wechaty_grpc_1.puppet.ContactAliasResponse());
83
+ }
84
+ catch (e) {
85
+ return (0, grpc_error_js_1.grpcError)('contactAlias', e, callback);
86
+ }
87
+ }
88
+ /**
89
+ * Get
90
+ */
91
+ try {
92
+ const alias = await puppet.contactAlias(id);
93
+ const response = new wechaty_grpc_1.puppet.ContactAliasResponse();
94
+ response.setAlias(alias);
95
+ return callback(null, response);
96
+ }
97
+ catch (e) {
98
+ return (0, grpc_error_js_1.grpcError)('contactAlias', e, callback);
99
+ }
100
+ },
101
+ contactAvatar: async (call, callback) => {
102
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactAvatar()');
103
+ const id = call.request.getId();
104
+ /**
105
+ * Set
106
+ */
107
+ try {
108
+ if (call.request.hasFileBox()) {
109
+ const fileBox = FileBoxUuid.fromJSON(call.request.getFileBox());
110
+ await puppet.contactAvatar(id, fileBox);
111
+ return callback(null, new wechaty_grpc_1.puppet.ContactAvatarResponse());
112
+ }
113
+ }
114
+ catch (e) {
115
+ return (0, grpc_error_js_1.grpcError)('contactAvatar', e, callback);
116
+ }
117
+ /**
118
+ * Get
119
+ */
120
+ try {
121
+ const fileBox = await puppet.contactAvatar(id);
122
+ const serializedFileBox = await serializeFileBox(fileBox);
123
+ const response = new wechaty_grpc_1.puppet.ContactAvatarResponse();
124
+ response.setFileBox(serializedFileBox);
125
+ return callback(null, response);
126
+ }
127
+ catch (e) {
128
+ return (0, grpc_error_js_1.grpcError)('contactAvatar', e, callback);
129
+ }
130
+ },
131
+ contactCorporationRemark: async (call, callback) => {
132
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactCorporationRemark()');
133
+ const contactId = call.request.getContactId();
134
+ try {
135
+ await puppet.contactCorporationRemark(contactId, call.request.getCorporationRemark() || null);
136
+ return callback(null, new wechaty_grpc_1.puppet.ContactCorporationRemarkResponse());
137
+ }
138
+ catch (e) {
139
+ return (0, grpc_error_js_1.grpcError)('contactCorporationRemark', e, callback);
140
+ }
141
+ },
142
+ contactDescription: async (call, callback) => {
143
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactDescription()');
144
+ const contactId = call.request.getContactId();
145
+ try {
146
+ const description = call.request.getDescription();
147
+ await puppet.contactDescription(contactId, description || null);
148
+ return callback(null, new wechaty_grpc_1.puppet.ContactDescriptionResponse());
149
+ }
150
+ catch (e) {
151
+ return (0, grpc_error_js_1.grpcError)('contactDescription', e, callback);
152
+ }
153
+ },
154
+ contactList: async (call, callback) => {
155
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactList()');
156
+ void call; // empty request
157
+ try {
158
+ const idList = await puppet.contactList();
159
+ const response = new wechaty_grpc_1.puppet.ContactListResponse();
160
+ response.setIdsList(idList);
161
+ return callback(null, response);
162
+ }
163
+ catch (e) {
164
+ return (0, grpc_error_js_1.grpcError)('contactList', e, callback);
165
+ }
166
+ },
167
+ contactPayload: async (call, callback) => {
168
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactPayload()');
169
+ const id = call.request.getId();
170
+ try {
171
+ const payload = await puppet.contactPayload(id);
172
+ const response = new wechaty_grpc_1.puppet.ContactPayloadResponse();
173
+ response.setAddress(payload.address || '');
174
+ response.setAlias(payload.alias || '');
175
+ response.setAvatar(payload.avatar);
176
+ response.setCity(payload.city || '');
177
+ response.setFriend(payload.friend || false);
178
+ response.setGender(payload.gender);
179
+ response.setId(payload.id);
180
+ response.setName(payload.name);
181
+ response.setProvince(payload.province || '');
182
+ response.setSignature(payload.signature || '');
183
+ response.setStar(payload.star || false);
184
+ response.setType(payload.type);
185
+ /**
186
+ * @deprecated `payload.weixin` will be removed in v2.0
187
+ * @link https://github.com/wechaty/grpc/issues/174
188
+ */
189
+ response.setWeixin(payload.handle || payload.weixin || '');
190
+ response.setPhonesList(payload.phone);
191
+ response.setCoworker(payload.coworker || false);
192
+ response.setCorporation(payload.corporation || '');
193
+ response.setTitle(payload.title || '');
194
+ response.setDescription(payload.description || '');
195
+ return callback(null, response);
196
+ }
197
+ catch (e) {
198
+ return (0, grpc_error_js_1.grpcError)('contactPayload', e, callback);
199
+ }
200
+ },
201
+ contactPhone: async (call, callback) => {
202
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactPhone()');
203
+ try {
204
+ const contactId = call.request.getContactId();
205
+ const phoneList = call.request.getPhonesList();
206
+ await puppet.contactPhone(contactId, phoneList);
207
+ return callback(null, new wechaty_grpc_1.puppet.ContactPhoneResponse());
208
+ }
209
+ catch (e) {
210
+ return (0, grpc_error_js_1.grpcError)('contactPhone', e, callback);
211
+ }
212
+ },
213
+ contactSelfName: async (call, callback) => {
214
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactSelfName()');
215
+ try {
216
+ const name = call.request.getName();
217
+ await puppet.contactSelfName(name);
218
+ return callback(null, new wechaty_grpc_1.puppet.ContactSelfNameResponse());
219
+ }
220
+ catch (e) {
221
+ return (0, grpc_error_js_1.grpcError)('contactSelfName', e, callback);
222
+ }
223
+ },
224
+ contactSelfQRCode: async (call, callback) => {
225
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactSelfName()');
226
+ void call;
227
+ try {
228
+ const qrcode = await puppet.contactSelfQRCode();
229
+ const response = new wechaty_grpc_1.puppet.ContactSelfQRCodeResponse();
230
+ response.setQrcode(qrcode);
231
+ return callback(null, response);
232
+ }
233
+ catch (e) {
234
+ return (0, grpc_error_js_1.grpcError)('contactSelfQRCode', e, callback);
235
+ }
236
+ },
237
+ contactSelfSignature: async (call, callback) => {
238
+ config_js_1.log.verbose('PuppetServiceImpl', 'contactSelfSignature()');
239
+ try {
240
+ const signature = call.request.getSignature();
241
+ await puppet.contactSelfSignature(signature);
242
+ return callback(null, new wechaty_grpc_1.puppet.ContactSelfSignatureResponse());
243
+ }
244
+ catch (e) {
245
+ return (0, grpc_error_js_1.grpcError)('contactSelfSignature', e, callback);
246
+ }
247
+ },
248
+ ding: async (call, callback) => {
249
+ config_js_1.log.verbose('PuppetServiceImpl', 'ding()');
250
+ try {
251
+ const data = call.request.getData();
252
+ await puppet.ding(data);
253
+ return callback(null, new wechaty_grpc_1.puppet.DingResponse());
254
+ }
255
+ catch (e) {
256
+ return (0, grpc_error_js_1.grpcError)('ding', e, callback);
257
+ }
258
+ },
259
+ dirtyPayload: async (call, callback) => {
260
+ config_js_1.log.verbose('PuppetServiceImpl', 'dirtyPayload()');
261
+ try {
262
+ const id = call.request.getId();
263
+ const type = call.request.getType();
264
+ await puppet.dirtyPayload(type, id);
265
+ return callback(null, new wechaty_grpc_1.puppet.DirtyPayloadResponse());
266
+ }
267
+ catch (e) {
268
+ return (0, grpc_error_js_1.grpcError)('puppet.dirtyPayload() rejection: ', e, callback);
269
+ }
270
+ },
271
+ /**
272
+ *
273
+ * Bridge Event Emitter Events
274
+ *
275
+ */
276
+ event: (streamingCall) => {
277
+ config_js_1.log.verbose('PuppetServiceImpl', 'event()');
278
+ if (eventStreamManager.busy()) {
279
+ config_js_1.log.error('PuppetServiceImpl', 'event() there is another event() call not end when receiving a new one.');
280
+ const error = {
281
+ ...new Error('GrpcServerImpl.event() can not call twice.'),
282
+ code: wechaty_grpc_1.grpc.status.ALREADY_EXISTS,
283
+ details: 'GrpcServerImpl.event() can not call twice.',
284
+ metadata: streamingCall.metadata,
285
+ };
286
+ /**
287
+ * Send error from gRPC server stream:
288
+ * https://github.com/grpc/grpc-node/issues/287#issuecomment-383218225
289
+ *
290
+ * Streaming RPCs
291
+ * - https://grpc.io/docs/tutorials/basic/node/
292
+ * Only one of 'error' or 'end' will be emitted. Finally, the 'status' event fires when the server sends the status.
293
+ */
294
+ streamingCall.emit('error', error);
295
+ return;
296
+ }
297
+ eventStreamManager.start(streamingCall);
298
+ /**
299
+ * If `scanPayload` is not undefined, then we emit it to downstream immediatelly
300
+ */
301
+ if (scanPayload) {
302
+ eventStreamManager.grpcEmit(wechaty_grpc_1.puppet.EventType.EVENT_TYPE_SCAN, scanPayload);
303
+ }
304
+ },
305
+ friendshipAccept: async (call, callback) => {
306
+ config_js_1.log.verbose('PuppetServiceImpl', 'friendshipAccept()');
307
+ try {
308
+ const id = call.request.getId();
309
+ await puppet.friendshipAccept(id);
310
+ return callback(null, new wechaty_grpc_1.puppet.FriendshipAcceptResponse());
311
+ }
312
+ catch (e) {
313
+ return (0, grpc_error_js_1.grpcError)('friendshipAccept', e, callback);
314
+ }
315
+ },
316
+ friendshipAdd: async (call, callback) => {
317
+ config_js_1.log.verbose('PuppetServiceImpl', 'friendshipAdd()');
318
+ try {
319
+ const contactId = call.request.getContactId();
320
+ // FIXME: for backward compatibility, need to be removed after all puppet has updated.
321
+ const hello = call.request.getHello();
322
+ const referrer = call.request.getReferrer();
323
+ const friendshipAddOptions = {
324
+ hello,
325
+ ...referrer,
326
+ };
327
+ {
328
+ // Deprecated: will be removed after Dec 31, 2022
329
+ const sourceContactId = call.request.getSourceContactIdStringValueDeprecated()?.getValue();
330
+ const sourceRoomId = call.request.getSourceRoomIdStringValueDeprecated()?.getValue();
331
+ if (sourceContactId) {
332
+ friendshipAddOptions['contactId'] = sourceContactId;
333
+ }
334
+ if (sourceRoomId) {
335
+ friendshipAddOptions['roomId'] = sourceRoomId;
336
+ }
337
+ }
338
+ await puppet.friendshipAdd(contactId, friendshipAddOptions);
339
+ return callback(null, new wechaty_grpc_1.puppet.FriendshipAddResponse());
340
+ }
341
+ catch (e) {
342
+ return (0, grpc_error_js_1.grpcError)('friendshipAdd', e, callback);
343
+ }
344
+ },
345
+ friendshipPayload: async (call, callback) => {
346
+ config_js_1.log.verbose('PuppetServiceImpl', 'friendshipPayload()');
347
+ try {
348
+ const id = call.request.getId();
349
+ const payload = await puppet.friendshipPayload(id);
350
+ const payloadReceive = payload;
351
+ const response = new wechaty_grpc_1.puppet.FriendshipPayloadResponse();
352
+ response.setContactId(payload.contactId);
353
+ response.setHello(payload.hello || '');
354
+ response.setId(payload.id);
355
+ response.setScene(payloadReceive.scene || PUPPET.types.FriendshipScene.Unknown);
356
+ response.setStranger(payloadReceive.stranger || '');
357
+ response.setTicket(payloadReceive.ticket);
358
+ response.setType(payload.type);
359
+ return callback(null, response);
360
+ }
361
+ catch (e) {
362
+ return (0, grpc_error_js_1.grpcError)('friendshipPayload', e, callback);
363
+ }
364
+ },
365
+ friendshipSearchPhone: async (call, callback) => {
366
+ config_js_1.log.verbose('PuppetServiceImpl', 'friendshipSearchPhone()');
367
+ try {
368
+ const phone = call.request.getPhone();
369
+ const contactId = await puppet.friendshipSearchPhone(phone);
370
+ const response = new wechaty_grpc_1.puppet.FriendshipSearchPhoneResponse();
371
+ if (contactId) {
372
+ response.setContactId(contactId);
373
+ }
374
+ return callback(null, response);
375
+ }
376
+ catch (e) {
377
+ return (0, grpc_error_js_1.grpcError)('friendshipSearchPhone', e, callback);
378
+ }
379
+ },
380
+ /**
381
+ * @deprecated use `friendshipSearchHandle()` instead, will be removed in v3.0
382
+ */
383
+ friendshipSearchWeixin: async (call, callback) => {
384
+ config_js_1.log.warn('PuppetServiceImpl', 'friendshipSearchWeixin() is deprecated, use friendshipSearchHandle() instead. %s', new Error().stack);
385
+ return puppetServerImpl.friendshipSearchHandle(call, callback);
386
+ },
387
+ friendshipSearchHandle: async (call, callback) => {
388
+ config_js_1.log.verbose('PuppetServiceImpl', 'friendshipSearchHandle()');
389
+ try {
390
+ /**
391
+ * Huan(202203): rename `getWeixin()` to `getHandle()` in v2.0.0
392
+ * @link https://github.com/wechaty/grpc/issues/174
393
+ */
394
+ const handle = call.request.getWeixin();
395
+ const contactId = await puppet.friendshipSearchHandle(handle);
396
+ const response = new wechaty_grpc_1.puppet.FriendshipSearchHandleResponse();
397
+ if (contactId) {
398
+ response.setContactId(contactId);
399
+ }
400
+ return callback(null, response);
401
+ }
402
+ catch (e) {
403
+ return (0, grpc_error_js_1.grpcError)('friendshipSearchHandle', e, callback);
404
+ }
405
+ },
406
+ logout: async (call, callback) => {
407
+ config_js_1.log.verbose('PuppetServiceImpl', 'logout()');
408
+ void call; // empty arguments
409
+ try {
410
+ await puppet.logout();
411
+ return callback(null, new wechaty_grpc_1.puppet.LogoutResponse());
412
+ }
413
+ catch (e) {
414
+ return (0, grpc_error_js_1.grpcError)('logout', e, callback);
415
+ }
416
+ },
417
+ messageContact: async (call, callback) => {
418
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageContact()');
419
+ try {
420
+ const id = call.request.getId();
421
+ const contactId = await puppet.messageContact(id);
422
+ const response = new wechaty_grpc_1.puppet.MessageContactResponse();
423
+ response.setId(contactId);
424
+ return callback(null, response);
425
+ }
426
+ catch (e) {
427
+ return (0, grpc_error_js_1.grpcError)('messageContact', e, callback);
428
+ }
429
+ },
430
+ messageFile: async (call, callback) => {
431
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageFile()');
432
+ try {
433
+ const id = call.request.getId();
434
+ const fileBox = await puppet.messageFile(id);
435
+ const serializedFileBox = await serializeFileBox(fileBox);
436
+ const response = new wechaty_grpc_1.puppet.MessageFileResponse();
437
+ response.setFileBox(serializedFileBox);
438
+ return callback(null, response);
439
+ }
440
+ catch (e) {
441
+ return (0, grpc_error_js_1.grpcError)('messageFile', e, callback);
442
+ }
443
+ },
444
+ /**
445
+ * @deprecated will be removed after Dec 31, 2022
446
+ */
447
+ messageFileStream: async (call) => {
448
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageFileStream()');
449
+ try {
450
+ const id = call.request.getId();
451
+ const fileBox = await puppet.messageFile(id);
452
+ const response = await (0, mod_js_1.packFileBoxToPb)(wechaty_grpc_1.puppet.MessageFileStreamResponse)(fileBox);
453
+ response.on('error', e => call.destroy(e));
454
+ response.pipe(call); // Huan(202203): FIXME: as unknown as
455
+ }
456
+ catch (e) {
457
+ config_js_1.log.error('PuppetServiceImpl', 'grpcError() messageFileStream() rejection: %s', e && e.message);
458
+ call.destroy(e);
459
+ }
460
+ },
461
+ messageForward: async (call, callback) => {
462
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageForward()');
463
+ try {
464
+ const conversationId = call.request.getConversationId();
465
+ const messageId = call.request.getMessageId();
466
+ const id = await puppet.messageForward(conversationId, messageId);
467
+ const response = new wechaty_grpc_1.puppet.MessageForwardResponse();
468
+ if (id) {
469
+ response.setId(id);
470
+ {
471
+ /**
472
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
473
+ */
474
+ const idWrapper = new wechaty_grpc_1.StringValue();
475
+ idWrapper.setValue(id);
476
+ response.setIdStringValueDeprecated(idWrapper);
477
+ }
478
+ }
479
+ return callback(null, response);
480
+ }
481
+ catch (e) {
482
+ return (0, grpc_error_js_1.grpcError)('messageForward', e, callback);
483
+ }
484
+ },
485
+ messageImage: async (call, callback) => {
486
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageImage()');
487
+ try {
488
+ const id = call.request.getId();
489
+ const type = call.request.getType();
490
+ const fileBox = await puppet.messageImage(id, type);
491
+ const serializedFileBox = await serializeFileBox(fileBox);
492
+ const response = new wechaty_grpc_1.puppet.MessageImageResponse();
493
+ response.setFileBox(serializedFileBox);
494
+ return callback(null, response);
495
+ }
496
+ catch (e) {
497
+ return (0, grpc_error_js_1.grpcError)('messageImage', e, callback);
498
+ }
499
+ },
500
+ /**
501
+ * @deprecated will be removed after Dec 31, 2022
502
+ */
503
+ messageImageStream: async (call) => {
504
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageImageStream()');
505
+ try {
506
+ const id = call.request.getId();
507
+ const type = call.request.getType();
508
+ const fileBox = await puppet.messageImage(id, type); // as number as PUPPET.types.Image
509
+ const response = await (0, mod_js_1.packFileBoxToPb)(wechaty_grpc_1.puppet.MessageImageStreamResponse)(fileBox);
510
+ response.on('error', e => call.destroy(e));
511
+ response.pipe(call); // Huan(202203) FIXME: as unknown as
512
+ }
513
+ catch (e) {
514
+ config_js_1.log.error('PuppetServiceImpl', 'grpcError() messageImageStream() rejection: %s', e.message);
515
+ call.destroy(e);
516
+ }
517
+ },
518
+ messageLocation: async (call, callback) => {
519
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageLocation()');
520
+ try {
521
+ const id = call.request.getId();
522
+ const payload = await puppet.messageLocation(id);
523
+ const response = new wechaty_grpc_1.puppet.MessageLocationResponse();
524
+ const pbLocationPayload = new wechaty_grpc_1.puppet.LocationPayload();
525
+ pbLocationPayload.setLatitude(payload.latitude);
526
+ pbLocationPayload.setLongitude(payload.longitude);
527
+ pbLocationPayload.setAccuracy(payload.accuracy);
528
+ pbLocationPayload.setAddress(payload.address);
529
+ pbLocationPayload.setName(payload.name);
530
+ response.setLocation(pbLocationPayload);
531
+ return callback(null, response);
532
+ }
533
+ catch (e) {
534
+ return (0, grpc_error_js_1.grpcError)('messageLocation', e, callback);
535
+ }
536
+ },
537
+ messageMiniProgram: async (call, callback) => {
538
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageMiniProgram()');
539
+ try {
540
+ const id = call.request.getId();
541
+ const payload = await puppet.messageMiniProgram(id);
542
+ const response = new wechaty_grpc_1.puppet.MessageMiniProgramResponse();
543
+ const pbMiniProgramPayload = new wechaty_grpc_1.puppet.MiniProgramPayload();
544
+ if (payload.appid) {
545
+ pbMiniProgramPayload.setAppid(payload.appid);
546
+ }
547
+ if (payload.description) {
548
+ pbMiniProgramPayload.setDescription(payload.description);
549
+ }
550
+ if (payload.iconUrl) {
551
+ pbMiniProgramPayload.setIconUrl(payload.iconUrl);
552
+ }
553
+ if (payload.pagePath) {
554
+ pbMiniProgramPayload.setPagePath(payload.pagePath);
555
+ }
556
+ if (payload.shareId) {
557
+ pbMiniProgramPayload.setShareId(payload.shareId);
558
+ }
559
+ if (payload.thumbKey) {
560
+ pbMiniProgramPayload.setThumbKey(payload.thumbKey);
561
+ }
562
+ if (payload.thumbUrl) {
563
+ pbMiniProgramPayload.setThumbUrl(payload.thumbUrl);
564
+ }
565
+ if (payload.title) {
566
+ pbMiniProgramPayload.setTitle(payload.title);
567
+ }
568
+ if (payload.username) {
569
+ pbMiniProgramPayload.setUsername(payload.username);
570
+ }
571
+ response.setMiniProgram(pbMiniProgramPayload);
572
+ // Deprecated after Dec 31, 2022
573
+ response.setMiniProgramDeprecated(JSON.stringify(payload));
574
+ return callback(null, response);
575
+ }
576
+ catch (e) {
577
+ return (0, grpc_error_js_1.grpcError)('messageMiniProgram', e, callback);
578
+ }
579
+ },
580
+ messagePayload: async (call, callback) => {
581
+ config_js_1.log.verbose('PuppetServiceImpl', 'messagePayload()');
582
+ try {
583
+ const id = call.request.getId();
584
+ const payload = await puppet.messagePayload(id);
585
+ const mentionIdList = ('mentionIdList' in payload)
586
+ ? payload.mentionIdList || []
587
+ : [];
588
+ const response = new wechaty_grpc_1.puppet.MessagePayloadResponse();
589
+ response.setFilename(payload.filename || '');
590
+ /**
591
+ * Huan(202203):`payload.fromId` is deprecated, will be removed in v2.0
592
+ */
593
+ response.setTalkerId(payload.talkerId || payload.fromId || '');
594
+ response.setId(payload.id);
595
+ response.setMentionIdsList(mentionIdList);
596
+ response.setRoomId(payload.roomId || '');
597
+ response.setText(payload.text || '');
598
+ response.setReceiveTime((0, timestamp_js_1.timestampFromMilliseconds)(payload.timestamp));
599
+ // Deprecated: will be removed after Dec 31, 2022
600
+ response.setTimestampDeprecated(Math.floor(payload.timestamp));
601
+ /**
602
+ * Huan(202203):`payload.toId` is deprecated, will be removed in v2.0
603
+ */
604
+ response.setListenerId(payload.listenerId || payload.toId || '');
605
+ response.setType(payload.type);
606
+ return callback(null, response);
607
+ }
608
+ catch (e) {
609
+ return (0, grpc_error_js_1.grpcError)('messagePayload', e, callback);
610
+ }
611
+ },
612
+ messageRecall: async (call, callback) => {
613
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageRecall()');
614
+ try {
615
+ const id = call.request.getId();
616
+ const success = await puppet.messageRecall(id);
617
+ const response = new wechaty_grpc_1.puppet.MessageRecallResponse();
618
+ response.setSuccess(success);
619
+ return callback(null, response);
620
+ }
621
+ catch (e) {
622
+ return (0, grpc_error_js_1.grpcError)('messageRecall', e, callback);
623
+ }
624
+ },
625
+ messageSendContact: async (call, callback) => {
626
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageSendContact()');
627
+ try {
628
+ const conversationId = call.request.getConversationId();
629
+ const contactId = call.request.getContactId();
630
+ const messageId = await puppet.messageSendContact(conversationId, contactId);
631
+ const response = new wechaty_grpc_1.puppet.MessageSendContactResponse();
632
+ if (messageId) {
633
+ response.setId(messageId);
634
+ {
635
+ /**
636
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
637
+ */
638
+ const idWrapper = new wechaty_grpc_1.StringValue();
639
+ idWrapper.setValue(messageId);
640
+ response.setIdStringValueDeprecated(idWrapper);
641
+ }
642
+ }
643
+ return callback(null, response);
644
+ }
645
+ catch (e) {
646
+ return (0, grpc_error_js_1.grpcError)('messageSendContact', e, callback);
647
+ }
648
+ },
649
+ messageSendFile: async (call, callback) => {
650
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageSendFile()');
651
+ try {
652
+ const conversationId = call.request.getConversationId();
653
+ const jsonText = call.request.getFileBox();
654
+ const fileBox = FileBoxUuid.fromJSON(jsonText);
655
+ const messageId = await puppet.messageSendFile(conversationId, fileBox);
656
+ const response = new wechaty_grpc_1.puppet.MessageSendFileResponse();
657
+ if (messageId) {
658
+ response.setId(messageId);
659
+ {
660
+ /**
661
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
662
+ */
663
+ const idWrapper = new wechaty_grpc_1.StringValue();
664
+ idWrapper.setValue(messageId);
665
+ response.setIdStringValueDeprecated(idWrapper);
666
+ }
667
+ }
668
+ return callback(null, response);
669
+ }
670
+ catch (e) {
671
+ return (0, grpc_error_js_1.grpcError)('messageSendFile', e, callback);
672
+ }
673
+ },
674
+ /**
675
+ * @deprecated will be removed after Dec 31, 2022
676
+ */
677
+ messageSendFileStream: async (call, callback) => {
678
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageSendFileStream()');
679
+ try {
680
+ const requestArgs = await (0, mod_js_1.unpackConversationIdFileBoxArgsFromPb)(call);
681
+ const conversationId = requestArgs.conversationId;
682
+ const fileBox = requestArgs.fileBox;
683
+ const messageId = await puppet.messageSendFile(conversationId, fileBox);
684
+ const response = new wechaty_grpc_1.puppet.MessageSendFileStreamResponse();
685
+ if (messageId) {
686
+ response.setId(messageId);
687
+ {
688
+ /**
689
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
690
+ */
691
+ const idWrapper = new wechaty_grpc_1.StringValue();
692
+ idWrapper.setValue(messageId);
693
+ response.setIdStringValueDeprecated(idWrapper);
694
+ }
695
+ }
696
+ return callback(null, response);
697
+ }
698
+ catch (e) {
699
+ return (0, grpc_error_js_1.grpcError)('messageSendFileStream', e, callback);
700
+ }
701
+ },
702
+ messageSendLocation: async (call, callback) => {
703
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageSendLocation()');
704
+ try {
705
+ const conversationId = call.request.getConversationId();
706
+ const pbLocationPayload = call.request.getLocation();
707
+ const payload = {
708
+ accuracy: 0,
709
+ address: 'NOADDRESS',
710
+ latitude: 0,
711
+ longitude: 0,
712
+ name: 'NONAME',
713
+ ...pbLocationPayload,
714
+ };
715
+ const messageId = await puppet.messageSendLocation(conversationId, payload);
716
+ const response = new wechaty_grpc_1.puppet.MessageSendLocationResponse();
717
+ if (messageId) {
718
+ response.setId(messageId);
719
+ }
720
+ return callback(null, response);
721
+ }
722
+ catch (e) {
723
+ return (0, grpc_error_js_1.grpcError)('messageSendLocation', e, callback);
724
+ }
725
+ },
726
+ messageSendMiniProgram: async (call, callback) => {
727
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageSendMiniProgram()');
728
+ try {
729
+ const conversationId = call.request.getConversationId();
730
+ let pbMiniProgramPayload = call.request.getMiniProgram()?.toObject();
731
+ if (!pbMiniProgramPayload) {
732
+ // Deprecated: will be removed after Dec 31, 2022
733
+ const jsonText = call.request.getMiniProgramDeprecated();
734
+ pbMiniProgramPayload = JSON.parse(jsonText);
735
+ }
736
+ const payload = {
737
+ ...pbMiniProgramPayload,
738
+ };
739
+ const messageId = await puppet.messageSendMiniProgram(conversationId, payload);
740
+ const response = new wechaty_grpc_1.puppet.MessageSendMiniProgramResponse();
741
+ if (messageId) {
742
+ response.setId(messageId);
743
+ {
744
+ /**
745
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
746
+ */
747
+ const idWrapper = new wechaty_grpc_1.StringValue();
748
+ idWrapper.setValue(messageId);
749
+ response.setIdStringValueDeprecated(idWrapper);
750
+ }
751
+ }
752
+ return callback(null, response);
753
+ }
754
+ catch (e) {
755
+ return (0, grpc_error_js_1.grpcError)('messageSendMiniProgram', e, callback);
756
+ }
757
+ },
758
+ messageSendText: async (call, callback) => {
759
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageSendText()');
760
+ try {
761
+ const conversationId = call.request.getConversationId();
762
+ const text = call.request.getText();
763
+ const mentionIdList = call.request.getMentionalIdsList();
764
+ const messageId = await puppet.messageSendText(conversationId, text, mentionIdList);
765
+ const response = new wechaty_grpc_1.puppet.MessageSendTextResponse();
766
+ if (messageId) {
767
+ response.setId(messageId);
768
+ {
769
+ /**
770
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
771
+ */
772
+ const idWrapper = new wechaty_grpc_1.StringValue();
773
+ idWrapper.setValue(messageId);
774
+ response.setIdStringValueDeprecated(idWrapper);
775
+ }
776
+ }
777
+ return callback(null, response);
778
+ }
779
+ catch (e) {
780
+ return (0, grpc_error_js_1.grpcError)('messageSendText', e, callback);
781
+ }
782
+ },
783
+ messageSendUrl: async (call, callback) => {
784
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageSendUrl()');
785
+ try {
786
+ const conversationId = call.request.getConversationId();
787
+ let pbUrlLinkPayload = call.request.getUrlLink()?.toObject();
788
+ if (!pbUrlLinkPayload) {
789
+ // Deprecated: will be removed after Dec 31, 2022
790
+ const jsonText = call.request.getUrlLinkDeprecated();
791
+ pbUrlLinkPayload = JSON.parse(jsonText);
792
+ }
793
+ const payload = {
794
+ title: 'NOTITLE',
795
+ url: 'NOURL',
796
+ ...pbUrlLinkPayload,
797
+ };
798
+ const messageId = await puppet.messageSendUrl(conversationId, payload);
799
+ const response = new wechaty_grpc_1.puppet.MessageSendUrlResponse();
800
+ if (messageId) {
801
+ response.setId(messageId);
802
+ {
803
+ /**
804
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
805
+ */
806
+ const idWrapper = new wechaty_grpc_1.StringValue();
807
+ idWrapper.setValue(messageId);
808
+ response.setIdStringValueDeprecated(idWrapper);
809
+ }
810
+ }
811
+ return callback(null, response);
812
+ }
813
+ catch (e) {
814
+ return (0, grpc_error_js_1.grpcError)('messageSendUrl', e, callback);
815
+ }
816
+ },
817
+ messageUrl: async (call, callback) => {
818
+ config_js_1.log.verbose('PuppetServiceImpl', 'messageUrl()');
819
+ try {
820
+ const id = call.request.getId();
821
+ const payload = await puppet.messageUrl(id);
822
+ const response = new wechaty_grpc_1.puppet.MessageUrlResponse();
823
+ const pbUrlLinkPayload = new wechaty_grpc_1.puppet.UrlLinkPayload();
824
+ pbUrlLinkPayload.setTitle(payload.title);
825
+ pbUrlLinkPayload.setUrl(payload.url);
826
+ if (payload.thumbnailUrl) {
827
+ pbUrlLinkPayload.setThumbnailUrl(payload.thumbnailUrl);
828
+ }
829
+ if (payload.description) {
830
+ pbUrlLinkPayload.setDescription(payload.description);
831
+ }
832
+ response.setUrlLink(pbUrlLinkPayload);
833
+ // Deprecated: will be removed after Dec 31, 2022
834
+ response.setUrlLinkDeprecated(JSON.stringify(payload));
835
+ return callback(null, response);
836
+ }
837
+ catch (e) {
838
+ return (0, grpc_error_js_1.grpcError)('messageUrl', e, callback);
839
+ }
840
+ },
841
+ roomAdd: async (call, callback) => {
842
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomAdd()');
843
+ try {
844
+ const roomId = call.request.getId();
845
+ const contactId = call.request.getContactId();
846
+ const inviteOnly = call.request.getInviteOnly();
847
+ await puppet.roomAdd(roomId, contactId, inviteOnly);
848
+ return callback(null, new wechaty_grpc_1.puppet.RoomAddResponse());
849
+ }
850
+ catch (e) {
851
+ return (0, grpc_error_js_1.grpcError)('roomAdd', e, callback);
852
+ }
853
+ },
854
+ roomAnnounce: async (call, callback) => {
855
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomAnnounce()');
856
+ try {
857
+ const roomId = call.request.getId();
858
+ /**
859
+ * Set
860
+ */
861
+ if (call.request.hasText()) {
862
+ await puppet.roomAnnounce(roomId, call.request.getText());
863
+ return callback(null, new wechaty_grpc_1.puppet.RoomAnnounceResponse());
864
+ }
865
+ /**
866
+ * Get
867
+ */
868
+ const text = await puppet.roomAnnounce(roomId);
869
+ const response = new wechaty_grpc_1.puppet.RoomAnnounceResponse();
870
+ response.setText(text);
871
+ return callback(null, response);
872
+ }
873
+ catch (e) {
874
+ return (0, grpc_error_js_1.grpcError)('roomAnnounce', e, callback);
875
+ }
876
+ },
877
+ roomAvatar: async (call, callback) => {
878
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomAvatar()');
879
+ try {
880
+ const roomId = call.request.getId();
881
+ const fileBox = await puppet.roomAvatar(roomId);
882
+ const serializedFileBox = await serializeFileBox(fileBox);
883
+ const response = new wechaty_grpc_1.puppet.RoomAvatarResponse();
884
+ response.setFileBox(serializedFileBox);
885
+ return callback(null, response);
886
+ }
887
+ catch (e) {
888
+ return (0, grpc_error_js_1.grpcError)('roomAvatar', e, callback);
889
+ }
890
+ },
891
+ roomCreate: async (call, callback) => {
892
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomCreate()');
893
+ try {
894
+ const contactIdList = call.request.getContactIdsList();
895
+ const topic = call.request.getTopic();
896
+ const roomId = await puppet.roomCreate(contactIdList, topic);
897
+ const response = new wechaty_grpc_1.puppet.RoomCreateResponse();
898
+ response.setId(roomId);
899
+ return callback(null, response);
900
+ }
901
+ catch (e) {
902
+ return (0, grpc_error_js_1.grpcError)('roomCreate', e, callback);
903
+ }
904
+ },
905
+ roomDel: async (call, callback) => {
906
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomDel()');
907
+ try {
908
+ const roomId = call.request.getId();
909
+ const contactId = call.request.getContactId();
910
+ await puppet.roomDel(roomId, contactId);
911
+ return callback(null, new wechaty_grpc_1.puppet.RoomDelResponse());
912
+ }
913
+ catch (e) {
914
+ return (0, grpc_error_js_1.grpcError)('roomDel', e, callback);
915
+ }
916
+ },
917
+ roomInvitationAccept: async (call, callback) => {
918
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomInvitationAccept()');
919
+ try {
920
+ const id = call.request.getId();
921
+ await puppet.roomInvitationAccept(id);
922
+ return callback(null, new wechaty_grpc_1.puppet.RoomInvitationAcceptResponse());
923
+ }
924
+ catch (e) {
925
+ return (0, grpc_error_js_1.grpcError)('roomInvitationAccept', e, callback);
926
+ }
927
+ },
928
+ roomInvitationPayload: async (call, callback) => {
929
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomInvitationPayload()');
930
+ try {
931
+ const roomInvitationId = call.request.getId();
932
+ /**
933
+ * Set
934
+ */
935
+ {
936
+ const jsonText = call.request.getPayload();
937
+ if (jsonText) {
938
+ const payload = JSON.parse(jsonText);
939
+ await puppet.roomInvitationPayload(roomInvitationId, payload);
940
+ return callback(null, new wechaty_grpc_1.puppet.RoomInvitationPayloadResponse());
941
+ }
942
+ {
943
+ /**
944
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
945
+ */
946
+ const payloadWrapper = call.request.getPayloadStringValueDeprecated();
947
+ if (payloadWrapper) {
948
+ const jsonText = payloadWrapper.getValue();
949
+ const payload = JSON.parse(jsonText);
950
+ await puppet.roomInvitationPayload(roomInvitationId, payload);
951
+ return callback(null, new wechaty_grpc_1.puppet.RoomInvitationPayloadResponse());
952
+ }
953
+ }
954
+ }
955
+ /**
956
+ * Get
957
+ */
958
+ const payload = await puppet.roomInvitationPayload(roomInvitationId);
959
+ const response = new wechaty_grpc_1.puppet.RoomInvitationPayloadResponse();
960
+ response.setAvatar(payload.avatar);
961
+ response.setId(payload.id);
962
+ response.setInvitation(payload.invitation);
963
+ response.setInviterId(payload.inviterId);
964
+ response.setReceiverId(payload.receiverId);
965
+ response.setMemberCount(payload.memberCount);
966
+ response.setMemberIdsList(payload.memberIdList);
967
+ response.setReceiveTime((0, timestamp_js_1.timestampFromMilliseconds)(payload.timestamp));
968
+ {
969
+ // Deprecated: will be removed after Dec 31, 2022
970
+ const deprecated = true;
971
+ void deprecated;
972
+ response.setTimestampUint64Deprecated(Math.floor(payload.timestamp));
973
+ }
974
+ response.setTopic(payload.topic);
975
+ return callback(null, response);
976
+ }
977
+ catch (e) {
978
+ return (0, grpc_error_js_1.grpcError)('roomInvitationPayload', e, callback);
979
+ }
980
+ },
981
+ roomList: async (call, callback) => {
982
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomList()');
983
+ void call;
984
+ try {
985
+ const roomIdList = await puppet.roomList();
986
+ const response = new wechaty_grpc_1.puppet.RoomListResponse();
987
+ response.setIdsList(roomIdList);
988
+ return callback(null, response);
989
+ }
990
+ catch (e) {
991
+ return (0, grpc_error_js_1.grpcError)('roomList', e, callback);
992
+ }
993
+ },
994
+ roomMemberList: async (call, callback) => {
995
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomMemberList()');
996
+ try {
997
+ const roomId = call.request.getId();
998
+ const roomMemberIdList = await puppet.roomMemberList(roomId);
999
+ const response = new wechaty_grpc_1.puppet.RoomMemberListResponse();
1000
+ response.setMemberIdsList(roomMemberIdList);
1001
+ return callback(null, response);
1002
+ }
1003
+ catch (e) {
1004
+ return (0, grpc_error_js_1.grpcError)('roomMemberList', e, callback);
1005
+ }
1006
+ },
1007
+ roomMemberPayload: async (call, callback) => {
1008
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomMemberPayload()');
1009
+ try {
1010
+ const roomId = call.request.getId();
1011
+ const memberId = call.request.getMemberId();
1012
+ const payload = await puppet.roomMemberPayload(roomId, memberId);
1013
+ const response = new wechaty_grpc_1.puppet.RoomMemberPayloadResponse();
1014
+ response.setAvatar(payload.avatar);
1015
+ response.setId(payload.id);
1016
+ response.setInviterId(payload.inviterId || '');
1017
+ response.setName(payload.name);
1018
+ response.setRoomAlias(payload.roomAlias || '');
1019
+ return callback(null, response);
1020
+ }
1021
+ catch (e) {
1022
+ return (0, grpc_error_js_1.grpcError)('roomMemberPayload', e, callback);
1023
+ }
1024
+ },
1025
+ roomPayload: async (call, callback) => {
1026
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomPayload()');
1027
+ try {
1028
+ const roomId = call.request.getId();
1029
+ const payload = await puppet.roomPayload(roomId);
1030
+ const response = new wechaty_grpc_1.puppet.RoomPayloadResponse();
1031
+ response.setAdminIdsList(payload.adminIdList);
1032
+ response.setAvatar(payload.avatar || '');
1033
+ response.setHandle(payload.handle || '');
1034
+ response.setId(payload.id);
1035
+ response.setMemberIdsList(payload.memberIdList);
1036
+ response.setOwnerId(payload.ownerId || '');
1037
+ response.setTopic(payload.topic);
1038
+ return callback(null, response);
1039
+ }
1040
+ catch (e) {
1041
+ return (0, grpc_error_js_1.grpcError)('roomPayload', e, callback);
1042
+ }
1043
+ },
1044
+ roomQRCode: async (call, callback) => {
1045
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomQRCode()');
1046
+ try {
1047
+ const roomId = call.request.getId();
1048
+ const qrcode = await puppet.roomQRCode(roomId);
1049
+ const response = new wechaty_grpc_1.puppet.RoomQRCodeResponse();
1050
+ response.setQrcode(qrcode);
1051
+ return callback(null, response);
1052
+ }
1053
+ catch (e) {
1054
+ return (0, grpc_error_js_1.grpcError)('roomQRCode', e, callback);
1055
+ }
1056
+ },
1057
+ roomQuit: async (call, callback) => {
1058
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomQuit()');
1059
+ try {
1060
+ const roomId = call.request.getId();
1061
+ await puppet.roomQuit(roomId);
1062
+ return callback(null, new wechaty_grpc_1.puppet.RoomQuitResponse());
1063
+ }
1064
+ catch (e) {
1065
+ return (0, grpc_error_js_1.grpcError)('roomQuit', e, callback);
1066
+ }
1067
+ },
1068
+ roomTopic: async (call, callback) => {
1069
+ config_js_1.log.verbose('PuppetServiceImpl', 'roomTopic()');
1070
+ try {
1071
+ const roomId = call.request.getId();
1072
+ /**
1073
+ * Set
1074
+ */
1075
+ if (call.request.hasTopic()) {
1076
+ await puppet.roomTopic(roomId, call.request.getTopic());
1077
+ return callback(null, new wechaty_grpc_1.puppet.RoomTopicResponse());
1078
+ }
1079
+ /**
1080
+ * Get
1081
+ */
1082
+ const topic = await puppet.roomTopic(roomId);
1083
+ const response = new wechaty_grpc_1.puppet.RoomTopicResponse();
1084
+ response.setTopic(topic);
1085
+ return callback(null, response);
1086
+ }
1087
+ catch (e) {
1088
+ return (0, grpc_error_js_1.grpcError)('roomTopic', e, callback);
1089
+ }
1090
+ },
1091
+ start: async (call, callback) => {
1092
+ config_js_1.log.verbose('PuppetServiceImpl', 'start()');
1093
+ void call;
1094
+ try {
1095
+ await (0, gerror_1.timeoutPromise)(puppet.start(), 15 * 1000);
1096
+ return callback(null, new wechaty_grpc_1.puppet.StartResponse());
1097
+ }
1098
+ catch (e) {
1099
+ return (0, grpc_error_js_1.grpcError)('start', e, callback);
1100
+ }
1101
+ },
1102
+ stop: async (call, callback) => {
1103
+ config_js_1.log.verbose('PuppetServiceImpl', 'stop()');
1104
+ void call;
1105
+ try {
1106
+ if (eventStreamManager.busy()) {
1107
+ eventStreamManager.stop();
1108
+ }
1109
+ else {
1110
+ config_js_1.log.error('PuppetServiceImpl', 'stop() eventStreamManager is not busy?');
1111
+ }
1112
+ readyPayload = undefined;
1113
+ await (0, gerror_1.timeoutPromise)(puppet.stop(), 15 * 1000);
1114
+ return callback(null, new wechaty_grpc_1.puppet.StopResponse());
1115
+ }
1116
+ catch (e) {
1117
+ return (0, grpc_error_js_1.grpcError)('stop', e, callback);
1118
+ }
1119
+ },
1120
+ tagContactAdd: async (call, callback) => {
1121
+ config_js_1.log.verbose('PuppetServiceImpl', 'tagContactAdd()');
1122
+ try {
1123
+ const tagId = call.request.getId();
1124
+ const contactId = call.request.getContactId();
1125
+ await puppet.tagContactAdd(tagId, contactId);
1126
+ return callback(null, new wechaty_grpc_1.puppet.TagContactAddResponse());
1127
+ }
1128
+ catch (e) {
1129
+ return (0, grpc_error_js_1.grpcError)('tagContactAdd', e, callback);
1130
+ }
1131
+ },
1132
+ tagContactDelete: async (call, callback) => {
1133
+ config_js_1.log.verbose('PuppetServiceImpl', 'tagContactDelete()');
1134
+ try {
1135
+ const tagId = call.request.getId();
1136
+ await puppet.tagContactDelete(tagId);
1137
+ return callback(null, new wechaty_grpc_1.puppet.TagContactDeleteResponse());
1138
+ }
1139
+ catch (e) {
1140
+ return (0, grpc_error_js_1.grpcError)('tagContactDelete', e, callback);
1141
+ }
1142
+ },
1143
+ tagContactList: async (call, callback) => {
1144
+ config_js_1.log.verbose('PuppetServiceImpl', 'tagContactList()');
1145
+ try {
1146
+ const contactId = call.request.getContactId();
1147
+ /**
1148
+ * for a specific contact
1149
+ */
1150
+ if (contactId) {
1151
+ const tagIdList = await puppet.tagContactList(contactId);
1152
+ const response = new wechaty_grpc_1.puppet.TagContactListResponse();
1153
+ response.setIdsList(tagIdList);
1154
+ return callback(null, new wechaty_grpc_1.puppet.TagContactListResponse());
1155
+ }
1156
+ {
1157
+ /**
1158
+ * Huan(202110): Deprecated: will be removed after Dec 31, 2022
1159
+ */
1160
+ const contactIdWrapper = call.request.getContactIdStringValueDeprecated();
1161
+ if (contactIdWrapper) {
1162
+ const contactId = contactIdWrapper.getValue();
1163
+ const tagIdList = await puppet.tagContactList(contactId);
1164
+ const response = new wechaty_grpc_1.puppet.TagContactListResponse();
1165
+ response.setIdsList(tagIdList);
1166
+ return callback(null, new wechaty_grpc_1.puppet.TagContactListResponse());
1167
+ }
1168
+ }
1169
+ /**
1170
+ * get all tags for all contact
1171
+ */
1172
+ const tagIdList = await puppet.tagContactList();
1173
+ const response = new wechaty_grpc_1.puppet.TagContactListResponse();
1174
+ response.setIdsList(tagIdList);
1175
+ return callback(null, response);
1176
+ }
1177
+ catch (e) {
1178
+ return (0, grpc_error_js_1.grpcError)('tagContactList', e, callback);
1179
+ }
1180
+ },
1181
+ tagContactRemove: async (call, callback) => {
1182
+ config_js_1.log.verbose('PuppetServiceImpl', 'tagContactRemove()');
1183
+ try {
1184
+ const tagId = call.request.getId();
1185
+ const contactId = call.request.getContactId();
1186
+ await puppet.tagContactRemove(tagId, contactId);
1187
+ return callback(null, new wechaty_grpc_1.puppet.TagContactRemoveResponse());
1188
+ }
1189
+ catch (e) {
1190
+ return (0, grpc_error_js_1.grpcError)('tagContactRemove', e, callback);
1191
+ }
1192
+ },
1193
+ version: async (call, callback) => {
1194
+ config_js_1.log.verbose('PuppetServiceImpl', 'version() v%s', puppet.version());
1195
+ void call;
1196
+ try {
1197
+ const version = puppet.version();
1198
+ const response = new wechaty_grpc_1.puppet.VersionResponse();
1199
+ response.setVersion(version);
1200
+ return callback(null, response);
1201
+ }
1202
+ catch (e) {
1203
+ return (0, grpc_error_js_1.grpcError)('version', e, callback);
1204
+ }
1205
+ },
1206
+ download: async (call) => {
1207
+ config_js_1.log.verbose('PuppetServiceImpl', 'download()');
1208
+ const uuid = call.request.getId();
1209
+ const fileBox = FileBoxUuid.fromUuid(uuid, { name: 'uuid.dat' });
1210
+ fileBox
1211
+ .pipe((0, wechaty_grpc_1.chunkEncoder)(wechaty_grpc_1.puppet.DownloadResponse))
1212
+ .pipe(call); // Huan(202203) FIXME: as unknown as
1213
+ },
1214
+ upload: async (call, callback) => {
1215
+ config_js_1.log.verbose('PuppetServiceImpl', 'upload()');
1216
+ const fileBox = FileBoxUuid.fromStream(call.pipe((0, wechaty_grpc_1.chunkDecoder)()), 'uuid.dat');
1217
+ const uuid = await fileBox.toUuid();
1218
+ const response = new wechaty_grpc_1.puppet.UploadResponse();
1219
+ response.setId(uuid);
1220
+ return callback(null, response);
1221
+ },
1222
+ };
1223
+ return puppetServerImpl;
1224
+ }
1225
+ exports.puppetImplementation = puppetImplementation;
1226
+ //# sourceMappingURL=puppet-implementation.js.map