@dementevdev/maxbot-ts 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/LICENSE +21 -0
  3. package/README.md +1176 -0
  4. package/dist/cjs/api/BotsApi.d.ts +17 -0
  5. package/dist/cjs/api/BotsApi.d.ts.map +1 -0
  6. package/dist/cjs/api/BotsApi.js +22 -0
  7. package/dist/cjs/api/ChatsApi.d.ts +87 -0
  8. package/dist/cjs/api/ChatsApi.d.ts.map +1 -0
  9. package/dist/cjs/api/ChatsApi.js +144 -0
  10. package/dist/cjs/api/MessagesApi.d.ts +41 -0
  11. package/dist/cjs/api/MessagesApi.d.ts.map +1 -0
  12. package/dist/cjs/api/MessagesApi.js +66 -0
  13. package/dist/cjs/api/SubscriptionsApi.d.ts +45 -0
  14. package/dist/cjs/api/SubscriptionsApi.d.ts.map +1 -0
  15. package/dist/cjs/api/SubscriptionsApi.js +69 -0
  16. package/dist/cjs/api/UploadsApi.d.ts +45 -0
  17. package/dist/cjs/api/UploadsApi.d.ts.map +1 -0
  18. package/dist/cjs/api/UploadsApi.js +113 -0
  19. package/dist/cjs/api/index.d.ts +7 -0
  20. package/dist/cjs/api/index.d.ts.map +1 -0
  21. package/dist/cjs/api/index.js +14 -0
  22. package/dist/cjs/api/interfaces.d.ts +108 -0
  23. package/dist/cjs/api/interfaces.d.ts.map +1 -0
  24. package/dist/cjs/api/interfaces.js +3 -0
  25. package/dist/cjs/bot/Bot.d.ts +380 -0
  26. package/dist/cjs/bot/Bot.d.ts.map +1 -0
  27. package/dist/cjs/bot/Bot.js +624 -0
  28. package/dist/cjs/bot/Composer.d.ts +131 -0
  29. package/dist/cjs/bot/Composer.d.ts.map +1 -0
  30. package/dist/cjs/bot/Composer.js +218 -0
  31. package/dist/cjs/bot/context/BotStartedContext.d.ts +83 -0
  32. package/dist/cjs/bot/context/BotStartedContext.d.ts.map +1 -0
  33. package/dist/cjs/bot/context/BotStartedContext.js +113 -0
  34. package/dist/cjs/bot/context/CallbackContext.d.ts +107 -0
  35. package/dist/cjs/bot/context/CallbackContext.d.ts.map +1 -0
  36. package/dist/cjs/bot/context/CallbackContext.js +158 -0
  37. package/dist/cjs/bot/context/ChatContext.d.ts +35 -0
  38. package/dist/cjs/bot/context/ChatContext.d.ts.map +1 -0
  39. package/dist/cjs/bot/context/ChatContext.js +52 -0
  40. package/dist/cjs/bot/context/MessageContext.d.ts +149 -0
  41. package/dist/cjs/bot/context/MessageContext.d.ts.map +1 -0
  42. package/dist/cjs/bot/context/MessageContext.js +228 -0
  43. package/dist/cjs/bot/context/guards.d.ts +69 -0
  44. package/dist/cjs/bot/context/guards.d.ts.map +1 -0
  45. package/dist/cjs/bot/context/guards.js +85 -0
  46. package/dist/cjs/bot/context/index.d.ts +6 -0
  47. package/dist/cjs/bot/context/index.d.ts.map +1 -0
  48. package/dist/cjs/bot/context/index.js +18 -0
  49. package/dist/cjs/bot/dispatch.d.ts +51 -0
  50. package/dist/cjs/bot/dispatch.d.ts.map +1 -0
  51. package/dist/cjs/bot/dispatch.js +201 -0
  52. package/dist/cjs/bot/index.d.ts +10 -0
  53. package/dist/cjs/bot/index.d.ts.map +1 -0
  54. package/dist/cjs/bot/index.js +24 -0
  55. package/dist/cjs/bot/lifecycle.d.ts +85 -0
  56. package/dist/cjs/bot/lifecycle.d.ts.map +1 -0
  57. package/dist/cjs/bot/lifecycle.js +167 -0
  58. package/dist/cjs/bot/metrics.d.ts +18 -0
  59. package/dist/cjs/bot/metrics.d.ts.map +1 -0
  60. package/dist/cjs/bot/metrics.js +3 -0
  61. package/dist/cjs/bot/routing.d.ts +131 -0
  62. package/dist/cjs/bot/routing.d.ts.map +1 -0
  63. package/dist/cjs/bot/routing.js +198 -0
  64. package/dist/cjs/bot/triggers.d.ts +61 -0
  65. package/dist/cjs/bot/triggers.d.ts.map +1 -0
  66. package/dist/cjs/bot/triggers.js +84 -0
  67. package/dist/cjs/core/errors/MaxError.d.ts +11 -0
  68. package/dist/cjs/core/errors/MaxError.d.ts.map +1 -0
  69. package/dist/cjs/core/errors/MaxError.js +19 -0
  70. package/dist/cjs/core/errors/errors.d.ts +59 -0
  71. package/dist/cjs/core/errors/errors.d.ts.map +1 -0
  72. package/dist/cjs/core/errors/errors.js +84 -0
  73. package/dist/cjs/core/errors/index.d.ts +3 -0
  74. package/dist/cjs/core/errors/index.d.ts.map +1 -0
  75. package/dist/cjs/core/errors/index.js +13 -0
  76. package/dist/cjs/core/http/HttpClient.d.ts +28 -0
  77. package/dist/cjs/core/http/HttpClient.d.ts.map +1 -0
  78. package/dist/cjs/core/http/HttpClient.js +148 -0
  79. package/dist/cjs/core/http/index.d.ts +3 -0
  80. package/dist/cjs/core/http/index.d.ts.map +1 -0
  81. package/dist/cjs/core/http/index.js +6 -0
  82. package/dist/cjs/core/http/interfaces.d.ts +42 -0
  83. package/dist/cjs/core/http/interfaces.d.ts.map +1 -0
  84. package/dist/cjs/core/http/interfaces.js +3 -0
  85. package/dist/cjs/core/rate-limiter/RateLimiter.d.ts +46 -0
  86. package/dist/cjs/core/rate-limiter/RateLimiter.d.ts.map +1 -0
  87. package/dist/cjs/core/rate-limiter/RateLimiter.js +110 -0
  88. package/dist/cjs/core/rate-limiter/index.d.ts +3 -0
  89. package/dist/cjs/core/rate-limiter/index.d.ts.map +1 -0
  90. package/dist/cjs/core/rate-limiter/index.js +6 -0
  91. package/dist/cjs/filters/index.d.ts +2 -0
  92. package/dist/cjs/filters/index.d.ts.map +1 -0
  93. package/dist/cjs/filters/index.js +10 -0
  94. package/dist/cjs/filters/predicates.d.ts +85 -0
  95. package/dist/cjs/filters/predicates.d.ts.map +1 -0
  96. package/dist/cjs/filters/predicates.js +111 -0
  97. package/dist/cjs/index.d.ts +11 -0
  98. package/dist/cjs/index.d.ts.map +1 -0
  99. package/dist/cjs/index.js +27 -0
  100. package/dist/cjs/middleware/compose.d.ts +28 -0
  101. package/dist/cjs/middleware/compose.d.ts.map +1 -0
  102. package/dist/cjs/middleware/compose.js +89 -0
  103. package/dist/cjs/middleware/index.d.ts +3 -0
  104. package/dist/cjs/middleware/index.d.ts.map +1 -0
  105. package/dist/cjs/middleware/index.js +7 -0
  106. package/dist/cjs/middleware/types.d.ts +17 -0
  107. package/dist/cjs/middleware/types.d.ts.map +1 -0
  108. package/dist/cjs/middleware/types.js +3 -0
  109. package/dist/cjs/package.json +3 -0
  110. package/dist/cjs/transport/LongPollingTransport.d.ts +33 -0
  111. package/dist/cjs/transport/LongPollingTransport.d.ts.map +1 -0
  112. package/dist/cjs/transport/LongPollingTransport.js +153 -0
  113. package/dist/cjs/transport/WebhookTransport.d.ts +40 -0
  114. package/dist/cjs/transport/WebhookTransport.d.ts.map +1 -0
  115. package/dist/cjs/transport/WebhookTransport.js +229 -0
  116. package/dist/cjs/transport/index.d.ts +4 -0
  117. package/dist/cjs/transport/index.d.ts.map +1 -0
  118. package/dist/cjs/transport/index.js +8 -0
  119. package/dist/cjs/transport/interfaces.d.ts +74 -0
  120. package/dist/cjs/transport/interfaces.d.ts.map +1 -0
  121. package/dist/cjs/transport/interfaces.js +3 -0
  122. package/dist/cjs/types/bot.d.ts +19 -0
  123. package/dist/cjs/types/bot.d.ts.map +1 -0
  124. package/dist/cjs/types/bot.js +3 -0
  125. package/dist/cjs/types/chat.d.ts +94 -0
  126. package/dist/cjs/types/chat.d.ts.map +1 -0
  127. package/dist/cjs/types/chat.js +3 -0
  128. package/dist/cjs/types/common.d.ts +38 -0
  129. package/dist/cjs/types/common.d.ts.map +1 -0
  130. package/dist/cjs/types/common.js +6 -0
  131. package/dist/cjs/types/index.d.ts +9 -0
  132. package/dist/cjs/types/index.d.ts.map +1 -0
  133. package/dist/cjs/types/index.js +26 -0
  134. package/dist/cjs/types/keyboard.d.ts +97 -0
  135. package/dist/cjs/types/keyboard.d.ts.map +1 -0
  136. package/dist/cjs/types/keyboard.js +3 -0
  137. package/dist/cjs/types/message.d.ts +162 -0
  138. package/dist/cjs/types/message.d.ts.map +1 -0
  139. package/dist/cjs/types/message.js +3 -0
  140. package/dist/cjs/types/subscription.d.ts +23 -0
  141. package/dist/cjs/types/subscription.d.ts.map +1 -0
  142. package/dist/cjs/types/subscription.js +3 -0
  143. package/dist/cjs/types/update.d.ts +99 -0
  144. package/dist/cjs/types/update.d.ts.map +1 -0
  145. package/dist/cjs/types/update.js +3 -0
  146. package/dist/cjs/types/upload.d.ts +29 -0
  147. package/dist/cjs/types/upload.d.ts.map +1 -0
  148. package/dist/cjs/types/upload.js +3 -0
  149. package/dist/cjs/utils/Histogram.d.ts +93 -0
  150. package/dist/cjs/utils/Histogram.d.ts.map +1 -0
  151. package/dist/cjs/utils/Histogram.js +103 -0
  152. package/dist/cjs/utils/assertNever.d.ts +19 -0
  153. package/dist/cjs/utils/assertNever.d.ts.map +1 -0
  154. package/dist/cjs/utils/assertNever.js +24 -0
  155. package/dist/cjs/utils/format.d.ts +22 -0
  156. package/dist/cjs/utils/format.d.ts.map +1 -0
  157. package/dist/cjs/utils/format.js +25 -0
  158. package/dist/cjs/utils/index.d.ts +6 -0
  159. package/dist/cjs/utils/index.d.ts.map +1 -0
  160. package/dist/cjs/utils/index.js +14 -0
  161. package/dist/cjs/utils/keyboard.d.ts +70 -0
  162. package/dist/cjs/utils/keyboard.d.ts.map +1 -0
  163. package/dist/cjs/utils/keyboard.js +166 -0
  164. package/dist/esm/api/BotsApi.d.ts +17 -0
  165. package/dist/esm/api/BotsApi.d.ts.map +1 -0
  166. package/dist/esm/api/BotsApi.js +18 -0
  167. package/dist/esm/api/ChatsApi.d.ts +87 -0
  168. package/dist/esm/api/ChatsApi.d.ts.map +1 -0
  169. package/dist/esm/api/ChatsApi.js +140 -0
  170. package/dist/esm/api/MessagesApi.d.ts +41 -0
  171. package/dist/esm/api/MessagesApi.d.ts.map +1 -0
  172. package/dist/esm/api/MessagesApi.js +62 -0
  173. package/dist/esm/api/SubscriptionsApi.d.ts +45 -0
  174. package/dist/esm/api/SubscriptionsApi.d.ts.map +1 -0
  175. package/dist/esm/api/SubscriptionsApi.js +65 -0
  176. package/dist/esm/api/UploadsApi.d.ts +45 -0
  177. package/dist/esm/api/UploadsApi.d.ts.map +1 -0
  178. package/dist/esm/api/UploadsApi.js +109 -0
  179. package/dist/esm/api/index.d.ts +7 -0
  180. package/dist/esm/api/index.d.ts.map +1 -0
  181. package/dist/esm/api/index.js +6 -0
  182. package/dist/esm/api/interfaces.d.ts +108 -0
  183. package/dist/esm/api/interfaces.d.ts.map +1 -0
  184. package/dist/esm/api/interfaces.js +2 -0
  185. package/dist/esm/bot/Bot.d.ts +380 -0
  186. package/dist/esm/bot/Bot.d.ts.map +1 -0
  187. package/dist/esm/bot/Bot.js +620 -0
  188. package/dist/esm/bot/Composer.d.ts +131 -0
  189. package/dist/esm/bot/Composer.d.ts.map +1 -0
  190. package/dist/esm/bot/Composer.js +214 -0
  191. package/dist/esm/bot/context/BotStartedContext.d.ts +83 -0
  192. package/dist/esm/bot/context/BotStartedContext.d.ts.map +1 -0
  193. package/dist/esm/bot/context/BotStartedContext.js +109 -0
  194. package/dist/esm/bot/context/CallbackContext.d.ts +107 -0
  195. package/dist/esm/bot/context/CallbackContext.d.ts.map +1 -0
  196. package/dist/esm/bot/context/CallbackContext.js +154 -0
  197. package/dist/esm/bot/context/ChatContext.d.ts +35 -0
  198. package/dist/esm/bot/context/ChatContext.d.ts.map +1 -0
  199. package/dist/esm/bot/context/ChatContext.js +48 -0
  200. package/dist/esm/bot/context/MessageContext.d.ts +149 -0
  201. package/dist/esm/bot/context/MessageContext.d.ts.map +1 -0
  202. package/dist/esm/bot/context/MessageContext.js +224 -0
  203. package/dist/esm/bot/context/guards.d.ts +69 -0
  204. package/dist/esm/bot/context/guards.d.ts.map +1 -0
  205. package/dist/esm/bot/context/guards.js +78 -0
  206. package/dist/esm/bot/context/index.d.ts +6 -0
  207. package/dist/esm/bot/context/index.d.ts.map +1 -0
  208. package/dist/esm/bot/context/index.js +6 -0
  209. package/dist/esm/bot/dispatch.d.ts +51 -0
  210. package/dist/esm/bot/dispatch.d.ts.map +1 -0
  211. package/dist/esm/bot/dispatch.js +197 -0
  212. package/dist/esm/bot/index.d.ts +10 -0
  213. package/dist/esm/bot/index.d.ts.map +1 -0
  214. package/dist/esm/bot/index.js +9 -0
  215. package/dist/esm/bot/lifecycle.d.ts +85 -0
  216. package/dist/esm/bot/lifecycle.d.ts.map +1 -0
  217. package/dist/esm/bot/lifecycle.js +163 -0
  218. package/dist/esm/bot/metrics.d.ts +18 -0
  219. package/dist/esm/bot/metrics.d.ts.map +1 -0
  220. package/dist/esm/bot/metrics.js +2 -0
  221. package/dist/esm/bot/routing.d.ts +131 -0
  222. package/dist/esm/bot/routing.d.ts.map +1 -0
  223. package/dist/esm/bot/routing.js +194 -0
  224. package/dist/esm/bot/triggers.d.ts +61 -0
  225. package/dist/esm/bot/triggers.d.ts.map +1 -0
  226. package/dist/esm/bot/triggers.js +80 -0
  227. package/dist/esm/core/errors/MaxError.d.ts +11 -0
  228. package/dist/esm/core/errors/MaxError.d.ts.map +1 -0
  229. package/dist/esm/core/errors/MaxError.js +15 -0
  230. package/dist/esm/core/errors/errors.d.ts +59 -0
  231. package/dist/esm/core/errors/errors.d.ts.map +1 -0
  232. package/dist/esm/core/errors/errors.js +75 -0
  233. package/dist/esm/core/errors/index.d.ts +3 -0
  234. package/dist/esm/core/errors/index.d.ts.map +1 -0
  235. package/dist/esm/core/errors/index.js +3 -0
  236. package/dist/esm/core/http/HttpClient.d.ts +28 -0
  237. package/dist/esm/core/http/HttpClient.d.ts.map +1 -0
  238. package/dist/esm/core/http/HttpClient.js +144 -0
  239. package/dist/esm/core/http/index.d.ts +3 -0
  240. package/dist/esm/core/http/index.d.ts.map +1 -0
  241. package/dist/esm/core/http/index.js +2 -0
  242. package/dist/esm/core/http/interfaces.d.ts +42 -0
  243. package/dist/esm/core/http/interfaces.d.ts.map +1 -0
  244. package/dist/esm/core/http/interfaces.js +2 -0
  245. package/dist/esm/core/rate-limiter/RateLimiter.d.ts +46 -0
  246. package/dist/esm/core/rate-limiter/RateLimiter.d.ts.map +1 -0
  247. package/dist/esm/core/rate-limiter/RateLimiter.js +106 -0
  248. package/dist/esm/core/rate-limiter/index.d.ts +3 -0
  249. package/dist/esm/core/rate-limiter/index.d.ts.map +1 -0
  250. package/dist/esm/core/rate-limiter/index.js +2 -0
  251. package/dist/esm/filters/index.d.ts +2 -0
  252. package/dist/esm/filters/index.d.ts.map +1 -0
  253. package/dist/esm/filters/index.js +2 -0
  254. package/dist/esm/filters/predicates.d.ts +85 -0
  255. package/dist/esm/filters/predicates.d.ts.map +1 -0
  256. package/dist/esm/filters/predicates.js +104 -0
  257. package/dist/esm/index.d.ts +11 -0
  258. package/dist/esm/index.d.ts.map +1 -0
  259. package/dist/esm/index.js +11 -0
  260. package/dist/esm/middleware/compose.d.ts +28 -0
  261. package/dist/esm/middleware/compose.d.ts.map +1 -0
  262. package/dist/esm/middleware/compose.js +85 -0
  263. package/dist/esm/middleware/index.d.ts +3 -0
  264. package/dist/esm/middleware/index.d.ts.map +1 -0
  265. package/dist/esm/middleware/index.js +2 -0
  266. package/dist/esm/middleware/types.d.ts +17 -0
  267. package/dist/esm/middleware/types.d.ts.map +1 -0
  268. package/dist/esm/middleware/types.js +2 -0
  269. package/dist/esm/transport/LongPollingTransport.d.ts +33 -0
  270. package/dist/esm/transport/LongPollingTransport.d.ts.map +1 -0
  271. package/dist/esm/transport/LongPollingTransport.js +149 -0
  272. package/dist/esm/transport/WebhookTransport.d.ts +40 -0
  273. package/dist/esm/transport/WebhookTransport.d.ts.map +1 -0
  274. package/dist/esm/transport/WebhookTransport.js +225 -0
  275. package/dist/esm/transport/index.d.ts +4 -0
  276. package/dist/esm/transport/index.d.ts.map +1 -0
  277. package/dist/esm/transport/index.js +3 -0
  278. package/dist/esm/transport/interfaces.d.ts +74 -0
  279. package/dist/esm/transport/interfaces.d.ts.map +1 -0
  280. package/dist/esm/transport/interfaces.js +2 -0
  281. package/dist/esm/types/bot.d.ts +19 -0
  282. package/dist/esm/types/bot.d.ts.map +1 -0
  283. package/dist/esm/types/bot.js +2 -0
  284. package/dist/esm/types/chat.d.ts +94 -0
  285. package/dist/esm/types/chat.d.ts.map +1 -0
  286. package/dist/esm/types/chat.js +2 -0
  287. package/dist/esm/types/common.d.ts +38 -0
  288. package/dist/esm/types/common.d.ts.map +1 -0
  289. package/dist/esm/types/common.js +5 -0
  290. package/dist/esm/types/index.d.ts +9 -0
  291. package/dist/esm/types/index.d.ts.map +1 -0
  292. package/dist/esm/types/index.js +10 -0
  293. package/dist/esm/types/keyboard.d.ts +97 -0
  294. package/dist/esm/types/keyboard.d.ts.map +1 -0
  295. package/dist/esm/types/keyboard.js +2 -0
  296. package/dist/esm/types/message.d.ts +162 -0
  297. package/dist/esm/types/message.d.ts.map +1 -0
  298. package/dist/esm/types/message.js +2 -0
  299. package/dist/esm/types/subscription.d.ts +23 -0
  300. package/dist/esm/types/subscription.d.ts.map +1 -0
  301. package/dist/esm/types/subscription.js +2 -0
  302. package/dist/esm/types/update.d.ts +99 -0
  303. package/dist/esm/types/update.d.ts.map +1 -0
  304. package/dist/esm/types/update.js +2 -0
  305. package/dist/esm/types/upload.d.ts +29 -0
  306. package/dist/esm/types/upload.d.ts.map +1 -0
  307. package/dist/esm/types/upload.js +2 -0
  308. package/dist/esm/utils/Histogram.d.ts +93 -0
  309. package/dist/esm/utils/Histogram.d.ts.map +1 -0
  310. package/dist/esm/utils/Histogram.js +99 -0
  311. package/dist/esm/utils/assertNever.d.ts +19 -0
  312. package/dist/esm/utils/assertNever.d.ts.map +1 -0
  313. package/dist/esm/utils/assertNever.js +21 -0
  314. package/dist/esm/utils/format.d.ts +22 -0
  315. package/dist/esm/utils/format.d.ts.map +1 -0
  316. package/dist/esm/utils/format.js +22 -0
  317. package/dist/esm/utils/index.d.ts +6 -0
  318. package/dist/esm/utils/index.d.ts.map +1 -0
  319. package/dist/esm/utils/index.js +5 -0
  320. package/dist/esm/utils/keyboard.d.ts +70 -0
  321. package/dist/esm/utils/keyboard.d.ts.map +1 -0
  322. package/dist/esm/utils/keyboard.js +162 -0
  323. package/dist/types/api/BotsApi.d.ts +17 -0
  324. package/dist/types/api/BotsApi.d.ts.map +1 -0
  325. package/dist/types/api/ChatsApi.d.ts +87 -0
  326. package/dist/types/api/ChatsApi.d.ts.map +1 -0
  327. package/dist/types/api/MessagesApi.d.ts +41 -0
  328. package/dist/types/api/MessagesApi.d.ts.map +1 -0
  329. package/dist/types/api/SubscriptionsApi.d.ts +45 -0
  330. package/dist/types/api/SubscriptionsApi.d.ts.map +1 -0
  331. package/dist/types/api/UploadsApi.d.ts +45 -0
  332. package/dist/types/api/UploadsApi.d.ts.map +1 -0
  333. package/dist/types/api/index.d.ts +7 -0
  334. package/dist/types/api/index.d.ts.map +1 -0
  335. package/dist/types/api/interfaces.d.ts +108 -0
  336. package/dist/types/api/interfaces.d.ts.map +1 -0
  337. package/dist/types/bot/Bot.d.ts +380 -0
  338. package/dist/types/bot/Bot.d.ts.map +1 -0
  339. package/dist/types/bot/Composer.d.ts +131 -0
  340. package/dist/types/bot/Composer.d.ts.map +1 -0
  341. package/dist/types/bot/context/BotStartedContext.d.ts +83 -0
  342. package/dist/types/bot/context/BotStartedContext.d.ts.map +1 -0
  343. package/dist/types/bot/context/CallbackContext.d.ts +107 -0
  344. package/dist/types/bot/context/CallbackContext.d.ts.map +1 -0
  345. package/dist/types/bot/context/ChatContext.d.ts +35 -0
  346. package/dist/types/bot/context/ChatContext.d.ts.map +1 -0
  347. package/dist/types/bot/context/MessageContext.d.ts +149 -0
  348. package/dist/types/bot/context/MessageContext.d.ts.map +1 -0
  349. package/dist/types/bot/context/guards.d.ts +69 -0
  350. package/dist/types/bot/context/guards.d.ts.map +1 -0
  351. package/dist/types/bot/context/index.d.ts +6 -0
  352. package/dist/types/bot/context/index.d.ts.map +1 -0
  353. package/dist/types/bot/dispatch.d.ts +51 -0
  354. package/dist/types/bot/dispatch.d.ts.map +1 -0
  355. package/dist/types/bot/index.d.ts +10 -0
  356. package/dist/types/bot/index.d.ts.map +1 -0
  357. package/dist/types/bot/lifecycle.d.ts +85 -0
  358. package/dist/types/bot/lifecycle.d.ts.map +1 -0
  359. package/dist/types/bot/metrics.d.ts +18 -0
  360. package/dist/types/bot/metrics.d.ts.map +1 -0
  361. package/dist/types/bot/routing.d.ts +131 -0
  362. package/dist/types/bot/routing.d.ts.map +1 -0
  363. package/dist/types/bot/triggers.d.ts +61 -0
  364. package/dist/types/bot/triggers.d.ts.map +1 -0
  365. package/dist/types/core/errors/MaxError.d.ts +11 -0
  366. package/dist/types/core/errors/MaxError.d.ts.map +1 -0
  367. package/dist/types/core/errors/errors.d.ts +59 -0
  368. package/dist/types/core/errors/errors.d.ts.map +1 -0
  369. package/dist/types/core/errors/index.d.ts +3 -0
  370. package/dist/types/core/errors/index.d.ts.map +1 -0
  371. package/dist/types/core/http/HttpClient.d.ts +28 -0
  372. package/dist/types/core/http/HttpClient.d.ts.map +1 -0
  373. package/dist/types/core/http/index.d.ts +3 -0
  374. package/dist/types/core/http/index.d.ts.map +1 -0
  375. package/dist/types/core/http/interfaces.d.ts +42 -0
  376. package/dist/types/core/http/interfaces.d.ts.map +1 -0
  377. package/dist/types/core/rate-limiter/RateLimiter.d.ts +46 -0
  378. package/dist/types/core/rate-limiter/RateLimiter.d.ts.map +1 -0
  379. package/dist/types/core/rate-limiter/index.d.ts +3 -0
  380. package/dist/types/core/rate-limiter/index.d.ts.map +1 -0
  381. package/dist/types/filters/index.d.ts +2 -0
  382. package/dist/types/filters/index.d.ts.map +1 -0
  383. package/dist/types/filters/predicates.d.ts +85 -0
  384. package/dist/types/filters/predicates.d.ts.map +1 -0
  385. package/dist/types/index.d.ts +11 -0
  386. package/dist/types/index.d.ts.map +1 -0
  387. package/dist/types/middleware/compose.d.ts +28 -0
  388. package/dist/types/middleware/compose.d.ts.map +1 -0
  389. package/dist/types/middleware/index.d.ts +3 -0
  390. package/dist/types/middleware/index.d.ts.map +1 -0
  391. package/dist/types/middleware/types.d.ts +17 -0
  392. package/dist/types/middleware/types.d.ts.map +1 -0
  393. package/dist/types/transport/LongPollingTransport.d.ts +33 -0
  394. package/dist/types/transport/LongPollingTransport.d.ts.map +1 -0
  395. package/dist/types/transport/WebhookTransport.d.ts +40 -0
  396. package/dist/types/transport/WebhookTransport.d.ts.map +1 -0
  397. package/dist/types/transport/index.d.ts +4 -0
  398. package/dist/types/transport/index.d.ts.map +1 -0
  399. package/dist/types/transport/interfaces.d.ts +74 -0
  400. package/dist/types/transport/interfaces.d.ts.map +1 -0
  401. package/dist/types/types/bot.d.ts +19 -0
  402. package/dist/types/types/bot.d.ts.map +1 -0
  403. package/dist/types/types/chat.d.ts +94 -0
  404. package/dist/types/types/chat.d.ts.map +1 -0
  405. package/dist/types/types/common.d.ts +38 -0
  406. package/dist/types/types/common.d.ts.map +1 -0
  407. package/dist/types/types/index.d.ts +9 -0
  408. package/dist/types/types/index.d.ts.map +1 -0
  409. package/dist/types/types/keyboard.d.ts +97 -0
  410. package/dist/types/types/keyboard.d.ts.map +1 -0
  411. package/dist/types/types/message.d.ts +162 -0
  412. package/dist/types/types/message.d.ts.map +1 -0
  413. package/dist/types/types/subscription.d.ts +23 -0
  414. package/dist/types/types/subscription.d.ts.map +1 -0
  415. package/dist/types/types/update.d.ts +99 -0
  416. package/dist/types/types/update.d.ts.map +1 -0
  417. package/dist/types/types/upload.d.ts +29 -0
  418. package/dist/types/types/upload.d.ts.map +1 -0
  419. package/dist/types/utils/Histogram.d.ts +93 -0
  420. package/dist/types/utils/Histogram.d.ts.map +1 -0
  421. package/dist/types/utils/assertNever.d.ts +19 -0
  422. package/dist/types/utils/assertNever.d.ts.map +1 -0
  423. package/dist/types/utils/format.d.ts +22 -0
  424. package/dist/types/utils/format.d.ts.map +1 -0
  425. package/dist/types/utils/index.d.ts +6 -0
  426. package/dist/types/utils/index.d.ts.map +1 -0
  427. package/dist/types/utils/keyboard.d.ts +70 -0
  428. package/dist/types/utils/keyboard.d.ts.map +1 -0
  429. package/package.json +84 -0
@@ -0,0 +1,162 @@
1
+ import type { User } from "./common.js";
2
+ import type { Recipient } from "./chat.js";
3
+ import type { InlineKeyboardAttachment as KeyboardInlineKeyboardAttachment } from "./keyboard.js";
4
+ /**
5
+ * Тип вложения
6
+ */
7
+ export type AttachmentType = "image" | "video" | "audio" | "file" | "contact" | "sticker" | "inline_keyboard" | "location";
8
+ /**
9
+ * Тип разметки текста
10
+ */
11
+ export type MarkupType = "strong" | "emphasized" | "underlined" | "strikethrough" | "link" | "mention";
12
+ /**
13
+ * Формат текста сообщения
14
+ */
15
+ export type MessageFormat = "markdown" | "html";
16
+ /**
17
+ * Тип связи с другим сообщением
18
+ */
19
+ export type LinkType = "forward" | "reply";
20
+ /**
21
+ * Вложение сообщения
22
+ */
23
+ export interface ImageAttachment {
24
+ type: "image";
25
+ payload: {
26
+ url?: string | null;
27
+ token?: string | null;
28
+ photos?: Record<string, unknown> | null;
29
+ };
30
+ }
31
+ export interface VideoAttachment {
32
+ type: "video";
33
+ payload: {
34
+ token?: string;
35
+ } & Record<string, unknown>;
36
+ }
37
+ export interface AudioAttachment {
38
+ type: "audio";
39
+ payload: {
40
+ token?: string;
41
+ } & Record<string, unknown>;
42
+ }
43
+ export interface FileAttachment {
44
+ type: "file";
45
+ payload: {
46
+ token?: string;
47
+ } & Record<string, unknown>;
48
+ }
49
+ export interface StickerAttachment {
50
+ type: "sticker";
51
+ payload: {
52
+ code: string;
53
+ };
54
+ }
55
+ export interface ContactAttachment {
56
+ type: "contact";
57
+ payload: {
58
+ name?: string | null;
59
+ contact_id?: number | null;
60
+ vcf_info?: string | null;
61
+ vcf_phone?: string | null;
62
+ max_info?: User | null;
63
+ };
64
+ }
65
+ export interface LocationAttachment {
66
+ type: "location";
67
+ latitude: number;
68
+ longitude: number;
69
+ /** Входящее вложение может не содержать payload */
70
+ payload?: Record<string, unknown> | null;
71
+ }
72
+ export type Attachment = ImageAttachment | VideoAttachment | AudioAttachment | FileAttachment | StickerAttachment | ContactAttachment | KeyboardInlineKeyboardAttachment | LocationAttachment;
73
+ /**
74
+ * Разметка текста
75
+ */
76
+ export interface Markup {
77
+ type: MarkupType;
78
+ from: number;
79
+ length: number;
80
+ }
81
+ /**
82
+ * Статистика сообщения
83
+ */
84
+ export interface MessageStat {
85
+ views: number | null;
86
+ }
87
+ /**
88
+ * Тело сообщения
89
+ */
90
+ export interface MessageBody {
91
+ mid: string;
92
+ seq: number;
93
+ text?: string;
94
+ attachments: Attachment[] | null;
95
+ markup: Markup[] | null;
96
+ }
97
+ /**
98
+ * Связанное сообщение (пересланное или цитируемое)
99
+ */
100
+ export interface LinkedMessage {
101
+ type: LinkType;
102
+ sender?: User;
103
+ chat_id?: number;
104
+ message: MessageBody;
105
+ }
106
+ /**
107
+ * Сообщение
108
+ */
109
+ export interface Message {
110
+ sender?: User;
111
+ recipient: Recipient;
112
+ /** Unix-время создания */
113
+ timestamp: number;
114
+ /** Пересланное или ответное сообщение */
115
+ link?: LinkedMessage | null;
116
+ /** Содержимое сообщения. Текст + вложения. Может быть null, если сообщение содержит только пересланное сообщение */
117
+ body?: MessageBody | null;
118
+ /** Статистика сообщения */
119
+ stat?: MessageStat | null;
120
+ /** Публичная ссылка на пост в канале */
121
+ url?: string | null;
122
+ }
123
+ /**
124
+ * Ссылка на сообщение для ответа/пересылки
125
+ */
126
+ export interface NewMessageLink {
127
+ type: LinkType;
128
+ mid: string;
129
+ }
130
+ /**
131
+ * Тело нового сообщения
132
+ */
133
+ export interface NewMessageBody {
134
+ text?: string | null;
135
+ attachments?: Attachment[] | null;
136
+ link?: NewMessageLink | null;
137
+ /** Уведомлять ли участников */
138
+ notify?: boolean;
139
+ /** Формат текста */
140
+ format?: MessageFormat | null;
141
+ }
142
+ /**
143
+ * Параметры отправки сообщения
144
+ */
145
+ export interface SendMessageParams {
146
+ user_id?: number;
147
+ chat_id?: number;
148
+ disable_link_preview?: boolean;
149
+ }
150
+ /**
151
+ * Ответ на отправку сообщения
152
+ */
153
+ export interface SendMessageResponse {
154
+ message: Message;
155
+ }
156
+ /**
157
+ * Ответ со списком сообщений
158
+ */
159
+ export interface MessagesResponse {
160
+ messages: Message[];
161
+ }
162
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/types/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Информация о подписке (webhook)
3
+ */
4
+ export interface SubscriptionInfo {
5
+ url: string | null;
6
+ /** Unix-время создания */
7
+ time: number | null;
8
+ /** Типы обновлений, на которые подписан бот */
9
+ update_types: string[] | null;
10
+ /** Версия API */
11
+ version: string | null;
12
+ }
13
+ /**
14
+ * Запрос на создание подписки
15
+ */
16
+ export interface SubscribeRequest {
17
+ url: string;
18
+ /** Типы обновлений для подписки */
19
+ update_types?: string[];
20
+ /** Версия API */
21
+ version?: string;
22
+ }
23
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../src/types/subscription.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,iBAAiB;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1,99 @@
1
+ import type { Message } from "./message.js";
2
+ import type { User } from "./common.js";
3
+ /**
4
+ * Тип обновления
5
+ */
6
+ export type UpdateType = "message_created" | "message_edited" | "message_removed" | "message_callback" | "bot_started" | "bot_added" | "bot_removed" | "user_added" | "user_removed" | "chat_title_changed";
7
+ /**
8
+ * Базовые поля, присутствующие во всех обновлениях
9
+ */
10
+ interface BaseUpdate {
11
+ update_type: UpdateType;
12
+ /** Unix-время события */
13
+ timestamp: number;
14
+ }
15
+ /**
16
+ * Обновление: новое сообщение или редактирование (message_created, message_edited, message_removed)
17
+ */
18
+ export interface MessageUpdate extends BaseUpdate {
19
+ update_type: "message_created" | "message_edited" | "message_removed";
20
+ message: Message;
21
+ /** Локаль пользователя (IETF BCP 47). Доступна только в диалогах. */
22
+ user_locale?: string | null;
23
+ }
24
+ /**
25
+ * Обновление: нажатие на inline-кнопку (message_callback).
26
+ *
27
+ * message опционален — кнопка могла быть удалена к моменту callback.
28
+ */
29
+ export interface CallbackUpdate extends BaseUpdate {
30
+ update_type: "message_callback";
31
+ callback: {
32
+ /** Идентификатор callback, передаётся в /answers */
33
+ callback_id: string;
34
+ /** Payload кнопки (поле payload в InlineKeyboardButton) */
35
+ payload?: string | null;
36
+ /** Пользователь, нажавший кнопку */
37
+ user: User;
38
+ /** Unix-время нажатия */
39
+ timestamp: number;
40
+ };
41
+ /** Сообщение с кнопкой — может отсутствовать, если было удалено */
42
+ message?: Message | null;
43
+ /** Локаль пользователя (IETF BCP 47) */
44
+ user_locale?: string | null;
45
+ }
46
+ /**
47
+ * Обновление: системные события чата
48
+ */
49
+ export interface ChatUpdate extends BaseUpdate {
50
+ update_type: "bot_added" | "bot_removed" | "user_added" | "user_removed" | "chat_title_changed";
51
+ chat_id: number;
52
+ user: User;
53
+ is_channel?: boolean;
54
+ }
55
+ /**
56
+ * Обновление: пользователь нажал кнопку Start или перешёл по deep link.
57
+ *
58
+ * `payload` содержит значение параметра `start`, переданного в ссылке вида
59
+ * `https://max.ru/...?start=<payload>`. Используется для реферальных ссылок,
60
+ * onboarding-флоу и любых сценариев с deep linking.
61
+ */
62
+ export interface BotStartedUpdate extends BaseUpdate {
63
+ update_type: "bot_started";
64
+ /** ID чата (диалога), в котором произошло событие */
65
+ chat_id: number;
66
+ /** Пользователь, нажавший Start */
67
+ user: User;
68
+ /** Payload из deep link. `null` если Start нажат без параметра. */
69
+ payload?: string | null;
70
+ }
71
+ /**
72
+ * Дискриминированный union всех типов обновлений
73
+ */
74
+ export type Update = MessageUpdate | CallbackUpdate | ChatUpdate | BotStartedUpdate;
75
+ /**
76
+ * Параметры получения обновлений
77
+ */
78
+ export interface GetUpdatesParams {
79
+ limit?: number;
80
+ timeout?: number;
81
+ marker?: number;
82
+ /**
83
+ * Фильтр типов обновлений — бот получит только перечисленные типы.
84
+ * Если не указан — приходят все типы.
85
+ *
86
+ * @example Только сообщения и callback
87
+ * update_types: ['message_created', 'message_callback']
88
+ */
89
+ update_types?: UpdateType[];
90
+ }
91
+ /**
92
+ * Ответ с обновлениями
93
+ */
94
+ export interface UpdatesResponse {
95
+ updates: Update[];
96
+ marker: number | null;
97
+ }
98
+ export {};
99
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/types/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,oBAAoB,CAAC;AAEzB;;GAEG;AACH,UAAU,UAAU;IAClB,WAAW,EAAE,UAAU,CAAC;IACxB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE;QACR,oDAAoD;QACpD,WAAW,EAAE,MAAM,CAAC;QACpB,2DAA2D;QAC3D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,oCAAoC;QACpC,IAAI,EAAE,IAAI,CAAC;QACX,yBAAyB;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,WAAW,EACP,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,oBAAoB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,WAAW,EAAE,aAAa,CAAC;IAC3B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,aAAa,GACb,cAAc,GACd,UAAU,GACV,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Тип загружаемого файла
3
+ */
4
+ export type UploadType = "image" | "video" | "audio" | "file";
5
+ /**
6
+ * Информация о загруженном файле
7
+ */
8
+ export interface UploadedFile {
9
+ /** Токен файла для использования в сообщениях */
10
+ token: string;
11
+ }
12
+ /**
13
+ * Payload вложения после загрузки (структура зависит от типа)
14
+ */
15
+ export type UploadPayload = Record<string, unknown>;
16
+ /**
17
+ * Ответ на загрузку файла
18
+ */
19
+ export type UploadResponse = UploadPayload | Record<string, UploadPayload>;
20
+ /**
21
+ * Ответ на получение URL для загрузки
22
+ */
23
+ export interface UploadUrlResponse {
24
+ /** URL для загрузки */
25
+ url: string;
26
+ /** Токен для видео/аудио (если возвращается API) */
27
+ token?: string;
28
+ }
29
+ //# sourceMappingURL=upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/types/upload.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Стандартные границы корзин гистограммы в миллисекундах.
3
+ *
4
+ * Покрывают диапазон от быстрых (~5ms) до медленных (~1s) обработчиков.
5
+ * Совпадают с дефолтными bucket-ами Prometheus Go-клиента (DefBuckets).
6
+ */
7
+ export declare const DEFAULT_BUCKETS: readonly number[];
8
+ /**
9
+ * Снимок гистограммы в момент вызова {@link Histogram.snapshot}.
10
+ */
11
+ export interface HistogramSnapshot {
12
+ /**
13
+ * Накопленные счётчики по корзинам.
14
+ *
15
+ * Ключи — строковые границы корзин (`"5"`, `"10"`, …), последний — `"+Inf"`.
16
+ * Каждая корзина содержит **кумулятивное** число наблюдений,
17
+ * т.е. `buckets["50"]` = число значений ≤ 50ms.
18
+ *
19
+ * Формат совместим с Prometheus histogram (cumulative).
20
+ */
21
+ buckets: Record<string, number>;
22
+ /** Сумма всех наблюдаемых значений (мс). Используется для расчёта среднего. */
23
+ sum: number;
24
+ /** Общее число наблюдений. Равно `buckets["+Inf"]`. */
25
+ count: number;
26
+ }
27
+ /**
28
+ * Гистограмма задержек.
29
+ *
30
+ * Накапливает измерения (в мс) по заранее заданным boundary-корзинам.
31
+ * Формат снимка ({@link HistogramSnapshot}) совместим с Prometheus histogram
32
+ * — можно скармировать напрямую `prom-client` или аналогу.
33
+ *
34
+ * @example Интеграция с onMetrics
35
+ * ```ts
36
+ * const histogram = new Histogram();
37
+ *
38
+ * bot = new Bot({
39
+ * token: process.env.MAX_BOT_TOKEN!,
40
+ * transport: "polling",
41
+ * onMetrics: (m) => histogram.observe(m.totalMs),
42
+ * });
43
+ *
44
+ * // Раз в минуту — публикуем снимок
45
+ * setInterval(() => {
46
+ * const snap = histogram.snapshot();
47
+ * console.log(`p50≈${snap.buckets["50"]} count=${snap.count} sum=${snap.sum}ms`);
48
+ * histogram.reset(); // сбрасываем для следующего окна
49
+ * }, 60_000);
50
+ * ```
51
+ *
52
+ * @example Кастомные корзины
53
+ * ```ts
54
+ * const h = new Histogram([10, 50, 200, 1000, 5000]);
55
+ * ```
56
+ */
57
+ export declare class Histogram {
58
+ private readonly boundaries;
59
+ /** Кумулятивные счётчики: counts[i] = число наблюдений ≤ boundaries[i] */
60
+ private readonly counts;
61
+ private _sum;
62
+ private _count;
63
+ /**
64
+ * @param boundaries - Границы корзин в мс (порядок не важен, будут отсортированы).
65
+ * По умолчанию — {@link DEFAULT_BUCKETS}.
66
+ */
67
+ constructor(boundaries?: readonly number[]);
68
+ /**
69
+ * Записывает одно измерение.
70
+ *
71
+ * Инкрементирует все корзины, чья граница ≥ `ms` (кумулятивный формат).
72
+ *
73
+ * @param ms - Значение в миллисекундах (обычно `BotMetrics.totalMs`)
74
+ */
75
+ observe(ms: number): void;
76
+ /**
77
+ * Возвращает текущий снимок гистограммы (не изменяет состояние).
78
+ *
79
+ * Структура `buckets` — кумулятивные счётчики Prometheus:
80
+ * - `"5"` → число наблюдений ≤ 5ms
81
+ * - `"10"` → число наблюдений ≤ 10ms
82
+ * - …
83
+ * - `"+Inf"` → общее число наблюдений
84
+ */
85
+ snapshot(): HistogramSnapshot;
86
+ /**
87
+ * Сбрасывает все счётчики.
88
+ *
89
+ * Используйте для скользящих окон (например, раз в минуту).
90
+ */
91
+ reset(): void;
92
+ }
93
+ //# sourceMappingURL=Histogram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Histogram.d.ts","sourceRoot":"","sources":["../../../src/utils/Histogram.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAEnC,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAK;IAEnB;;;OAGG;gBACS,UAAU,GAAE,SAAS,MAAM,EAAoB;IAM3D;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUzB;;;;;;;;OAQG;IACH,QAAQ,IAAI,iBAAiB;IAS7B;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Стандартные границы корзин гистограммы в миллисекундах.
3
+ *
4
+ * Покрывают диапазон от быстрых (~5ms) до медленных (~1s) обработчиков.
5
+ * Совпадают с дефолтными bucket-ами Prometheus Go-клиента (DefBuckets).
6
+ */
7
+ export const DEFAULT_BUCKETS = [
8
+ 5, 10, 25, 50, 100, 250, 500, 1000,
9
+ ];
10
+ /**
11
+ * Гистограмма задержек.
12
+ *
13
+ * Накапливает измерения (в мс) по заранее заданным boundary-корзинам.
14
+ * Формат снимка ({@link HistogramSnapshot}) совместим с Prometheus histogram
15
+ * — можно скармировать напрямую `prom-client` или аналогу.
16
+ *
17
+ * @example Интеграция с onMetrics
18
+ * ```ts
19
+ * const histogram = new Histogram();
20
+ *
21
+ * bot = new Bot({
22
+ * token: process.env.MAX_BOT_TOKEN!,
23
+ * transport: "polling",
24
+ * onMetrics: (m) => histogram.observe(m.totalMs),
25
+ * });
26
+ *
27
+ * // Раз в минуту — публикуем снимок
28
+ * setInterval(() => {
29
+ * const snap = histogram.snapshot();
30
+ * console.log(`p50≈${snap.buckets["50"]} count=${snap.count} sum=${snap.sum}ms`);
31
+ * histogram.reset(); // сбрасываем для следующего окна
32
+ * }, 60_000);
33
+ * ```
34
+ *
35
+ * @example Кастомные корзины
36
+ * ```ts
37
+ * const h = new Histogram([10, 50, 200, 1000, 5000]);
38
+ * ```
39
+ */
40
+ export class Histogram {
41
+ boundaries;
42
+ /** Кумулятивные счётчики: counts[i] = число наблюдений ≤ boundaries[i] */
43
+ counts;
44
+ _sum = 0;
45
+ _count = 0;
46
+ /**
47
+ * @param boundaries - Границы корзин в мс (порядок не важен, будут отсортированы).
48
+ * По умолчанию — {@link DEFAULT_BUCKETS}.
49
+ */
50
+ constructor(boundaries = DEFAULT_BUCKETS) {
51
+ // Дедупликация и сортировка по возрастанию
52
+ this.boundaries = [...new Set(boundaries)].sort((a, b) => a - b);
53
+ this.counts = new Array(this.boundaries.length).fill(0);
54
+ }
55
+ /**
56
+ * Записывает одно измерение.
57
+ *
58
+ * Инкрементирует все корзины, чья граница ≥ `ms` (кумулятивный формат).
59
+ *
60
+ * @param ms - Значение в миллисекундах (обычно `BotMetrics.totalMs`)
61
+ */
62
+ observe(ms) {
63
+ this._sum += ms;
64
+ this._count++;
65
+ for (let i = 0; i < this.boundaries.length; i++) {
66
+ if (ms <= this.boundaries[i]) {
67
+ this.counts[i]++;
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * Возвращает текущий снимок гистограммы (не изменяет состояние).
73
+ *
74
+ * Структура `buckets` — кумулятивные счётчики Prometheus:
75
+ * - `"5"` → число наблюдений ≤ 5ms
76
+ * - `"10"` → число наблюдений ≤ 10ms
77
+ * - …
78
+ * - `"+Inf"` → общее число наблюдений
79
+ */
80
+ snapshot() {
81
+ const buckets = {};
82
+ for (let i = 0; i < this.boundaries.length; i++) {
83
+ buckets[String(this.boundaries[i])] = this.counts[i];
84
+ }
85
+ buckets["+Inf"] = this._count;
86
+ return { buckets, sum: this._sum, count: this._count };
87
+ }
88
+ /**
89
+ * Сбрасывает все счётчики.
90
+ *
91
+ * Используйте для скользящих окон (например, раз в минуту).
92
+ */
93
+ reset() {
94
+ this.counts.fill(0);
95
+ this._sum = 0;
96
+ this._count = 0;
97
+ }
98
+ }
99
+ //# sourceMappingURL=Histogram.js.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Exhaustiveness check для discriminated union-ов.
3
+ *
4
+ * Вызывается в `default`-ветке switch чтобы TypeScript статически гарантировал,
5
+ * что все варианты union обработаны. Если ветка достигается в рантайме —
6
+ * бросает ошибку с понятным сообщением вместо молчаливого некорректного поведения.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * switch (update.update_type) {
11
+ * case "message_created": ...
12
+ * case "message_callback": ...
13
+ * default:
14
+ * assertNever(update); // ошибка компиляции если добавить новый update_type
15
+ * }
16
+ * ```
17
+ */
18
+ export declare function assertNever(value: never): never;
19
+ //# sourceMappingURL=assertNever.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertNever.d.ts","sourceRoot":"","sources":["../../../src/utils/assertNever.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAI/C"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Exhaustiveness check для discriminated union-ов.
3
+ *
4
+ * Вызывается в `default`-ветке switch чтобы TypeScript статически гарантировал,
5
+ * что все варианты union обработаны. Если ветка достигается в рантайме —
6
+ * бросает ошибку с понятным сообщением вместо молчаливого некорректного поведения.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * switch (update.update_type) {
11
+ * case "message_created": ...
12
+ * case "message_callback": ...
13
+ * default:
14
+ * assertNever(update); // ошибка компиляции если добавить новый update_type
15
+ * }
16
+ * ```
17
+ */
18
+ export function assertNever(value) {
19
+ throw new Error(`assertNever: необработанный вариант: ${JSON.stringify(value)}`);
20
+ }
21
+ //# sourceMappingURL=assertNever.js.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Утилиты форматирования текста сообщений.
3
+ */
4
+ export declare const md: {
5
+ readonly bold: (text: string) => string;
6
+ readonly italic: (text: string) => string;
7
+ readonly strike: (text: string) => string;
8
+ readonly underline: (text: string) => string;
9
+ readonly link: (text: string, url: string) => string;
10
+ readonly mention: (userId: number, text: string) => string;
11
+ readonly escape: (text: string) => string;
12
+ };
13
+ export declare const html: {
14
+ readonly bold: (text: string) => string;
15
+ readonly italic: (text: string) => string;
16
+ readonly strike: (text: string) => string;
17
+ readonly underline: (text: string) => string;
18
+ readonly link: (text: string, url: string) => string;
19
+ readonly mention: (userId: number, text: string) => string;
20
+ readonly escape: (text: string) => string;
21
+ };
22
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,EAAE;0BACA,MAAM;4BACJ,MAAM;4BACN,MAAM;+BACH,MAAM;0BACX,MAAM,OAAO,MAAM;+BACd,MAAM,QAAQ,MAAM;4BACvB,MAAM;CACb,CAAC;AAEX,eAAO,MAAM,IAAI;0BACF,MAAM;4BACJ,MAAM;4BACN,MAAM;+BACH,MAAM;0BACX,MAAM,OAAO,MAAM;+BACd,MAAM,QAAQ,MAAM;4BAEvB,MAAM;CAEb,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Утилиты форматирования текста сообщений.
3
+ */
4
+ export const md = {
5
+ bold: (text) => `**${text}**`,
6
+ italic: (text) => `_${text}_`,
7
+ strike: (text) => `~~${text}~~`,
8
+ underline: (text) => `++${text}++`,
9
+ link: (text, url) => `[${text}](${url})`,
10
+ mention: (userId, text) => `[${text}](max://user/${userId})`,
11
+ escape: (text) => text.replace(/[*_~+\[\]()\\]/g, "\\$&"),
12
+ };
13
+ export const html = {
14
+ bold: (text) => `<b>${text}</b>`,
15
+ italic: (text) => `<i>${text}</i>`,
16
+ strike: (text) => `<del>${text}</del>`,
17
+ underline: (text) => `<ins>${text}</ins>`,
18
+ link: (text, url) => `<a href="${url}">${text}</a>`,
19
+ mention: (userId, text) => `<a href="max://user/${userId}">${text}</a>`,
20
+ escape: (text) => text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"),
21
+ };
22
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1,6 @@
1
+ export { InlineKeyboard } from "./keyboard.js";
2
+ export { md, html } from "./format.js";
3
+ export { assertNever } from "./assertNever.js";
4
+ export { Histogram, DEFAULT_BUCKETS } from "./Histogram.js";
5
+ export type { HistogramSnapshot } from "./Histogram.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { InlineKeyboard } from "./keyboard.js";
2
+ export { md, html } from "./format.js";
3
+ export { assertNever } from "./assertNever.js";
4
+ export { Histogram, DEFAULT_BUCKETS } from "./Histogram.js";
5
+ //# sourceMappingURL=index.js.map