@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,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Базовые типы, используемые во всём SDK
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Пользователь MAX
|
|
6
|
+
*/
|
|
7
|
+
export interface User {
|
|
8
|
+
user_id: number;
|
|
9
|
+
first_name: string;
|
|
10
|
+
last_name: string | null;
|
|
11
|
+
/** @deprecated Устаревшее поле, используйте first_name + last_name */
|
|
12
|
+
name?: string | null;
|
|
13
|
+
username: string | null;
|
|
14
|
+
is_bot: boolean;
|
|
15
|
+
/** Unix-время в миллисекундах */
|
|
16
|
+
last_activity_time: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Пользователь с аватаром
|
|
20
|
+
*/
|
|
21
|
+
export interface UserWithPhoto extends User {
|
|
22
|
+
avatar_url: string | null;
|
|
23
|
+
full_avatar_url: string | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Изображение (аватар, иконка)
|
|
27
|
+
*/
|
|
28
|
+
export interface Image {
|
|
29
|
+
url: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Ответ API с ошибкой
|
|
33
|
+
*/
|
|
34
|
+
export interface ApiErrorResponse {
|
|
35
|
+
code: string;
|
|
36
|
+
message: string;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./common.js";
|
|
2
|
+
export * from "./bot.js";
|
|
3
|
+
export * from "./chat.js";
|
|
4
|
+
export * from "./message.js";
|
|
5
|
+
export * from "./update.js";
|
|
6
|
+
export * from "./subscription.js";
|
|
7
|
+
export * from "./keyboard.js";
|
|
8
|
+
export * from "./upload.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Реэкспорт всех типов для удобного импорта
|
|
18
|
+
__exportStar(require("./common.js"), exports);
|
|
19
|
+
__exportStar(require("./bot.js"), exports);
|
|
20
|
+
__exportStar(require("./chat.js"), exports);
|
|
21
|
+
__exportStar(require("./message.js"), exports);
|
|
22
|
+
__exportStar(require("./update.js"), exports);
|
|
23
|
+
__exportStar(require("./subscription.js"), exports);
|
|
24
|
+
__exportStar(require("./keyboard.js"), exports);
|
|
25
|
+
__exportStar(require("./upload.js"), exports);
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Намерение кнопки (цвет)
|
|
3
|
+
*/
|
|
4
|
+
export type ButtonIntent = "default" | "positive" | "negative";
|
|
5
|
+
/** Кнопка с callback-данными */
|
|
6
|
+
export interface CallbackButton {
|
|
7
|
+
type: "callback";
|
|
8
|
+
/** Видимый текст кнопки (1-128 символов) */
|
|
9
|
+
text: string;
|
|
10
|
+
/** Данные callback (до 1024 символов) */
|
|
11
|
+
payload: string;
|
|
12
|
+
intent?: ButtonIntent;
|
|
13
|
+
}
|
|
14
|
+
/** Кнопка-ссылка */
|
|
15
|
+
export interface LinkButton {
|
|
16
|
+
type: "link";
|
|
17
|
+
text: string;
|
|
18
|
+
/** URL (до 2048 символов) */
|
|
19
|
+
url: string;
|
|
20
|
+
intent?: ButtonIntent;
|
|
21
|
+
}
|
|
22
|
+
/** Запрос контакта */
|
|
23
|
+
export interface RequestContactButton {
|
|
24
|
+
type: "request_contact";
|
|
25
|
+
text: string;
|
|
26
|
+
intent?: ButtonIntent;
|
|
27
|
+
}
|
|
28
|
+
/** Запрос геолокации */
|
|
29
|
+
export interface RequestGeoLocationButton {
|
|
30
|
+
type: "request_geo_location";
|
|
31
|
+
text: string;
|
|
32
|
+
/** Отправить геолокацию без подтверждения */
|
|
33
|
+
quick?: boolean;
|
|
34
|
+
intent?: ButtonIntent;
|
|
35
|
+
}
|
|
36
|
+
/** Открыть мини-приложение */
|
|
37
|
+
export interface OpenAppButton {
|
|
38
|
+
type: "open_app";
|
|
39
|
+
text: string;
|
|
40
|
+
web_app?: string;
|
|
41
|
+
contact_id?: number;
|
|
42
|
+
payload?: string;
|
|
43
|
+
intent?: ButtonIntent;
|
|
44
|
+
}
|
|
45
|
+
/** Отправить текстовое сообщение от пользователя */
|
|
46
|
+
export interface MessageButton {
|
|
47
|
+
type: "message";
|
|
48
|
+
text: string;
|
|
49
|
+
intent?: ButtonIntent;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Кнопка создания нового чата с ботом.
|
|
53
|
+
* При нажатии открывается диалог создания чата с заданным заголовком.
|
|
54
|
+
*/
|
|
55
|
+
export interface ChatButton {
|
|
56
|
+
type: "chat";
|
|
57
|
+
text: string;
|
|
58
|
+
/** Название создаваемого чата */
|
|
59
|
+
chat_title: string;
|
|
60
|
+
/** Описание чата (опционально) */
|
|
61
|
+
chat_description?: string | null;
|
|
62
|
+
/** Payload, который будет передан боту при старте чата через bot_started */
|
|
63
|
+
start_payload?: string | null;
|
|
64
|
+
/** UUID для дедупликации — позволяет избежать создания дублирующих чатов */
|
|
65
|
+
uuid?: string | null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Дискриминированный union кнопок — TypeScript проверяет обязательные поля для каждого типа.
|
|
69
|
+
* Например, payload обязателен только для callback, url только для link.
|
|
70
|
+
*/
|
|
71
|
+
export type Button = CallbackButton | LinkButton | RequestContactButton | RequestGeoLocationButton | OpenAppButton | MessageButton | ChatButton;
|
|
72
|
+
/**
|
|
73
|
+
* Payload inline-клавиатуры
|
|
74
|
+
*/
|
|
75
|
+
export interface InlineKeyboardPayload {
|
|
76
|
+
buttons: Button[][];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Вложение inline-клавиатуры
|
|
80
|
+
*/
|
|
81
|
+
export interface InlineKeyboardAttachment {
|
|
82
|
+
type: "inline_keyboard";
|
|
83
|
+
payload: InlineKeyboardPayload;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Кнопка inline-клавиатуры для API (только callback, legacy-тип)
|
|
87
|
+
*/
|
|
88
|
+
export interface InlineKeyboardButton {
|
|
89
|
+
type: "callback";
|
|
90
|
+
/** Видимый текст кнопки (1-128 символов) */
|
|
91
|
+
text: string;
|
|
92
|
+
/** Токен кнопки (до 1024 символов) */
|
|
93
|
+
payload: string;
|
|
94
|
+
/** Намерение (по умолчанию "default") */
|
|
95
|
+
intent?: ButtonIntent;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=keyboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/types/keyboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D,gCAAgC;AAChC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,oBAAoB;AACpB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,sBAAsB;AACtB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAwB;AACxB,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GACd,cAAc,GACd,UAAU,GACV,oBAAoB,GACpB,wBAAwB,GACxB,aAAa,GACb,aAAa,GACb,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB"}
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,wBAAwB,IAAI,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAElG;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,iBAAiB,GACjB,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,MAAM,GACN,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KACzC,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,eAAe,GACf,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,gCAAgC,GAChC,kBAAkB,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,oHAAoH;IACpH,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAClC,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
|
|
@@ -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"}
|