@ardennguyen/zalo-agent-cli 1.0.7 → 2.1.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 (1275) hide show
  1. package/DISCLAIMER.md +2 -2
  2. package/LICENSE +456 -21
  3. package/NOTICE +127 -0
  4. package/README.md +169 -70
  5. package/node_modules/asynckit/LICENSE +21 -0
  6. package/node_modules/asynckit/README.md +233 -0
  7. package/node_modules/asynckit/bench.js +76 -0
  8. package/node_modules/asynckit/index.js +6 -0
  9. package/node_modules/asynckit/lib/abort.js +29 -0
  10. package/node_modules/asynckit/lib/async.js +34 -0
  11. package/node_modules/asynckit/lib/defer.js +26 -0
  12. package/node_modules/asynckit/lib/iterate.js +75 -0
  13. package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  14. package/node_modules/asynckit/lib/readable_parallel.js +25 -0
  15. package/node_modules/asynckit/lib/readable_serial.js +25 -0
  16. package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  17. package/node_modules/asynckit/lib/state.js +37 -0
  18. package/node_modules/asynckit/lib/streamify.js +141 -0
  19. package/node_modules/asynckit/lib/terminator.js +29 -0
  20. package/node_modules/asynckit/package.json +63 -0
  21. package/node_modules/asynckit/parallel.js +43 -0
  22. package/node_modules/asynckit/serial.js +17 -0
  23. package/node_modules/asynckit/serialOrdered.js +75 -0
  24. package/node_modules/asynckit/stream.js +21 -0
  25. package/node_modules/bignumber.js/CHANGELOG.md +381 -0
  26. package/node_modules/bignumber.js/LICENCE.md +26 -0
  27. package/node_modules/bignumber.js/README.md +289 -0
  28. package/node_modules/bignumber.js/bignumber.d.mts +6 -0
  29. package/node_modules/bignumber.js/bignumber.d.ts +5 -0
  30. package/node_modules/bignumber.js/bignumber.js +2922 -0
  31. package/node_modules/bignumber.js/bignumber.mjs +2907 -0
  32. package/node_modules/bignumber.js/doc/API.html +2249 -0
  33. package/node_modules/bignumber.js/package.json +60 -0
  34. package/node_modules/bignumber.js/types.d.ts +1821 -0
  35. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  36. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  37. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  38. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  39. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  40. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  41. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  42. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  43. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  44. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  45. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  46. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  47. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  48. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  49. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  50. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  51. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  52. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  53. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  54. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  55. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  56. package/node_modules/combined-stream/License +19 -0
  57. package/node_modules/combined-stream/Readme.md +138 -0
  58. package/node_modules/combined-stream/lib/combined_stream.js +208 -0
  59. package/node_modules/combined-stream/package.json +25 -0
  60. package/node_modules/crypto-js/CONTRIBUTING.md +28 -0
  61. package/node_modules/crypto-js/LICENSE +24 -0
  62. package/node_modules/crypto-js/README.md +275 -0
  63. package/node_modules/crypto-js/aes.js +234 -0
  64. package/node_modules/crypto-js/blowfish.js +471 -0
  65. package/node_modules/crypto-js/bower.json +39 -0
  66. package/node_modules/crypto-js/cipher-core.js +895 -0
  67. package/node_modules/crypto-js/core.js +807 -0
  68. package/node_modules/crypto-js/crypto-js.js +6657 -0
  69. package/node_modules/crypto-js/docs/QuickStartGuide.wiki +470 -0
  70. package/node_modules/crypto-js/enc-base64.js +136 -0
  71. package/node_modules/crypto-js/enc-base64url.js +148 -0
  72. package/node_modules/crypto-js/enc-hex.js +18 -0
  73. package/node_modules/crypto-js/enc-latin1.js +18 -0
  74. package/node_modules/crypto-js/enc-utf16.js +149 -0
  75. package/node_modules/crypto-js/enc-utf8.js +18 -0
  76. package/node_modules/crypto-js/evpkdf.js +134 -0
  77. package/node_modules/crypto-js/format-hex.js +66 -0
  78. package/node_modules/crypto-js/format-openssl.js +18 -0
  79. package/node_modules/crypto-js/hmac-md5.js +18 -0
  80. package/node_modules/crypto-js/hmac-ripemd160.js +18 -0
  81. package/node_modules/crypto-js/hmac-sha1.js +18 -0
  82. package/node_modules/crypto-js/hmac-sha224.js +18 -0
  83. package/node_modules/crypto-js/hmac-sha256.js +18 -0
  84. package/node_modules/crypto-js/hmac-sha3.js +18 -0
  85. package/node_modules/crypto-js/hmac-sha384.js +18 -0
  86. package/node_modules/crypto-js/hmac-sha512.js +18 -0
  87. package/node_modules/crypto-js/hmac.js +143 -0
  88. package/node_modules/crypto-js/index.js +18 -0
  89. package/node_modules/crypto-js/lib-typedarrays.js +76 -0
  90. package/node_modules/crypto-js/md5.js +268 -0
  91. package/node_modules/crypto-js/mode-cfb.js +80 -0
  92. package/node_modules/crypto-js/mode-ctr-gladman.js +116 -0
  93. package/node_modules/crypto-js/mode-ctr.js +58 -0
  94. package/node_modules/crypto-js/mode-ecb.js +40 -0
  95. package/node_modules/crypto-js/mode-ofb.js +54 -0
  96. package/node_modules/crypto-js/package.json +42 -0
  97. package/node_modules/crypto-js/pad-ansix923.js +49 -0
  98. package/node_modules/crypto-js/pad-iso10126.js +44 -0
  99. package/node_modules/crypto-js/pad-iso97971.js +40 -0
  100. package/node_modules/crypto-js/pad-nopadding.js +30 -0
  101. package/node_modules/crypto-js/pad-pkcs7.js +18 -0
  102. package/node_modules/crypto-js/pad-zeropadding.js +47 -0
  103. package/node_modules/crypto-js/pbkdf2.js +145 -0
  104. package/node_modules/crypto-js/rabbit-legacy.js +190 -0
  105. package/node_modules/crypto-js/rabbit.js +192 -0
  106. package/node_modules/crypto-js/rc4.js +139 -0
  107. package/node_modules/crypto-js/ripemd160.js +267 -0
  108. package/node_modules/crypto-js/sha1.js +150 -0
  109. package/node_modules/crypto-js/sha224.js +80 -0
  110. package/node_modules/crypto-js/sha256.js +199 -0
  111. package/node_modules/crypto-js/sha3.js +326 -0
  112. package/node_modules/crypto-js/sha384.js +83 -0
  113. package/node_modules/crypto-js/sha512.js +326 -0
  114. package/node_modules/crypto-js/tripledes.js +779 -0
  115. package/node_modules/crypto-js/x64-core.js +304 -0
  116. package/node_modules/delayed-stream/.npmignore +1 -0
  117. package/node_modules/delayed-stream/License +19 -0
  118. package/node_modules/delayed-stream/Makefile +7 -0
  119. package/node_modules/delayed-stream/Readme.md +141 -0
  120. package/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  121. package/node_modules/delayed-stream/package.json +27 -0
  122. package/node_modules/dunder-proto/.eslintrc +5 -0
  123. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  124. package/node_modules/dunder-proto/.nycrc +13 -0
  125. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  126. package/node_modules/dunder-proto/LICENSE +21 -0
  127. package/node_modules/dunder-proto/README.md +54 -0
  128. package/node_modules/dunder-proto/get.d.ts +5 -0
  129. package/node_modules/dunder-proto/get.js +30 -0
  130. package/node_modules/dunder-proto/package.json +76 -0
  131. package/node_modules/dunder-proto/set.d.ts +5 -0
  132. package/node_modules/dunder-proto/set.js +35 -0
  133. package/node_modules/dunder-proto/test/get.js +34 -0
  134. package/node_modules/dunder-proto/test/index.js +4 -0
  135. package/node_modules/dunder-proto/test/set.js +50 -0
  136. package/node_modules/dunder-proto/tsconfig.json +9 -0
  137. package/node_modules/es-define-property/.eslintrc +13 -0
  138. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  139. package/node_modules/es-define-property/.nycrc +9 -0
  140. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  141. package/node_modules/es-define-property/LICENSE +21 -0
  142. package/node_modules/es-define-property/README.md +49 -0
  143. package/node_modules/es-define-property/index.d.ts +3 -0
  144. package/node_modules/es-define-property/index.js +14 -0
  145. package/node_modules/es-define-property/package.json +81 -0
  146. package/node_modules/es-define-property/test/index.js +56 -0
  147. package/node_modules/es-define-property/tsconfig.json +10 -0
  148. package/node_modules/es-errors/.eslintrc +5 -0
  149. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  150. package/node_modules/es-errors/CHANGELOG.md +40 -0
  151. package/node_modules/es-errors/LICENSE +21 -0
  152. package/node_modules/es-errors/README.md +55 -0
  153. package/node_modules/es-errors/eval.d.ts +3 -0
  154. package/node_modules/es-errors/eval.js +4 -0
  155. package/node_modules/es-errors/index.d.ts +3 -0
  156. package/node_modules/es-errors/index.js +4 -0
  157. package/node_modules/es-errors/package.json +80 -0
  158. package/node_modules/es-errors/range.d.ts +3 -0
  159. package/node_modules/es-errors/range.js +4 -0
  160. package/node_modules/es-errors/ref.d.ts +3 -0
  161. package/node_modules/es-errors/ref.js +4 -0
  162. package/node_modules/es-errors/syntax.d.ts +3 -0
  163. package/node_modules/es-errors/syntax.js +4 -0
  164. package/node_modules/es-errors/test/index.js +19 -0
  165. package/node_modules/es-errors/tsconfig.json +49 -0
  166. package/node_modules/es-errors/type.d.ts +3 -0
  167. package/node_modules/es-errors/type.js +4 -0
  168. package/node_modules/es-errors/uri.d.ts +3 -0
  169. package/node_modules/es-errors/uri.js +4 -0
  170. package/node_modules/es-object-atoms/.eslintrc +16 -0
  171. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  172. package/node_modules/es-object-atoms/CHANGELOG.md +44 -0
  173. package/node_modules/es-object-atoms/LICENSE +21 -0
  174. package/node_modules/es-object-atoms/README.md +63 -0
  175. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  176. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  177. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  178. package/node_modules/es-object-atoms/ToObject.js +10 -0
  179. package/node_modules/es-object-atoms/index.d.ts +3 -0
  180. package/node_modules/es-object-atoms/index.js +4 -0
  181. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  182. package/node_modules/es-object-atoms/isObject.js +6 -0
  183. package/node_modules/es-object-atoms/package.json +79 -0
  184. package/node_modules/es-object-atoms/test/index.js +38 -0
  185. package/node_modules/es-object-atoms/tsconfig.json +7 -0
  186. package/node_modules/es-set-tostringtag/.eslintrc +13 -0
  187. package/node_modules/es-set-tostringtag/.nycrc +9 -0
  188. package/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
  189. package/node_modules/es-set-tostringtag/LICENSE +21 -0
  190. package/node_modules/es-set-tostringtag/README.md +53 -0
  191. package/node_modules/es-set-tostringtag/index.d.ts +10 -0
  192. package/node_modules/es-set-tostringtag/index.js +35 -0
  193. package/node_modules/es-set-tostringtag/package.json +78 -0
  194. package/node_modules/es-set-tostringtag/test/index.js +85 -0
  195. package/node_modules/es-set-tostringtag/tsconfig.json +9 -0
  196. package/node_modules/form-data/CHANGELOG.md +686 -0
  197. package/node_modules/form-data/License +19 -0
  198. package/node_modules/form-data/README.md +355 -0
  199. package/node_modules/form-data/index.d.ts +62 -0
  200. package/node_modules/form-data/lib/browser.js +4 -0
  201. package/node_modules/form-data/lib/form_data.js +506 -0
  202. package/node_modules/form-data/lib/populate.js +10 -0
  203. package/node_modules/form-data/node_modules/mime-db/HISTORY.md +507 -0
  204. package/node_modules/form-data/node_modules/mime-db/LICENSE +23 -0
  205. package/node_modules/form-data/node_modules/mime-db/README.md +100 -0
  206. package/node_modules/form-data/node_modules/mime-db/db.json +8519 -0
  207. package/node_modules/form-data/node_modules/mime-db/index.js +12 -0
  208. package/node_modules/form-data/node_modules/mime-db/package.json +60 -0
  209. package/node_modules/form-data/node_modules/mime-types/HISTORY.md +397 -0
  210. package/node_modules/form-data/node_modules/mime-types/LICENSE +23 -0
  211. package/node_modules/form-data/node_modules/mime-types/README.md +113 -0
  212. package/node_modules/form-data/node_modules/mime-types/index.js +188 -0
  213. package/node_modules/form-data/node_modules/mime-types/package.json +44 -0
  214. package/node_modules/form-data/package.json +82 -0
  215. package/node_modules/function-bind/.eslintrc +21 -0
  216. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  217. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  218. package/node_modules/function-bind/.nycrc +13 -0
  219. package/node_modules/function-bind/CHANGELOG.md +136 -0
  220. package/node_modules/function-bind/LICENSE +20 -0
  221. package/node_modules/function-bind/README.md +46 -0
  222. package/node_modules/function-bind/implementation.js +84 -0
  223. package/node_modules/function-bind/index.js +5 -0
  224. package/node_modules/function-bind/package.json +87 -0
  225. package/node_modules/function-bind/test/.eslintrc +9 -0
  226. package/node_modules/function-bind/test/index.js +252 -0
  227. package/node_modules/get-intrinsic/.eslintrc +42 -0
  228. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  229. package/node_modules/get-intrinsic/.nycrc +9 -0
  230. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  231. package/node_modules/get-intrinsic/LICENSE +21 -0
  232. package/node_modules/get-intrinsic/README.md +71 -0
  233. package/node_modules/get-intrinsic/index.js +378 -0
  234. package/node_modules/get-intrinsic/package.json +97 -0
  235. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  236. package/node_modules/get-proto/.eslintrc +10 -0
  237. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  238. package/node_modules/get-proto/.nycrc +9 -0
  239. package/node_modules/get-proto/CHANGELOG.md +21 -0
  240. package/node_modules/get-proto/LICENSE +21 -0
  241. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  242. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  243. package/node_modules/get-proto/README.md +50 -0
  244. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  245. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  246. package/node_modules/get-proto/index.d.ts +5 -0
  247. package/node_modules/get-proto/index.js +27 -0
  248. package/node_modules/get-proto/package.json +81 -0
  249. package/node_modules/get-proto/test/index.js +68 -0
  250. package/node_modules/get-proto/tsconfig.json +9 -0
  251. package/node_modules/gopd/.eslintrc +16 -0
  252. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  253. package/node_modules/gopd/CHANGELOG.md +45 -0
  254. package/node_modules/gopd/LICENSE +21 -0
  255. package/node_modules/gopd/README.md +40 -0
  256. package/node_modules/gopd/gOPD.d.ts +1 -0
  257. package/node_modules/gopd/gOPD.js +4 -0
  258. package/node_modules/gopd/index.d.ts +5 -0
  259. package/node_modules/gopd/index.js +15 -0
  260. package/node_modules/gopd/package.json +77 -0
  261. package/node_modules/gopd/test/index.js +36 -0
  262. package/node_modules/gopd/tsconfig.json +9 -0
  263. package/node_modules/has-symbols/.eslintrc +11 -0
  264. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  265. package/node_modules/has-symbols/.nycrc +9 -0
  266. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  267. package/node_modules/has-symbols/LICENSE +21 -0
  268. package/node_modules/has-symbols/README.md +46 -0
  269. package/node_modules/has-symbols/index.d.ts +3 -0
  270. package/node_modules/has-symbols/index.js +14 -0
  271. package/node_modules/has-symbols/package.json +111 -0
  272. package/node_modules/has-symbols/shams.d.ts +3 -0
  273. package/node_modules/has-symbols/shams.js +45 -0
  274. package/node_modules/has-symbols/test/index.js +22 -0
  275. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  276. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  277. package/node_modules/has-symbols/test/tests.js +58 -0
  278. package/node_modules/has-symbols/tsconfig.json +10 -0
  279. package/node_modules/has-tostringtag/.eslintrc +5 -0
  280. package/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
  281. package/node_modules/has-tostringtag/.nycrc +13 -0
  282. package/node_modules/has-tostringtag/CHANGELOG.md +42 -0
  283. package/node_modules/has-tostringtag/LICENSE +21 -0
  284. package/node_modules/has-tostringtag/README.md +46 -0
  285. package/node_modules/has-tostringtag/index.d.ts +3 -0
  286. package/node_modules/has-tostringtag/index.js +8 -0
  287. package/node_modules/has-tostringtag/package.json +108 -0
  288. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  289. package/node_modules/has-tostringtag/shams.js +8 -0
  290. package/node_modules/has-tostringtag/test/index.js +21 -0
  291. package/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
  292. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
  293. package/node_modules/has-tostringtag/test/tests.js +15 -0
  294. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  295. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  296. package/node_modules/hasown/.nycrc +13 -0
  297. package/node_modules/hasown/CHANGELOG.md +58 -0
  298. package/node_modules/hasown/LICENSE +21 -0
  299. package/node_modules/hasown/README.md +40 -0
  300. package/node_modules/hasown/eslint.config.mjs +6 -0
  301. package/node_modules/hasown/index.d.ts +3 -0
  302. package/node_modules/hasown/index.js +8 -0
  303. package/node_modules/hasown/package.json +91 -0
  304. package/node_modules/hasown/tsconfig.json +6 -0
  305. package/node_modules/json-bigint/LICENSE +20 -0
  306. package/node_modules/json-bigint/README.md +240 -0
  307. package/node_modules/json-bigint/index.js +12 -0
  308. package/node_modules/json-bigint/lib/parse.js +443 -0
  309. package/node_modules/json-bigint/lib/stringify.js +384 -0
  310. package/node_modules/json-bigint/package.json +34 -0
  311. package/node_modules/math-intrinsics/.eslintrc +16 -0
  312. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  313. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  314. package/node_modules/math-intrinsics/LICENSE +21 -0
  315. package/node_modules/math-intrinsics/README.md +50 -0
  316. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  317. package/node_modules/math-intrinsics/abs.js +4 -0
  318. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  319. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  320. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  321. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  322. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  323. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  324. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  325. package/node_modules/math-intrinsics/floor.js +4 -0
  326. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  327. package/node_modules/math-intrinsics/isFinite.js +12 -0
  328. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  329. package/node_modules/math-intrinsics/isInteger.js +16 -0
  330. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  331. package/node_modules/math-intrinsics/isNaN.js +6 -0
  332. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  333. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  334. package/node_modules/math-intrinsics/max.d.ts +1 -0
  335. package/node_modules/math-intrinsics/max.js +4 -0
  336. package/node_modules/math-intrinsics/min.d.ts +1 -0
  337. package/node_modules/math-intrinsics/min.js +4 -0
  338. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  339. package/node_modules/math-intrinsics/mod.js +9 -0
  340. package/node_modules/math-intrinsics/package.json +86 -0
  341. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  342. package/node_modules/math-intrinsics/pow.js +4 -0
  343. package/node_modules/math-intrinsics/round.d.ts +1 -0
  344. package/node_modules/math-intrinsics/round.js +4 -0
  345. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  346. package/node_modules/math-intrinsics/sign.js +11 -0
  347. package/node_modules/math-intrinsics/test/index.js +192 -0
  348. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  349. package/node_modules/pako/LICENSE +21 -0
  350. package/node_modules/pako/README.md +155 -0
  351. package/node_modules/pako/dist/pako.es5.js +6760 -0
  352. package/node_modules/pako/dist/pako.es5.min.js +2 -0
  353. package/node_modules/pako/dist/pako.esm.mjs +6945 -0
  354. package/node_modules/pako/dist/pako.js +6964 -0
  355. package/node_modules/pako/dist/pako.min.js +2 -0
  356. package/node_modules/pako/dist/pako_deflate.es5.js +3953 -0
  357. package/node_modules/pako/dist/pako_deflate.es5.min.js +2 -0
  358. package/node_modules/pako/dist/pako_deflate.js +4154 -0
  359. package/node_modules/pako/dist/pako_deflate.min.js +2 -0
  360. package/node_modules/pako/dist/pako_inflate.es5.js +3272 -0
  361. package/node_modules/pako/dist/pako_inflate.es5.min.js +2 -0
  362. package/node_modules/pako/dist/pako_inflate.js +3279 -0
  363. package/node_modules/pako/dist/pako_inflate.min.js +2 -0
  364. package/node_modules/pako/index.js +18 -0
  365. package/node_modules/pako/lib/deflate.js +387 -0
  366. package/node_modules/pako/lib/inflate.js +456 -0
  367. package/node_modules/pako/lib/utils/common.js +48 -0
  368. package/node_modules/pako/lib/utils/strings.js +174 -0
  369. package/node_modules/pako/lib/zlib/README +59 -0
  370. package/node_modules/pako/lib/zlib/adler32.js +51 -0
  371. package/node_modules/pako/lib/zlib/constants.js +68 -0
  372. package/node_modules/pako/lib/zlib/crc32.js +59 -0
  373. package/node_modules/pako/lib/zlib/deflate.js +2069 -0
  374. package/node_modules/pako/lib/zlib/gzheader.js +58 -0
  375. package/node_modules/pako/lib/zlib/inffast.js +344 -0
  376. package/node_modules/pako/lib/zlib/inflate.js +1575 -0
  377. package/node_modules/pako/lib/zlib/inftrees.js +340 -0
  378. package/node_modules/pako/lib/zlib/messages.js +32 -0
  379. package/node_modules/pako/lib/zlib/trees.js +1179 -0
  380. package/node_modules/pako/lib/zlib/zstream.js +47 -0
  381. package/node_modules/pako/package.json +73 -0
  382. package/node_modules/semver/LICENSE +15 -0
  383. package/node_modules/semver/README.md +680 -0
  384. package/node_modules/semver/bin/semver.js +195 -0
  385. package/node_modules/semver/classes/comparator.js +143 -0
  386. package/node_modules/semver/classes/index.js +7 -0
  387. package/node_modules/semver/classes/range.js +577 -0
  388. package/node_modules/semver/classes/semver.js +350 -0
  389. package/node_modules/semver/functions/clean.js +8 -0
  390. package/node_modules/semver/functions/cmp.js +54 -0
  391. package/node_modules/semver/functions/coerce.js +62 -0
  392. package/node_modules/semver/functions/compare-build.js +9 -0
  393. package/node_modules/semver/functions/compare-loose.js +5 -0
  394. package/node_modules/semver/functions/compare.js +7 -0
  395. package/node_modules/semver/functions/diff.js +60 -0
  396. package/node_modules/semver/functions/eq.js +5 -0
  397. package/node_modules/semver/functions/gt.js +5 -0
  398. package/node_modules/semver/functions/gte.js +5 -0
  399. package/node_modules/semver/functions/inc.js +21 -0
  400. package/node_modules/semver/functions/lt.js +5 -0
  401. package/node_modules/semver/functions/lte.js +5 -0
  402. package/node_modules/semver/functions/major.js +5 -0
  403. package/node_modules/semver/functions/minor.js +5 -0
  404. package/node_modules/semver/functions/neq.js +5 -0
  405. package/node_modules/semver/functions/parse.js +18 -0
  406. package/node_modules/semver/functions/patch.js +5 -0
  407. package/node_modules/semver/functions/prerelease.js +8 -0
  408. package/node_modules/semver/functions/rcompare.js +5 -0
  409. package/node_modules/semver/functions/rsort.js +5 -0
  410. package/node_modules/semver/functions/satisfies.js +12 -0
  411. package/node_modules/semver/functions/sort.js +5 -0
  412. package/node_modules/semver/functions/truncate.js +48 -0
  413. package/node_modules/semver/functions/valid.js +8 -0
  414. package/node_modules/semver/index.js +93 -0
  415. package/node_modules/semver/internal/constants.js +37 -0
  416. package/node_modules/semver/internal/debug.js +11 -0
  417. package/node_modules/semver/internal/identifiers.js +29 -0
  418. package/node_modules/semver/internal/lrucache.js +42 -0
  419. package/node_modules/semver/internal/parse-options.js +17 -0
  420. package/node_modules/semver/internal/re.js +223 -0
  421. package/node_modules/semver/package.json +78 -0
  422. package/node_modules/semver/preload.js +4 -0
  423. package/node_modules/semver/range.bnf +17 -0
  424. package/node_modules/semver/ranges/gtr.js +6 -0
  425. package/node_modules/semver/ranges/intersects.js +9 -0
  426. package/node_modules/semver/ranges/ltr.js +6 -0
  427. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  428. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  429. package/node_modules/semver/ranges/min-version.js +63 -0
  430. package/node_modules/semver/ranges/outside.js +82 -0
  431. package/node_modules/semver/ranges/simplify.js +49 -0
  432. package/node_modules/semver/ranges/subset.js +249 -0
  433. package/node_modules/semver/ranges/to-comparators.js +10 -0
  434. package/node_modules/semver/ranges/valid.js +13 -0
  435. package/node_modules/spark-md5/LICENSE +13 -0
  436. package/node_modules/spark-md5/README.md +191 -0
  437. package/node_modules/spark-md5/package.json +35 -0
  438. package/node_modules/spark-md5/spark-md5.js +751 -0
  439. package/node_modules/spark-md5/spark-md5.min.js +1 -0
  440. package/node_modules/tldts/LICENSE +13 -0
  441. package/node_modules/tldts/README.md +327 -0
  442. package/node_modules/tldts/bin/cli.js +21 -0
  443. package/node_modules/tldts/dist/cjs/index.js +666 -0
  444. package/node_modules/tldts/dist/cjs/index.js.map +1 -0
  445. package/node_modules/tldts/dist/cjs/src/data/trie.js +14 -0
  446. package/node_modules/tldts/dist/cjs/src/data/trie.js.map +1 -0
  447. package/node_modules/tldts/dist/cjs/src/suffix-trie.js +67 -0
  448. package/node_modules/tldts/dist/cjs/src/suffix-trie.js.map +1 -0
  449. package/node_modules/tldts/dist/cjs/tsconfig.tsbuildinfo +1 -0
  450. package/node_modules/tldts/dist/es6/index.js +33 -0
  451. package/node_modules/tldts/dist/es6/index.js.map +1 -0
  452. package/node_modules/tldts/dist/es6/src/data/trie.js +11 -0
  453. package/node_modules/tldts/dist/es6/src/data/trie.js.map +1 -0
  454. package/node_modules/tldts/dist/es6/src/suffix-trie.js +64 -0
  455. package/node_modules/tldts/dist/es6/src/suffix-trie.js.map +1 -0
  456. package/node_modules/tldts/dist/es6/tsconfig.bundle.tsbuildinfo +1 -0
  457. package/node_modules/tldts/dist/index.cjs.min.js +2 -0
  458. package/node_modules/tldts/dist/index.cjs.min.js.map +1 -0
  459. package/node_modules/tldts/dist/index.esm.min.js +2 -0
  460. package/node_modules/tldts/dist/index.esm.min.js.map +1 -0
  461. package/node_modules/tldts/dist/index.umd.min.js +2 -0
  462. package/node_modules/tldts/dist/index.umd.min.js.map +1 -0
  463. package/node_modules/tldts/dist/types/index.d.ts +7 -0
  464. package/node_modules/tldts/dist/types/src/data/trie.d.ts +5 -0
  465. package/node_modules/tldts/dist/types/src/suffix-trie.d.ts +5 -0
  466. package/node_modules/tldts/index.ts +62 -0
  467. package/node_modules/tldts/package.json +91 -0
  468. package/node_modules/tldts/src/data/trie.ts +14 -0
  469. package/node_modules/tldts/src/suffix-trie.ts +110 -0
  470. package/node_modules/tldts-core/LICENSE +13 -0
  471. package/node_modules/tldts-core/README.md +3 -0
  472. package/node_modules/tldts-core/dist/cjs/index.js +561 -0
  473. package/node_modules/tldts-core/dist/cjs/index.js.map +1 -0
  474. package/node_modules/tldts-core/dist/cjs/src/domain-without-suffix.js +15 -0
  475. package/node_modules/tldts-core/dist/cjs/src/domain-without-suffix.js.map +1 -0
  476. package/node_modules/tldts-core/dist/cjs/src/domain.js +83 -0
  477. package/node_modules/tldts-core/dist/cjs/src/domain.js.map +1 -0
  478. package/node_modules/tldts-core/dist/cjs/src/extract-hostname.js +149 -0
  479. package/node_modules/tldts-core/dist/cjs/src/extract-hostname.js.map +1 -0
  480. package/node_modules/tldts-core/dist/cjs/src/factory.js +104 -0
  481. package/node_modules/tldts-core/dist/cjs/src/factory.js.map +1 -0
  482. package/node_modules/tldts-core/dist/cjs/src/is-ip.js +72 -0
  483. package/node_modules/tldts-core/dist/cjs/src/is-ip.js.map +1 -0
  484. package/node_modules/tldts-core/dist/cjs/src/is-valid.js +69 -0
  485. package/node_modules/tldts-core/dist/cjs/src/is-valid.js.map +1 -0
  486. package/node_modules/tldts-core/dist/cjs/src/lookup/fast-path.js +69 -0
  487. package/node_modules/tldts-core/dist/cjs/src/lookup/fast-path.js.map +1 -0
  488. package/node_modules/tldts-core/dist/cjs/src/lookup/interface.js +3 -0
  489. package/node_modules/tldts-core/dist/cjs/src/lookup/interface.js.map +1 -0
  490. package/node_modules/tldts-core/dist/cjs/src/options.js +22 -0
  491. package/node_modules/tldts-core/dist/cjs/src/options.js.map +1 -0
  492. package/node_modules/tldts-core/dist/cjs/src/subdomain.js +14 -0
  493. package/node_modules/tldts-core/dist/cjs/src/subdomain.js.map +1 -0
  494. package/node_modules/tldts-core/dist/cjs/tsconfig.tsbuildinfo +1 -0
  495. package/node_modules/tldts-core/dist/es6/index.js +4 -0
  496. package/node_modules/tldts-core/dist/es6/index.js.map +1 -0
  497. package/node_modules/tldts-core/dist/es6/src/domain-without-suffix.js +12 -0
  498. package/node_modules/tldts-core/dist/es6/src/domain-without-suffix.js.map +1 -0
  499. package/node_modules/tldts-core/dist/es6/src/domain.js +80 -0
  500. package/node_modules/tldts-core/dist/es6/src/domain.js.map +1 -0
  501. package/node_modules/tldts-core/dist/es6/src/extract-hostname.js +146 -0
  502. package/node_modules/tldts-core/dist/es6/src/extract-hostname.js.map +1 -0
  503. package/node_modules/tldts-core/dist/es6/src/factory.js +99 -0
  504. package/node_modules/tldts-core/dist/es6/src/factory.js.map +1 -0
  505. package/node_modules/tldts-core/dist/es6/src/is-ip.js +69 -0
  506. package/node_modules/tldts-core/dist/es6/src/is-ip.js.map +1 -0
  507. package/node_modules/tldts-core/dist/es6/src/is-valid.js +66 -0
  508. package/node_modules/tldts-core/dist/es6/src/is-valid.js.map +1 -0
  509. package/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js +66 -0
  510. package/node_modules/tldts-core/dist/es6/src/lookup/fast-path.js.map +1 -0
  511. package/node_modules/tldts-core/dist/es6/src/lookup/interface.js +2 -0
  512. package/node_modules/tldts-core/dist/es6/src/lookup/interface.js.map +1 -0
  513. package/node_modules/tldts-core/dist/es6/src/options.js +19 -0
  514. package/node_modules/tldts-core/dist/es6/src/options.js.map +1 -0
  515. package/node_modules/tldts-core/dist/es6/src/subdomain.js +11 -0
  516. package/node_modules/tldts-core/dist/es6/src/subdomain.js.map +1 -0
  517. package/node_modules/tldts-core/dist/es6/tsconfig.bundle.tsbuildinfo +1 -0
  518. package/node_modules/tldts-core/dist/types/index.d.ts +4 -0
  519. package/node_modules/tldts-core/dist/types/src/domain-without-suffix.d.ts +6 -0
  520. package/node_modules/tldts-core/dist/types/src/domain.d.ts +5 -0
  521. package/node_modules/tldts-core/dist/types/src/extract-hostname.d.ts +5 -0
  522. package/node_modules/tldts-core/dist/types/src/factory.d.ts +28 -0
  523. package/node_modules/tldts-core/dist/types/src/is-ip.d.ts +6 -0
  524. package/node_modules/tldts-core/dist/types/src/is-valid.d.ts +15 -0
  525. package/node_modules/tldts-core/dist/types/src/lookup/fast-path.d.ts +2 -0
  526. package/node_modules/tldts-core/dist/types/src/lookup/interface.d.ts +9 -0
  527. package/node_modules/tldts-core/dist/types/src/options.d.ts +10 -0
  528. package/node_modules/tldts-core/dist/types/src/subdomain.d.ts +4 -0
  529. package/node_modules/tldts-core/index.ts +10 -0
  530. package/node_modules/tldts-core/package.json +68 -0
  531. package/node_modules/tldts-core/src/domain-without-suffix.ts +14 -0
  532. package/node_modules/tldts-core/src/domain.ts +100 -0
  533. package/node_modules/tldts-core/src/extract-hostname.ts +170 -0
  534. package/node_modules/tldts-core/src/factory.ts +160 -0
  535. package/node_modules/tldts-core/src/is-ip.ts +87 -0
  536. package/node_modules/tldts-core/src/is-valid.ts +79 -0
  537. package/node_modules/tldts-core/src/lookup/fast-path.ts +80 -0
  538. package/node_modules/tldts-core/src/lookup/interface.ts +10 -0
  539. package/node_modules/tldts-core/src/options.ts +39 -0
  540. package/node_modules/tldts-core/src/subdomain.ts +11 -0
  541. package/node_modules/tough-cookie/LICENSE +12 -0
  542. package/node_modules/tough-cookie/README.md +154 -0
  543. package/node_modules/tough-cookie/dist/cookie/canonicalDomain.d.ts +33 -0
  544. package/node_modules/tough-cookie/dist/cookie/canonicalDomain.js +65 -0
  545. package/node_modules/tough-cookie/dist/cookie/constants.d.ts +54 -0
  546. package/node_modules/tough-cookie/dist/cookie/constants.js +38 -0
  547. package/node_modules/tough-cookie/dist/cookie/cookie.d.ts +326 -0
  548. package/node_modules/tough-cookie/dist/cookie/cookie.js +831 -0
  549. package/node_modules/tough-cookie/dist/cookie/cookieCompare.d.ts +58 -0
  550. package/node_modules/tough-cookie/dist/cookie/cookieCompare.js +84 -0
  551. package/node_modules/tough-cookie/dist/cookie/cookieJar.d.ts +621 -0
  552. package/node_modules/tough-cookie/dist/cookie/cookieJar.js +1000 -0
  553. package/node_modules/tough-cookie/dist/cookie/defaultPath.d.ts +40 -0
  554. package/node_modules/tough-cookie/dist/cookie/defaultPath.js +60 -0
  555. package/node_modules/tough-cookie/dist/cookie/domainMatch.d.ts +38 -0
  556. package/node_modules/tough-cookie/dist/cookie/domainMatch.js +94 -0
  557. package/node_modules/tough-cookie/dist/cookie/formatDate.d.ts +15 -0
  558. package/node_modules/tough-cookie/dist/cookie/formatDate.js +20 -0
  559. package/node_modules/tough-cookie/dist/cookie/index.d.ts +29 -0
  560. package/node_modules/tough-cookie/dist/cookie/index.js +54 -0
  561. package/node_modules/tough-cookie/dist/cookie/parseDate.d.ts +103 -0
  562. package/node_modules/tough-cookie/dist/cookie/parseDate.js +323 -0
  563. package/node_modules/tough-cookie/dist/cookie/permutePath.d.ts +14 -0
  564. package/node_modules/tough-cookie/dist/cookie/permutePath.js +32 -0
  565. package/node_modules/tough-cookie/dist/getPublicSuffix.d.ts +55 -0
  566. package/node_modules/tough-cookie/dist/getPublicSuffix.js +71 -0
  567. package/node_modules/tough-cookie/dist/memstore.d.ts +220 -0
  568. package/node_modules/tough-cookie/dist/memstore.js +187 -0
  569. package/node_modules/tough-cookie/dist/pathMatch.d.ts +17 -0
  570. package/node_modules/tough-cookie/dist/pathMatch.js +40 -0
  571. package/node_modules/tough-cookie/dist/permuteDomain.d.ts +15 -0
  572. package/node_modules/tough-cookie/dist/permuteDomain.js +44 -0
  573. package/node_modules/tough-cookie/dist/store.d.ts +211 -0
  574. package/node_modules/tough-cookie/dist/store.js +76 -0
  575. package/node_modules/tough-cookie/dist/utils.d.ts +34 -0
  576. package/node_modules/tough-cookie/dist/utils.js +99 -0
  577. package/node_modules/tough-cookie/dist/validators.d.ts +24 -0
  578. package/node_modules/tough-cookie/dist/validators.js +90 -0
  579. package/node_modules/tough-cookie/dist/version.d.ts +5 -0
  580. package/node_modules/tough-cookie/dist/version.js +8 -0
  581. package/node_modules/tough-cookie/package.json +144 -0
  582. package/node_modules/ws/LICENSE +20 -0
  583. package/node_modules/ws/README.md +548 -0
  584. package/node_modules/ws/browser.js +8 -0
  585. package/node_modules/ws/index.js +22 -0
  586. package/node_modules/ws/lib/buffer-util.js +131 -0
  587. package/node_modules/ws/lib/constants.js +19 -0
  588. package/node_modules/ws/lib/event-target.js +292 -0
  589. package/node_modules/ws/lib/extension.js +203 -0
  590. package/node_modules/ws/lib/limiter.js +55 -0
  591. package/node_modules/ws/lib/permessage-deflate.js +530 -0
  592. package/node_modules/ws/lib/receiver.js +743 -0
  593. package/node_modules/ws/lib/sender.js +607 -0
  594. package/node_modules/ws/lib/stream.js +161 -0
  595. package/node_modules/ws/lib/subprotocol.js +62 -0
  596. package/node_modules/ws/lib/validation.js +152 -0
  597. package/node_modules/ws/lib/websocket-server.js +562 -0
  598. package/node_modules/ws/lib/websocket.js +1407 -0
  599. package/node_modules/ws/package.json +74 -0
  600. package/node_modules/ws/wrapper.mjs +21 -0
  601. package/node_modules/zca-js/.prettierrc +5 -0
  602. package/node_modules/zca-js/CODE_OF_CONDUCT.md +163 -0
  603. package/node_modules/zca-js/CONTRIBUTING.md +470 -0
  604. package/node_modules/zca-js/LICENSE +21 -0
  605. package/node_modules/zca-js/README.md +225 -0
  606. package/node_modules/zca-js/SECURITY.md +83 -0
  607. package/node_modules/zca-js/dist/Errors/ZaloApiError.d.ts +4 -0
  608. package/node_modules/zca-js/dist/Errors/ZaloApiError.js +7 -0
  609. package/node_modules/zca-js/dist/Errors/ZaloApiLoginQRAborted.d.ts +4 -0
  610. package/node_modules/zca-js/dist/Errors/ZaloApiLoginQRAborted.js +7 -0
  611. package/node_modules/zca-js/dist/Errors/ZaloApiLoginQRDeclined.d.ts +4 -0
  612. package/node_modules/zca-js/dist/Errors/ZaloApiLoginQRDeclined.js +7 -0
  613. package/node_modules/zca-js/dist/Errors/ZaloApiMissingImageMetadataGetter.d.ts +4 -0
  614. package/node_modules/zca-js/dist/Errors/ZaloApiMissingImageMetadataGetter.js +7 -0
  615. package/node_modules/zca-js/dist/Errors/index.d.ts +4 -0
  616. package/node_modules/zca-js/dist/Errors/index.js +4 -0
  617. package/node_modules/zca-js/dist/apis/acceptFriendRequest.d.ts +2 -0
  618. package/node_modules/zca-js/dist/apis/acceptFriendRequest.js +28 -0
  619. package/node_modules/zca-js/dist/apis/addGroupBlockedMember.d.ts +2 -0
  620. package/node_modules/zca-js/dist/apis/addGroupBlockedMember.js +28 -0
  621. package/node_modules/zca-js/dist/apis/addGroupDeputy.d.ts +2 -0
  622. package/node_modules/zca-js/dist/apis/addGroupDeputy.js +30 -0
  623. package/node_modules/zca-js/dist/apis/addPollOptions.d.ts +14 -0
  624. package/node_modules/zca-js/dist/apis/addPollOptions.js +26 -0
  625. package/node_modules/zca-js/dist/apis/addQuickMessage.d.ts +11 -0
  626. package/node_modules/zca-js/dist/apis/addQuickMessage.js +60 -0
  627. package/node_modules/zca-js/dist/apis/addReaction.d.ts +18 -0
  628. package/node_modules/zca-js/dist/apis/addReaction.js +294 -0
  629. package/node_modules/zca-js/dist/apis/addUnreadMark.d.ts +8 -0
  630. package/node_modules/zca-js/dist/apis/addUnreadMark.js +52 -0
  631. package/node_modules/zca-js/dist/apis/addUserToGroup.d.ts +5 -0
  632. package/node_modules/zca-js/dist/apis/addUserToGroup.js +34 -0
  633. package/node_modules/zca-js/dist/apis/blockUser.d.ts +2 -0
  634. package/node_modules/zca-js/dist/apis/blockUser.js +28 -0
  635. package/node_modules/zca-js/dist/apis/blockViewFeed.d.ts +2 -0
  636. package/node_modules/zca-js/dist/apis/blockViewFeed.js +30 -0
  637. package/node_modules/zca-js/dist/apis/changeAccountAvatar.d.ts +3 -0
  638. package/node_modules/zca-js/dist/apis/changeAccountAvatar.js +52 -0
  639. package/node_modules/zca-js/dist/apis/changeFriendAlias.d.ts +2 -0
  640. package/node_modules/zca-js/dist/apis/changeFriendAlias.js +27 -0
  641. package/node_modules/zca-js/dist/apis/changeGroupAvatar.d.ts +3 -0
  642. package/node_modules/zca-js/dist/apis/changeGroupAvatar.js +44 -0
  643. package/node_modules/zca-js/dist/apis/changeGroupName.d.ts +4 -0
  644. package/node_modules/zca-js/dist/apis/changeGroupName.js +32 -0
  645. package/node_modules/zca-js/dist/apis/changeGroupOwner.d.ts +4 -0
  646. package/node_modules/zca-js/dist/apis/changeGroupOwner.js +30 -0
  647. package/node_modules/zca-js/dist/apis/createAutoReply.d.ts +14 -0
  648. package/node_modules/zca-js/dist/apis/createAutoReply.js +37 -0
  649. package/node_modules/zca-js/dist/apis/createBankAccount.d.ts +8 -0
  650. package/node_modules/zca-js/dist/apis/createBankAccount.js +32 -0
  651. package/node_modules/zca-js/dist/apis/createCatalog.d.ts +7 -0
  652. package/node_modules/zca-js/dist/apis/createCatalog.js +29 -0
  653. package/node_modules/zca-js/dist/apis/createGroup.d.ts +28 -0
  654. package/node_modules/zca-js/dist/apis/createGroup.js +43 -0
  655. package/node_modules/zca-js/dist/apis/createNote.d.ts +7 -0
  656. package/node_modules/zca-js/dist/apis/createNote.js +47 -0
  657. package/node_modules/zca-js/dist/apis/createPoll.d.ts +36 -0
  658. package/node_modules/zca-js/dist/apis/createPoll.js +40 -0
  659. package/node_modules/zca-js/dist/apis/createProductCatalog.d.ts +23 -0
  660. package/node_modules/zca-js/dist/apis/createProductCatalog.js +50 -0
  661. package/node_modules/zca-js/dist/apis/createReminder.d.ts +12 -0
  662. package/node_modules/zca-js/dist/apis/createReminder.js +63 -0
  663. package/node_modules/zca-js/dist/apis/custom.d.ts +9 -0
  664. package/node_modules/zca-js/dist/apis/custom.js +15 -0
  665. package/node_modules/zca-js/dist/apis/deleteAutoReply.d.ts +5 -0
  666. package/node_modules/zca-js/dist/apis/deleteAutoReply.js +29 -0
  667. package/node_modules/zca-js/dist/apis/deleteAvatar.d.ts +9 -0
  668. package/node_modules/zca-js/dist/apis/deleteAvatar.js +27 -0
  669. package/node_modules/zca-js/dist/apis/deleteBankAccount.d.ts +11 -0
  670. package/node_modules/zca-js/dist/apis/deleteBankAccount.js +32 -0
  671. package/node_modules/zca-js/dist/apis/deleteCatalog.d.ts +2 -0
  672. package/node_modules/zca-js/dist/apis/deleteCatalog.js +28 -0
  673. package/node_modules/zca-js/dist/apis/deleteChat.d.ts +19 -0
  674. package/node_modules/zca-js/dist/apis/deleteChat.js +50 -0
  675. package/node_modules/zca-js/dist/apis/deleteGroupInviteBox.d.ts +9 -0
  676. package/node_modules/zca-js/dist/apis/deleteGroupInviteBox.js +27 -0
  677. package/node_modules/zca-js/dist/apis/deleteMessage.d.ts +14 -0
  678. package/node_modules/zca-js/dist/apis/deleteMessage.js +52 -0
  679. package/node_modules/zca-js/dist/apis/deleteProductCatalog.d.ts +10 -0
  680. package/node_modules/zca-js/dist/apis/deleteProductCatalog.js +31 -0
  681. package/node_modules/zca-js/dist/apis/deleteSnapshotMobileMsg.js +18 -0
  682. package/node_modules/zca-js/dist/apis/disableGroupLink.d.ts +2 -0
  683. package/node_modules/zca-js/dist/apis/disableGroupLink.js +24 -0
  684. package/node_modules/zca-js/dist/apis/disperseGroup.d.ts +2 -0
  685. package/node_modules/zca-js/dist/apis/disperseGroup.js +28 -0
  686. package/node_modules/zca-js/dist/apis/editNote.d.ts +17 -0
  687. package/node_modules/zca-js/dist/apis/editNote.js +46 -0
  688. package/node_modules/zca-js/dist/apis/editReminder.d.ts +13 -0
  689. package/node_modules/zca-js/dist/apis/editReminder.js +61 -0
  690. package/node_modules/zca-js/dist/apis/enableGroupLink.d.ts +6 -0
  691. package/node_modules/zca-js/dist/apis/enableGroupLink.js +25 -0
  692. package/node_modules/zca-js/dist/apis/fetchAccountInfo.d.ts +5 -0
  693. package/node_modules/zca-js/dist/apis/fetchAccountInfo.js +10 -0
  694. package/node_modules/zca-js/dist/apis/findUser.d.ts +3 -0
  695. package/node_modules/zca-js/dist/apis/findUser.js +42 -0
  696. package/node_modules/zca-js/dist/apis/findUserByUsername.d.ts +3 -0
  697. package/node_modules/zca-js/dist/apis/findUserByUsername.js +27 -0
  698. package/node_modules/zca-js/dist/apis/forwardMessage.d.ts +24 -0
  699. package/node_modules/zca-js/dist/apis/forwardMessage.js +114 -0
  700. package/node_modules/zca-js/dist/apis/getAliasList.d.ts +8 -0
  701. package/node_modules/zca-js/dist/apis/getAliasList.js +27 -0
  702. package/node_modules/zca-js/dist/apis/getAllFriends.d.ts +3 -0
  703. package/node_modules/zca-js/dist/apis/getAllFriends.js +34 -0
  704. package/node_modules/zca-js/dist/apis/getAllGroups.d.ts +7 -0
  705. package/node_modules/zca-js/dist/apis/getAllGroups.js +10 -0
  706. package/node_modules/zca-js/dist/apis/getArchivedChatList.d.ts +5 -0
  707. package/node_modules/zca-js/dist/apis/getArchivedChatList.js +23 -0
  708. package/node_modules/zca-js/dist/apis/getAutoDeleteChat.d.ts +9 -0
  709. package/node_modules/zca-js/dist/apis/getAutoDeleteChat.js +21 -0
  710. package/node_modules/zca-js/dist/apis/getAutoReplyList.d.ts +6 -0
  711. package/node_modules/zca-js/dist/apis/getAutoReplyList.js +24 -0
  712. package/node_modules/zca-js/dist/apis/getAvatarList.d.ts +12 -0
  713. package/node_modules/zca-js/dist/apis/getAvatarList.js +28 -0
  714. package/node_modules/zca-js/dist/apis/getAvatarUrlProfile.d.ts +7 -0
  715. package/node_modules/zca-js/dist/apis/getAvatarUrlProfile.js +30 -0
  716. package/node_modules/zca-js/dist/apis/getBizAccount.d.ts +24 -0
  717. package/node_modules/zca-js/dist/apis/getBizAccount.js +27 -0
  718. package/node_modules/zca-js/dist/apis/getCatalogList.d.ts +18 -0
  719. package/node_modules/zca-js/dist/apis/getCatalogList.js +32 -0
  720. package/node_modules/zca-js/dist/apis/getCloseFriends.d.ts +3 -0
  721. package/node_modules/zca-js/dist/apis/getCloseFriends.js +20 -0
  722. package/node_modules/zca-js/dist/apis/getContext.d.ts +1 -0
  723. package/node_modules/zca-js/dist/apis/getContext.js +4 -0
  724. package/node_modules/zca-js/dist/apis/getCookie.d.ts +1 -0
  725. package/node_modules/zca-js/dist/apis/getCookie.js +9 -0
  726. package/node_modules/zca-js/dist/apis/getCrossDB.js +18 -0
  727. package/node_modules/zca-js/dist/apis/getFriendBoardList.d.ts +5 -0
  728. package/node_modules/zca-js/dist/apis/getFriendBoardList.js +26 -0
  729. package/node_modules/zca-js/dist/apis/getFriendOnlines.d.ts +10 -0
  730. package/node_modules/zca-js/dist/apis/getFriendOnlines.js +35 -0
  731. package/node_modules/zca-js/dist/apis/getFriendRecommendations.d.ts +42 -0
  732. package/node_modules/zca-js/dist/apis/getFriendRecommendations.js +27 -0
  733. package/node_modules/zca-js/dist/apis/getFriendRequestStatus.d.ts +8 -0
  734. package/node_modules/zca-js/dist/apis/getFriendRequestStatus.js +25 -0
  735. package/node_modules/zca-js/dist/apis/getFullAvatar.d.ts +5 -0
  736. package/node_modules/zca-js/dist/apis/getFullAvatar.js +25 -0
  737. package/node_modules/zca-js/dist/apis/getGroupBlockedMember.d.ts +23 -0
  738. package/node_modules/zca-js/dist/apis/getGroupBlockedMember.js +29 -0
  739. package/node_modules/zca-js/dist/apis/getGroupChatHistory.d.ts +8 -0
  740. package/node_modules/zca-js/dist/apis/getGroupChatHistory.js +36 -0
  741. package/node_modules/zca-js/dist/apis/getGroupInfo.d.ts +16 -0
  742. package/node_modules/zca-js/dist/apis/getGroupInfo.js +32 -0
  743. package/node_modules/zca-js/dist/apis/getGroupInviteBoxInfo.d.ts +32 -0
  744. package/node_modules/zca-js/dist/apis/getGroupInviteBoxInfo.js +38 -0
  745. package/node_modules/zca-js/dist/apis/getGroupInviteBoxList.d.ts +38 -0
  746. package/node_modules/zca-js/dist/apis/getGroupInviteBoxList.js +31 -0
  747. package/node_modules/zca-js/dist/apis/getGroupLinkDetail.d.ts +9 -0
  748. package/node_modules/zca-js/dist/apis/getGroupLinkDetail.js +25 -0
  749. package/node_modules/zca-js/dist/apis/getGroupLinkInfo.d.ts +34 -0
  750. package/node_modules/zca-js/dist/apis/getGroupLinkInfo.js +28 -0
  751. package/node_modules/zca-js/dist/apis/getGroupMembersInfo.d.ts +17 -0
  752. package/node_modules/zca-js/dist/apis/getGroupMembersInfo.js +24 -0
  753. package/node_modules/zca-js/dist/apis/getHiddenConversations.d.ts +11 -0
  754. package/node_modules/zca-js/dist/apis/getHiddenConversations.js +23 -0
  755. package/node_modules/zca-js/dist/apis/getLabels.d.ts +7 -0
  756. package/node_modules/zca-js/dist/apis/getLabels.js +28 -0
  757. package/node_modules/zca-js/dist/apis/getListBank.d.ts +5 -0
  758. package/node_modules/zca-js/dist/apis/getListBank.js +20 -0
  759. package/node_modules/zca-js/dist/apis/getListBankAccount.d.ts +7 -0
  760. package/node_modules/zca-js/dist/apis/getListBankAccount.js +27 -0
  761. package/node_modules/zca-js/dist/apis/getListBoard.d.ts +21 -0
  762. package/node_modules/zca-js/dist/apis/getListBoard.js +45 -0
  763. package/node_modules/zca-js/dist/apis/getListDevice.d.ts +10 -0
  764. package/node_modules/zca-js/dist/apis/getListDevice.js +22 -0
  765. package/node_modules/zca-js/dist/apis/getListReminder.d.ts +28 -0
  766. package/node_modules/zca-js/dist/apis/getListReminder.js +47 -0
  767. package/node_modules/zca-js/dist/apis/getMultiUsersByPhones.d.ts +5 -0
  768. package/node_modules/zca-js/dist/apis/getMultiUsersByPhones.js +39 -0
  769. package/node_modules/zca-js/dist/apis/getMute.d.ts +13 -0
  770. package/node_modules/zca-js/dist/apis/getMute.js +22 -0
  771. package/node_modules/zca-js/dist/apis/getOwnId.d.ts +1 -0
  772. package/node_modules/zca-js/dist/apis/getOwnId.js +4 -0
  773. package/node_modules/zca-js/dist/apis/getPendingGroupMembers.d.ts +11 -0
  774. package/node_modules/zca-js/dist/apis/getPendingGroupMembers.js +27 -0
  775. package/node_modules/zca-js/dist/apis/getPinConversations.d.ts +5 -0
  776. package/node_modules/zca-js/dist/apis/getPinConversations.js +22 -0
  777. package/node_modules/zca-js/dist/apis/getPollDetail.d.ts +3 -0
  778. package/node_modules/zca-js/dist/apis/getPollDetail.js +30 -0
  779. package/node_modules/zca-js/dist/apis/getProductCatalogList.d.ts +20 -0
  780. package/node_modules/zca-js/dist/apis/getProductCatalogList.js +33 -0
  781. package/node_modules/zca-js/dist/apis/getQR.d.ts +4 -0
  782. package/node_modules/zca-js/dist/apis/getQR.js +29 -0
  783. package/node_modules/zca-js/dist/apis/getQuickMessageList.d.ts +7 -0
  784. package/node_modules/zca-js/dist/apis/getQuickMessageList.js +24 -0
  785. package/node_modules/zca-js/dist/apis/getRelatedFriendGroup.d.ts +6 -0
  786. package/node_modules/zca-js/dist/apis/getRelatedFriendGroup.js +30 -0
  787. package/node_modules/zca-js/dist/apis/getReminder.d.ts +3 -0
  788. package/node_modules/zca-js/dist/apis/getReminder.js +25 -0
  789. package/node_modules/zca-js/dist/apis/getReminderResponses.d.ts +5 -0
  790. package/node_modules/zca-js/dist/apis/getReminderResponses.js +24 -0
  791. package/node_modules/zca-js/dist/apis/getSentFriendRequest.d.ts +18 -0
  792. package/node_modules/zca-js/dist/apis/getSentFriendRequest.js +24 -0
  793. package/node_modules/zca-js/dist/apis/getSettings.d.ts +3 -0
  794. package/node_modules/zca-js/dist/apis/getSettings.js +20 -0
  795. package/node_modules/zca-js/dist/apis/getStickerCategoryDetail.d.ts +3 -0
  796. package/node_modules/zca-js/dist/apis/getStickerCategoryDetail.js +24 -0
  797. package/node_modules/zca-js/dist/apis/getStickers.d.ts +1 -0
  798. package/node_modules/zca-js/dist/apis/getStickers.js +40 -0
  799. package/node_modules/zca-js/dist/apis/getStickersDetail.d.ts +3 -0
  800. package/node_modules/zca-js/dist/apis/getStickersDetail.js +40 -0
  801. package/node_modules/zca-js/dist/apis/getUnreadMark.d.ts +14 -0
  802. package/node_modules/zca-js/dist/apis/getUnreadMark.js +30 -0
  803. package/node_modules/zca-js/dist/apis/getUserInfo.d.ts +8 -0
  804. package/node_modules/zca-js/dist/apis/getUserInfo.js +44 -0
  805. package/node_modules/zca-js/dist/apis/inviteUserToGroups.d.ts +10 -0
  806. package/node_modules/zca-js/dist/apis/inviteUserToGroups.js +30 -0
  807. package/node_modules/zca-js/dist/apis/joinGroupInviteBox.d.ts +2 -0
  808. package/node_modules/zca-js/dist/apis/joinGroupInviteBox.js +25 -0
  809. package/node_modules/zca-js/dist/apis/joinGroupLink.d.ts +2 -0
  810. package/node_modules/zca-js/dist/apis/joinGroupLink.js +27 -0
  811. package/node_modules/zca-js/dist/apis/keepAlive.d.ts +4 -0
  812. package/node_modules/zca-js/dist/apis/keepAlive.js +22 -0
  813. package/node_modules/zca-js/dist/apis/lastOnline.d.ts +7 -0
  814. package/node_modules/zca-js/dist/apis/lastOnline.js +26 -0
  815. package/node_modules/zca-js/dist/apis/leaveGroup.d.ts +4 -0
  816. package/node_modules/zca-js/dist/apis/leaveGroup.js +33 -0
  817. package/node_modules/zca-js/dist/apis/listen.d.ts +102 -0
  818. package/node_modules/zca-js/dist/apis/listen.js +425 -0
  819. package/node_modules/zca-js/dist/apis/lockPoll.d.ts +2 -0
  820. package/node_modules/zca-js/dist/apis/lockPoll.js +28 -0
  821. package/node_modules/zca-js/dist/apis/login.d.ts +3 -0
  822. package/node_modules/zca-js/dist/apis/login.js +96 -0
  823. package/node_modules/zca-js/dist/apis/loginQR.d.ts +71 -0
  824. package/node_modules/zca-js/dist/apis/loginQR.js +376 -0
  825. package/node_modules/zca-js/dist/apis/logoutV2.js +79 -0
  826. package/node_modules/zca-js/dist/apis/lostFocus.d.ts +4 -0
  827. package/node_modules/zca-js/dist/apis/lostFocus.js +23 -0
  828. package/node_modules/zca-js/dist/apis/parseLink.d.ts +21 -0
  829. package/node_modules/zca-js/dist/apis/parseLink.js +27 -0
  830. package/node_modules/zca-js/dist/apis/pullMobileMsg.js +22 -0
  831. package/node_modules/zca-js/dist/apis/registerCatalog.d.ts +2 -0
  832. package/node_modules/zca-js/dist/apis/registerCatalog.js +27 -0
  833. package/node_modules/zca-js/dist/apis/rejectFriendRequest.d.ts +2 -0
  834. package/node_modules/zca-js/dist/apis/rejectFriendRequest.js +27 -0
  835. package/node_modules/zca-js/dist/apis/removeFriend.d.ts +2 -0
  836. package/node_modules/zca-js/dist/apis/removeFriend.js +28 -0
  837. package/node_modules/zca-js/dist/apis/removeFriendAlias.d.ts +2 -0
  838. package/node_modules/zca-js/dist/apis/removeFriendAlias.js +24 -0
  839. package/node_modules/zca-js/dist/apis/removeGroupBlockedMember.d.ts +2 -0
  840. package/node_modules/zca-js/dist/apis/removeGroupBlockedMember.js +28 -0
  841. package/node_modules/zca-js/dist/apis/removeGroupDeputy.d.ts +2 -0
  842. package/node_modules/zca-js/dist/apis/removeGroupDeputy.js +30 -0
  843. package/node_modules/zca-js/dist/apis/removeQuickMessage.d.ts +5 -0
  844. package/node_modules/zca-js/dist/apis/removeQuickMessage.js +27 -0
  845. package/node_modules/zca-js/dist/apis/removeReminder.d.ts +3 -0
  846. package/node_modules/zca-js/dist/apis/removeReminder.js +40 -0
  847. package/node_modules/zca-js/dist/apis/removeUnreadMark.d.ts +8 -0
  848. package/node_modules/zca-js/dist/apis/removeUnreadMark.js +50 -0
  849. package/node_modules/zca-js/dist/apis/removeUserFromGroup.d.ts +4 -0
  850. package/node_modules/zca-js/dist/apis/removeUserFromGroup.js +34 -0
  851. package/node_modules/zca-js/dist/apis/requestSyncMessage.js +18 -0
  852. package/node_modules/zca-js/dist/apis/resetHiddenConversPin.d.ts +2 -0
  853. package/node_modules/zca-js/dist/apis/resetHiddenConversPin.js +20 -0
  854. package/node_modules/zca-js/dist/apis/reuseAvatar.d.ts +2 -0
  855. package/node_modules/zca-js/dist/apis/reuseAvatar.js +26 -0
  856. package/node_modules/zca-js/dist/apis/reviewPendingMemberRequest.d.ts +14 -0
  857. package/node_modules/zca-js/dist/apis/reviewPendingMemberRequest.js +38 -0
  858. package/node_modules/zca-js/dist/apis/scanURL.d.ts +4 -0
  859. package/node_modules/zca-js/dist/apis/scanURL.js +28 -0
  860. package/node_modules/zca-js/dist/apis/searchSticker.d.ts +3 -0
  861. package/node_modules/zca-js/dist/apis/searchSticker.js +28 -0
  862. package/node_modules/zca-js/dist/apis/sendBankCard.d.ts +9 -0
  863. package/node_modules/zca-js/dist/apis/sendBankCard.js +53 -0
  864. package/node_modules/zca-js/dist/apis/sendCard.d.ts +10 -0
  865. package/node_modules/zca-js/dist/apis/sendCard.js +75 -0
  866. package/node_modules/zca-js/dist/apis/sendDeliveredEvent.d.ts +16 -0
  867. package/node_modules/zca-js/dist/apis/sendDeliveredEvent.js +55 -0
  868. package/node_modules/zca-js/dist/apis/sendFriendRequest.d.ts +2 -0
  869. package/node_modules/zca-js/dist/apis/sendFriendRequest.js +39 -0
  870. package/node_modules/zca-js/dist/apis/sendLink.d.ts +10 -0
  871. package/node_modules/zca-js/dist/apis/sendLink.js +78 -0
  872. package/node_modules/zca-js/dist/apis/sendMessage.d.ts +105 -0
  873. package/node_modules/zca-js/dist/apis/sendMessage.js +486 -0
  874. package/node_modules/zca-js/dist/apis/sendReport.d.ts +17 -0
  875. package/node_modules/zca-js/dist/apis/sendReport.js +53 -0
  876. package/node_modules/zca-js/dist/apis/sendSeenEvent.d.ts +16 -0
  877. package/node_modules/zca-js/dist/apis/sendSeenEvent.js +63 -0
  878. package/node_modules/zca-js/dist/apis/sendSticker.d.ts +10 -0
  879. package/node_modules/zca-js/dist/apis/sendSticker.js +74 -0
  880. package/node_modules/zca-js/dist/apis/sendTypingEvent.d.ts +5 -0
  881. package/node_modules/zca-js/dist/apis/sendTypingEvent.js +33 -0
  882. package/node_modules/zca-js/dist/apis/sendVideo.d.ts +35 -0
  883. package/node_modules/zca-js/dist/apis/sendVideo.js +134 -0
  884. package/node_modules/zca-js/dist/apis/sendVoice.d.ts +12 -0
  885. package/node_modules/zca-js/dist/apis/sendVoice.js +89 -0
  886. package/node_modules/zca-js/dist/apis/setHiddenConversations.d.ts +3 -0
  887. package/node_modules/zca-js/dist/apis/setHiddenConversations.js +39 -0
  888. package/node_modules/zca-js/dist/apis/setMute.d.ts +20 -0
  889. package/node_modules/zca-js/dist/apis/setMute.js +67 -0
  890. package/node_modules/zca-js/dist/apis/setPinnedConversations.d.ts +3 -0
  891. package/node_modules/zca-js/dist/apis/setPinnedConversations.js +34 -0
  892. package/node_modules/zca-js/dist/apis/sharePoll.d.ts +2 -0
  893. package/node_modules/zca-js/dist/apis/sharePoll.js +28 -0
  894. package/node_modules/zca-js/dist/apis/unblockUser.d.ts +2 -0
  895. package/node_modules/zca-js/dist/apis/unblockUser.js +28 -0
  896. package/node_modules/zca-js/dist/apis/undo.d.ts +9 -0
  897. package/node_modules/zca-js/dist/apis/undo.js +42 -0
  898. package/node_modules/zca-js/dist/apis/undoFriendRequest.d.ts +2 -0
  899. package/node_modules/zca-js/dist/apis/undoFriendRequest.js +27 -0
  900. package/node_modules/zca-js/dist/apis/updateActiveStatus.d.ts +4 -0
  901. package/node_modules/zca-js/dist/apis/updateActiveStatus.js +27 -0
  902. package/node_modules/zca-js/dist/apis/updateArchivedChatList.d.ts +10 -0
  903. package/node_modules/zca-js/dist/apis/updateArchivedChatList.js +34 -0
  904. package/node_modules/zca-js/dist/apis/updateAutoDeleteChat.d.ts +9 -0
  905. package/node_modules/zca-js/dist/apis/updateAutoDeleteChat.js +40 -0
  906. package/node_modules/zca-js/dist/apis/updateAutoReply.d.ts +15 -0
  907. package/node_modules/zca-js/dist/apis/updateAutoReply.js +38 -0
  908. package/node_modules/zca-js/dist/apis/updateBankAccount.d.ts +9 -0
  909. package/node_modules/zca-js/dist/apis/updateBankAccount.js +31 -0
  910. package/node_modules/zca-js/dist/apis/updateCatalog.d.ts +11 -0
  911. package/node_modules/zca-js/dist/apis/updateCatalog.js +30 -0
  912. package/node_modules/zca-js/dist/apis/updateGroupSettings.d.ts +40 -0
  913. package/node_modules/zca-js/dist/apis/updateGroupSettings.js +43 -0
  914. package/node_modules/zca-js/dist/apis/updateHiddenConversPin.d.ts +2 -0
  915. package/node_modules/zca-js/dist/apis/updateHiddenConversPin.js +30 -0
  916. package/node_modules/zca-js/dist/apis/updateLabels.d.ts +15 -0
  917. package/node_modules/zca-js/dist/apis/updateLabels.js +34 -0
  918. package/node_modules/zca-js/dist/apis/updateLang.d.ts +6 -0
  919. package/node_modules/zca-js/dist/apis/updateLang.js +30 -0
  920. package/node_modules/zca-js/dist/apis/updateProductCatalog.d.ts +25 -0
  921. package/node_modules/zca-js/dist/apis/updateProductCatalog.js +51 -0
  922. package/node_modules/zca-js/dist/apis/updateProfile.d.ts +20 -0
  923. package/node_modules/zca-js/dist/apis/updateProfile.js +43 -0
  924. package/node_modules/zca-js/dist/apis/updateProfileBio.d.ts +2 -0
  925. package/node_modules/zca-js/dist/apis/updateProfileBio.js +27 -0
  926. package/node_modules/zca-js/dist/apis/updateQuickMessage.d.ts +11 -0
  927. package/node_modules/zca-js/dist/apis/updateQuickMessage.js +61 -0
  928. package/node_modules/zca-js/dist/apis/updateSettings.d.ts +16 -0
  929. package/node_modules/zca-js/dist/apis/updateSettings.js +90 -0
  930. package/node_modules/zca-js/dist/apis/upgradeGroupToCommunity.d.ts +2 -0
  931. package/node_modules/zca-js/dist/apis/upgradeGroupToCommunity.js +27 -0
  932. package/node_modules/zca-js/dist/apis/uploadAttachment.d.ts +50 -0
  933. package/node_modules/zca-js/dist/apis/uploadAttachment.js +197 -0
  934. package/node_modules/zca-js/dist/apis/uploadProductPhoto.d.ts +14 -0
  935. package/node_modules/zca-js/dist/apis/uploadProductPhoto.js +50 -0
  936. package/node_modules/zca-js/dist/apis/votePoll.d.ts +5 -0
  937. package/node_modules/zca-js/dist/apis/votePoll.js +29 -0
  938. package/node_modules/zca-js/dist/apis.d.ts +317 -0
  939. package/node_modules/zca-js/dist/apis.js +327 -0
  940. package/node_modules/zca-js/dist/cjs/Errors/ZaloApiError.cjs +11 -0
  941. package/node_modules/zca-js/dist/cjs/Errors/ZaloApiLoginQRAborted.cjs +12 -0
  942. package/node_modules/zca-js/dist/cjs/Errors/ZaloApiLoginQRDeclined.cjs +12 -0
  943. package/node_modules/zca-js/dist/cjs/Errors/ZaloApiMissingImageMetadataGetter.cjs +12 -0
  944. package/node_modules/zca-js/dist/cjs/apis/acceptFriendRequest.cjs +33 -0
  945. package/node_modules/zca-js/dist/cjs/apis/addGroupBlockedMember.cjs +33 -0
  946. package/node_modules/zca-js/dist/cjs/apis/addGroupDeputy.cjs +35 -0
  947. package/node_modules/zca-js/dist/cjs/apis/addPollOptions.cjs +31 -0
  948. package/node_modules/zca-js/dist/cjs/apis/addQuickMessage.cjs +65 -0
  949. package/node_modules/zca-js/dist/cjs/apis/addReaction.cjs +308 -0
  950. package/node_modules/zca-js/dist/cjs/apis/addUnreadMark.cjs +66 -0
  951. package/node_modules/zca-js/dist/cjs/apis/addUserToGroup.cjs +39 -0
  952. package/node_modules/zca-js/dist/cjs/apis/blockUser.cjs +33 -0
  953. package/node_modules/zca-js/dist/cjs/apis/blockViewFeed.cjs +35 -0
  954. package/node_modules/zca-js/dist/cjs/apis/changeAccountAvatar.cjs +57 -0
  955. package/node_modules/zca-js/dist/cjs/apis/changeFriendAlias.cjs +32 -0
  956. package/node_modules/zca-js/dist/cjs/apis/changeGroupAvatar.cjs +49 -0
  957. package/node_modules/zca-js/dist/cjs/apis/changeGroupName.cjs +37 -0
  958. package/node_modules/zca-js/dist/cjs/apis/changeGroupOwner.cjs +35 -0
  959. package/node_modules/zca-js/dist/cjs/apis/createAutoReply.cjs +42 -0
  960. package/node_modules/zca-js/dist/cjs/apis/createBankAccount.cjs +37 -0
  961. package/node_modules/zca-js/dist/cjs/apis/createCatalog.cjs +34 -0
  962. package/node_modules/zca-js/dist/cjs/apis/createGroup.cjs +48 -0
  963. package/node_modules/zca-js/dist/cjs/apis/createNote.cjs +52 -0
  964. package/node_modules/zca-js/dist/cjs/apis/createPoll.cjs +45 -0
  965. package/node_modules/zca-js/dist/cjs/apis/createProductCatalog.cjs +55 -0
  966. package/node_modules/zca-js/dist/cjs/apis/createReminder.cjs +77 -0
  967. package/node_modules/zca-js/dist/cjs/apis/custom.cjs +19 -0
  968. package/node_modules/zca-js/dist/cjs/apis/deleteAutoReply.cjs +34 -0
  969. package/node_modules/zca-js/dist/cjs/apis/deleteAvatar.cjs +32 -0
  970. package/node_modules/zca-js/dist/cjs/apis/deleteBankAccount.cjs +37 -0
  971. package/node_modules/zca-js/dist/cjs/apis/deleteCatalog.cjs +33 -0
  972. package/node_modules/zca-js/dist/cjs/apis/deleteChat.cjs +64 -0
  973. package/node_modules/zca-js/dist/cjs/apis/deleteGroupInviteBox.cjs +32 -0
  974. package/node_modules/zca-js/dist/cjs/apis/deleteMessage.cjs +66 -0
  975. package/node_modules/zca-js/dist/cjs/apis/deleteProductCatalog.cjs +36 -0
  976. package/node_modules/zca-js/dist/cjs/apis/deleteSnapshotMobileMsg.cjs +22 -0
  977. package/node_modules/zca-js/dist/cjs/apis/disableGroupLink.cjs +29 -0
  978. package/node_modules/zca-js/dist/cjs/apis/disperseGroup.cjs +33 -0
  979. package/node_modules/zca-js/dist/cjs/apis/editNote.cjs +51 -0
  980. package/node_modules/zca-js/dist/cjs/apis/editReminder.cjs +75 -0
  981. package/node_modules/zca-js/dist/cjs/apis/enableGroupLink.cjs +30 -0
  982. package/node_modules/zca-js/dist/cjs/apis/fetchAccountInfo.cjs +15 -0
  983. package/node_modules/zca-js/dist/cjs/apis/findUser.cjs +56 -0
  984. package/node_modules/zca-js/dist/cjs/apis/findUserByUsername.cjs +41 -0
  985. package/node_modules/zca-js/dist/cjs/apis/forwardMessage.cjs +129 -0
  986. package/node_modules/zca-js/dist/cjs/apis/getAliasList.cjs +32 -0
  987. package/node_modules/zca-js/dist/cjs/apis/getAllFriends.cjs +48 -0
  988. package/node_modules/zca-js/dist/cjs/apis/getAllGroups.cjs +15 -0
  989. package/node_modules/zca-js/dist/cjs/apis/getArchivedChatList.cjs +28 -0
  990. package/node_modules/zca-js/dist/cjs/apis/getAutoDeleteChat.cjs +26 -0
  991. package/node_modules/zca-js/dist/cjs/apis/getAutoReplyList.cjs +29 -0
  992. package/node_modules/zca-js/dist/cjs/apis/getAvatarList.cjs +33 -0
  993. package/node_modules/zca-js/dist/cjs/apis/getAvatarUrlProfile.cjs +44 -0
  994. package/node_modules/zca-js/dist/cjs/apis/getBizAccount.cjs +32 -0
  995. package/node_modules/zca-js/dist/cjs/apis/getCatalogList.cjs +37 -0
  996. package/node_modules/zca-js/dist/cjs/apis/getCloseFriends.cjs +25 -0
  997. package/node_modules/zca-js/dist/cjs/apis/getContext.cjs +9 -0
  998. package/node_modules/zca-js/dist/cjs/apis/getCookie.cjs +14 -0
  999. package/node_modules/zca-js/dist/cjs/apis/getCrossDB.cjs +22 -0
  1000. package/node_modules/zca-js/dist/cjs/apis/getFriendBoardList.cjs +31 -0
  1001. package/node_modules/zca-js/dist/cjs/apis/getFriendOnlines.cjs +40 -0
  1002. package/node_modules/zca-js/dist/cjs/apis/getFriendRecommendations.cjs +32 -0
  1003. package/node_modules/zca-js/dist/cjs/apis/getFriendRequestStatus.cjs +30 -0
  1004. package/node_modules/zca-js/dist/cjs/apis/getFullAvatar.cjs +30 -0
  1005. package/node_modules/zca-js/dist/cjs/apis/getGroupBlockedMember.cjs +34 -0
  1006. package/node_modules/zca-js/dist/cjs/apis/getGroupChatHistory.cjs +51 -0
  1007. package/node_modules/zca-js/dist/cjs/apis/getGroupInfo.cjs +37 -0
  1008. package/node_modules/zca-js/dist/cjs/apis/getGroupInviteBoxInfo.cjs +43 -0
  1009. package/node_modules/zca-js/dist/cjs/apis/getGroupInviteBoxList.cjs +36 -0
  1010. package/node_modules/zca-js/dist/cjs/apis/getGroupLinkDetail.cjs +30 -0
  1011. package/node_modules/zca-js/dist/cjs/apis/getGroupLinkInfo.cjs +33 -0
  1012. package/node_modules/zca-js/dist/cjs/apis/getGroupMembersInfo.cjs +29 -0
  1013. package/node_modules/zca-js/dist/cjs/apis/getHiddenConversations.cjs +28 -0
  1014. package/node_modules/zca-js/dist/cjs/apis/getLabels.cjs +33 -0
  1015. package/node_modules/zca-js/dist/cjs/apis/getListBank.cjs +25 -0
  1016. package/node_modules/zca-js/dist/cjs/apis/getListBankAccount.cjs +32 -0
  1017. package/node_modules/zca-js/dist/cjs/apis/getListBoard.cjs +59 -0
  1018. package/node_modules/zca-js/dist/cjs/apis/getListDevice.cjs +27 -0
  1019. package/node_modules/zca-js/dist/cjs/apis/getListReminder.cjs +61 -0
  1020. package/node_modules/zca-js/dist/cjs/apis/getMultiUsersByPhones.cjs +53 -0
  1021. package/node_modules/zca-js/dist/cjs/apis/getMute.cjs +27 -0
  1022. package/node_modules/zca-js/dist/cjs/apis/getOwnId.cjs +9 -0
  1023. package/node_modules/zca-js/dist/cjs/apis/getPendingGroupMembers.cjs +32 -0
  1024. package/node_modules/zca-js/dist/cjs/apis/getPinConversations.cjs +27 -0
  1025. package/node_modules/zca-js/dist/cjs/apis/getPollDetail.cjs +35 -0
  1026. package/node_modules/zca-js/dist/cjs/apis/getProductCatalogList.cjs +38 -0
  1027. package/node_modules/zca-js/dist/cjs/apis/getQR.cjs +34 -0
  1028. package/node_modules/zca-js/dist/cjs/apis/getQuickMessageList.cjs +29 -0
  1029. package/node_modules/zca-js/dist/cjs/apis/getRelatedFriendGroup.cjs +35 -0
  1030. package/node_modules/zca-js/dist/cjs/apis/getReminder.cjs +30 -0
  1031. package/node_modules/zca-js/dist/cjs/apis/getReminderResponses.cjs +29 -0
  1032. package/node_modules/zca-js/dist/cjs/apis/getSentFriendRequest.cjs +29 -0
  1033. package/node_modules/zca-js/dist/cjs/apis/getSettings.cjs +25 -0
  1034. package/node_modules/zca-js/dist/cjs/apis/getStickerCategoryDetail.cjs +29 -0
  1035. package/node_modules/zca-js/dist/cjs/apis/getStickers.cjs +45 -0
  1036. package/node_modules/zca-js/dist/cjs/apis/getStickersDetail.cjs +45 -0
  1037. package/node_modules/zca-js/dist/cjs/apis/getUnreadMark.cjs +35 -0
  1038. package/node_modules/zca-js/dist/cjs/apis/getUserInfo.cjs +58 -0
  1039. package/node_modules/zca-js/dist/cjs/apis/inviteUserToGroups.cjs +35 -0
  1040. package/node_modules/zca-js/dist/cjs/apis/joinGroupInviteBox.cjs +30 -0
  1041. package/node_modules/zca-js/dist/cjs/apis/joinGroupLink.cjs +32 -0
  1042. package/node_modules/zca-js/dist/cjs/apis/keepAlive.cjs +27 -0
  1043. package/node_modules/zca-js/dist/cjs/apis/lastOnline.cjs +31 -0
  1044. package/node_modules/zca-js/dist/cjs/apis/leaveGroup.cjs +38 -0
  1045. package/node_modules/zca-js/dist/cjs/apis/listen.cjs +440 -0
  1046. package/node_modules/zca-js/dist/cjs/apis/lockPoll.cjs +33 -0
  1047. package/node_modules/zca-js/dist/cjs/apis/login.cjs +102 -0
  1048. package/node_modules/zca-js/dist/cjs/apis/loginQR.cjs +368 -0
  1049. package/node_modules/zca-js/dist/cjs/apis/logoutV2.cjs +83 -0
  1050. package/node_modules/zca-js/dist/cjs/apis/lostFocus.cjs +28 -0
  1051. package/node_modules/zca-js/dist/cjs/apis/parseLink.cjs +32 -0
  1052. package/node_modules/zca-js/dist/cjs/apis/pullMobileMsg.cjs +26 -0
  1053. package/node_modules/zca-js/dist/cjs/apis/registerCatalog.cjs +32 -0
  1054. package/node_modules/zca-js/dist/cjs/apis/rejectFriendRequest.cjs +32 -0
  1055. package/node_modules/zca-js/dist/cjs/apis/removeFriend.cjs +33 -0
  1056. package/node_modules/zca-js/dist/cjs/apis/removeFriendAlias.cjs +29 -0
  1057. package/node_modules/zca-js/dist/cjs/apis/removeGroupBlockedMember.cjs +33 -0
  1058. package/node_modules/zca-js/dist/cjs/apis/removeGroupDeputy.cjs +35 -0
  1059. package/node_modules/zca-js/dist/cjs/apis/removeQuickMessage.cjs +32 -0
  1060. package/node_modules/zca-js/dist/cjs/apis/removeReminder.cjs +54 -0
  1061. package/node_modules/zca-js/dist/cjs/apis/removeUnreadMark.cjs +64 -0
  1062. package/node_modules/zca-js/dist/cjs/apis/removeUserFromGroup.cjs +39 -0
  1063. package/node_modules/zca-js/dist/cjs/apis/requestSyncMessage.cjs +22 -0
  1064. package/node_modules/zca-js/dist/cjs/apis/resetHiddenConversPin.cjs +25 -0
  1065. package/node_modules/zca-js/dist/cjs/apis/reuseAvatar.cjs +31 -0
  1066. package/node_modules/zca-js/dist/cjs/apis/reviewPendingMemberRequest.cjs +43 -0
  1067. package/node_modules/zca-js/dist/cjs/apis/scanURL.cjs +33 -0
  1068. package/node_modules/zca-js/dist/cjs/apis/searchSticker.cjs +33 -0
  1069. package/node_modules/zca-js/dist/cjs/apis/sendBankCard.cjs +68 -0
  1070. package/node_modules/zca-js/dist/cjs/apis/sendCard.cjs +89 -0
  1071. package/node_modules/zca-js/dist/cjs/apis/sendDeliveredEvent.cjs +69 -0
  1072. package/node_modules/zca-js/dist/cjs/apis/sendFriendRequest.cjs +44 -0
  1073. package/node_modules/zca-js/dist/cjs/apis/sendLink.cjs +92 -0
  1074. package/node_modules/zca-js/dist/cjs/apis/sendMessage.cjs +500 -0
  1075. package/node_modules/zca-js/dist/cjs/apis/sendReport.cjs +67 -0
  1076. package/node_modules/zca-js/dist/cjs/apis/sendSeenEvent.cjs +77 -0
  1077. package/node_modules/zca-js/dist/cjs/apis/sendSticker.cjs +88 -0
  1078. package/node_modules/zca-js/dist/cjs/apis/sendTypingEvent.cjs +47 -0
  1079. package/node_modules/zca-js/dist/cjs/apis/sendVideo.cjs +148 -0
  1080. package/node_modules/zca-js/dist/cjs/apis/sendVoice.cjs +103 -0
  1081. package/node_modules/zca-js/dist/cjs/apis/setHiddenConversations.cjs +53 -0
  1082. package/node_modules/zca-js/dist/cjs/apis/setMute.cjs +81 -0
  1083. package/node_modules/zca-js/dist/cjs/apis/setPinnedConversations.cjs +48 -0
  1084. package/node_modules/zca-js/dist/cjs/apis/sharePoll.cjs +33 -0
  1085. package/node_modules/zca-js/dist/cjs/apis/unblockUser.cjs +33 -0
  1086. package/node_modules/zca-js/dist/cjs/apis/undo.cjs +56 -0
  1087. package/node_modules/zca-js/dist/cjs/apis/undoFriendRequest.cjs +32 -0
  1088. package/node_modules/zca-js/dist/cjs/apis/updateActiveStatus.cjs +32 -0
  1089. package/node_modules/zca-js/dist/cjs/apis/updateArchivedChatList.cjs +39 -0
  1090. package/node_modules/zca-js/dist/cjs/apis/updateAutoDeleteChat.cjs +54 -0
  1091. package/node_modules/zca-js/dist/cjs/apis/updateAutoReply.cjs +43 -0
  1092. package/node_modules/zca-js/dist/cjs/apis/updateBankAccount.cjs +36 -0
  1093. package/node_modules/zca-js/dist/cjs/apis/updateCatalog.cjs +35 -0
  1094. package/node_modules/zca-js/dist/cjs/apis/updateGroupSettings.cjs +48 -0
  1095. package/node_modules/zca-js/dist/cjs/apis/updateHiddenConversPin.cjs +35 -0
  1096. package/node_modules/zca-js/dist/cjs/apis/updateLabels.cjs +39 -0
  1097. package/node_modules/zca-js/dist/cjs/apis/updateLang.cjs +35 -0
  1098. package/node_modules/zca-js/dist/cjs/apis/updateProductCatalog.cjs +56 -0
  1099. package/node_modules/zca-js/dist/cjs/apis/updateProfile.cjs +48 -0
  1100. package/node_modules/zca-js/dist/cjs/apis/updateProfileBio.cjs +32 -0
  1101. package/node_modules/zca-js/dist/cjs/apis/updateQuickMessage.cjs +66 -0
  1102. package/node_modules/zca-js/dist/cjs/apis/updateSettings.cjs +95 -0
  1103. package/node_modules/zca-js/dist/cjs/apis/upgradeGroupToCommunity.cjs +32 -0
  1104. package/node_modules/zca-js/dist/cjs/apis/uploadAttachment.cjs +211 -0
  1105. package/node_modules/zca-js/dist/cjs/apis/uploadProductPhoto.cjs +55 -0
  1106. package/node_modules/zca-js/dist/cjs/apis/votePoll.cjs +34 -0
  1107. package/node_modules/zca-js/dist/cjs/apis.cjs +332 -0
  1108. package/node_modules/zca-js/dist/cjs/context.cjs +34 -0
  1109. package/node_modules/zca-js/dist/cjs/index.cjs +159 -0
  1110. package/node_modules/zca-js/dist/cjs/models/AutoReply.cjs +9 -0
  1111. package/node_modules/zca-js/dist/cjs/models/Bank.cjs +263 -0
  1112. package/node_modules/zca-js/dist/cjs/models/Board.cjs +8 -0
  1113. package/node_modules/zca-js/dist/cjs/models/DeliveredMessage.cjs +23 -0
  1114. package/node_modules/zca-js/dist/cjs/models/Enum.cjs +27 -0
  1115. package/node_modules/zca-js/dist/cjs/models/FriendEvent.cjs +87 -0
  1116. package/node_modules/zca-js/dist/cjs/models/Group.cjs +13 -0
  1117. package/node_modules/zca-js/dist/cjs/models/GroupEvent.cjs +94 -0
  1118. package/node_modules/zca-js/dist/cjs/models/Message.cjs +35 -0
  1119. package/node_modules/zca-js/dist/cjs/models/Reaction.cjs +74 -0
  1120. package/node_modules/zca-js/dist/cjs/models/Reminder.cjs +9 -0
  1121. package/node_modules/zca-js/dist/cjs/models/SeenMessage.cjs +23 -0
  1122. package/node_modules/zca-js/dist/cjs/models/Typing.cjs +23 -0
  1123. package/node_modules/zca-js/dist/cjs/models/Undo.cjs +16 -0
  1124. package/node_modules/zca-js/dist/cjs/models/ZBusiness.cjs +39 -0
  1125. package/node_modules/zca-js/dist/cjs/update.cjs +34 -0
  1126. package/node_modules/zca-js/dist/cjs/utils.cjs +703 -0
  1127. package/node_modules/zca-js/dist/cjs/zalo.cjs +112 -0
  1128. package/node_modules/zca-js/dist/context.d.ts +179 -0
  1129. package/node_modules/zca-js/dist/context.js +28 -0
  1130. package/node_modules/zca-js/dist/index.d.ts +166 -0
  1131. package/node_modules/zca-js/dist/index.js +14 -0
  1132. package/node_modules/zca-js/dist/models/Attachment.d.ts +9 -0
  1133. package/node_modules/zca-js/dist/models/Attachment.js +1 -0
  1134. package/node_modules/zca-js/dist/models/AutoReply.d.ts +20 -0
  1135. package/node_modules/zca-js/dist/models/AutoReply.js +7 -0
  1136. package/node_modules/zca-js/dist/models/Bank.d.ts +291 -0
  1137. package/node_modules/zca-js/dist/models/Bank.js +262 -0
  1138. package/node_modules/zca-js/dist/models/Board.d.ts +60 -0
  1139. package/node_modules/zca-js/dist/models/Board.js +6 -0
  1140. package/node_modules/zca-js/dist/models/Catalog.d.ts +16 -0
  1141. package/node_modules/zca-js/dist/models/Catalog.js +1 -0
  1142. package/node_modules/zca-js/dist/models/DeliveredMessage.d.ts +27 -0
  1143. package/node_modules/zca-js/dist/models/DeliveredMessage.js +17 -0
  1144. package/node_modules/zca-js/dist/models/Enum.d.ts +21 -0
  1145. package/node_modules/zca-js/dist/models/Enum.js +25 -0
  1146. package/node_modules/zca-js/dist/models/FriendEvent.d.ts +107 -0
  1147. package/node_modules/zca-js/dist/models/FriendEvent.js +83 -0
  1148. package/node_modules/zca-js/dist/models/Group.d.ts +125 -0
  1149. package/node_modules/zca-js/dist/models/Group.js +11 -0
  1150. package/node_modules/zca-js/dist/models/GroupEvent.d.ts +178 -0
  1151. package/node_modules/zca-js/dist/models/GroupEvent.js +90 -0
  1152. package/node_modules/zca-js/dist/models/Label.d.ts +10 -0
  1153. package/node_modules/zca-js/dist/models/Label.js +1 -0
  1154. package/node_modules/zca-js/dist/models/Message.d.ts +91 -0
  1155. package/node_modules/zca-js/dist/models/Message.js +29 -0
  1156. package/node_modules/zca-js/dist/models/ProductCatalog.d.ts +17 -0
  1157. package/node_modules/zca-js/dist/models/ProductCatalog.js +1 -0
  1158. package/node_modules/zca-js/dist/models/QuickMessage.d.ts +25 -0
  1159. package/node_modules/zca-js/dist/models/QuickMessage.js +1 -0
  1160. package/node_modules/zca-js/dist/models/Reaction.d.ts +85 -0
  1161. package/node_modules/zca-js/dist/models/Reaction.js +70 -0
  1162. package/node_modules/zca-js/dist/models/Reminder.d.ts +51 -0
  1163. package/node_modules/zca-js/dist/models/Reminder.js +7 -0
  1164. package/node_modules/zca-js/dist/models/SeenMessage.d.ts +26 -0
  1165. package/node_modules/zca-js/dist/models/SeenMessage.js +17 -0
  1166. package/node_modules/zca-js/dist/models/Sticker.d.ts +27 -0
  1167. package/node_modules/zca-js/dist/models/Sticker.js +1 -0
  1168. package/node_modules/zca-js/dist/models/Typing.d.ts +24 -0
  1169. package/node_modules/zca-js/dist/models/Typing.js +17 -0
  1170. package/node_modules/zca-js/dist/models/Undo.d.ts +34 -0
  1171. package/node_modules/zca-js/dist/models/Undo.js +12 -0
  1172. package/node_modules/zca-js/dist/models/User.d.ts +70 -0
  1173. package/node_modules/zca-js/dist/models/User.js +1 -0
  1174. package/node_modules/zca-js/dist/models/ZBusiness.d.ts +22 -0
  1175. package/node_modules/zca-js/dist/models/ZBusiness.js +35 -0
  1176. package/node_modules/zca-js/dist/models/index.d.ts +22 -0
  1177. package/node_modules/zca-js/dist/models/index.js +22 -0
  1178. package/node_modules/zca-js/dist/update.d.ts +2 -0
  1179. package/node_modules/zca-js/dist/update.js +29 -0
  1180. package/node_modules/zca-js/dist/utils.d.ts +167 -0
  1181. package/node_modules/zca-js/dist/utils.js +719 -0
  1182. package/node_modules/zca-js/dist/zalo.d.ts +41 -0
  1183. package/node_modules/zca-js/dist/zalo.js +107 -0
  1184. package/node_modules/zca-js/eslint.config.js +21 -0
  1185. package/node_modules/zca-js/index.d.ts +2 -0
  1186. package/node_modules/zca-js/package.json +78 -0
  1187. package/node_modules/zca-js/rollup.config.js +28 -0
  1188. package/package.json +80 -62
  1189. package/patches/zca-js+2.2.0.patch +1677 -0
  1190. package/src/cli.test.js +34 -5
  1191. package/src/commands/account.js +98 -5
  1192. package/src/commands/auto-reply.js +30 -10
  1193. package/src/commands/catalog.js +5 -4
  1194. package/src/commands/conv.js +551 -14
  1195. package/src/commands/friend.js +19 -7
  1196. package/src/commands/group.js +82 -31
  1197. package/src/commands/listen.js +624 -68
  1198. package/src/commands/login.js +179 -20
  1199. package/src/commands/mcp.js +422 -44
  1200. package/src/commands/msg.js +1288 -140
  1201. package/src/commands/oa-listen.js +130 -20
  1202. package/src/commands/oa.js +26 -5
  1203. package/src/commands/poll.js +7 -2
  1204. package/src/commands/profile.js +3 -2
  1205. package/src/commands/sync.js +2052 -0
  1206. package/src/core/accounts.js +69 -6
  1207. package/src/core/cached-message.js +200 -0
  1208. package/src/core/coverage.js +90 -0
  1209. package/src/core/current-user-names.js +104 -0
  1210. package/src/core/daemon-account.js +61 -0
  1211. package/src/core/daemon-channel.js +638 -0
  1212. package/src/core/daemon-sync.js +181 -0
  1213. package/src/core/db.js +1625 -0
  1214. package/src/core/forward.js +112 -0
  1215. package/src/core/group-history.js +248 -0
  1216. package/src/core/group-members.js +68 -0
  1217. package/src/core/group-settings.js +250 -0
  1218. package/src/core/history-fetch.js +208 -0
  1219. package/src/core/listener-lifecycle.js +90 -0
  1220. package/src/core/live-api.js +47 -0
  1221. package/src/core/live-store.js +733 -0
  1222. package/src/core/lock.js +129 -0
  1223. package/src/core/logout.js +289 -0
  1224. package/src/core/offline-queue.js +194 -0
  1225. package/src/core/pin.js +222 -0
  1226. package/src/core/read-state.js +318 -0
  1227. package/src/core/receipts.js +679 -0
  1228. package/src/core/recent-conversations.js +30 -0
  1229. package/src/core/self-heal.js +522 -0
  1230. package/src/core/socket-tap.js +154 -0
  1231. package/src/core/sync-v2/assets.js +181 -0
  1232. package/src/core/sync-v2/board.js +338 -0
  1233. package/src/core/sync-v2/conv-state.js +152 -0
  1234. package/src/core/sync-v2/gap-advice.js +110 -0
  1235. package/src/core/sync-v2/gid.js +106 -0
  1236. package/src/core/sync-v2/index.js +1259 -0
  1237. package/src/core/sync-v2/keepalive.js +177 -0
  1238. package/src/core/sync-v2/media.js +704 -0
  1239. package/src/core/sync-v2/message-types.js +522 -0
  1240. package/src/core/sync-v2/plan.js +95 -0
  1241. package/src/core/sync-v2/reactions.js +236 -0
  1242. package/src/core/sync-v2/renewlink.js +124 -0
  1243. package/src/core/sync-v2/senders.js +61 -0
  1244. package/src/core/sync-v2/zcloud-cipher.js +88 -0
  1245. package/src/core/sync-v2/zcloud.js +675 -0
  1246. package/src/core/sync.js +540 -0
  1247. package/src/core/zalo-client.js +179 -61
  1248. package/src/core/zca-custom.js +78 -0
  1249. package/src/index.js +15 -3
  1250. package/src/mcp/mcp-config.js +40 -3
  1251. package/src/mcp/mcp-http-transport.js +12 -2
  1252. package/src/mcp/mcp-server.js +5 -2
  1253. package/src/mcp/mcp-tools.js +969 -99
  1254. package/src/mcp/message-buffer.js +38 -8
  1255. package/src/mcp/message-buffer.test.js +67 -15
  1256. package/src/mcp/notifier.js +17 -1
  1257. package/src/mcp/notifier.test.js +6 -0
  1258. package/src/mcp/sync-jobs.js +82 -0
  1259. package/src/mcp/thread-name-cache.js +14 -1
  1260. package/src/mcp/thread-name-cache.test.js +4 -1
  1261. package/src/utils/bank-helpers.js +8 -3
  1262. package/src/utils/device-fingerprint.js +72 -0
  1263. package/src/utils/mentions.js +140 -0
  1264. package/src/utils/my-documents.js +95 -0
  1265. package/src/utils/open-file.js +49 -0
  1266. package/src/utils/output.js +75 -4
  1267. package/src/utils/parse-options.js +56 -0
  1268. package/src/utils/qr-http-server.js +44 -7
  1269. package/src/utils/quote.js +203 -0
  1270. package/src/utils/thread-type.js +72 -0
  1271. package/src/utils/update-check.js +42 -1
  1272. package/src/utils/urgency.js +29 -0
  1273. package/src/mcp/media-downloader.js +0 -191
  1274. package/src/mcp/media-downloader.test.js +0 -45
  1275. package/src/utils/qr-display.test.js +0 -97
@@ -0,0 +1,1677 @@
1
+ diff --git a/node_modules/zca-js/dist/apis.js b/node_modules/zca-js/dist/apis.js
2
+ index c8b38fb..ebcf8f9 100644
3
+ --- a/node_modules/zca-js/dist/apis.js
4
+ +++ b/node_modules/zca-js/dist/apis.js
5
+ @@ -154,6 +154,11 @@ import { uploadAttachmentFactory } from "./apis/uploadAttachment.js";
6
+ import { uploadProductPhotoFactory } from "./apis/uploadProductPhoto.js";
7
+ import { votePollFactory } from "./apis/votePoll.js";
8
+ import { customFactory } from "./apis/custom.js";
9
+ +import { requestSyncMessageFactory } from "./apis/requestSyncMessage.js";
10
+ +import { pullMobileMsgFactory } from "./apis/pullMobileMsg.js";
11
+ +import { getCrossDBFactory } from "./apis/getCrossDB.js";
12
+ +import { deleteSnapshotMobileMsgFactory } from "./apis/deleteSnapshotMobileMsg.js";
13
+ +import { logoutV2Factory } from "./apis/logoutV2.js";
14
+ export class API {
15
+ constructor(ctx, zpwServiceMap, wsUrls) {
16
+ this.zpwServiceMap = zpwServiceMap;
17
+ @@ -313,5 +318,10 @@ export class API {
18
+ this.uploadProductPhoto = uploadProductPhotoFactory(ctx, this);
19
+ this.votePoll = votePollFactory(ctx, this);
20
+ this.custom = customFactory(ctx, this);
21
+ + this.requestSyncMessage = requestSyncMessageFactory(ctx, this);
22
+ + this.pullMobileMsg = pullMobileMsgFactory(ctx, this);
23
+ + this.getCrossDB = getCrossDBFactory(ctx, this);
24
+ + this.deleteSnapshotMobileMsg = deleteSnapshotMobileMsgFactory(ctx, this);
25
+ + this.logoutV2 = logoutV2Factory(ctx, this);
26
+ }
27
+ }
28
+ diff --git a/node_modules/zca-js/dist/apis/deleteSnapshotMobileMsg.js b/node_modules/zca-js/dist/apis/deleteSnapshotMobileMsg.js
29
+ new file mode 100644
30
+ index 0000000..ec513e6
31
+ --- /dev/null
32
+ +++ b/node_modules/zca-js/dist/apis/deleteSnapshotMobileMsg.js
33
+ @@ -0,0 +1,18 @@
34
+ +import { ZaloApiError } from "../Errors/ZaloApiError.js";
35
+ +import { apiFactory } from "../utils.js";
36
+ +
37
+ +export const deleteSnapshotMobileMsgFactory = apiFactory()((api, ctx, utils) => {
38
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/delete_snapshot_mobile_msg`);
39
+ + return async function deleteSnapshotMobileMsg(publicKey) {
40
+ + const params = {
41
+ + public_key: publicKey,
42
+ + imei: ctx.imei
43
+ + };
44
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
45
+ + if (!encryptedParams) throw new ZaloApiError("Failed to encrypt message");
46
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
47
+ + method: "GET"
48
+ + });
49
+ + return utils.resolve(response);
50
+ + };
51
+ +});
52
+ diff --git a/node_modules/zca-js/dist/apis/forwardMessage.js b/node_modules/zca-js/dist/apis/forwardMessage.js
53
+ index ff4f6c6..499fbcf 100644
54
+ --- a/node_modules/zca-js/dist/apis/forwardMessage.js
55
+ +++ b/node_modules/zca-js/dist/apis/forwardMessage.js
56
+ @@ -1,6 +1,19 @@
57
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
58
+ import { ThreadType } from "../models/index.js";
59
+ import { apiFactory } from "../utils.js";
60
+ +/**
61
+ + * Hand the caller the clientId that went on the wire.
62
+ + *
63
+ + * A forward produces a real message that `undo` and `deleteMessage` both
64
+ + * need a cliMsgId to remove, and upstream returns only {msgId}. One
65
+ + * clientId covers every target thread in a call, so the single resolved
66
+ + * response is the right place to put it.
67
+ + */
68
+ +function stampClientId(response, clientId) {
69
+ + if (!response || typeof response != "object" || clientId == undefined)
70
+ + return;
71
+ + response.cliMsgId = String(clientId);
72
+ +}
73
+ export const forwardMessageFactory = apiFactory()((api, ctx, utils) => {
74
+ const serviceURL = {
75
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/mforward`),
76
+ @@ -94,6 +107,8 @@ export const forwardMessageFactory = apiFactory()((api, ctx, utils) => {
77
+ params: encryptedParams,
78
+ }),
79
+ });
80
+ - return utils.resolve(response);
81
+ + const resolved = await utils.resolve(response);
82
+ + stampClientId(resolved, clientId);
83
+ + return resolved;
84
+ };
85
+ });
86
+ diff --git a/node_modules/zca-js/dist/apis/getCrossDB.js b/node_modules/zca-js/dist/apis/getCrossDB.js
87
+ new file mode 100644
88
+ index 0000000..3bf97b9
89
+ --- /dev/null
90
+ +++ b/node_modules/zca-js/dist/apis/getCrossDB.js
91
+ @@ -0,0 +1,18 @@
92
+ +import { ZaloApiError } from "../Errors/ZaloApiError.js";
93
+ +import { apiFactory } from "../utils.js";
94
+ +
95
+ +export const getCrossDBFactory = apiFactory()((api, _, utils) => {
96
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/get_crossdb`);
97
+ + return async function getCrossDB(syncSession) {
98
+ + const params = {
99
+ + pc_name: "Web",
100
+ + sync_session: syncSession
101
+ + };
102
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
103
+ + if (!encryptedParams) throw new ZaloApiError("Failed to encrypt message");
104
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
105
+ + method: "GET"
106
+ + });
107
+ + return utils.resolve(response);
108
+ + };
109
+ +});
110
+ diff --git a/node_modules/zca-js/dist/apis/loginQR.js b/node_modules/zca-js/dist/apis/loginQR.js
111
+ index 7405811..309c23c 100644
112
+ --- a/node_modules/zca-js/dist/apis/loginQR.js
113
+ +++ b/node_modules/zca-js/dist/apis/loginQR.js
114
+ @@ -12,16 +12,33 @@ export var LoginQRCallbackEventType;
115
+ LoginQRCallbackEventType[LoginQRCallbackEventType["QRCodeDeclined"] = 3] = "QRCodeDeclined";
116
+ LoginQRCallbackEventType[LoginQRCallbackEventType["GotLoginInfo"] = 4] = "GotLoginInfo";
117
+ })(LoginQRCallbackEventType || (LoginQRCallbackEventType = {}));
118
+ +// Client Hints (sec-ch-ua*) for the QR-login handshake, derived from
119
+ +// ctx.secChUa/secChUaPlatform/secChUaMobile when the caller supplies them
120
+ +// (see zalo-agent-cli's device-fingerprint generator), falling back to the
121
+ +// original hardcoded Chrome-130/Windows literals otherwise — so behavior is
122
+ +// unchanged for any caller that doesn't set these ctx fields.
123
+ +//
124
+ +// Why this exists: the User-Agent header sent for this whole handshake
125
+ +// (ctx.userAgent, defaulted in zalo.js to a Firefox UA string) previously
126
+ +// had NO relationship to these sec-ch-ua values at all — every request
127
+ +// claimed "Firefox/133.0" in User-Agent while separately, unconditionally
128
+ +// claiming Chromium/Chrome v130 via Client Hints. Real browsers never
129
+ +// produce that combination (Firefox doesn't send sec-ch-ua headers), and
130
+ +// it was identical across every zca-js install on earth regardless of what
131
+ +// was actually running the CLI. Deriving these from the same ctx fields
132
+ +// the caller controls for userAgent keeps the whole fingerprint internally
133
+ +// consistent.
134
+ +function secChUaHeaders(ctx) {
135
+ + var _a, _b, _c;
136
+ + return {
137
+ + "sec-ch-ua": (_a = ctx.secChUa) !== null && _a !== void 0 ? _a : '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
138
+ + "sec-ch-ua-mobile": (_b = ctx.secChUaMobile) !== null && _b !== void 0 ? _b : "?0",
139
+ + "sec-ch-ua-platform": (_c = ctx.secChUaPlatform) !== null && _c !== void 0 ? _c : '"Windows"',
140
+ + };
141
+ +}
142
+ async function loadLoginPage(ctx) {
143
+ const response = await request(ctx, "https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F", {
144
+ - headers: {
145
+ - accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
146
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
147
+ - "cache-control": "max-age=0",
148
+ - priority: "u=0, i",
149
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
150
+ - "sec-ch-ua-mobile": "?0",
151
+ - "sec-ch-ua-platform": '"Windows"',
152
+ + headers: Object.assign({ accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", "cache-control": "max-age=0", priority: "u=0, i" }, secChUaHeaders(ctx), {
153
+ "sec-fetch-dest": "document",
154
+ "sec-fetch-mode": "navigate",
155
+ "sec-fetch-site": "same-site",
156
+ @@ -29,7 +46,7 @@ async function loadLoginPage(ctx) {
157
+ "upgrade-insecure-requests": "1",
158
+ Referer: "https://chat.zalo.me/",
159
+ "Referrer-Policy": "strict-origin-when-cross-origin",
160
+ - },
161
+ + }),
162
+ method: "GET",
163
+ });
164
+ const html = await response.text();
165
+ @@ -37,25 +54,34 @@ async function loadLoginPage(ctx) {
166
+ const match = html.match(regex);
167
+ return match === null || match === void 0 ? void 0 : match[1];
168
+ }
169
+ +// `continue` target for the id.zalo.me SSO handshake — "https://zalo.me/pc"
170
+ +// on getLoginInfo/verifyClient/generate, distinct from loadLoginPage/
171
+ +// waitingScan/waitingConfirm/checkSession's "https://chat.zalo.me/". TWO
172
+ +// live-tested attempts (2026-09-19) to unify these on "chat.zalo.me/" both
173
+ +// broke QR generation outright (phone reports the QR invalid/unreadable on
174
+ +// scan), even after adding the `cliGenQR=1` flag a live capture of the real
175
+ +// web client showed on its generate() call. Reverted both times. Whatever
176
+ +// the real server-side check is, it isn't fully explained by this request's
177
+ +// body fields alone — plausibly something header- or cookie-level from an
178
+ +// actual browser session (a CSRF/anti-forgery token embedded in the real
179
+ +// loadLoginPage HTML response and echoed back on later calls, which this
180
+ +// library never reads because it only regex-extracts the login version out
181
+ +// of that HTML — or an Origin/sec-fetch header combination a non-browser
182
+ +// HTTP client can't authentically reproduce). Leave `continue` alone here;
183
+ +// don't re-attempt this without capturing full REQUEST headers (not just
184
+ +// body) from a real browser session for comparison, not just the body.
185
+ async function getLoginInfo(ctx, version) {
186
+ const form = new URLSearchParams();
187
+ form.append("continue", "https://zalo.me/pc");
188
+ form.append("v", version);
189
+ return await request(ctx, "https://id.zalo.me/account/logininfo", {
190
+ - headers: {
191
+ - accept: "*/*",
192
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
193
+ - "content-type": "application/x-www-form-urlencoded",
194
+ - priority: "u=1, i",
195
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
196
+ - "sec-ch-ua-mobile": "?0",
197
+ - "sec-ch-ua-platform": '"Windows"',
198
+ + headers: Object.assign({ accept: "*/*", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", "content-type": "application/x-www-form-urlencoded", priority: "u=1, i" }, secChUaHeaders(ctx), {
199
+ "sec-fetch-dest": "empty",
200
+ "sec-fetch-mode": "cors",
201
+ "sec-fetch-site": "same-origin",
202
+ Referer: "https://id.zalo.me/account?continue=https%3A%2F%2Fzalo.me%2Fpc",
203
+ "Referrer-Policy": "strict-origin-when-cross-origin",
204
+ - },
205
+ + }),
206
+ body: form,
207
+ method: "POST",
208
+ })
209
+ @@ -68,20 +94,13 @@ async function verifyClient(ctx, version) {
210
+ form.append("continue", "https://zalo.me/pc");
211
+ form.append("v", version);
212
+ return await request(ctx, "https://id.zalo.me/account/verify-client", {
213
+ - headers: {
214
+ - accept: "*/*",
215
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
216
+ - "content-type": "application/x-www-form-urlencoded",
217
+ - priority: "u=1, i",
218
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
219
+ - "sec-ch-ua-mobile": "?0",
220
+ - "sec-ch-ua-platform": '"Windows"',
221
+ + headers: Object.assign({ accept: "*/*", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", "content-type": "application/x-www-form-urlencoded", priority: "u=1, i" }, secChUaHeaders(ctx), {
222
+ "sec-fetch-dest": "empty",
223
+ "sec-fetch-mode": "cors",
224
+ "sec-fetch-site": "same-origin",
225
+ Referer: "https://id.zalo.me/account?continue=https%3A%2F%2Fzalo.me%2Fpc",
226
+ "Referrer-Policy": "strict-origin-when-cross-origin",
227
+ - },
228
+ + }),
229
+ body: form,
230
+ method: "POST",
231
+ })
232
+ @@ -93,20 +112,13 @@ async function generate(ctx, version) {
233
+ form.append("continue", "https://zalo.me/pc");
234
+ form.append("v", version);
235
+ return await request(ctx, "https://id.zalo.me/account/authen/qr/generate", {
236
+ - headers: {
237
+ - accept: "*/*",
238
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
239
+ - "content-type": "application/x-www-form-urlencoded",
240
+ - priority: "u=1, i",
241
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
242
+ - "sec-ch-ua-mobile": "?0",
243
+ - "sec-ch-ua-platform": '"Windows"',
244
+ + headers: Object.assign({ accept: "*/*", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", "content-type": "application/x-www-form-urlencoded", priority: "u=1, i" }, secChUaHeaders(ctx), {
245
+ "sec-fetch-dest": "empty",
246
+ "sec-fetch-mode": "cors",
247
+ "sec-fetch-site": "same-origin",
248
+ Referer: "https://id.zalo.me/account?continue=https%3A%2F%2Fzalo.me%2Fpc",
249
+ "Referrer-Policy": "strict-origin-when-cross-origin",
250
+ - },
251
+ + }),
252
+ body: form,
253
+ method: "POST",
254
+ })
255
+ @@ -122,20 +134,13 @@ async function waitingScan(ctx, version, code, signal) {
256
+ form.append("continue", "https://chat.zalo.me/");
257
+ form.append("v", version);
258
+ return await request(ctx, "https://id.zalo.me/account/authen/qr/waiting-scan", {
259
+ - headers: {
260
+ - accept: "*/*",
261
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
262
+ - "content-type": "application/x-www-form-urlencoded",
263
+ - priority: "u=1, i",
264
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
265
+ - "sec-ch-ua-mobile": "?0",
266
+ - "sec-ch-ua-platform": '"Windows"',
267
+ + headers: Object.assign({ accept: "*/*", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", "content-type": "application/x-www-form-urlencoded", priority: "u=1, i" }, secChUaHeaders(ctx), {
268
+ "sec-fetch-dest": "empty",
269
+ "sec-fetch-mode": "cors",
270
+ "sec-fetch-site": "same-origin",
271
+ Referer: "https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F",
272
+ "Referrer-Policy": "strict-origin-when-cross-origin",
273
+ - },
274
+ + }),
275
+ body: form,
276
+ method: "POST",
277
+ signal,
278
+ @@ -153,28 +158,29 @@ async function waitingScan(ctx, version, code, signal) {
279
+ });
280
+ }
281
+ async function waitingConfirm(ctx, version, code, signal) {
282
+ + // Live-captured 2026-09-19 from the real chat.zalo.me/id.zalo.me web
283
+ + // client: its waiting-confirm request body is ONLY continue+code+v (the
284
+ + // same three fields waitingScan sends) — never gToken/gAction. Sending
285
+ + // those two extra, real-client-never-sends fields (as upstream zca-js
286
+ + // did) is very likely why a decline on the phone was never observed
287
+ + // here: the real client's identical 3-field long-poll got error_code
288
+ + // -13 back in a single ~8s round trip the moment the phone declined,
289
+ + // while zca-js kept getting error_code 8 (busy-wait) over and over
290
+ + // until the outer 100s QR timer killed the whole login attempt. Dropped
291
+ + // to match the real client exactly.
292
+ const form = new URLSearchParams();
293
+ form.append("code", code);
294
+ - form.append("gToken", "");
295
+ - form.append("gAction", "CONFIRM_QR");
296
+ form.append("continue", "https://chat.zalo.me/");
297
+ form.append("v", version);
298
+ logger(ctx).info("Please confirm on your phone");
299
+ return await request(ctx, "https://id.zalo.me/account/authen/qr/waiting-confirm", {
300
+ - headers: {
301
+ - accept: "*/*",
302
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
303
+ - "content-type": "application/x-www-form-urlencoded",
304
+ - priority: "u=1, i",
305
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
306
+ - "sec-ch-ua-mobile": "?0",
307
+ - "sec-ch-ua-platform": '"Windows"',
308
+ + headers: Object.assign({ accept: "*/*", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", "content-type": "application/x-www-form-urlencoded", priority: "u=1, i" }, secChUaHeaders(ctx), {
309
+ "sec-fetch-dest": "empty",
310
+ "sec-fetch-mode": "cors",
311
+ "sec-fetch-site": "same-origin",
312
+ Referer: "https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F",
313
+ "Referrer-Policy": "strict-origin-when-cross-origin",
314
+ - },
315
+ + }),
316
+ body: form,
317
+ method: "POST",
318
+ signal,
319
+ @@ -193,39 +199,27 @@ async function waitingConfirm(ctx, version, code, signal) {
320
+ }
321
+ async function checkSession(ctx) {
322
+ return await request(ctx, "https://id.zalo.me/account/checksession?continue=https%3A%2F%2Fchat.zalo.me%2Findex.html", {
323
+ - headers: {
324
+ - accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
325
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
326
+ - priority: "u=0, i",
327
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
328
+ - "sec-ch-ua-mobile": "?0",
329
+ - "sec-ch-ua-platform": '"Windows"',
330
+ + headers: Object.assign({ accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", priority: "u=0, i" }, secChUaHeaders(ctx), {
331
+ "sec-fetch-dest": "document",
332
+ "sec-fetch-mode": "navigate",
333
+ "sec-fetch-site": "same-origin",
334
+ "upgrade-insecure-requests": "1",
335
+ Referer: "https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F",
336
+ "Referrer-Policy": "strict-origin-when-cross-origin",
337
+ - },
338
+ + }),
339
+ redirect: "manual",
340
+ method: "GET",
341
+ }).catch(logger(ctx).error);
342
+ }
343
+ async function getUserInfo(ctx) {
344
+ return await request(ctx, "https://jr.chat.zalo.me/jr/userinfo", {
345
+ - headers: {
346
+ - accept: "*/*",
347
+ - "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
348
+ - priority: "u=1, i",
349
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
350
+ - "sec-ch-ua-mobile": "?0",
351
+ - "sec-ch-ua-platform": '"Windows"',
352
+ + headers: Object.assign({ accept: "*/*", "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5", priority: "u=1, i" }, secChUaHeaders(ctx), {
353
+ "sec-fetch-dest": "empty",
354
+ "sec-fetch-mode": "cors",
355
+ "sec-fetch-site": "same-site",
356
+ Referer: "https://chat.zalo.me/",
357
+ "Referrer-Policy": "strict-origin-when-cross-origin",
358
+ - },
359
+ + }),
360
+ method: "GET",
361
+ })
362
+ .then((res) => res.json())
363
+ @@ -234,6 +228,13 @@ async function getUserInfo(ctx) {
364
+ export async function loginQR(ctx, options, callback) {
365
+ ctx.cookie = new CookieJar();
366
+ ctx.userAgent = options.userAgent;
367
+ + // See secChUaHeaders() above — falls back to the original hardcoded
368
+ + // Chrome-130/Windows literals when the caller (an older zalo-agent-cli,
369
+ + // or any other zca-js consumer) doesn't pass these, so this is purely
370
+ + // additive and doesn't change behavior for anyone not opting in.
371
+ + ctx.secChUa = options.secChUa;
372
+ + ctx.secChUaPlatform = options.secChUaPlatform;
373
+ + ctx.secChUaMobile = options.secChUaMobile;
374
+ return new Promise(async (resolve, reject) => {
375
+ var _a;
376
+ const controller = new AbortController();
377
+ @@ -322,6 +323,18 @@ export async function loginQR(ctx, options, callback) {
378
+ throw new ZaloApiError("Cannot get confirm result");
379
+ clearTimeout(qrTimeout);
380
+ if (confirmResult.error_code == -13) {
381
+ + // Decline is a terminal state — settle the outer Promise
382
+ + // either way. Upstream zca-js only rejected in the
383
+ + // no-callback branch; with a callback, it fired the
384
+ + // QRCodeDeclined event and then just `return`ed, leaving
385
+ + // the Promise this function returns permanently pending
386
+ + // (the caller's `await loginQR(...)` — e.g.
387
+ + // zalo-agent-cli's `await loginWithQR(...)` — would hang
388
+ + // until the unrelated 100s qrTimeout eventually fired,
389
+ + // misreporting the decline as an expiry). Now the callback
390
+ + // (when present) still fires first for UI purposes, but
391
+ + // this always rejects afterward so the promise settles
392
+ + // immediately.
393
+ if (callback) {
394
+ callback({
395
+ type: LoginQRCallbackEventType.QRCodeDeclined,
396
+ @@ -334,11 +347,9 @@ export async function loginQR(ctx, options, callback) {
397
+ },
398
+ });
399
+ }
400
+ - else {
401
+ - logger(ctx).error("QRCode login declined");
402
+ - throw new ZaloApiLoginQRDeclined();
403
+ - }
404
+ - return;
405
+ + logger(ctx).error("QRCode login declined");
406
+ + cleanUp();
407
+ + return reject(new ZaloApiLoginQRDeclined());
408
+ }
409
+ else if (confirmResult.error_code != 0) {
410
+ throw new ZaloApiError(`An error has occurred.\nResponse: ${JSON.stringify(confirmResult, null, 2)}`);
411
+ diff --git a/node_modules/zca-js/dist/apis/logoutV2.js b/node_modules/zca-js/dist/apis/logoutV2.js
412
+ new file mode 100644
413
+ index 0000000..e250100
414
+ --- /dev/null
415
+ +++ b/node_modules/zca-js/dist/apis/logoutV2.js
416
+ @@ -0,0 +1,79 @@
417
+ +import { ZaloApiError } from "../Errors/ZaloApiError.js";
418
+ +import { apiFactory } from "../utils.js";
419
+ +
420
+ +// CONFIRMED live 2026-09-19 against a real account. Mirrors Zalo Web's own
421
+ +// `ServiceURL.logoutV2(imei, compId?)` (commandId 12743, POST
422
+ +// /api/v2/login/logOut), reverse-engineered from the production webpack
423
+ +// bundle:
424
+ +// static logoutV2(e,t=void 0){
425
+ +// const a = _.b.getDevDomainV3() + "/api/v2/login/logOut?" + this._getCommonParams();
426
+ +// let s = { time, imei: e, computer_name, language };
427
+ +// if (t !== void 0) s.compId = t;
428
+ +// return this._post(a, "params=" + encodeURIComponent(encodeAES(JSON.stringify(s))), null, 12743);
429
+ +// }
430
+ +//
431
+ +// DOMAIN — resolved by trial (each guess live-tested against a real
432
+ +// account):
433
+ +// 1. `zpwServiceMap.aext` (aextra-wpa.chat.zalo.me) — the accessor
434
+ +// `getListDevice` uses. DISPROVEN: real HTTP 404.
435
+ +// 2. `zpwServiceMap.zavi` (wpa.zaloapp.com) — DISPROVEN: reachable, but a
436
+ +// real API error ({error_code:102, "session key was improperly
437
+ +// submitted..."}) — `zaloapp.com` is a different registrable domain
438
+ +// from `zalo.me`, so the zpw_sek session cookie (scoped to `.zalo.me`)
439
+ +// never reached it.
440
+ +// 3. `https://wpa.chat.zalo.me` (HARDCODED, not from zpwServiceMap) —
441
+ +// CONFIRMED CORRECT, live-tested 2026-09-19. Matches `getSettings.js`
442
+ +// in this same package (a genuinely working, authenticated,
443
+ +// hardcoded-domain call) and the known hardcoded PRE-login host this
444
+ +// package's `login.js` already uses. Live response:
445
+ +// `{"error_code":0,"error_message":"Successful.","data":1}`.
446
+ +// 4. `https://stg-wpa.chat.zalo.me` — what the real production webpack
447
+ +// bundle's `getDevDomainV3()` singleton actually returned when called
448
+ +// live in-browser 2026-09-18 (via webpack-jsonp module-cache capture,
449
+ +// zero real requests made). CONFIRMED CORRECT end-to-end, live-tested
450
+ +// 2026-09-19 via a real `logout --purge`: "Server session invalidated
451
+ +// for imei e239d3d5…", no fallback warning — a real authenticated
452
+ +// call against this domain, not just the direct-call capture. ACTIVE
453
+ +// BELOW. Candidate #3 above is left documented as the previously-
454
+ +// confirmed fallback in case this domain is ever retired/changed, but
455
+ +// is no longer needed.
456
+ +//
457
+ +// ENCRYPTION — the response body above is CONFIRMED to be plain JSON, not
458
+ +// the usual AES-encrypted `data` field most zca-js API responses use.
459
+ +// `utils.resolve()` defaults to `isEncrypted = true`, which tried to
460
+ +// AES-decrypt the literal number `1` and, because crypto-js silently
461
+ +// returns an empty string on bad ciphertext/padding rather than throwing,
462
+ +// produced "Failed to parse response data: SyntaxError: Unexpected end of
463
+ +// JSON input" (from `JSON.parse("")`) even though the call had already
464
+ +// succeeded server-side. Fixed by passing `isEncrypted = false` to
465
+ +// `utils.resolve()` here so `result.data` is used as-is.
466
+ +//
467
+ +// (Earlier iterations of this file also had a real bug where
468
+ +// `utils.resolve(response)` was called without `await` — since it wraps
469
+ +// an `async function`, that returned a pending Promise instead of the
470
+ +// actual result, which silently broke a since-removed multi-candidate
471
+ +// fallback loop. Not relevant now that the domain is confirmed and this
472
+ +// is back to a single direct call, but noted here in case this file ever
473
+ +// grows a retry/fallback again: always `await utils.resolve(...)`.)
474
+ +export const logoutV2Factory = apiFactory()((api, ctx, utils) => {
475
+ + const serviceURL = utils.makeURL("https://stg-wpa.chat.zalo.me/api/v2/login/logOut");
476
+ + return async function logoutV2(compId = undefined) {
477
+ + const params = {
478
+ + time: Date.now(),
479
+ + imei: ctx.imei,
480
+ + computer_name: "Web",
481
+ + language: ctx.language || "vi"
482
+ + };
483
+ + if (compId !== undefined) params.compId = compId;
484
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
485
+ + if (!encryptedParams) throw new ZaloApiError("Failed to encrypt message");
486
+ + const response = await utils.request(serviceURL, {
487
+ + method: "POST",
488
+ + body: new URLSearchParams({
489
+ + params: encryptedParams,
490
+ + }),
491
+ + });
492
+ + // isEncrypted = false — see the file header note above.
493
+ + return await utils.resolve(response, undefined, false);
494
+ + };
495
+ +});
496
+ diff --git a/node_modules/zca-js/dist/apis/pullMobileMsg.js b/node_modules/zca-js/dist/apis/pullMobileMsg.js
497
+ new file mode 100644
498
+ index 0000000..ef850ea
499
+ --- /dev/null
500
+ +++ b/node_modules/zca-js/dist/apis/pullMobileMsg.js
501
+ @@ -0,0 +1,22 @@
502
+ +import { ZaloApiError } from "../Errors/ZaloApiError.js";
503
+ +import { apiFactory } from "../utils.js";
504
+ +
505
+ +export const pullMobileMsgFactory = apiFactory()((api, _, utils) => {
506
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/pull_mobile_msg`);
507
+ + return async function pullMobileMsg(publicKey, fromSeqId = 0, isRetry = 0, tempKey = "") {
508
+ + const params = {
509
+ + pc_name: "Web",
510
+ + public_key: publicKey,
511
+ + from_seq_id: fromSeqId,
512
+ + is_retry: isRetry,
513
+ + min_seq_id: 0,
514
+ + temp_key: tempKey
515
+ + };
516
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
517
+ + if (!encryptedParams) throw new ZaloApiError("Failed to encrypt message");
518
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
519
+ + method: "GET"
520
+ + });
521
+ + return utils.resolve(response);
522
+ + };
523
+ +});
524
+ diff --git a/node_modules/zca-js/dist/apis/requestSyncMessage.js b/node_modules/zca-js/dist/apis/requestSyncMessage.js
525
+ new file mode 100644
526
+ index 0000000..d459340
527
+ --- /dev/null
528
+ +++ b/node_modules/zca-js/dist/apis/requestSyncMessage.js
529
+ @@ -0,0 +1,18 @@
530
+ +import { ZaloApiError } from "../Errors/ZaloApiError.js";
531
+ +import { apiFactory } from "../utils.js";
532
+ +
533
+ +export const requestSyncMessageFactory = apiFactory()((api, _, utils) => {
534
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/transfer-sync-v2/request-sync`);
535
+ + return async function requestSyncMessage(reqId, data) {
536
+ + const params = {
537
+ + reqId: String(reqId),
538
+ + data: JSON.stringify(data)
539
+ + };
540
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
541
+ + if (!encryptedParams) throw new ZaloApiError("Failed to encrypt message");
542
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
543
+ + method: "GET"
544
+ + });
545
+ + return utils.resolve(response);
546
+ + };
547
+ +});
548
+ diff --git a/node_modules/zca-js/dist/apis/sendBankCard.js b/node_modules/zca-js/dist/apis/sendBankCard.js
549
+ index f1fbae0..5841159 100644
550
+ --- a/node_modules/zca-js/dist/apis/sendBankCard.js
551
+ +++ b/node_modules/zca-js/dist/apis/sendBankCard.js
552
+ @@ -1,6 +1,19 @@
553
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
554
+ import { ThreadType } from "../models/index.js";
555
+ import { apiFactory } from "../utils.js";
556
+ +/**
557
+ + * Hand the caller the cliMsgId that went on the wire.
558
+ + *
559
+ + * This endpoint names the field `cliMsgId` rather than `clientId`, but the
560
+ + * problem is the same: it is generated here, posted, and then discarded, so
561
+ + * `undo` and `deleteMessage` — both of which require it — had nothing to
562
+ + * work with and a sent bank card could never be recalled.
563
+ + */
564
+ +function stampClientId(response, clientId) {
565
+ + if (!response || typeof response != "object" || clientId == undefined)
566
+ + return;
567
+ + response.cliMsgId = String(clientId);
568
+ +}
569
+ export const sendBankCardFactory = apiFactory()((api, _, utils) => {
570
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.zimsg[0]}/api/transfer/card`);
571
+ /**
572
+ @@ -14,11 +27,12 @@ export const sendBankCardFactory = apiFactory()((api, _, utils) => {
573
+ */
574
+ return async function sendBankCard(payload, threadId, type = ThreadType.User) {
575
+ var _a;
576
+ + const cliMsgId = Date.now().toString();
577
+ const params = {
578
+ binBank: payload.binBank,
579
+ numAccBank: payload.numAccBank,
580
+ nameAccBank: ((_a = payload.nameAccBank) === null || _a === void 0 ? void 0 : _a.toUpperCase()) || "---",
581
+ - cliMsgId: Date.now().toString(),
582
+ + cliMsgId: cliMsgId,
583
+ tsMsg: Date.now(),
584
+ destUid: threadId,
585
+ destType: type === ThreadType.Group ? 1 : 0,
586
+ @@ -32,6 +46,8 @@ export const sendBankCardFactory = apiFactory()((api, _, utils) => {
587
+ params: encryptedParams,
588
+ }),
589
+ });
590
+ - return utils.resolve(response);
591
+ + const resolved = await utils.resolve(response);
592
+ + stampClientId(resolved, cliMsgId);
593
+ + return resolved;
594
+ };
595
+ });
596
+ diff --git a/node_modules/zca-js/dist/apis/sendCard.js b/node_modules/zca-js/dist/apis/sendCard.js
597
+ index 6904bc9..31b3c34 100644
598
+ --- a/node_modules/zca-js/dist/apis/sendCard.js
599
+ +++ b/node_modules/zca-js/dist/apis/sendCard.js
600
+ @@ -1,6 +1,20 @@
601
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
602
+ import { ThreadType } from "../models/index.js";
603
+ import { apiFactory } from "../utils.js";
604
+ +/**
605
+ + * Hand the caller the clientId that went on the wire.
606
+ + *
607
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
608
+ + * both require the cliMsgId, which is client-generated and not derivable
609
+ + * from a msgId. Without this a message of this kind can be sent and then
610
+ + * never recalled. Mirrors the helper in sendMessage.js; kept local so a
611
+ + * zca-js bump that breaks one file cannot break the others.
612
+ + */
613
+ +function stampClientId(response, clientId) {
614
+ + if (!response || typeof response != "object" || clientId == undefined)
615
+ + return;
616
+ + response.cliMsgId = String(clientId);
617
+ +}
618
+ export const sendCardFactory = apiFactory()((api, ctx, utils) => {
619
+ const serviceURL = {
620
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/forward`),
621
+ @@ -54,6 +68,8 @@ export const sendCardFactory = apiFactory()((api, ctx, utils) => {
622
+ params: encryptedParams,
623
+ }),
624
+ });
625
+ - return utils.resolve(response);
626
+ + const resolved = await utils.resolve(response);
627
+ + stampClientId(resolved, clientId);
628
+ + return resolved;
629
+ };
630
+ });
631
+ diff --git a/node_modules/zca-js/dist/apis/sendLink.js b/node_modules/zca-js/dist/apis/sendLink.js
632
+ index b171101..4da232d 100644
633
+ --- a/node_modules/zca-js/dist/apis/sendLink.js
634
+ +++ b/node_modules/zca-js/dist/apis/sendLink.js
635
+ @@ -1,6 +1,20 @@
636
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
637
+ import { ThreadType } from "../models/index.js";
638
+ import { apiFactory } from "../utils.js";
639
+ +/**
640
+ + * Hand the caller the clientId that went on the wire.
641
+ + *
642
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
643
+ + * both require the cliMsgId, which is client-generated and not derivable
644
+ + * from a msgId. Without this a message of this kind can be sent and then
645
+ + * never recalled. Mirrors the helper in sendMessage.js; kept local so a
646
+ + * zca-js bump that breaks one file cannot break the others.
647
+ + */
648
+ +function stampClientId(response, clientId) {
649
+ + if (!response || typeof response != "object" || clientId == undefined)
650
+ + return;
651
+ + response.cliMsgId = String(clientId);
652
+ +}
653
+ export const sendLinkFactory = apiFactory()((api, ctx, utils) => {
654
+ const serviceURL = {
655
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.chat[0]}/api/message/link`, {
656
+ @@ -22,6 +36,7 @@ export const sendLinkFactory = apiFactory()((api, ctx, utils) => {
657
+ return async function sendLink(options, threadId, type = ThreadType.User) {
658
+ var _a;
659
+ const res = await api.parseLink(options.link);
660
+ + const clientId = Date.now();
661
+ const params = {
662
+ msg: options.msg && options.msg.trim()
663
+ ? options.msg.includes(options.link)
664
+ @@ -36,7 +51,7 @@ export const sendLinkFactory = apiFactory()((api, ctx, utils) => {
665
+ type: 2, // 0
666
+ media: JSON.stringify(res.data.media),
667
+ ttl: (_a = options.ttl) !== null && _a !== void 0 ? _a : 0,
668
+ - clientId: Date.now(),
669
+ + clientId: clientId,
670
+ };
671
+ if (type == ThreadType.Group) {
672
+ params.grid = threadId;
673
+ @@ -56,6 +71,8 @@ export const sendLinkFactory = apiFactory()((api, ctx, utils) => {
674
+ params: encryptedParams,
675
+ }),
676
+ });
677
+ - return utils.resolve(response);
678
+ + const resolved = await utils.resolve(response);
679
+ + stampClientId(resolved, clientId);
680
+ + return resolved;
681
+ };
682
+ });
683
+ diff --git a/node_modules/zca-js/dist/apis/sendMessage.d.ts b/node_modules/zca-js/dist/apis/sendMessage.d.ts
684
+ index 8031f4e..c085286 100644
685
+ --- a/node_modules/zca-js/dist/apis/sendMessage.d.ts
686
+ +++ b/node_modules/zca-js/dist/apis/sendMessage.d.ts
687
+ @@ -1,6 +1,12 @@
688
+ import { ThreadType, type TMessage, type AttachmentSource } from "../models/index.js";
689
+ export type SendMessageResult = {
690
+ msgId: number;
691
+ + /**
692
+ + * The clientId this library put on the wire for the message, which Zalo
693
+ + * echoes back as its cliMsgId. Present for text messages sent through
694
+ + * `handleMessage`; absent for attachments.
695
+ + */
696
+ + cliMsgId?: string;
697
+ };
698
+ export type SendMessageResponse = {
699
+ message: SendMessageResult | null;
700
+ diff --git a/node_modules/zca-js/dist/apis/sendMessage.js b/node_modules/zca-js/dist/apis/sendMessage.js
701
+ index 5bda5bc..5982d78 100644
702
+ --- a/node_modules/zca-js/dist/apis/sendMessage.js
703
+ +++ b/node_modules/zca-js/dist/apis/sendMessage.js
704
+ @@ -9,6 +9,18 @@ const attachmentUrlType = {
705
+ video: "asyncfile/msg?",
706
+ others: "asyncfile/msg?",
707
+ };
708
+ +/**
709
+ + * Record on the send response the clientId that was actually sent.
710
+ + *
711
+ + * The send endpoint returns only `{msgId}`, so without this the caller has
712
+ + * no way to learn the cliMsgId Zalo now holds for the message -- guessing it
713
+ + * with a second Date.now() is off by however long the encrypt + POST took.
714
+ + */
715
+ +function stampClientId(response, clientId) {
716
+ + if (!response || typeof response != "object" || clientId == undefined)
717
+ + return;
718
+ + response.cliMsgId = String(clientId);
719
+ +}
720
+ function prepareQMSGAttach(quote) {
721
+ const quoteData = quote;
722
+ if (typeof quoteData.content == "string")
723
+ @@ -177,12 +189,16 @@ export const sendMessageFactory = apiFactory()((api, ctx, utils) => {
724
+ }
725
+ }
726
+ const isMentionsValid = mentionsFinal.length > 0 && isGroupMessage;
727
+ + // Hoisted so the caller can learn which clientId went on the wire.
728
+ + // Zalo echoes this back as the message's cliMsgId, and `msg react`,
729
+ + // `msg undo` and quote-replies all need that exact value.
730
+ + const clientId = Date.now();
731
+ const params = quote
732
+ ? {
733
+ toid: isGroupMessage ? undefined : threadId,
734
+ grid: isGroupMessage ? threadId : undefined,
735
+ message: msg,
736
+ - clientId: Date.now(),
737
+ + clientId,
738
+ mentionInfo: isMentionsValid ? JSON.stringify(mentionsFinal) : undefined,
739
+ qmsgOwner: quote.uidFrom,
740
+ qmsgId: quote.msgId,
741
+ @@ -198,7 +214,7 @@ export const sendMessageFactory = apiFactory()((api, ctx, utils) => {
742
+ }
743
+ : {
744
+ message: msg,
745
+ - clientId: Date.now(),
746
+ + clientId,
747
+ mentionInfo: isMentionsValid ? JSON.stringify(mentionsFinal) : undefined,
748
+ imei: isGroupMessage ? undefined : ctx.imei,
749
+ ttl: ttl !== null && ttl !== void 0 ? ttl : 0,
750
+ @@ -225,6 +241,7 @@ export const sendMessageFactory = apiFactory()((api, ctx, utils) => {
751
+ return {
752
+ url: finalServiceUrl.toString(),
753
+ body: new URLSearchParams({ params: encryptedParams }),
754
+ + clientId: String(clientId),
755
+ };
756
+ }
757
+ async function handleAttachment({ msg, attachments, mentions, quote, ttl, urgency }, threadId, type) {
758
+ @@ -383,6 +400,9 @@ export const sendMessageFactory = apiFactory()((api, ctx, utils) => {
759
+ body: formData.getBuffer(),
760
+ headers: formData.getHeaders(),
761
+ fileType: "gif",
762
+ + // Retained so the caller can learn which clientId went on the
763
+ + // wire; the params object itself is encrypted past this point.
764
+ + clientId: params.clientId,
765
+ });
766
+ }
767
+ const responses = [];
768
+ @@ -393,6 +413,9 @@ export const sendMessageFactory = apiFactory()((api, ctx, utils) => {
769
+ }, data.query || {})),
770
+ body: data.body,
771
+ headers: data.fileType == "gif" ? data.headers : {},
772
+ + // send() reads url/body/headers only, so this rides along
773
+ + // untouched and lets sendMessage() stamp the response.
774
+ + clientId: data.clientId != undefined ? data.clientId : data.params && data.params.clientId,
775
+ });
776
+ }
777
+ return responses;
778
+ @@ -435,17 +458,28 @@ export const sendMessageFactory = apiFactory()((api, ctx, utils) => {
779
+ // send message and attachment separately
780
+ await handleMessage(message, threadId, type).then(async (data) => {
781
+ responses.message = (await send(data))[0];
782
+ + stampClientId(responses.message, data.clientId);
783
+ });
784
+ msg = "";
785
+ mentions = undefined;
786
+ }
787
+ const handledData = await handleAttachment({ msg, mentions, attachments, quote, ttl, styles, urgency }, threadId, type);
788
+ - responses.attachment = await send(handledData);
789
+ + // Stamp the attachment responses too. Upstream stamps only
790
+ + // responses.message, and for a single jpg/jpeg/png/webp canBeDesc
791
+ + // is true so the caption folds into the attachment and
792
+ + // responses.message stays null -- leaving an attachment send with
793
+ + // NO cliMsgId anywhere, which makes `msg undo` unable to recall it
794
+ + // at all. send() is Promise.all over the input array, so the
795
+ + // results are index-aligned with handledData.
796
+ + const sentAttachments = await send(handledData);
797
+ + sentAttachments.forEach((r, i) => stampClientId(r, handledData[i] && handledData[i].clientId));
798
+ + responses.attachment = sentAttachments;
799
+ msg = "";
800
+ }
801
+ if (msg.length > 0) {
802
+ const handledData = await handleMessage(message, threadId, type);
803
+ responses.message = (await send(handledData))[0];
804
+ + stampClientId(responses.message, handledData.clientId);
805
+ }
806
+ return responses;
807
+ };
808
+ diff --git a/node_modules/zca-js/dist/apis/sendSticker.js b/node_modules/zca-js/dist/apis/sendSticker.js
809
+ index e27c04e..7aeadae 100644
810
+ --- a/node_modules/zca-js/dist/apis/sendSticker.js
811
+ +++ b/node_modules/zca-js/dist/apis/sendSticker.js
812
+ @@ -1,6 +1,20 @@
813
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
814
+ import { ThreadType } from "../models/index.js";
815
+ import { apiFactory, removeUndefinedKeys } from "../utils.js";
816
+ +/**
817
+ + * Hand the caller the clientId that went on the wire.
818
+ + *
819
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
820
+ + * both require the cliMsgId, which is client-generated and not derivable
821
+ + * from a msgId. Without this a message of this kind can be sent and then
822
+ + * never recalled. Mirrors the helper in sendMessage.js; kept local so a
823
+ + * zca-js bump that breaks one file cannot break the others.
824
+ + */
825
+ +function stampClientId(response, clientId) {
826
+ + if (!response || typeof response != "object" || clientId == undefined)
827
+ + return;
828
+ + response.cliMsgId = String(clientId);
829
+ +}
830
+ export const sendStickerFactory = apiFactory()((api, ctx, utils) => {
831
+ const serviceURL = {
832
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.chat[0]}/api/message/sticker`, {
833
+ @@ -32,11 +46,12 @@ export const sendStickerFactory = apiFactory()((api, ctx, utils) => {
834
+ if (!sticker.type)
835
+ throw new ZaloApiError("Missing sticker type");
836
+ const isGroupMessage = type === ThreadType.Group;
837
+ + const clientId = Date.now();
838
+ const params = {
839
+ stickerId: sticker.id,
840
+ cateId: sticker.cateId,
841
+ type: sticker.type,
842
+ - clientId: Date.now(),
843
+ + clientId: clientId,
844
+ imei: ctx.imei,
845
+ zsource: 101,
846
+ toid: isGroupMessage ? undefined : threadId,
847
+ @@ -52,6 +67,8 @@ export const sendStickerFactory = apiFactory()((api, ctx, utils) => {
848
+ params: encryptedParams,
849
+ }),
850
+ });
851
+ - return utils.resolve(response);
852
+ + const resolved = await utils.resolve(response);
853
+ + stampClientId(resolved, clientId);
854
+ + return resolved;
855
+ };
856
+ });
857
+ diff --git a/node_modules/zca-js/dist/apis/sendVideo.js b/node_modules/zca-js/dist/apis/sendVideo.js
858
+ index 03c818c..ce8a096 100644
859
+ --- a/node_modules/zca-js/dist/apis/sendVideo.js
860
+ +++ b/node_modules/zca-js/dist/apis/sendVideo.js
861
+ @@ -1,6 +1,20 @@
862
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
863
+ import { ThreadType } from "../models/index.js";
864
+ import { apiFactory } from "../utils.js";
865
+ +/**
866
+ + * Hand the caller the clientId that went on the wire.
867
+ + *
868
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
869
+ + * both require the cliMsgId, which is client-generated and not derivable
870
+ + * from a msgId. Without this a message of this kind can be sent and then
871
+ + * never recalled. Mirrors the helper in sendMessage.js; kept local so a
872
+ + * zca-js bump that breaks one file cannot break the others.
873
+ + */
874
+ +function stampClientId(response, clientId) {
875
+ + if (!response || typeof response != "object" || clientId == undefined)
876
+ + return;
877
+ + response.cliMsgId = String(clientId);
878
+ +}
879
+ export const sendVideoFactory = apiFactory()((api, ctx, utils) => {
880
+ const serviceURL = {
881
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/forward`),
882
+ @@ -113,6 +127,8 @@ export const sendVideoFactory = apiFactory()((api, ctx, utils) => {
883
+ params: encryptedParams,
884
+ }),
885
+ });
886
+ - return utils.resolve(response);
887
+ + const resolved = await utils.resolve(response);
888
+ + stampClientId(resolved, clientId);
889
+ + return resolved;
890
+ };
891
+ });
892
+ diff --git a/node_modules/zca-js/dist/apis/sendVoice.js b/node_modules/zca-js/dist/apis/sendVoice.js
893
+ index f8bcc6b..806fb2e 100644
894
+ --- a/node_modules/zca-js/dist/apis/sendVoice.js
895
+ +++ b/node_modules/zca-js/dist/apis/sendVoice.js
896
+ @@ -1,6 +1,20 @@
897
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
898
+ import { ThreadType } from "../models/index.js";
899
+ import { apiFactory } from "../utils.js";
900
+ +/**
901
+ + * Hand the caller the clientId that went on the wire.
902
+ + *
903
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
904
+ + * both require the cliMsgId, which is client-generated and not derivable
905
+ + * from a msgId. Without this a message of this kind can be sent and then
906
+ + * never recalled. Mirrors the helper in sendMessage.js; kept local so a
907
+ + * zca-js bump that breaks one file cannot break the others.
908
+ + */
909
+ +function stampClientId(response, clientId) {
910
+ + if (!response || typeof response != "object" || clientId == undefined)
911
+ + return;
912
+ + response.cliMsgId = String(clientId);
913
+ +}
914
+ export const sendVoiceFactory = apiFactory()((api, ctx, utils) => {
915
+ const serviceURL = {
916
+ [ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/forward`),
917
+ @@ -68,6 +82,8 @@ export const sendVoiceFactory = apiFactory()((api, ctx, utils) => {
918
+ params: encryptedParams,
919
+ }),
920
+ });
921
+ - return utils.resolve(response);
922
+ + const resolved = await utils.resolve(response);
923
+ + stampClientId(resolved, clientId);
924
+ + return resolved;
925
+ };
926
+ });
927
+ diff --git a/node_modules/zca-js/dist/cjs/apis.cjs b/node_modules/zca-js/dist/cjs/apis.cjs
928
+ index c151de0..e49f3d6 100644
929
+ --- a/node_modules/zca-js/dist/cjs/apis.cjs
930
+ +++ b/node_modules/zca-js/dist/cjs/apis.cjs
931
+ @@ -156,6 +156,11 @@ var uploadAttachment = require('./apis/uploadAttachment.cjs');
932
+ var uploadProductPhoto = require('./apis/uploadProductPhoto.cjs');
933
+ var votePoll = require('./apis/votePoll.cjs');
934
+ var custom = require('./apis/custom.cjs');
935
+ +var requestSyncMessage = require('./apis/requestSyncMessage.cjs');
936
+ +var pullMobileMsg = require('./apis/pullMobileMsg.cjs');
937
+ +var getCrossDB = require('./apis/getCrossDB.cjs');
938
+ +var deleteSnapshotMobileMsg = require('./apis/deleteSnapshotMobileMsg.cjs');
939
+ +var logoutV2 = require('./apis/logoutV2.cjs');
940
+
941
+ class API {
942
+ constructor(ctx, zpwServiceMap, wsUrls) {
943
+ @@ -316,6 +321,11 @@ class API {
944
+ this.uploadProductPhoto = uploadProductPhoto.uploadProductPhotoFactory(ctx, this);
945
+ this.votePoll = votePoll.votePollFactory(ctx, this);
946
+ this.custom = custom.customFactory(ctx, this);
947
+ + this.requestSyncMessage = requestSyncMessage.requestSyncMessageFactory(ctx, this);
948
+ + this.pullMobileMsg = pullMobileMsg.pullMobileMsgFactory(ctx, this);
949
+ + this.getCrossDB = getCrossDB.getCrossDBFactory(ctx, this);
950
+ + this.deleteSnapshotMobileMsg = deleteSnapshotMobileMsg.deleteSnapshotMobileMsgFactory(ctx, this);
951
+ + this.logoutV2 = logoutV2.logoutV2Factory(ctx, this);
952
+ }
953
+ }
954
+
955
+ diff --git a/node_modules/zca-js/dist/cjs/apis/deleteSnapshotMobileMsg.cjs b/node_modules/zca-js/dist/cjs/apis/deleteSnapshotMobileMsg.cjs
956
+ new file mode 100644
957
+ index 0000000..d5b3f5c
958
+ --- /dev/null
959
+ +++ b/node_modules/zca-js/dist/cjs/apis/deleteSnapshotMobileMsg.cjs
960
+ @@ -0,0 +1,22 @@
961
+ +'use strict';
962
+ +
963
+ +var ZaloApiError = require('../Errors/ZaloApiError.cjs');
964
+ +var utils = require('../utils.cjs');
965
+ +
966
+ +const deleteSnapshotMobileMsgFactory = utils.apiFactory()((api, ctx, utils) => {
967
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/delete_snapshot_mobile_msg`);
968
+ + return async function deleteSnapshotMobileMsg(publicKey) {
969
+ + const params = {
970
+ + public_key: publicKey,
971
+ + imei: ctx.imei
972
+ + };
973
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
974
+ + if (!encryptedParams) throw new ZaloApiError.ZaloApiError("Failed to encrypt message");
975
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
976
+ + method: "GET"
977
+ + });
978
+ + return utils.resolve(response);
979
+ + };
980
+ +});
981
+ +
982
+ +exports.deleteSnapshotMobileMsgFactory = deleteSnapshotMobileMsgFactory;
983
+ diff --git a/node_modules/zca-js/dist/cjs/apis/forwardMessage.cjs b/node_modules/zca-js/dist/cjs/apis/forwardMessage.cjs
984
+ index f9c670b..4dfa11c 100644
985
+ --- a/node_modules/zca-js/dist/cjs/apis/forwardMessage.cjs
986
+ +++ b/node_modules/zca-js/dist/cjs/apis/forwardMessage.cjs
987
+ @@ -13,6 +13,20 @@ require('../models/Reminder.cjs');
988
+ require('../models/ZBusiness.cjs');
989
+ var utils = require('../utils.cjs');
990
+
991
+ +/**
992
+ + * Hand the caller the clientId that went on the wire.
993
+ + *
994
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
995
+ + * both require the cliMsgId, which is client-generated and not derivable
996
+ + * from a msgId. Without this a message of this kind can be sent and then
997
+ + * never recalled. Mirrors the helper in the ESM build; kept local so a
998
+ + * zca-js bump that breaks one file cannot break the others.
999
+ + */
1000
+ +function stampClientId(response, clientId) {
1001
+ + if (!response || typeof response != "object" || clientId == undefined)
1002
+ + return;
1003
+ + response.cliMsgId = String(clientId);
1004
+ +}
1005
+ const forwardMessageFactory = utils.apiFactory()((api, ctx, utils) => {
1006
+ const serviceURL = {
1007
+ [Enum.ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/mforward`),
1008
+ @@ -106,7 +120,9 @@ const forwardMessageFactory = utils.apiFactory()((api, ctx, utils) => {
1009
+ params: encryptedParams,
1010
+ }),
1011
+ });
1012
+ - return utils.resolve(response);
1013
+ + const resolved = await utils.resolve(response);
1014
+ + stampClientId(resolved, clientId);
1015
+ + return resolved;
1016
+ };
1017
+ });
1018
+
1019
+ diff --git a/node_modules/zca-js/dist/cjs/apis/getCrossDB.cjs b/node_modules/zca-js/dist/cjs/apis/getCrossDB.cjs
1020
+ new file mode 100644
1021
+ index 0000000..da5f16d
1022
+ --- /dev/null
1023
+ +++ b/node_modules/zca-js/dist/cjs/apis/getCrossDB.cjs
1024
+ @@ -0,0 +1,22 @@
1025
+ +'use strict';
1026
+ +
1027
+ +var ZaloApiError = require('../Errors/ZaloApiError.cjs');
1028
+ +var utils = require('../utils.cjs');
1029
+ +
1030
+ +const getCrossDBFactory = utils.apiFactory()((api, _, utils) => {
1031
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/get_crossdb`);
1032
+ + return async function getCrossDB(syncSession) {
1033
+ + const params = {
1034
+ + pc_name: "Web",
1035
+ + sync_session: syncSession
1036
+ + };
1037
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
1038
+ + if (!encryptedParams) throw new ZaloApiError.ZaloApiError("Failed to encrypt message");
1039
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
1040
+ + method: "GET"
1041
+ + });
1042
+ + return utils.resolve(response);
1043
+ + };
1044
+ +});
1045
+ +
1046
+ +exports.getCrossDBFactory = getCrossDBFactory;
1047
+ diff --git a/node_modules/zca-js/dist/cjs/apis/loginQR.cjs b/node_modules/zca-js/dist/cjs/apis/loginQR.cjs
1048
+ index dbd08ed..8abfdab 100644
1049
+ --- a/node_modules/zca-js/dist/cjs/apis/loginQR.cjs
1050
+ +++ b/node_modules/zca-js/dist/cjs/apis/loginQR.cjs
1051
+ @@ -15,6 +15,20 @@ exports.LoginQRCallbackEventType = void 0;
1052
+ LoginQRCallbackEventType[LoginQRCallbackEventType["QRCodeDeclined"] = 3] = "QRCodeDeclined";
1053
+ LoginQRCallbackEventType[LoginQRCallbackEventType["GotLoginInfo"] = 4] = "GotLoginInfo";
1054
+ })(exports.LoginQRCallbackEventType || (exports.LoginQRCallbackEventType = {}));
1055
+ +/**
1056
+ + * Device-fingerprint client hints, with the original hardcoded values as the
1057
+ + * fallback. src/core/zalo-client.js puts secChUa / secChUaMobile /
1058
+ + * secChUaPlatform on ctx; without this the CJS build would ignore the
1059
+ + * fingerprint and always claim Chrome 130 on Windows. Mirrors the ESM build.
1060
+ + */
1061
+ +function secChUaHeaders(ctx) {
1062
+ + var _a, _b, _c;
1063
+ + return {
1064
+ + "sec-ch-ua": (_a = ctx.secChUa) !== null && _a !== void 0 ? _a : '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1065
+ + "sec-ch-ua-mobile": (_b = ctx.secChUaMobile) !== null && _b !== void 0 ? _b : "?0",
1066
+ + "sec-ch-ua-platform": (_c = ctx.secChUaPlatform) !== null && _c !== void 0 ? _c : '"Windows"',
1067
+ + };
1068
+ +}
1069
+ async function loadLoginPage(ctx) {
1070
+ const response = await utils.request(ctx, "https://id.zalo.me/account?continue=https%3A%2F%2Fchat.zalo.me%2F", {
1071
+ headers: {
1072
+ @@ -22,9 +36,7 @@ async function loadLoginPage(ctx) {
1073
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1074
+ "cache-control": "max-age=0",
1075
+ priority: "u=0, i",
1076
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1077
+ - "sec-ch-ua-mobile": "?0",
1078
+ - "sec-ch-ua-platform": '"Windows"',
1079
+ + ...secChUaHeaders(ctx),
1080
+ "sec-fetch-dest": "document",
1081
+ "sec-fetch-mode": "navigate",
1082
+ "sec-fetch-site": "same-site",
1083
+ @@ -50,9 +62,7 @@ async function getLoginInfo(ctx, version) {
1084
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1085
+ "content-type": "application/x-www-form-urlencoded",
1086
+ priority: "u=1, i",
1087
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1088
+ - "sec-ch-ua-mobile": "?0",
1089
+ - "sec-ch-ua-platform": '"Windows"',
1090
+ + ...secChUaHeaders(ctx),
1091
+ "sec-fetch-dest": "empty",
1092
+ "sec-fetch-mode": "cors",
1093
+ "sec-fetch-site": "same-origin",
1094
+ @@ -76,9 +86,7 @@ async function verifyClient(ctx, version) {
1095
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1096
+ "content-type": "application/x-www-form-urlencoded",
1097
+ priority: "u=1, i",
1098
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1099
+ - "sec-ch-ua-mobile": "?0",
1100
+ - "sec-ch-ua-platform": '"Windows"',
1101
+ + ...secChUaHeaders(ctx),
1102
+ "sec-fetch-dest": "empty",
1103
+ "sec-fetch-mode": "cors",
1104
+ "sec-fetch-site": "same-origin",
1105
+ @@ -101,9 +109,7 @@ async function generate(ctx, version) {
1106
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1107
+ "content-type": "application/x-www-form-urlencoded",
1108
+ priority: "u=1, i",
1109
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1110
+ - "sec-ch-ua-mobile": "?0",
1111
+ - "sec-ch-ua-platform": '"Windows"',
1112
+ + ...secChUaHeaders(ctx),
1113
+ "sec-fetch-dest": "empty",
1114
+ "sec-fetch-mode": "cors",
1115
+ "sec-fetch-site": "same-origin",
1116
+ @@ -130,9 +136,7 @@ async function waitingScan(ctx, version, code, signal) {
1117
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1118
+ "content-type": "application/x-www-form-urlencoded",
1119
+ priority: "u=1, i",
1120
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1121
+ - "sec-ch-ua-mobile": "?0",
1122
+ - "sec-ch-ua-platform": '"Windows"',
1123
+ + ...secChUaHeaders(ctx),
1124
+ "sec-fetch-dest": "empty",
1125
+ "sec-fetch-mode": "cors",
1126
+ "sec-fetch-site": "same-origin",
1127
+ @@ -169,9 +173,7 @@ async function waitingConfirm(ctx, version, code, signal) {
1128
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1129
+ "content-type": "application/x-www-form-urlencoded",
1130
+ priority: "u=1, i",
1131
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1132
+ - "sec-ch-ua-mobile": "?0",
1133
+ - "sec-ch-ua-platform": '"Windows"',
1134
+ + ...secChUaHeaders(ctx),
1135
+ "sec-fetch-dest": "empty",
1136
+ "sec-fetch-mode": "cors",
1137
+ "sec-fetch-site": "same-origin",
1138
+ @@ -200,9 +202,7 @@ async function checkSession(ctx) {
1139
+ accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
1140
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1141
+ priority: "u=0, i",
1142
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1143
+ - "sec-ch-ua-mobile": "?0",
1144
+ - "sec-ch-ua-platform": '"Windows"',
1145
+ + ...secChUaHeaders(ctx),
1146
+ "sec-fetch-dest": "document",
1147
+ "sec-fetch-mode": "navigate",
1148
+ "sec-fetch-site": "same-origin",
1149
+ @@ -220,9 +220,7 @@ async function getUserInfo(ctx) {
1150
+ accept: "*/*",
1151
+ "accept-language": "vi-VN,vi;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6,en;q=0.5",
1152
+ priority: "u=1, i",
1153
+ - "sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
1154
+ - "sec-ch-ua-mobile": "?0",
1155
+ - "sec-ch-ua-platform": '"Windows"',
1156
+ + ...secChUaHeaders(ctx),
1157
+ "sec-fetch-dest": "empty",
1158
+ "sec-fetch-mode": "cors",
1159
+ "sec-fetch-site": "same-site",
1160
+ diff --git a/node_modules/zca-js/dist/cjs/apis/logoutV2.cjs b/node_modules/zca-js/dist/cjs/apis/logoutV2.cjs
1161
+ new file mode 100644
1162
+ index 0000000..53cedb4
1163
+ --- /dev/null
1164
+ +++ b/node_modules/zca-js/dist/cjs/apis/logoutV2.cjs
1165
+ @@ -0,0 +1,83 @@
1166
+ +'use strict';
1167
+ +
1168
+ +var ZaloApiError = require('../Errors/ZaloApiError.cjs');
1169
+ +var utils = require('../utils.cjs');
1170
+ +
1171
+ +// CONFIRMED live 2026-09-19 against a real account. Mirrors Zalo Web's own
1172
+ +// `ServiceURL.logoutV2(imei, compId?)` (commandId 12743, POST
1173
+ +// /api/v2/login/logOut), reverse-engineered from the production webpack
1174
+ +// bundle:
1175
+ +// static logoutV2(e,t=void 0){
1176
+ +// const a = _.b.getDevDomainV3() + "/api/v2/login/logOut?" + this._getCommonParams();
1177
+ +// let s = { time, imei: e, computer_name, language };
1178
+ +// if (t !== void 0) s.compId = t;
1179
+ +// return this._post(a, "params=" + encodeURIComponent(encodeAES(JSON.stringify(s))), null, 12743);
1180
+ +// }
1181
+ +//
1182
+ +// DOMAIN — resolved by trial (each guess live-tested against a real
1183
+ +// account):
1184
+ +// 1. `zpwServiceMap.aext` (aextra-wpa.chat.zalo.me) — the accessor
1185
+ +// `getListDevice` uses. DISPROVEN: real HTTP 404.
1186
+ +// 2. `zpwServiceMap.zavi` (wpa.zaloapp.com) — DISPROVEN: reachable, but a
1187
+ +// real API error ({error_code:102, "session key was improperly
1188
+ +// submitted..."}) — `zaloapp.com` is a different registrable domain
1189
+ +// from `zalo.me`, so the zpw_sek session cookie (scoped to `.zalo.me`)
1190
+ +// never reached it.
1191
+ +// 3. `https://wpa.chat.zalo.me` (HARDCODED, not from zpwServiceMap) —
1192
+ +// CONFIRMED CORRECT, live-tested 2026-09-19. Matches `getSettings.js`
1193
+ +// in this same package (a genuinely working, authenticated,
1194
+ +// hardcoded-domain call) and the known hardcoded PRE-login host this
1195
+ +// package's `login.js` already uses. Live response:
1196
+ +// `{"error_code":0,"error_message":"Successful.","data":1}`.
1197
+ +// 4. `https://stg-wpa.chat.zalo.me` — what the real production webpack
1198
+ +// bundle's `getDevDomainV3()` singleton actually returned when called
1199
+ +// live in-browser 2026-09-18 (via webpack-jsonp module-cache capture,
1200
+ +// zero real requests made). CONFIRMED CORRECT end-to-end, live-tested
1201
+ +// 2026-09-19 via a real `logout --purge`: "Server session invalidated
1202
+ +// for imei e239d3d5…", no fallback warning — a real authenticated
1203
+ +// call against this domain, not just the direct-call capture. ACTIVE
1204
+ +// BELOW. Candidate #3 above is left documented as the previously-
1205
+ +// confirmed fallback in case this domain is ever retired/changed, but
1206
+ +// is no longer needed.
1207
+ +//
1208
+ +// ENCRYPTION — the response body above is CONFIRMED to be plain JSON, not
1209
+ +// the usual AES-encrypted `data` field most zca-js API responses use.
1210
+ +// `utils.resolve()` defaults to `isEncrypted = true`, which tried to
1211
+ +// AES-decrypt the literal number `1` and, because crypto-js silently
1212
+ +// returns an empty string on bad ciphertext/padding rather than throwing,
1213
+ +// produced "Failed to parse response data: SyntaxError: Unexpected end of
1214
+ +// JSON input" (from `JSON.parse("")`) even though the call had already
1215
+ +// succeeded server-side. Fixed by passing `isEncrypted = false` to
1216
+ +// `utils.resolve()` here so `result.data` is used as-is.
1217
+ +//
1218
+ +// (Earlier iterations of this file also had a real bug where
1219
+ +// `utils.resolve(response)` was called without `await` — since it wraps
1220
+ +// an `async function`, that returned a pending Promise instead of the
1221
+ +// actual result, which silently broke a since-removed multi-candidate
1222
+ +// fallback loop. Not relevant now that the domain is confirmed and this
1223
+ +// is back to a single direct call, but noted here in case this file ever
1224
+ +// grows a retry/fallback again: always `await utils.resolve(...)`.)
1225
+ +const logoutV2Factory = utils.apiFactory()((api, ctx, utils) => {
1226
+ + const serviceURL = utils.makeURL("https://stg-wpa.chat.zalo.me/api/v2/login/logOut");
1227
+ + return async function logoutV2(compId = undefined) {
1228
+ + const params = {
1229
+ + time: Date.now(),
1230
+ + imei: ctx.imei,
1231
+ + computer_name: "Web",
1232
+ + language: ctx.language || "vi"
1233
+ + };
1234
+ + if (compId !== undefined) params.compId = compId;
1235
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
1236
+ + if (!encryptedParams) throw new ZaloApiError.ZaloApiError("Failed to encrypt message");
1237
+ + const response = await utils.request(serviceURL, {
1238
+ + method: "POST",
1239
+ + body: new URLSearchParams({
1240
+ + params: encryptedParams,
1241
+ + }),
1242
+ + });
1243
+ + // isEncrypted = false — see the file header note above.
1244
+ + return await utils.resolve(response, undefined, false);
1245
+ + };
1246
+ +});
1247
+ +
1248
+ +exports.logoutV2Factory = logoutV2Factory;
1249
+ diff --git a/node_modules/zca-js/dist/cjs/apis/pullMobileMsg.cjs b/node_modules/zca-js/dist/cjs/apis/pullMobileMsg.cjs
1250
+ new file mode 100644
1251
+ index 0000000..579bc2e
1252
+ --- /dev/null
1253
+ +++ b/node_modules/zca-js/dist/cjs/apis/pullMobileMsg.cjs
1254
+ @@ -0,0 +1,26 @@
1255
+ +'use strict';
1256
+ +
1257
+ +var ZaloApiError = require('../Errors/ZaloApiError.cjs');
1258
+ +var utils = require('../utils.cjs');
1259
+ +
1260
+ +const pullMobileMsgFactory = utils.apiFactory()((api, _, utils) => {
1261
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/pull_mobile_msg`);
1262
+ + return async function pullMobileMsg(publicKey, fromSeqId = 0, isRetry = 0, tempKey = "") {
1263
+ + const params = {
1264
+ + pc_name: "Web",
1265
+ + public_key: publicKey,
1266
+ + from_seq_id: fromSeqId,
1267
+ + is_retry: isRetry,
1268
+ + min_seq_id: 0,
1269
+ + temp_key: tempKey
1270
+ + };
1271
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
1272
+ + if (!encryptedParams) throw new ZaloApiError.ZaloApiError("Failed to encrypt message");
1273
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
1274
+ + method: "GET"
1275
+ + });
1276
+ + return utils.resolve(response);
1277
+ + };
1278
+ +});
1279
+ +
1280
+ +exports.pullMobileMsgFactory = pullMobileMsgFactory;
1281
+ diff --git a/node_modules/zca-js/dist/cjs/apis/requestSyncMessage.cjs b/node_modules/zca-js/dist/cjs/apis/requestSyncMessage.cjs
1282
+ new file mode 100644
1283
+ index 0000000..324995e
1284
+ --- /dev/null
1285
+ +++ b/node_modules/zca-js/dist/cjs/apis/requestSyncMessage.cjs
1286
+ @@ -0,0 +1,22 @@
1287
+ +'use strict';
1288
+ +
1289
+ +var ZaloApiError = require('../Errors/ZaloApiError.cjs');
1290
+ +var utils = require('../utils.cjs');
1291
+ +
1292
+ +const requestSyncMessageFactory = utils.apiFactory()((api, _, utils) => {
1293
+ + const serviceURL = utils.makeURL(`${api.zpwServiceMap.file[0]}/api/transfer-sync-v2/request-sync`);
1294
+ + return async function requestSyncMessage(reqId, data) {
1295
+ + const params = {
1296
+ + reqId: String(reqId),
1297
+ + data: JSON.stringify(data)
1298
+ + };
1299
+ + const encryptedParams = utils.encodeAES(JSON.stringify(params));
1300
+ + if (!encryptedParams) throw new ZaloApiError.ZaloApiError("Failed to encrypt message");
1301
+ + const response = await utils.request(`${serviceURL}&params=${encodeURIComponent(encryptedParams)}`, {
1302
+ + method: "GET"
1303
+ + });
1304
+ + return utils.resolve(response);
1305
+ + };
1306
+ +});
1307
+ +
1308
+ +exports.requestSyncMessageFactory = requestSyncMessageFactory;
1309
+ diff --git a/node_modules/zca-js/dist/cjs/apis/sendBankCard.cjs b/node_modules/zca-js/dist/cjs/apis/sendBankCard.cjs
1310
+ index a2ad818..3726a37 100644
1311
+ --- a/node_modules/zca-js/dist/cjs/apis/sendBankCard.cjs
1312
+ +++ b/node_modules/zca-js/dist/cjs/apis/sendBankCard.cjs
1313
+ @@ -13,6 +13,20 @@ require('../models/Reminder.cjs');
1314
+ require('../models/ZBusiness.cjs');
1315
+ var utils = require('../utils.cjs');
1316
+
1317
+ +/**
1318
+ + * Hand the caller the clientId that went on the wire.
1319
+ + *
1320
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
1321
+ + * both require the cliMsgId, which is client-generated and not derivable
1322
+ + * from a msgId. Without this a message of this kind can be sent and then
1323
+ + * never recalled. Mirrors the helper in the ESM build; kept local so a
1324
+ + * zca-js bump that breaks one file cannot break the others.
1325
+ + */
1326
+ +function stampClientId(response, clientId) {
1327
+ + if (!response || typeof response != "object" || clientId == undefined)
1328
+ + return;
1329
+ + response.cliMsgId = String(clientId);
1330
+ +}
1331
+ const sendBankCardFactory = utils.apiFactory()((api, _, utils) => {
1332
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.zimsg[0]}/api/transfer/card`);
1333
+ /**
1334
+ @@ -26,11 +40,12 @@ const sendBankCardFactory = utils.apiFactory()((api, _, utils) => {
1335
+ */
1336
+ return async function sendBankCard(payload, threadId, type = Enum.ThreadType.User) {
1337
+ var _a;
1338
+ + const cliMsgId = Date.now().toString();
1339
+ const params = {
1340
+ binBank: payload.binBank,
1341
+ numAccBank: payload.numAccBank,
1342
+ nameAccBank: ((_a = payload.nameAccBank) === null || _a === void 0 ? void 0 : _a.toUpperCase()) || "---",
1343
+ - cliMsgId: Date.now().toString(),
1344
+ + cliMsgId: cliMsgId,
1345
+ tsMsg: Date.now(),
1346
+ destUid: threadId,
1347
+ destType: type === Enum.ThreadType.Group ? 1 : 0,
1348
+ @@ -44,7 +59,9 @@ const sendBankCardFactory = utils.apiFactory()((api, _, utils) => {
1349
+ params: encryptedParams,
1350
+ }),
1351
+ });
1352
+ - return utils.resolve(response);
1353
+ + const resolved = await utils.resolve(response);
1354
+ + stampClientId(resolved, cliMsgId);
1355
+ + return resolved;
1356
+ };
1357
+ });
1358
+
1359
+ diff --git a/node_modules/zca-js/dist/cjs/apis/sendCard.cjs b/node_modules/zca-js/dist/cjs/apis/sendCard.cjs
1360
+ index b953268..0cdbbbc 100644
1361
+ --- a/node_modules/zca-js/dist/cjs/apis/sendCard.cjs
1362
+ +++ b/node_modules/zca-js/dist/cjs/apis/sendCard.cjs
1363
+ @@ -13,6 +13,20 @@ require('../models/Reminder.cjs');
1364
+ require('../models/ZBusiness.cjs');
1365
+ var utils = require('../utils.cjs');
1366
+
1367
+ +/**
1368
+ + * Hand the caller the clientId that went on the wire.
1369
+ + *
1370
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
1371
+ + * both require the cliMsgId, which is client-generated and not derivable
1372
+ + * from a msgId. Without this a message of this kind can be sent and then
1373
+ + * never recalled. Mirrors the helper in the ESM build; kept local so a
1374
+ + * zca-js bump that breaks one file cannot break the others.
1375
+ + */
1376
+ +function stampClientId(response, clientId) {
1377
+ + if (!response || typeof response != "object" || clientId == undefined)
1378
+ + return;
1379
+ + response.cliMsgId = String(clientId);
1380
+ +}
1381
+ const sendCardFactory = utils.apiFactory()((api, ctx, utils) => {
1382
+ const serviceURL = {
1383
+ [Enum.ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/forward`),
1384
+ @@ -66,7 +80,9 @@ const sendCardFactory = utils.apiFactory()((api, ctx, utils) => {
1385
+ params: encryptedParams,
1386
+ }),
1387
+ });
1388
+ - return utils.resolve(response);
1389
+ + const resolved = await utils.resolve(response);
1390
+ + stampClientId(resolved, clientId);
1391
+ + return resolved;
1392
+ };
1393
+ });
1394
+
1395
+ diff --git a/node_modules/zca-js/dist/cjs/apis/sendLink.cjs b/node_modules/zca-js/dist/cjs/apis/sendLink.cjs
1396
+ index 00293a9..d3b7346 100644
1397
+ --- a/node_modules/zca-js/dist/cjs/apis/sendLink.cjs
1398
+ +++ b/node_modules/zca-js/dist/cjs/apis/sendLink.cjs
1399
+ @@ -13,6 +13,20 @@ require('../models/Reminder.cjs');
1400
+ require('../models/ZBusiness.cjs');
1401
+ var utils = require('../utils.cjs');
1402
+
1403
+ +/**
1404
+ + * Hand the caller the clientId that went on the wire.
1405
+ + *
1406
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
1407
+ + * both require the cliMsgId, which is client-generated and not derivable
1408
+ + * from a msgId. Without this a message of this kind can be sent and then
1409
+ + * never recalled. Mirrors the helper in the ESM build; kept local so a
1410
+ + * zca-js bump that breaks one file cannot break the others.
1411
+ + */
1412
+ +function stampClientId(response, clientId) {
1413
+ + if (!response || typeof response != "object" || clientId == undefined)
1414
+ + return;
1415
+ + response.cliMsgId = String(clientId);
1416
+ +}
1417
+ const sendLinkFactory = utils.apiFactory()((api, ctx, utils) => {
1418
+ const serviceURL = {
1419
+ [Enum.ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.chat[0]}/api/message/link`, {
1420
+ @@ -33,6 +47,7 @@ const sendLinkFactory = utils.apiFactory()((api, ctx, utils) => {
1421
+ */
1422
+ return async function sendLink(options, threadId, type = Enum.ThreadType.User) {
1423
+ var _a;
1424
+ + const clientId = Date.now();
1425
+ const res = await api.parseLink(options.link);
1426
+ const params = {
1427
+ msg: options.msg && options.msg.trim()
1428
+ @@ -48,7 +63,7 @@ const sendLinkFactory = utils.apiFactory()((api, ctx, utils) => {
1429
+ type: 2, // 0
1430
+ media: JSON.stringify(res.data.media),
1431
+ ttl: (_a = options.ttl) !== null && _a !== void 0 ? _a : 0,
1432
+ - clientId: Date.now(),
1433
+ + clientId: clientId,
1434
+ };
1435
+ if (type == Enum.ThreadType.Group) {
1436
+ params.grid = threadId;
1437
+ @@ -68,7 +83,9 @@ const sendLinkFactory = utils.apiFactory()((api, ctx, utils) => {
1438
+ params: encryptedParams,
1439
+ }),
1440
+ });
1441
+ - return utils.resolve(response);
1442
+ + const resolved = await utils.resolve(response);
1443
+ + stampClientId(resolved, clientId);
1444
+ + return resolved;
1445
+ };
1446
+ });
1447
+
1448
+ diff --git a/node_modules/zca-js/dist/cjs/apis/sendMessage.cjs b/node_modules/zca-js/dist/cjs/apis/sendMessage.cjs
1449
+ index a6f4bab..6967ff3 100644
1450
+ --- a/node_modules/zca-js/dist/cjs/apis/sendMessage.cjs
1451
+ +++ b/node_modules/zca-js/dist/cjs/apis/sendMessage.cjs
1452
+ @@ -21,6 +21,18 @@ const attachmentUrlType = {
1453
+ video: "asyncfile/msg?",
1454
+ others: "asyncfile/msg?",
1455
+ };
1456
+ +/**
1457
+ + * Record on the send response the clientId that was actually sent.
1458
+ + *
1459
+ + * The send endpoint returns only `{msgId}`, so without this the caller has
1460
+ + * no way to learn the cliMsgId Zalo now holds for the message -- guessing it
1461
+ + * with a second Date.now() is off by however long the encrypt + POST took.
1462
+ + */
1463
+ +function stampClientId(response, clientId) {
1464
+ + if (!response || typeof response != "object" || clientId == undefined)
1465
+ + return;
1466
+ + response.cliMsgId = String(clientId);
1467
+ +}
1468
+ function prepareQMSGAttach(quote) {
1469
+ const quoteData = quote;
1470
+ if (typeof quoteData.content == "string")
1471
+ @@ -189,12 +201,16 @@ const sendMessageFactory = utils.apiFactory()((api, ctx, utils$1) => {
1472
+ }
1473
+ }
1474
+ const isMentionsValid = mentionsFinal.length > 0 && isGroupMessage;
1475
+ + // Hoisted so the caller can learn which clientId went on the wire.
1476
+ + // Zalo echoes this back as the message's cliMsgId, and `msg react`,
1477
+ + // `msg undo` and quote-replies all need that exact value.
1478
+ + const clientId = Date.now();
1479
+ const params = quote
1480
+ ? {
1481
+ toid: isGroupMessage ? undefined : threadId,
1482
+ grid: isGroupMessage ? threadId : undefined,
1483
+ message: msg,
1484
+ - clientId: Date.now(),
1485
+ + clientId,
1486
+ mentionInfo: isMentionsValid ? JSON.stringify(mentionsFinal) : undefined,
1487
+ qmsgOwner: quote.uidFrom,
1488
+ qmsgId: quote.msgId,
1489
+ @@ -210,7 +226,7 @@ const sendMessageFactory = utils.apiFactory()((api, ctx, utils$1) => {
1490
+ }
1491
+ : {
1492
+ message: msg,
1493
+ - clientId: Date.now(),
1494
+ + clientId,
1495
+ mentionInfo: isMentionsValid ? JSON.stringify(mentionsFinal) : undefined,
1496
+ imei: isGroupMessage ? undefined : ctx.imei,
1497
+ ttl: ttl !== null && ttl !== void 0 ? ttl : 0,
1498
+ @@ -237,6 +253,7 @@ const sendMessageFactory = utils.apiFactory()((api, ctx, utils$1) => {
1499
+ return {
1500
+ url: finalServiceUrl.toString(),
1501
+ body: new URLSearchParams({ params: encryptedParams }),
1502
+ + clientId: String(clientId),
1503
+ };
1504
+ }
1505
+ async function handleAttachment({ msg, attachments, mentions, quote, ttl, urgency }, threadId, type) {
1506
+ @@ -395,6 +412,9 @@ const sendMessageFactory = utils.apiFactory()((api, ctx, utils$1) => {
1507
+ body: formData.getBuffer(),
1508
+ headers: formData.getHeaders(),
1509
+ fileType: "gif",
1510
+ + // Retained so the caller can learn which clientId went on the
1511
+ + // wire; the params object itself is encrypted past this point.
1512
+ + clientId: params.clientId,
1513
+ });
1514
+ }
1515
+ const responses = [];
1516
+ @@ -405,6 +425,9 @@ const sendMessageFactory = utils.apiFactory()((api, ctx, utils$1) => {
1517
+ }, data.query || {})),
1518
+ body: data.body,
1519
+ headers: data.fileType == "gif" ? data.headers : {},
1520
+ + // send() reads url/body/headers only, so this rides along
1521
+ + // untouched and lets sendMessage() stamp the response.
1522
+ + clientId: data.clientId != undefined ? data.clientId : data.params && data.params.clientId,
1523
+ });
1524
+ }
1525
+ return responses;
1526
+ @@ -447,17 +470,28 @@ const sendMessageFactory = utils.apiFactory()((api, ctx, utils$1) => {
1527
+ // send message and attachment separately
1528
+ await handleMessage(message, threadId, type).then(async (data) => {
1529
+ responses.message = (await send(data))[0];
1530
+ + stampClientId(responses.message, data.clientId);
1531
+ });
1532
+ msg = "";
1533
+ mentions = undefined;
1534
+ }
1535
+ const handledData = await handleAttachment({ msg, mentions, attachments, quote, ttl, styles, urgency }, threadId, type);
1536
+ - responses.attachment = await send(handledData);
1537
+ + // Stamp the attachment responses too. Upstream stamps only
1538
+ + // responses.message, and for a single jpg/jpeg/png/webp canBeDesc
1539
+ + // is true so the caption folds into the attachment and
1540
+ + // responses.message stays null -- leaving an attachment send with
1541
+ + // NO cliMsgId anywhere, which makes `msg undo` unable to recall it
1542
+ + // at all. send() is Promise.all over the input array, so the
1543
+ + // results are index-aligned with handledData.
1544
+ + const sentAttachments = await send(handledData);
1545
+ + sentAttachments.forEach((r, i) => stampClientId(r, handledData[i] && handledData[i].clientId));
1546
+ + responses.attachment = sentAttachments;
1547
+ msg = "";
1548
+ }
1549
+ if (msg.length > 0) {
1550
+ const handledData = await handleMessage(message, threadId, type);
1551
+ responses.message = (await send(handledData))[0];
1552
+ + stampClientId(responses.message, handledData.clientId);
1553
+ }
1554
+ return responses;
1555
+ };
1556
+ diff --git a/node_modules/zca-js/dist/cjs/apis/sendSticker.cjs b/node_modules/zca-js/dist/cjs/apis/sendSticker.cjs
1557
+ index 077ab16..b2a8ece 100644
1558
+ --- a/node_modules/zca-js/dist/cjs/apis/sendSticker.cjs
1559
+ +++ b/node_modules/zca-js/dist/cjs/apis/sendSticker.cjs
1560
+ @@ -13,6 +13,20 @@ require('../models/Reminder.cjs');
1561
+ require('../models/ZBusiness.cjs');
1562
+ var utils = require('../utils.cjs');
1563
+
1564
+ +/**
1565
+ + * Hand the caller the clientId that went on the wire.
1566
+ + *
1567
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
1568
+ + * both require the cliMsgId, which is client-generated and not derivable
1569
+ + * from a msgId. Without this a message of this kind can be sent and then
1570
+ + * never recalled. Mirrors the helper in the ESM build; kept local so a
1571
+ + * zca-js bump that breaks one file cannot break the others.
1572
+ + */
1573
+ +function stampClientId(response, clientId) {
1574
+ + if (!response || typeof response != "object" || clientId == undefined)
1575
+ + return;
1576
+ + response.cliMsgId = String(clientId);
1577
+ +}
1578
+ const sendStickerFactory = utils.apiFactory()((api, ctx, utils$1) => {
1579
+ const serviceURL = {
1580
+ [Enum.ThreadType.User]: utils$1.makeURL(`${api.zpwServiceMap.chat[0]}/api/message/sticker`, {
1581
+ @@ -44,11 +58,12 @@ const sendStickerFactory = utils.apiFactory()((api, ctx, utils$1) => {
1582
+ if (!sticker.type)
1583
+ throw new ZaloApiError.ZaloApiError("Missing sticker type");
1584
+ const isGroupMessage = type === Enum.ThreadType.Group;
1585
+ + const clientId = Date.now();
1586
+ const params = {
1587
+ stickerId: sticker.id,
1588
+ cateId: sticker.cateId,
1589
+ type: sticker.type,
1590
+ - clientId: Date.now(),
1591
+ + clientId: clientId,
1592
+ imei: ctx.imei,
1593
+ zsource: 101,
1594
+ toid: isGroupMessage ? undefined : threadId,
1595
+ @@ -64,7 +79,9 @@ const sendStickerFactory = utils.apiFactory()((api, ctx, utils$1) => {
1596
+ params: encryptedParams,
1597
+ }),
1598
+ });
1599
+ - return utils$1.resolve(response);
1600
+ + const resolved = await utils$1.resolve(response);
1601
+ + stampClientId(resolved, clientId);
1602
+ + return resolved;
1603
+ };
1604
+ });
1605
+
1606
+ diff --git a/node_modules/zca-js/dist/cjs/apis/sendVideo.cjs b/node_modules/zca-js/dist/cjs/apis/sendVideo.cjs
1607
+ index d779710..e62770b 100644
1608
+ --- a/node_modules/zca-js/dist/cjs/apis/sendVideo.cjs
1609
+ +++ b/node_modules/zca-js/dist/cjs/apis/sendVideo.cjs
1610
+ @@ -13,6 +13,20 @@ require('../models/Reminder.cjs');
1611
+ require('../models/ZBusiness.cjs');
1612
+ var utils = require('../utils.cjs');
1613
+
1614
+ +/**
1615
+ + * Hand the caller the clientId that went on the wire.
1616
+ + *
1617
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
1618
+ + * both require the cliMsgId, which is client-generated and not derivable
1619
+ + * from a msgId. Without this a message of this kind can be sent and then
1620
+ + * never recalled. Mirrors the helper in the ESM build; kept local so a
1621
+ + * zca-js bump that breaks one file cannot break the others.
1622
+ + */
1623
+ +function stampClientId(response, clientId) {
1624
+ + if (!response || typeof response != "object" || clientId == undefined)
1625
+ + return;
1626
+ + response.cliMsgId = String(clientId);
1627
+ +}
1628
+ const sendVideoFactory = utils.apiFactory()((api, ctx, utils) => {
1629
+ const serviceURL = {
1630
+ [Enum.ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/forward`),
1631
+ @@ -125,7 +139,9 @@ const sendVideoFactory = utils.apiFactory()((api, ctx, utils) => {
1632
+ params: encryptedParams,
1633
+ }),
1634
+ });
1635
+ - return utils.resolve(response);
1636
+ + const resolved = await utils.resolve(response);
1637
+ + stampClientId(resolved, clientId);
1638
+ + return resolved;
1639
+ };
1640
+ });
1641
+
1642
+ diff --git a/node_modules/zca-js/dist/cjs/apis/sendVoice.cjs b/node_modules/zca-js/dist/cjs/apis/sendVoice.cjs
1643
+ index f371e14..134dcdf 100644
1644
+ --- a/node_modules/zca-js/dist/cjs/apis/sendVoice.cjs
1645
+ +++ b/node_modules/zca-js/dist/cjs/apis/sendVoice.cjs
1646
+ @@ -13,6 +13,20 @@ require('../models/Reminder.cjs');
1647
+ require('../models/ZBusiness.cjs');
1648
+ var utils = require('../utils.cjs');
1649
+
1650
+ +/**
1651
+ + * Hand the caller the clientId that went on the wire.
1652
+ + *
1653
+ + * Zalo's send responses carry only {msgId}, but `undo` and `deleteMessage`
1654
+ + * both require the cliMsgId, which is client-generated and not derivable
1655
+ + * from a msgId. Without this a message of this kind can be sent and then
1656
+ + * never recalled. Mirrors the helper in the ESM build; kept local so a
1657
+ + * zca-js bump that breaks one file cannot break the others.
1658
+ + */
1659
+ +function stampClientId(response, clientId) {
1660
+ + if (!response || typeof response != "object" || clientId == undefined)
1661
+ + return;
1662
+ + response.cliMsgId = String(clientId);
1663
+ +}
1664
+ const sendVoiceFactory = utils.apiFactory()((api, ctx, utils) => {
1665
+ const serviceURL = {
1666
+ [Enum.ThreadType.User]: utils.makeURL(`${api.zpwServiceMap.file[0]}/api/message/forward`),
1667
+ @@ -80,7 +94,9 @@ const sendVoiceFactory = utils.apiFactory()((api, ctx, utils) => {
1668
+ params: encryptedParams,
1669
+ }),
1670
+ });
1671
+ - return utils.resolve(response);
1672
+ + const resolved = await utils.resolve(response);
1673
+ + stampClientId(resolved, clientId);
1674
+ + return resolved;
1675
+ };
1676
+ });
1677
+