@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,3 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ export {};
3
+ //# sourceMappingURL=tests.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests.spec.d.ts","sourceRoot":"","sources":["../../../../../src/client/duck/tests.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ /**
3
+ * Wechaty Open Source Software - https://github.com/wechaty
4
+ *
5
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
6
+ * Wechaty Contributors <https://github.com/wechaty>.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ *
20
+ */
21
+ import { validateDuck } from 'ducks';
22
+ import * as Duck from './mod.js';
23
+ validateDuck(Duck);
24
+ //# sourceMappingURL=tests.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests.spec.js","sourceRoot":"","sources":["../../../../../src/client/duck/tests.spec.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEpC,OAAO,KAAK,IAAI,MAAM,UAAU,CAAA;AAEhC,YAAY,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Wechaty Open Source Software - https://github.com/wechaty
3
+ *
4
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
5
+ * Wechaty Contributors <https://github.com/wechaty>.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+ export declare const NOP = "wechaty-puppet-service/NOP";
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/client/duck/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,GAAG,+BAA+B,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Wechaty Open Source Software - https://github.com/wechaty
3
+ *
4
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
5
+ * Wechaty Contributors <https://github.com/wechaty>.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+ export const NOP = 'wechaty-puppet-service/NOP';
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/client/duck/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,4BAA4B,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Wechaty Open Source Software - https://github.com/wechaty
3
+ *
4
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
5
+ * Wechaty Contributors <https://github.com/wechaty>.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/client/duck/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/client/duck/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import EventEmitter from 'events';
4
+ import { grpc, puppet } from '@juzi/wechaty-grpc';
5
+ import { WechatyToken } from 'wechaty-token';
6
+ import type { PuppetServiceOptions } from './puppet-service.js';
7
+ declare class GrpcManager extends EventEmitter {
8
+ private options;
9
+ protected _client?: puppet.PuppetClient;
10
+ get client(): puppet.PuppetClient;
11
+ eventStream?: grpc.ClientReadableStream<puppet.EventResponse>;
12
+ /**
13
+ * gRPC settings
14
+ */
15
+ caCert: Buffer;
16
+ disableTls: boolean;
17
+ endpoint: string;
18
+ serverName: string;
19
+ token: WechatyToken;
20
+ constructor(options: PuppetServiceOptions);
21
+ start(): Promise<void>;
22
+ stop(): Promise<void>;
23
+ protected initClient(): Promise<void>;
24
+ protected destroyClient(): void;
25
+ protected startStream(): Promise<void>;
26
+ protected stopStream(): void;
27
+ }
28
+ export { GrpcManager, };
29
+ //# sourceMappingURL=grpc-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-manager.d.ts","sourceRoot":"","sources":["../../../../src/client/grpc-manager.ts"],"names":[],"mappings":";;AAoBA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAIjC,OAAO,EACL,IAAI,EACJ,MAAM,EACP,MAA0B,oBAAoB,CAAA;AAI/C,OAAO,EACL,YAAY,EAEb,MAA0B,eAAe,CAAA;AAc1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAU/D,cAAM,WAAY,SAAQ,YAAY;IAqBvB,OAAO,CAAC,OAAO;IAnB5B,SAAS,CAAC,OAAO,CAAC,EAAI,MAAM,CAAC,YAAY,CAAA;IACzC,IAAU,MAAM,IAAM,MAAM,CAAC,YAAY,CAKxC;IAED,WAAW,CAAC,EAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE9D;;OAEG;IACH,MAAM,EAAO,MAAM,CAAA;IACnB,UAAU,EAAG,OAAO,CAAA;IACpB,QAAQ,EAAK,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,KAAK,EAAQ,YAAY,CAAA;gBAEJ,OAAO,EAAE,oBAAoB;IAkE5C,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IA8BvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;cAsCZ,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAqD5C,SAAS,CAAC,aAAa,IAAK,IAAI;cAsBhB,WAAW,IAAK,OAAO,CAAC,IAAI,CAAC;IAqH7C,SAAS,CAAC,UAAU,IAAK,IAAI;CA8B9B;AAED,OAAO,EACL,WAAW,GACZ,CAAA"}
@@ -0,0 +1,353 @@
1
+ /**
2
+ * Wechaty Open Source Software - https://github.com/wechaty
3
+ *
4
+ * @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
5
+ * Wechaty Contributors <https://github.com/wechaty>.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ *
19
+ */
20
+ import util from 'util';
21
+ import EventEmitter from 'events';
22
+ import crypto from 'crypto';
23
+ import { log } from '@juzi/wechaty-puppet';
24
+ import { grpc, puppet, } from '@juzi/wechaty-grpc';
25
+ import { timeoutPromise, } from 'gerror';
26
+ import { WechatyToken, WechatyResolver, } from 'wechaty-token';
27
+ import { GRPC_OPTIONS, envVars, } from '../config.js';
28
+ import { callCredToken } from '../auth/mod.js';
29
+ import { GrpcStatus } from '../auth/grpc-js.js';
30
+ import { TLS_CA_CERT, TLS_INSECURE_SERVER_CERT_COMMON_NAME, } from '../auth/ca.js';
31
+ /**
32
+ * Huan(202108): register `wechaty` schema for gRPC service discovery
33
+ * so that we can use `wechaty:///SNI_UUIDv4` for gRPC address
34
+ *
35
+ * See: https://github.com/wechaty/wechaty-puppet-service/issues/155
36
+ */
37
+ WechatyResolver.setup();
38
+ class GrpcManager extends EventEmitter {
39
+ options;
40
+ _client;
41
+ get client() {
42
+ if (!this._client) {
43
+ throw new Error('NO CLIENT');
44
+ }
45
+ return this._client;
46
+ }
47
+ eventStream;
48
+ /**
49
+ * gRPC settings
50
+ */
51
+ caCert;
52
+ disableTls;
53
+ endpoint;
54
+ serverName;
55
+ token;
56
+ constructor(options) {
57
+ super();
58
+ this.options = options;
59
+ log.verbose('GrpcManager', 'constructor(%s)', JSON.stringify(options));
60
+ this.caCert = Buffer.from(envVars.WECHATY_PUPPET_SERVICE_TLS_CA_CERT(this.options.tls?.caCert) || TLS_CA_CERT);
61
+ log.verbose('GrpcManager', 'constructor() tlsRootCert(hash): "%s"', crypto.createHash('sha256')
62
+ .update(this.caCert)
63
+ .digest('hex'));
64
+ /**
65
+ * Token will be used in the gRPC resolver (in endpoint)
66
+ */
67
+ this.token = new WechatyToken(envVars.WECHATY_PUPPET_SERVICE_TOKEN(this.options.token));
68
+ log.verbose('GrpcManager', 'constructor() token: "%s"', this.token);
69
+ this.endpoint = envVars.WECHATY_PUPPET_SERVICE_ENDPOINT(this.options.endpoint)
70
+ /**
71
+ * Wechaty Token Discovery-able URL
72
+ * See: wechaty-token / https://github.com/wechaty/wechaty-puppet-service/issues/155
73
+ */
74
+ || [
75
+ 'wechaty://',
76
+ envVars.WECHATY_PUPPET_SERVICE_AUTHORITY(this.options.authority),
77
+ '/',
78
+ this.token,
79
+ ].join('');
80
+ log.verbose('GrpcManager', 'constructor() endpoint: "%s"', this.endpoint);
81
+ /**
82
+ * Disable TLS
83
+ */
84
+ this.disableTls = envVars.WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT(this.options.tls?.disable);
85
+ log.verbose('GrpcManager', 'constructor() disableTls: "%s"', this.disableTls);
86
+ /**
87
+ * for Node.js TLS SNI
88
+ * https://en.wikipedia.org/wiki/Server_Name_Indication
89
+ */
90
+ const serverNameIndication = envVars.WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME(this.options.tls?.serverName)
91
+ /**
92
+ * Huan(202108): we use SNI from token
93
+ * if there is
94
+ * neither override from environment variable: `WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME`
95
+ * nor set from: `options.tls.serverName`
96
+ */
97
+ || this.token.sni;
98
+ if (!serverNameIndication) {
99
+ throw new Error([
100
+ 'Wechaty Puppet Service requires a SNI as prefix of the token from version 0.30 and later.',
101
+ `You can add the "${TLS_INSECURE_SERVER_CERT_COMMON_NAME}_" prefix to your token`,
102
+ `like: "${TLS_INSECURE_SERVER_CERT_COMMON_NAME}_${this.token}"`,
103
+ 'and try again.',
104
+ ].join('\n'));
105
+ }
106
+ this.serverName = serverNameIndication;
107
+ log.verbose('GrpcManager', 'constructor() serverName(SNI): "%s"', this.serverName);
108
+ }
109
+ async start() {
110
+ log.verbose('GrpcManager', 'start()');
111
+ /**
112
+ * 1. Init grpc client
113
+ */
114
+ log.verbose('GrpcManager', 'start() initializing client ...');
115
+ await this.initClient();
116
+ log.verbose('GrpcManager', 'start() initializing client ... done');
117
+ /**
118
+ * 2. Connect to stream
119
+ */
120
+ log.verbose('GrpcManager', 'start() starting stream ...');
121
+ await this.startStream();
122
+ log.verbose('GrpcManager', 'start() starting stream ... done');
123
+ /**
124
+ * 3. Start the puppet
125
+ */
126
+ log.verbose('GrpcManager', 'start() calling grpc server: start() ...');
127
+ await util.promisify(this.client.start
128
+ .bind(this.client))(new puppet.StartRequest());
129
+ log.verbose('GrpcManager', 'start() calling grpc server: start() ... done');
130
+ log.verbose('GrpcManager', 'start() ... done');
131
+ }
132
+ async stop() {
133
+ log.verbose('GrpcManager', 'stop()');
134
+ /**
135
+ * 1. Disconnect from stream
136
+ */
137
+ log.verbose('GrpcManager', 'stop() stop stream ...');
138
+ this.stopStream();
139
+ log.verbose('GrpcManager', 'stop() stop stream ... done');
140
+ /**
141
+ * 2. Stop the puppet
142
+ */
143
+ try {
144
+ log.verbose('GrpcManager', 'stop() stop client ...');
145
+ await util.promisify(this.client.stop
146
+ .bind(this.client))(new puppet.StopRequest());
147
+ log.verbose('GrpcManager', 'stop() stop client ... done');
148
+ }
149
+ catch (e) {
150
+ this.emit('error', e);
151
+ }
152
+ /**
153
+ * 3. Destroy grpc client
154
+ */
155
+ try {
156
+ log.verbose('GrpcManager', 'stop() destroy client ...');
157
+ this.destroyClient();
158
+ log.verbose('GrpcManager', 'stop() destroy client ... done');
159
+ }
160
+ catch (e) {
161
+ this.emit('error', e);
162
+ }
163
+ log.verbose('GrpcManager', 'stop() ... done');
164
+ }
165
+ async initClient() {
166
+ log.verbose('GrpcManager', 'initClient()');
167
+ /**
168
+ * Huan(202108): for maximum compatible with the non-tls community servers/clients,
169
+ * we introduced the WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_{SERVER,CLIENT} environment variables.
170
+ * if it has been set, then we will run under HTTP instead of HTTPS
171
+ */
172
+ let credential;
173
+ if (this.disableTls) {
174
+ log.warn('GrpcManager', 'initClient() TLS: disabled (INSECURE)');
175
+ credential = grpc.credentials.createInsecure();
176
+ }
177
+ else {
178
+ log.verbose('GrpcManager', 'initClient() TLS: enabled');
179
+ const callCred = callCredToken(this.token.token);
180
+ const channelCred = grpc.credentials.createSsl(this.caCert);
181
+ const combCreds = grpc.credentials.combineChannelCredentials(channelCred, callCred);
182
+ credential = combCreds;
183
+ }
184
+ const clientOptions = {
185
+ ...GRPC_OPTIONS,
186
+ 'grpc.ssl_target_name_override': this.serverName,
187
+ };
188
+ {
189
+ // Deprecated: this block will be removed after Dec 21, 2022.
190
+ /**
191
+ * Huan(202108): `grpc.default_authority` is a workaround
192
+ * for compatiblity with the non-tls community servers/clients.
193
+ *
194
+ * See: https://github.com/wechaty/wechaty-puppet-service/pull/78
195
+ */
196
+ const grpcDefaultAuthority = this.token.token;
197
+ clientOptions['grpc.default_authority'] = grpcDefaultAuthority;
198
+ }
199
+ if (this._client) {
200
+ log.warn('GrpcManager', 'initClient() this.#client exists? Old client has been dropped.');
201
+ this._client = undefined;
202
+ }
203
+ this._client = new puppet.PuppetClient(this.endpoint, credential, clientOptions);
204
+ log.verbose('GrpcManager', 'initClient() ... done');
205
+ }
206
+ destroyClient() {
207
+ log.verbose('GrpcManager', 'destroyClient()');
208
+ if (!this._client) {
209
+ log.warn('GrpcManager', 'destroyClient() this.#client not exist');
210
+ return;
211
+ }
212
+ const client = this._client;
213
+ /**
214
+ * Huan(202108): we should set `this.client` to `undefined` at the current event loop
215
+ * to prevent the future usage of the old client.
216
+ */
217
+ this._client = undefined;
218
+ try {
219
+ client.close();
220
+ }
221
+ catch (e) {
222
+ log.error('GrpcManager', 'destroyClient() client.close() rejection: %s\n%s', e && e.message, e.stack);
223
+ }
224
+ }
225
+ async startStream() {
226
+ log.verbose('GrpcManager', 'startStream()');
227
+ if (this.eventStream) {
228
+ log.verbose('GrpcManager', 'startStream() this.eventStream exists, dropped.');
229
+ this.eventStream = undefined;
230
+ }
231
+ log.verbose('GrpcManager', 'startStream() grpc -> event() ...');
232
+ const eventStream = this.client.event(new puppet.EventRequest());
233
+ log.verbose('GrpcManager', 'startStream() grpc -> event() ... done');
234
+ /**
235
+ * Store the event data from the stream when we test connection,
236
+ * and re-emit the event data when we have finished testing the connection
237
+ */
238
+ let peekedData;
239
+ /**
240
+ * Huan(202108): future must be placed before other listenser registration
241
+ * because the on('data') will start drain the stream
242
+ */
243
+ const future = new Promise((resolve, reject) => eventStream
244
+ /**
245
+ * Huan(202108): we need a `heartbeat` event to confirm the connection is alive
246
+ * for our wechaty-puppet-service server code, when the gRPC event stream is opened,
247
+ * it will emit a `heartbeat` event as early as possible.
248
+ *
249
+ * However, the `heartbeat` event is not guaranteed to be emitted,
250
+ * if the puppet service provider is coming from the community, like:
251
+ * - paimon
252
+ *
253
+ * So we also need a timeout for compatible with those providers
254
+ * in case of they are not following this special protocol.
255
+ */
256
+ .once('data', (resp) => {
257
+ peekedData = resp;
258
+ resolve();
259
+ })
260
+ /**
261
+ * Any of the following events will be emitted means that there's a problem.
262
+ */
263
+ .once('cancel', reject)
264
+ .once('end', reject)
265
+ .once('error', reject)
266
+ /**
267
+ * The `status` event is import when we connect a gRPC stream.
268
+ *
269
+ * Huan(202108): according to the unit tests (tests/grpc-client.spec.ts)
270
+ * 1. If client TLS is not ok (client no-tls but server TLS is required)
271
+ * then status will be:
272
+ * { code: 14, details: 'Connection dropped' }
273
+ * 2. If client TLS is ok but the client token is invalid,
274
+ * then status will be:
275
+ * { code: 16, details: 'Invalid Wechaty TOKEN "0.XXX"' }
276
+ */
277
+ .once('status', status => {
278
+ // console.info('once(status)', status)
279
+ status.code === GrpcStatus.OK
280
+ ? resolve()
281
+ : reject(new Error('once(status)'));
282
+ }));
283
+ /**
284
+ * Huan(202108): the `heartbeat` event is not guaranteed to be emitted
285
+ * if a puppet service provider is coming from the community, it might not follow the protocol specification.
286
+ * So we need a timeout for compatible with those providers
287
+ */
288
+ log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ...');
289
+ try {
290
+ await timeoutPromise(future, 5 * 1000); // 5 seconds
291
+ }
292
+ catch (_) {
293
+ log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ... timeout');
294
+ }
295
+ log.verbose('GrpcManager', 'startStream() grpc -> event peeking data or timeout ... data peeked');
296
+ /**
297
+ * Bridge the events
298
+ * Huan(202108): adding the below event listeners
299
+ * must be after the `await future` above,
300
+ * so that if there's any `error` event,
301
+ * it will be triggered already.
302
+ */
303
+ log.verbose('GrpcManager', 'startStream() initializing event stream ...');
304
+ eventStream
305
+ .on('cancel', (...args) => this.emit('cancel', ...args))
306
+ .on('data', (...args) => this.emit('data', ...args))
307
+ .on('end', (...args) => this.emit('end', ...args))
308
+ .on('error', (...args) => this.emit('error', ...args))
309
+ .on('metadata', (...args) => this.emit('metadata', ...args))
310
+ .on('status', (...args) => this.emit('status', ...args));
311
+ this.eventStream = eventStream;
312
+ log.verbose('GrpcManager', 'startStream() initializing event stream ... done');
313
+ /**
314
+ * Re-emit the peeked data if there's any
315
+ */
316
+ if (peekedData) {
317
+ log.verbose('GrpcManager', 'startStream() sending back the peeked data ...');
318
+ this.emit('data', peekedData);
319
+ peekedData = undefined;
320
+ log.verbose('GrpcManager', 'startStream() sending back the peeked data ... done');
321
+ }
322
+ log.verbose('GrpcManager', 'startStream() ... done');
323
+ }
324
+ stopStream() {
325
+ log.verbose('GrpcManager', 'stopStream()');
326
+ if (!this.eventStream) {
327
+ log.verbose('GrpcManager', 'stopStream() no eventStream when stop, skip destroy.');
328
+ return;
329
+ }
330
+ /**
331
+ * Huan(202108): we should set `this.eventStream` to `undefined` at the current event loop
332
+ * to prevent the future usage of the old eventStream.
333
+ */
334
+ const eventStream = this.eventStream;
335
+ this.eventStream = undefined;
336
+ /**
337
+ * Huan(202003):
338
+ * destroy() will be enough to terminate a stream call.
339
+ * cancel() is not needed.
340
+ */
341
+ // this.eventStream.cancel()
342
+ try {
343
+ log.verbose('GrpcManager', 'stopStream() destroying event stream ...');
344
+ eventStream.destroy();
345
+ log.verbose('GrpcManager', 'stopStream() destroying event stream ... done');
346
+ }
347
+ catch (e) {
348
+ this.emit('error', e);
349
+ }
350
+ }
351
+ }
352
+ export { GrpcManager, };
353
+ //# sourceMappingURL=grpc-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-manager.js","sourceRoot":"","sources":["../../../../src/client/grpc-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ export {};
3
+ //# sourceMappingURL=grpc-manager.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-manager.spec.d.ts","sourceRoot":"","sources":["../../../../src/client/grpc-manager.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ import { test } from 'tstest';
3
+ import { GrpcManager } from './grpc-manager.js';
4
+ /**
5
+ * Huan(202108):
6
+ * the Server Name Identifier (SNI) in the token
7
+ * is required by the gRPC client.
8
+ */
9
+ test('GrpcManager smoke testing', async (t) => {
10
+ t.throws(() => new GrpcManager({
11
+ token: 'UUIDv4',
12
+ }), 'should throw if there is no SNI prefix in token');
13
+ t.doesNotThrow(() => new GrpcManager({
14
+ token: 'SNI_UUIDv4',
15
+ }), 'should not throw if there is SNI prefix in token');
16
+ });
17
+ //# sourceMappingURL=grpc-manager.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-manager.spec.js","sourceRoot":"","sources":["../../../../src/client/grpc-manager.spec.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAO,QAAQ,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;GAIG;AACH,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,WAAW,CAAC;QAC7B,KAAK,EAAE,QAAQ;KAChB,CAAC,EAAE,iDAAiD,CAAC,CAAA;IAEtD,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,WAAW,CAAC;QACnC,KAAK,EAAE,YAAY;KACpB,CAAC,EAAE,kDAAkD,CAAC,CAAA;AACzD,CAAC,CAAC,CAAA"}
@@ -0,0 +1,26 @@
1
+ import type * as PUPPET from '@juzi/wechaty-puppet';
2
+ import { FlashStore } from 'flash-store';
3
+ interface PayloadStoreOptions {
4
+ token: string;
5
+ }
6
+ interface StoreRoomMemberPayload {
7
+ [roomMemberContactId: string]: PUPPET.payloads.RoomMember;
8
+ }
9
+ declare class PayloadStore {
10
+ private options;
11
+ contact?: FlashStore<string, PUPPET.payloads.Contact>;
12
+ roomMember?: FlashStore<string, StoreRoomMemberPayload>;
13
+ room?: FlashStore<string, PUPPET.payloads.Room>;
14
+ protected storeDir: string;
15
+ protected accountId?: string;
16
+ constructor(options: PayloadStoreOptions);
17
+ /**
18
+ * When starting the store, we need to know the accountId
19
+ * so that we can save the payloads under a specific account folder.
20
+ */
21
+ start(accountId: string): Promise<void>;
22
+ stop(): Promise<void>;
23
+ destroy(): Promise<void>;
24
+ }
25
+ export { PayloadStore };
26
+ //# sourceMappingURL=payload-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload-store.d.ts","sourceRoot":"","sources":["../../../../src/client/payload-store.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AASxC,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,sBAAsB;IAC9B,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAA;CAC1D;AAED,cAAM,YAAY;IAWH,OAAO,CAAC,OAAO;IAPrB,OAAO,CAAC,EAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACzD,UAAU,CAAC,EAAG,UAAU,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IACxD,IAAI,CAAC,EAAS,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE7D,SAAS,CAAC,QAAQ,EAAI,MAAM,CAAA;IAC5B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEP,OAAO,EAAE,mBAAmB;IAajD;;;OAGG;IACG,KAAK,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCxC,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IA0BtB,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;CAgBhC;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}