@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,65 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tstest_1 = require("tstest");
5
+ const grpc_js_js_1 = require("./grpc-js.js");
6
+ const auth_impl_token_js_1 = require("./auth-impl-token.js");
7
+ (0, tstest_1.test)('authImplToken()', async (t) => {
8
+ const sandbox = tstest_1.sinon.createSandbox();
9
+ const spy = sandbox.spy();
10
+ const TOKEN = 'UUIDv4';
11
+ const IMPL = {
12
+ spy,
13
+ };
14
+ const implWithAuth = (0, auth_impl_token_js_1.authImplToken)(TOKEN)(IMPL);
15
+ const validMetadata = new grpc_js_js_1.Metadata();
16
+ validMetadata.add('Authorization', 'Wechaty ' + TOKEN);
17
+ const TEST_LIST = [
18
+ {
19
+ call: {
20
+ metadata: validMetadata,
21
+ },
22
+ callback: sandbox.spy(),
23
+ ok: true,
24
+ },
25
+ {
26
+ call: {
27
+ metadata: new grpc_js_js_1.Metadata(),
28
+ },
29
+ callback: sandbox.spy(),
30
+ ok: false,
31
+ },
32
+ {
33
+ call: {
34
+ emit: sandbox.spy(),
35
+ metadata: new grpc_js_js_1.Metadata(),
36
+ },
37
+ callback: undefined,
38
+ ok: false,
39
+ },
40
+ ];
41
+ const method = implWithAuth['spy'];
42
+ for (const { call, callback, ok } of TEST_LIST) {
43
+ spy.resetHistory();
44
+ method(call, callback);
45
+ if (ok) {
46
+ t.ok(spy.calledOnce, 'should call IMPL handler');
47
+ continue;
48
+ }
49
+ /**
50
+ * not ok
51
+ */
52
+ t.ok(spy.notCalled, 'should not call IMPL handler');
53
+ if (callback) {
54
+ t.equal(callback.args[0][0].code, grpc_js_js_1.GrpcStatus.UNAUTHENTICATED, 'should return UNAUTHENTICATED');
55
+ }
56
+ else {
57
+ t.equal(call.emit.args[0][0], 'error', 'should emit error');
58
+ t.equal(call.emit.args[0][1].code, grpc_js_js_1.GrpcStatus.UNAUTHENTICATED, 'should emit UNAUTHENTICATED');
59
+ }
60
+ // console.info(spy.args)
61
+ // console.info(callback?.args)
62
+ }
63
+ sandbox.restore();
64
+ });
65
+ //# sourceMappingURL=auth-impl-token.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-impl-token.spec.js","sourceRoot":"","sources":["../../../../src/auth/auth-impl-token.spec.ts"],"names":[],"mappings":";;;AAEA,mCAGuB;AAEvB,6CAIuD;AAEvD,6DAAoD;AAEpD,IAAA,aAAI,EAAC,iBAAiB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChC,MAAM,OAAO,GAAG,cAAK,CAAC,aAAa,EAAE,CAAA;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,MAAM,KAAK,GAAG,QAAQ,CAAA;IACtB,MAAM,IAAI,GAAiC;QACzC,GAAG;KACJ,CAAA;IAED,MAAM,YAAY,GAAG,IAAA,kCAAa,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,aAAa,GAAG,IAAI,qBAAQ,EAAE,CAAA;IACpC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,GAAG,KAAK,CAAC,CAAA;IAEtD,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE;gBACJ,QAAQ,EAAE,aAAa;aACjB;YACR,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;YACvB,EAAE,EAAE,IAAI;SACT;QACD;YACE,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,qBAAQ,EAAE;aAClB;YACR,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE;YACvB,EAAE,EAAE,KAAK;SACV;QACD;YACE,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;gBACnB,QAAQ,EAAE,IAAI,qBAAQ,EAAE;aAClB;YACR,QAAQ,EAAE,SAAS;YACnB,EAAE,EAAE,KAAK;SACV;KACO,CAAA;IAEV,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAE,CAAA;IAEnC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE;QAC9C,GAAG,CAAC,YAAY,EAAE,CAAA;QAElB,MAAM,CAAC,IAAI,EAAE,QAAe,CAAC,CAAA;QAE7B,IAAI,EAAE,EAAE;YACN,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAA;YAChD,SAAQ;SACT;QAED;;YAEI;QACJ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAA;QACnD,IAAI,QAAQ,EAAE;YACZ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,uBAAU,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAA;SAChG;aAAM;YACL,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;YAC3D,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,uBAAU,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAA;SAC9F;QAED,yBAAyB;QACzB,+BAA+B;KAChC;IACD,OAAO,CAAC,OAAO,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Wechaty Certificate Authority Repo:
3
+ * https://github.com/wechaty/dotenv/tree/main/ca
4
+ *
5
+ * The SSL_ROOT_CERT is a root certificate generated by and for wechaty community.
6
+ *
7
+ * Because it's the default root cert for the puppet service,
8
+ * so all the Polyglot Wechaty SDK should set this cert to be trusted by default.
9
+ *
10
+ * Update:
11
+ * - Huan(202108): init, expired in 3650 days (after 2031/07)
12
+ */
13
+ declare const TLS_CA_CERT = "-----BEGIN CERTIFICATE-----\n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\n-----END CERTIFICATE-----";
14
+ /**
15
+ * Huan(202108): This private key is NOT SAFE!
16
+ *
17
+ * WARNING: This CA is not safe for production.
18
+ * **use environment variables to set your safe CA data**
19
+ *
20
+ * Our system use this private key for server by default for convience.
21
+ * However, everyone can get this key and use it to see the traffic between client and server.
22
+ *
23
+ * For security, we should not use this key in production
24
+ * by setting it manually by
25
+ * either the environment variable `WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY`
26
+ * or `options.tlsServerKey`
27
+ *
28
+ * So does the below `TLS_SERVER_CERT_UNSAFE`
29
+ */
30
+ declare const TLS_INSECURE_SERVER_KEY = "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAtdFTXAKLW16uqNokJmSowbGtwnCvsPSqIHcdbKgdcuNpaJsZ\nDTeBP0/XHFvnXcekHOyzncYgluxijzMSD1S8AKo3c2fROgem+E+WMSLYAZSTV48p\nuzTRLoypvfhKfqxsrmpct2F6tRTIQ/EABOs0TYP0dY3Nd8NkCEWBmv7ioPDek/a4\nesdisN7R1Ea6jx7ToegSwjkP9aFr2XHxyqR5wjJn/Q6nYZC9A90CKdxJ2WpXtluT\nxFfFfqOhR/1te5/LpqXtqxo2yOwu8k67fHub1FyLu9sAYhcsuSjHVHxbK3nPf0mN\nGt0RiSwRj84qzbpfwrjMYrAJ3EqKrlxZurmX0wIDAQABAoIBAAcG+SbUPligtzV1\ngPIu78rUuDeMrW20dyLcF7oMYV8AZSGS5Qv6ujcdOd4xuyaHwdMQXvzZHIdYyZJp\nUehfyQhpi80dFRweEZkFUnPBugGNoYg/00gWCYO4EhNylkaBGY5ANCcuUFTRYdAm\nb27BPHtGf1tPyMI5PhOHxDOeaFn6BKB1pcG4mQ+CNieadYxjgPcInh6mAqgJ40cR\nncWgLgSdChijLlVLW9lFVA+OAqv57vT3xW+Op1r7nBiigj67tka57spZTIEhrLXI\nZFMyRKQXlxh/l82vLmnYAhvSp/hHbARLwWfQ/znsFvTc/HXvXPocpZ2B9f0tlZ0W\ndqOHSwkCgYEA3zJYAC5Afw3UKuAyApWOyI3AX+noq6ze8B3jFWEPmNdJrZpjLpzp\nmntnWC8Wq0t821uiQXYlGUzF/pIg0rzVdPbc2VTdwKl+iptuCn3fC+LCTJKroRLq\n2a6GDhtmV2g0SEaNdbJt1Zfwr0KyXLNwK+ZdJxhS44vfTCRB4YBsFw0CgYEA0Ioe\npcRBEyCJud8ZJnSN/HiOQ9kCIsnd8Pk4D7q+DGWY6lLGQddhlkp9Ah7yRIGJVg91\nD6t5BfpiU8DRGFiEGMo+XWEKjLfRTxg03lBQYACJc2crgFRuG8GFuO/WQ1b9ihR5\nnsdLc9cGIm6rFXaUsnLIN9IJhJg4BmFD1U9usl8CgYEArIN+D02wnkOzDRzSqrqs\nbQlbewcRxrfMbS28moa2Bn3Ivf1J0fqIeNYPL9Ldo7KqI+Z0yEIoNKDpnHWYFyrL\nlidE1lrJN6QKYdn3OPbHUqmHYqYvMEWt7mj9xqOY+9BYMNEPf7xVNrXE28IimJI9\nDkF1GMWtM6GmC3Uu0rxvT3UCgYEAgroCylGDpbThAXa8cmHgXCNKs3eHIj2/dn8U\nSK/80RKjUEkBZWbaEvew87Jols9JQ3y/GkqYvEmgd/ZIXWWnsU6e17Ssg1f7ywRW\nqAJa0EOl5oUHPRQwTg/7ftpCS8Zte7CoKQOv5fcmLlGHyBWk01Sm9G8jbk5p2H4C\nouZ/cysCgYBqZHm6eg0tjwFPJJWgmAMdNvBlnIuW1t5dwa7B2F6ONveUTBBAxGLc\nZBVdEBseBPki5i7M7eNKNTEA3EM+Cfsfsp5U/S8ntDmzzaMoBhb+jBRor39l3+iG\nqXI72DDvrh802t6KO9W6CQIfpVcxLeOy82RfUP1pHQ/sMPkx89Fd5A==\n-----END RSA PRIVATE KEY-----";
31
+ declare const TLS_INSECURE_SERVER_CERT = "-----BEGIN CERTIFICATE-----\nMIIEVTCCAj0CAQEwDQYJKoZIhvcNAQELBQAwcjELMAkGA1UEBhMCVVMxFjAUBgNV\nBAgMDVNhbiBGcmFuY2lzY28xEjAQBgNVBAcMCVBhbG8gQWx0bzEQMA4GA1UECgwH\nV2VjaGF0eTELMAkGA1UECwwCQ0ExGDAWBgNVBAMMD3dlY2hhdHktcm9vdC1jYTAe\nFw0yMTA4MjQxODMwMjBaFw0zMTA4MjIxODMwMjBaMG8xCzAJBgNVBAYTAlVTMRYw\nFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRIwEAYDVQQHDAlQYWxvIEFsdG8xEDAOBgNV\nBAoMB1dlY2hhdHkxDzANBgNVBAsMBlB1cHBldDERMA8GA1UEAwwIaW5zZWN1cmUw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC10VNcAotbXq6o2iQmZKjB\nsa3CcK+w9Kogdx1sqB1y42lomxkNN4E/T9ccW+ddx6Qc7LOdxiCW7GKPMxIPVLwA\nqjdzZ9E6B6b4T5YxItgBlJNXjym7NNEujKm9+Ep+rGyualy3YXq1FMhD8QAE6zRN\ng/R1jc13w2QIRYGa/uKg8N6T9rh6x2Kw3tHURrqPHtOh6BLCOQ/1oWvZcfHKpHnC\nMmf9DqdhkL0D3QIp3EnZale2W5PEV8V+o6FH/W17n8umpe2rGjbI7C7yTrt8e5vU\nXIu72wBiFyy5KMdUfFsrec9/SY0a3RGJLBGPzirNul/CuMxisAncSoquXFm6uZfT\nAgMBAAEwDQYJKoZIhvcNAQELBQADggIBALyPgW0VLlQfkgsNovyLg+zkF7oJZCvM\nHS7m43abZb1H1xUH6Kd/sUFTQCAAPop/n4773iH0KggWtoPjkid1G1s/UWK6A0F1\nIxRp0DYLgZfL/U+PQxe175ViYRLPUKj1YwagjX6HvM5bUMEYDnIypEH2UFIrD39J\n69Q6M8hZ85oFDAo2hRqrjJo66c3+ygmXSCFIL64gsVLZkK3SHRAv3R90+blNgmo5\nYvh2xqvGuspd1Y3yzeOQreimJkMeDr/t/xucws1TK7fqMjlk/36W4S95xT7EYykf\nrQ+1cDIJvGdVU/lod0/lWcOvqMtyf6wIjzFJaGAoqS5QT2IeeXQYbhq9bZIBQzth\nIfvfdHuijUqOhT8LX8TYXPWVR/UEKItqktdvA7PXuHUdDxU3ldcXsjA+m9jVO81i\ngIOUJQuBR/tImNnLFaTooO6RB71lBB1XCo8HvWPu47MPjxuf/Y+1frPzuP8LFMWj\nbjw0QcwFUik8v+mSiPHhOIfzp0EQlFtlncTr+k0MFuRKokl0Yrs8jXOt30JC4tKS\nGKXupLWnWE3Z15L9uk9zSAskL2T8LwnctaiMP0+mzf8gWchxUaHkk0yGj4gtNVyU\niJZfrWYwBY9y4SUjp6A7pLspw+i+jIO/EmcX2jbFt1LaajRgEw+uGvNMXhHqtsHC\nWqE+fOGDBUET\n-----END CERTIFICATE-----";
32
+ /**
33
+ * Common Name:
34
+ * - Server Name Indication (SNI)
35
+ * - Case insensitive
36
+ *
37
+ * Wechaty Token format: `${SNI}/${UUIDv4}`
38
+ *
39
+ * Huan(202108): the CA generated by Wechaty Puppet Service
40
+ * default set to this value:
41
+ *
42
+ * grpc.ssl_target_name_override: 'insecure'
43
+ */
44
+ declare const TLS_INSECURE_SERVER_CERT_COMMON_NAME = "insecure";
45
+ export { TLS_CA_CERT, TLS_INSECURE_SERVER_CERT_COMMON_NAME, TLS_INSECURE_SERVER_CERT, TLS_INSECURE_SERVER_KEY, };
46
+ //# sourceMappingURL=ca.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca.d.ts","sourceRoot":"","sources":["../../../../src/auth/ca.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,WAAW,ijEAgCS,CAAA;AAE1B;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,uBAAuB,6qDA0BC,CAAA;AAE9B,QAAA,MAAM,wBAAwB,ujDAyBJ,CAAA;AAE1B;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,oCAAoC,aAAa,CAAA;AAEvD,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,wBAAwB,EACxB,uBAAuB,GACxB,CAAA"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TLS_INSECURE_SERVER_KEY = exports.TLS_INSECURE_SERVER_CERT = exports.TLS_INSECURE_SERVER_CERT_COMMON_NAME = exports.TLS_CA_CERT = void 0;
4
+ /**
5
+ * Wechaty Certificate Authority Repo:
6
+ * https://github.com/wechaty/dotenv/tree/main/ca
7
+ *
8
+ * The SSL_ROOT_CERT is a root certificate generated by and for wechaty community.
9
+ *
10
+ * Because it's the default root cert for the puppet service,
11
+ * so all the Polyglot Wechaty SDK should set this cert to be trusted by default.
12
+ *
13
+ * Update:
14
+ * - Huan(202108): init, expired in 3650 days (after 2031/07)
15
+ */
16
+ const TLS_CA_CERT = `-----BEGIN CERTIFICATE-----
17
+ MIIFxTCCA62gAwIBAgIUYddLAoa8JnLzJ80l2u5vGuFsaEIwDQYJKoZIhvcNAQEL
18
+ BQAwcjELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xEjAQBgNV
19
+ BAcMCVBhbG8gQWx0bzEQMA4GA1UECgwHV2VjaGF0eTELMAkGA1UECwwCQ0ExGDAW
20
+ BgNVBAMMD3dlY2hhdHktcm9vdC1jYTAeFw0yMTA4MDkxNTQ4NTJaFw0zMTA4MDcx
21
+ NTQ4NTJaMHIxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRIw
22
+ EAYDVQQHDAlQYWxvIEFsdG8xEDAOBgNVBAoMB1dlY2hhdHkxCzAJBgNVBAsMAkNB
23
+ MRgwFgYDVQQDDA93ZWNoYXR5LXJvb3QtY2EwggIiMA0GCSqGSIb3DQEBAQUAA4IC
24
+ DwAwggIKAoICAQDulLjOZhzQ58TSQ7TfWNYgdtWhlc+5L9MnKb1nznVRhzAkZo3Q
25
+ rPLRW/HDjlv2OEbt4nFLaQgaMmc1oJTUVGDBDlrzesI/lJh7z4eA/B0z8eW7f6Cw
26
+ /TGc8lgzHvq7UIE507QYPhvfSejfW4Prw+90HJnuodriPdMGS0n9AR37JPdQm6sD
27
+ iMFeEvhHmM2SXRo/o7bll8UDZi81DoFu0XuTCx0esfCX1W5QWEmAJ5oAdjWxJ23C
28
+ lxI1+EjwBQKXGqp147VP9+pwpYW5Xxpy870kctPBHKjCAti8Bfo+Y6dyWz2UAd4w
29
+ 4BFRD+18C/TgX+ECl1s9fsHMY15JitcSGgAIz8gQX1OelECaTMRTQfNaSnNW4LdS
30
+ sXMQEI9WxAU/W47GCQFmwcJeZvimqDF1QtflHSaARD3O8tlbduYqTR81LJ63bPoy
31
+ 9e1pdB6w2bVOTlHunE0YaGSJERALVc1xz40QpPGcZ52mNCb3PBg462RQc77yv/QB
32
+ x/P2RC1y0zDUF2tP9J29gTatWq6+D4MhfEk2flZNyzAgJbDuT6KAIJGzOB1ZJ/MG
33
+ o1gS13eTuZYw24LElrhd1PrR6OHK+lkyYzqUPYMulUg4HzaZIDclfHKwAC4lecKm
34
+ zC5q9jJB4m4SKMKdzxvpIOfdahoqsZMg34l4AavWRqPTpwEU0C0dboNA/QIDAQAB
35
+ o1MwUTAdBgNVHQ4EFgQU0rey3QPklTOgdhMJ9VIA6KbZ5bAwHwYDVR0jBBgwFoAU
36
+ 0rey3QPklTOgdhMJ9VIA6KbZ5bAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
37
+ AQsFAAOCAgEAx2uyShx9kLoB1AJ8x7Vf95v6PX95L/4JkJ1WwzJ9Dlf3BcCI7VH7
38
+ Fp1dnQ6Ig7mFqSBDBAUUBWAptAnuqIDcgehI6XAEKxW8ZZRxD877pUNwZ/45tSC4
39
+ b5U5y9uaiNK7oC3LlDCsB0291b3KSOtevMeDFoh12LcliXAkdIGGTccUxrH+Cyij
40
+ cBOc+EKGJFBdLqcjLDU4M6QdMMMFOdfXyAOSpYuWGYqrxqvxQjAjvianEyMpNZWM
41
+ lajggJqiPhfF67sZTB2yzvRTmtHdUq7x+iNOVonOBcCHu31aGxa9Py91XEr9jaIQ
42
+ EBdl6sycLxKo8mxF/5tyUOns9+919aWNqTOUBmI15D68bqhhOVNyvsb7aVURIt5y
43
+ 6A7Sj4gSBR9P22Ba6iFZgbvfLn0zKLzjlBonUGlSPf3rSIYUkawICtDyYPvK5mi3
44
+ mANgIChMiOw6LYCPmmUVVAWU/tDy36kr9ZV9YTIZRYAkWswsJB340whjuzvZUVaG
45
+ DgW45GPR6bGIwlFZeqCwXLput8Z3C8Sw9bE9vjlB2ZCpjPLmWV/WbDlH3J3uDjgt
46
+ 9PoALW0sOPhHfYklH4/rrmsSWMYTUuGS/HqxrEER1vpIOOb0hIiAWENDT/mruq22
47
+ VqO8MHX9ebjInSxPmhYOlrSZrOgEcogyMB4Z0SOtKVqPnkWmdR5hatU=
48
+ -----END CERTIFICATE-----`;
49
+ exports.TLS_CA_CERT = TLS_CA_CERT;
50
+ /**
51
+ * Huan(202108): This private key is NOT SAFE!
52
+ *
53
+ * WARNING: This CA is not safe for production.
54
+ * **use environment variables to set your safe CA data**
55
+ *
56
+ * Our system use this private key for server by default for convience.
57
+ * However, everyone can get this key and use it to see the traffic between client and server.
58
+ *
59
+ * For security, we should not use this key in production
60
+ * by setting it manually by
61
+ * either the environment variable `WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY`
62
+ * or `options.tlsServerKey`
63
+ *
64
+ * So does the below `TLS_SERVER_CERT_UNSAFE`
65
+ */
66
+ const TLS_INSECURE_SERVER_KEY = `-----BEGIN RSA PRIVATE KEY-----
67
+ MIIEpAIBAAKCAQEAtdFTXAKLW16uqNokJmSowbGtwnCvsPSqIHcdbKgdcuNpaJsZ
68
+ DTeBP0/XHFvnXcekHOyzncYgluxijzMSD1S8AKo3c2fROgem+E+WMSLYAZSTV48p
69
+ uzTRLoypvfhKfqxsrmpct2F6tRTIQ/EABOs0TYP0dY3Nd8NkCEWBmv7ioPDek/a4
70
+ esdisN7R1Ea6jx7ToegSwjkP9aFr2XHxyqR5wjJn/Q6nYZC9A90CKdxJ2WpXtluT
71
+ xFfFfqOhR/1te5/LpqXtqxo2yOwu8k67fHub1FyLu9sAYhcsuSjHVHxbK3nPf0mN
72
+ Gt0RiSwRj84qzbpfwrjMYrAJ3EqKrlxZurmX0wIDAQABAoIBAAcG+SbUPligtzV1
73
+ gPIu78rUuDeMrW20dyLcF7oMYV8AZSGS5Qv6ujcdOd4xuyaHwdMQXvzZHIdYyZJp
74
+ UehfyQhpi80dFRweEZkFUnPBugGNoYg/00gWCYO4EhNylkaBGY5ANCcuUFTRYdAm
75
+ b27BPHtGf1tPyMI5PhOHxDOeaFn6BKB1pcG4mQ+CNieadYxjgPcInh6mAqgJ40cR
76
+ ncWgLgSdChijLlVLW9lFVA+OAqv57vT3xW+Op1r7nBiigj67tka57spZTIEhrLXI
77
+ ZFMyRKQXlxh/l82vLmnYAhvSp/hHbARLwWfQ/znsFvTc/HXvXPocpZ2B9f0tlZ0W
78
+ dqOHSwkCgYEA3zJYAC5Afw3UKuAyApWOyI3AX+noq6ze8B3jFWEPmNdJrZpjLpzp
79
+ mntnWC8Wq0t821uiQXYlGUzF/pIg0rzVdPbc2VTdwKl+iptuCn3fC+LCTJKroRLq
80
+ 2a6GDhtmV2g0SEaNdbJt1Zfwr0KyXLNwK+ZdJxhS44vfTCRB4YBsFw0CgYEA0Ioe
81
+ pcRBEyCJud8ZJnSN/HiOQ9kCIsnd8Pk4D7q+DGWY6lLGQddhlkp9Ah7yRIGJVg91
82
+ D6t5BfpiU8DRGFiEGMo+XWEKjLfRTxg03lBQYACJc2crgFRuG8GFuO/WQ1b9ihR5
83
+ nsdLc9cGIm6rFXaUsnLIN9IJhJg4BmFD1U9usl8CgYEArIN+D02wnkOzDRzSqrqs
84
+ bQlbewcRxrfMbS28moa2Bn3Ivf1J0fqIeNYPL9Ldo7KqI+Z0yEIoNKDpnHWYFyrL
85
+ lidE1lrJN6QKYdn3OPbHUqmHYqYvMEWt7mj9xqOY+9BYMNEPf7xVNrXE28IimJI9
86
+ DkF1GMWtM6GmC3Uu0rxvT3UCgYEAgroCylGDpbThAXa8cmHgXCNKs3eHIj2/dn8U
87
+ SK/80RKjUEkBZWbaEvew87Jols9JQ3y/GkqYvEmgd/ZIXWWnsU6e17Ssg1f7ywRW
88
+ qAJa0EOl5oUHPRQwTg/7ftpCS8Zte7CoKQOv5fcmLlGHyBWk01Sm9G8jbk5p2H4C
89
+ ouZ/cysCgYBqZHm6eg0tjwFPJJWgmAMdNvBlnIuW1t5dwa7B2F6ONveUTBBAxGLc
90
+ ZBVdEBseBPki5i7M7eNKNTEA3EM+Cfsfsp5U/S8ntDmzzaMoBhb+jBRor39l3+iG
91
+ qXI72DDvrh802t6KO9W6CQIfpVcxLeOy82RfUP1pHQ/sMPkx89Fd5A==
92
+ -----END RSA PRIVATE KEY-----`;
93
+ exports.TLS_INSECURE_SERVER_KEY = TLS_INSECURE_SERVER_KEY;
94
+ const TLS_INSECURE_SERVER_CERT = `-----BEGIN CERTIFICATE-----
95
+ MIIEVTCCAj0CAQEwDQYJKoZIhvcNAQELBQAwcjELMAkGA1UEBhMCVVMxFjAUBgNV
96
+ BAgMDVNhbiBGcmFuY2lzY28xEjAQBgNVBAcMCVBhbG8gQWx0bzEQMA4GA1UECgwH
97
+ V2VjaGF0eTELMAkGA1UECwwCQ0ExGDAWBgNVBAMMD3dlY2hhdHktcm9vdC1jYTAe
98
+ Fw0yMTA4MjQxODMwMjBaFw0zMTA4MjIxODMwMjBaMG8xCzAJBgNVBAYTAlVTMRYw
99
+ FAYDVQQIDA1TYW4gRnJhbmNpc2NvMRIwEAYDVQQHDAlQYWxvIEFsdG8xEDAOBgNV
100
+ BAoMB1dlY2hhdHkxDzANBgNVBAsMBlB1cHBldDERMA8GA1UEAwwIaW5zZWN1cmUw
101
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC10VNcAotbXq6o2iQmZKjB
102
+ sa3CcK+w9Kogdx1sqB1y42lomxkNN4E/T9ccW+ddx6Qc7LOdxiCW7GKPMxIPVLwA
103
+ qjdzZ9E6B6b4T5YxItgBlJNXjym7NNEujKm9+Ep+rGyualy3YXq1FMhD8QAE6zRN
104
+ g/R1jc13w2QIRYGa/uKg8N6T9rh6x2Kw3tHURrqPHtOh6BLCOQ/1oWvZcfHKpHnC
105
+ Mmf9DqdhkL0D3QIp3EnZale2W5PEV8V+o6FH/W17n8umpe2rGjbI7C7yTrt8e5vU
106
+ XIu72wBiFyy5KMdUfFsrec9/SY0a3RGJLBGPzirNul/CuMxisAncSoquXFm6uZfT
107
+ AgMBAAEwDQYJKoZIhvcNAQELBQADggIBALyPgW0VLlQfkgsNovyLg+zkF7oJZCvM
108
+ HS7m43abZb1H1xUH6Kd/sUFTQCAAPop/n4773iH0KggWtoPjkid1G1s/UWK6A0F1
109
+ IxRp0DYLgZfL/U+PQxe175ViYRLPUKj1YwagjX6HvM5bUMEYDnIypEH2UFIrD39J
110
+ 69Q6M8hZ85oFDAo2hRqrjJo66c3+ygmXSCFIL64gsVLZkK3SHRAv3R90+blNgmo5
111
+ Yvh2xqvGuspd1Y3yzeOQreimJkMeDr/t/xucws1TK7fqMjlk/36W4S95xT7EYykf
112
+ rQ+1cDIJvGdVU/lod0/lWcOvqMtyf6wIjzFJaGAoqS5QT2IeeXQYbhq9bZIBQzth
113
+ IfvfdHuijUqOhT8LX8TYXPWVR/UEKItqktdvA7PXuHUdDxU3ldcXsjA+m9jVO81i
114
+ gIOUJQuBR/tImNnLFaTooO6RB71lBB1XCo8HvWPu47MPjxuf/Y+1frPzuP8LFMWj
115
+ bjw0QcwFUik8v+mSiPHhOIfzp0EQlFtlncTr+k0MFuRKokl0Yrs8jXOt30JC4tKS
116
+ GKXupLWnWE3Z15L9uk9zSAskL2T8LwnctaiMP0+mzf8gWchxUaHkk0yGj4gtNVyU
117
+ iJZfrWYwBY9y4SUjp6A7pLspw+i+jIO/EmcX2jbFt1LaajRgEw+uGvNMXhHqtsHC
118
+ WqE+fOGDBUET
119
+ -----END CERTIFICATE-----`;
120
+ exports.TLS_INSECURE_SERVER_CERT = TLS_INSECURE_SERVER_CERT;
121
+ /**
122
+ * Common Name:
123
+ * - Server Name Indication (SNI)
124
+ * - Case insensitive
125
+ *
126
+ * Wechaty Token format: `${SNI}/${UUIDv4}`
127
+ *
128
+ * Huan(202108): the CA generated by Wechaty Puppet Service
129
+ * default set to this value:
130
+ *
131
+ * grpc.ssl_target_name_override: 'insecure'
132
+ */
133
+ const TLS_INSECURE_SERVER_CERT_COMMON_NAME = 'insecure'; // case insensitive
134
+ exports.TLS_INSECURE_SERVER_CERT_COMMON_NAME = TLS_INSECURE_SERVER_CERT_COMMON_NAME;
135
+ //# sourceMappingURL=ca.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca.js","sourceRoot":"","sources":["../../../../src/auth/ca.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAgCM,CAAA;AAwFxB,kCAAW;AAtFb;;;;;;;;;;;;;;;GAeG;AACH,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;8BA0BF,CAAA;AA+C5B,0DAAuB;AA7CzB,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;0BAyBP,CAAA;AAmBxB,4DAAwB;AAjB1B;;;;;;;;;;;GAWG;AACH,MAAM,oCAAoC,GAAG,UAAU,CAAA,CAAC,mBAAmB;AAIzE,oFAAoC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ export {};
3
+ //# sourceMappingURL=ca.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca.spec.d.ts","sourceRoot":"","sources":["../../../../src/auth/ca.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const tstest_1 = require("tstest");
31
+ const https_1 = __importDefault(require("https"));
32
+ const envVar = __importStar(require("./env-vars.js"));
33
+ const ca_js_1 = require("./ca.js");
34
+ (0, tstest_1.test)('CA smoke testing', async (t) => {
35
+ const ca = envVar.WECHATY_PUPPET_SERVICE_TLS_CA_CERT() || ca_js_1.TLS_CA_CERT;
36
+ const cert = envVar.WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT() || ca_js_1.TLS_INSECURE_SERVER_CERT;
37
+ const key = envVar.WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY() || ca_js_1.TLS_INSECURE_SERVER_KEY;
38
+ const server = https_1.default.createServer({
39
+ cert,
40
+ key,
41
+ });
42
+ const ALIVE = 'Alive!\n';
43
+ server.on('request', (_req, res) => {
44
+ res.writeHead(200);
45
+ res.end(ALIVE);
46
+ });
47
+ server.listen();
48
+ const port = server.address().port;
49
+ const reply = await new Promise((resolve, reject) => {
50
+ https_1.default.request({
51
+ ca,
52
+ hostname: '127.0.0.1',
53
+ method: 'GET',
54
+ path: '/',
55
+ port,
56
+ servername: ca_js_1.TLS_INSECURE_SERVER_CERT_COMMON_NAME,
57
+ }, res => {
58
+ res.on('data', chunk => resolve(chunk.toString()));
59
+ res.on('error', reject);
60
+ }).end();
61
+ });
62
+ server.close();
63
+ t.equal(reply, ALIVE, 'should get https server reply');
64
+ });
65
+ (0, tstest_1.test)('CA SNI tests', async (t) => {
66
+ const ca = envVar.WECHATY_PUPPET_SERVICE_TLS_CA_CERT() || ca_js_1.TLS_CA_CERT;
67
+ const cert = envVar.WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT() || ca_js_1.TLS_INSECURE_SERVER_CERT;
68
+ const key = envVar.WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY() || ca_js_1.TLS_INSECURE_SERVER_KEY;
69
+ const server = https_1.default.createServer({
70
+ cert,
71
+ key,
72
+ });
73
+ server.on('request', (_req, res) => {
74
+ res.writeHead(200);
75
+ res.end(ALIVE);
76
+ });
77
+ server.listen();
78
+ const port = server.address().port;
79
+ const ALIVE = 'Alive!\n';
80
+ const SNI_TEST_LIST = [
81
+ [
82
+ ca_js_1.TLS_INSECURE_SERVER_CERT_COMMON_NAME,
83
+ true,
84
+ ],
85
+ [
86
+ 'invalid-sni',
87
+ false,
88
+ "Hostname/IP does not match certificate's altnames: Host: invalid-sni. is not cert's CN: insecure",
89
+ ],
90
+ ];
91
+ for (const [SNI, EXPECT, MSG] of SNI_TEST_LIST) {
92
+ const result = await new Promise((resolve, reject) => {
93
+ https_1.default.request({
94
+ ca,
95
+ hostname: '127.0.0.1',
96
+ method: 'GET',
97
+ path: '/',
98
+ port,
99
+ servername: SNI,
100
+ }, res => {
101
+ res.on('data', chunk => resolve(chunk.toString() === ALIVE));
102
+ res.on('error', reject);
103
+ })
104
+ .on('error', e => {
105
+ // console.info(e.message)
106
+ t.equal(e.message, MSG, 'should get the error for invalid SNI: ' + SNI);
107
+ resolve(false);
108
+ })
109
+ .end();
110
+ });
111
+ t.equal(result, EXPECT, 'should check the SNI: ' + SNI);
112
+ }
113
+ server.close();
114
+ });
115
+ //# sourceMappingURL=ca.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca.spec.js","sourceRoot":"","sources":["../../../../src/auth/ca.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CallMetadataGenerator } from './grpc-js.js';
2
+ /**
3
+ * With server authentication SSL/TLS and a custom header with token
4
+ * https://grpc.io/docs/guides/auth/#with-server-authentication-ssltls-and-a-custom-header-with-token-1
5
+ */
6
+ declare const metaGeneratorToken: (token: string) => CallMetadataGenerator;
7
+ declare const callCredToken: (token: string) => import("@grpc/grpc-js").CallCredentials;
8
+ export { callCredToken, metaGeneratorToken, };
9
+ //# sourceMappingURL=call-cred.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-cred.d.ts","sourceRoot":"","sources":["../../../../src/auth/call-cred.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAEtB,MAA8B,cAAc,CAAA;AAE7C;;;GAGG;AACH,QAAA,MAAM,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,qBAI5C,CAAA;AAED,QAAA,MAAM,aAAa,UAAW,MAAM,4CAAuE,CAAA;AAE3G,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,CAAA"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.metaGeneratorToken = exports.callCredToken = void 0;
4
+ const grpc_js_js_1 = require("./grpc-js.js");
5
+ /**
6
+ * With server authentication SSL/TLS and a custom header with token
7
+ * https://grpc.io/docs/guides/auth/#with-server-authentication-ssltls-and-a-custom-header-with-token-1
8
+ */
9
+ const metaGeneratorToken = token => (_params, callback) => {
10
+ const meta = new grpc_js_js_1.Metadata();
11
+ meta.add('authorization', `Wechaty ${token}`);
12
+ callback(null, meta);
13
+ };
14
+ exports.metaGeneratorToken = metaGeneratorToken;
15
+ const callCredToken = (token) => grpc_js_js_1.credentials.createFromMetadataGenerator(metaGeneratorToken(token));
16
+ exports.callCredToken = callCredToken;
17
+ //# sourceMappingURL=call-cred.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-cred.js","sourceRoot":"","sources":["../../../../src/auth/call-cred.ts"],"names":[],"mappings":";;;AAAA,6CAI6C;AAE7C;;;GAGG;AACH,MAAM,kBAAkB,GAA6C,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;IAClG,MAAM,IAAI,GAAG,IAAI,qBAAQ,EAAE,CAAA;IAC3B,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,KAAK,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACtB,CAAC,CAAA;AAMC,gDAAkB;AAJpB,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,wBAAW,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAGzG,sCAAa"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ export {};
3
+ //# sourceMappingURL=call-cred.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-cred.spec.d.ts","sourceRoot":"","sources":["../../../../src/auth/call-cred.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tstest_1 = require("tstest");
5
+ const call_cred_js_1 = require("./call-cred.js");
6
+ (0, tstest_1.test)('metaGeneratorToken()', async (t) => {
7
+ const TOKEN = 'UUIDv4';
8
+ const EXPECTED_AUTHORIZATION = `Wechaty ${TOKEN}`;
9
+ const sandbox = tstest_1.sinon.createSandbox();
10
+ const spy = sandbox.spy();
11
+ const metaGenerator = (0, call_cred_js_1.metaGeneratorToken)(TOKEN);
12
+ metaGenerator({}, spy);
13
+ t.equal(spy.args[0][0], null, 'should no error');
14
+ const metadata = spy.args[0][1];
15
+ const authorization = metadata.get('Authorization')[0];
16
+ t.equal(authorization, EXPECTED_AUTHORIZATION, 'should generate authorization in metadata');
17
+ });
18
+ //# sourceMappingURL=call-cred.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-cred.spec.js","sourceRoot":"","sources":["../../../../src/auth/call-cred.spec.ts"],"names":[],"mappings":";;;AAEA,mCAGuB;AAEvB,iDAAmD;AAEnD,IAAA,aAAI,EAAC,sBAAsB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAA;IACtB,MAAM,sBAAsB,GAAG,WAAW,KAAK,EAAE,CAAA;IAEjD,MAAM,OAAO,GAAG,cAAK,CAAC,aAAa,EAAE,CAAA;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,MAAM,aAAa,GAAG,IAAA,iCAAkB,EAAC,KAAK,CAAC,CAAA;IAE/C,aAAa,CAAC,EAAS,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAEjD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA;IAChC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,sBAAsB,EAAE,2CAA2C,CAAC,CAAA;AAC7F,CAAC,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Environment variables containing newlines in Node?
3
+ * `replace(/\\n/g, '\n')`
4
+ * https://stackoverflow.com/a/36439803/1123955
5
+ */
6
+ declare const WECHATY_PUPPET_SERVICE_TLS_CA_CERT: (v?: string) => string | undefined;
7
+ declare const WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT: (v?: string) => string | undefined;
8
+ declare const WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY: (v?: string) => string | undefined;
9
+ declare const WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME: (v?: string) => string | undefined;
10
+ declare const WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER: (v?: boolean) => boolean;
11
+ declare const WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT: (v?: boolean) => boolean;
12
+ export { WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT, WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER, WECHATY_PUPPET_SERVICE_TLS_CA_CERT, WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT, WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY, WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME, };
13
+ //# sourceMappingURL=env-vars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-vars.d.ts","sourceRoot":"","sources":["../../../../src/auth/env-vars.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,QAAA,MAAM,kCAAkC,OAAQ,MAAM,uBACsB,CAAA;AAE5E,QAAA,MAAM,sCAAsC,OAAQ,MAAM,uBACsB,CAAA;AAEhF,QAAA,MAAM,qCAAqC,OAAQ,MAAM,uBACsB,CAAA;AAE/E,QAAA,MAAM,sCAAsC,OAAQ,MAAM,uBACsB,CAAA;AAEhF,QAAA,MAAM,6CAA6C,OAAQ,OAAO,YAE7D,CAAA;AACL,QAAA,MAAM,6CAA6C,OAAQ,OAAO,YAE7D,CAAA;AAEL,OAAO,EACL,6CAA6C,EAC7C,6CAA6C,EAC7C,kCAAkC,EAClC,sCAAsC,EACtC,qCAAqC,EACrC,sCAAsC,GACvC,CAAA"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME = exports.WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY = exports.WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT = exports.WECHATY_PUPPET_SERVICE_TLS_CA_CERT = exports.WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER = exports.WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT = void 0;
4
+ /**
5
+ * Environment variables containing newlines in Node?
6
+ * `replace(/\\n/g, '\n')`
7
+ * https://stackoverflow.com/a/36439803/1123955
8
+ */
9
+ const WECHATY_PUPPET_SERVICE_TLS_CA_CERT = (v) => v
10
+ || process.env['WECHATY_PUPPET_SERVICE_TLS_CA_CERT']?.replace(/\\n/g, '\n');
11
+ exports.WECHATY_PUPPET_SERVICE_TLS_CA_CERT = WECHATY_PUPPET_SERVICE_TLS_CA_CERT;
12
+ const WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT = (v) => v
13
+ || process.env['WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT']?.replace(/\\n/g, '\n');
14
+ exports.WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT = WECHATY_PUPPET_SERVICE_TLS_SERVER_CERT;
15
+ const WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY = (v) => v
16
+ || process.env['WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY']?.replace(/\\n/g, '\n');
17
+ exports.WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY = WECHATY_PUPPET_SERVICE_TLS_SERVER_KEY;
18
+ const WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME = (v) => v
19
+ || process.env['WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME']?.replace(/\\n/g, '\n');
20
+ exports.WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME = WECHATY_PUPPET_SERVICE_TLS_SERVER_NAME;
21
+ const WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER = (v) => typeof v === 'undefined'
22
+ ? process.env['WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER'] === 'true'
23
+ : v;
24
+ exports.WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER = WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER;
25
+ const WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT = (v) => typeof v === 'undefined'
26
+ ? process.env['WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT'] === 'true'
27
+ : v;
28
+ exports.WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT = WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT;
29
+ //# sourceMappingURL=env-vars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-vars.js","sourceRoot":"","sources":["../../../../src/auth/env-vars.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAM,kCAAkC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;OACxD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAqB1E,gFAAkC;AAnBpC,MAAM,sCAAsC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;OAC5D,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAmB9E,wFAAsC;AAjBxC,MAAM,qCAAqC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;OAC3D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAiB7E,sFAAqC;AAfvC,MAAM,sCAAsC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;OAC5D,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAe9E,wFAAsC;AAbxC,MAAM,6CAA6C,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW;IAC7F,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,KAAK,MAAM;IACzE,CAAC,CAAC,CAAC,CAAA;AAOH,sGAA6C;AAN/C,MAAM,6CAA6C,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW;IAC7F,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,KAAK,MAAM;IACzE,CAAC,CAAC,CAAC,CAAA;AAGH,sGAA6C"}
@@ -0,0 +1,7 @@
1
+ import { credentials, StatusBuilder, UntypedHandleCall, Metadata, UntypedServiceImplementation } from '@grpc/grpc-js';
2
+ import type { sendUnaryData, ServerUnaryCall } from '@grpc/grpc-js/build/src/server-call.js';
3
+ import type { CallMetadataGenerator } from '@grpc/grpc-js/build/src/call-credentials.js';
4
+ import { Status as GrpcStatus } from '@grpc/grpc-js/build/src/constants.js';
5
+ export type { UntypedServiceImplementation, UntypedHandleCall, sendUnaryData, ServerUnaryCall, CallMetadataGenerator, };
6
+ export { credentials, GrpcStatus, Metadata, StatusBuilder, };
7
+ //# sourceMappingURL=grpc-js.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-js.d.ts","sourceRoot":"","sources":["../../../../src/auth/grpc-js.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,4BAA4B,EAC7B,MAAsC,eAAe,CAAA;AACtD,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAsC,wCAAwC,CAAA;AAC/E,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAsC,6CAA6C,CAAA;AACpF,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAU,sCAAsC,CAAA;AAE/E,YAAY,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,CAAA;AACD,OAAO,EACL,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,GACd,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatusBuilder = exports.Metadata = exports.GrpcStatus = exports.credentials = void 0;
4
+ const grpc_js_1 = require("@grpc/grpc-js");
5
+ Object.defineProperty(exports, "credentials", { enumerable: true, get: function () { return grpc_js_1.credentials; } });
6
+ Object.defineProperty(exports, "StatusBuilder", { enumerable: true, get: function () { return grpc_js_1.StatusBuilder; } });
7
+ Object.defineProperty(exports, "Metadata", { enumerable: true, get: function () { return grpc_js_1.Metadata; } });
8
+ const constants_js_1 = require("@grpc/grpc-js/build/src/constants.js");
9
+ Object.defineProperty(exports, "GrpcStatus", { enumerable: true, get: function () { return constants_js_1.Status; } });
10
+ //# sourceMappingURL=grpc-js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-js.js","sourceRoot":"","sources":["../../../../src/auth/grpc-js.ts"],"names":[],"mappings":";;;AAAA,2CAMsD;AAkBpD,4FAvBA,qBAAW,OAuBA;AAGX,8FAzBA,uBAAa,OAyBA;AADb,yFAtBA,kBAAQ,OAsBA;AAZV,uEAA+E;AAW7E,2FAXiB,qBAAU,OAWjB"}
@@ -0,0 +1,5 @@
1
+ import { authImplToken } from './auth-impl-token.js';
2
+ import { monkeyPatchMetadataFromHttp2Headers } from './mokey-patch-header-authorization.js';
3
+ import { callCredToken } from './call-cred.js';
4
+ export { authImplToken, callCredToken, monkeyPatchMetadataFromHttp2Headers, };
5
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/auth/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAA2C,sBAAsB,CAAA;AACzF,OAAO,EAAE,mCAAmC,EAAE,MAAqB,uCAAuC,CAAA;AAC1G,OAAO,EAAE,aAAa,EAAE,MAA2C,gBAAgB,CAAA;AAEnF,OAAO,EACL,aAAa,EACb,aAAa,EACb,mCAAmC,GACpC,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.monkeyPatchMetadataFromHttp2Headers = exports.callCredToken = exports.authImplToken = void 0;
4
+ const auth_impl_token_js_1 = require("./auth-impl-token.js");
5
+ Object.defineProperty(exports, "authImplToken", { enumerable: true, get: function () { return auth_impl_token_js_1.authImplToken; } });
6
+ const mokey_patch_header_authorization_js_1 = require("./mokey-patch-header-authorization.js");
7
+ Object.defineProperty(exports, "monkeyPatchMetadataFromHttp2Headers", { enumerable: true, get: function () { return mokey_patch_header_authorization_js_1.monkeyPatchMetadataFromHttp2Headers; } });
8
+ const call_cred_js_1 = require("./call-cred.js");
9
+ Object.defineProperty(exports, "callCredToken", { enumerable: true, get: function () { return call_cred_js_1.callCredToken; } });
10
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/auth/mod.ts"],"names":[],"mappings":";;;AAAA,6DAAyF;AAKvF,8FALO,kCAAa,OAKP;AAJf,+FAA0G;AAMxG,oHANO,yEAAmC,OAMP;AALrC,iDAAmF;AAIjF,8FAJO,4BAAa,OAIP"}
@@ -0,0 +1,11 @@
1
+ import type { Metadata } from './grpc-js.js';
2
+ /**
3
+ * Huan(202108): This is for compatible with old clients (version v0.26 or before)
4
+ * for non-tls authorization:
5
+ * use the HTTP2 header `:authority` as the token.
6
+ *
7
+ * This feature is planed to be removed after Dec 31, 2022
8
+ */
9
+ declare function monkeyPatchMetadataFromHttp2Headers(MetadataClass: typeof Metadata): () => void;
10
+ export { monkeyPatchMetadataFromHttp2Headers, };
11
+ //# sourceMappingURL=mokey-patch-header-authorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mokey-patch-header-authorization.d.ts","sourceRoot":"","sources":["../../../../src/auth/mokey-patch-header-authorization.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EACT,MAAkB,cAAc,CAAA;AAEjC;;;;;;GAMG;AACH,iBAAS,mCAAmC,CAC1C,aAAa,EAAE,OAAO,QAAQ,GAC7B,MAAM,IAAI,CAuBZ;AAED,OAAO,EACL,mCAAmC,GACpC,CAAA"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.monkeyPatchMetadataFromHttp2Headers = void 0;
4
+ const wechaty_puppet_1 = require("@juzi/wechaty-puppet");
5
+ /**
6
+ * Huan(202108): This is for compatible with old clients (version v0.26 or before)
7
+ * for non-tls authorization:
8
+ * use the HTTP2 header `:authority` as the token.
9
+ *
10
+ * This feature is planed to be removed after Dec 31, 2022
11
+ */
12
+ function monkeyPatchMetadataFromHttp2Headers(MetadataClass) {
13
+ wechaty_puppet_1.log.verbose('wechaty-puppet-service', 'monkeyPatchMetadataFromHttp2Headers()');
14
+ const fromHttp2Headers = MetadataClass.fromHttp2Headers;
15
+ MetadataClass.fromHttp2Headers = function (headers) {
16
+ const metadata = fromHttp2Headers.call(MetadataClass, headers);
17
+ if (metadata.get('authorization').length <= 0) {
18
+ const authority = headers[':authority'];
19
+ const authorization = `Wechaty ${authority}`;
20
+ metadata.set('authorization', authorization);
21
+ }
22
+ return metadata;
23
+ };
24
+ /**
25
+ * un-monkey-patch
26
+ */
27
+ return () => {
28
+ MetadataClass.fromHttp2Headers = fromHttp2Headers;
29
+ };
30
+ }
31
+ exports.monkeyPatchMetadataFromHttp2Headers = monkeyPatchMetadataFromHttp2Headers;
32
+ //# sourceMappingURL=mokey-patch-header-authorization.js.map