@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,131 @@
1
+ import type { Middleware } from "../middleware/types.js";
2
+ import type { UpdateType } from "../types/update.js";
3
+ import { BotDispatch } from "./dispatch.js";
4
+ import type { Context } from "./Bot.js";
5
+ import { type HearsTrigger, type CommandTrigger } from "./triggers.js";
6
+ /**
7
+ * Слой маршрутизации.
8
+ *
9
+ * Отвечает за регистрацию обработчиков событий:
10
+ * - `on` / `onMessage` / `onCallback` / `onStart` — подписка на типы обновлений
11
+ * - `command` / `hears` / `action` — шорткаты с pattern matching
12
+ * - `use` / `filter` — middleware-цепочки и предикаты
13
+ *
14
+ * Расширяет {@link BotDispatch} — использует `handlers` и `middlewares` из него.
15
+ */
16
+ export declare abstract class BotRouting<Ctx extends Context> extends BotDispatch<Ctx> {
17
+ /**
18
+ * Зарегистрировать один или несколько обработчиков для события message_created.
19
+ *
20
+ * При нескольких аргументах промежуточные middleware должны вызывать `next()`;
21
+ * последний аргумент — финальный обработчик (next не нужен).
22
+ *
23
+ * @example С промежуточным middleware
24
+ * bot.onMessage(authMw, async (ctx) => { await ctx.reply('OK'); });
25
+ */
26
+ onMessage(...fns: Middleware<Ctx>[]): this;
27
+ /**
28
+ * Зарегистрировать один или несколько обработчиков для callback-запросов.
29
+ *
30
+ * @example
31
+ * bot.onCallback(logMw, async (ctx) => { ... });
32
+ */
33
+ onCallback(...fns: Middleware<Ctx>[]): this;
34
+ /**
35
+ * Зарегистрировать обработчик для события `bot_started`.
36
+ *
37
+ * Срабатывает когда пользователь нажимает Start в диалоге или переходит по deep link.
38
+ *
39
+ * @example Onboarding с deep link
40
+ * bot.onStart(async (ctx) => {
41
+ * if (isBotStartedContext(ctx) && ctx.startPayload) {
42
+ * await ctx.reply(`Реферал: ${ctx.startPayload}`);
43
+ * } else {
44
+ * await ctx.reply('Добро пожаловать!');
45
+ * }
46
+ * });
47
+ */
48
+ onStart(...fns: Middleware<Ctx>[]): this;
49
+ /**
50
+ * Зарегистрировать один или несколько обработчиков для любого типа обновления.
51
+ *
52
+ * @example Один обработчик
53
+ * bot.on('message_created', async (ctx) => { ... });
54
+ *
55
+ * @example Несколько middleware + обработчик
56
+ * bot.on('message_created', authMw, rateLimitMw, async (ctx) => { ... });
57
+ */
58
+ on(event: UpdateType, ...fns: Middleware<Ctx>[]): this;
59
+ /**
60
+ * Зарегистрировать обработчик команды.
61
+ *
62
+ * Срабатывает на `message_created`, если текст сообщения начинается с `/<name>`.
63
+ *
64
+ * @example Один обработчик
65
+ * bot.command('start', async (ctx) => { ... });
66
+ *
67
+ * @example Массив команд
68
+ * bot.command(['start', 'begin'], async (ctx) => { ... });
69
+ *
70
+ * @example С промежуточными middleware
71
+ * bot.command('pay', authMw, checkBalanceMw, async (ctx) => { ... });
72
+ */
73
+ command(name: CommandTrigger, ...fns: Middleware<Ctx>[]): this;
74
+ /**
75
+ * Зарегистрировать обработчик по regexp- или строковому фильтру текста сообщения.
76
+ *
77
+ * При совпадении RegExp устанавливает `ctx.match` с capture-группами.
78
+ *
79
+ * @example
80
+ * bot.hears(/(\d+)/, async (ctx) => { ... });
81
+ * bot.hears('привет', async (ctx) => { ... });
82
+ * bot.hears(['привет', /^hi/i], async (ctx) => { ... });
83
+ */
84
+ hears(pattern: HearsTrigger, ...fns: Middleware<Ctx>[]): this;
85
+ /**
86
+ * Зарегистрировать обработчик по `callback.payload`.
87
+ *
88
+ * `pattern` может быть строкой, RegExp или массивом — срабатывает на первое
89
+ * совпадение. При совпадении RegExp устанавливает `ctx.match` с capture-группами.
90
+ *
91
+ * @example
92
+ * bot.action('buy', handler);
93
+ * bot.action(/^buy:(\d+)$/, handler);
94
+ * bot.action(['confirm', 'ok'], handler); // оба payload
95
+ * bot.action([/^buy:/, /^sell:/], handler); // несколько RegExp
96
+ */
97
+ action(pattern: HearsTrigger, ...fns: Middleware<Ctx>[]): this;
98
+ /**
99
+ * Добавить глобальный middleware.
100
+ *
101
+ * Middleware выполняется **внутри** семафорного слота — backpressure применяется
102
+ * ко всему пайплайну целиком, а не только к финальным хендлерам.
103
+ *
104
+ * @example
105
+ * bot.use(async (ctx, next) => {
106
+ * console.log('before');
107
+ * await next();
108
+ * console.log('after');
109
+ * });
110
+ */
111
+ use(middleware: Middleware<Ctx>): this;
112
+ /**
113
+ * Подключить middleware только если предикат возвращает `true`.
114
+ *
115
+ * Если предикат не сработал — обновление прозрачно перетекает к следующим middleware.
116
+ *
117
+ * @example Только сообщения с текстом
118
+ * bot.filter(hasText, async (ctx) => {
119
+ * console.log(ctx.text.toUpperCase()); // ctx.text: string
120
+ * });
121
+ *
122
+ * @example Composer + filter
123
+ * const privateRouter = new Composer();
124
+ * privateRouter.command('start', handler);
125
+ * bot.filter(isPrivateChat, privateRouter.middleware());
126
+ */
127
+ filter<Narrowed extends Ctx>(predicate: (ctx: Ctx) => ctx is Narrowed, ...fns: Middleware<Narrowed>[]): this;
128
+ /** Цепочка из middleware: возвращает единый EventHandler, вызывающий каждый fn по очереди. */
129
+ private pipe;
130
+ }
131
+ //# sourceMappingURL=routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/bot/routing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,UAAU,CAAC;AACtD,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;GASG;AACH,8BAAsB,UAAU,CAAC,GAAG,SAAS,OAAO,CAAE,SAAQ,WAAW,CAAC,GAAG,CAAC;IAG5E;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAI1C;;;;;OAKG;IACH,UAAU,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAI3C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAIxC;;;;;;;;OAQG;IACH,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAUtD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAU9D;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAY7D;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAY9D;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI;IAKtC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,QAAQ,SAAS,GAAG,EACzB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,QAAQ,EACxC,GAAG,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,GAC7B,IAAI;IAWP,8FAA8F;IAC9F,OAAO,CAAC,IAAI;CAIb"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Тип паттерна для `hears()` и `action()`.
3
+ *
4
+ * Принимает:
5
+ * - строку — точное совпадение
6
+ * - RegExp — совпадение по регулярке, устанавливает `ctx.match`
7
+ * - массив строк/RegExp — срабатывает на **первое** совпадение из списка
8
+ *
9
+ * @example
10
+ * bot.hears('привет', handler); // строка
11
+ * bot.hears(/(\d+)\+(\d+)/, handler); // RegExp
12
+ * bot.hears([/^\d+$/, 'помощь'], handler); // массив: число ИЛИ "помощь"
13
+ *
14
+ * bot.action(['confirm', 'ok'], handler); // несколько строк
15
+ * bot.action([/^buy:/, /^sell:/], handler); // несколько RegExp
16
+ */
17
+ export type HearsTrigger = string | RegExp | ReadonlyArray<string | RegExp>;
18
+ /**
19
+ * Тип паттерна для `command()`.
20
+ *
21
+ * Принимает одну команду или массив команд (без учёта ведущего `/`).
22
+ *
23
+ * @example
24
+ * bot.command('start', handler); // /start
25
+ * bot.command(['start', 'begin'], handler); // /start или /begin
26
+ * bot.command(['/help', 'info'], handler); // ведущий / необязателен
27
+ */
28
+ export type CommandTrigger = string | ReadonlyArray<string>;
29
+ /**
30
+ * Проверяет `HearsTrigger` против строки, перебирая все паттерны.
31
+ *
32
+ * Возвращает результат **первого** совпавшего паттерна:
33
+ * - `RegExpExecArray` — если совпал RegExp (для установки `ctx.match`)
34
+ * - `true` — если совпала строка
35
+ * - `null` — ни один паттерн не совпал
36
+ *
37
+ * @example
38
+ * const result = matchTrigger([/^(\d+)$/, 'да'], '42');
39
+ * // result: RegExpExecArray — ['42', '42'], совпал первый паттерн
40
+ *
41
+ * const result2 = matchTrigger([/^\d+$/, 'да'], 'да');
42
+ * // result2: true — совпала строка
43
+ */
44
+ export declare function matchTrigger(trigger: HearsTrigger, text: string): RegExpExecArray | true | null;
45
+ /**
46
+ * Проверяет `CommandTrigger` против текста сообщения.
47
+ *
48
+ * Совпадение: текст равен `/<name>` или начинается с `/<name> ` (команда с аргументами).
49
+ * Сравнение регистронезависимо (`/Start` === `/start`).
50
+ *
51
+ * @returns `true` если хотя бы одна команда совпала, иначе `false`
52
+ *
53
+ * @example
54
+ * matchCommand('start', '/start') // true
55
+ * matchCommand('start', '/start arg1') // true
56
+ * matchCommand(['start', 'help'], '/help') // true
57
+ * matchCommand('start', '/stop') // false
58
+ * matchCommand('start', '/starter') // false — нет пробела после имени
59
+ */
60
+ export declare function matchCommand(trigger: CommandTrigger, text: string): boolean;
61
+ //# sourceMappingURL=triggers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../../src/bot/triggers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAyB5D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,MAAM,GACX,eAAe,GAAG,IAAI,GAAG,IAAI,CAU/B;AAWD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAW3E"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Базовый класс ошибок SDK.
3
+ *
4
+ * Иерархия ошибок позволяет ловить как конкретные типы,
5
+ * так и все ошибки SDK одним catch-блоком.
6
+ */
7
+ export declare abstract class MaxError extends Error {
8
+ abstract readonly code: string;
9
+ constructor(message: string);
10
+ }
11
+ //# sourceMappingURL=MaxError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaxError.d.ts","sourceRoot":"","sources":["../../../../src/core/errors/MaxError.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,8BAAsB,QAAS,SAAQ,KAAK;IAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEnB,OAAO,EAAE,MAAM;CAO5B"}
@@ -0,0 +1,59 @@
1
+ import { MaxError } from "./MaxError.js";
2
+ /**
3
+ * Ошибка превышения лимита запросов (HTTP 429).
4
+ *
5
+ * Содержит информацию о времени до возможности повторного запроса.
6
+ * Разработчик может использовать retryAfter для реализации своей логики retry.
7
+ */
8
+ export declare class RateLimitError extends MaxError {
9
+ readonly retryAfter: number;
10
+ readonly code = "RATE_LIMIT";
11
+ constructor(retryAfter: number, message?: string);
12
+ }
13
+ /**
14
+ * Ошибка аутентификации (HTTP 401).
15
+ *
16
+ * Невалидный или отсутствующий токен — бот не сможет работать.
17
+ */
18
+ export declare class AuthError extends MaxError {
19
+ readonly code = "AUTH_ERROR";
20
+ constructor(message?: string);
21
+ }
22
+ /**
23
+ * Ошибка сети (таймаут, недоступность сервера и т.д.).
24
+ *
25
+ * Временная ошибка — можно повторить запрос.
26
+ */
27
+ export declare class NetworkError extends MaxError {
28
+ readonly cause?: Error | undefined;
29
+ readonly code = "NETWORK_ERROR";
30
+ constructor(message: string, cause?: Error | undefined);
31
+ }
32
+ /**
33
+ * Ошибка API (HTTP 4xx/5xx кроме 401 и 429).
34
+ *
35
+ * Содержит HTTP-код и сообщение от сервера.
36
+ */
37
+ export declare class ApiError extends MaxError {
38
+ readonly statusCode: number;
39
+ readonly apiCode?: string | undefined;
40
+ readonly code = "API_ERROR";
41
+ constructor(statusCode: number, message: string, apiCode?: string | undefined);
42
+ }
43
+ /**
44
+ * Ошибка валидации входных данных.
45
+ *
46
+ * Возникает при некорректных параметрах, переданных в методы SDK.
47
+ */
48
+ export declare class ValidationError extends MaxError {
49
+ readonly code = "VALIDATION_ERROR";
50
+ constructor(message: string);
51
+ }
52
+ /**
53
+ * Ресурс не найден (HTTP 404).
54
+ */
55
+ export declare class NotFoundError extends MaxError {
56
+ readonly code = "NOT_FOUND";
57
+ constructor(message?: string);
58
+ }
59
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/core/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,QAAQ;aAIxB,UAAU,EAAE,MAAM;IAHpC,QAAQ,CAAC,IAAI,gBAAgB;gBAGX,UAAU,EAAE,MAAM,EAClC,OAAO,SAA6D;CAIvE;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,QAAQ;IACrC,QAAQ,CAAC,IAAI,gBAAgB;gBAEjB,OAAO,SAAgD;CAGpE;AAED;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,QAAQ;aAKtB,KAAK,CAAC,EAAE,KAAK;IAJ/B,QAAQ,CAAC,IAAI,mBAAmB;gBAG9B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAIhC;AAED;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,QAAQ;aAIlB,UAAU,EAAE,MAAM;aAElB,OAAO,CAAC,EAAE,MAAM;IALlC,QAAQ,CAAC,IAAI,eAAe;gBAGV,UAAU,EAAE,MAAM,EAClC,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,YAAA;CAInC;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,IAAI,sBAAsB;gBAEvB,OAAO,EAAE,MAAM;CAG5B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACzC,QAAQ,CAAC,IAAI,eAAe;gBAEhB,OAAO,SAAqB;CAGzC"}
@@ -0,0 +1,3 @@
1
+ export { MaxError } from "./MaxError.js";
2
+ export { RateLimitError, AuthError, NetworkError, ApiError, ValidationError, NotFoundError, } from "./errors.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,cAAc,EACd,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,aAAa,GACd,MAAM,aAAa,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { HttpClientConfig, IHttpClient, RequestOptions } from "./interfaces.js";
2
+ /**
3
+ * HTTP-клиент для взаимодействия с MAX Bot API.
4
+ *
5
+ * Инкапсулирует всю HTTP-логику: заголовки, таймауты, rate limiting.
6
+ * Разработчику не нужно думать о низкоуровневых деталях.
7
+ */
8
+ export declare class HttpClient implements IHttpClient {
9
+ private readonly baseUrl;
10
+ private readonly token;
11
+ private readonly timeout;
12
+ private readonly rateLimiter;
13
+ constructor(config: HttpClientConfig);
14
+ get<T>(path: string, options?: RequestOptions): Promise<T>;
15
+ post<T>(path: string, options?: RequestOptions): Promise<T>;
16
+ put<T>(path: string, options?: RequestOptions): Promise<T>;
17
+ patch<T>(path: string, options?: RequestOptions): Promise<T>;
18
+ delete<T>(path: string, options?: RequestOptions): Promise<T>;
19
+ private request;
20
+ private buildUrl;
21
+ /**
22
+ * Централизованная обработка ответов —
23
+ * единообразное поведение во всём SDK, легче отлаживать
24
+ */
25
+ private handleResponse;
26
+ private parseRetryAfter;
27
+ }
28
+ //# sourceMappingURL=HttpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../../src/core/http/HttpClient.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;gBAElD,MAAM,EAAE,gBAAgB;IAa9B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1D,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1D,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5D,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;YAIrD,OAAO;IAqDrB,OAAO,CAAC,QAAQ;IAiBhB;;;OAGG;YACW,cAAc;IAwC5B,OAAO,CAAC,eAAe;CAmBxB"}
@@ -0,0 +1,3 @@
1
+ export { HttpClient } from "./HttpClient.js";
2
+ export type { HttpClientConfig, IHttpClient, RequestOptions, } from "./interfaces.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { IRateLimiter } from "../rate-limiter/RateLimiter.js";
2
+ /**
3
+ * Конфигурация HTTP-клиента
4
+ */
5
+ export interface HttpClientConfig {
6
+ /** Базовый URL API */
7
+ baseUrl: string;
8
+ /** Токен авторизации бота */
9
+ token: string;
10
+ /** Таймаут запроса в миллисекундах (по умолчанию 30000) */
11
+ timeout?: number;
12
+ /** Rate limiter для контроля частоты запросов */
13
+ rateLimiter: IRateLimiter;
14
+ }
15
+ /**
16
+ * Опции для отдельного запроса
17
+ */
18
+ export interface RequestOptions {
19
+ /** Тело запроса */
20
+ body?: unknown;
21
+ /** Query-параметры */
22
+ params?: Record<string, string | number | boolean | undefined>;
23
+ /** Дополнительные заголовки */
24
+ headers?: Record<string, string>;
25
+ /**
26
+ * Сигнал для отмены запроса.
27
+ * При передаче заменяет встроенный AbortSignal.timeout —
28
+ * внешний caller берёт управление таймаутом на себя.
29
+ */
30
+ signal?: AbortSignal;
31
+ }
32
+ /**
33
+ * Интерфейс HTTP-клиента для возможности замены реализации (например, для моков)
34
+ */
35
+ export interface IHttpClient {
36
+ get<T>(path: string, options?: RequestOptions): Promise<T>;
37
+ post<T>(path: string, options?: RequestOptions): Promise<T>;
38
+ put<T>(path: string, options?: RequestOptions): Promise<T>;
39
+ patch<T>(path: string, options?: RequestOptions): Promise<T>;
40
+ delete<T>(path: string, options?: RequestOptions): Promise<T>;
41
+ }
42
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/core/http/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC/D,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/D"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Интерфейс rate limiter для возможности замены реализации
3
+ */
4
+ export interface IRateLimiter {
5
+ /**
6
+ * Запрашивает разрешение на выполнение запроса.
7
+ * Возвращает Promise, который резолвится когда запрос можно выполнить.
8
+ */
9
+ acquire(): Promise<void>;
10
+ }
11
+ /**
12
+ * Rate Limiter на основе алгоритма Token Bucket.
13
+ *
14
+ * Token Bucket позволяет накапливать "запас" запросов при простое,
15
+ * что даёт возможность burst-запросов без превышения среднего лимита.
16
+ */
17
+ export declare class RateLimiter implements IRateLimiter {
18
+ private readonly maxTokens;
19
+ private readonly refillRate;
20
+ private tokens;
21
+ private lastRefill;
22
+ private readonly queue;
23
+ private processing;
24
+ /**
25
+ * @param maxTokens - Максимальное количество токенов (по умолчанию 30)
26
+ * @param refillRate - Скорость восполнения токенов в секунду (по умолчанию 30)
27
+ */
28
+ constructor(maxTokens?: number, refillRate?: number);
29
+ acquire(): Promise<void>;
30
+ /**
31
+ * Восполняет токены пропорционально прошедшему времени
32
+ */
33
+ private refill;
34
+ /**
35
+ * Планирует ровно один setTimeout для первого элемента очереди.
36
+ *
37
+ * Вместо слип-цикла (sleep → refill → check → sleep …) каждый элемент
38
+ * получает свой точный таймер: setTimeout срабатывает ровно в момент
39
+ * когда токен готов, без дополнительного ожидания.
40
+ *
41
+ * processing-флаг гарантирует единственный активный таймер на очередь —
42
+ * новые вызовы scheduleNext() от acquire() не создают лишних таймеров.
43
+ */
44
+ private scheduleNext;
45
+ }
46
+ //# sourceMappingURL=RateLimiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimiter.d.ts","sourceRoot":"","sources":["../../../../src/core/rate-limiter/RateLimiter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAQD;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,UAAU,CAAS;IAE3B;;;OAGG;gBACS,SAAS,SAAK,EAAE,UAAU,SAAK;IAcrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB9B;;OAEG;IACH,OAAO,CAAC,MAAM;IAYd;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAuCrB"}
@@ -0,0 +1,3 @@
1
+ export { RateLimiter } from "./RateLimiter.js";
2
+ export type { IRateLimiter } from "./RateLimiter.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/rate-limiter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { hasText, isPrivateChat, commandIs, hasCallbackPayload, payloadIs, } from "./predicates.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/filters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,SAAS,GACV,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { CallbackContext } from "../bot/context/CallbackContext.js";
2
+ import { MessageContext } from "../bot/context/MessageContext.js";
3
+ import type { Context } from "../bot/Bot.js";
4
+ /**
5
+ * Проверяет, что контекст является MessageContext **и** содержит непустой текст.
6
+ *
7
+ * @example
8
+ * bot.use(async (ctx, next) => {
9
+ * if (hasText(ctx)) {
10
+ * // ctx: MessageContext, ctx.text: string (не undefined)
11
+ * console.log(ctx.text.toUpperCase());
12
+ * }
13
+ * await next();
14
+ * });
15
+ */
16
+ export declare function hasText(ctx: Context): ctx is MessageContext & {
17
+ text: string;
18
+ };
19
+ /**
20
+ * Проверяет, что сообщение пришло из приватного чата (диалога с ботом).
21
+ *
22
+ * @example
23
+ * bot.use(async (ctx, next) => {
24
+ * if (isPrivateChat(ctx)) {
25
+ * await ctx.reply("Это личный чат 👋");
26
+ * }
27
+ * await next();
28
+ * });
29
+ */
30
+ export declare function isPrivateChat(ctx: Context): ctx is MessageContext;
31
+ /**
32
+ * Фабрика предикатов: проверяет, что сообщение — конкретная команда.
33
+ *
34
+ * Совпадает с точным текстом (`/cmd`) или текстом + аргументами (`/cmd arg`).
35
+ * Слэш можно не указывать — он добавляется автоматически.
36
+ *
37
+ * @param name Имя команды, например `"start"` или `"/help"`
38
+ *
39
+ * @example
40
+ * bot.use(async (ctx, next) => {
41
+ * if (commandIs("start")(ctx)) {
42
+ * await ctx.reply("Привет!");
43
+ * return; // не вызываем next — команда обработана
44
+ * }
45
+ * await next();
46
+ * });
47
+ */
48
+ export declare function commandIs(name: string): (ctx: Context) => ctx is MessageContext & {
49
+ text: string;
50
+ };
51
+ /**
52
+ * Проверяет, что контекст является CallbackContext (нажатие кнопки)
53
+ * **и** payload не пустой.
54
+ *
55
+ * @example
56
+ * bot.use(async (ctx, next) => {
57
+ * if (hasCallbackPayload(ctx)) {
58
+ * // ctx: CallbackContext, ctx.data: непустая строка
59
+ * console.log("payload:", ctx.data);
60
+ * }
61
+ * await next();
62
+ * });
63
+ */
64
+ export declare function hasCallbackPayload(ctx: Context): ctx is CallbackContext & {
65
+ data: string;
66
+ };
67
+ /**
68
+ * Фабрика предикатов: проверяет, что payload кнопки совпадает с шаблоном.
69
+ *
70
+ * @param pattern Строка (точное совпадение) или RegExp
71
+ *
72
+ * @example
73
+ * bot.use(async (ctx, next) => {
74
+ * if (payloadIs(/^action:/)(ctx)) {
75
+ * const [, action] = ctx.data.split(":");
76
+ * await ctx.answer({ notification: `Действие: ${action}` });
77
+ * return;
78
+ * }
79
+ * await next();
80
+ * });
81
+ */
82
+ export declare function payloadIs(pattern: string | RegExp): (ctx: Context) => ctx is CallbackContext & {
83
+ data: string;
84
+ };
85
+ //# sourceMappingURL=predicates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../../src/filters/predicates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAM1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,cAAc,CAKjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAO5D;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAE3C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAO7D"}
@@ -0,0 +1,11 @@
1
+ export * from "./bot/index.js";
2
+ export * from "./api/index.js";
3
+ export * from "./transport/index.js";
4
+ export * from "./core/http/index.js";
5
+ export * from "./core/errors/index.js";
6
+ export * from "./core/rate-limiter/RateLimiter.js";
7
+ export * from "./types/index.js";
8
+ export * from "./utils/index.js";
9
+ export * from "./middleware/index.js";
10
+ export * from "./filters/index.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Middleware } from "./types.js";
2
+ /**
3
+ * Собирает массив middleware в единую async-функцию.
4
+ *
5
+ * Инварианты:
6
+ * - next() нельзя вызвать дважды в одном middleware — выброс Error.
7
+ * - Если middlewares пустой — вызывается `finalHandler` напрямую.
8
+ * - Ошибка в любом звене пробрасывается вверх по стеку (без перехвата).
9
+ *
10
+ * @param middlewares - Упорядоченный список middleware
11
+ * @param finalHandler - Вызывается после последнего middleware (например, диспетчер хендлеров)
12
+ * @returns Функция `(ctx) => Promise<void>`, которую можно awaited
13
+ */
14
+ export declare function compose<Ctx>(middlewares: ReadonlyArray<Middleware<Ctx>>, finalHandler: (ctx: Ctx) => Promise<void>): (ctx: Ctx) => Promise<void>;
15
+ /**
16
+ * Вариант `compose` с замером времени каждого middleware.
17
+ *
18
+ * Записывает в массив `timings` (по индексу) фактическое время выполнения
19
+ * каждого middleware в миллисекундах (включая вызов вложенных next()).
20
+ *
21
+ * Используется внутри `Bot` когда задан `onMetrics` колбэк.
22
+ *
23
+ * @param middlewares - Упорядоченный список middleware
24
+ * @param finalHandler - Вызывается после последнего middleware
25
+ * @param timings - Выходной массив: `timings[i]` — ms для i-го middleware
26
+ */
27
+ export declare function composeWithTiming<Ctx>(middlewares: ReadonlyArray<Middleware<Ctx>>, finalHandler: (ctx: Ctx) => Promise<void>, timings: number[]): (ctx: Ctx) => Promise<void>;
28
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/middleware/compose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,GAAG,EACzB,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC3C,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GACxC,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAkC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EACnC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC3C,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EACzC,OAAO,EAAE,MAAM,EAAE,GAChB,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CA+C7B"}
@@ -0,0 +1,3 @@
1
+ export type { Middleware, NextFn } from "./types.js";
2
+ export { compose, composeWithTiming } from "./compose.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Функция-переход к следующему middleware.
3
+ * Вызов next() дважды в одном middleware — программная ошибка.
4
+ */
5
+ export type NextFn = () => Promise<void>;
6
+ /**
7
+ * Middleware — асинхронная функция, получающая контекст и переход to следующему звену.
8
+ *
9
+ * @example
10
+ * const logger: Middleware<Context> = async (ctx, next) => {
11
+ * console.log('incoming update');
12
+ * await next();
13
+ * console.log('handlers done');
14
+ * };
15
+ */
16
+ export type Middleware<Ctx> = (ctx: Ctx, next: NextFn) => Promise<void> | void;
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/middleware/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC"}