alicezetion 1.9.7 → 1.9.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. package/.cache/replit/modules/nodejs-20.res +1 -0
  2. package/.cache/replit/modules/replit.res +1 -0
  3. package/.cache/typescript/5.4/node_modules/.package-lock.json +137 -0
  4. package/.cache/typescript/5.4/node_modules/@types/bluebird/LICENSE +21 -0
  5. package/.cache/typescript/5.4/node_modules/@types/bluebird/README.md +15 -0
  6. package/.cache/typescript/5.4/node_modules/@types/bluebird/index.d.ts +1365 -0
  7. package/.cache/typescript/5.4/node_modules/@types/bluebird/package.json +25 -0
  8. package/.cache/typescript/5.4/node_modules/@types/caseless/LICENSE +21 -0
  9. package/.cache/typescript/5.4/node_modules/@types/caseless/README.md +48 -0
  10. package/.cache/typescript/5.4/node_modules/@types/caseless/index.d.ts +29 -0
  11. package/.cache/typescript/5.4/node_modules/@types/caseless/package.json +35 -0
  12. package/.cache/typescript/5.4/node_modules/@types/cheerio/LICENSE +21 -0
  13. package/.cache/typescript/5.4/node_modules/@types/cheerio/README.md +15 -0
  14. package/.cache/typescript/5.4/node_modules/@types/cheerio/index.d.ts +318 -0
  15. package/.cache/typescript/5.4/node_modules/@types/cheerio/package.json +71 -0
  16. package/.cache/typescript/5.4/node_modules/@types/node/LICENSE +21 -0
  17. package/.cache/typescript/5.4/node_modules/@types/node/README.md +15 -0
  18. package/.cache/typescript/5.4/node_modules/@types/node/assert/strict.d.ts +8 -0
  19. package/.cache/typescript/5.4/node_modules/@types/node/assert.d.ts +1040 -0
  20. package/.cache/typescript/5.4/node_modules/@types/node/async_hooks.d.ts +541 -0
  21. package/.cache/typescript/5.4/node_modules/@types/node/buffer.d.ts +2363 -0
  22. package/.cache/typescript/5.4/node_modules/@types/node/child_process.d.ts +1544 -0
  23. package/.cache/typescript/5.4/node_modules/@types/node/cluster.d.ts +578 -0
  24. package/.cache/typescript/5.4/node_modules/@types/node/console.d.ts +452 -0
  25. package/.cache/typescript/5.4/node_modules/@types/node/constants.d.ts +19 -0
  26. package/.cache/typescript/5.4/node_modules/@types/node/crypto.d.ts +4523 -0
  27. package/.cache/typescript/5.4/node_modules/@types/node/dgram.d.ts +596 -0
  28. package/.cache/typescript/5.4/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  29. package/.cache/typescript/5.4/node_modules/@types/node/dns/promises.d.ts +476 -0
  30. package/.cache/typescript/5.4/node_modules/@types/node/dns.d.ts +864 -0
  31. package/.cache/typescript/5.4/node_modules/@types/node/dom-events.d.ts +124 -0
  32. package/.cache/typescript/5.4/node_modules/@types/node/domain.d.ts +170 -0
  33. package/.cache/typescript/5.4/node_modules/@types/node/events.d.ts +931 -0
  34. package/.cache/typescript/5.4/node_modules/@types/node/fs/promises.d.ts +1245 -0
  35. package/.cache/typescript/5.4/node_modules/@types/node/fs.d.ts +4317 -0
  36. package/.cache/typescript/5.4/node_modules/@types/node/globals.d.ts +412 -0
  37. package/.cache/typescript/5.4/node_modules/@types/node/globals.global.d.ts +1 -0
  38. package/.cache/typescript/5.4/node_modules/@types/node/http.d.ts +1908 -0
  39. package/.cache/typescript/5.4/node_modules/@types/node/http2.d.ts +2418 -0
  40. package/.cache/typescript/5.4/node_modules/@types/node/https.d.ts +550 -0
  41. package/.cache/typescript/5.4/node_modules/@types/node/index.d.ts +89 -0
  42. package/.cache/typescript/5.4/node_modules/@types/node/inspector.d.ts +2746 -0
  43. package/.cache/typescript/5.4/node_modules/@types/node/module.d.ts +315 -0
  44. package/.cache/typescript/5.4/node_modules/@types/node/net.d.ts +999 -0
  45. package/.cache/typescript/5.4/node_modules/@types/node/os.d.ts +495 -0
  46. package/.cache/typescript/5.4/node_modules/@types/node/package.json +217 -0
  47. package/.cache/typescript/5.4/node_modules/@types/node/path.d.ts +191 -0
  48. package/.cache/typescript/5.4/node_modules/@types/node/perf_hooks.d.ts +905 -0
  49. package/.cache/typescript/5.4/node_modules/@types/node/process.d.ts +1754 -0
  50. package/.cache/typescript/5.4/node_modules/@types/node/punycode.d.ts +117 -0
  51. package/.cache/typescript/5.4/node_modules/@types/node/querystring.d.ts +153 -0
  52. package/.cache/typescript/5.4/node_modules/@types/node/readline/promises.d.ts +150 -0
  53. package/.cache/typescript/5.4/node_modules/@types/node/readline.d.ts +540 -0
  54. package/.cache/typescript/5.4/node_modules/@types/node/repl.d.ts +430 -0
  55. package/.cache/typescript/5.4/node_modules/@types/node/sea.d.ts +153 -0
  56. package/.cache/typescript/5.4/node_modules/@types/node/stream/consumers.d.ts +12 -0
  57. package/.cache/typescript/5.4/node_modules/@types/node/stream/promises.d.ts +83 -0
  58. package/.cache/typescript/5.4/node_modules/@types/node/stream/web.d.ts +367 -0
  59. package/.cache/typescript/5.4/node_modules/@types/node/stream.d.ts +1707 -0
  60. package/.cache/typescript/5.4/node_modules/@types/node/string_decoder.d.ts +67 -0
  61. package/.cache/typescript/5.4/node_modules/@types/node/test.d.ts +1718 -0
  62. package/.cache/typescript/5.4/node_modules/@types/node/timers/promises.d.ts +97 -0
  63. package/.cache/typescript/5.4/node_modules/@types/node/timers.d.ts +240 -0
  64. package/.cache/typescript/5.4/node_modules/@types/node/tls.d.ts +1217 -0
  65. package/.cache/typescript/5.4/node_modules/@types/node/trace_events.d.ts +197 -0
  66. package/.cache/typescript/5.4/node_modules/@types/node/tty.d.ts +208 -0
  67. package/.cache/typescript/5.4/node_modules/@types/node/url.d.ts +952 -0
  68. package/.cache/typescript/5.4/node_modules/@types/node/util.d.ts +2292 -0
  69. package/.cache/typescript/5.4/node_modules/@types/node/v8.d.ts +808 -0
  70. package/.cache/typescript/5.4/node_modules/@types/node/vm.d.ts +924 -0
  71. package/.cache/typescript/5.4/node_modules/@types/node/wasi.d.ts +181 -0
  72. package/.cache/typescript/5.4/node_modules/@types/node/worker_threads.d.ts +694 -0
  73. package/.cache/typescript/5.4/node_modules/@types/node/zlib.d.ts +530 -0
  74. package/.cache/typescript/5.4/node_modules/@types/npmlog/LICENSE +21 -0
  75. package/.cache/typescript/5.4/node_modules/@types/npmlog/README.md +15 -0
  76. package/.cache/typescript/5.4/node_modules/@types/npmlog/index.d.ts +84 -0
  77. package/.cache/typescript/5.4/node_modules/@types/npmlog/package.json +32 -0
  78. package/.cache/typescript/5.4/node_modules/@types/request/LICENSE +21 -0
  79. package/.cache/typescript/5.4/node_modules/@types/request/README.md +15 -0
  80. package/.cache/typescript/5.4/node_modules/@types/request/index.d.ts +395 -0
  81. package/.cache/typescript/5.4/node_modules/@types/request/package.json +70 -0
  82. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/LICENSE +21 -0
  83. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/README.md +15 -0
  84. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/index.d.ts +321 -0
  85. package/.cache/typescript/5.4/node_modules/@types/tough-cookie/package.json +35 -0
  86. package/.cache/typescript/5.4/node_modules/asynckit/LICENSE +21 -0
  87. package/.cache/typescript/5.4/node_modules/asynckit/README.md +233 -0
  88. package/.cache/typescript/5.4/node_modules/asynckit/bench.js +76 -0
  89. package/.cache/typescript/5.4/node_modules/asynckit/index.js +6 -0
  90. package/.cache/typescript/5.4/node_modules/asynckit/lib/abort.js +29 -0
  91. package/.cache/typescript/5.4/node_modules/asynckit/lib/async.js +34 -0
  92. package/.cache/typescript/5.4/node_modules/asynckit/lib/defer.js +26 -0
  93. package/.cache/typescript/5.4/node_modules/asynckit/lib/iterate.js +75 -0
  94. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  95. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_parallel.js +25 -0
  96. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial.js +25 -0
  97. package/.cache/typescript/5.4/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  98. package/.cache/typescript/5.4/node_modules/asynckit/lib/state.js +37 -0
  99. package/.cache/typescript/5.4/node_modules/asynckit/lib/streamify.js +141 -0
  100. package/.cache/typescript/5.4/node_modules/asynckit/lib/terminator.js +29 -0
  101. package/.cache/typescript/5.4/node_modules/asynckit/package.json +63 -0
  102. package/.cache/typescript/5.4/node_modules/asynckit/parallel.js +43 -0
  103. package/.cache/typescript/5.4/node_modules/asynckit/serial.js +17 -0
  104. package/.cache/typescript/5.4/node_modules/asynckit/serialOrdered.js +75 -0
  105. package/.cache/typescript/5.4/node_modules/asynckit/stream.js +21 -0
  106. package/.cache/typescript/5.4/node_modules/combined-stream/License +19 -0
  107. package/.cache/typescript/5.4/node_modules/combined-stream/Readme.md +138 -0
  108. package/.cache/typescript/5.4/node_modules/combined-stream/lib/combined_stream.js +208 -0
  109. package/.cache/typescript/5.4/node_modules/combined-stream/package.json +25 -0
  110. package/.cache/typescript/5.4/node_modules/combined-stream/yarn.lock +17 -0
  111. package/.cache/typescript/5.4/node_modules/delayed-stream/License +19 -0
  112. package/.cache/typescript/5.4/node_modules/delayed-stream/Makefile +7 -0
  113. package/.cache/typescript/5.4/node_modules/delayed-stream/Readme.md +141 -0
  114. package/.cache/typescript/5.4/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  115. package/.cache/typescript/5.4/node_modules/delayed-stream/package.json +27 -0
  116. package/.cache/typescript/5.4/node_modules/form-data/License +19 -0
  117. package/.cache/typescript/5.4/node_modules/form-data/README.md +350 -0
  118. package/.cache/typescript/5.4/node_modules/form-data/README.md.bak +350 -0
  119. package/.cache/typescript/5.4/node_modules/form-data/index.d.ts +51 -0
  120. package/.cache/typescript/5.4/node_modules/form-data/lib/browser.js +2 -0
  121. package/.cache/typescript/5.4/node_modules/form-data/lib/form_data.js +483 -0
  122. package/.cache/typescript/5.4/node_modules/form-data/lib/populate.js +10 -0
  123. package/.cache/typescript/5.4/node_modules/form-data/package.json +68 -0
  124. package/.cache/typescript/5.4/node_modules/mime-db/HISTORY.md +507 -0
  125. package/.cache/typescript/5.4/node_modules/mime-db/LICENSE +23 -0
  126. package/.cache/typescript/5.4/node_modules/mime-db/README.md +100 -0
  127. package/.cache/typescript/5.4/node_modules/mime-db/db.json +8519 -0
  128. package/.cache/typescript/5.4/node_modules/mime-db/index.js +12 -0
  129. package/.cache/typescript/5.4/node_modules/mime-db/package.json +60 -0
  130. package/.cache/typescript/5.4/node_modules/mime-types/HISTORY.md +397 -0
  131. package/.cache/typescript/5.4/node_modules/mime-types/LICENSE +23 -0
  132. package/.cache/typescript/5.4/node_modules/mime-types/README.md +113 -0
  133. package/.cache/typescript/5.4/node_modules/mime-types/index.js +188 -0
  134. package/.cache/typescript/5.4/node_modules/mime-types/package.json +44 -0
  135. package/.cache/typescript/5.4/node_modules/types-registry/README.md +2 -0
  136. package/.cache/typescript/5.4/node_modules/types-registry/index.json +1 -0
  137. package/.cache/typescript/5.4/node_modules/types-registry/package.json +20 -0
  138. package/.cache/typescript/5.4/node_modules/undici-types/README.md +6 -0
  139. package/.cache/typescript/5.4/node_modules/undici-types/agent.d.ts +31 -0
  140. package/.cache/typescript/5.4/node_modules/undici-types/api.d.ts +43 -0
  141. package/.cache/typescript/5.4/node_modules/undici-types/balanced-pool.d.ts +18 -0
  142. package/.cache/typescript/5.4/node_modules/undici-types/cache.d.ts +36 -0
  143. package/.cache/typescript/5.4/node_modules/undici-types/client.d.ts +97 -0
  144. package/.cache/typescript/5.4/node_modules/undici-types/connector.d.ts +34 -0
  145. package/.cache/typescript/5.4/node_modules/undici-types/content-type.d.ts +21 -0
  146. package/.cache/typescript/5.4/node_modules/undici-types/cookies.d.ts +28 -0
  147. package/.cache/typescript/5.4/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
  148. package/.cache/typescript/5.4/node_modules/undici-types/dispatcher.d.ts +241 -0
  149. package/.cache/typescript/5.4/node_modules/undici-types/errors.d.ts +128 -0
  150. package/.cache/typescript/5.4/node_modules/undici-types/fetch.d.ts +209 -0
  151. package/.cache/typescript/5.4/node_modules/undici-types/file.d.ts +39 -0
  152. package/.cache/typescript/5.4/node_modules/undici-types/filereader.d.ts +54 -0
  153. package/.cache/typescript/5.4/node_modules/undici-types/formdata.d.ts +108 -0
  154. package/.cache/typescript/5.4/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  155. package/.cache/typescript/5.4/node_modules/undici-types/global-origin.d.ts +7 -0
  156. package/.cache/typescript/5.4/node_modules/undici-types/handlers.d.ts +9 -0
  157. package/.cache/typescript/5.4/node_modules/undici-types/header.d.ts +4 -0
  158. package/.cache/typescript/5.4/node_modules/undici-types/index.d.ts +63 -0
  159. package/.cache/typescript/5.4/node_modules/undici-types/interceptors.d.ts +5 -0
  160. package/.cache/typescript/5.4/node_modules/undici-types/mock-agent.d.ts +50 -0
  161. package/.cache/typescript/5.4/node_modules/undici-types/mock-client.d.ts +25 -0
  162. package/.cache/typescript/5.4/node_modules/undici-types/mock-errors.d.ts +12 -0
  163. package/.cache/typescript/5.4/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  164. package/.cache/typescript/5.4/node_modules/undici-types/mock-pool.d.ts +25 -0
  165. package/.cache/typescript/5.4/node_modules/undici-types/package.json +55 -0
  166. package/.cache/typescript/5.4/node_modules/undici-types/patch.d.ts +71 -0
  167. package/.cache/typescript/5.4/node_modules/undici-types/pool-stats.d.ts +19 -0
  168. package/.cache/typescript/5.4/node_modules/undici-types/pool.d.ts +28 -0
  169. package/.cache/typescript/5.4/node_modules/undici-types/proxy-agent.d.ts +30 -0
  170. package/.cache/typescript/5.4/node_modules/undici-types/readable.d.ts +61 -0
  171. package/.cache/typescript/5.4/node_modules/undici-types/webidl.d.ts +220 -0
  172. package/.cache/typescript/5.4/node_modules/undici-types/websocket.d.ts +131 -0
  173. package/.cache/typescript/5.4/package-lock.json +149 -0
  174. package/.cache/typescript/5.4/package.json +1 -0
  175. package/index.js +291 -71
  176. package/leiamnash/addExternalModule.js +15 -0
  177. package/leiamnash/addUserToGroup.js +77 -0
  178. package/leiamnash/changeAdminStatus.js +47 -0
  179. package/leiamnash/changeArchivedStatus.js +41 -0
  180. package/{src → leiamnash}/changeAvatar.js +3 -2
  181. package/leiamnash/changeBio.js +64 -0
  182. package/leiamnash/changeBlockedStatus.js +36 -0
  183. package/leiamnash/changeGroupImage.js +105 -0
  184. package/leiamnash/changeNickname.js +43 -0
  185. package/leiamnash/changeThreadColor.js +61 -0
  186. package/leiamnash/changeThreadEmoji.js +41 -0
  187. package/{src → leiamnash}/chat.js +4 -29
  188. package/leiamnash/createNewGroup.js +70 -0
  189. package/leiamnash/createPoll.js +59 -0
  190. package/leiamnash/deleteMessage.js +44 -0
  191. package/leiamnash/deleteThread.js +42 -0
  192. package/leiamnash/editMessage.js +62 -0
  193. package/leiamnash/forwardAttachment.js +47 -0
  194. package/leiamnash/forwardMessage.js +0 -0
  195. package/leiamnash/getCurrentUserID.js +7 -0
  196. package/leiamnash/getEmojiUrl.js +27 -0
  197. package/leiamnash/getFriendsList.js +73 -0
  198. package/leiamnash/getInfoVideo.js +134 -0
  199. package/leiamnash/getThreadHistory.js +537 -0
  200. package/leiamnash/getThreadHistoryDeprecated.js +71 -0
  201. package/leiamnash/getThreadInfo.js +171 -0
  202. package/leiamnash/getThreadInfoDeprecated.js +56 -0
  203. package/leiamnash/getThreadList.js +213 -0
  204. package/leiamnash/getThreadListDeprecated.js +46 -0
  205. package/leiamnash/getThreadPictures.js +59 -0
  206. package/leiamnash/getUserID.js +61 -0
  207. package/leiamnash/getUserInfo.js +66 -0
  208. package/leiamnash/handleFriendRequest.js +46 -0
  209. package/leiamnash/handleMessageRequest.js +47 -0
  210. package/leiamnash/httpGet.js +47 -0
  211. package/leiamnash/httpPost.js +47 -0
  212. package/leiamnash/httpPostFormData.js +42 -0
  213. package/leiamnash/listenMqtt.js +843 -0
  214. package/leiamnash/logout.js +68 -0
  215. package/leiamnash/markAsDelivered.js +47 -0
  216. package/leiamnash/markAsRead.js +70 -0
  217. package/leiamnash/markAsReadAll.js +40 -0
  218. package/leiamnash/markAsSeen.js +48 -0
  219. package/leiamnash/muteThread.js +45 -0
  220. package/leiamnash/pinMessage.js +58 -0
  221. package/leiamnash/react.js +109 -0
  222. package/{src → leiamnash}/refreshFb_dtsg.js +1 -1
  223. package/leiamnash/removeUserFromGroup.js +45 -0
  224. package/leiamnash/resolvePhotoUrl.js +36 -0
  225. package/leiamnash/searchForThread.js +42 -0
  226. package/leiamnash/seen.js +40 -0
  227. package/leiamnash/sendMessage.js +315 -0
  228. package/leiamnash/sendTypingIndicator.js +70 -0
  229. package/leiamnash/setMessageReaction.js +103 -0
  230. package/leiamnash/setPostReaction.js +63 -0
  231. package/leiamnash/setTitle.js +70 -0
  232. package/leiamnash/threadColors.js +41 -0
  233. package/leiamnash/token.js +112 -0
  234. package/leiamnash/unfriend.js +42 -0
  235. package/leiamnash/unsendMessage.js +39 -0
  236. package/{src → leiamnash}/uploadAttachment.js +2 -1
  237. package/package.json +3 -2
  238. package/utils.js +1345 -1382
  239. package/.cache/replit/modules/nodejs-20:v32-20240401-269b323.res +0 -1
  240. package/.cache/replit/modules/replit:v8-20240329-787bc7d.res +0 -1
  241. package/.replit +0 -1
  242. package/src/addExternalModule.js +0 -19
  243. package/src/addUserToGroup.js +0 -113
  244. package/src/changeAdminStatus.js +0 -79
  245. package/src/changeArchivedStatus.js +0 -55
  246. package/src/changeBio.js +0 -77
  247. package/src/changeBlockedStatus.js +0 -47
  248. package/src/changeGroupImage.js +0 -132
  249. package/src/changeNickname.js +0 -59
  250. package/src/changeThreadColor.js +0 -65
  251. package/src/changeThreadEmoji.js +0 -55
  252. package/src/createNewGroup.js +0 -86
  253. package/src/createPoll.js +0 -71
  254. package/src/deleteMessage.js +0 -56
  255. package/src/deleteThread.js +0 -56
  256. package/src/edit.js +0 -66
  257. package/src/forwardAttachment.js +0 -60
  258. package/src/getCurrentUserID.js +0 -7
  259. package/src/getEmojiUrl.js +0 -29
  260. package/src/getFriendsList.js +0 -83
  261. package/src/getThreadHistory.js +0 -666
  262. package/src/getThreadInfo.js +0 -232
  263. package/src/getThreadList.js +0 -241
  264. package/src/getThreadPictures.js +0 -79
  265. package/src/getUserID.js +0 -66
  266. package/src/getUserInfo.js +0 -74
  267. package/src/handleFriendRequest.js +0 -61
  268. package/src/handleMessageRequest.js +0 -65
  269. package/src/httpGet.js +0 -57
  270. package/src/httpPost.js +0 -57
  271. package/src/httpPostFormData.js +0 -63
  272. package/src/listenMqtt.js +0 -854
  273. package/src/logout.js +0 -75
  274. package/src/markAsDelivered.js +0 -58
  275. package/src/markAsRead.js +0 -80
  276. package/src/markAsReadAll.js +0 -50
  277. package/src/markAsSeen.js +0 -59
  278. package/src/muteThread.js +0 -52
  279. package/src/react.js +0 -121
  280. package/src/removeUserFromGroup.js +0 -79
  281. package/src/resolvePhotoUrl.js +0 -45
  282. package/src/searchForThread.js +0 -53
  283. package/src/seen.js +0 -50
  284. package/src/sendMessage.js +0 -477
  285. package/src/sendTypingIndicator.js +0 -103
  286. package/src/setMessageReaction.js +0 -121
  287. package/src/setPostReaction.js +0 -109
  288. package/src/setTitle.js +0 -86
  289. package/src/threadColors.js +0 -131
  290. package/src/unfriend.js +0 -52
  291. package/src/unsendMessage.js +0 -49
  292. /package/{src → leiamnash}/getMessage.js +0 -0
@@ -0,0 +1,554 @@
1
+ /**
2
+ * The `node:diagnostics_channel` module provides an API to create named channels
3
+ * to report arbitrary message data for diagnostics purposes.
4
+ *
5
+ * It can be accessed using:
6
+ *
7
+ * ```js
8
+ * import diagnostics_channel from 'node:diagnostics_channel';
9
+ * ```
10
+ *
11
+ * It is intended that a module writer wanting to report diagnostics messages
12
+ * will create one or many top-level channels to report messages through.
13
+ * Channels may also be acquired at runtime but it is not encouraged
14
+ * due to the additional overhead of doing so. Channels may be exported for
15
+ * convenience, but as long as the name is known it can be acquired anywhere.
16
+ *
17
+ * If you intend for your module to produce diagnostics data for others to
18
+ * consume it is recommended that you include documentation of what named
19
+ * channels are used along with the shape of the message data. Channel names
20
+ * should generally include the module name to avoid collisions with data from
21
+ * other modules.
22
+ * @since v15.1.0, v14.17.0
23
+ * @see [source](https://github.com/nodejs/node/blob/v20.13.1/lib/diagnostics_channel.js)
24
+ */
25
+ declare module "diagnostics_channel" {
26
+ import { AsyncLocalStorage } from "node:async_hooks";
27
+ /**
28
+ * Check if there are active subscribers to the named channel. This is helpful if
29
+ * the message you want to send might be expensive to prepare.
30
+ *
31
+ * This API is optional but helpful when trying to publish messages from very
32
+ * performance-sensitive code.
33
+ *
34
+ * ```js
35
+ * import diagnostics_channel from 'node:diagnostics_channel';
36
+ *
37
+ * if (diagnostics_channel.hasSubscribers('my-channel')) {
38
+ * // There are subscribers, prepare and publish message
39
+ * }
40
+ * ```
41
+ * @since v15.1.0, v14.17.0
42
+ * @param name The channel name
43
+ * @return If there are active subscribers
44
+ */
45
+ function hasSubscribers(name: string | symbol): boolean;
46
+ /**
47
+ * This is the primary entry-point for anyone wanting to publish to a named
48
+ * channel. It produces a channel object which is optimized to reduce overhead at
49
+ * publish time as much as possible.
50
+ *
51
+ * ```js
52
+ * import diagnostics_channel from 'node:diagnostics_channel';
53
+ *
54
+ * const channel = diagnostics_channel.channel('my-channel');
55
+ * ```
56
+ * @since v15.1.0, v14.17.0
57
+ * @param name The channel name
58
+ * @return The named channel object
59
+ */
60
+ function channel(name: string | symbol): Channel;
61
+ type ChannelListener = (message: unknown, name: string | symbol) => void;
62
+ /**
63
+ * Register a message handler to subscribe to this channel. This message handler
64
+ * will be run synchronously whenever a message is published to the channel. Any
65
+ * errors thrown in the message handler will trigger an `'uncaughtException'`.
66
+ *
67
+ * ```js
68
+ * import diagnostics_channel from 'node:diagnostics_channel';
69
+ *
70
+ * diagnostics_channel.subscribe('my-channel', (message, name) => {
71
+ * // Received data
72
+ * });
73
+ * ```
74
+ * @since v18.7.0, v16.17.0
75
+ * @param name The channel name
76
+ * @param onMessage The handler to receive channel messages
77
+ */
78
+ function subscribe(name: string | symbol, onMessage: ChannelListener): void;
79
+ /**
80
+ * Remove a message handler previously registered to this channel with {@link subscribe}.
81
+ *
82
+ * ```js
83
+ * import diagnostics_channel from 'node:diagnostics_channel';
84
+ *
85
+ * function onMessage(message, name) {
86
+ * // Received data
87
+ * }
88
+ *
89
+ * diagnostics_channel.subscribe('my-channel', onMessage);
90
+ *
91
+ * diagnostics_channel.unsubscribe('my-channel', onMessage);
92
+ * ```
93
+ * @since v18.7.0, v16.17.0
94
+ * @param name The channel name
95
+ * @param onMessage The previous subscribed handler to remove
96
+ * @return `true` if the handler was found, `false` otherwise.
97
+ */
98
+ function unsubscribe(name: string | symbol, onMessage: ChannelListener): boolean;
99
+ /**
100
+ * Creates a `TracingChannel` wrapper for the given `TracingChannel Channels`. If a name is given, the corresponding tracing
101
+ * channels will be created in the form of `tracing:${name}:${eventType}` where `eventType` corresponds to the types of `TracingChannel Channels`.
102
+ *
103
+ * ```js
104
+ * import diagnostics_channel from 'node:diagnostics_channel';
105
+ *
106
+ * const channelsByName = diagnostics_channel.tracingChannel('my-channel');
107
+ *
108
+ * // or...
109
+ *
110
+ * const channelsByCollection = diagnostics_channel.tracingChannel({
111
+ * start: diagnostics_channel.channel('tracing:my-channel:start'),
112
+ * end: diagnostics_channel.channel('tracing:my-channel:end'),
113
+ * asyncStart: diagnostics_channel.channel('tracing:my-channel:asyncStart'),
114
+ * asyncEnd: diagnostics_channel.channel('tracing:my-channel:asyncEnd'),
115
+ * error: diagnostics_channel.channel('tracing:my-channel:error'),
116
+ * });
117
+ * ```
118
+ * @since v19.9.0
119
+ * @experimental
120
+ * @param nameOrChannels Channel name or object containing all the `TracingChannel Channels`
121
+ * @return Collection of channels to trace with
122
+ */
123
+ function tracingChannel<
124
+ StoreType = unknown,
125
+ ContextType extends object = StoreType extends object ? StoreType : object,
126
+ >(
127
+ nameOrChannels: string | TracingChannelCollection<StoreType, ContextType>,
128
+ ): TracingChannel<StoreType, ContextType>;
129
+ /**
130
+ * The class `Channel` represents an individual named channel within the data
131
+ * pipeline. It is used to track subscribers and to publish messages when there
132
+ * are subscribers present. It exists as a separate object to avoid channel
133
+ * lookups at publish time, enabling very fast publish speeds and allowing
134
+ * for heavy use while incurring very minimal cost. Channels are created with {@link channel}, constructing a channel directly
135
+ * with `new Channel(name)` is not supported.
136
+ * @since v15.1.0, v14.17.0
137
+ */
138
+ class Channel<StoreType = unknown, ContextType = StoreType> {
139
+ readonly name: string | symbol;
140
+ /**
141
+ * Check if there are active subscribers to this channel. This is helpful if
142
+ * the message you want to send might be expensive to prepare.
143
+ *
144
+ * This API is optional but helpful when trying to publish messages from very
145
+ * performance-sensitive code.
146
+ *
147
+ * ```js
148
+ * import diagnostics_channel from 'node:diagnostics_channel';
149
+ *
150
+ * const channel = diagnostics_channel.channel('my-channel');
151
+ *
152
+ * if (channel.hasSubscribers) {
153
+ * // There are subscribers, prepare and publish message
154
+ * }
155
+ * ```
156
+ * @since v15.1.0, v14.17.0
157
+ */
158
+ readonly hasSubscribers: boolean;
159
+ private constructor(name: string | symbol);
160
+ /**
161
+ * Publish a message to any subscribers to the channel. This will trigger
162
+ * message handlers synchronously so they will execute within the same context.
163
+ *
164
+ * ```js
165
+ * import diagnostics_channel from 'node:diagnostics_channel';
166
+ *
167
+ * const channel = diagnostics_channel.channel('my-channel');
168
+ *
169
+ * channel.publish({
170
+ * some: 'message',
171
+ * });
172
+ * ```
173
+ * @since v15.1.0, v14.17.0
174
+ * @param message The message to send to the channel subscribers
175
+ */
176
+ publish(message: unknown): void;
177
+ /**
178
+ * Register a message handler to subscribe to this channel. This message handler
179
+ * will be run synchronously whenever a message is published to the channel. Any
180
+ * errors thrown in the message handler will trigger an `'uncaughtException'`.
181
+ *
182
+ * ```js
183
+ * import diagnostics_channel from 'node:diagnostics_channel';
184
+ *
185
+ * const channel = diagnostics_channel.channel('my-channel');
186
+ *
187
+ * channel.subscribe((message, name) => {
188
+ * // Received data
189
+ * });
190
+ * ```
191
+ * @since v15.1.0, v14.17.0
192
+ * @deprecated Since v18.7.0,v16.17.0 - Use {@link subscribe(name, onMessage)}
193
+ * @param onMessage The handler to receive channel messages
194
+ */
195
+ subscribe(onMessage: ChannelListener): void;
196
+ /**
197
+ * Remove a message handler previously registered to this channel with `channel.subscribe(onMessage)`.
198
+ *
199
+ * ```js
200
+ * import diagnostics_channel from 'node:diagnostics_channel';
201
+ *
202
+ * const channel = diagnostics_channel.channel('my-channel');
203
+ *
204
+ * function onMessage(message, name) {
205
+ * // Received data
206
+ * }
207
+ *
208
+ * channel.subscribe(onMessage);
209
+ *
210
+ * channel.unsubscribe(onMessage);
211
+ * ```
212
+ * @since v15.1.0, v14.17.0
213
+ * @deprecated Since v18.7.0,v16.17.0 - Use {@link unsubscribe(name, onMessage)}
214
+ * @param onMessage The previous subscribed handler to remove
215
+ * @return `true` if the handler was found, `false` otherwise.
216
+ */
217
+ unsubscribe(onMessage: ChannelListener): void;
218
+ /**
219
+ * When `channel.runStores(context, ...)` is called, the given context data
220
+ * will be applied to any store bound to the channel. If the store has already been
221
+ * bound the previous `transform` function will be replaced with the new one.
222
+ * The `transform` function may be omitted to set the given context data as the
223
+ * context directly.
224
+ *
225
+ * ```js
226
+ * import diagnostics_channel from 'node:diagnostics_channel';
227
+ * import { AsyncLocalStorage } from 'node:async_hooks';
228
+ *
229
+ * const store = new AsyncLocalStorage();
230
+ *
231
+ * const channel = diagnostics_channel.channel('my-channel');
232
+ *
233
+ * channel.bindStore(store, (data) => {
234
+ * return { data };
235
+ * });
236
+ * ```
237
+ * @since v19.9.0
238
+ * @experimental
239
+ * @param store The store to which to bind the context data
240
+ * @param transform Transform context data before setting the store context
241
+ */
242
+ bindStore(store: AsyncLocalStorage<StoreType>, transform?: (context: ContextType) => StoreType): void;
243
+ /**
244
+ * Remove a message handler previously registered to this channel with `channel.bindStore(store)`.
245
+ *
246
+ * ```js
247
+ * import diagnostics_channel from 'node:diagnostics_channel';
248
+ * import { AsyncLocalStorage } from 'node:async_hooks';
249
+ *
250
+ * const store = new AsyncLocalStorage();
251
+ *
252
+ * const channel = diagnostics_channel.channel('my-channel');
253
+ *
254
+ * channel.bindStore(store);
255
+ * channel.unbindStore(store);
256
+ * ```
257
+ * @since v19.9.0
258
+ * @experimental
259
+ * @param store The store to unbind from the channel.
260
+ * @return `true` if the store was found, `false` otherwise.
261
+ */
262
+ unbindStore(store: any): void;
263
+ /**
264
+ * Applies the given data to any AsyncLocalStorage instances bound to the channel
265
+ * for the duration of the given function, then publishes to the channel within
266
+ * the scope of that data is applied to the stores.
267
+ *
268
+ * If a transform function was given to `channel.bindStore(store)` it will be
269
+ * applied to transform the message data before it becomes the context value for
270
+ * the store. The prior storage context is accessible from within the transform
271
+ * function in cases where context linking is required.
272
+ *
273
+ * The context applied to the store should be accessible in any async code which
274
+ * continues from execution which began during the given function, however
275
+ * there are some situations in which `context loss` may occur.
276
+ *
277
+ * ```js
278
+ * import diagnostics_channel from 'node:diagnostics_channel';
279
+ * import { AsyncLocalStorage } from 'node:async_hooks';
280
+ *
281
+ * const store = new AsyncLocalStorage();
282
+ *
283
+ * const channel = diagnostics_channel.channel('my-channel');
284
+ *
285
+ * channel.bindStore(store, (message) => {
286
+ * const parent = store.getStore();
287
+ * return new Span(message, parent);
288
+ * });
289
+ * channel.runStores({ some: 'message' }, () => {
290
+ * store.getStore(); // Span({ some: 'message' })
291
+ * });
292
+ * ```
293
+ * @since v19.9.0
294
+ * @experimental
295
+ * @param context Message to send to subscribers and bind to stores
296
+ * @param fn Handler to run within the entered storage context
297
+ * @param thisArg The receiver to be used for the function call.
298
+ * @param args Optional arguments to pass to the function.
299
+ */
300
+ runStores(): void;
301
+ }
302
+ interface TracingChannelSubscribers<ContextType extends object> {
303
+ start: (message: ContextType) => void;
304
+ end: (
305
+ message: ContextType & {
306
+ error?: unknown;
307
+ result?: unknown;
308
+ },
309
+ ) => void;
310
+ asyncStart: (
311
+ message: ContextType & {
312
+ error?: unknown;
313
+ result?: unknown;
314
+ },
315
+ ) => void;
316
+ asyncEnd: (
317
+ message: ContextType & {
318
+ error?: unknown;
319
+ result?: unknown;
320
+ },
321
+ ) => void;
322
+ error: (
323
+ message: ContextType & {
324
+ error: unknown;
325
+ },
326
+ ) => void;
327
+ }
328
+ interface TracingChannelCollection<StoreType = unknown, ContextType = StoreType> {
329
+ start: Channel<StoreType, ContextType>;
330
+ end: Channel<StoreType, ContextType>;
331
+ asyncStart: Channel<StoreType, ContextType>;
332
+ asyncEnd: Channel<StoreType, ContextType>;
333
+ error: Channel<StoreType, ContextType>;
334
+ }
335
+ /**
336
+ * The class `TracingChannel` is a collection of `TracingChannel Channels` which
337
+ * together express a single traceable action. It is used to formalize and
338
+ * simplify the process of producing events for tracing application flow. {@link tracingChannel} is used to construct a `TracingChannel`. As with `Channel` it is recommended to create and reuse a
339
+ * single `TracingChannel` at the top-level of the file rather than creating them
340
+ * dynamically.
341
+ * @since v19.9.0
342
+ * @experimental
343
+ */
344
+ class TracingChannel<StoreType = unknown, ContextType extends object = {}> implements TracingChannelCollection {
345
+ start: Channel<StoreType, ContextType>;
346
+ end: Channel<StoreType, ContextType>;
347
+ asyncStart: Channel<StoreType, ContextType>;
348
+ asyncEnd: Channel<StoreType, ContextType>;
349
+ error: Channel<StoreType, ContextType>;
350
+ /**
351
+ * Helper to subscribe a collection of functions to the corresponding channels.
352
+ * This is the same as calling `channel.subscribe(onMessage)` on each channel
353
+ * individually.
354
+ *
355
+ * ```js
356
+ * import diagnostics_channel from 'node:diagnostics_channel';
357
+ *
358
+ * const channels = diagnostics_channel.tracingChannel('my-channel');
359
+ *
360
+ * channels.subscribe({
361
+ * start(message) {
362
+ * // Handle start message
363
+ * },
364
+ * end(message) {
365
+ * // Handle end message
366
+ * },
367
+ * asyncStart(message) {
368
+ * // Handle asyncStart message
369
+ * },
370
+ * asyncEnd(message) {
371
+ * // Handle asyncEnd message
372
+ * },
373
+ * error(message) {
374
+ * // Handle error message
375
+ * },
376
+ * });
377
+ * ```
378
+ * @since v19.9.0
379
+ * @experimental
380
+ * @param subscribers Set of `TracingChannel Channels` subscribers
381
+ */
382
+ subscribe(subscribers: TracingChannelSubscribers<ContextType>): void;
383
+ /**
384
+ * Helper to unsubscribe a collection of functions from the corresponding channels.
385
+ * This is the same as calling `channel.unsubscribe(onMessage)` on each channel
386
+ * individually.
387
+ *
388
+ * ```js
389
+ * import diagnostics_channel from 'node:diagnostics_channel';
390
+ *
391
+ * const channels = diagnostics_channel.tracingChannel('my-channel');
392
+ *
393
+ * channels.unsubscribe({
394
+ * start(message) {
395
+ * // Handle start message
396
+ * },
397
+ * end(message) {
398
+ * // Handle end message
399
+ * },
400
+ * asyncStart(message) {
401
+ * // Handle asyncStart message
402
+ * },
403
+ * asyncEnd(message) {
404
+ * // Handle asyncEnd message
405
+ * },
406
+ * error(message) {
407
+ * // Handle error message
408
+ * },
409
+ * });
410
+ * ```
411
+ * @since v19.9.0
412
+ * @experimental
413
+ * @param subscribers Set of `TracingChannel Channels` subscribers
414
+ * @return `true` if all handlers were successfully unsubscribed, and `false` otherwise.
415
+ */
416
+ unsubscribe(subscribers: TracingChannelSubscribers<ContextType>): void;
417
+ /**
418
+ * Trace a synchronous function call. This will always produce a `start event` and `end event` around the execution and may produce an `error event` if the given function throws an error.
419
+ * This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all
420
+ * events should have any bound stores set to match this trace context.
421
+ *
422
+ * To ensure only correct trace graphs are formed, events will only be published if subscribers are present prior to starting the trace. Subscriptions
423
+ * which are added after the trace begins will not receive future events from that trace, only future traces will be seen.
424
+ *
425
+ * ```js
426
+ * import diagnostics_channel from 'node:diagnostics_channel';
427
+ *
428
+ * const channels = diagnostics_channel.tracingChannel('my-channel');
429
+ *
430
+ * channels.traceSync(() => {
431
+ * // Do something
432
+ * }, {
433
+ * some: 'thing',
434
+ * });
435
+ * ```
436
+ * @since v19.9.0
437
+ * @experimental
438
+ * @param fn Function to wrap a trace around
439
+ * @param context Shared object to correlate events through
440
+ * @param thisArg The receiver to be used for the function call
441
+ * @param args Optional arguments to pass to the function
442
+ * @return The return value of the given function
443
+ */
444
+ traceSync<ThisArg = any, Args extends any[] = any[]>(
445
+ fn: (this: ThisArg, ...args: Args) => any,
446
+ context?: ContextType,
447
+ thisArg?: ThisArg,
448
+ ...args: Args
449
+ ): void;
450
+ /**
451
+ * Trace a promise-returning function call. This will always produce a `start event` and `end event` around the synchronous portion of the
452
+ * function execution, and will produce an `asyncStart event` and `asyncEnd event` when a promise continuation is reached. It may also
453
+ * produce an `error event` if the given function throws an error or the
454
+ * returned promise rejects. This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all
455
+ * events should have any bound stores set to match this trace context.
456
+ *
457
+ * To ensure only correct trace graphs are formed, events will only be published if subscribers are present prior to starting the trace. Subscriptions
458
+ * which are added after the trace begins will not receive future events from that trace, only future traces will be seen.
459
+ *
460
+ * ```js
461
+ * import diagnostics_channel from 'node:diagnostics_channel';
462
+ *
463
+ * const channels = diagnostics_channel.tracingChannel('my-channel');
464
+ *
465
+ * channels.tracePromise(async () => {
466
+ * // Do something
467
+ * }, {
468
+ * some: 'thing',
469
+ * });
470
+ * ```
471
+ * @since v19.9.0
472
+ * @experimental
473
+ * @param fn Promise-returning function to wrap a trace around
474
+ * @param context Shared object to correlate trace events through
475
+ * @param thisArg The receiver to be used for the function call
476
+ * @param args Optional arguments to pass to the function
477
+ * @return Chained from promise returned by the given function
478
+ */
479
+ tracePromise<ThisArg = any, Args extends any[] = any[]>(
480
+ fn: (this: ThisArg, ...args: Args) => Promise<any>,
481
+ context?: ContextType,
482
+ thisArg?: ThisArg,
483
+ ...args: Args
484
+ ): void;
485
+ /**
486
+ * Trace a callback-receiving function call. This will always produce a `start event` and `end event` around the synchronous portion of the
487
+ * function execution, and will produce a `asyncStart event` and `asyncEnd event` around the callback execution. It may also produce an `error event` if the given function throws an error or
488
+ * the returned
489
+ * promise rejects. This will run the given function using `channel.runStores(context, ...)` on the `start` channel which ensures all
490
+ * events should have any bound stores set to match this trace context.
491
+ *
492
+ * The `position` will be -1 by default to indicate the final argument should
493
+ * be used as the callback.
494
+ *
495
+ * ```js
496
+ * import diagnostics_channel from 'node:diagnostics_channel';
497
+ *
498
+ * const channels = diagnostics_channel.tracingChannel('my-channel');
499
+ *
500
+ * channels.traceCallback((arg1, callback) => {
501
+ * // Do something
502
+ * callback(null, 'result');
503
+ * }, 1, {
504
+ * some: 'thing',
505
+ * }, thisArg, arg1, callback);
506
+ * ```
507
+ *
508
+ * The callback will also be run with `channel.runStores(context, ...)` which
509
+ * enables context loss recovery in some cases.
510
+ *
511
+ * To ensure only correct trace graphs are formed, events will only be published if subscribers are present prior to starting the trace. Subscriptions
512
+ * which are added after the trace begins will not receive future events from that trace, only future traces will be seen.
513
+ *
514
+ * ```js
515
+ * import diagnostics_channel from 'node:diagnostics_channel';
516
+ * import { AsyncLocalStorage } from 'node:async_hooks';
517
+ *
518
+ * const channels = diagnostics_channel.tracingChannel('my-channel');
519
+ * const myStore = new AsyncLocalStorage();
520
+ *
521
+ * // The start channel sets the initial store data to something
522
+ * // and stores that store data value on the trace context object
523
+ * channels.start.bindStore(myStore, (data) => {
524
+ * const span = new Span(data);
525
+ * data.span = span;
526
+ * return span;
527
+ * });
528
+ *
529
+ * // Then asyncStart can restore from that data it stored previously
530
+ * channels.asyncStart.bindStore(myStore, (data) => {
531
+ * return data.span;
532
+ * });
533
+ * ```
534
+ * @since v19.9.0
535
+ * @experimental
536
+ * @param fn callback using function to wrap a trace around
537
+ * @param position Zero-indexed argument position of expected callback
538
+ * @param context Shared object to correlate trace events through
539
+ * @param thisArg The receiver to be used for the function call
540
+ * @param args Optional arguments to pass to the function
541
+ * @return The return value of the given function
542
+ */
543
+ traceCallback<Fn extends (this: any, ...args: any) => any>(
544
+ fn: Fn,
545
+ position: number | undefined,
546
+ context: ContextType | undefined,
547
+ thisArg: any,
548
+ ...args: Parameters<Fn>
549
+ ): void;
550
+ }
551
+ }
552
+ declare module "node:diagnostics_channel" {
553
+ export * from "diagnostics_channel";
554
+ }