@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.
- package/CHANGELOG.md +9 -0
- package/LICENSE +21 -0
- package/README.md +1176 -0
- package/dist/cjs/api/BotsApi.d.ts +17 -0
- package/dist/cjs/api/BotsApi.d.ts.map +1 -0
- package/dist/cjs/api/BotsApi.js +22 -0
- package/dist/cjs/api/ChatsApi.d.ts +87 -0
- package/dist/cjs/api/ChatsApi.d.ts.map +1 -0
- package/dist/cjs/api/ChatsApi.js +144 -0
- package/dist/cjs/api/MessagesApi.d.ts +41 -0
- package/dist/cjs/api/MessagesApi.d.ts.map +1 -0
- package/dist/cjs/api/MessagesApi.js +66 -0
- package/dist/cjs/api/SubscriptionsApi.d.ts +45 -0
- package/dist/cjs/api/SubscriptionsApi.d.ts.map +1 -0
- package/dist/cjs/api/SubscriptionsApi.js +69 -0
- package/dist/cjs/api/UploadsApi.d.ts +45 -0
- package/dist/cjs/api/UploadsApi.d.ts.map +1 -0
- package/dist/cjs/api/UploadsApi.js +113 -0
- package/dist/cjs/api/index.d.ts +7 -0
- package/dist/cjs/api/index.d.ts.map +1 -0
- package/dist/cjs/api/index.js +14 -0
- package/dist/cjs/api/interfaces.d.ts +108 -0
- package/dist/cjs/api/interfaces.d.ts.map +1 -0
- package/dist/cjs/api/interfaces.js +3 -0
- package/dist/cjs/bot/Bot.d.ts +380 -0
- package/dist/cjs/bot/Bot.d.ts.map +1 -0
- package/dist/cjs/bot/Bot.js +624 -0
- package/dist/cjs/bot/Composer.d.ts +131 -0
- package/dist/cjs/bot/Composer.d.ts.map +1 -0
- package/dist/cjs/bot/Composer.js +218 -0
- package/dist/cjs/bot/context/BotStartedContext.d.ts +83 -0
- package/dist/cjs/bot/context/BotStartedContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/BotStartedContext.js +113 -0
- package/dist/cjs/bot/context/CallbackContext.d.ts +107 -0
- package/dist/cjs/bot/context/CallbackContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/CallbackContext.js +158 -0
- package/dist/cjs/bot/context/ChatContext.d.ts +35 -0
- package/dist/cjs/bot/context/ChatContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/ChatContext.js +52 -0
- package/dist/cjs/bot/context/MessageContext.d.ts +149 -0
- package/dist/cjs/bot/context/MessageContext.d.ts.map +1 -0
- package/dist/cjs/bot/context/MessageContext.js +228 -0
- package/dist/cjs/bot/context/guards.d.ts +69 -0
- package/dist/cjs/bot/context/guards.d.ts.map +1 -0
- package/dist/cjs/bot/context/guards.js +85 -0
- package/dist/cjs/bot/context/index.d.ts +6 -0
- package/dist/cjs/bot/context/index.d.ts.map +1 -0
- package/dist/cjs/bot/context/index.js +18 -0
- package/dist/cjs/bot/dispatch.d.ts +51 -0
- package/dist/cjs/bot/dispatch.d.ts.map +1 -0
- package/dist/cjs/bot/dispatch.js +201 -0
- package/dist/cjs/bot/index.d.ts +10 -0
- package/dist/cjs/bot/index.d.ts.map +1 -0
- package/dist/cjs/bot/index.js +24 -0
- package/dist/cjs/bot/lifecycle.d.ts +85 -0
- package/dist/cjs/bot/lifecycle.d.ts.map +1 -0
- package/dist/cjs/bot/lifecycle.js +167 -0
- package/dist/cjs/bot/metrics.d.ts +18 -0
- package/dist/cjs/bot/metrics.d.ts.map +1 -0
- package/dist/cjs/bot/metrics.js +3 -0
- package/dist/cjs/bot/routing.d.ts +131 -0
- package/dist/cjs/bot/routing.d.ts.map +1 -0
- package/dist/cjs/bot/routing.js +198 -0
- package/dist/cjs/bot/triggers.d.ts +61 -0
- package/dist/cjs/bot/triggers.d.ts.map +1 -0
- package/dist/cjs/bot/triggers.js +84 -0
- package/dist/cjs/core/errors/MaxError.d.ts +11 -0
- package/dist/cjs/core/errors/MaxError.d.ts.map +1 -0
- package/dist/cjs/core/errors/MaxError.js +19 -0
- package/dist/cjs/core/errors/errors.d.ts +59 -0
- package/dist/cjs/core/errors/errors.d.ts.map +1 -0
- package/dist/cjs/core/errors/errors.js +84 -0
- package/dist/cjs/core/errors/index.d.ts +3 -0
- package/dist/cjs/core/errors/index.d.ts.map +1 -0
- package/dist/cjs/core/errors/index.js +13 -0
- package/dist/cjs/core/http/HttpClient.d.ts +28 -0
- package/dist/cjs/core/http/HttpClient.d.ts.map +1 -0
- package/dist/cjs/core/http/HttpClient.js +148 -0
- package/dist/cjs/core/http/index.d.ts +3 -0
- package/dist/cjs/core/http/index.d.ts.map +1 -0
- package/dist/cjs/core/http/index.js +6 -0
- package/dist/cjs/core/http/interfaces.d.ts +42 -0
- package/dist/cjs/core/http/interfaces.d.ts.map +1 -0
- package/dist/cjs/core/http/interfaces.js +3 -0
- package/dist/cjs/core/rate-limiter/RateLimiter.d.ts +46 -0
- package/dist/cjs/core/rate-limiter/RateLimiter.d.ts.map +1 -0
- package/dist/cjs/core/rate-limiter/RateLimiter.js +110 -0
- package/dist/cjs/core/rate-limiter/index.d.ts +3 -0
- package/dist/cjs/core/rate-limiter/index.d.ts.map +1 -0
- package/dist/cjs/core/rate-limiter/index.js +6 -0
- package/dist/cjs/filters/index.d.ts +2 -0
- package/dist/cjs/filters/index.d.ts.map +1 -0
- package/dist/cjs/filters/index.js +10 -0
- package/dist/cjs/filters/predicates.d.ts +85 -0
- package/dist/cjs/filters/predicates.d.ts.map +1 -0
- package/dist/cjs/filters/predicates.js +111 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/middleware/compose.d.ts +28 -0
- package/dist/cjs/middleware/compose.d.ts.map +1 -0
- package/dist/cjs/middleware/compose.js +89 -0
- package/dist/cjs/middleware/index.d.ts +3 -0
- package/dist/cjs/middleware/index.d.ts.map +1 -0
- package/dist/cjs/middleware/index.js +7 -0
- package/dist/cjs/middleware/types.d.ts +17 -0
- package/dist/cjs/middleware/types.d.ts.map +1 -0
- package/dist/cjs/middleware/types.js +3 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/transport/LongPollingTransport.d.ts +33 -0
- package/dist/cjs/transport/LongPollingTransport.d.ts.map +1 -0
- package/dist/cjs/transport/LongPollingTransport.js +153 -0
- package/dist/cjs/transport/WebhookTransport.d.ts +40 -0
- package/dist/cjs/transport/WebhookTransport.d.ts.map +1 -0
- package/dist/cjs/transport/WebhookTransport.js +229 -0
- package/dist/cjs/transport/index.d.ts +4 -0
- package/dist/cjs/transport/index.d.ts.map +1 -0
- package/dist/cjs/transport/index.js +8 -0
- package/dist/cjs/transport/interfaces.d.ts +74 -0
- package/dist/cjs/transport/interfaces.d.ts.map +1 -0
- package/dist/cjs/transport/interfaces.js +3 -0
- package/dist/cjs/types/bot.d.ts +19 -0
- package/dist/cjs/types/bot.d.ts.map +1 -0
- package/dist/cjs/types/bot.js +3 -0
- package/dist/cjs/types/chat.d.ts +94 -0
- package/dist/cjs/types/chat.d.ts.map +1 -0
- package/dist/cjs/types/chat.js +3 -0
- package/dist/cjs/types/common.d.ts +38 -0
- package/dist/cjs/types/common.d.ts.map +1 -0
- package/dist/cjs/types/common.js +6 -0
- package/dist/cjs/types/index.d.ts +9 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +26 -0
- package/dist/cjs/types/keyboard.d.ts +97 -0
- package/dist/cjs/types/keyboard.d.ts.map +1 -0
- package/dist/cjs/types/keyboard.js +3 -0
- package/dist/cjs/types/message.d.ts +162 -0
- package/dist/cjs/types/message.d.ts.map +1 -0
- package/dist/cjs/types/message.js +3 -0
- package/dist/cjs/types/subscription.d.ts +23 -0
- package/dist/cjs/types/subscription.d.ts.map +1 -0
- package/dist/cjs/types/subscription.js +3 -0
- package/dist/cjs/types/update.d.ts +99 -0
- package/dist/cjs/types/update.d.ts.map +1 -0
- package/dist/cjs/types/update.js +3 -0
- package/dist/cjs/types/upload.d.ts +29 -0
- package/dist/cjs/types/upload.d.ts.map +1 -0
- package/dist/cjs/types/upload.js +3 -0
- package/dist/cjs/utils/Histogram.d.ts +93 -0
- package/dist/cjs/utils/Histogram.d.ts.map +1 -0
- package/dist/cjs/utils/Histogram.js +103 -0
- package/dist/cjs/utils/assertNever.d.ts +19 -0
- package/dist/cjs/utils/assertNever.d.ts.map +1 -0
- package/dist/cjs/utils/assertNever.js +24 -0
- package/dist/cjs/utils/format.d.ts +22 -0
- package/dist/cjs/utils/format.d.ts.map +1 -0
- package/dist/cjs/utils/format.js +25 -0
- package/dist/cjs/utils/index.d.ts +6 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +14 -0
- package/dist/cjs/utils/keyboard.d.ts +70 -0
- package/dist/cjs/utils/keyboard.d.ts.map +1 -0
- package/dist/cjs/utils/keyboard.js +166 -0
- package/dist/esm/api/BotsApi.d.ts +17 -0
- package/dist/esm/api/BotsApi.d.ts.map +1 -0
- package/dist/esm/api/BotsApi.js +18 -0
- package/dist/esm/api/ChatsApi.d.ts +87 -0
- package/dist/esm/api/ChatsApi.d.ts.map +1 -0
- package/dist/esm/api/ChatsApi.js +140 -0
- package/dist/esm/api/MessagesApi.d.ts +41 -0
- package/dist/esm/api/MessagesApi.d.ts.map +1 -0
- package/dist/esm/api/MessagesApi.js +62 -0
- package/dist/esm/api/SubscriptionsApi.d.ts +45 -0
- package/dist/esm/api/SubscriptionsApi.d.ts.map +1 -0
- package/dist/esm/api/SubscriptionsApi.js +65 -0
- package/dist/esm/api/UploadsApi.d.ts +45 -0
- package/dist/esm/api/UploadsApi.d.ts.map +1 -0
- package/dist/esm/api/UploadsApi.js +109 -0
- package/dist/esm/api/index.d.ts +7 -0
- package/dist/esm/api/index.d.ts.map +1 -0
- package/dist/esm/api/index.js +6 -0
- package/dist/esm/api/interfaces.d.ts +108 -0
- package/dist/esm/api/interfaces.d.ts.map +1 -0
- package/dist/esm/api/interfaces.js +2 -0
- package/dist/esm/bot/Bot.d.ts +380 -0
- package/dist/esm/bot/Bot.d.ts.map +1 -0
- package/dist/esm/bot/Bot.js +620 -0
- package/dist/esm/bot/Composer.d.ts +131 -0
- package/dist/esm/bot/Composer.d.ts.map +1 -0
- package/dist/esm/bot/Composer.js +214 -0
- package/dist/esm/bot/context/BotStartedContext.d.ts +83 -0
- package/dist/esm/bot/context/BotStartedContext.d.ts.map +1 -0
- package/dist/esm/bot/context/BotStartedContext.js +109 -0
- package/dist/esm/bot/context/CallbackContext.d.ts +107 -0
- package/dist/esm/bot/context/CallbackContext.d.ts.map +1 -0
- package/dist/esm/bot/context/CallbackContext.js +154 -0
- package/dist/esm/bot/context/ChatContext.d.ts +35 -0
- package/dist/esm/bot/context/ChatContext.d.ts.map +1 -0
- package/dist/esm/bot/context/ChatContext.js +48 -0
- package/dist/esm/bot/context/MessageContext.d.ts +149 -0
- package/dist/esm/bot/context/MessageContext.d.ts.map +1 -0
- package/dist/esm/bot/context/MessageContext.js +224 -0
- package/dist/esm/bot/context/guards.d.ts +69 -0
- package/dist/esm/bot/context/guards.d.ts.map +1 -0
- package/dist/esm/bot/context/guards.js +78 -0
- package/dist/esm/bot/context/index.d.ts +6 -0
- package/dist/esm/bot/context/index.d.ts.map +1 -0
- package/dist/esm/bot/context/index.js +6 -0
- package/dist/esm/bot/dispatch.d.ts +51 -0
- package/dist/esm/bot/dispatch.d.ts.map +1 -0
- package/dist/esm/bot/dispatch.js +197 -0
- package/dist/esm/bot/index.d.ts +10 -0
- package/dist/esm/bot/index.d.ts.map +1 -0
- package/dist/esm/bot/index.js +9 -0
- package/dist/esm/bot/lifecycle.d.ts +85 -0
- package/dist/esm/bot/lifecycle.d.ts.map +1 -0
- package/dist/esm/bot/lifecycle.js +163 -0
- package/dist/esm/bot/metrics.d.ts +18 -0
- package/dist/esm/bot/metrics.d.ts.map +1 -0
- package/dist/esm/bot/metrics.js +2 -0
- package/dist/esm/bot/routing.d.ts +131 -0
- package/dist/esm/bot/routing.d.ts.map +1 -0
- package/dist/esm/bot/routing.js +194 -0
- package/dist/esm/bot/triggers.d.ts +61 -0
- package/dist/esm/bot/triggers.d.ts.map +1 -0
- package/dist/esm/bot/triggers.js +80 -0
- package/dist/esm/core/errors/MaxError.d.ts +11 -0
- package/dist/esm/core/errors/MaxError.d.ts.map +1 -0
- package/dist/esm/core/errors/MaxError.js +15 -0
- package/dist/esm/core/errors/errors.d.ts +59 -0
- package/dist/esm/core/errors/errors.d.ts.map +1 -0
- package/dist/esm/core/errors/errors.js +75 -0
- package/dist/esm/core/errors/index.d.ts +3 -0
- package/dist/esm/core/errors/index.d.ts.map +1 -0
- package/dist/esm/core/errors/index.js +3 -0
- package/dist/esm/core/http/HttpClient.d.ts +28 -0
- package/dist/esm/core/http/HttpClient.d.ts.map +1 -0
- package/dist/esm/core/http/HttpClient.js +144 -0
- package/dist/esm/core/http/index.d.ts +3 -0
- package/dist/esm/core/http/index.d.ts.map +1 -0
- package/dist/esm/core/http/index.js +2 -0
- package/dist/esm/core/http/interfaces.d.ts +42 -0
- package/dist/esm/core/http/interfaces.d.ts.map +1 -0
- package/dist/esm/core/http/interfaces.js +2 -0
- package/dist/esm/core/rate-limiter/RateLimiter.d.ts +46 -0
- package/dist/esm/core/rate-limiter/RateLimiter.d.ts.map +1 -0
- package/dist/esm/core/rate-limiter/RateLimiter.js +106 -0
- package/dist/esm/core/rate-limiter/index.d.ts +3 -0
- package/dist/esm/core/rate-limiter/index.d.ts.map +1 -0
- package/dist/esm/core/rate-limiter/index.js +2 -0
- package/dist/esm/filters/index.d.ts +2 -0
- package/dist/esm/filters/index.d.ts.map +1 -0
- package/dist/esm/filters/index.js +2 -0
- package/dist/esm/filters/predicates.d.ts +85 -0
- package/dist/esm/filters/predicates.d.ts.map +1 -0
- package/dist/esm/filters/predicates.js +104 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/middleware/compose.d.ts +28 -0
- package/dist/esm/middleware/compose.d.ts.map +1 -0
- package/dist/esm/middleware/compose.js +85 -0
- package/dist/esm/middleware/index.d.ts +3 -0
- package/dist/esm/middleware/index.d.ts.map +1 -0
- package/dist/esm/middleware/index.js +2 -0
- package/dist/esm/middleware/types.d.ts +17 -0
- package/dist/esm/middleware/types.d.ts.map +1 -0
- package/dist/esm/middleware/types.js +2 -0
- package/dist/esm/transport/LongPollingTransport.d.ts +33 -0
- package/dist/esm/transport/LongPollingTransport.d.ts.map +1 -0
- package/dist/esm/transport/LongPollingTransport.js +149 -0
- package/dist/esm/transport/WebhookTransport.d.ts +40 -0
- package/dist/esm/transport/WebhookTransport.d.ts.map +1 -0
- package/dist/esm/transport/WebhookTransport.js +225 -0
- package/dist/esm/transport/index.d.ts +4 -0
- package/dist/esm/transport/index.d.ts.map +1 -0
- package/dist/esm/transport/index.js +3 -0
- package/dist/esm/transport/interfaces.d.ts +74 -0
- package/dist/esm/transport/interfaces.d.ts.map +1 -0
- package/dist/esm/transport/interfaces.js +2 -0
- package/dist/esm/types/bot.d.ts +19 -0
- package/dist/esm/types/bot.d.ts.map +1 -0
- package/dist/esm/types/bot.js +2 -0
- package/dist/esm/types/chat.d.ts +94 -0
- package/dist/esm/types/chat.d.ts.map +1 -0
- package/dist/esm/types/chat.js +2 -0
- package/dist/esm/types/common.d.ts +38 -0
- package/dist/esm/types/common.d.ts.map +1 -0
- package/dist/esm/types/common.js +5 -0
- package/dist/esm/types/index.d.ts +9 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +10 -0
- package/dist/esm/types/keyboard.d.ts +97 -0
- package/dist/esm/types/keyboard.d.ts.map +1 -0
- package/dist/esm/types/keyboard.js +2 -0
- package/dist/esm/types/message.d.ts +162 -0
- package/dist/esm/types/message.d.ts.map +1 -0
- package/dist/esm/types/message.js +2 -0
- package/dist/esm/types/subscription.d.ts +23 -0
- package/dist/esm/types/subscription.d.ts.map +1 -0
- package/dist/esm/types/subscription.js +2 -0
- package/dist/esm/types/update.d.ts +99 -0
- package/dist/esm/types/update.d.ts.map +1 -0
- package/dist/esm/types/update.js +2 -0
- package/dist/esm/types/upload.d.ts +29 -0
- package/dist/esm/types/upload.d.ts.map +1 -0
- package/dist/esm/types/upload.js +2 -0
- package/dist/esm/utils/Histogram.d.ts +93 -0
- package/dist/esm/utils/Histogram.d.ts.map +1 -0
- package/dist/esm/utils/Histogram.js +99 -0
- package/dist/esm/utils/assertNever.d.ts +19 -0
- package/dist/esm/utils/assertNever.d.ts.map +1 -0
- package/dist/esm/utils/assertNever.js +21 -0
- package/dist/esm/utils/format.d.ts +22 -0
- package/dist/esm/utils/format.d.ts.map +1 -0
- package/dist/esm/utils/format.js +22 -0
- package/dist/esm/utils/index.d.ts +6 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +5 -0
- package/dist/esm/utils/keyboard.d.ts +70 -0
- package/dist/esm/utils/keyboard.d.ts.map +1 -0
- package/dist/esm/utils/keyboard.js +162 -0
- package/dist/types/api/BotsApi.d.ts +17 -0
- package/dist/types/api/BotsApi.d.ts.map +1 -0
- package/dist/types/api/ChatsApi.d.ts +87 -0
- package/dist/types/api/ChatsApi.d.ts.map +1 -0
- package/dist/types/api/MessagesApi.d.ts +41 -0
- package/dist/types/api/MessagesApi.d.ts.map +1 -0
- package/dist/types/api/SubscriptionsApi.d.ts +45 -0
- package/dist/types/api/SubscriptionsApi.d.ts.map +1 -0
- package/dist/types/api/UploadsApi.d.ts +45 -0
- package/dist/types/api/UploadsApi.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +7 -0
- package/dist/types/api/index.d.ts.map +1 -0
- package/dist/types/api/interfaces.d.ts +108 -0
- package/dist/types/api/interfaces.d.ts.map +1 -0
- package/dist/types/bot/Bot.d.ts +380 -0
- package/dist/types/bot/Bot.d.ts.map +1 -0
- package/dist/types/bot/Composer.d.ts +131 -0
- package/dist/types/bot/Composer.d.ts.map +1 -0
- package/dist/types/bot/context/BotStartedContext.d.ts +83 -0
- package/dist/types/bot/context/BotStartedContext.d.ts.map +1 -0
- package/dist/types/bot/context/CallbackContext.d.ts +107 -0
- package/dist/types/bot/context/CallbackContext.d.ts.map +1 -0
- package/dist/types/bot/context/ChatContext.d.ts +35 -0
- package/dist/types/bot/context/ChatContext.d.ts.map +1 -0
- package/dist/types/bot/context/MessageContext.d.ts +149 -0
- package/dist/types/bot/context/MessageContext.d.ts.map +1 -0
- package/dist/types/bot/context/guards.d.ts +69 -0
- package/dist/types/bot/context/guards.d.ts.map +1 -0
- package/dist/types/bot/context/index.d.ts +6 -0
- package/dist/types/bot/context/index.d.ts.map +1 -0
- package/dist/types/bot/dispatch.d.ts +51 -0
- package/dist/types/bot/dispatch.d.ts.map +1 -0
- package/dist/types/bot/index.d.ts +10 -0
- package/dist/types/bot/index.d.ts.map +1 -0
- package/dist/types/bot/lifecycle.d.ts +85 -0
- package/dist/types/bot/lifecycle.d.ts.map +1 -0
- package/dist/types/bot/metrics.d.ts +18 -0
- package/dist/types/bot/metrics.d.ts.map +1 -0
- package/dist/types/bot/routing.d.ts +131 -0
- package/dist/types/bot/routing.d.ts.map +1 -0
- package/dist/types/bot/triggers.d.ts +61 -0
- package/dist/types/bot/triggers.d.ts.map +1 -0
- package/dist/types/core/errors/MaxError.d.ts +11 -0
- package/dist/types/core/errors/MaxError.d.ts.map +1 -0
- package/dist/types/core/errors/errors.d.ts +59 -0
- package/dist/types/core/errors/errors.d.ts.map +1 -0
- package/dist/types/core/errors/index.d.ts +3 -0
- package/dist/types/core/errors/index.d.ts.map +1 -0
- package/dist/types/core/http/HttpClient.d.ts +28 -0
- package/dist/types/core/http/HttpClient.d.ts.map +1 -0
- package/dist/types/core/http/index.d.ts +3 -0
- package/dist/types/core/http/index.d.ts.map +1 -0
- package/dist/types/core/http/interfaces.d.ts +42 -0
- package/dist/types/core/http/interfaces.d.ts.map +1 -0
- package/dist/types/core/rate-limiter/RateLimiter.d.ts +46 -0
- package/dist/types/core/rate-limiter/RateLimiter.d.ts.map +1 -0
- package/dist/types/core/rate-limiter/index.d.ts +3 -0
- package/dist/types/core/rate-limiter/index.d.ts.map +1 -0
- package/dist/types/filters/index.d.ts +2 -0
- package/dist/types/filters/index.d.ts.map +1 -0
- package/dist/types/filters/predicates.d.ts +85 -0
- package/dist/types/filters/predicates.d.ts.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/middleware/compose.d.ts +28 -0
- package/dist/types/middleware/compose.d.ts.map +1 -0
- package/dist/types/middleware/index.d.ts +3 -0
- package/dist/types/middleware/index.d.ts.map +1 -0
- package/dist/types/middleware/types.d.ts +17 -0
- package/dist/types/middleware/types.d.ts.map +1 -0
- package/dist/types/transport/LongPollingTransport.d.ts +33 -0
- package/dist/types/transport/LongPollingTransport.d.ts.map +1 -0
- package/dist/types/transport/WebhookTransport.d.ts +40 -0
- package/dist/types/transport/WebhookTransport.d.ts.map +1 -0
- package/dist/types/transport/index.d.ts +4 -0
- package/dist/types/transport/index.d.ts.map +1 -0
- package/dist/types/transport/interfaces.d.ts +74 -0
- package/dist/types/transport/interfaces.d.ts.map +1 -0
- package/dist/types/types/bot.d.ts +19 -0
- package/dist/types/types/bot.d.ts.map +1 -0
- package/dist/types/types/chat.d.ts +94 -0
- package/dist/types/types/chat.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +38 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +9 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/keyboard.d.ts +97 -0
- package/dist/types/types/keyboard.d.ts.map +1 -0
- package/dist/types/types/message.d.ts +162 -0
- package/dist/types/types/message.d.ts.map +1 -0
- package/dist/types/types/subscription.d.ts +23 -0
- package/dist/types/types/subscription.d.ts.map +1 -0
- package/dist/types/types/update.d.ts +99 -0
- package/dist/types/types/update.d.ts.map +1 -0
- package/dist/types/types/upload.d.ts +29 -0
- package/dist/types/types/upload.d.ts.map +1 -0
- package/dist/types/utils/Histogram.d.ts +93 -0
- package/dist/types/utils/Histogram.d.ts.map +1 -0
- package/dist/types/utils/assertNever.d.ts +19 -0
- package/dist/types/utils/assertNever.d.ts.map +1 -0
- package/dist/types/utils/format.d.ts +22 -0
- package/dist/types/utils/format.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/keyboard.d.ts +70 -0
- package/dist/types/utils/keyboard.d.ts.map +1 -0
- 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,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,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,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,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, "&").replace(/</g, "<").replace(/>/g, ">"),
|
|
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"}
|