@effect-ak/tg-bot-client 0.5.2 → 0.5.3

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/dist/index.d.ts CHANGED
@@ -2876,6 +2876,381 @@ declare const makeTgBotClient: (input: TgBotClientSettingsInput) => {
2876
2876
  getFile: (input: Parameters<ClientFileServiceInterface["getFile"]>[0]) => Promise<File>;
2877
2877
  };
2878
2878
 
2879
+ type BindOrUnbindEventHandler = <K extends keyof EventHandlers>(eventName: K, handler: EventHandlers[K]) => void;
2880
+ type EventHandlers = {
2881
+ activated: () => void;
2882
+ deactivated: () => void;
2883
+ themeChanged: () => void;
2884
+ viewportChanged: (options: {
2885
+ isStateStable: boolean;
2886
+ }) => void;
2887
+ safeAreaChanged: () => void;
2888
+ contentSafeAreaChanged: () => void;
2889
+ mainButtonClicked: () => void;
2890
+ backButtonClicked: () => void;
2891
+ settingsButtonClicked: () => void;
2892
+ invoiceClosed: (options: {
2893
+ url: string;
2894
+ status: "paid" | "cancelled" | "failed" | "pending";
2895
+ }) => void;
2896
+ popupClosed: (options: {
2897
+ button_id: string | null;
2898
+ }) => void;
2899
+ qrTextReceived: (options: {
2900
+ data: string;
2901
+ }) => void;
2902
+ scanQrPopupClosed: () => void;
2903
+ clipboardTextReceived: (options: {
2904
+ data: string;
2905
+ }) => void;
2906
+ writeAccessRequested: (options: {
2907
+ status: "allowed" | "cancelled";
2908
+ }) => void;
2909
+ biometricManagerUpdated: () => void;
2910
+ biometricAuthRequested: (options: {
2911
+ isAuthenticated: boolean;
2912
+ biometricToken: string | null;
2913
+ }) => void;
2914
+ biometricTokenUpdated: (options: {
2915
+ isUpdated: boolean;
2916
+ }) => void;
2917
+ fullscreenChanged: () => void;
2918
+ fullscreenFailed: (options: {
2919
+ error: "UNSUPPORTED" | "ALREADY_FULLSCREEN";
2920
+ }) => void;
2921
+ homeScreenAdded: () => void;
2922
+ homeScreenChecked: (options: {
2923
+ status: "unsupported" | "unknown" | "added" | "missed";
2924
+ }) => void;
2925
+ accelerometerStarted: () => void;
2926
+ accelerometerStopped: () => void;
2927
+ accelerometerChanged: () => void;
2928
+ accelerometerFailed: (options: {
2929
+ error: "UNSUPPORTED";
2930
+ }) => void;
2931
+ deviceOrientationStarted: () => void;
2932
+ deviceOrientationStopped: () => void;
2933
+ deviceOrientationChanged: () => void;
2934
+ deviceOrientationFailed: (options: {
2935
+ error: "UNSUPPORTED";
2936
+ }) => void;
2937
+ gyroscopeStarted: () => void;
2938
+ gyroscopeStopped: () => void;
2939
+ gyroscopeChanged: () => void;
2940
+ gyroscopeFailed: (options: {
2941
+ error: "UNSUPPORTED";
2942
+ }) => void;
2943
+ locationManagerUpdated: () => void;
2944
+ locationRequested: (options: {
2945
+ locationData: LocationData;
2946
+ }) => void;
2947
+ shareMessageSent: () => void;
2948
+ shareMessageFailed: (options: {
2949
+ error: "UNSUPPORTED" | "MESSAGE_EXPIRED" | "MESSAGE_SEND_FAILED" | "USER_DECLINED" | "UNKNOWN_ERROR";
2950
+ }) => void;
2951
+ emojiStatusSet: () => void;
2952
+ emojiStatusFailed: (options: {
2953
+ error: "UNSUPPORTED" | "SUGGESTED_EMOJI_INVALID" | "DURATION_INVALID" | "USER_DECLINED" | "SERVER_ERROR" | "UNKNOWN_ERROR";
2954
+ }) => void;
2955
+ emojiStatusAccessRequested: (options: {
2956
+ status: "allowed" | "cancelled";
2957
+ }) => void;
2958
+ fileDownloadRequested: (options: {
2959
+ status: "downloading" | "cancelled";
2960
+ }) => void;
2961
+ };
2962
+
2963
+ interface TgWebApp {
2964
+ initData: string;
2965
+ initDataUnsafe: WebAppInitData;
2966
+ version: string;
2967
+ platform: string;
2968
+ colorScheme: string;
2969
+ themeParams: ThemeParams;
2970
+ isActive: boolean;
2971
+ isExpanded: boolean;
2972
+ viewportHeight: number;
2973
+ viewportStableHeight: number;
2974
+ headerColor: string;
2975
+ backgroundColor: string;
2976
+ bottomBarColor: string;
2977
+ isClosingConfirmationEnabled: boolean;
2978
+ isVerticalSwipesEnabled: boolean;
2979
+ isFullscreen: boolean;
2980
+ isOrientationLocked: boolean;
2981
+ safeAreaInset: SafeAreaInset;
2982
+ contentSafeAreaInset: ContentSafeAreaInset;
2983
+ BackButton: BackButton;
2984
+ MainButton: BottomButton;
2985
+ SecondaryButton: BottomButton;
2986
+ SettingsButton: SettingsButton;
2987
+ HapticFeedback: HapticFeedback;
2988
+ CloudStorage: CloudStorage;
2989
+ BiometricManager: BiometricManager;
2990
+ Accelerometer: Accelerometer;
2991
+ DeviceOrientation: DeviceOrientation;
2992
+ Gyroscope: Gyroscope;
2993
+ LocationManager: LocationManager;
2994
+ isVersionAtLeast: (version: string) => boolean;
2995
+ setHeaderColor: (color: string) => void;
2996
+ setBackgroundColor: (color: string) => void;
2997
+ setBottomBarColor: (color: string) => void;
2998
+ enableClosingConfirmation: () => void;
2999
+ disableClosingConfirmation: () => void;
3000
+ enableVerticalSwipes: () => void;
3001
+ disableVerticalSwipes: () => void;
3002
+ requestFullscreen: () => void;
3003
+ exitFullscreen: () => void;
3004
+ lockOrientation: () => void;
3005
+ unlockOrientation: () => void;
3006
+ addToHomeScreen: () => void;
3007
+ checkHomeScreenStatus: (callback?: (status: "unsupported" | "unknown" | "added" | "missed") => void) => void;
3008
+ onEvent: BindOrUnbindEventHandler;
3009
+ offEvent: BindOrUnbindEventHandler;
3010
+ sendData: (data: string) => void;
3011
+ switchInlineQuery: (query: string, chat_type?: "users" | "bots" | "groups" | "channels") => void;
3012
+ openLink: (url: string, options?: {
3013
+ try_instant_view: boolean;
3014
+ }) => void;
3015
+ openTelegramLink: (url: string) => void;
3016
+ openInvoice: (url: string, callback?: (invoiceStatus: unknown) => void) => void;
3017
+ shareToStory: (mediaUrl: string, options?: StoryShareParams) => void;
3018
+ shareMessage: (msg_id: number, options?: (isSent: boolean) => void) => void;
3019
+ setEmojiStatus: (custom_emoj_id: string, params?: EmojiStatusParams, callback?: (isStatusSet: boolean) => void) => void;
3020
+ requestEmojiStatusAccess: (url: string, callback?: (invoiceStatus: unknown) => void) => void;
3021
+ downloadFile: (params: DownloadFileParams, callback?: (isAccepted: boolean) => void) => void;
3022
+ showPopup: (params: PopupParams, callback?: (buttonId: string) => void) => void;
3023
+ showAlert: (message: string, callback?: () => void) => void;
3024
+ showConfirm: (message: string, callback?: (isOk: boolean) => void) => void;
3025
+ showScanQrPopup: (params: ScanQrPopupParams, callback?: (data: string) => boolean) => void;
3026
+ closeScanQrPopup: () => void;
3027
+ readTextFromClipboard: (callback?: (text: string) => void) => void;
3028
+ requestWriteAccess: (callback?: (isGranted: boolean) => void) => void;
3029
+ requestContact: (callback?: (isShared: boolean) => void) => void;
3030
+ ready: () => void;
3031
+ expand: () => void;
3032
+ close: () => void;
3033
+ }
3034
+ interface Accelerometer {
3035
+ isStarted: boolean;
3036
+ x: number;
3037
+ y: number;
3038
+ z: number;
3039
+ start: (params: AccelerometerStartParams, callback?: (isStarted: boolean) => void) => Accelerometer;
3040
+ stop: (callback?: (isStopped: boolean) => void) => Accelerometer;
3041
+ }
3042
+ interface AccelerometerStartParams {
3043
+ refresh_rate?: number;
3044
+ }
3045
+ interface BackButton {
3046
+ isVisible: boolean;
3047
+ onClick: unknown;
3048
+ offClick: unknown;
3049
+ show: () => BackButton;
3050
+ hide: () => BackButton;
3051
+ }
3052
+ interface BiometricAuthenticateParams {
3053
+ reason?: string;
3054
+ }
3055
+ interface BiometricManager {
3056
+ isInited: boolean;
3057
+ isBiometricAvailable: boolean;
3058
+ biometricType: "finger" | "face" | "unknown";
3059
+ isAccessRequested: boolean;
3060
+ isAccessGranted: boolean;
3061
+ isBiometricTokenSaved: boolean;
3062
+ deviceId: string;
3063
+ init: (callback?: () => void) => BiometricManager;
3064
+ requestAccess: (params: BiometricRequestAccessParams, callback?: (isGranted: boolean) => void) => BiometricManager;
3065
+ authenticate: (params: BiometricAuthenticateParams, callback?: (isAuthenticated: boolean) => void) => BiometricManager;
3066
+ updateBiometricToken: (token: string, callback?: (isTokenUpdated: boolean) => void) => BiometricManager;
3067
+ openSettings: () => BiometricManager;
3068
+ }
3069
+ interface BiometricRequestAccessParams {
3070
+ reason?: string;
3071
+ }
3072
+ interface BottomButton {
3073
+ type: string;
3074
+ text: string;
3075
+ color: string;
3076
+ textColor: string;
3077
+ isVisible: boolean;
3078
+ isActive: boolean;
3079
+ hasShineEffect: boolean;
3080
+ position: string;
3081
+ isProgressVisible: boolean;
3082
+ setText: (text: string) => BottomButton;
3083
+ onClick: (callback: () => void) => BottomButton;
3084
+ offClick: (callback: () => void) => BottomButton;
3085
+ show: () => BottomButton;
3086
+ hide: () => BottomButton;
3087
+ enable: () => BottomButton;
3088
+ disable: () => BottomButton;
3089
+ showProgress: (callback: (leaveActive: boolean) => void) => BottomButton;
3090
+ hideProgress: () => BottomButton;
3091
+ setParams: (params: {
3092
+ text: string;
3093
+ color: string;
3094
+ has_shine_effect: boolean;
3095
+ position: unknown;
3096
+ is_active: boolean;
3097
+ is_visible: boolean;
3098
+ }) => BottomButton;
3099
+ }
3100
+ interface CloudStorage {
3101
+ setItem: (key: string, value: string, callback?: (error: unknown | null) => void) => CloudStorage;
3102
+ getItem: (key: string, callback: (error: unknown | null, value: string | null) => void) => CloudStorage;
3103
+ getItems: (keys: string[], callback: (error: string | null, values: Record<string, string> | null) => void) => CloudStorage;
3104
+ removeItem: (key: string, callback?: (error: string | null, isDeleted: boolean) => void) => CloudStorage;
3105
+ removeItems: (keys: string[], callback?: (error: string | null, isDeleted: boolean) => void) => CloudStorage;
3106
+ getKeys: (callback: (error: string | null, keys: string[] | null) => void) => CloudStorage;
3107
+ }
3108
+ interface ContentSafeAreaInset {
3109
+ top: number;
3110
+ bottom: number;
3111
+ left: number;
3112
+ right: number;
3113
+ }
3114
+ interface DeviceOrientation {
3115
+ isStarted: boolean;
3116
+ absolute: boolean;
3117
+ alpha: number;
3118
+ beta: number;
3119
+ gamma: number;
3120
+ start: (params: DeviceOrientationStartParams, callback?: (isTracking: boolean) => void) => void;
3121
+ stop: (callback?: (isStopped: boolean) => void) => void;
3122
+ }
3123
+ interface DeviceOrientationStartParams {
3124
+ refresh_rate?: number;
3125
+ need_absolute?: boolean;
3126
+ }
3127
+ interface DownloadFileParams {
3128
+ url: string;
3129
+ file_name: string;
3130
+ }
3131
+ interface EmojiStatusParams {
3132
+ duration?: number;
3133
+ }
3134
+ interface Gyroscope {
3135
+ isStarted: boolean;
3136
+ x: number;
3137
+ y: number;
3138
+ z: number;
3139
+ start: (params: GyroscopeStartParams, callback?: (isTracking: boolean) => void) => void;
3140
+ stop: (callback?: (isStopped: boolean) => void) => void;
3141
+ }
3142
+ interface GyroscopeStartParams {
3143
+ refresh_rate?: number;
3144
+ }
3145
+ interface HapticFeedback {
3146
+ impactOccurred: (style: "light" | "medium" | "heavy" | "rigid" | "soft") => void;
3147
+ notificationOccurred: (type: "error" | "success" | "warning") => void;
3148
+ selectionChanged: () => HapticFeedback;
3149
+ }
3150
+ interface LocationData {
3151
+ latitude: number;
3152
+ longitude: number;
3153
+ altitude: number;
3154
+ course: number;
3155
+ speed: number;
3156
+ horizontal_accuracy: number;
3157
+ vertical_accuracy: number;
3158
+ course_accuracy: number;
3159
+ speed_accuracy: number;
3160
+ }
3161
+ interface LocationManager {
3162
+ isInited: boolean;
3163
+ isLocationAvailable: boolean;
3164
+ isAccessRequested: boolean;
3165
+ isAccessGranted: boolean;
3166
+ init: (callback?: () => void) => LocationManager;
3167
+ getLocation: (callback: (location: LocationData | null) => void) => LocationManager;
3168
+ openSettings: () => LocationManager;
3169
+ }
3170
+ interface PopupButton {
3171
+ id?: string;
3172
+ type?: "OK" | "Close" | "Cancel";
3173
+ text?: string;
3174
+ }
3175
+ interface PopupParams {
3176
+ message: string;
3177
+ title?: string;
3178
+ buttons?: PopupButton[];
3179
+ }
3180
+ interface SafeAreaInset {
3181
+ top: number;
3182
+ bottom: number;
3183
+ left: number;
3184
+ right: number;
3185
+ }
3186
+ interface ScanQrPopupParams {
3187
+ text?: string;
3188
+ }
3189
+ interface SettingsButton {
3190
+ isVisible: boolean;
3191
+ onClick: (callback: () => void) => SettingsButton;
3192
+ offClick: (callback: () => void) => SettingsButton;
3193
+ show: () => SettingsButton;
3194
+ hide: () => SettingsButton;
3195
+ }
3196
+ interface StoryShareParams {
3197
+ text?: string;
3198
+ widget_link?: StoryWidgetLink;
3199
+ }
3200
+ interface StoryWidgetLink {
3201
+ url: string;
3202
+ name?: string;
3203
+ }
3204
+ interface ThemeParams {
3205
+ bg_color?: string;
3206
+ text_color?: string;
3207
+ hint_color?: string;
3208
+ link_color?: string;
3209
+ button_color?: string;
3210
+ button_text_color?: string;
3211
+ secondary_bg_color?: string;
3212
+ header_bg_color?: string;
3213
+ bottom_bar_bg_color?: string;
3214
+ accent_text_color?: string;
3215
+ section_bg_color?: string;
3216
+ section_header_text_color?: string;
3217
+ section_separator_color?: string;
3218
+ subtitle_text_color?: string;
3219
+ destructive_text_color?: string;
3220
+ }
3221
+ interface WebAppChat {
3222
+ id: number;
3223
+ type: "group" | "supergroup" | "channel";
3224
+ title: string;
3225
+ username?: string;
3226
+ photo_url?: "in";
3227
+ }
3228
+ interface WebAppInitData {
3229
+ auth_date: number;
3230
+ hash: string;
3231
+ signature: string;
3232
+ query_id?: string;
3233
+ user?: WebAppUser;
3234
+ receiver?: WebAppUser;
3235
+ chat?: WebAppChat;
3236
+ chat_type?: string;
3237
+ chat_instance?: string;
3238
+ start_param?: string;
3239
+ can_send_after?: number;
3240
+ }
3241
+ interface WebAppUser {
3242
+ id: number;
3243
+ first_name: string;
3244
+ is_bot?: boolean;
3245
+ last_name?: string;
3246
+ username?: string;
3247
+ language_code?: string;
3248
+ is_premium?: boolean;
3249
+ added_to_attachment_menu?: boolean;
3250
+ allows_write_to_pm?: boolean;
3251
+ photo_url?: "in";
3252
+ }
3253
+
2879
3254
  declare const defaultBaseUrl = "https://api.telegram.org";
2880
3255
  declare const MESSAGE_EFFECTS: {
2881
3256
  readonly "\uD83D\uDD25": "5104841245755180586";
@@ -2889,4 +3264,4 @@ type MessageEffect = keyof typeof MESSAGE_EFFECTS;
2889
3264
  declare const messageEffectIdCodes: MessageEffect[];
2890
3265
  declare const isMessageEffect: (input: unknown) => input is MessageEffect;
2891
3266
 
2892
- export { type AddStickerToSetInput, type AffiliateInfo, type Animation, type AnswerCallbackQueryInput, type AnswerInlineQueryInput, type AnswerPreCheckoutQueryInput, type AnswerShippingQueryInput, type AnswerWebAppQueryInput, type Api, type ApproveChatJoinRequestInput, type Audio, type AvailableUpdateTypes, type BackgroundFill, type BackgroundFillFreeformGradient, type BackgroundFillGradient, type BackgroundFillSolid, type BackgroundType, type BackgroundTypeChatTheme, type BackgroundTypeFill, type BackgroundTypePattern, type BackgroundTypeWallpaper, type BanChatMemberInput, type BanChatSenderChatInput, type Birthdate, type BotBatchMode, type BotCommand, type BotCommandScope, type BotCommandScopeAllChatAdministrators, type BotCommandScopeAllGroupChats, type BotCommandScopeAllPrivateChats, type BotCommandScopeChat, type BotCommandScopeChatAdministrators, type BotCommandScopeChatMember, type BotCommandScopeDefault, type BotDescription, type BotInstance, type BotMode, type BotName, BotResponse, BotRunService, type BotShortDescription, type BotSingleMode, BotUpdateHandlersTag, type BotUpdatesHandlers, type BusinessConnection, type BusinessIntro, type BusinessLocation, type BusinessMessagesDeleted, type BusinessOpeningHours, type BusinessOpeningHoursInterval, type CallbackGame, type CallbackQuery, type Chat, type ChatAdministratorRights, type ChatBackground, type ChatBoost, type ChatBoostAdded, type ChatBoostRemoved, type ChatBoostSource, type ChatBoostSourceGiftCode, type ChatBoostSourceGiveaway, type ChatBoostSourcePremium, type ChatBoostUpdated, type ChatFullInfo, type ChatInviteLink, type ChatJoinRequest, type ChatLocation, type ChatMember, type ChatMemberAdministrator, type ChatMemberBanned, type ChatMemberLeft, type ChatMemberMember, type ChatMemberOwner, type ChatMemberRestricted, type ChatMemberUpdated, type ChatPermissions, type ChatPhoto, type ChatShared, type ChosenInlineResult, type CloseForumTopicInput, type CloseGeneralForumTopicInput, type CloseInput, type Contact, type CopyMessageInput, type CopyMessagesInput, type CopyTextButton, type CreateChatInviteLinkInput, type CreateChatSubscriptionInviteLinkInput, type CreateForumTopicInput, type CreateInvoiceLinkInput, type CreateNewStickerSetInput, type DeclineChatJoinRequestInput, type DeleteChatPhotoInput, type DeleteChatStickerSetInput, type DeleteForumTopicInput, type DeleteMessageInput, type DeleteMessagesInput, type DeleteMyCommandsInput, type DeleteStickerFromSetInput, type DeleteStickerSetInput, type DeleteWebhookInput, type Dice, type Document, type EditChatInviteLinkInput, type EditChatSubscriptionInviteLinkInput, type EditForumTopicInput, type EditGeneralForumTopicInput, type EditMessageCaptionInput, type EditMessageLiveLocationInput, type EditMessageMediaInput, type EditMessageReplyMarkupInput, type EditMessageTextInput, type EditUserStarSubscriptionInput, type EncryptedCredentials, type EncryptedPassportElement, type ExportChatInviteLinkInput, type ExternalReplyInfo, type File$1 as File, type ForceReply, type ForumTopic, type ForumTopicClosed, type ForumTopicCreated, type ForumTopicEdited, type ForumTopicReopened, type ForwardMessageInput, type ForwardMessagesInput, type Game, type GameHighScore, type GeneralForumTopicHidden, type GeneralForumTopicUnhidden, type GetAvailableGiftsInput, type GetBusinessConnectionInput, type GetChatAdministratorsInput, type GetChatInput, type GetChatMemberCountInput, type GetChatMemberInput, type GetChatMenuButtonInput, type GetCustomEmojiStickersInput, type GetFileInput, type GetForumTopicIconStickersInput, type GetGameHighScoresInput, type GetMeInput, type GetMyCommandsInput, type GetMyDefaultAdministratorRightsInput, type GetMyDescriptionInput, type GetMyNameInput, type GetMyShortDescriptionInput, type GetStarTransactionsInput, type GetStickerSetInput, type GetUpdatesInput, type GetUserChatBoostsInput, type GetUserProfilePhotosInput, type GetWebhookInfoInput, type Gift, type Gifts, type Giveaway, type GiveawayCompleted, type GiveawayCreated, type GiveawayWinners, type HandleBatchUpdateFunction, type HandleUpdateFunction, type HideGeneralForumTopicInput, type InaccessibleMessage, type InlineKeyboardButton, type InlineKeyboardMarkup, type InlineQuery, type InlineQueryResult, type InlineQueryResultArticle, type InlineQueryResultAudio, type InlineQueryResultCachedAudio, type InlineQueryResultCachedDocument, type InlineQueryResultCachedGif, type InlineQueryResultCachedMpeg4Gif, type InlineQueryResultCachedPhoto, type InlineQueryResultCachedSticker, type InlineQueryResultCachedVideo, type InlineQueryResultCachedVoice, type InlineQueryResultContact, type InlineQueryResultDocument, type InlineQueryResultGame, type InlineQueryResultGif, type InlineQueryResultLocation, type InlineQueryResultMpeg4Gif, type InlineQueryResultPhoto, type InlineQueryResultVenue, type InlineQueryResultVideo, type InlineQueryResultVoice, type InlineQueryResultsButton, type InputContactMessageContent, type InputFile, type InputInvoiceMessageContent, type InputLocationMessageContent, type InputMedia, type InputMediaAnimation, type InputMediaAudio, type InputMediaDocument, type InputMediaPhoto, type InputMediaVideo, type InputMessageContent, type InputPaidMedia, type InputPaidMediaPhoto, type InputPaidMediaVideo, type InputPollOption, type InputSticker, type InputTextMessageContent, type InputVenueMessageContent, type Invoice, type KeyboardButton, type KeyboardButtonPollType, type KeyboardButtonRequestChat, type KeyboardButtonRequestUsers, type LabeledPrice, type LeaveChatInput, type LinkPreviewOptions, type Location, type LogOutInput, type LoginUrl, MESSAGE_EFFECTS, type MaskPosition, type MaybeInaccessibleMessage, type MenuButton, type MenuButtonCommands, type MenuButtonDefault, type MenuButtonWebApp, type Message, type MessageAutoDeleteTimerChanged, type MessageEffect, type MessageEntity, type MessageId, type MessageOrigin, type MessageOriginChannel, type MessageOriginChat, type MessageOriginHiddenUser, type MessageOriginUser, type MessageReactionCountUpdated, type MessageReactionUpdated, type OrderInfo, type PaidMedia, type PaidMediaInfo, type PaidMediaPhoto, type PaidMediaPreview, type PaidMediaPurchased, type PaidMediaVideo, type PassportData, type PassportElementError, type PassportElementErrorDataField, type PassportElementErrorFile, type PassportElementErrorFiles, type PassportElementErrorFrontSide, type PassportElementErrorReverseSide, type PassportElementErrorSelfie, type PassportElementErrorTranslationFile, type PassportElementErrorTranslationFiles, type PassportElementErrorUnspecified, type PassportFile, type PhotoSize, type PinChatMessageInput, type Poll, type PollAnswer, type PollOption, type PreCheckoutQuery, type PreparedInlineMessage, type PromoteChatMemberInput, type ProximityAlertTriggered, type ReactionCount, type ReactionType, type ReactionTypeCustomEmoji, type ReactionTypeEmoji, type ReactionTypePaid, type RefundStarPaymentInput, type RefundedPayment, type RemoveChatVerificationInput, type RemoveUserVerificationInput, type ReopenForumTopicInput, type ReopenGeneralForumTopicInput, type ReplaceStickerInSetInput, type ReplyKeyboardMarkup, type ReplyKeyboardRemove, type ReplyParameters, type ResponseParameters, type RestrictChatMemberInput, type RevenueWithdrawalState, type RevenueWithdrawalStateFailed, type RevenueWithdrawalStatePending, type RevenueWithdrawalStateSucceeded, type RevokeChatInviteLinkInput, type SavePreparedInlineMessageInput, type SendAnimationInput, type SendAudioInput, type SendChatActionInput, type SendContactInput, type SendDiceInput, type SendDocumentInput, type SendGameInput, type SendGiftInput, type SendInvoiceInput, type SendLocationInput, type SendMediaGroupInput, type SendMessageInput, type SendPaidMediaInput, type SendPhotoInput, type SendPollInput, type SendStickerInput, type SendVenueInput, type SendVideoInput, type SendVideoNoteInput, type SendVoiceInput, type SentWebAppMessage, type SetChatAdministratorCustomTitleInput, type SetChatDescriptionInput, type SetChatMenuButtonInput, type SetChatPermissionsInput, type SetChatPhotoInput, type SetChatStickerSetInput, type SetChatTitleInput, type SetCustomEmojiStickerSetThumbnailInput, type SetGameScoreInput, type SetMessageReactionInput, type SetMyCommandsInput, type SetMyDefaultAdministratorRightsInput, type SetMyDescriptionInput, type SetMyNameInput, type SetMyShortDescriptionInput, type SetPassportDataErrorsInput, type SetStickerEmojiListInput, type SetStickerKeywordsInput, type SetStickerMaskPositionInput, type SetStickerPositionInSetInput, type SetStickerSetThumbnailInput, type SetStickerSetTitleInput, type SetUserEmojiStatusInput, type SetWebhookInput, type SharedUser, type ShippingAddress, type ShippingOption, type ShippingQuery, type StarTransaction, type StarTransactions, type Sticker, type StickerSet, type StopMessageLiveLocationInput, type StopPollInput, type Story, type SuccessfulPayment, type SwitchInlineQueryChosenChat, type TextQuote, type TgBotClient, type TransactionPartner, type TransactionPartnerAffiliateProgram, type TransactionPartnerChat, type TransactionPartnerFragment, type TransactionPartnerOther, type TransactionPartnerTelegramAds, type TransactionPartnerTelegramApi, type TransactionPartnerUser, type UnbanChatMemberInput, type UnbanChatSenderChatInput, type UnhideGeneralForumTopicInput, type UnpinAllChatMessagesInput, type UnpinAllForumTopicMessagesInput, type UnpinAllGeneralForumTopicMessagesInput, type UnpinChatMessageInput, type Update, type UploadStickerFileInput, type User, type UserChatBoosts, type UserProfilePhotos, type UsersShared, type Venue, type VerifyChatInput, type VerifyUserInput, type Video, type VideoChatEnded, type VideoChatParticipantsInvited, type VideoChatScheduled, type VideoChatStarted, type VideoNote, type Voice, type WebAppData, type WebAppInfo, type WebhookInfo, type WriteAccessAllowed, defaultBaseUrl, defineBot, isMessageEffect, launchBot, makeTgBotClient, messageEffectIdCodes, runTgChatBot };
3267
+ export { type Accelerometer, type AccelerometerStartParams, type AddStickerToSetInput, type AffiliateInfo, type Animation, type AnswerCallbackQueryInput, type AnswerInlineQueryInput, type AnswerPreCheckoutQueryInput, type AnswerShippingQueryInput, type AnswerWebAppQueryInput, type Api, type ApproveChatJoinRequestInput, type Audio, type AvailableUpdateTypes, type BackButton, type BackgroundFill, type BackgroundFillFreeformGradient, type BackgroundFillGradient, type BackgroundFillSolid, type BackgroundType, type BackgroundTypeChatTheme, type BackgroundTypeFill, type BackgroundTypePattern, type BackgroundTypeWallpaper, type BanChatMemberInput, type BanChatSenderChatInput, type BiometricAuthenticateParams, type BiometricManager, type BiometricRequestAccessParams, type Birthdate, type BotBatchMode, type BotCommand, type BotCommandScope, type BotCommandScopeAllChatAdministrators, type BotCommandScopeAllGroupChats, type BotCommandScopeAllPrivateChats, type BotCommandScopeChat, type BotCommandScopeChatAdministrators, type BotCommandScopeChatMember, type BotCommandScopeDefault, type BotDescription, type BotInstance, type BotMode, type BotName, BotResponse, BotRunService, type BotShortDescription, type BotSingleMode, BotUpdateHandlersTag, type BotUpdatesHandlers, type BottomButton, type BusinessConnection, type BusinessIntro, type BusinessLocation, type BusinessMessagesDeleted, type BusinessOpeningHours, type BusinessOpeningHoursInterval, type CallbackGame, type CallbackQuery, type Chat, type ChatAdministratorRights, type ChatBackground, type ChatBoost, type ChatBoostAdded, type ChatBoostRemoved, type ChatBoostSource, type ChatBoostSourceGiftCode, type ChatBoostSourceGiveaway, type ChatBoostSourcePremium, type ChatBoostUpdated, type ChatFullInfo, type ChatInviteLink, type ChatJoinRequest, type ChatLocation, type ChatMember, type ChatMemberAdministrator, type ChatMemberBanned, type ChatMemberLeft, type ChatMemberMember, type ChatMemberOwner, type ChatMemberRestricted, type ChatMemberUpdated, type ChatPermissions, type ChatPhoto, type ChatShared, type ChosenInlineResult, type CloseForumTopicInput, type CloseGeneralForumTopicInput, type CloseInput, type CloudStorage, type Contact, type ContentSafeAreaInset, type CopyMessageInput, type CopyMessagesInput, type CopyTextButton, type CreateChatInviteLinkInput, type CreateChatSubscriptionInviteLinkInput, type CreateForumTopicInput, type CreateInvoiceLinkInput, type CreateNewStickerSetInput, type DeclineChatJoinRequestInput, type DeleteChatPhotoInput, type DeleteChatStickerSetInput, type DeleteForumTopicInput, type DeleteMessageInput, type DeleteMessagesInput, type DeleteMyCommandsInput, type DeleteStickerFromSetInput, type DeleteStickerSetInput, type DeleteWebhookInput, type DeviceOrientation, type DeviceOrientationStartParams, type Dice, type Document, type DownloadFileParams, type EditChatInviteLinkInput, type EditChatSubscriptionInviteLinkInput, type EditForumTopicInput, type EditGeneralForumTopicInput, type EditMessageCaptionInput, type EditMessageLiveLocationInput, type EditMessageMediaInput, type EditMessageReplyMarkupInput, type EditMessageTextInput, type EditUserStarSubscriptionInput, type EmojiStatusParams, type EncryptedCredentials, type EncryptedPassportElement, type ExportChatInviteLinkInput, type ExternalReplyInfo, type File$1 as File, type ForceReply, type ForumTopic, type ForumTopicClosed, type ForumTopicCreated, type ForumTopicEdited, type ForumTopicReopened, type ForwardMessageInput, type ForwardMessagesInput, type Game, type GameHighScore, type GeneralForumTopicHidden, type GeneralForumTopicUnhidden, type GetAvailableGiftsInput, type GetBusinessConnectionInput, type GetChatAdministratorsInput, type GetChatInput, type GetChatMemberCountInput, type GetChatMemberInput, type GetChatMenuButtonInput, type GetCustomEmojiStickersInput, type GetFileInput, type GetForumTopicIconStickersInput, type GetGameHighScoresInput, type GetMeInput, type GetMyCommandsInput, type GetMyDefaultAdministratorRightsInput, type GetMyDescriptionInput, type GetMyNameInput, type GetMyShortDescriptionInput, type GetStarTransactionsInput, type GetStickerSetInput, type GetUpdatesInput, type GetUserChatBoostsInput, type GetUserProfilePhotosInput, type GetWebhookInfoInput, type Gift, type Gifts, type Giveaway, type GiveawayCompleted, type GiveawayCreated, type GiveawayWinners, type Gyroscope, type GyroscopeStartParams, type HandleBatchUpdateFunction, type HandleUpdateFunction, type HapticFeedback, type HideGeneralForumTopicInput, type InaccessibleMessage, type InlineKeyboardButton, type InlineKeyboardMarkup, type InlineQuery, type InlineQueryResult, type InlineQueryResultArticle, type InlineQueryResultAudio, type InlineQueryResultCachedAudio, type InlineQueryResultCachedDocument, type InlineQueryResultCachedGif, type InlineQueryResultCachedMpeg4Gif, type InlineQueryResultCachedPhoto, type InlineQueryResultCachedSticker, type InlineQueryResultCachedVideo, type InlineQueryResultCachedVoice, type InlineQueryResultContact, type InlineQueryResultDocument, type InlineQueryResultGame, type InlineQueryResultGif, type InlineQueryResultLocation, type InlineQueryResultMpeg4Gif, type InlineQueryResultPhoto, type InlineQueryResultVenue, type InlineQueryResultVideo, type InlineQueryResultVoice, type InlineQueryResultsButton, type InputContactMessageContent, type InputFile, type InputInvoiceMessageContent, type InputLocationMessageContent, type InputMedia, type InputMediaAnimation, type InputMediaAudio, type InputMediaDocument, type InputMediaPhoto, type InputMediaVideo, type InputMessageContent, type InputPaidMedia, type InputPaidMediaPhoto, type InputPaidMediaVideo, type InputPollOption, type InputSticker, type InputTextMessageContent, type InputVenueMessageContent, type Invoice, type KeyboardButton, type KeyboardButtonPollType, type KeyboardButtonRequestChat, type KeyboardButtonRequestUsers, type LabeledPrice, type LeaveChatInput, type LinkPreviewOptions, type Location, type LocationData, type LocationManager, type LogOutInput, type LoginUrl, MESSAGE_EFFECTS, type MaskPosition, type MaybeInaccessibleMessage, type MenuButton, type MenuButtonCommands, type MenuButtonDefault, type MenuButtonWebApp, type Message, type MessageAutoDeleteTimerChanged, type MessageEffect, type MessageEntity, type MessageId, type MessageOrigin, type MessageOriginChannel, type MessageOriginChat, type MessageOriginHiddenUser, type MessageOriginUser, type MessageReactionCountUpdated, type MessageReactionUpdated, type OrderInfo, type PaidMedia, type PaidMediaInfo, type PaidMediaPhoto, type PaidMediaPreview, type PaidMediaPurchased, type PaidMediaVideo, type PassportData, type PassportElementError, type PassportElementErrorDataField, type PassportElementErrorFile, type PassportElementErrorFiles, type PassportElementErrorFrontSide, type PassportElementErrorReverseSide, type PassportElementErrorSelfie, type PassportElementErrorTranslationFile, type PassportElementErrorTranslationFiles, type PassportElementErrorUnspecified, type PassportFile, type PhotoSize, type PinChatMessageInput, type Poll, type PollAnswer, type PollOption, type PopupButton, type PopupParams, type PreCheckoutQuery, type PreparedInlineMessage, type PromoteChatMemberInput, type ProximityAlertTriggered, type ReactionCount, type ReactionType, type ReactionTypeCustomEmoji, type ReactionTypeEmoji, type ReactionTypePaid, type RefundStarPaymentInput, type RefundedPayment, type RemoveChatVerificationInput, type RemoveUserVerificationInput, type ReopenForumTopicInput, type ReopenGeneralForumTopicInput, type ReplaceStickerInSetInput, type ReplyKeyboardMarkup, type ReplyKeyboardRemove, type ReplyParameters, type ResponseParameters, type RestrictChatMemberInput, type RevenueWithdrawalState, type RevenueWithdrawalStateFailed, type RevenueWithdrawalStatePending, type RevenueWithdrawalStateSucceeded, type RevokeChatInviteLinkInput, type SafeAreaInset, type SavePreparedInlineMessageInput, type ScanQrPopupParams, type SendAnimationInput, type SendAudioInput, type SendChatActionInput, type SendContactInput, type SendDiceInput, type SendDocumentInput, type SendGameInput, type SendGiftInput, type SendInvoiceInput, type SendLocationInput, type SendMediaGroupInput, type SendMessageInput, type SendPaidMediaInput, type SendPhotoInput, type SendPollInput, type SendStickerInput, type SendVenueInput, type SendVideoInput, type SendVideoNoteInput, type SendVoiceInput, type SentWebAppMessage, type SetChatAdministratorCustomTitleInput, type SetChatDescriptionInput, type SetChatMenuButtonInput, type SetChatPermissionsInput, type SetChatPhotoInput, type SetChatStickerSetInput, type SetChatTitleInput, type SetCustomEmojiStickerSetThumbnailInput, type SetGameScoreInput, type SetMessageReactionInput, type SetMyCommandsInput, type SetMyDefaultAdministratorRightsInput, type SetMyDescriptionInput, type SetMyNameInput, type SetMyShortDescriptionInput, type SetPassportDataErrorsInput, type SetStickerEmojiListInput, type SetStickerKeywordsInput, type SetStickerMaskPositionInput, type SetStickerPositionInSetInput, type SetStickerSetThumbnailInput, type SetStickerSetTitleInput, type SetUserEmojiStatusInput, type SetWebhookInput, type SettingsButton, type SharedUser, type ShippingAddress, type ShippingOption, type ShippingQuery, type StarTransaction, type StarTransactions, type Sticker, type StickerSet, type StopMessageLiveLocationInput, type StopPollInput, type Story, type StoryShareParams, type StoryWidgetLink, type SuccessfulPayment, type SwitchInlineQueryChosenChat, type TextQuote, type TgBotClient, type TgWebApp, type ThemeParams, type TransactionPartner, type TransactionPartnerAffiliateProgram, type TransactionPartnerChat, type TransactionPartnerFragment, type TransactionPartnerOther, type TransactionPartnerTelegramAds, type TransactionPartnerTelegramApi, type TransactionPartnerUser, type UnbanChatMemberInput, type UnbanChatSenderChatInput, type UnhideGeneralForumTopicInput, type UnpinAllChatMessagesInput, type UnpinAllForumTopicMessagesInput, type UnpinAllGeneralForumTopicMessagesInput, type UnpinChatMessageInput, type Update, type UploadStickerFileInput, type User, type UserChatBoosts, type UserProfilePhotos, type UsersShared, type Venue, type VerifyChatInput, type VerifyUserInput, type Video, type VideoChatEnded, type VideoChatParticipantsInvited, type VideoChatScheduled, type VideoChatStarted, type VideoNote, type Voice, type WebAppChat, type WebAppData, type WebAppInfo, type WebAppInitData, type WebAppUser, type WebhookInfo, type WriteAccessAllowed, defaultBaseUrl, defineBot, isMessageEffect, launchBot, makeTgBotClient, messageEffectIdCodes, runTgChatBot };
package/dist/index.js CHANGED
@@ -1,22 +1,22 @@
1
- "use strict";var Ls=Object.create;var me=Object.defineProperty;var Hs=Object.getOwnPropertyDescriptor;var Bs=Object.getOwnPropertyNames;var qs=Object.getPrototypeOf,Ds=Object.prototype.hasOwnProperty;var js=(t,e)=>{for(var r in e)me(t,r,{get:e[r],enumerable:!0})},io=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Bs(e))!Ds.call(t,n)&&n!==r&&me(t,n,{get:()=>e[n],enumerable:!(o=Hs(e,n))||o.enumerable});return t};var Ws=(t,e,r)=>(r=t!=null?Ls(qs(t)):{},io(e||!t||!t.__esModule?me(r,"default",{value:t,enumerable:!0}):r,t)),Gs=t=>io(me({},"__esModule",{value:!0}),t);var ra={};js(ra,{BotResponse:()=>ue,BotRunService:()=>de,BotUpdateHandlersTag:()=>ft,MESSAGE_EFFECTS:()=>re,defaultBaseUrl:()=>Br,defineBot:()=>ta,isMessageEffect:()=>Vi,launchBot:()=>so,makeTgBotClient:()=>ea,messageEffectIdCodes:()=>$i,runTgChatBot:()=>Xc});module.exports=Gs(ra);var Qe=t=>typeof t=="function",u=function(t,e){if(typeof t=="function")return function(){return t(arguments)?e.apply(this,arguments):r=>e(r,...arguments)};switch(t){case 0:case 1:throw new RangeError(`Invalid arity ${t}`);case 2:return function(r,o){return arguments.length>=2?e(r,o):function(n){return e(n,r)}};case 3:return function(r,o,n){return arguments.length>=3?e(r,o,n):function(s){return e(s,r,o)}};case 4:return function(r,o,n,s){return arguments.length>=4?e(r,o,n,s):function(i){return e(i,r,o,n)}};case 5:return function(r,o,n,s,i){return arguments.length>=5?e(r,o,n,s,i):function(c){return e(c,r,o,n,s)}};default:return function(){if(arguments.length>=t)return e.apply(this,arguments);let r=arguments;return function(o){return e(o,...r)}}}};var R=t=>t;var Xe=t=>()=>t,xe=Xe(!0),tr=Xe(!1);var er=Xe(void 0),co=er;function b(t,e,r,o,n,s,i,c,a){switch(arguments.length){case 1:return t;case 2:return e(t);case 3:return r(e(t));case 4:return o(r(e(t)));case 5:return n(o(r(e(t))));case 6:return s(n(o(r(e(t)))));case 7:return i(s(n(o(r(e(t))))));case 8:return c(i(s(n(o(r(e(t)))))));case 9:return a(c(i(s(n(o(r(e(t))))))));default:{let p=arguments[0];for(let h=1;h<arguments.length;h++)p=arguments[h](p);return p}}}var ao=t=>(e,r)=>e===r||t(e,r);var $s="3.12.0",ge=()=>$s;var or=Symbol.for(`effect/GlobalValue/globalStoreId/${ge()}`);or in globalThis||(globalThis[or]=new Map);var rr=globalThis[or],B=(t,e)=>(rr.has(t)||rr.set(t,e()),rr.get(t));var zt=Qe;var Vs=t=>typeof t=="object"&&t!==null,nr=t=>Vs(t)||zt(t),_=u(2,(t,e)=>nr(t)&&e in t),sr=u(2,(t,e)=>_(t,"_tag")&&t._tag===e);var Jt=t=>`BUG: ${t} - please report an issue at https://github.com/Effect-TS/effect/issues`;var uo=Symbol.for("effect/Gen/GenKind");var lo=class{value;constructor(e){this.value=e}get _F(){return R}get _R(){return e=>e}get _O(){return e=>e}get _E(){return e=>e}[uo]=uo;[Symbol.iterator](){return new gt(this)}},gt=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var ir=Symbol.for("effect/Utils/YieldWrap"),z=class{#t;constructor(e){this.#t=e}[ir](){return this.#t}};function fo(t){if(typeof t=="object"&&t!==null&&ir in t)return t[ir]();throw new Error(Jt("yieldWrapGet"))}var N=B("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var la=function*(){}.constructor;var cr=B(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),f=Symbol.for("effect/Hash"),l=t=>{if(N.enabled===!0)return 0;switch(typeof t){case"number":return ye(t);case"bigint":return q(t.toString(10));case"boolean":return q(String(t));case"symbol":return q(String(t));case"string":return q(t);case"undefined":return q("undefined");case"function":case"object":return t===null?q("null"):t instanceof Date?l(t.toISOString()):Ys(t)?t[f]():It(t);default:throw new Error(`BUG: unhandled typeof ${typeof t} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},It=t=>(cr.has(t)||cr.set(t,ye(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))),cr.get(t)),M=t=>e=>e*53^t,_e=t=>t&3221225471|t>>>1&1073741824,Ys=t=>_(t,f),ye=t=>{if(t!==t||t===1/0)return 0;let e=t|0;for(e!==t&&(e^=t*4294967295);t>4294967295;)e^=t/=4294967295;return _e(e)},q=t=>{let e=5381,r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return _e(e)},Ks=(t,e)=>{let r=12289;for(let o=0;o<e.length;o++)r^=b(q(e[o]),M(l(t[e[o]])));return _e(r)},ho=t=>Ks(t,Object.keys(t)),Oe=t=>{let e=6151;for(let r=0;r<t.length;r++)e=b(e,M(l(t[r])));return _e(e)},S=function(){if(arguments.length===1){let r=arguments[0];return function(o){return Object.defineProperty(r,f,{value(){return o},enumerable:!1}),o}}let t=arguments[0],e=arguments[1];return Object.defineProperty(t,f,{value(){return e},enumerable:!1}),e};var m=Symbol.for("effect/Equal");function x(){return arguments.length===1?t=>Se(t,arguments[0]):Se(arguments[0],arguments[1])}function Se(t,e){if(t===e)return!0;let r=typeof t;if(r!==typeof e)return!1;if(r==="object"||r==="function"){if(t!==null&&e!==null){if(mo(t)&&mo(e))return l(t)===l(e)&&t[m](e)?!0:N.enabled&&N.tester?N.tester(t,e):!1;if(t instanceof Date&&e instanceof Date)return t.toISOString()===e.toISOString()}if(N.enabled){if(Array.isArray(t)&&Array.isArray(e))return t.length===e.length&&t.every((o,n)=>Se(o,e[n]));if(Object.getPrototypeOf(t)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let o=Object.keys(t),n=Object.keys(e);if(o.length===n.length){for(let s of o)if(!(s in e&&Se(t[s],e[s])))return N.tester?N.tester(t,e):!1;return!0}}return N.tester?N.tester(t,e):!1}}return N.enabled&&N.tester?N.tester(t,e):!1}var mo=t=>_(t,m);var y=Symbol.for("nodejs.util.inspect.custom"),O=t=>{try{if(_(t,"toJSON")&&zt(t.toJSON)&&t.toJSON.length===0)return t.toJSON();if(Array.isArray(t))return t.map(O)}catch{return{}}return Zs(t)},E=t=>JSON.stringify(t,null,2),Sa={toJSON(){return O(this)},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},xo=class{[y](){return this.toJSON()}toString(){return E(this.toJSON())}},go=(t,e=2)=>{if(typeof t=="string")return t;try{return typeof t=="object"?ar(t,e):String(t)}catch{return String(t)}},ar=(t,e)=>{let r=[],o=JSON.stringify(t,(n,s)=>typeof s=="object"&&s!==null?r.includes(s)?void 0:r.push(s)&&(be.fiberRefs!==void 0&&_o(s)?s[pr](be.fiberRefs):s):s,e);return r=void 0,o},pr=Symbol.for("effect/Inspectable/Redactable"),_o=t=>typeof t=="object"&&t!==null&&pr in t,be=B("effect/Inspectable/redactableState",()=>({fiberRefs:void 0}));var Zs=t=>_o(t)&&be.fiberRefs!==void 0?t[pr](be.fiberRefs):t;var C=(t,e)=>{switch(e.length){case 0:return t;case 1:return e[0](t);case 2:return e[1](e[0](t));case 3:return e[2](e[1](e[0](t)));case 4:return e[3](e[2](e[1](e[0](t))));case 5:return e[4](e[3](e[2](e[1](e[0](t)))));case 6:return e[5](e[4](e[3](e[2](e[1](e[0](t))))));case 7:return e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))));case 8:return e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t))))))));case 9:return e[8](e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))))));default:{let r=t;for(let o=0,n=e.length;o<n;o++)r=e[o](r);return r}}};var ur="Commit",yo="Failure";var Oo="WithRuntime";var bo=Symbol.for("effect/Effect"),Eo=Symbol.for("effect/Stream"),Co=Symbol.for("effect/Sink"),ko=Symbol.for("effect/Channel"),ct={_R:t=>t,_E:t=>t,_A:t=>t,_V:ge()},Qs={_A:t=>t,_In:t=>t,_L:t=>t,_E:t=>t,_R:t=>t},Xs={_Env:t=>t,_InErr:t=>t,_InElem:t=>t,_InDone:t=>t,_OutErr:t=>t,_OutElem:t=>t,_OutDone:t=>t},Z={[bo]:ct,[Eo]:ct,[Co]:Qs,[ko]:Xs,[m](t){return this===t},[f](){return S(this,It(this))},[Symbol.iterator](){return new gt(new z(this))},pipe(){return C(this,arguments)}},lr={[f](){return S(this,ho(this))},[m](t){let e=Object.keys(this),r=Object.keys(t);if(e.length!==r.length)return!1;for(let o of e)if(!(o in t&&x(this[o],t[o])))return!1;return!0}},fr={...Z,_op:ur},dr={...fr,...lr};var Io=Symbol.for("effect/Option"),vo={...Z,[Io]:{_A:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},ei=Object.assign(Object.create(vo),{_tag:"Some",_op:"Some",[m](t){return hr(t)&&xr(t)&&x(this.value,t.value)},[f](){return S(this,M(l(this._tag))(l(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:O(this.value)}}}),ri=l("None"),oi=Object.assign(Object.create(vo),{_tag:"None",_op:"None",[m](t){return hr(t)&&mr(t)},[f](){return ri},toJSON(){return{_id:"Option",_tag:this._tag}}}),hr=t=>_(t,Io),mr=t=>t._tag==="None",xr=t=>t._tag==="Some",Ao=Object.create(oi),Mo=t=>{let e=Object.create(ei);return e.value=t,e};var gr=Symbol.for("effect/Either"),wo={...Z,[gr]:{_R:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},si=Object.assign(Object.create(wo),{_tag:"Right",_op:"Right",[m](t){return _r(t)&&Ro(t)&&x(this.right,t.right)},[f](){return M(l(this._tag))(l(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:O(this.right)}}}),ii=Object.assign(Object.create(wo),{_tag:"Left",_op:"Left",[m](t){return _r(t)&&To(t)&&x(this.left,t.left)},[f](){return M(l(this._tag))(l(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:O(this.left)}}}),_r=t=>_(t,gr),To=t=>t._tag==="Left",Ro=t=>t._tag==="Right",Fo=t=>{let e=Object.create(ii);return e.left=t,e},Po=t=>{let e=Object.create(si);return e.right=t,e};var $t=Po,yr=Fo;var F=()=>Ao,Q=Mo;var U=mr,at=xr;var No=u(2,(t,e)=>U(t)?e():t.value);var Uo=No(er);var Yt=t=>Array.isArray(t)?t:Array.from(t);var Ha=Array.isArray;var Or=t=>Array.from(t).reverse();var Sr=u(3,(t,e,r)=>Yt(t).reduce((o,n,s)=>r(o,n,s),e));var Lo=Symbol.for("effect/Context/Tag"),Ee=Symbol.for("effect/Context/Reference"),pi="effect/STM",ui=Symbol.for(pi),Ho={...Z,_op:"Tag",[ui]:ct,[Lo]:{_Service:t=>t,_Identifier:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[y](){return this.toJSON()},of(t){return t},context(t){return kr(this,t)}},li={...Ho,[Ee]:Ee};var Bo=t=>()=>{let e=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=new Error;Error.stackTraceLimit=e;function o(){}return Object.setPrototypeOf(o,Ho),o.key=t,Object.defineProperty(o,"stack",{get(){return r.stack}}),o},qo=()=>(t,e)=>{let r=Error.stackTraceLimit;Error.stackTraceLimit=2;let o=new Error;Error.stackTraceLimit=r;function n(){}return Object.setPrototypeOf(n,li),n.key=t,n.defaultValue=e.defaultValue,Object.defineProperty(n,"stack",{get(){return o.stack}}),n},Cr=Symbol.for("effect/Context"),fi={[Cr]:{_Services:t=>t},[m](t){if(Do(t)&&this.unsafeMap.size===t.unsafeMap.size){for(let e of this.unsafeMap.keys())if(!t.unsafeMap.has(e)||!x(this.unsafeMap.get(e),t.unsafeMap.get(e)))return!1;return!0}return!1},[f](){return S(this,ye(this.unsafeMap.size))},pipe(){return C(this,arguments)},toString(){return E(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(O)}},[y](){return this.toJSON()}},Ce=t=>{let e=Object.create(fi);return e.unsafeMap=t,e},di=t=>{let e=new Error(`Service not found${t.key?`: ${String(t.key)}`:""}`);if(t.stack){let r=t.stack.split(`
1
+ "use strict";var Us=Object.create;var ge=Object.defineProperty;var Ls=Object.getOwnPropertyDescriptor;var Hs=Object.getOwnPropertyNames;var Bs=Object.getPrototypeOf,qs=Object.prototype.hasOwnProperty;var Ds=(t,e)=>{for(var r in e)ge(t,r,{get:e[r],enumerable:!0})},io=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Hs(e))!qs.call(t,n)&&n!==r&&ge(t,n,{get:()=>e[n],enumerable:!(o=Ls(e,n))||o.enumerable});return t};var js=(t,e,r)=>(r=t!=null?Us(Bs(t)):{},io(e||!t||!t.__esModule?ge(r,"default",{value:t,enumerable:!0}):r,t)),Ws=t=>io(ge({},"__esModule",{value:!0}),t);var ea={};Ds(ea,{BotResponse:()=>fe,BotRunService:()=>me,BotUpdateHandlersTag:()=>dt,MESSAGE_EFFECTS:()=>ne,defaultBaseUrl:()=>Br,defineBot:()=>Xc,isMessageEffect:()=>$i,launchBot:()=>so,makeTgBotClient:()=>ta,messageEffectIdCodes:()=>Ji,runTgChatBot:()=>Qc});module.exports=Ws(ea);var tr=t=>typeof t=="function",u=function(t,e){if(typeof t=="function")return function(){return t(arguments)?e.apply(this,arguments):r=>e(r,...arguments)};switch(t){case 0:case 1:throw new RangeError(`Invalid arity ${t}`);case 2:return function(r,o){return arguments.length>=2?e(r,o):function(n){return e(n,r)}};case 3:return function(r,o,n){return arguments.length>=3?e(r,o,n):function(s){return e(s,r,o)}};case 4:return function(r,o,n,s){return arguments.length>=4?e(r,o,n,s):function(i){return e(i,r,o,n)}};case 5:return function(r,o,n,s,i){return arguments.length>=5?e(r,o,n,s,i):function(c){return e(c,r,o,n,s)}};default:return function(){if(arguments.length>=t)return e.apply(this,arguments);let r=arguments;return function(o){return e(o,...r)}}}};var T=t=>t;var er=t=>()=>t,_e=er(!0),rr=er(!1);var or=er(void 0),co=or;function b(t,e,r,o,n,s,i,c,a){switch(arguments.length){case 1:return t;case 2:return e(t);case 3:return r(e(t));case 4:return o(r(e(t)));case 5:return n(o(r(e(t))));case 6:return s(n(o(r(e(t)))));case 7:return i(s(n(o(r(e(t))))));case 8:return c(i(s(n(o(r(e(t)))))));case 9:return a(c(i(s(n(o(r(e(t))))))));default:{let p=arguments[0];for(let h=1;h<arguments.length;h++)p=arguments[h](p);return p}}}var ao=t=>(e,r)=>e===r||t(e,r);var Js="3.14.7",ye=()=>Js;var uo=`effect/GlobalValue/globalStoreId/${ye()}`,Jt,B=(t,e)=>(Jt||(globalThis[uo]??=new Map,Jt=globalThis[uo]),Jt.has(t)||Jt.set(t,e()),Jt.get(t));var $t=tr;var $s=t=>typeof t=="object"&&t!==null,nr=t=>$s(t)||$t(t),_=u(2,(t,e)=>nr(t)&&e in t),sr=u(2,(t,e)=>_(t,"_tag")&&t._tag===e);var Vt=t=>`BUG: ${t} - please report an issue at https://github.com/Effect-TS/effect/issues`;var lo=Symbol.for("effect/Gen/GenKind");var fo=class{value;constructor(e){this.value=e}get _F(){return T}get _R(){return e=>e}get _O(){return e=>e}get _E(){return e=>e}[lo]=lo;[Symbol.iterator](){return new _t(this)}},_t=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var ir=Symbol.for("effect/Utils/YieldWrap"),z=class{#t;constructor(e){this.#t=e}[ir](){return this.#t}};function ho(t){if(typeof t=="object"&&t!==null&&ir in t)return t[ir]();throw new Error(Vt("yieldWrapGet"))}var N=B("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var ua=function*(){}.constructor;var cr=B(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),f=Symbol.for("effect/Hash"),l=t=>{if(N.enabled===!0)return 0;switch(typeof t){case"number":return Se(t);case"bigint":return q(t.toString(10));case"boolean":return q(String(t));case"symbol":return q(String(t));case"string":return q(t);case"undefined":return q("undefined");case"function":case"object":return t===null?q("null"):t instanceof Date?l(t.toISOString()):t instanceof URL?l(t.href):Vs(t)?t[f]():It(t);default:throw new Error(`BUG: unhandled typeof ${typeof t} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},It=t=>(cr.has(t)||cr.set(t,Se(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))),cr.get(t)),v=t=>e=>e*53^t,Oe=t=>t&3221225471|t>>>1&1073741824,Vs=t=>_(t,f),Se=t=>{if(t!==t||t===1/0)return 0;let e=t|0;for(e!==t&&(e^=t*4294967295);t>4294967295;)e^=t/=4294967295;return Oe(e)},q=t=>{let e=5381,r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return Oe(e)},Ys=(t,e)=>{let r=12289;for(let o=0;o<e.length;o++)r^=b(q(e[o]),v(l(t[e[o]])));return Oe(r)},mo=t=>Ys(t,Object.keys(t)),be=t=>{let e=6151;for(let r=0;r<t.length;r++)e=b(e,v(l(t[r])));return Oe(e)},S=function(){if(arguments.length===1){let r=arguments[0];return function(o){return Object.defineProperty(r,f,{value(){return o},enumerable:!1}),o}}let t=arguments[0],e=arguments[1];return Object.defineProperty(t,f,{value(){return e},enumerable:!1}),e};var m=Symbol.for("effect/Equal");function x(){return arguments.length===1?t=>Ee(t,arguments[0]):Ee(arguments[0],arguments[1])}function Ee(t,e){if(t===e)return!0;let r=typeof t;if(r!==typeof e)return!1;if(r==="object"||r==="function"){if(t!==null&&e!==null){if(xo(t)&&xo(e))return l(t)===l(e)&&t[m](e)?!0:N.enabled&&N.tester?N.tester(t,e):!1;if(t instanceof Date&&e instanceof Date)return t.toISOString()===e.toISOString();if(t instanceof URL&&e instanceof URL)return t.href===e.href}if(N.enabled){if(Array.isArray(t)&&Array.isArray(e))return t.length===e.length&&t.every((o,n)=>Ee(o,e[n]));if(Object.getPrototypeOf(t)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let o=Object.keys(t),n=Object.keys(e);if(o.length===n.length){for(let s of o)if(!(s in e&&Ee(t[s],e[s])))return N.tester?N.tester(t,e):!1;return!0}}return N.tester?N.tester(t,e):!1}}return N.enabled&&N.tester?N.tester(t,e):!1}var xo=t=>_(t,m);var y=Symbol.for("nodejs.util.inspect.custom"),O=t=>{try{if(_(t,"toJSON")&&$t(t.toJSON)&&t.toJSON.length===0)return t.toJSON();if(Array.isArray(t))return t.map(O)}catch{return{}}return Ks(t)},E=t=>JSON.stringify(t,null,2),Oa={toJSON(){return O(this)},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},go=class{[y](){return this.toJSON()}toString(){return E(this.toJSON())}},_o=(t,e=2)=>{if(typeof t=="string")return t;try{return typeof t=="object"?ar(t,e):String(t)}catch{return String(t)}},ar=(t,e)=>{let r=[],o=JSON.stringify(t,(n,s)=>typeof s=="object"&&s!==null?r.includes(s)?void 0:r.push(s)&&(Ce.fiberRefs!==void 0&&yo(s)?s[pr](Ce.fiberRefs):s):s,e);return r=void 0,o},pr=Symbol.for("effect/Inspectable/Redactable"),yo=t=>typeof t=="object"&&t!==null&&pr in t,Ce=B("effect/Inspectable/redactableState",()=>({fiberRefs:void 0}));var Ks=t=>yo(t)&&Ce.fiberRefs!==void 0?t[pr](Ce.fiberRefs):t;var C=(t,e)=>{switch(e.length){case 0:return t;case 1:return e[0](t);case 2:return e[1](e[0](t));case 3:return e[2](e[1](e[0](t)));case 4:return e[3](e[2](e[1](e[0](t))));case 5:return e[4](e[3](e[2](e[1](e[0](t)))));case 6:return e[5](e[4](e[3](e[2](e[1](e[0](t))))));case 7:return e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))));case 8:return e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t))))))));case 9:return e[8](e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))))));default:{let r=t;for(let o=0,n=e.length;o<n;o++)r=e[o](r);return r}}};var ur="Commit",Oo="Failure";var So="WithRuntime";var Eo=Symbol.for("effect/Effect"),Co=Symbol.for("effect/Stream"),ko=Symbol.for("effect/Sink"),Io=Symbol.for("effect/Channel"),ct={_R:t=>t,_E:t=>t,_A:t=>t,_V:ye()},Zs={_A:t=>t,_In:t=>t,_L:t=>t,_E:t=>t,_R:t=>t},Qs={_Env:t=>t,_InErr:t=>t,_InElem:t=>t,_InDone:t=>t,_OutErr:t=>t,_OutElem:t=>t,_OutDone:t=>t},Z={[Eo]:ct,[Co]:ct,[ko]:Zs,[Io]:Qs,[m](t){return this===t},[f](){return S(this,It(this))},[Symbol.iterator](){return new _t(new z(this))},pipe(){return C(this,arguments)}},lr={[f](){return S(this,mo(this))},[m](t){let e=Object.keys(this),r=Object.keys(t);if(e.length!==r.length)return!1;for(let o of e)if(!(o in t&&x(this[o],t[o])))return!1;return!0}},fr={...Z,_op:ur},dr={...fr,...lr};var Ao=Symbol.for("effect/Option"),Mo={...Z,[Ao]:{_A:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},ti=Object.assign(Object.create(Mo),{_tag:"Some",_op:"Some",[m](t){return hr(t)&&xr(t)&&x(this.value,t.value)},[f](){return S(this,v(l(this._tag))(l(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:O(this.value)}}}),ei=l("None"),ri=Object.assign(Object.create(Mo),{_tag:"None",_op:"None",[m](t){return hr(t)&&mr(t)},[f](){return ei},toJSON(){return{_id:"Option",_tag:this._tag}}}),hr=t=>_(t,Ao),mr=t=>t._tag==="None",xr=t=>t._tag==="Some",vo=Object.create(ri),wo=t=>{let e=Object.create(ti);return e.value=t,e};var gr=Symbol.for("effect/Either"),To={...Z,[gr]:{_R:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},ni=Object.assign(Object.create(To),{_tag:"Right",_op:"Right",[m](t){return _r(t)&&Fo(t)&&x(this.right,t.right)},[f](){return v(l(this._tag))(l(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:O(this.right)}}}),si=Object.assign(Object.create(To),{_tag:"Left",_op:"Left",[m](t){return _r(t)&&Ro(t)&&x(this.left,t.left)},[f](){return v(l(this._tag))(l(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:O(this.left)}}}),_r=t=>_(t,gr),Ro=t=>t._tag==="Left",Fo=t=>t._tag==="Right",Po=t=>{let e=Object.create(si);return e.left=t,e},No=t=>{let e=Object.create(ni);return e.right=t,e};var Yt=No;var yr=Po;var R=()=>vo,Q=wo;var U=mr,at=xr;var Uo=u(2,(t,e)=>U(t)?e():t.value);var Lo=Uo(or);var Zt=t=>Array.isArray(t)?t:Array.from(t);var La=Array.isArray;var Or=t=>Array.from(t).reverse();var Sr=u(3,(t,e,r)=>Zt(t).reduce((o,n,s)=>r(o,n,s),e));var Ho=Symbol.for("effect/Context/Tag"),ke=Symbol.for("effect/Context/Reference"),ai="effect/STM",pi=Symbol.for(ai),Bo={...Z,_op:"Tag",[pi]:ct,[Ho]:{_Service:t=>t,_Identifier:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[y](){return this.toJSON()},of(t){return t},context(t){return kr(this,t)}},ui={...Bo,[ke]:ke};var qo=t=>()=>{let e=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=new Error;Error.stackTraceLimit=e;function o(){}return Object.setPrototypeOf(o,Bo),o.key=t,Object.defineProperty(o,"stack",{get(){return r.stack}}),o},Do=()=>(t,e)=>{let r=Error.stackTraceLimit;Error.stackTraceLimit=2;let o=new Error;Error.stackTraceLimit=r;function n(){}return Object.setPrototypeOf(n,ui),n.key=t,n.defaultValue=e.defaultValue,Object.defineProperty(n,"stack",{get(){return o.stack}}),n},Cr=Symbol.for("effect/Context"),li={[Cr]:{_Services:t=>t},[m](t){if(jo(t)&&this.unsafeMap.size===t.unsafeMap.size){for(let e of this.unsafeMap.keys())if(!t.unsafeMap.has(e)||!x(this.unsafeMap.get(e),t.unsafeMap.get(e)))return!1;return!0}return!1},[f](){return S(this,Se(this.unsafeMap.size))},pipe(){return C(this,arguments)},toString(){return E(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(O)}},[y](){return this.toJSON()}},Ie=t=>{let e=Object.create(li);return e.unsafeMap=t,e},fi=t=>{let e=new Error(`Service not found${t.key?`: ${String(t.key)}`:""}`);if(t.stack){let r=t.stack.split(`
2
2
  `);if(r.length>2){let o=r[2].match(/at (.*)/);o&&(e.message=e.message+` (defined at ${o[1]})`)}}if(e.stack){let r=e.stack.split(`
3
3
  `);r.splice(1,3),e.stack=r.join(`
4
- `)}return e},Do=t=>_(t,Cr);var kr=(t,e)=>Ce(new Map([[t.key,e]])),jo=u(3,(t,e,r)=>{let o=new Map(t.unsafeMap);return o.set(e.key,r),Ce(o)}),Er=B("effect/Context/defaultValueCache",()=>new Map),Wo=t=>{if(Er.has(t.key))return Er.get(t.key);let e=t.defaultValue();return Er.set(t.key,e),e},Go=(t,e)=>t.unsafeMap.has(e.key)?t.unsafeMap.get(e.key):Wo(e),zo=u(2,(t,e)=>{if(!t.unsafeMap.has(e.key)){if(Ee in e)return Wo(e);throw di(e)}return t.unsafeMap.get(e.key)});var Jo=u(2,(t,e)=>{let r=new Map(t.unsafeMap);for(let[o,n]of e.unsafeMap)r.set(o,n);return Ce(r)});var Vo=kr,Yo=jo;var Ko=zo;var Zo=Jo;var vt=Bo,J=qo;var Qo=Z;var on=Symbol.for("effect/Micro"),ke=Symbol.for("effect/Micro/MicroExit"),Kt=t=>typeof t=="object"&&t!==null&&on in t,Xo=Symbol.for("effect/Micro/MicroCause");var mi={_E:R},Zt=class extends globalThis.Error{_tag;traces;[Xo];constructor(e,r,o){let n=`MicroCause.${e}`,s,i,c;if(r instanceof globalThis.Error){s=`(${n}) ${r.name}`,i=r.message;let a=i.split(`
4
+ `)}return e},jo=t=>_(t,Cr);var kr=(t,e)=>Ie(new Map([[t.key,e]])),Wo=u(3,(t,e,r)=>{let o=new Map(t.unsafeMap);return o.set(e.key,r),Ie(o)}),Er=B("effect/Context/defaultValueCache",()=>new Map),Go=t=>{if(Er.has(t.key))return Er.get(t.key);let e=t.defaultValue();return Er.set(t.key,e),e},zo=(t,e)=>t.unsafeMap.has(e.key)?t.unsafeMap.get(e.key):Go(e),Jo=u(2,(t,e)=>{if(!t.unsafeMap.has(e.key)){if(ke in e)return Go(e);throw fi(e)}return t.unsafeMap.get(e.key)});var $o=u(2,(t,e)=>{let r=new Map(t.unsafeMap);for(let[o,n]of e.unsafeMap)r.set(o,n);return Ie(r)});var Yo=kr,Ko=Wo;var Zo=Jo;var Qo=$o;var At=qo,J=Do;var Xo=Z;var nn=Symbol.for("effect/Micro"),Ae=Symbol.for("effect/Micro/MicroExit"),Qt=t=>typeof t=="object"&&t!==null&&nn in t,tn=Symbol.for("effect/Micro/MicroCause");var hi={_E:T},Xt=class extends globalThis.Error{_tag;traces;[tn];constructor(e,r,o){let n=`MicroCause.${e}`,s,i,c;if(r instanceof globalThis.Error){s=`(${n}) ${r.name}`,i=r.message;let a=i.split(`
5
5
  `).length;c=r.stack?`(${n}) ${r.stack.split(`
6
6
  `).slice(0,a+3).join(`
7
- `)}`:`${s}: ${i}`}else s=n,i=go(r,0),c=`${s}: ${i}`;o.length>0&&(c+=`
7
+ `)}`:`${s}: ${i}`}else s=n,i=_o(r,0),c=`${s}: ${i}`;o.length>0&&(c+=`
8
8
  ${o.join(`
9
- `)}`),super(i),this._tag=e,this.traces=o,this[Xo]=mi,this.name=s,this.stack=c}pipe(){return C(this,arguments)}toString(){return this.stack}[y](){return this.stack}},vr=class extends Zt{error;constructor(e,r=[]){super("Fail",e,r),this.error=e}},xi=(t,e=[])=>new vr(t,e),Ar=class extends Zt{defect;constructor(e,r=[]){super("Die",e,r),this.defect=e}},gi=(t,e=[])=>new Ar(t,e),Mr=class extends Zt{constructor(e=[]){super("Interrupt","interrupted",e)}},_i=(t=[])=>new Mr(t),yi=t=>t._tag==="Fail";var nn=t=>t._tag==="Interrupt";var tn=Symbol.for("effect/Micro/MicroFiber"),Oi={_A:R,_E:R},Ie=class{context;interruptible;[tn];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(e,r=!0){this.context=e,this.interruptible=r,this[tn]=Oi}getRef(e){return Go(this.context,e)}addObserver(e){return this._exit?(e(this._exit),co):(this._observers.push(e),()=>{let r=this._observers.indexOf(e);r>=0&&this._observers.splice(r,1)})}_interrupted=!1;unsafeInterrupt(){this._exit||(this._interrupted=!0,this.interruptible&&this.evaluate(Nr))}unsafePoll(){return this._exit}evaluate(e){if(this._exit)return;if(this._yielded!==void 0){let n=this._yielded;this._yielded=void 0,n()}let r=this.runLoop(e);if(r===At)return;let o=en.interruptChildren&&en.interruptChildren(this);if(o!==void 0)return this.evaluate(L(o,()=>r));this._exit=r;for(let n=0;n<this._observers.length;n++)this._observers[n](r);this._observers.length=0}runLoop(e){let r=!1,o=e;this.currentOpCount=0;try{for(;;){if(this.currentOpCount++,!r&&this.getRef(Tt).shouldYield(this)){r=!0;let n=o;o=L(pn,()=>n)}if(o=o[wr](this),o===At){let n=this._yielded;return ke in n?(this._yielded=void 0,n):At}}}catch(n){return _(o,wr)?Qt(n):Qt(`MicroFiber.runLoop: Not a valid effect: ${String(o)}`)}}getCont(e){for(;;){let r=this._stack.pop();if(!r)return;let o=r[ve]&&r[ve](this);if(o)return{[e]:o};if(r[e])return r}}_yielded=void 0;yieldWith(e){return this._yielded=e,At}children(){return this._children??=new Set}},en=B("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var Si=t=>Ae(e=>wt(t.addObserver(r=>e(k(r)))));var sn=t=>tt(()=>(t.unsafeInterrupt(),Mi(Si(t)))),bi=t=>tt(()=>{for(let o of t)o.unsafeInterrupt();let e=t[Symbol.iterator](),r=tt(()=>{let o=e.next();for(;!o.done;){if(o.value.unsafePoll()){o=e.next();continue}let n=o.value;return Ae(s=>{n.addObserver(i=>{s(r)})})}return Ot});return r}),cn=Symbol.for("effect/Micro/identifier"),d=Symbol.for("effect/Micro/args"),wr=Symbol.for("effect/Micro/evaluate"),X=Symbol.for("effect/Micro/successCont"),_t=Symbol.for("effect/Micro/failureCont"),ve=Symbol.for("effect/Micro/ensureCont"),At=Symbol.for("effect/Micro/Yield"),Ei={_A:R,_E:R,_R:R},Ci={...Qo,_op:"Micro",[on]:Ei,pipe(){return C(this,arguments)},[Symbol.iterator](){return new gt(new z(this))},toJSON(){return{_id:"Micro",op:this[cn],...d in this?{args:this[d]}:void 0}},toString(){return E(this)},[y](){return E(this)}};function ki(t){return Qt("Micro.evaluate: Not implemented")}var te=t=>({...Ci,[cn]:t.op,[wr]:t.eval??ki,[X]:t.contA,[_t]:t.contE,[ve]:t.ensure}),et=t=>{let e=te(t);return function(){let r=Object.create(e);return r[d]=t.single===!1?arguments:arguments[0],r}},an=t=>{let e={...te(t),[ke]:ke,_tag:t.op,get[t.prop](){return this[d]},toJSON(){return{_id:"MicroExit",_tag:t.op,[t.prop]:this[d]}},[m](r){return Ri(r)&&r._tag===t.op&&x(this[d],r[d])},[f](){return S(this,M(q(t.op))(l(this[d])))}};return function(r){let o=Object.create(e);return o[d]=r,o[X]=void 0,o[_t]=void 0,o[ve]=void 0,o}},k=an({op:"Success",prop:"value",eval(t){let e=t.getCont(X);return e?e[X](this[d],t):t.yieldWith(this)}}),Mt=an({op:"Failure",prop:"cause",eval(t){let e=t.getCont(_t);for(;nn(this[d])&&e&&t.interruptible;)e=t.getCont(_t);return e?e[_t](this[d],t):t.yieldWith(this)}}),P=t=>Mt(xi(t)),wt=et({op:"Sync",eval(t){let e=this[d](),r=t.getCont(X);return r?r[X](e,t):t.yieldWith(Me(e))}}),tt=et({op:"Suspend",eval(t){return this[d]()}}),Ii=et({op:"Yield",eval(t){let e=!1;return t.getRef(Tt).scheduleTask(()=>{e||t.evaluate(Ot)},this[d]??0),t.yieldWith(()=>{e=!0})}}),pn=Ii(0);var yt=k(void 0);var Pr=t=>tt(()=>{try{return k(t.try())}catch(e){return P(t.catch(e))}});var $=t=>un(function(e,r){try{t.try(r).then(o=>e(k(o)),o=>e(P(t.catch(o))))}catch(o){e(P(t.catch(o)))}},t.try.length!==0),Rt=et({op:"WithMicroFiber",eval(t){return this[d](t)}});var un=et({op:"Async",single:!1,eval(t){let e=this[d][0],r=!1,o=!1,n=this[d][1]?new AbortController:void 0,s=e(i=>{r||(r=!0,o?t.evaluate(i):o=i)},n?.signal);return o!==!1?o:(o=!0,t._yielded=()=>{r=!0},n===void 0&&s===void 0||t._stack.push(vi(()=>(r=!0,n?.abort(),s??Ot))),At)}}),vi=et({op:"AsyncFinalizer",ensure(t){t.interruptible&&(t.interruptible=!1,t._stack.push(Lr(!0)))},contE(t,e){return nn(t)?L(this[d](),()=>Mt(t)):Mt(t)}}),Ae=t=>un(t,t.length>=2);var I=(...t)=>tt(()=>Ai(t.length===1?t[0]():t[1].call(t[0]))),Ai=et({op:"Iterator",contA(t,e){let r=this[d].next(t);return r.done?k(r.value):(e._stack.push(this),fo(r.value))},eval(t){return this[X](void 0,t)}}),ln=u(2,(t,e)=>Ti(t,r=>e));var j=u(2,(t,e)=>L(t,r=>{let o=Kt(e)?e:typeof e=="function"?e(r):e;return Kt(o)?o:k(o)})),ee=u(2,(t,e)=>L(t,r=>{let o=Kt(e)?e:typeof e=="function"?e(r):e;return Kt(o)?ln(o,r):k(r)})),Mi=t=>L(t,e=>Ot),fn=t=>qi(t,{onFailure:we,onSuccess:Me});var L=u(2,(t,e)=>{let r=Object.create(wi);return r[d]=t,r[X]=e,r}),wi=te({op:"OnSuccess",eval(t){return t._stack.push(this),this[d]}});var Ti=u(2,(t,e)=>L(t,r=>k(e(r)))),Ri=t=>_(t,ke),Me=k,we=Mt,Nr=we(_i());var Qt=t=>we(gi(t));var Ot=Me(void 0),Fi=t=>{for(let e of t)if(e._tag==="Failure")return e;return Ot},Pi="setImmediate"in globalThis?globalThis.setImmediate:t=>setTimeout(t,0),Xt=class{tasks=[];running=!1;scheduleTask(e,r){this.tasks.push(e),this.running||(this.running=!0,Pi(this.afterScheduled))}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let e=this.tasks;this.tasks=[];for(let r=0,o=e.length;r<o;r++)e[r]()}shouldYield(e){return e.currentOpCount>=e.getRef(Tr)}flush(){for(;this.tasks.length>0;)this.runTasks()}},w=t=>Rt(e=>k(Ko(e.context,t)));var dn=u(2,(t,e)=>Rt(r=>{let o=r.context;return r.context=e(o),Di(t,()=>(r.context=o,yt))}));var Ur=u(2,(t,e)=>dn(t,Zo(e))),rt=u(3,(t,e,r)=>dn(t,Yo(e,r))),hn=u(3,(t,e,r)=>L(r,o=>rt(t,e,o))),Tr=class extends J()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){},Rr=class extends J()("effect/Micro/currentConcurrency",{defaultValue:()=>"unbounded"}){},Tt=class extends J()("effect/Micro/currentScheduler",{defaultValue:()=>new Xt}){};var Ni=u(2,(t,e)=>tt(()=>{let r=e.schedule?Date.now():0,o=0,n=L(fn(t),s=>{if(e.while!==void 0&&!e.while(s))return s;if(e.times!==void 0&&o>=e.times)return s;o++;let i=pn;if(e.schedule!==void 0){let c=Date.now()-r,a=e.schedule(o,c);if(U(a))return s;i=gn(a.value)}return L(i,()=>n)});return n})),mn=u(t=>Kt(t[0]),(t,e)=>Ni(t,{...e,while:r=>r._tag==="Success"&&(e?.while===void 0||e.while(r.value))}));var Ui=u(2,(t,e)=>{let r=Object.create(Li);return r[d]=t,r[_t]=e,r}),Li=te({op:"OnFailure",eval(t){return t._stack.push(this),this[d]}}),Hi=u(3,(t,e,r)=>Ui(t,o=>e(o)?r(o):Mt(o))),Te=u(2,(t,e)=>Hi(t,yi,r=>e(r.error)));var xn=u(2,(t,e)=>{let r=Object.create(Bi);return r[d]=t,r[X]=e.onSuccess,r[_t]=e.onFailure,r}),Bi=te({op:"OnSuccessAndFailure",eval(t){return t._stack.push(this),this[d]}}),qi=u(2,(t,e)=>xn(t,{onFailure:r=>wt(()=>e.onFailure(r)),onSuccess:r=>wt(()=>e.onSuccess(r))}));var gn=t=>Ae(e=>{let r=setTimeout(()=>{e(yt)},t);return wt(()=>{clearTimeout(r)})}),_n=u(2,(t,e)=>j(gn(e),t));var Ir=Symbol.for("effect/Micro/MicroScope");var rn=class t{[Ir];state={_tag:"Open",finalizers:new Set};constructor(){this[Ir]=Ir}unsafeAddFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.add(e)}addFinalizer(e){return tt(()=>this.state._tag==="Open"?(this.state.finalizers.add(e),yt):e(this.state.exit))}unsafeRemoveFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.delete(e)}close(e){return tt(()=>{if(this.state._tag==="Open"){let r=Array.from(this.state.finalizers).reverse();return this.state={_tag:"Closed",exit:e},L(Hr(r,o=>fn(o(e))),Fi)}return yt})}get fork(){return wt(()=>{let e=new t;if(this.state._tag==="Closed")return e.state=this.state,e;function r(o){return e.close(o)}return this.state.finalizers.add(r),e.unsafeAddFinalizer(o=>wt(()=>this.unsafeRemoveFinalizer(r))),e})}};var Di=u(2,(t,e)=>Wi(r=>xn(r(t),{onFailure:o=>L(e(we(o)),()=>Mt(o)),onSuccess:o=>L(e(Me(o)),()=>k(o))})));var Lr=et({op:"SetInterruptible",ensure(t){if(t.interruptible=this[d],t._interrupted&&t.interruptible)return()=>Nr}}),ji=t=>Rt(e=>e.interruptible?t:(e.interruptible=!0,e._stack.push(Lr(!1)),e._interrupted?Nr:t)),Wi=t=>Rt(e=>e.interruptible?(e.interruptible=!1,e._stack.push(Lr(!0)),t(ji)):t(R));var Gi=et({op:"While",contA(t,e){return this[d].step(t),this[d].while()?(e._stack.push(this),this[d].body()):Ot},eval(t){return this[d].while()?(t._stack.push(this),this[d].body()):Ot}}),Hr=(t,e,r)=>Rt(o=>{let n=r?.concurrency==="inherit"?o.getRef(Rr):r?.concurrency??1,s=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n),i=Yt(t),c=i.length;if(c===0)return r?.discard?yt:k([]);let a=r?.discard?void 0:new Array(c),p=0;return s===1?ln(Gi({while:()=>p<i.length,body:()=>e(i[p],p),step:a?h=>a[p++]=h:h=>p++}),a):Ae(h=>{let g=new Set,A,v=0,jt=0,dt=!1,ht=!1;function mt(){for(dt=!0;v<s&&p<c;){let xt=p,Ns=i[xt];p++,v++;try{let Wt=yn(o,e(Ns,xt),!0,!0);g.add(Wt),Wt.addObserver(Gt=>{g.delete(Wt),!ht&&(Gt._tag==="Failure"?A===void 0&&(A=Gt,c=p,g.forEach(Us=>Us.unsafeInterrupt())):a!==void 0&&(a[xt]=Gt.value),jt++,v--,jt===c?h(A??k(a)):!dt&&v<s&&mt())})}catch(Wt){A=Qt(Wt),c=p,g.forEach(Gt=>Gt.unsafeInterrupt())}}dt=!1}return mt(),tt(()=>(ht=!0,p=c,bi(g)))})});var yn=(t,e,r=!1,o=!1)=>{let n=new Ie(t.context,t.interruptible);return o||(t.children().add(n),n.addObserver(()=>t.children().delete(n))),r?n.evaluate(e):t.getRef(Tt).scheduleTask(()=>n.evaluate(e),0),n},On=t=>Rt(e=>k(yn(e,t,!1,!0)));var Sn=(t,e)=>{let r=new Ie(Tt.context(e?.scheduler??new Xt));if(r.evaluate(t),e?.signal)if(e.signal.aborted)r.unsafeInterrupt();else{let o=()=>r.unsafeInterrupt();e.signal.addEventListener("abort",o,{once:!0}),r.addObserver(()=>e.signal.removeEventListener("abort",o))}return r},zi=(t,e)=>new Promise((r,o)=>{Sn(t,e).addObserver(r)}),St=(t,e)=>zi(t,e).then(r=>{if(r._tag==="Failure")throw r.cause;return r.value}),Ji=t=>{let e=new Xt,r=Sn(t,{scheduler:e});return e.flush(),r._exit??Qt(r)},bn=t=>{let e=Ji(t);if(e._tag==="Failure")throw e.cause;return e.value};var Br="https://api.telegram.org",re={"\u{1F525}":"5104841245755180586","\u{1F44D}":"5107584321108051014","\u{1F44E}":"5104858069142078462","\u2764\uFE0F":"5159385139981059251","\u{1F389}":"5046509860389126442","\u{1F4A9}":"5046589136895476101"},$i=Object.keys(re),Vi=t=>typeof t=="string"&&t in re;var oe=t=>H.of({...t,base_url:t.base_url??Br}),H=class extends vt("TgBotClientConfig")(){};var En=Symbol.for("effect/Chunk");function Yi(t,e,r,o,n){for(let s=e;s<Math.min(t.length,e+n);s++)r[o+s-e]=t[s];return r}var Cn=[],Ki=t=>ao((e,r)=>e.length===r.length&&Ft(e).every((o,n)=>t(o,Pt(r,n)))),Zi=Ki(x),Qi={[En]:{_A:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Chunk",values:Ft(this).map(O)}},[y](){return this.toJSON()},[m](t){return kn(t)&&Zi(this,t)},[f](){return S(this,Oe(Ft(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return Cn[Symbol.iterator]();default:return Ft(this)[Symbol.iterator]()}},pipe(){return C(this,arguments)}},T=t=>{let e=Object.create(Qi);switch(e.backing=t,t._tag){case"IEmpty":{e.length=0,e.depth=0,e.left=e,e.right=e;break}case"IConcat":{e.length=t.left.length+t.right.length,e.depth=1+Math.max(t.left.depth,t.right.depth),e.left=t.left,e.right=t.right;break}case"IArray":{e.length=t.array.length,e.depth=0,e.left=ot,e.right=ot;break}case"ISingleton":{e.length=1,e.depth=0,e.left=ot,e.right=ot;break}case"ISlice":{e.length=t.length,e.depth=t.chunk.depth+1,e.left=ot,e.right=ot;break}}return e},kn=t=>_(t,En),ot=T({_tag:"IEmpty"}),bt=()=>ot,se=(...t)=>t.length===1?Et(t[0]):ec(t),Et=t=>T({_tag:"ISingleton",a:t}),In=t=>kn(t)?t:T({_tag:"IArray",array:Yt(t)}),qr=(t,e,r)=>{switch(t.backing._tag){case"IArray":{Yi(t.backing.array,0,e,r,t.length);break}case"IConcat":{qr(t.left,e,r),qr(t.right,e,r+t.left.length);break}case"ISingleton":{e[r]=t.backing.a;break}case"ISlice":{let o=0,n=r;for(;o<t.length;)e[n]=Pt(t,o),o+=1,n+=1;break}}};var Xi=t=>{switch(t.backing._tag){case"IEmpty":return Cn;case"IArray":return t.backing.array;default:{let e=new Array(t.length);return qr(t,e,0),t.backing={_tag:"IArray",array:e},t.left=ot,t.right=ot,t.depth=0,e}}},Ft=Xi,tc=t=>{switch(t.backing._tag){case"IEmpty":case"ISingleton":return t;case"IArray":return T({_tag:"IArray",array:Or(t.backing.array)});case"IConcat":return T({_tag:"IConcat",left:ne(t.backing.right),right:ne(t.backing.left)});case"ISlice":return vn(Or(Ft(t)))}},ne=tc;var vn=t=>T({_tag:"IArray",array:t}),ec=t=>vn(t),Pt=u(2,(t,e)=>{switch(t.backing._tag){case"IEmpty":throw new Error("Index out of bounds");case"ISingleton":{if(e!==0)throw new Error("Index out of bounds");return t.backing.a}case"IArray":{if(e>=t.length||e<0)throw new Error("Index out of bounds");return t.backing.array[e]}case"IConcat":return e<t.left.length?Pt(t.left,e):Pt(t.right,e-t.left.length);case"ISlice":return Pt(t.backing.chunk,e+t.backing.offset)}});var Re=u(2,(t,e)=>nt(Et(e),t));var nt=u(2,(t,e)=>{if(t.backing._tag==="IEmpty")return e;if(e.backing._tag==="IEmpty")return t;let r=e.depth-t.depth;if(Math.abs(r)<=1)return T({_tag:"IConcat",left:t,right:e});if(r<-1)if(t.left.depth>=t.right.depth){let o=nt(t.right,e);return T({_tag:"IConcat",left:t.left,right:o})}else{let o=nt(t.right.right,e);if(o.depth===t.depth-3){let n=T({_tag:"IConcat",left:t.right.left,right:o});return T({_tag:"IConcat",left:t.left,right:n})}else{let n=T({_tag:"IConcat",left:t.left,right:t.right.left});return T({_tag:"IConcat",left:n,right:o})}}else if(e.right.depth>=e.left.depth){let o=nt(t,e.left);return T({_tag:"IConcat",left:o,right:e.right})}else{let o=nt(t,e.left.left);if(o.depth===e.depth-3){let n=T({_tag:"IConcat",left:o,right:e.left.right});return T({_tag:"IConcat",left:n,right:e.right})}else{let n=T({_tag:"IConcat",left:e.left.right,right:e.right});return T({_tag:"IConcat",left:o,right:n})}}});var An=t=>t.length===0,Fe=t=>t.length>0;var Mn=t=>Pt(t,0),Pe=Mn;var Dr=Math.pow(2,5),Tn=Dr-1,Rn=Dr/2,Fn=Dr/4;function rc(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function ut(t,e){return e>>>t&Tn}function lt(t){return 1<<t}function Ne(t,e){return rc(t&e-1)}var Pn=(t,e)=>({value:t,previous:e});function Ct(t,e,r,o){let n=o;if(!t){let s=o.length;n=new Array(s);for(let i=0;i<s;++i)n[i]=o[i]}return n[e]=r,n}function jr(t,e,r){let o=r.length-1,n=0,s=0,i=r;if(t)n=s=e;else for(i=new Array(o);n<e;)i[s++]=r[n++];for(++n;n<=o;)i[s++]=r[n++];return t&&(i.length=o),i}function Nn(t,e,r,o){let n=o.length;if(t){let a=n;for(;a>=e;)o[a--]=o[a];return o[e]=r,o}let s=0,i=0,c=new Array(n+1);for(;s<e;)c[i++]=o[s++];for(c[e]=r;s<n;)c[++i]=o[s++];return c}var st=class t{_tag="EmptyNode";modify(e,r,o,n,s,i){let c=o(F());return U(c)?new t:(++i.value,new Nt(e,n,s,c))}};function G(t){return sr(t,"EmptyNode")}function nc(t){return G(t)||t._tag==="LeafNode"||t._tag==="CollisionNode"}function Ue(t,e){return G(t)?!1:e===t.edit}var Nt=class t{edit;hash;key;value;_tag="LeafNode";constructor(e,r,o,n){this.edit=e,this.hash=r,this.key=o,this.value=n}modify(e,r,o,n,s,i){if(x(s,this.key)){let a=o(this.value);return a===this.value?this:U(a)?(--i.value,new st):Ue(this,e)?(this.value=a,this):new t(e,n,s,a)}let c=o(F());return U(c)?this:(++i.value,Un(e,r,this.hash,this,n,new t(e,n,s,c)))}},Wr=class t{edit;hash;children;_tag="CollisionNode";constructor(e,r,o){this.edit=e,this.hash=r,this.children=o}modify(e,r,o,n,s,i){if(n===this.hash){let a=Ue(this,e),p=this.updateCollisionList(a,e,this.hash,this.children,o,s,i);return p===this.children?this:p.length>1?new t(e,this.hash,p):p[0]}let c=o(F());return U(c)?this:(++i.value,Un(e,r,this.hash,this,n,new Nt(e,n,s,c)))}updateCollisionList(e,r,o,n,s,i,c){let a=n.length;for(let h=0;h<a;++h){let g=n[h];if("key"in g&&x(i,g.key)){let A=g.value,v=s(A);return v===A?n:U(v)?(--c.value,jr(e,h,n)):Ct(e,h,new Nt(r,o,i,v),n)}}let p=s(F());return U(p)?n:(++c.value,Ct(e,a,new Nt(r,o,i,p),n))}},ie=class t{edit;mask;children;_tag="IndexedNode";constructor(e,r,o){this.edit=e,this.mask=r,this.children=o}modify(e,r,o,n,s,i){let c=this.mask,a=this.children,p=ut(r,n),h=lt(p),g=Ne(c,h),A=c&h,v=Ue(this,e);if(!A){let xt=new st().modify(e,r+5,o,n,s,i);return xt?a.length>=Rn?ic(e,p,xt,c,a):new t(e,c|h,Nn(v,g,xt,a)):this}let jt=a[g],dt=jt.modify(e,r+5,o,n,s,i);if(jt===dt)return this;let ht=c,mt;if(G(dt)){if(ht&=~h,!ht)return new st;if(a.length<=2&&nc(a[g^1]))return a[g^1];mt=jr(v,g,a)}else mt=Ct(v,g,dt,a);return v?(this.mask=ht,this.children=mt,this):new t(e,ht,mt)}},Gr=class t{edit;size;children;_tag="ArrayNode";constructor(e,r,o){this.edit=e,this.size=r,this.children=o}modify(e,r,o,n,s,i){let c=this.size,a=this.children,p=ut(r,n),h=a[p],g=(h||new st).modify(e,r+5,o,n,s,i);if(h===g)return this;let A=Ue(this,e),v;if(G(h)&&!G(g))++c,v=Ct(A,p,g,a);else if(!G(h)&&G(g)){if(--c,c<=Fn)return sc(e,c,p,a);v=Ct(A,p,new st,a)}else v=Ct(A,p,g,a);return A?(this.size=c,this.children=v,this):new t(e,c,v)}};function sc(t,e,r,o){let n=new Array(e-1),s=0,i=0;for(let c=0,a=o.length;c<a;++c)if(c!==r){let p=o[c];p&&!G(p)&&(n[s++]=p,i|=1<<c)}return new ie(t,i,n)}function ic(t,e,r,o,n){let s=[],i=o,c=0;for(let a=0;i;++a)i&1&&(s[a]=n[c++]),i>>>=1;return s[e]=r,new Gr(t,c+1,s)}function cc(t,e,r,o,n,s){if(r===n)return new Wr(t,r,[s,o]);let i=ut(e,r),c=ut(e,n);if(i===c)return a=>new ie(t,lt(i)|lt(c),[a]);{let a=i<c?[o,s]:[s,o];return new ie(t,lt(i)|lt(c),a)}}function Un(t,e,r,o,n,s){let i,c=e;for(;;){let a=cc(t,c,r,o,n,s);if(typeof a=="function")i=Pn(a,i),c=c+5;else{let p=a;for(;i!=null;)p=i.value(p),i=i.previous;return p}}}var Ln="effect/HashMap",zr=Symbol.for(Ln),pc={[zr]:zr,[Symbol.iterator](){return new Le(this,(t,e)=>[t,e])},[f](){let t=l(Ln);for(let e of this)t^=b(l(e[0]),M(l(e[1])));return S(this,t)},[m](t){if(lc(t)){if(t._size!==this._size)return!1;for(let e of this){let r=b(t,fc(e[0],l(e[0])));if(U(r))return!1;if(!x(e[1],r.value))return!1}return!0}return!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},Jr=(t,e,r,o)=>{let n=Object.create(pc);return n._editable=t,n._edit=e,n._root=r,n._size=o,n},Le=class t{map;f;v;constructor(e,r){this.map=e,this.f=r,this.v=Hn(this.map._root,this.f,void 0)}next(){if(U(this.v))return{done:!0,value:void 0};let e=this.v.value;return this.v=He(e.cont),{done:!1,value:e.value}}[Symbol.iterator](){return new t(this.map,this.f)}},He=t=>t?Bn(t[0],t[1],t[2],t[3],t[4]):F(),Hn=(t,e,r=void 0)=>{switch(t._tag){case"LeafNode":return at(t.value)?Q({value:e(t.key,t.value.value),cont:r}):He(r);case"CollisionNode":case"ArrayNode":case"IndexedNode":{let o=t.children;return Bn(o.length,o,0,e,r)}default:return He(r)}},Bn=(t,e,r,o,n)=>{for(;r<t;){let s=e[r++];if(s&&!G(s))return Hn(s,o,[t,e,r,o,n])}return He(n)},uc=Jr(!1,0,new st,0),qn=()=>uc;var lc=t=>_(t,zr);var fc=u(3,(t,e,r)=>{let o=t._root,n=0;for(;;)switch(o._tag){case"LeafNode":return x(e,o.key)?o.value:F();case"CollisionNode":{if(r===o.hash){let s=o.children;for(let i=0,c=s.length;i<c;++i){let a=s[i];if("key"in a&&x(e,a.key))return a.value}}return F()}case"IndexedNode":{let s=ut(n,r),i=lt(s);if(o.mask&i){o=o.children[Ne(o.mask,i)],n+=5;break}return F()}case"ArrayNode":{if(o=o.children[ut(n,r)],o){n+=5;break}return F()}default:return F()}});var $r=u(3,(t,e,r)=>hc(t,e,()=>Q(r))),dc=u(3,(t,e,r)=>t._editable?(t._root=e,t._size=r,t):e===t._root?t:Jr(t._editable,t._edit,e,r)),Dn=t=>new Le(t,e=>e);var Be=t=>t._size,jn=t=>Jr(!0,t._edit+1,t._root,t._size);var hc=u(3,(t,e,r)=>mc(t,e,l(e),r)),mc=u(4,(t,e,r,o)=>{let n={value:t._size},s=t._root.modify(t._editable?t._edit:NaN,0,o,r,e,n);return b(t,dc(s,n.value))});var Wn=u(2,(t,e)=>Gn(t,void 0,(r,o,n)=>e(o,n))),Gn=u(3,(t,e,r)=>{let o=t._root;if(o._tag==="LeafNode")return at(o.value)?r(e,o.value.value,o.key):e;if(o._tag==="EmptyNode")return e;let n=[o.children],s;for(;s=n.pop();)for(let i=0,c=s.length;i<c;){let a=s[i++];a&&!G(a)&&(a._tag==="LeafNode"?at(a.value)&&(e=r(e,a.value.value,a.key)):n.push(a.children))}return e});var zn="effect/HashSet",qe=Symbol.for(zn),gc={[qe]:qe,[Symbol.iterator](){return Dn(this._keyMap)},[f](){return S(this,M(l(this._keyMap))(l(zn)))},[m](t){return Jn(t)?Be(this._keyMap)===Be(t._keyMap)&&x(this._keyMap,t._keyMap):!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},Vr=t=>{let e=Object.create(gc);return e._keyMap=t,e},Jn=t=>_(t,qe),_c=Vr(qn()),Yr=()=>_c;var $n=t=>Be(t._keyMap),Vn=t=>Vr(jn(t._keyMap)),Yn=t=>(t._keyMap._editable=!1,t),Kn=u(2,(t,e)=>{let r=Vn(t);return e(r),Yn(r)}),De=u(2,(t,e)=>t._keyMap._editable?($r(e,!0)(t._keyMap),t):Vr($r(e,!0)(t._keyMap)));var Zn=u(2,(t,e)=>Kn(Yr(),r=>{Qn(t,o=>De(r,o));for(let o of e)De(r,o)}));var Qn=u(2,(t,e)=>Wn(t._keyMap,(r,o)=>e(o)));var ce=Yr;var Xn=$n;var je=De;var We=Zn;var Sc=Object.assign(Object.create(Array.prototype),{[f](){return S(this,Oe(this))},[m](t){return Array.isArray(t)&&this.length===t.length?this.every((e,r)=>x(e,t[r])):!1}}),ts=function(){function t(e){e&&Object.assign(this,e)}return t.prototype=lr,t}();var Kr="Die",Ge="Empty",ze="Fail",Zr="Interrupt",Lt="Parallel",Ht="Sequential";var ss="effect/Cause",is=Symbol.for(ss),Cc={_E:t=>t},Xr={[is]:Cc,[f](){return b(l(ss),M(l(vc(this))),S(this))},[m](t){return kc(t)&&Ic(this,t)},pipe(){return C(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:O(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:O(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:O(this.left),right:O(this.right)}}},toString(){return to(this)},[y](){return this.toJSON()}};var $e=t=>{let e=Object.create(Xr);return e._tag=ze,e.error=t,e};var cs=(t,e)=>{let r=Object.create(Xr);return r._tag=Lt,r.left=t,r.right=e,r},ae=(t,e)=>{let r=Object.create(Xr);return r._tag=Ht,r.left=t,r.right=e,r},kc=t=>_(t,is);var as=t=>ps(void 0,Mc)(t);var Ic=(t,e)=>{let r=Et(t),o=Et(e);for(;Fe(r)&&Fe(o);){let[n,s]=b(Pe(r),os([ce(),bt()],([a,p],h)=>{let[g,A]=Qr(h);return Q([b(a,We(g)),b(p,nt(A))])})),[i,c]=b(Pe(o),os([ce(),bt()],([a,p],h)=>{let[g,A]=Qr(h);return Q([b(a,We(g)),b(p,nt(A))])}));if(!x(n,i))return!1;r=s,o=c}return!0},vc=t=>Ac(Et(t),bt()),Ac=(t,e)=>{for(;;){let[r,o]=b(t,Sr([ce(),bt()],([s,i],c)=>{let[a,p]=Qr(c);return[b(s,We(a)),b(i,nt(p))]})),n=Xn(r)>0?b(e,Re(r)):e;if(An(o))return ne(n);t=o,e=n}throw new Error(Jt("Cause.flattenCauseLoop"))};var Qr=t=>{let e=t,r=[],o=ce(),n=bt();for(;e!==void 0;)switch(e._tag){case Ge:{if(r.length===0)return[o,n];e=r.pop();break}case ze:{if(o=je(o,se(e._tag,e.error)),r.length===0)return[o,n];e=r.pop();break}case Kr:{if(o=je(o,se(e._tag,e.defect)),r.length===0)return[o,n];e=r.pop();break}case Zr:{if(o=je(o,se(e._tag,e.fiberId)),r.length===0)return[o,n];e=r.pop();break}case Ht:{switch(e.left._tag){case Ge:{e=e.right;break}case Ht:{e=ae(e.left.left,ae(e.left.right,e.right));break}case Lt:{e=cs(ae(e.left.left,e.right),ae(e.left.right,e.right));break}default:{n=Re(n,e.right),e=e.left;break}}break}case Lt:{r.push(e.right),e=e.left;break}}throw new Error(Jt("Cause.evaluateCauseLoop"))};var Mc={emptyCase:xe,failCase:tr,dieCase:tr,interruptCase:xe,sequentialCase:(t,e,r)=>e&&r,parallelCase:(t,e,r)=>e&&r};var es="SequentialCase",rs="ParallelCase";var os=u(3,(t,e,r)=>{let o=e,n=t,s=[];for(;n!==void 0;){let i=r(o,n);switch(o=at(i)?i.value:o,n._tag){case Ht:{s.push(n.right),n=n.left;break}case Lt:{s.push(n.right),n=n.left;break}default:{n=void 0;break}}n===void 0&&s.length>0&&(n=s.pop())}return o}),ps=u(3,(t,e,r)=>{let o=[t],n=[];for(;o.length>0;){let i=o.pop();switch(i._tag){case Ge:{n.push($t(r.emptyCase(e)));break}case ze:{n.push($t(r.failCase(e,i.error)));break}case Kr:{n.push($t(r.dieCase(e,i.defect)));break}case Zr:{n.push($t(r.interruptCase(e,i.fiberId)));break}case Ht:{o.push(i.right),o.push(i.left),n.push(yr({_tag:es}));break}case Lt:{o.push(i.right),o.push(i.left),n.push(yr({_tag:rs}));break}}}let s=[];for(;n.length>0;){let i=n.pop();switch(i._tag){case"Left":{switch(i.left._tag){case es:{let c=s.pop(),a=s.pop(),p=r.sequentialCase(e,c,a);s.push(p);break}case rs:{let c=s.pop(),a=s.pop(),p=r.parallelCase(e,c,a);s.push(p);break}}break}case"Right":{s.push(i.right);break}}}if(s.length===0)throw new Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return s.pop()}),to=(t,e)=>as(t)?"All fibers interrupted without errors.":Pc(t).map(function(r){return e?.renderErrorCause!==!0||r.cause===void 0?r.stack:`${r.stack} {
10
- ${us(r.cause," ")}
9
+ `)}`),super(i),this._tag=e,this.traces=o,this[tn]=hi,this.name=s,this.stack=c}pipe(){return C(this,arguments)}toString(){return this.stack}[y](){return this.stack}},Ar=class extends Xt{error;constructor(e,r=[]){super("Fail",e,r),this.error=e}},mi=(t,e=[])=>new Ar(t,e),Mr=class extends Xt{defect;constructor(e,r=[]){super("Die",e,r),this.defect=e}},xi=(t,e=[])=>new Mr(t,e),vr=class extends Xt{constructor(e=[]){super("Interrupt","interrupted",e)}},gi=(t=[])=>new vr(t),_i=t=>t._tag==="Fail";var sn=t=>t._tag==="Interrupt";var en=Symbol.for("effect/Micro/MicroFiber"),yi={_A:T,_E:T},Me=class{context;interruptible;[en];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(e,r=!0){this.context=e,this.interruptible=r,this[en]=yi}getRef(e){return zo(this.context,e)}addObserver(e){return this._exit?(e(this._exit),co):(this._observers.push(e),()=>{let r=this._observers.indexOf(e);r>=0&&this._observers.splice(r,1)})}_interrupted=!1;unsafeInterrupt(){this._exit||(this._interrupted=!0,this.interruptible&&this.evaluate(Nr))}unsafePoll(){return this._exit}evaluate(e){if(this._exit)return;if(this._yielded!==void 0){let n=this._yielded;this._yielded=void 0,n()}let r=this.runLoop(e);if(r===Mt)return;let o=rn.interruptChildren&&rn.interruptChildren(this);if(o!==void 0)return this.evaluate(L(o,()=>r));this._exit=r;for(let n=0;n<this._observers.length;n++)this._observers[n](r);this._observers.length=0}runLoop(e){let r=!1,o=e;this.currentOpCount=0;try{for(;;){if(this.currentOpCount++,!r&&this.getRef(Tt).shouldYield(this)){r=!0;let n=o;o=L(un,()=>n)}if(o=o[wr](this),o===Mt){let n=this._yielded;return Ae in n?(this._yielded=void 0,n):Mt}}}catch(n){return _(o,wr)?te(n):te(`MicroFiber.runLoop: Not a valid effect: ${String(o)}`)}}getCont(e){for(;;){let r=this._stack.pop();if(!r)return;let o=r[ve]&&r[ve](this);if(o)return{[e]:o};if(r[e])return r}}_yielded=void 0;yieldWith(e){return this._yielded=e,Mt}children(){return this._children??=new Set}},rn=B("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var Oi=t=>we(e=>wt(t.addObserver(r=>e(k(r)))));var cn=t=>tt(()=>(t.unsafeInterrupt(),Mi(Oi(t)))),Si=t=>tt(()=>{for(let o of t)o.unsafeInterrupt();let e=t[Symbol.iterator](),r=tt(()=>{let o=e.next();for(;!o.done;){if(o.value.unsafePoll()){o=e.next();continue}let n=o.value;return we(s=>{n.addObserver(i=>{s(r)})})}return St});return r}),an=Symbol.for("effect/Micro/identifier"),d=Symbol.for("effect/Micro/args"),wr=Symbol.for("effect/Micro/evaluate"),X=Symbol.for("effect/Micro/successCont"),yt=Symbol.for("effect/Micro/failureCont"),ve=Symbol.for("effect/Micro/ensureCont"),Mt=Symbol.for("effect/Micro/Yield"),bi={_A:T,_E:T,_R:T},Ei={...Xo,_op:"Micro",[nn]:bi,pipe(){return C(this,arguments)},[Symbol.iterator](){return new _t(new z(this))},toJSON(){return{_id:"Micro",op:this[an],...d in this?{args:this[d]}:void 0}},toString(){return E(this)},[y](){return E(this)}};function Ci(t){return te("Micro.evaluate: Not implemented")}var re=t=>({...Ei,[an]:t.op,[wr]:t.eval??Ci,[X]:t.contA,[yt]:t.contE,[ve]:t.ensure}),et=t=>{let e=re(t);return function(){let r=Object.create(e);return r[d]=t.single===!1?arguments:arguments[0],r}},pn=t=>{let e={...re(t),[Ae]:Ae,_tag:t.op,get[t.prop](){return this[d]},toJSON(){return{_id:"MicroExit",_tag:t.op,[t.prop]:this[d]}},[m](r){return Ti(r)&&r._tag===t.op&&x(this[d],r[d])},[f](){return S(this,v(q(t.op))(l(this[d])))}};return function(r){let o=Object.create(e);return o[d]=r,o[X]=void 0,o[yt]=void 0,o[ve]=void 0,o}},k=pn({op:"Success",prop:"value",eval(t){let e=t.getCont(X);return e?e[X](this[d],t):t.yieldWith(this)}}),vt=pn({op:"Failure",prop:"cause",eval(t){let e=t.getCont(yt);for(;sn(this[d])&&e&&t.interruptible;)e=t.getCont(yt);return e?e[yt](this[d],t):t.yieldWith(this)}}),F=t=>vt(mi(t)),wt=et({op:"Sync",eval(t){let e=this[d](),r=t.getCont(X);return r?r[X](e,t):t.yieldWith(Te(e))}}),tt=et({op:"Suspend",eval(t){return this[d]()}}),ki=et({op:"Yield",eval(t){let e=!1;return t.getRef(Tt).scheduleTask(()=>{e||t.evaluate(St)},this[d]??0),t.yieldWith(()=>{e=!0})}}),un=ki(0);var Ot=k(void 0);var Pr=t=>tt(()=>{try{return k(t.try())}catch(e){return F(t.catch(e))}});var $=t=>ln(function(e,r){try{t.try(r).then(o=>e(k(o)),o=>e(F(t.catch(o))))}catch(o){e(F(t.catch(o)))}},t.try.length!==0),Rt=et({op:"WithMicroFiber",eval(t){return this[d](t)}});var ln=et({op:"Async",single:!1,eval(t){let e=this[d][0],r=!1,o=!1,n=this[d][1]?new AbortController:void 0,s=e(i=>{r||(r=!0,o?t.evaluate(i):o=i)},n?.signal);return o!==!1?o:(o=!0,t._yielded=()=>{r=!0},n===void 0&&s===void 0||t._stack.push(Ii(()=>(r=!0,n?.abort(),s??St))),Mt)}}),Ii=et({op:"AsyncFinalizer",ensure(t){t.interruptible&&(t.interruptible=!1,t._stack.push(Lr(!0)))},contE(t,e){return sn(t)?L(this[d](),()=>vt(t)):vt(t)}}),we=t=>ln(t,t.length>=2);var I=(...t)=>tt(()=>Ai(t.length===1?t[0]():t[1].call(t[0]))),Ai=et({op:"Iterator",contA(t,e){let r=this[d].next(t);return r.done?k(r.value):(e._stack.push(this),ho(r.value))},eval(t){return this[X](void 0,t)}}),fn=u(2,(t,e)=>wi(t,r=>e));var j=u(2,(t,e)=>L(t,r=>{let o=Qt(e)?e:typeof e=="function"?e(r):e;return Qt(o)?o:k(o)})),oe=u(2,(t,e)=>L(t,r=>{let o=Qt(e)?e:typeof e=="function"?e(r):e;return Qt(o)?fn(o,r):k(r)})),Mi=t=>L(t,e=>St),dn=t=>Bi(t,{onFailure:Re,onSuccess:Te});var L=u(2,(t,e)=>{let r=Object.create(vi);return r[d]=t,r[X]=e,r}),vi=re({op:"OnSuccess",eval(t){return t._stack.push(this),this[d]}});var wi=u(2,(t,e)=>L(t,r=>k(e(r)))),Ti=t=>_(t,Ae),Te=k,Re=vt,Nr=Re(gi());var te=t=>Re(xi(t));var St=Te(void 0),Ri=t=>{for(let e of t)if(e._tag==="Failure")return e;return St},Fi="setImmediate"in globalThis?globalThis.setImmediate:t=>setTimeout(t,0),ee=class{tasks=[];running=!1;scheduleTask(e,r){this.tasks.push(e),this.running||(this.running=!0,Fi(this.afterScheduled))}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let e=this.tasks;this.tasks=[];for(let r=0,o=e.length;r<o;r++)e[r]()}shouldYield(e){return e.currentOpCount>=e.getRef(Tr)}flush(){for(;this.tasks.length>0;)this.runTasks()}},w=t=>Rt(e=>k(Zo(e.context,t)));var hn=u(2,(t,e)=>Rt(r=>{let o=r.context;return r.context=e(o),qi(t,()=>(r.context=o,Ot))}));var Ur=u(2,(t,e)=>hn(t,Qo(e))),rt=u(3,(t,e,r)=>hn(t,Ko(e,r))),mn=u(3,(t,e,r)=>L(r,o=>rt(t,e,o))),Tr=class extends J()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){},Rr=class extends J()("effect/Micro/currentConcurrency",{defaultValue:()=>"unbounded"}){},Tt=class extends J()("effect/Micro/currentScheduler",{defaultValue:()=>new ee}){};var Pi=u(2,(t,e)=>tt(()=>{let r=e.schedule?Date.now():0,o=0,n=L(dn(t),s=>{if(e.while!==void 0&&!e.while(s))return s;if(e.times!==void 0&&o>=e.times)return s;o++;let i=un;if(e.schedule!==void 0){let c=Date.now()-r,a=e.schedule(o,c);if(U(a))return s;i=_n(a.value)}return L(i,()=>n)});return n})),xn=u(t=>Qt(t[0]),(t,e)=>Pi(t,{...e,while:r=>r._tag==="Success"&&(e?.while===void 0||e.while(r.value))}));var Ni=u(2,(t,e)=>{let r=Object.create(Ui);return r[d]=t,r[yt]=e,r}),Ui=re({op:"OnFailure",eval(t){return t._stack.push(this),this[d]}}),Li=u(3,(t,e,r)=>Ni(t,o=>e(o)?r(o):vt(o))),Fe=u(2,(t,e)=>Li(t,_i,r=>e(r.error)));var gn=u(2,(t,e)=>{let r=Object.create(Hi);return r[d]=t,r[X]=e.onSuccess,r[yt]=e.onFailure,r}),Hi=re({op:"OnSuccessAndFailure",eval(t){return t._stack.push(this),this[d]}}),Bi=u(2,(t,e)=>gn(t,{onFailure:r=>wt(()=>e.onFailure(r)),onSuccess:r=>wt(()=>e.onSuccess(r))}));var _n=t=>we(e=>{let r=setTimeout(()=>{e(Ot)},t);return wt(()=>{clearTimeout(r)})}),yn=u(2,(t,e)=>j(_n(e),t));var Ir=Symbol.for("effect/Micro/MicroScope");var on=class t{[Ir];state={_tag:"Open",finalizers:new Set};constructor(){this[Ir]=Ir}unsafeAddFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.add(e)}addFinalizer(e){return tt(()=>this.state._tag==="Open"?(this.state.finalizers.add(e),Ot):e(this.state.exit))}unsafeRemoveFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.delete(e)}close(e){return tt(()=>{if(this.state._tag==="Open"){let r=Array.from(this.state.finalizers).reverse();return this.state={_tag:"Closed",exit:e},L(Hr(r,o=>dn(o(e))),Ri)}return Ot})}get fork(){return wt(()=>{let e=new t;if(this.state._tag==="Closed")return e.state=this.state,e;function r(o){return e.close(o)}return this.state.finalizers.add(r),e.unsafeAddFinalizer(o=>wt(()=>this.unsafeRemoveFinalizer(r))),e})}};var qi=u(2,(t,e)=>ji(r=>gn(r(t),{onFailure:o=>L(e(Re(o)),()=>vt(o)),onSuccess:o=>L(e(Te(o)),()=>k(o))})));var Lr=et({op:"SetInterruptible",ensure(t){if(t.interruptible=this[d],t._interrupted&&t.interruptible)return()=>Nr}}),Di=t=>Rt(e=>e.interruptible?t:(e.interruptible=!0,e._stack.push(Lr(!1)),e._interrupted?Nr:t)),ji=t=>Rt(e=>e.interruptible?(e.interruptible=!1,e._stack.push(Lr(!0)),t(Di)):t(T));var Wi=et({op:"While",contA(t,e){return this[d].step(t),this[d].while()?(e._stack.push(this),this[d].body()):St},eval(t){return this[d].while()?(t._stack.push(this),this[d].body()):St}}),Hr=(t,e,r)=>Rt(o=>{let n=r?.concurrency==="inherit"?o.getRef(Rr):r?.concurrency??1,s=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n),i=Zt(t),c=i.length;if(c===0)return r?.discard?Ot:k([]);let a=r?.discard?void 0:new Array(c),p=0;return s===1?fn(Wi({while:()=>p<i.length,body:()=>e(i[p],p),step:a?h=>a[p++]=h:h=>p++}),a):we(h=>{let g=new Set,M,A=0,Wt=0,ht=!1,mt=!1;function xt(){for(ht=!0;A<s&&p<c;){let gt=p,Ps=i[gt];p++,A++;try{let Gt=On(o,e(Ps,gt),!0,!0);g.add(Gt),Gt.addObserver(zt=>{g.delete(Gt),!mt&&(zt._tag==="Failure"?M===void 0&&(M=zt,c=p,g.forEach(Ns=>Ns.unsafeInterrupt())):a!==void 0&&(a[gt]=zt.value),Wt++,A--,Wt===c?h(M??k(a)):!ht&&A<s&&xt())})}catch(Gt){M=te(Gt),c=p,g.forEach(zt=>zt.unsafeInterrupt())}}ht=!1}return xt(),tt(()=>(mt=!0,p=c,Si(g)))})});var On=(t,e,r=!1,o=!1)=>{let n=new Me(t.context,t.interruptible);return o||(t.children().add(n),n.addObserver(()=>t.children().delete(n))),r?n.evaluate(e):t.getRef(Tt).scheduleTask(()=>n.evaluate(e),0),n},Sn=t=>Rt(e=>k(On(e,t,!1,!0)));var bn=(t,e)=>{let r=new Me(Tt.context(e?.scheduler??new ee));if(r.evaluate(t),e?.signal)if(e.signal.aborted)r.unsafeInterrupt();else{let o=()=>r.unsafeInterrupt();e.signal.addEventListener("abort",o,{once:!0}),r.addObserver(()=>e.signal.removeEventListener("abort",o))}return r},Gi=(t,e)=>new Promise((r,o)=>{bn(t,e).addObserver(r)}),bt=(t,e)=>Gi(t,e).then(r=>{if(r._tag==="Failure")throw r.cause;return r.value}),zi=t=>{let e=new ee,r=bn(t,{scheduler:e});return e.flush(),r._exit??te(r)},En=t=>{let e=zi(t);if(e._tag==="Failure")throw e.cause;return e.value};var Br="https://api.telegram.org",ne={"\u{1F525}":"5104841245755180586","\u{1F44D}":"5107584321108051014","\u{1F44E}":"5104858069142078462","\u2764\uFE0F":"5159385139981059251","\u{1F389}":"5046509860389126442","\u{1F4A9}":"5046589136895476101"},Ji=Object.keys(ne),$i=t=>typeof t=="string"&&t in ne;var se=t=>H.of({...t,base_url:t.base_url??Br}),H=class extends At("TgBotClientConfig")(){};var Cn=Symbol.for("effect/Chunk");function Vi(t,e,r,o,n){for(let s=e;s<Math.min(t.length,e+n);s++)r[o+s-e]=t[s];return r}var kn=[],Yi=t=>ao((e,r)=>e.length===r.length&&Ft(e).every((o,n)=>t(o,Pt(r,n)))),Ki=Yi(x),Zi={[Cn]:{_A:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Chunk",values:Ft(this).map(O)}},[y](){return this.toJSON()},[m](t){return In(t)&&Ki(this,t)},[f](){return S(this,be(Ft(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return kn[Symbol.iterator]();default:return Ft(this)[Symbol.iterator]()}},pipe(){return C(this,arguments)}},P=t=>{let e=Object.create(Zi);switch(e.backing=t,t._tag){case"IEmpty":{e.length=0,e.depth=0,e.left=e,e.right=e;break}case"IConcat":{e.length=t.left.length+t.right.length,e.depth=1+Math.max(t.left.depth,t.right.depth),e.left=t.left,e.right=t.right;break}case"IArray":{e.length=t.array.length,e.depth=0,e.left=ot,e.right=ot;break}case"ISingleton":{e.length=1,e.depth=0,e.left=ot,e.right=ot;break}case"ISlice":{e.length=t.length,e.depth=t.chunk.depth+1,e.left=ot,e.right=ot;break}}return e},In=t=>_(t,Cn),ot=P({_tag:"IEmpty"}),ut=()=>ot,ce=(...t)=>tc(t),Et=t=>P({_tag:"ISingleton",a:t}),An=t=>In(t)?t:Dr(Zt(t)),qr=(t,e,r)=>{switch(t.backing._tag){case"IArray":{Vi(t.backing.array,0,e,r,t.length);break}case"IConcat":{qr(t.left,e,r),qr(t.right,e,r+t.left.length);break}case"ISingleton":{e[r]=t.backing.a;break}case"ISlice":{let o=0,n=r;for(;o<t.length;)e[n]=Pt(t,o),o+=1,n+=1;break}}};var Qi=t=>{switch(t.backing._tag){case"IEmpty":return kn;case"IArray":return t.backing.array;default:{let e=new Array(t.length);return qr(t,e,0),t.backing={_tag:"IArray",array:e},t.left=ot,t.right=ot,t.depth=0,e}}},Ft=Qi,Xi=t=>{switch(t.backing._tag){case"IEmpty":case"ISingleton":return t;case"IArray":return P({_tag:"IArray",array:Or(t.backing.array)});case"IConcat":return P({_tag:"IConcat",left:ie(t.backing.right),right:ie(t.backing.left)});case"ISlice":return Dr(Or(Ft(t)))}},ie=Xi;var Dr=t=>t.length===0?ut():t.length===1?Et(t[0]):P({_tag:"IArray",array:t}),tc=t=>Dr(t),Pt=u(2,(t,e)=>{switch(t.backing._tag){case"IEmpty":throw new Error("Index out of bounds");case"ISingleton":{if(e!==0)throw new Error("Index out of bounds");return t.backing.a}case"IArray":{if(e>=t.length||e<0)throw new Error("Index out of bounds");return t.backing.array[e]}case"IConcat":return e<t.left.length?Pt(t.left,e):Pt(t.right,e-t.left.length);case"ISlice":return Pt(t.backing.chunk,e+t.backing.offset)}});var Pe=u(2,(t,e)=>nt(Et(e),t));var nt=u(2,(t,e)=>{if(t.backing._tag==="IEmpty")return e;if(e.backing._tag==="IEmpty")return t;let r=e.depth-t.depth;if(Math.abs(r)<=1)return P({_tag:"IConcat",left:t,right:e});if(r<-1)if(t.left.depth>=t.right.depth){let o=nt(t.right,e);return P({_tag:"IConcat",left:t.left,right:o})}else{let o=nt(t.right.right,e);if(o.depth===t.depth-3){let n=P({_tag:"IConcat",left:t.right.left,right:o});return P({_tag:"IConcat",left:t.left,right:n})}else{let n=P({_tag:"IConcat",left:t.left,right:t.right.left});return P({_tag:"IConcat",left:n,right:o})}}else if(e.right.depth>=e.left.depth){let o=nt(t,e.left);return P({_tag:"IConcat",left:o,right:e.right})}else{let o=nt(t,e.left.left);if(o.depth===e.depth-3){let n=P({_tag:"IConcat",left:o,right:e.left.right});return P({_tag:"IConcat",left:n,right:e.right})}else{let n=P({_tag:"IConcat",left:e.left.right,right:e.right});return P({_tag:"IConcat",left:o,right:n})}}});var Mn=t=>t.length===0,Ne=t=>t.length>0;var vn=t=>Pt(t,0),Ue=vn;var jr=Math.pow(2,5),Tn=jr-1,Rn=jr/2,Fn=jr/4;function ec(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function lt(t,e){return e>>>t&Tn}function ft(t){return 1<<t}function Le(t,e){return ec(t&e-1)}var Pn=(t,e)=>({value:t,previous:e});function Ct(t,e,r,o){let n=o;if(!t){let s=o.length;n=new Array(s);for(let i=0;i<s;++i)n[i]=o[i]}return n[e]=r,n}function Wr(t,e,r){let o=r.length-1,n=0,s=0,i=r;if(t)n=s=e;else for(i=new Array(o);n<e;)i[s++]=r[n++];for(++n;n<=o;)i[s++]=r[n++];return t&&(i.length=o),i}function Nn(t,e,r,o){let n=o.length;if(t){let a=n;for(;a>=e;)o[a--]=o[a];return o[e]=r,o}let s=0,i=0,c=new Array(n+1);for(;s<e;)c[i++]=o[s++];for(c[e]=r;s<n;)c[++i]=o[s++];return c}var st=class t{_tag="EmptyNode";modify(e,r,o,n,s,i){let c=o(R());return U(c)?new t:(++i.value,new Nt(e,n,s,c))}};function G(t){return sr(t,"EmptyNode")}function oc(t){return G(t)||t._tag==="LeafNode"||t._tag==="CollisionNode"}function He(t,e){return G(t)?!1:e===t.edit}var Nt=class t{edit;hash;key;value;_tag="LeafNode";constructor(e,r,o,n){this.edit=e,this.hash=r,this.key=o,this.value=n}modify(e,r,o,n,s,i){if(x(s,this.key)){let a=o(this.value);return a===this.value?this:U(a)?(--i.value,new st):He(this,e)?(this.value=a,this):new t(e,n,s,a)}let c=o(R());return U(c)?this:(++i.value,Un(e,r,this.hash,this,n,new t(e,n,s,c)))}},Gr=class t{edit;hash;children;_tag="CollisionNode";constructor(e,r,o){this.edit=e,this.hash=r,this.children=o}modify(e,r,o,n,s,i){if(n===this.hash){let a=He(this,e),p=this.updateCollisionList(a,e,this.hash,this.children,o,s,i);return p===this.children?this:p.length>1?new t(e,this.hash,p):p[0]}let c=o(R());return U(c)?this:(++i.value,Un(e,r,this.hash,this,n,new Nt(e,n,s,c)))}updateCollisionList(e,r,o,n,s,i,c){let a=n.length;for(let h=0;h<a;++h){let g=n[h];if("key"in g&&x(i,g.key)){let M=g.value,A=s(M);return A===M?n:U(A)?(--c.value,Wr(e,h,n)):Ct(e,h,new Nt(r,o,i,A),n)}}let p=s(R());return U(p)?n:(++c.value,Ct(e,a,new Nt(r,o,i,p),n))}},ae=class t{edit;mask;children;_tag="IndexedNode";constructor(e,r,o){this.edit=e,this.mask=r,this.children=o}modify(e,r,o,n,s,i){let c=this.mask,a=this.children,p=lt(r,n),h=ft(p),g=Le(c,h),M=c&h,A=He(this,e);if(!M){let gt=new st().modify(e,r+5,o,n,s,i);return gt?a.length>=Rn?sc(e,p,gt,c,a):new t(e,c|h,Nn(A,g,gt,a)):this}let Wt=a[g],ht=Wt.modify(e,r+5,o,n,s,i);if(Wt===ht)return this;let mt=c,xt;if(G(ht)){if(mt&=~h,!mt)return new st;if(a.length<=2&&oc(a[g^1]))return a[g^1];xt=Wr(A,g,a)}else xt=Ct(A,g,ht,a);return A?(this.mask=mt,this.children=xt,this):new t(e,mt,xt)}},zr=class t{edit;size;children;_tag="ArrayNode";constructor(e,r,o){this.edit=e,this.size=r,this.children=o}modify(e,r,o,n,s,i){let c=this.size,a=this.children,p=lt(r,n),h=a[p],g=(h||new st).modify(e,r+5,o,n,s,i);if(h===g)return this;let M=He(this,e),A;if(G(h)&&!G(g))++c,A=Ct(M,p,g,a);else if(!G(h)&&G(g)){if(--c,c<=Fn)return nc(e,c,p,a);A=Ct(M,p,new st,a)}else A=Ct(M,p,g,a);return M?(this.size=c,this.children=A,this):new t(e,c,A)}};function nc(t,e,r,o){let n=new Array(e-1),s=0,i=0;for(let c=0,a=o.length;c<a;++c)if(c!==r){let p=o[c];p&&!G(p)&&(n[s++]=p,i|=1<<c)}return new ae(t,i,n)}function sc(t,e,r,o,n){let s=[],i=o,c=0;for(let a=0;i;++a)i&1&&(s[a]=n[c++]),i>>>=1;return s[e]=r,new zr(t,c+1,s)}function ic(t,e,r,o,n,s){if(r===n)return new Gr(t,r,[s,o]);let i=lt(e,r),c=lt(e,n);if(i===c)return a=>new ae(t,ft(i)|ft(c),[a]);{let a=i<c?[o,s]:[s,o];return new ae(t,ft(i)|ft(c),a)}}function Un(t,e,r,o,n,s){let i,c=e;for(;;){let a=ic(t,c,r,o,n,s);if(typeof a=="function")i=Pn(a,i),c=c+5;else{let p=a;for(;i!=null;)p=i.value(p),i=i.previous;return p}}}var Ln="effect/HashMap",Jr=Symbol.for(Ln),ac={[Jr]:Jr,[Symbol.iterator](){return new Be(this,(t,e)=>[t,e])},[f](){let t=l(Ln);for(let e of this)t^=b(l(e[0]),v(l(e[1])));return S(this,t)},[m](t){if(uc(t)){if(t._size!==this._size)return!1;for(let e of this){let r=b(t,lc(e[0],l(e[0])));if(U(r))return!1;if(!x(e[1],r.value))return!1}return!0}return!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},$r=(t,e,r,o)=>{let n=Object.create(ac);return n._editable=t,n._edit=e,n._root=r,n._size=o,n},Be=class t{map;f;v;constructor(e,r){this.map=e,this.f=r,this.v=Hn(this.map._root,this.f,void 0)}next(){if(U(this.v))return{done:!0,value:void 0};let e=this.v.value;return this.v=qe(e.cont),{done:!1,value:e.value}}[Symbol.iterator](){return new t(this.map,this.f)}},qe=t=>t?Bn(t[0],t[1],t[2],t[3],t[4]):R(),Hn=(t,e,r=void 0)=>{switch(t._tag){case"LeafNode":return at(t.value)?Q({value:e(t.key,t.value.value),cont:r}):qe(r);case"CollisionNode":case"ArrayNode":case"IndexedNode":{let o=t.children;return Bn(o.length,o,0,e,r)}default:return qe(r)}},Bn=(t,e,r,o,n)=>{for(;r<t;){let s=e[r++];if(s&&!G(s))return Hn(s,o,[t,e,r,o,n])}return qe(n)},pc=$r(!1,0,new st,0),qn=()=>pc;var uc=t=>_(t,Jr);var lc=u(3,(t,e,r)=>{let o=t._root,n=0;for(;;)switch(o._tag){case"LeafNode":return x(e,o.key)?o.value:R();case"CollisionNode":{if(r===o.hash){let s=o.children;for(let i=0,c=s.length;i<c;++i){let a=s[i];if("key"in a&&x(e,a.key))return a.value}}return R()}case"IndexedNode":{let s=lt(n,r),i=ft(s);if(o.mask&i){o=o.children[Le(o.mask,i)],n+=5;break}return R()}case"ArrayNode":{if(o=o.children[lt(n,r)],o){n+=5;break}return R()}default:return R()}});var Vr=u(3,(t,e,r)=>dc(t,e,()=>Q(r))),fc=u(3,(t,e,r)=>t._editable?(t._root=e,t._size=r,t):e===t._root?t:$r(t._editable,t._edit,e,r)),Dn=t=>new Be(t,e=>e);var De=t=>t._size,jn=t=>$r(!0,t._edit+1,t._root,t._size);var dc=u(3,(t,e,r)=>hc(t,e,l(e),r)),hc=u(4,(t,e,r,o)=>{let n={value:t._size},s=t._root.modify(t._editable?t._edit:NaN,0,o,r,e,n);return b(t,fc(s,n.value))});var Wn=u(2,(t,e)=>Gn(t,void 0,(r,o,n)=>e(o,n))),Gn=u(3,(t,e,r)=>{let o=t._root;if(o._tag==="LeafNode")return at(o.value)?r(e,o.value.value,o.key):e;if(o._tag==="EmptyNode")return e;let n=[o.children],s;for(;s=n.pop();)for(let i=0,c=s.length;i<c;){let a=s[i++];a&&!G(a)&&(a._tag==="LeafNode"?at(a.value)&&(e=r(e,a.value.value,a.key)):n.push(a.children))}return e});var zn="effect/HashSet",je=Symbol.for(zn),xc={[je]:je,[Symbol.iterator](){return Dn(this._keyMap)},[f](){return S(this,v(l(this._keyMap))(l(zn)))},[m](t){return Jn(t)?De(this._keyMap)===De(t._keyMap)&&x(this._keyMap,t._keyMap):!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},Yr=t=>{let e=Object.create(xc);return e._keyMap=t,e},Jn=t=>_(t,je),gc=Yr(qn()),Kr=()=>gc;var $n=t=>De(t._keyMap),Vn=t=>Yr(jn(t._keyMap)),Yn=t=>(t._keyMap._editable=!1,t),Kn=u(2,(t,e)=>{let r=Vn(t);return e(r),Yn(r)}),We=u(2,(t,e)=>t._keyMap._editable?(Vr(e,!0)(t._keyMap),t):Yr(Vr(e,!0)(t._keyMap)));var Zn=u(2,(t,e)=>Kn(Kr(),r=>{Qn(t,o=>We(r,o));for(let o of e)We(r,o)}));var Qn=u(2,(t,e)=>Wn(t._keyMap,(r,o)=>e(o)));var pe=Kr;var Xn=$n;var Ge=We;var ze=Zn;var Oc=Object.assign(Object.create(Array.prototype),{[f](){return S(this,be(this))},[m](t){return Array.isArray(t)&&this.length===t.length?this.every((e,r)=>x(e,t[r])):!1}}),ts=function(){function t(e){e&&Object.assign(this,e)}return t.prototype=lr,t}();var Zr="Die",Je="Empty",$e="Fail",Qr="Interrupt",Lt="Parallel",Ht="Sequential";var ns="effect/Cause",ss=Symbol.for(ns),Ec={_E:t=>t},to={[ss]:Ec,[f](){return b(l(ns),v(l(Ic(this))),S(this))},[m](t){return Cc(t)&&kc(this,t)},pipe(){return C(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:O(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:O(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:O(this.left),right:O(this.right)}}},toString(){return eo(this)},[y](){return this.toJSON()}};var Ye=t=>{let e=Object.create(to);return e._tag=$e,e.error=t,e};var is=(t,e)=>{let r=Object.create(to);return r._tag=Lt,r.left=t,r.right=e,r},ue=(t,e)=>{let r=Object.create(to);return r._tag=Ht,r.left=t,r.right=e,r},Cc=t=>_(t,ss);var cs=t=>as(void 0,Mc)(t);var kc=(t,e)=>{let r=Et(t),o=Et(e);for(;Ne(r)&&Ne(o);){let[n,s]=b(Ue(r),os([pe(),ut()],([a,p],h)=>{let[g,M]=Xr(h);return Q([b(a,ze(g)),b(p,nt(M))])})),[i,c]=b(Ue(o),os([pe(),ut()],([a,p],h)=>{let[g,M]=Xr(h);return Q([b(a,ze(g)),b(p,nt(M))])}));if(!x(n,i))return!1;r=s,o=c}return!0},Ic=t=>Ac(Et(t),ut()),Ac=(t,e)=>{for(;;){let[r,o]=b(t,Sr([pe(),ut()],([s,i],c)=>{let[a,p]=Xr(c);return[b(s,ze(a)),b(i,nt(p))]})),n=Xn(r)>0?b(e,Pe(r)):e;if(Mn(o))return ie(n);t=o,e=n}throw new Error(Vt("Cause.flattenCauseLoop"))};var Xr=t=>{let e=t,r=[],o=pe(),n=ut();for(;e!==void 0;)switch(e._tag){case Je:{if(r.length===0)return[o,n];e=r.pop();break}case $e:{if(o=Ge(o,ce(e._tag,e.error)),r.length===0)return[o,n];e=r.pop();break}case Zr:{if(o=Ge(o,ce(e._tag,e.defect)),r.length===0)return[o,n];e=r.pop();break}case Qr:{if(o=Ge(o,ce(e._tag,e.fiberId)),r.length===0)return[o,n];e=r.pop();break}case Ht:{switch(e.left._tag){case Je:{e=e.right;break}case Ht:{e=ue(e.left.left,ue(e.left.right,e.right));break}case Lt:{e=is(ue(e.left.left,e.right),ue(e.left.right,e.right));break}default:{n=Pe(n,e.right),e=e.left;break}}break}case Lt:{r.push(e.right),e=e.left;break}}throw new Error(Vt("Cause.evaluateCauseLoop"))};var Mc={emptyCase:_e,failCase:rr,dieCase:rr,interruptCase:_e,sequentialCase:(t,e,r)=>e&&r,parallelCase:(t,e,r)=>e&&r};var es="SequentialCase",rs="ParallelCase";var os=u(3,(t,e,r)=>{let o=e,n=t,s=[];for(;n!==void 0;){let i=r(o,n);switch(o=at(i)?i.value:o,n._tag){case Ht:{s.push(n.right),n=n.left;break}case Lt:{s.push(n.right),n=n.left;break}default:{n=void 0;break}}n===void 0&&s.length>0&&(n=s.pop())}return o}),as=u(3,(t,e,r)=>{let o=[t],n=[];for(;o.length>0;){let i=o.pop();switch(i._tag){case Je:{n.push(Yt(r.emptyCase(e)));break}case $e:{n.push(Yt(r.failCase(e,i.error)));break}case Zr:{n.push(Yt(r.dieCase(e,i.defect)));break}case Qr:{n.push(Yt(r.interruptCase(e,i.fiberId)));break}case Ht:{o.push(i.right),o.push(i.left),n.push(yr({_tag:es}));break}case Lt:{o.push(i.right),o.push(i.left),n.push(yr({_tag:rs}));break}}}let s=[];for(;n.length>0;){let i=n.pop();switch(i._tag){case"Left":{switch(i.left._tag){case es:{let c=s.pop(),a=s.pop(),p=r.sequentialCase(e,c,a);s.push(p);break}case rs:{let c=s.pop(),a=s.pop(),p=r.parallelCase(e,c,a);s.push(p);break}}break}case"Right":{s.push(i.right);break}}}if(s.length===0)throw new Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return s.pop()}),eo=(t,e)=>cs(t)?"All fibers interrupted without errors.":Fc(t).map(function(r){return e?.renderErrorCause!==!0||r.cause===void 0?r.stack:`${r.stack} {
10
+ ${ps(r.cause," ")}
11
11
  }`}).join(`
12
- `),us=(t,e)=>{let r=t.stack.split(`
12
+ `),ps=(t,e)=>{let r=t.stack.split(`
13
13
  `),o=`${e}[cause]: ${r[0]}`;for(let n=1,s=r.length;n<s;n++)o+=`
14
14
  ${e}${r[n]}`;return t.cause&&(o+=` {
15
- ${us(t.cause,`${e} `)}
16
- ${e}}`),o},Je=class t extends globalThis.Error{span=void 0;constructor(e){let r=typeof e=="object"&&e!==null,o=Error.stackTraceLimit;Error.stackTraceLimit=1,super(wc(e),r&&"cause"in e&&typeof e.cause<"u"?{cause:new t(e.cause)}:void 0),this.message===""&&(this.message="An error has occurred"),Error.stackTraceLimit=o,this.name=e instanceof Error?e.name:"Error",r&&(ns in e&&(this.span=e[ns]),Object.keys(e).forEach(n=>{n in this||(this[n]=e[n])})),this.stack=Fc(`${this.name}: ${this.message}`,e instanceof Error&&e.stack?e.stack:"",this.span)}},wc=t=>{if(typeof t=="string")return t;if(typeof t=="object"&&t!==null&&t instanceof Error)return t.message;try{if(_(t,"toString")&&zt(t.toString)&&t.toString!==Object.prototype.toString&&t.toString!==globalThis.Array.prototype.toString)return t.toString()}catch{}return ar(t)},Tc=/\((.*)\)/g,Rc=B("effect/Tracer/spanToTrace",()=>new WeakMap),Fc=(t,e,r)=>{let o=[t],n=e.startsWith(t)?e.slice(t.length).split(`
15
+ ${ps(t.cause,`${e} `)}
16
+ ${e}}`),o},Ve=class t extends globalThis.Error{span=void 0;constructor(e){let r=typeof e=="object"&&e!==null,o=Error.stackTraceLimit;Error.stackTraceLimit=1,super(vc(e),r&&"cause"in e&&typeof e.cause<"u"?{cause:new t(e.cause)}:void 0),this.message===""&&(this.message="An error has occurred"),Error.stackTraceLimit=o,this.name=e instanceof Error?e.name:"Error",r&&(Bt in e&&(this.span=e[Bt]),Object.keys(e).forEach(n=>{n in this||(this[n]=e[n])})),this.stack=Rc(`${this.name}: ${this.message}`,e instanceof Error&&e.stack?e.stack:"",this.span)}},vc=t=>{if(typeof t=="string")return t;if(typeof t=="object"&&t!==null&&t instanceof Error)return t.message;try{if(_(t,"toString")&&$t(t.toString)&&t.toString!==Object.prototype.toString&&t.toString!==globalThis.Array.prototype.toString)return t.toString()}catch{}return ar(t)},wc=/\((.*)\)/g,Tc=B("effect/Tracer/spanToTrace",()=>new WeakMap),Rc=(t,e,r)=>{let o=[t],n=e.startsWith(t)?e.slice(t.length).split(`
17
17
  `):e.split(`
18
- `);for(let s=1;s<n.length&&!n[s].includes("Generator.next");s++){if(n[s].includes("effect_internal_function")){o.pop();break}o.push(n[s].replace(/at .*effect_instruction_i.*\((.*)\)/,"at $1").replace(/EffectPrimitive\.\w+/,"<anonymous>"))}if(r){let s=r,i=0;for(;s&&s._tag==="Span"&&i<10;){let c=Rc.get(s);if(typeof c=="function"){let a=c();if(typeof a=="string"){let p=a.matchAll(Tc),h=!1;for(let[,g]of p)h=!0,o.push(` at ${s.name} (${g})`);h||o.push(` at ${s.name} (${a.replace(/^at /,"")})`)}else o.push(` at ${s.name}`)}else o.push(` at ${s.name}`);s=Uo(s.parent),i++}}return o.join(`
19
- `)},ns=Symbol.for("effect/SpanAnnotation"),Pc=t=>ps(t,void 0,{emptyCase:()=>[],dieCase:(e,r)=>[new Je(r)],failCase:(e,r)=>[new Je(r)],interruptCase:()=>[],parallelCase:(e,r,o)=>[...r,...o],sequentialCase:(e,r,o)=>[...r,...o]});var Bt=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var Ve=Symbol.for("effect/Effect");var eo=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[Ve]=ct;constructor(e){this._op=e}[m](e){return this===e}[f](){return S(this,It(this))}pipe(){return C(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:O(this.effect_instruction_i0),effect_instruction_i1:O(this.effect_instruction_i1),effect_instruction_i2:O(this.effect_instruction_i2)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new Bt(new z(this))}},ro=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[Ve]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return Es(e)&&e._op==="Failure"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),M(l(this.effect_instruction_i0)),S(this))}get cause(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new Bt(new z(this))}},ls=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[Ve]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return Es(e)&&e._op==="Success"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),M(l(this.effect_instruction_i0)),S(this))}get value(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:O(this.value)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new Bt(new z(this))}},Uc=t=>_(t,Ve),Lc=t=>{let e=new eo(Oo);return e.effect_instruction_i0=t,e};var oo=Symbol.for("effect/SpanAnnotation"),fs=Symbol.for("effect/OriginalAnnotation");var Hc=(t,e)=>at(e)?new Proxy(t,{has(r,o){return o===oo||o===fs||o in r},get(r,o){return o===oo?e.value:o===fs?t:r[o]}}):t;var Bc=t=>nr(t)&&!(oo in t)?Lc(e=>ds($e(Hc(t,Wc(e))))):ds($e(t));var ds=t=>{let e=new ro(yo);return e.effect_instruction_i0=t,e};var El={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return C(this,arguments)}};var Cl={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return C(this,arguments)}};var qc="effect/RequestResolver",bs=Symbol.for(qc),Dc={_A:t=>t,_R:t=>t},hs=class t{runAll;target;[bs]=Dc;constructor(e,r){this.runAll=e,this.target=r}[f](){return S(this,this.target?l(this.target):It(this))}[m](e){return this.target?jc(e)&&x(this.target,e.target):this===e}identified(...e){return new t(this.runAll,In(e))}pipe(){return C(this,arguments)}},jc=t=>_(t,bs);var no=function(){class t extends globalThis.Error{commit(){return Bc(this)}toJSON(){return{...this}}[y](){return this.toString!==globalThis.Error.prototype.toString?this.stack?`${this.toString()}
18
+ `);for(let s=1;s<n.length&&!n[s].includes("Generator.next");s++){if(n[s].includes("effect_internal_function")){o.pop();break}o.push(n[s].replace(/at .*effect_instruction_i.*\((.*)\)/,"at $1").replace(/EffectPrimitive\.\w+/,"<anonymous>"))}if(r){let s=r,i=0;for(;s&&s._tag==="Span"&&i<10;){let c=Tc.get(s);if(typeof c=="function"){let a=c();if(typeof a=="string"){let p=a.matchAll(wc),h=!1;for(let[,g]of p)h=!0,o.push(` at ${s.name} (${g})`);h||o.push(` at ${s.name} (${a.replace(/^at /,"")})`)}else o.push(` at ${s.name}`)}else o.push(` at ${s.name}`);s=Lo(s.parent),i++}}return o.join(`
19
+ `)},Bt=Symbol.for("effect/SpanAnnotation"),Fc=t=>as(t,void 0,{emptyCase:()=>[],dieCase:(e,r)=>[new Ve(r)],failCase:(e,r)=>[new Ve(r)],interruptCase:()=>[],parallelCase:(e,r,o)=>[...r,...o],sequentialCase:(e,r,o)=>[...r,...o]});var qt=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var Ke=Symbol.for("effect/Effect");var ro=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[Ke]=ct;constructor(e){this._op=e}[m](e){return this===e}[f](){return S(this,It(this))}pipe(){return C(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:O(this.effect_instruction_i0),effect_instruction_i1:O(this.effect_instruction_i1),effect_instruction_i2:O(this.effect_instruction_i2)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new qt(new z(this))}},oo=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[Ke]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return bs(e)&&e._op==="Failure"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),v(l(this.effect_instruction_i0)),S(this))}get cause(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new qt(new z(this))}},us=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[Ke]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return bs(e)&&e._op==="Success"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),v(l(this.effect_instruction_i0)),S(this))}get value(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:O(this.value)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new qt(new z(this))}},Nc=t=>_(t,Ke),Uc=t=>{let e=new ro(So);return e.effect_instruction_i0=t,e};var ls=Symbol.for("effect/OriginalAnnotation");var Lc=(t,e)=>at(e)?new Proxy(t,{has(r,o){return o===Bt||o===ls||o in r},get(r,o){return o===Bt?e.value:o===ls?t:r[o]}}):t;var Hc=t=>nr(t)&&!(Bt in t)?Uc(e=>fs(Ye(Lc(t,jc(e))))):fs(Ye(t));var fs=t=>{let e=new oo(Oo);return e.effect_instruction_i0=t,e};var El={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return C(this,arguments)}};var Cl={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return C(this,arguments)}};var Bc="effect/RequestResolver",Ss=Symbol.for(Bc),qc={_A:t=>t,_R:t=>t},ds=class t{runAll;target;[Ss]=qc;constructor(e,r){this.runAll=e,this.target=r}[f](){return S(this,this.target?l(this.target):It(this))}[m](e){return this.target?Dc(e)&&x(this.target,e.target):this===e}identified(...e){return new t(this.runAll,An(e))}pipe(){return C(this,arguments)}},Dc=t=>_(t,Ss);var no=function(){class t extends globalThis.Error{commit(){return Hc(this)}toJSON(){let r={...this};return this.message&&(r.message=this.message),this.cause&&(r.cause=this.cause),r}[y](){return this.toString!==globalThis.Error.prototype.toString?this.stack?`${this.toString()}
20
20
  ${this.stack.split(`
21
21
  `).slice(1).join(`
22
- `)}`:this.toString():"Bun"in globalThis?to($e(this),{renderErrorCause:!0}):this}}return Object.assign(t.prototype,dr),t}(),kt=(t,e)=>{class r extends no{_tag=e}return Object.assign(r.prototype,t),r.prototype.name=e,r},ms=Symbol.for("effect/Cause/errors/RuntimeException"),kl=kt({[ms]:ms},"RuntimeException");var xs=Symbol.for("effect/Cause/errors/InterruptedException"),Il=kt({[xs]:xs},"InterruptedException");var gs=Symbol.for("effect/Cause/errors/IllegalArgument"),vl=kt({[gs]:gs},"IllegalArgumentException");var _s=Symbol.for("effect/Cause/errors/NoSuchElement"),Al=kt({[_s]:_s},"NoSuchElementException");var ys=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),Ml=kt({[ys]:ys},"InvalidPubSubCapacityException"),Os=Symbol.for("effect/Cause/errors/ExceededCapacityException"),wl=kt({[Os]:Os},"ExceededCapacityException");var Ss=Symbol.for("effect/Cause/errors/Timeout"),Tl=kt({[Ss]:Ss},"TimeoutException");var Es=t=>Uc(t)&&"_tag"in t&&(t._tag==="Success"||t._tag==="Failure");var Wc=t=>{let e=t.currentSpan;return e!==void 0&&e._tag==="Span"?Q(e):F()};var pe=ts,Cs=t=>{class e extends pe{_tag=t}return e};var zc=function(){let t=Symbol.for("effect/Data/Error/plainArgs");return class extends no{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0),r&&(Object.assign(this,r),Object.defineProperty(this,t,{value:r,enumerable:!1}))}toJSON(){return{...this[t],...this}}}}(),qt=t=>{class e extends zc{_tag=t}return e.prototype.name=t,e};var ue=class t extends Cs("BotResponse"){static make(e){return new t({response:e})}static ignore=new t({})},ft=class extends vt("BotUpdateHandlers")(){};var ks=t=>{for(let[e,r]of Object.entries(t))if(e!="update_id")return{type:e,...r}};var Is=t=>{let e=t[0];for(let r=1;r<t.length;r++)e+=t[r]==="_"?t[++r].toUpperCase():t[r];return e};var Y=class t extends qt("TgBotClientError"){static missingSuccess=new t({reason:{type:"ClientInternalError",cause:"Expected 'success' to be defined"}})};var vs=t=>typeof t=="object"&&t!=null&&"file_content"in t&&t.file_content instanceof Uint8Array&&"file_name"in t&&typeof t.file_name=="string",As=t=>typeof t=="object"&&t!=null&&"ok"in t&&typeof t.ok=="boolean",Ms=t=>typeof t=="object"&&t!=null&&"bot_token"in t&&typeof t.bot_token=="string";var ws=t=>{let e=Object.entries(t);if(e.length==0)return;let r=new FormData;for(let[o,n]of e)n&&(typeof n!="object"?r.append(o,`${n}`):vs(n)?r.append(o,new Blob([n.file_content]),n.file_name):r.append(o,JSON.stringify(n)));return r};var it=(t,e)=>I(function*(){let r=yield*w(H),o=yield*$({try:()=>fetch(`${r.base_url}/bot${r.bot_token}/${Is(t)}`,{body:ws(e)??null,method:"POST"}),catch:s=>new Y({reason:{type:"ClientInternalError",cause:s}})}),n=yield*$({try:()=>o.json(),catch:()=>new Y({reason:{type:"UnexpectedResponse",response:o}})});return As(n)?o.ok?n.result:yield*P(new Y({reason:{type:"NotOkResponse",...n.error_code?{errorCode:n.error_code}:void 0,...n.description?{details:n.description}:void 0}})):yield*P(new Y({reason:{type:"UnexpectedResponse",response:n}}))});var le=class t extends pe{static make(e){let r=e.batch_size??10,o=e.poll_timeout??10,n=e.max_empty_responses,s=e.log_level??"info",i=e.on_error;(r<10||r>100)&&(console.warn("Wrong batch_size, must be in [10..100], using 10 instead"),r=10),(o<2||o>10)&&(console.warn("Wrong poll_timeout, must be in [2..10], using 2 instead"),o=10),n&&n<2&&(console.warn("Wrong max_empty_responses, must be in [2..infinity], using infinity"),n=void 0),s||(s="info"),i||(i="stop");let c=new t({batch_size:r,poll_timeout:o,max_empty_responses:n,log_level:s,on_error:i});return console.log("bot poll settings",c),c}},K=class extends J()("BotSettings",{defaultValue(){return le.make({})}}){};var fe=class extends pe{},Ts=t=>I(function*(){let e=yield*w(K),r=yield*w(ft);return r.type=="single"?yield*Vc(t,r,e):yield*$c(t,r,e)}),$c=(t,e,r)=>Pr({try:()=>e.on_batch(t),catch:o=>o}).pipe(j(o=>o instanceof Promise?$({try:()=>o,catch:n=>n}):k(o)),j(o=>new fe({hasErrors:!o,updates:t})),Te(o=>(console.log("handle batch error",{errorMessage:o instanceof Error?o.message:void 0,updates:t.map(n=>Object.keys(n).at(1))}),k(new fe({hasErrors:!0,updates:t}))))),Dt=class extends qt("HandleUpdateError"){},Vc=(t,e,r)=>Hr(t,o=>Yc(o,e).pipe(Te(n=>(console.log("update handle error",{updateId:o.update_id,updateKey:Object.keys(o).at(1),name:n._tag,...n.cause instanceof Error?{error:n.cause.message}:void 0}),k(n)))),{concurrency:10}).pipe(j(o=>(r.log_level=="debug"&&console.debug("handle batch result",o),new fe({hasErrors:!o.every(n=>n==null),updates:t})))),Yc=(t,e)=>I(function*(){let r=ks(t);if(!r)return yield*P(new Dt({name:"UnknownUpdate",update:t}));let o=e[`on_${r.type}`];if(!o)return yield*P(new Dt({name:"HandlerNotDefined",update:t}));r.type=="message"&&"text"in r&&console.info("Got a new text message",{chatId:r.chat.id,chatType:r.chat.type,message:`${r.text.slice(0,5)}...`});let n,s=yield*Pr({try:()=>o(r),catch:c=>new Dt({name:"BotHandlerError",update:t,cause:c})}).pipe(j(c=>c instanceof Promise?$({try:()=>c,catch:a=>new Dt({name:"BotHandlerError",update:t,cause:a})}):k(c)),Te(c=>(n=c,console.log("error",{updateId:t.update_id,updateKey:Object.keys(t).at(1),name:c._tag,...c.cause instanceof Error?{error:c.cause.message}:void 0}),k(ue.make({type:"message",text:`Some internal error has happend(${c.name}) while handling this message`,message_effect_id:re["\u{1F4A9}"],...t.message?.message_id?{reply_parameters:{message_id:t.message?.message_id}}:void 0}))))),i=yield*w(K);if(!s&&i.log_level=="debug"){console.log(`Bot response is undefined for update with ID #${t.update_id}.`);return}if("chat"in r&&s.response){let c=yield*it(`send_${s.response.type}`,{...s.response,chat_id:r.chat.id});i.log_level=="debug"&&console.debug("bot response",c)}return n});var Ke=class extends J()("BotFetchUpdatesService",{defaultValue:()=>{let e={lastUpdateId:void 0,emptyResponses:0},r=Kc(e).pipe(ee(n=>{let s=n.map(i=>i.update_id).sort().at(-1);console.log("updating last update id",s),e.lastUpdateId=s?s+1:void 0,console.log(e)})),o=Zc(e);return{state:e,fetchUpdates:r,commit:o}}}){},Ze=class extends qt("FetchUpdatesError"){},Kc=t=>I(function*(){let e=yield*w(K);if(e.max_empty_responses&&t.emptyResponses==e.max_empty_responses)return yield*P(new Ze({name:"TooManyEmptyResponses"}));let r=t.lastUpdateId;e.log_level=="debug"&&console.debug("getting updates",t);let o=yield*it("get_updates",{timeout:e.poll_timeout,...r?{offset:r}:void 0}).pipe(j(n=>n.sort(s=>s.update_id)));return o.length?(console.debug(`got a batch of updates (${o.length})`),t.emptyResponses=0,o):(t.emptyResponses+=1,[])}),Zc=t=>I(function*(){return console.log("commit",{pollState:t}),t.lastUpdateId?yield*it("get_updates",{offset:t.lastUpdateId,limit:0}).pipe(j(j(w(K),e=>{e.log_level=="debug"&&console.debug("committed offset",t)}))):yield*P(new Ze({name:"NoUpdatesToCommit"}))});var de=class extends J()("BotRunService",{defaultValue:()=>{console.log("Initiating BotRunService");let e={fiber:void 0};return{runBotInBackground:Qc(e),getFiber:()=>e.fiber}}}){},Qc=t=>I(function*(){console.log("run bot");let e=yield*w(Ke),r=_n(1e3)(e.fetchUpdates.pipe(j(o=>Ts(o)),ee(({updates:o})=>o.length>0?e.commit:yt))).pipe(mn({while:o=>!o.hasErrors}),On,ee(o=>o.addObserver(n=>{console.log("bot's fiber has been closed",n)})));t.fiber&&(console.log("killing previous bot's fiber"),yield*sn(t.fiber)),t.fiber=yield*r,console.log("Fetching bot updates via long polling...")});var Rs=t=>I(function*(){if(t.type=="config")return oe(t);let e=yield*$({try:async()=>{let{readFileSync:r}=await import("fs");return JSON.parse(await r("config.json","utf-8"))},catch:r=>(console.warn("invalid tg bot config",r),"ReadingConfigError")});return Ms(e)?oe(e):yield*P("InvalidConfig")});var so=t=>I(function*(){let e=Vo(H,yield*Rs(t)),r=yield*w(de);return yield*r.runBotInBackground.pipe(Ur(e),rt(ft,t.mode),rt(K,le.make(t.poll??{}))),{reload:n=>r.runBotInBackground.pipe(rt(ft,n),Ur(e),St),fiber:r.getFiber}});var Xc=t=>so(t).pipe(St),ta=t=>(Object.keys(t).length==0&&console.warn("No handlers are defined for bot"),t);var Fs=t=>I(function*(){let e=yield*it("get_file",{file_id:t}),r=yield*w(H),o=e.file_path;if(!o||o.length==0)return yield*P(new Y({reason:{type:"UnableToGetFile",cause:"File path not defined"}}));let n=o.replaceAll("/","-"),s=`${r.base_url}/file/bot${r.bot_token}/${o}`,i=yield*$({try:()=>fetch(s).then(a=>a.arrayBuffer()),catch:a=>new Y({reason:{type:"UnableToGetFile",cause:a}})});return new File([new Uint8Array(i)],n)});var he=class extends vt("ClientFileService")(){},Ps=I(function*(){return{getFile:t=>Fs(t.file_id)}});var ea=t=>{let e=oe(t);return I(function*(){let o=yield*w(he);return{execute:(n,s)=>it(n,s).pipe(rt(H,e),St),getFile:n=>o.getFile(n).pipe(rt(H,e),St)}}).pipe(hn(he,Ps),rt(H,e),bn)};0&&(module.exports={BotResponse,BotRunService,BotUpdateHandlersTag,MESSAGE_EFFECTS,defaultBaseUrl,defineBot,isMessageEffect,launchBot,makeTgBotClient,messageEffectIdCodes,runTgChatBot});
22
+ `)}`:this.toString():"Bun"in globalThis?eo(Ye(this),{renderErrorCause:!0}):this}}return Object.assign(t.prototype,dr),t}(),kt=(t,e)=>{class r extends no{_tag=e}return Object.assign(r.prototype,t),r.prototype.name=e,r},hs=Symbol.for("effect/Cause/errors/RuntimeException"),kl=kt({[hs]:hs},"RuntimeException");var ms=Symbol.for("effect/Cause/errors/InterruptedException"),Il=kt({[ms]:ms},"InterruptedException");var xs=Symbol.for("effect/Cause/errors/IllegalArgument"),Al=kt({[xs]:xs},"IllegalArgumentException");var gs=Symbol.for("effect/Cause/errors/NoSuchElement"),Ml=kt({[gs]:gs},"NoSuchElementException");var _s=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),vl=kt({[_s]:_s},"InvalidPubSubCapacityException"),ys=Symbol.for("effect/Cause/errors/ExceededCapacityException"),wl=kt({[ys]:ys},"ExceededCapacityException");var Os=Symbol.for("effect/Cause/errors/Timeout"),Tl=kt({[Os]:Os},"TimeoutException");var bs=t=>Nc(t)&&"_tag"in t&&(t._tag==="Success"||t._tag==="Failure");var jc=t=>{let e=t.currentSpan;return e!==void 0&&e._tag==="Span"?Q(e):R()};var le=ts,Es=t=>{class e extends le{_tag=t}return e};var Gc=function(){let t=Symbol.for("effect/Data/Error/plainArgs");return class extends no{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0),r&&(Object.assign(this,r),Object.defineProperty(this,t,{value:r,enumerable:!1}))}toJSON(){return{...this[t],...this}}}}(),Dt=t=>{class e extends Gc{_tag=t}return e.prototype.name=t,e};var fe=class t extends Es("BotResponse"){static make(e){return new t({response:e})}static ignore=new t({})},dt=class extends At("BotUpdateHandlers")(){};var Cs=t=>{for(let[e,r]of Object.entries(t))if(e!="update_id")return{type:e,...r}};var ks=t=>{let e=t[0];for(let r=1;r<t.length;r++)e+=t[r]==="_"?t[++r].toUpperCase():t[r];return e};var Y=class t extends Dt("TgBotClientError"){static missingSuccess=new t({reason:{type:"ClientInternalError",cause:"Expected 'success' to be defined"}})};var Is=t=>typeof t=="object"&&t!=null&&"file_content"in t&&t.file_content instanceof Uint8Array&&"file_name"in t&&typeof t.file_name=="string",As=t=>typeof t=="object"&&t!=null&&"ok"in t&&typeof t.ok=="boolean",Ms=t=>typeof t=="object"&&t!=null&&"bot_token"in t&&typeof t.bot_token=="string";var vs=t=>{let e=Object.entries(t);if(e.length==0)return;let r=new FormData;for(let[o,n]of e)n&&(typeof n!="object"?r.append(o,`${n}`):Is(n)?r.append(o,new Blob([n.file_content]),n.file_name):r.append(o,JSON.stringify(n)));return r};var it=(t,e)=>I(function*(){let r=yield*w(H),o=yield*$({try:()=>fetch(`${r.base_url}/bot${r.bot_token}/${ks(t)}`,{body:vs(e)??null,method:"POST"}),catch:s=>new Y({reason:{type:"ClientInternalError",cause:s}})}),n=yield*$({try:()=>o.json(),catch:()=>new Y({reason:{type:"UnexpectedResponse",response:o}})});return As(n)?o.ok?n.result:yield*F(new Y({reason:{type:"NotOkResponse",...n.error_code?{errorCode:n.error_code}:void 0,...n.description?{details:n.description}:void 0}})):yield*F(new Y({reason:{type:"UnexpectedResponse",response:n}}))});var de=class t extends le{static make(e){let r=e.batch_size??10,o=e.poll_timeout??10,n=e.max_empty_responses,s=e.log_level??"info",i=e.on_error;(r<10||r>100)&&(console.warn("Wrong batch_size, must be in [10..100], using 10 instead"),r=10),(o<2||o>10)&&(console.warn("Wrong poll_timeout, must be in [2..10], using 2 instead"),o=10),n&&n<2&&(console.warn("Wrong max_empty_responses, must be in [2..infinity], using infinity"),n=void 0),s||(s="info"),i||(i="stop");let c=new t({batch_size:r,poll_timeout:o,max_empty_responses:n,log_level:s,on_error:i});return console.log("bot poll settings",c),c}},K=class extends J()("BotSettings",{defaultValue(){return de.make({})}}){};var he=class extends le{},ws=t=>I(function*(){let e=yield*w(K),r=yield*w(dt);return r.type=="single"?yield*$c(t,r,e):yield*Jc(t,r,e)}),Jc=(t,e,r)=>Pr({try:()=>e.on_batch(t),catch:o=>o}).pipe(j(o=>o instanceof Promise?$({try:()=>o,catch:n=>n}):k(o)),j(o=>new he({hasErrors:!o,updates:t})),Fe(o=>(console.log("handle batch error",{errorMessage:o instanceof Error?o.message:void 0,updates:t.map(n=>Object.keys(n).at(1))}),k(new he({hasErrors:!0,updates:t}))))),jt=class extends Dt("HandleUpdateError"){},$c=(t,e,r)=>Hr(t,o=>Vc(o,e).pipe(Fe(n=>(console.log("update handle error",{updateId:o.update_id,updateKey:Object.keys(o).at(1),name:n._tag,...n.cause instanceof Error?{error:n.cause.message}:void 0}),k(n)))),{concurrency:10}).pipe(j(o=>(r.log_level=="debug"&&console.debug("handle batch result",o),new he({hasErrors:!o.every(n=>n==null),updates:t})))),Vc=(t,e)=>I(function*(){let r=Cs(t);if(!r)return yield*F(new jt({name:"UnknownUpdate",update:t}));let o=e[`on_${r.type}`];if(!o)return yield*F(new jt({name:"HandlerNotDefined",update:t}));r.type=="message"&&"text"in r&&console.info("Got a new text message",{chatId:r.chat.id,chatType:r.chat.type,message:`${r.text.slice(0,5)}...`});let n,s=yield*Pr({try:()=>o(r),catch:c=>new jt({name:"BotHandlerError",update:t,cause:c})}).pipe(j(c=>c instanceof Promise?$({try:()=>c,catch:a=>new jt({name:"BotHandlerError",update:t,cause:a})}):k(c)),Fe(c=>(n=c,console.log("error",{updateId:t.update_id,updateKey:Object.keys(t).at(1),name:c._tag,...c.cause instanceof Error?{error:c.cause.message}:void 0}),k(fe.make({type:"message",text:`Some internal error has happend(${c.name}) while handling this message`,message_effect_id:ne["\u{1F4A9}"],...t.message?.message_id?{reply_parameters:{message_id:t.message?.message_id}}:void 0}))))),i=yield*w(K);if(!s&&i.log_level=="debug"){console.log(`Bot response is undefined for update with ID #${t.update_id}.`);return}if("chat"in r&&s.response){let c=yield*it(`send_${s.response.type}`,{...s.response,chat_id:r.chat.id});i.log_level=="debug"&&console.debug("bot response",c)}return n});var Qe=class extends J()("BotFetchUpdatesService",{defaultValue:()=>{let e={lastUpdateId:void 0,emptyResponses:0},r=Yc(e).pipe(oe(n=>{let s=n.map(i=>i.update_id).sort().at(-1);console.log("updating last update id",s),e.lastUpdateId=s?s+1:void 0,console.log(e)})),o=Kc(e);return{state:e,fetchUpdates:r,commit:o}}}){},Xe=class extends Dt("FetchUpdatesError"){},Yc=t=>I(function*(){let e=yield*w(K);if(e.max_empty_responses&&t.emptyResponses==e.max_empty_responses)return yield*F(new Xe({name:"TooManyEmptyResponses"}));let r=t.lastUpdateId;e.log_level=="debug"&&console.debug("getting updates",t);let o=yield*it("get_updates",{timeout:e.poll_timeout,...r?{offset:r}:void 0}).pipe(j(n=>n.sort(s=>s.update_id)));return o.length?(console.debug(`got a batch of updates (${o.length})`),t.emptyResponses=0,o):(t.emptyResponses+=1,[])}),Kc=t=>I(function*(){return console.log("commit",{pollState:t}),t.lastUpdateId?yield*it("get_updates",{offset:t.lastUpdateId,limit:0}).pipe(j(j(w(K),e=>{e.log_level=="debug"&&console.debug("committed offset",t)}))):yield*F(new Xe({name:"NoUpdatesToCommit"}))});var me=class extends J()("BotRunService",{defaultValue:()=>{console.log("Initiating BotRunService");let e={fiber:void 0};return{runBotInBackground:Zc(e),getFiber:()=>e.fiber}}}){},Zc=t=>I(function*(){console.log("run bot");let e=yield*w(Qe),r=yn(1e3)(e.fetchUpdates.pipe(j(o=>ws(o)),oe(({updates:o})=>o.length>0?e.commit:Ot))).pipe(xn({while:o=>!o.hasErrors}),Sn,oe(o=>o.addObserver(n=>{console.log("bot's fiber has been closed",n)})));t.fiber&&(console.log("killing previous bot's fiber"),yield*cn(t.fiber)),t.fiber=yield*r,console.log("Fetching bot updates via long polling...")});var Ts=t=>I(function*(){if(t.type=="config")return se(t);let e=yield*$({try:async()=>{let{readFileSync:r}=await import("fs");return JSON.parse(await r("config.json","utf-8"))},catch:r=>(console.warn("invalid tg bot config",r),"ReadingConfigError")});return Ms(e)?se(e):yield*F("InvalidConfig")});var so=t=>I(function*(){let e=Yo(H,yield*Ts(t)),r=yield*w(me);return yield*r.runBotInBackground.pipe(Ur(e),rt(dt,t.mode),rt(K,de.make(t.poll??{}))),{reload:n=>r.runBotInBackground.pipe(rt(dt,n),Ur(e),bt),fiber:r.getFiber}});var Qc=t=>so(t).pipe(bt),Xc=t=>(Object.keys(t).length==0&&console.warn("No handlers are defined for bot"),t);var Rs=t=>I(function*(){let e=yield*it("get_file",{file_id:t}),r=yield*w(H),o=e.file_path;if(!o||o.length==0)return yield*F(new Y({reason:{type:"UnableToGetFile",cause:"File path not defined"}}));let n=o.replaceAll("/","-"),s=`${r.base_url}/file/bot${r.bot_token}/${o}`,i=yield*$({try:()=>fetch(s).then(a=>a.arrayBuffer()),catch:a=>new Y({reason:{type:"UnableToGetFile",cause:a}})});return new File([new Uint8Array(i)],n)});var xe=class extends At("ClientFileService")(){},Fs=I(function*(){return{getFile:t=>Rs(t.file_id)}});var ta=t=>{let e=se(t);return I(function*(){let o=yield*w(xe);return{execute:(n,s)=>it(n,s).pipe(rt(H,e),bt),getFile:n=>o.getFile(n).pipe(rt(H,e),bt)}}).pipe(mn(xe,Fs),rt(H,e),En)};0&&(module.exports={BotResponse,BotRunService,BotUpdateHandlersTag,MESSAGE_EFFECTS,defaultBaseUrl,defineBot,isMessageEffect,launchBot,makeTgBotClient,messageEffectIdCodes,runTgChatBot});
package/dist/index.mjs CHANGED
@@ -1,22 +1,22 @@
1
- var Ze=t=>typeof t=="function",u=function(t,e){if(typeof t=="function")return function(){return t(arguments)?e.apply(this,arguments):r=>e(r,...arguments)};switch(t){case 0:case 1:throw new RangeError(`Invalid arity ${t}`);case 2:return function(r,o){return arguments.length>=2?e(r,o):function(n){return e(n,r)}};case 3:return function(r,o,n){return arguments.length>=3?e(r,o,n):function(s){return e(s,r,o)}};case 4:return function(r,o,n,s){return arguments.length>=4?e(r,o,n,s):function(i){return e(i,r,o,n)}};case 5:return function(r,o,n,s,i){return arguments.length>=5?e(r,o,n,s,i):function(c){return e(c,r,o,n,s)}};default:return function(){if(arguments.length>=t)return e.apply(this,arguments);let r=arguments;return function(o){return e(o,...r)}}}};var R=t=>t;var Qe=t=>()=>t,fe=Qe(!0),Xe=Qe(!1);var tr=Qe(void 0),oo=tr;function b(t,e,r,o,n,s,i,c,a){switch(arguments.length){case 1:return t;case 2:return e(t);case 3:return r(e(t));case 4:return o(r(e(t)));case 5:return n(o(r(e(t))));case 6:return s(n(o(r(e(t)))));case 7:return i(s(n(o(r(e(t))))));case 8:return c(i(s(n(o(r(e(t)))))));case 9:return a(c(i(s(n(o(r(e(t))))))));default:{let p=arguments[0];for(let h=1;h<arguments.length;h++)p=arguments[h](p);return p}}}var no=t=>(e,r)=>e===r||t(e,r);var Ls="3.12.0",de=()=>Ls;var rr=Symbol.for(`effect/GlobalValue/globalStoreId/${de()}`);rr in globalThis||(globalThis[rr]=new Map);var er=globalThis[rr],B=(t,e)=>(er.has(t)||er.set(t,e()),er.get(t));var zt=Ze;var Hs=t=>typeof t=="object"&&t!==null,or=t=>Hs(t)||zt(t),_=u(2,(t,e)=>or(t)&&e in t),nr=u(2,(t,e)=>_(t,"_tag")&&t._tag===e);var Jt=t=>`BUG: ${t} - please report an issue at https://github.com/Effect-TS/effect/issues`;var io=Symbol.for("effect/Gen/GenKind");var co=class{value;constructor(e){this.value=e}get _F(){return R}get _R(){return e=>e}get _O(){return e=>e}get _E(){return e=>e}[io]=io;[Symbol.iterator](){return new xt(this)}},xt=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var sr=Symbol.for("effect/Utils/YieldWrap"),z=class{#t;constructor(e){this.#t=e}[sr](){return this.#t}};function ao(t){if(typeof t=="object"&&t!==null&&sr in t)return t[sr]();throw new Error(Jt("yieldWrapGet"))}var N=B("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var Vc=function*(){}.constructor;var ir=B(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),f=Symbol.for("effect/Hash"),l=t=>{if(N.enabled===!0)return 0;switch(typeof t){case"number":return me(t);case"bigint":return q(t.toString(10));case"boolean":return q(String(t));case"symbol":return q(String(t));case"string":return q(t);case"undefined":return q("undefined");case"function":case"object":return t===null?q("null"):t instanceof Date?l(t.toISOString()):Bs(t)?t[f]():It(t);default:throw new Error(`BUG: unhandled typeof ${typeof t} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},It=t=>(ir.has(t)||ir.set(t,me(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))),ir.get(t)),M=t=>e=>e*53^t,he=t=>t&3221225471|t>>>1&1073741824,Bs=t=>_(t,f),me=t=>{if(t!==t||t===1/0)return 0;let e=t|0;for(e!==t&&(e^=t*4294967295);t>4294967295;)e^=t/=4294967295;return he(e)},q=t=>{let e=5381,r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return he(e)},qs=(t,e)=>{let r=12289;for(let o=0;o<e.length;o++)r^=b(q(e[o]),M(l(t[e[o]])));return he(r)},po=t=>qs(t,Object.keys(t)),xe=t=>{let e=6151;for(let r=0;r<t.length;r++)e=b(e,M(l(t[r])));return he(e)},S=function(){if(arguments.length===1){let r=arguments[0];return function(o){return Object.defineProperty(r,f,{value(){return o},enumerable:!1}),o}}let t=arguments[0],e=arguments[1];return Object.defineProperty(t,f,{value(){return e},enumerable:!1}),e};var m=Symbol.for("effect/Equal");function x(){return arguments.length===1?t=>ge(t,arguments[0]):ge(arguments[0],arguments[1])}function ge(t,e){if(t===e)return!0;let r=typeof t;if(r!==typeof e)return!1;if(r==="object"||r==="function"){if(t!==null&&e!==null){if(uo(t)&&uo(e))return l(t)===l(e)&&t[m](e)?!0:N.enabled&&N.tester?N.tester(t,e):!1;if(t instanceof Date&&e instanceof Date)return t.toISOString()===e.toISOString()}if(N.enabled){if(Array.isArray(t)&&Array.isArray(e))return t.length===e.length&&t.every((o,n)=>ge(o,e[n]));if(Object.getPrototypeOf(t)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let o=Object.keys(t),n=Object.keys(e);if(o.length===n.length){for(let s of o)if(!(s in e&&ge(t[s],e[s])))return N.tester?N.tester(t,e):!1;return!0}}return N.tester?N.tester(t,e):!1}}return N.enabled&&N.tester?N.tester(t,e):!1}var uo=t=>_(t,m);var y=Symbol.for("nodejs.util.inspect.custom"),O=t=>{try{if(_(t,"toJSON")&&zt(t.toJSON)&&t.toJSON.length===0)return t.toJSON();if(Array.isArray(t))return t.map(O)}catch{return{}}return Ds(t)},E=t=>JSON.stringify(t,null,2),na={toJSON(){return O(this)},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},lo=class{[y](){return this.toJSON()}toString(){return E(this.toJSON())}},fo=(t,e=2)=>{if(typeof t=="string")return t;try{return typeof t=="object"?cr(t,e):String(t)}catch{return String(t)}},cr=(t,e)=>{let r=[],o=JSON.stringify(t,(n,s)=>typeof s=="object"&&s!==null?r.includes(s)?void 0:r.push(s)&&(_e.fiberRefs!==void 0&&ho(s)?s[ar](_e.fiberRefs):s):s,e);return r=void 0,o},ar=Symbol.for("effect/Inspectable/Redactable"),ho=t=>typeof t=="object"&&t!==null&&ar in t,_e=B("effect/Inspectable/redactableState",()=>({fiberRefs:void 0}));var Ds=t=>ho(t)&&_e.fiberRefs!==void 0?t[ar](_e.fiberRefs):t;var C=(t,e)=>{switch(e.length){case 0:return t;case 1:return e[0](t);case 2:return e[1](e[0](t));case 3:return e[2](e[1](e[0](t)));case 4:return e[3](e[2](e[1](e[0](t))));case 5:return e[4](e[3](e[2](e[1](e[0](t)))));case 6:return e[5](e[4](e[3](e[2](e[1](e[0](t))))));case 7:return e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))));case 8:return e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t))))))));case 9:return e[8](e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))))));default:{let r=t;for(let o=0,n=e.length;o<n;o++)r=e[o](r);return r}}};var pr="Commit",mo="Failure";var xo="WithRuntime";var _o=Symbol.for("effect/Effect"),yo=Symbol.for("effect/Stream"),Oo=Symbol.for("effect/Sink"),So=Symbol.for("effect/Channel"),ct={_R:t=>t,_E:t=>t,_A:t=>t,_V:de()},js={_A:t=>t,_In:t=>t,_L:t=>t,_E:t=>t,_R:t=>t},Ws={_Env:t=>t,_InErr:t=>t,_InElem:t=>t,_InDone:t=>t,_OutErr:t=>t,_OutElem:t=>t,_OutDone:t=>t},Z={[_o]:ct,[yo]:ct,[Oo]:js,[So]:Ws,[m](t){return this===t},[f](){return S(this,It(this))},[Symbol.iterator](){return new xt(new z(this))},pipe(){return C(this,arguments)}},ur={[f](){return S(this,po(this))},[m](t){let e=Object.keys(this),r=Object.keys(t);if(e.length!==r.length)return!1;for(let o of e)if(!(o in t&&x(this[o],t[o])))return!1;return!0}},lr={...Z,_op:pr},fr={...lr,...ur};var bo=Symbol.for("effect/Option"),Eo={...Z,[bo]:{_A:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},zs=Object.assign(Object.create(Eo),{_tag:"Some",_op:"Some",[m](t){return dr(t)&&mr(t)&&x(this.value,t.value)},[f](){return S(this,M(l(this._tag))(l(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:O(this.value)}}}),Js=l("None"),$s=Object.assign(Object.create(Eo),{_tag:"None",_op:"None",[m](t){return dr(t)&&hr(t)},[f](){return Js},toJSON(){return{_id:"Option",_tag:this._tag}}}),dr=t=>_(t,bo),hr=t=>t._tag==="None",mr=t=>t._tag==="Some",Co=Object.create($s),ko=t=>{let e=Object.create(zs);return e.value=t,e};var xr=Symbol.for("effect/Either"),Io={...Z,[xr]:{_R:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},Ys=Object.assign(Object.create(Io),{_tag:"Right",_op:"Right",[m](t){return gr(t)&&Ao(t)&&x(this.right,t.right)},[f](){return M(l(this._tag))(l(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:O(this.right)}}}),Ks=Object.assign(Object.create(Io),{_tag:"Left",_op:"Left",[m](t){return gr(t)&&vo(t)&&x(this.left,t.left)},[f](){return M(l(this._tag))(l(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:O(this.left)}}}),gr=t=>_(t,xr),vo=t=>t._tag==="Left",Ao=t=>t._tag==="Right",Mo=t=>{let e=Object.create(Ks);return e.left=t,e},wo=t=>{let e=Object.create(Ys);return e.right=t,e};var $t=wo,_r=Mo;var F=()=>Co,Q=ko;var U=hr,at=mr;var To=u(2,(t,e)=>U(t)?e():t.value);var Ro=To(tr);var Yt=t=>Array.isArray(t)?t:Array.from(t);var Sa=Array.isArray;var yr=t=>Array.from(t).reverse();var Or=u(3,(t,e,r)=>Yt(t).reduce((o,n,s)=>r(o,n,s),e));var Fo=Symbol.for("effect/Context/Tag"),ye=Symbol.for("effect/Context/Reference"),Xs="effect/STM",ti=Symbol.for(Xs),Po={...Z,_op:"Tag",[ti]:ct,[Fo]:{_Service:t=>t,_Identifier:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[y](){return this.toJSON()},of(t){return t},context(t){return Cr(this,t)}},ei={...Po,[ye]:ye};var No=t=>()=>{let e=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=new Error;Error.stackTraceLimit=e;function o(){}return Object.setPrototypeOf(o,Po),o.key=t,Object.defineProperty(o,"stack",{get(){return r.stack}}),o},Uo=()=>(t,e)=>{let r=Error.stackTraceLimit;Error.stackTraceLimit=2;let o=new Error;Error.stackTraceLimit=r;function n(){}return Object.setPrototypeOf(n,ei),n.key=t,n.defaultValue=e.defaultValue,Object.defineProperty(n,"stack",{get(){return o.stack}}),n},Er=Symbol.for("effect/Context"),ri={[Er]:{_Services:t=>t},[m](t){if(Lo(t)&&this.unsafeMap.size===t.unsafeMap.size){for(let e of this.unsafeMap.keys())if(!t.unsafeMap.has(e)||!x(this.unsafeMap.get(e),t.unsafeMap.get(e)))return!1;return!0}return!1},[f](){return S(this,me(this.unsafeMap.size))},pipe(){return C(this,arguments)},toString(){return E(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(O)}},[y](){return this.toJSON()}},Oe=t=>{let e=Object.create(ri);return e.unsafeMap=t,e},oi=t=>{let e=new Error(`Service not found${t.key?`: ${String(t.key)}`:""}`);if(t.stack){let r=t.stack.split(`
1
+ var Xe=t=>typeof t=="function",u=function(t,e){if(typeof t=="function")return function(){return t(arguments)?e.apply(this,arguments):r=>e(r,...arguments)};switch(t){case 0:case 1:throw new RangeError(`Invalid arity ${t}`);case 2:return function(r,o){return arguments.length>=2?e(r,o):function(n){return e(n,r)}};case 3:return function(r,o,n){return arguments.length>=3?e(r,o,n):function(s){return e(s,r,o)}};case 4:return function(r,o,n,s){return arguments.length>=4?e(r,o,n,s):function(i){return e(i,r,o,n)}};case 5:return function(r,o,n,s,i){return arguments.length>=5?e(r,o,n,s,i):function(c){return e(c,r,o,n,s)}};default:return function(){if(arguments.length>=t)return e.apply(this,arguments);let r=arguments;return function(o){return e(o,...r)}}}};var T=t=>t;var tr=t=>()=>t,he=tr(!0),er=tr(!1);var rr=tr(void 0),oo=rr;function b(t,e,r,o,n,s,i,c,a){switch(arguments.length){case 1:return t;case 2:return e(t);case 3:return r(e(t));case 4:return o(r(e(t)));case 5:return n(o(r(e(t))));case 6:return s(n(o(r(e(t)))));case 7:return i(s(n(o(r(e(t))))));case 8:return c(i(s(n(o(r(e(t)))))));case 9:return a(c(i(s(n(o(r(e(t))))))));default:{let p=arguments[0];for(let h=1;h<arguments.length;h++)p=arguments[h](p);return p}}}var no=t=>(e,r)=>e===r||t(e,r);var Us="3.14.7",me=()=>Us;var io=`effect/GlobalValue/globalStoreId/${me()}`,Jt,B=(t,e)=>(Jt||(globalThis[io]??=new Map,Jt=globalThis[io]),Jt.has(t)||Jt.set(t,e()),Jt.get(t));var $t=Xe;var Ls=t=>typeof t=="object"&&t!==null,or=t=>Ls(t)||$t(t),_=u(2,(t,e)=>or(t)&&e in t),nr=u(2,(t,e)=>_(t,"_tag")&&t._tag===e);var Vt=t=>`BUG: ${t} - please report an issue at https://github.com/Effect-TS/effect/issues`;var co=Symbol.for("effect/Gen/GenKind");var ao=class{value;constructor(e){this.value=e}get _F(){return T}get _R(){return e=>e}get _O(){return e=>e}get _E(){return e=>e}[co]=co;[Symbol.iterator](){return new gt(this)}},gt=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var sr=Symbol.for("effect/Utils/YieldWrap"),z=class{#t;constructor(e){this.#t=e}[sr](){return this.#t}};function po(t){if(typeof t=="object"&&t!==null&&sr in t)return t[sr]();throw new Error(Vt("yieldWrapGet"))}var N=B("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var $c=function*(){}.constructor;var ir=B(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),f=Symbol.for("effect/Hash"),l=t=>{if(N.enabled===!0)return 0;switch(typeof t){case"number":return ge(t);case"bigint":return q(t.toString(10));case"boolean":return q(String(t));case"symbol":return q(String(t));case"string":return q(t);case"undefined":return q("undefined");case"function":case"object":return t===null?q("null"):t instanceof Date?l(t.toISOString()):t instanceof URL?l(t.href):Hs(t)?t[f]():It(t);default:throw new Error(`BUG: unhandled typeof ${typeof t} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},It=t=>(ir.has(t)||ir.set(t,ge(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER))),ir.get(t)),v=t=>e=>e*53^t,xe=t=>t&3221225471|t>>>1&1073741824,Hs=t=>_(t,f),ge=t=>{if(t!==t||t===1/0)return 0;let e=t|0;for(e!==t&&(e^=t*4294967295);t>4294967295;)e^=t/=4294967295;return xe(e)},q=t=>{let e=5381,r=t.length;for(;r;)e=e*33^t.charCodeAt(--r);return xe(e)},Bs=(t,e)=>{let r=12289;for(let o=0;o<e.length;o++)r^=b(q(e[o]),v(l(t[e[o]])));return xe(r)},uo=t=>Bs(t,Object.keys(t)),_e=t=>{let e=6151;for(let r=0;r<t.length;r++)e=b(e,v(l(t[r])));return xe(e)},S=function(){if(arguments.length===1){let r=arguments[0];return function(o){return Object.defineProperty(r,f,{value(){return o},enumerable:!1}),o}}let t=arguments[0],e=arguments[1];return Object.defineProperty(t,f,{value(){return e},enumerable:!1}),e};var m=Symbol.for("effect/Equal");function x(){return arguments.length===1?t=>ye(t,arguments[0]):ye(arguments[0],arguments[1])}function ye(t,e){if(t===e)return!0;let r=typeof t;if(r!==typeof e)return!1;if(r==="object"||r==="function"){if(t!==null&&e!==null){if(lo(t)&&lo(e))return l(t)===l(e)&&t[m](e)?!0:N.enabled&&N.tester?N.tester(t,e):!1;if(t instanceof Date&&e instanceof Date)return t.toISOString()===e.toISOString();if(t instanceof URL&&e instanceof URL)return t.href===e.href}if(N.enabled){if(Array.isArray(t)&&Array.isArray(e))return t.length===e.length&&t.every((o,n)=>ye(o,e[n]));if(Object.getPrototypeOf(t)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let o=Object.keys(t),n=Object.keys(e);if(o.length===n.length){for(let s of o)if(!(s in e&&ye(t[s],e[s])))return N.tester?N.tester(t,e):!1;return!0}}return N.tester?N.tester(t,e):!1}}return N.enabled&&N.tester?N.tester(t,e):!1}var lo=t=>_(t,m);var y=Symbol.for("nodejs.util.inspect.custom"),O=t=>{try{if(_(t,"toJSON")&&$t(t.toJSON)&&t.toJSON.length===0)return t.toJSON();if(Array.isArray(t))return t.map(O)}catch{return{}}return qs(t)},E=t=>JSON.stringify(t,null,2),oa={toJSON(){return O(this)},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},fo=class{[y](){return this.toJSON()}toString(){return E(this.toJSON())}},ho=(t,e=2)=>{if(typeof t=="string")return t;try{return typeof t=="object"?cr(t,e):String(t)}catch{return String(t)}},cr=(t,e)=>{let r=[],o=JSON.stringify(t,(n,s)=>typeof s=="object"&&s!==null?r.includes(s)?void 0:r.push(s)&&(Oe.fiberRefs!==void 0&&mo(s)?s[ar](Oe.fiberRefs):s):s,e);return r=void 0,o},ar=Symbol.for("effect/Inspectable/Redactable"),mo=t=>typeof t=="object"&&t!==null&&ar in t,Oe=B("effect/Inspectable/redactableState",()=>({fiberRefs:void 0}));var qs=t=>mo(t)&&Oe.fiberRefs!==void 0?t[ar](Oe.fiberRefs):t;var C=(t,e)=>{switch(e.length){case 0:return t;case 1:return e[0](t);case 2:return e[1](e[0](t));case 3:return e[2](e[1](e[0](t)));case 4:return e[3](e[2](e[1](e[0](t))));case 5:return e[4](e[3](e[2](e[1](e[0](t)))));case 6:return e[5](e[4](e[3](e[2](e[1](e[0](t))))));case 7:return e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))));case 8:return e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t))))))));case 9:return e[8](e[7](e[6](e[5](e[4](e[3](e[2](e[1](e[0](t)))))))));default:{let r=t;for(let o=0,n=e.length;o<n;o++)r=e[o](r);return r}}};var pr="Commit",xo="Failure";var go="WithRuntime";var yo=Symbol.for("effect/Effect"),Oo=Symbol.for("effect/Stream"),So=Symbol.for("effect/Sink"),bo=Symbol.for("effect/Channel"),ct={_R:t=>t,_E:t=>t,_A:t=>t,_V:me()},Ds={_A:t=>t,_In:t=>t,_L:t=>t,_E:t=>t,_R:t=>t},js={_Env:t=>t,_InErr:t=>t,_InElem:t=>t,_InDone:t=>t,_OutErr:t=>t,_OutElem:t=>t,_OutDone:t=>t},Z={[yo]:ct,[Oo]:ct,[So]:Ds,[bo]:js,[m](t){return this===t},[f](){return S(this,It(this))},[Symbol.iterator](){return new gt(new z(this))},pipe(){return C(this,arguments)}},ur={[f](){return S(this,uo(this))},[m](t){let e=Object.keys(this),r=Object.keys(t);if(e.length!==r.length)return!1;for(let o of e)if(!(o in t&&x(this[o],t[o])))return!1;return!0}},lr={...Z,_op:pr},fr={...lr,...ur};var Eo=Symbol.for("effect/Option"),Co={...Z,[Eo]:{_A:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},Gs=Object.assign(Object.create(Co),{_tag:"Some",_op:"Some",[m](t){return dr(t)&&mr(t)&&x(this.value,t.value)},[f](){return S(this,v(l(this._tag))(l(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:O(this.value)}}}),zs=l("None"),Js=Object.assign(Object.create(Co),{_tag:"None",_op:"None",[m](t){return dr(t)&&hr(t)},[f](){return zs},toJSON(){return{_id:"Option",_tag:this._tag}}}),dr=t=>_(t,Eo),hr=t=>t._tag==="None",mr=t=>t._tag==="Some",ko=Object.create(Js),Io=t=>{let e=Object.create(Gs);return e.value=t,e};var xr=Symbol.for("effect/Either"),Ao={...Z,[xr]:{_R:t=>t},[y](){return this.toJSON()},toString(){return E(this.toJSON())}},Vs=Object.assign(Object.create(Ao),{_tag:"Right",_op:"Right",[m](t){return gr(t)&&vo(t)&&x(this.right,t.right)},[f](){return v(l(this._tag))(l(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:O(this.right)}}}),Ys=Object.assign(Object.create(Ao),{_tag:"Left",_op:"Left",[m](t){return gr(t)&&Mo(t)&&x(this.left,t.left)},[f](){return v(l(this._tag))(l(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:O(this.left)}}}),gr=t=>_(t,xr),Mo=t=>t._tag==="Left",vo=t=>t._tag==="Right",wo=t=>{let e=Object.create(Ys);return e.left=t,e},To=t=>{let e=Object.create(Vs);return e.right=t,e};var Yt=To;var _r=wo;var R=()=>ko,Q=Io;var U=hr,at=mr;var Ro=u(2,(t,e)=>U(t)?e():t.value);var Fo=Ro(rr);var Zt=t=>Array.isArray(t)?t:Array.from(t);var Oa=Array.isArray;var yr=t=>Array.from(t).reverse();var Or=u(3,(t,e,r)=>Zt(t).reduce((o,n,s)=>r(o,n,s),e));var Po=Symbol.for("effect/Context/Tag"),Se=Symbol.for("effect/Context/Reference"),Qs="effect/STM",Xs=Symbol.for(Qs),No={...Z,_op:"Tag",[Xs]:ct,[Po]:{_Service:t=>t,_Identifier:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[y](){return this.toJSON()},of(t){return t},context(t){return Cr(this,t)}},ti={...No,[Se]:Se};var Uo=t=>()=>{let e=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=new Error;Error.stackTraceLimit=e;function o(){}return Object.setPrototypeOf(o,No),o.key=t,Object.defineProperty(o,"stack",{get(){return r.stack}}),o},Lo=()=>(t,e)=>{let r=Error.stackTraceLimit;Error.stackTraceLimit=2;let o=new Error;Error.stackTraceLimit=r;function n(){}return Object.setPrototypeOf(n,ti),n.key=t,n.defaultValue=e.defaultValue,Object.defineProperty(n,"stack",{get(){return o.stack}}),n},Er=Symbol.for("effect/Context"),ei={[Er]:{_Services:t=>t},[m](t){if(Ho(t)&&this.unsafeMap.size===t.unsafeMap.size){for(let e of this.unsafeMap.keys())if(!t.unsafeMap.has(e)||!x(this.unsafeMap.get(e),t.unsafeMap.get(e)))return!1;return!0}return!1},[f](){return S(this,ge(this.unsafeMap.size))},pipe(){return C(this,arguments)},toString(){return E(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(O)}},[y](){return this.toJSON()}},be=t=>{let e=Object.create(ei);return e.unsafeMap=t,e},ri=t=>{let e=new Error(`Service not found${t.key?`: ${String(t.key)}`:""}`);if(t.stack){let r=t.stack.split(`
2
2
  `);if(r.length>2){let o=r[2].match(/at (.*)/);o&&(e.message=e.message+` (defined at ${o[1]})`)}}if(e.stack){let r=e.stack.split(`
3
3
  `);r.splice(1,3),e.stack=r.join(`
4
- `)}return e},Lo=t=>_(t,Er);var Cr=(t,e)=>Oe(new Map([[t.key,e]])),Ho=u(3,(t,e,r)=>{let o=new Map(t.unsafeMap);return o.set(e.key,r),Oe(o)}),br=B("effect/Context/defaultValueCache",()=>new Map),Bo=t=>{if(br.has(t.key))return br.get(t.key);let e=t.defaultValue();return br.set(t.key,e),e},qo=(t,e)=>t.unsafeMap.has(e.key)?t.unsafeMap.get(e.key):Bo(e),Do=u(2,(t,e)=>{if(!t.unsafeMap.has(e.key)){if(ye in e)return Bo(e);throw oi(e)}return t.unsafeMap.get(e.key)});var jo=u(2,(t,e)=>{let r=new Map(t.unsafeMap);for(let[o,n]of e.unsafeMap)r.set(o,n);return Oe(r)});var Go=Cr,zo=Ho;var Jo=Do;var $o=jo;var vt=No,J=Uo;var Vo=Z;var Xo=Symbol.for("effect/Micro"),Se=Symbol.for("effect/Micro/MicroExit"),Kt=t=>typeof t=="object"&&t!==null&&Xo in t,Yo=Symbol.for("effect/Micro/MicroCause");var si={_E:R},Zt=class extends globalThis.Error{_tag;traces;[Yo];constructor(e,r,o){let n=`MicroCause.${e}`,s,i,c;if(r instanceof globalThis.Error){s=`(${n}) ${r.name}`,i=r.message;let a=i.split(`
4
+ `)}return e},Ho=t=>_(t,Er);var Cr=(t,e)=>be(new Map([[t.key,e]])),Bo=u(3,(t,e,r)=>{let o=new Map(t.unsafeMap);return o.set(e.key,r),be(o)}),br=B("effect/Context/defaultValueCache",()=>new Map),qo=t=>{if(br.has(t.key))return br.get(t.key);let e=t.defaultValue();return br.set(t.key,e),e},Do=(t,e)=>t.unsafeMap.has(e.key)?t.unsafeMap.get(e.key):qo(e),jo=u(2,(t,e)=>{if(!t.unsafeMap.has(e.key)){if(Se in e)return qo(e);throw ri(e)}return t.unsafeMap.get(e.key)});var Wo=u(2,(t,e)=>{let r=new Map(t.unsafeMap);for(let[o,n]of e.unsafeMap)r.set(o,n);return be(r)});var zo=Cr,Jo=Bo;var $o=jo;var Vo=Wo;var At=Uo,J=Lo;var Yo=Z;var tn=Symbol.for("effect/Micro"),Ee=Symbol.for("effect/Micro/MicroExit"),Qt=t=>typeof t=="object"&&t!==null&&tn in t,Ko=Symbol.for("effect/Micro/MicroCause");var ni={_E:T},Xt=class extends globalThis.Error{_tag;traces;[Ko];constructor(e,r,o){let n=`MicroCause.${e}`,s,i,c;if(r instanceof globalThis.Error){s=`(${n}) ${r.name}`,i=r.message;let a=i.split(`
5
5
  `).length;c=r.stack?`(${n}) ${r.stack.split(`
6
6
  `).slice(0,a+3).join(`
7
- `)}`:`${s}: ${i}`}else s=n,i=fo(r,0),c=`${s}: ${i}`;o.length>0&&(c+=`
7
+ `)}`:`${s}: ${i}`}else s=n,i=ho(r,0),c=`${s}: ${i}`;o.length>0&&(c+=`
8
8
  ${o.join(`
9
- `)}`),super(i),this._tag=e,this.traces=o,this[Yo]=si,this.name=s,this.stack=c}pipe(){return C(this,arguments)}toString(){return this.stack}[y](){return this.stack}},Ir=class extends Zt{error;constructor(e,r=[]){super("Fail",e,r),this.error=e}},ii=(t,e=[])=>new Ir(t,e),vr=class extends Zt{defect;constructor(e,r=[]){super("Die",e,r),this.defect=e}},ci=(t,e=[])=>new vr(t,e),Ar=class extends Zt{constructor(e=[]){super("Interrupt","interrupted",e)}},ai=(t=[])=>new Ar(t),pi=t=>t._tag==="Fail";var tn=t=>t._tag==="Interrupt";var Ko=Symbol.for("effect/Micro/MicroFiber"),ui={_A:R,_E:R},be=class{context;interruptible;[Ko];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(e,r=!0){this.context=e,this.interruptible=r,this[Ko]=ui}getRef(e){return qo(this.context,e)}addObserver(e){return this._exit?(e(this._exit),oo):(this._observers.push(e),()=>{let r=this._observers.indexOf(e);r>=0&&this._observers.splice(r,1)})}_interrupted=!1;unsafeInterrupt(){this._exit||(this._interrupted=!0,this.interruptible&&this.evaluate(Pr))}unsafePoll(){return this._exit}evaluate(e){if(this._exit)return;if(this._yielded!==void 0){let n=this._yielded;this._yielded=void 0,n()}let r=this.runLoop(e);if(r===At)return;let o=Zo.interruptChildren&&Zo.interruptChildren(this);if(o!==void 0)return this.evaluate(L(o,()=>r));this._exit=r;for(let n=0;n<this._observers.length;n++)this._observers[n](r);this._observers.length=0}runLoop(e){let r=!1,o=e;this.currentOpCount=0;try{for(;;){if(this.currentOpCount++,!r&&this.getRef(Tt).shouldYield(this)){r=!0;let n=o;o=L(nn,()=>n)}if(o=o[Mr](this),o===At){let n=this._yielded;return Se in n?(this._yielded=void 0,n):At}}}catch(n){return _(o,Mr)?Qt(n):Qt(`MicroFiber.runLoop: Not a valid effect: ${String(o)}`)}}getCont(e){for(;;){let r=this._stack.pop();if(!r)return;let o=r[Ee]&&r[Ee](this);if(o)return{[e]:o};if(r[e])return r}}_yielded=void 0;yieldWith(e){return this._yielded=e,At}children(){return this._children??=new Set}},Zo=B("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var li=t=>Ce(e=>wt(t.addObserver(r=>e(k(r)))));var en=t=>tt(()=>(t.unsafeInterrupt(),yi(li(t)))),fi=t=>tt(()=>{for(let o of t)o.unsafeInterrupt();let e=t[Symbol.iterator](),r=tt(()=>{let o=e.next();for(;!o.done;){if(o.value.unsafePoll()){o=e.next();continue}let n=o.value;return Ce(s=>{n.addObserver(i=>{s(r)})})}return yt});return r}),rn=Symbol.for("effect/Micro/identifier"),d=Symbol.for("effect/Micro/args"),Mr=Symbol.for("effect/Micro/evaluate"),X=Symbol.for("effect/Micro/successCont"),gt=Symbol.for("effect/Micro/failureCont"),Ee=Symbol.for("effect/Micro/ensureCont"),At=Symbol.for("effect/Micro/Yield"),di={_A:R,_E:R,_R:R},hi={...Vo,_op:"Micro",[Xo]:di,pipe(){return C(this,arguments)},[Symbol.iterator](){return new xt(new z(this))},toJSON(){return{_id:"Micro",op:this[rn],...d in this?{args:this[d]}:void 0}},toString(){return E(this)},[y](){return E(this)}};function mi(t){return Qt("Micro.evaluate: Not implemented")}var te=t=>({...hi,[rn]:t.op,[Mr]:t.eval??mi,[X]:t.contA,[gt]:t.contE,[Ee]:t.ensure}),et=t=>{let e=te(t);return function(){let r=Object.create(e);return r[d]=t.single===!1?arguments:arguments[0],r}},on=t=>{let e={...te(t),[Se]:Se,_tag:t.op,get[t.prop](){return this[d]},toJSON(){return{_id:"MicroExit",_tag:t.op,[t.prop]:this[d]}},[m](r){return bi(r)&&r._tag===t.op&&x(this[d],r[d])},[f](){return S(this,M(q(t.op))(l(this[d])))}};return function(r){let o=Object.create(e);return o[d]=r,o[X]=void 0,o[gt]=void 0,o[Ee]=void 0,o}},k=on({op:"Success",prop:"value",eval(t){let e=t.getCont(X);return e?e[X](this[d],t):t.yieldWith(this)}}),Mt=on({op:"Failure",prop:"cause",eval(t){let e=t.getCont(gt);for(;tn(this[d])&&e&&t.interruptible;)e=t.getCont(gt);return e?e[gt](this[d],t):t.yieldWith(this)}}),P=t=>Mt(ii(t)),wt=et({op:"Sync",eval(t){let e=this[d](),r=t.getCont(X);return r?r[X](e,t):t.yieldWith(ke(e))}}),tt=et({op:"Suspend",eval(t){return this[d]()}}),xi=et({op:"Yield",eval(t){let e=!1;return t.getRef(Tt).scheduleTask(()=>{e||t.evaluate(yt)},this[d]??0),t.yieldWith(()=>{e=!0})}}),nn=xi(0);var _t=k(void 0);var Fr=t=>tt(()=>{try{return k(t.try())}catch(e){return P(t.catch(e))}});var $=t=>sn(function(e,r){try{t.try(r).then(o=>e(k(o)),o=>e(P(t.catch(o))))}catch(o){e(P(t.catch(o)))}},t.try.length!==0),Rt=et({op:"WithMicroFiber",eval(t){return this[d](t)}});var sn=et({op:"Async",single:!1,eval(t){let e=this[d][0],r=!1,o=!1,n=this[d][1]?new AbortController:void 0,s=e(i=>{r||(r=!0,o?t.evaluate(i):o=i)},n?.signal);return o!==!1?o:(o=!0,t._yielded=()=>{r=!0},n===void 0&&s===void 0||t._stack.push(gi(()=>(r=!0,n?.abort(),s??yt))),At)}}),gi=et({op:"AsyncFinalizer",ensure(t){t.interruptible&&(t.interruptible=!1,t._stack.push(Ur(!0)))},contE(t,e){return tn(t)?L(this[d](),()=>Mt(t)):Mt(t)}}),Ce=t=>sn(t,t.length>=2);var I=(...t)=>tt(()=>_i(t.length===1?t[0]():t[1].call(t[0]))),_i=et({op:"Iterator",contA(t,e){let r=this[d].next(t);return r.done?k(r.value):(e._stack.push(this),ao(r.value))},eval(t){return this[X](void 0,t)}}),cn=u(2,(t,e)=>Si(t,r=>e));var j=u(2,(t,e)=>L(t,r=>{let o=Kt(e)?e:typeof e=="function"?e(r):e;return Kt(o)?o:k(o)})),ee=u(2,(t,e)=>L(t,r=>{let o=Kt(e)?e:typeof e=="function"?e(r):e;return Kt(o)?cn(o,r):k(r)})),yi=t=>L(t,e=>yt),an=t=>wi(t,{onFailure:Ie,onSuccess:ke});var L=u(2,(t,e)=>{let r=Object.create(Oi);return r[d]=t,r[X]=e,r}),Oi=te({op:"OnSuccess",eval(t){return t._stack.push(this),this[d]}});var Si=u(2,(t,e)=>L(t,r=>k(e(r)))),bi=t=>_(t,Se),ke=k,Ie=Mt,Pr=Ie(ai());var Qt=t=>Ie(ci(t));var yt=ke(void 0),Ei=t=>{for(let e of t)if(e._tag==="Failure")return e;return yt},Ci="setImmediate"in globalThis?globalThis.setImmediate:t=>setTimeout(t,0),Xt=class{tasks=[];running=!1;scheduleTask(e,r){this.tasks.push(e),this.running||(this.running=!0,Ci(this.afterScheduled))}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let e=this.tasks;this.tasks=[];for(let r=0,o=e.length;r<o;r++)e[r]()}shouldYield(e){return e.currentOpCount>=e.getRef(wr)}flush(){for(;this.tasks.length>0;)this.runTasks()}},w=t=>Rt(e=>k(Jo(e.context,t)));var pn=u(2,(t,e)=>Rt(r=>{let o=r.context;return r.context=e(o),Ti(t,()=>(r.context=o,_t))}));var Nr=u(2,(t,e)=>pn(t,$o(e))),rt=u(3,(t,e,r)=>pn(t,zo(e,r))),un=u(3,(t,e,r)=>L(r,o=>rt(t,e,o))),wr=class extends J()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){},Tr=class extends J()("effect/Micro/currentConcurrency",{defaultValue:()=>"unbounded"}){},Tt=class extends J()("effect/Micro/currentScheduler",{defaultValue:()=>new Xt}){};var ki=u(2,(t,e)=>tt(()=>{let r=e.schedule?Date.now():0,o=0,n=L(an(t),s=>{if(e.while!==void 0&&!e.while(s))return s;if(e.times!==void 0&&o>=e.times)return s;o++;let i=nn;if(e.schedule!==void 0){let c=Date.now()-r,a=e.schedule(o,c);if(U(a))return s;i=dn(a.value)}return L(i,()=>n)});return n})),ln=u(t=>Kt(t[0]),(t,e)=>ki(t,{...e,while:r=>r._tag==="Success"&&(e?.while===void 0||e.while(r.value))}));var Ii=u(2,(t,e)=>{let r=Object.create(vi);return r[d]=t,r[gt]=e,r}),vi=te({op:"OnFailure",eval(t){return t._stack.push(this),this[d]}}),Ai=u(3,(t,e,r)=>Ii(t,o=>e(o)?r(o):Mt(o))),ve=u(2,(t,e)=>Ai(t,pi,r=>e(r.error)));var fn=u(2,(t,e)=>{let r=Object.create(Mi);return r[d]=t,r[X]=e.onSuccess,r[gt]=e.onFailure,r}),Mi=te({op:"OnSuccessAndFailure",eval(t){return t._stack.push(this),this[d]}}),wi=u(2,(t,e)=>fn(t,{onFailure:r=>wt(()=>e.onFailure(r)),onSuccess:r=>wt(()=>e.onSuccess(r))}));var dn=t=>Ce(e=>{let r=setTimeout(()=>{e(_t)},t);return wt(()=>{clearTimeout(r)})}),hn=u(2,(t,e)=>j(dn(e),t));var kr=Symbol.for("effect/Micro/MicroScope");var Qo=class t{[kr];state={_tag:"Open",finalizers:new Set};constructor(){this[kr]=kr}unsafeAddFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.add(e)}addFinalizer(e){return tt(()=>this.state._tag==="Open"?(this.state.finalizers.add(e),_t):e(this.state.exit))}unsafeRemoveFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.delete(e)}close(e){return tt(()=>{if(this.state._tag==="Open"){let r=Array.from(this.state.finalizers).reverse();return this.state={_tag:"Closed",exit:e},L(Lr(r,o=>an(o(e))),Ei)}return _t})}get fork(){return wt(()=>{let e=new t;if(this.state._tag==="Closed")return e.state=this.state,e;function r(o){return e.close(o)}return this.state.finalizers.add(r),e.unsafeAddFinalizer(o=>wt(()=>this.unsafeRemoveFinalizer(r))),e})}};var Ti=u(2,(t,e)=>Fi(r=>fn(r(t),{onFailure:o=>L(e(Ie(o)),()=>Mt(o)),onSuccess:o=>L(e(ke(o)),()=>k(o))})));var Ur=et({op:"SetInterruptible",ensure(t){if(t.interruptible=this[d],t._interrupted&&t.interruptible)return()=>Pr}}),Ri=t=>Rt(e=>e.interruptible?t:(e.interruptible=!0,e._stack.push(Ur(!1)),e._interrupted?Pr:t)),Fi=t=>Rt(e=>e.interruptible?(e.interruptible=!1,e._stack.push(Ur(!0)),t(Ri)):t(R));var Pi=et({op:"While",contA(t,e){return this[d].step(t),this[d].while()?(e._stack.push(this),this[d].body()):yt},eval(t){return this[d].while()?(t._stack.push(this),this[d].body()):yt}}),Lr=(t,e,r)=>Rt(o=>{let n=r?.concurrency==="inherit"?o.getRef(Tr):r?.concurrency??1,s=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n),i=Yt(t),c=i.length;if(c===0)return r?.discard?_t:k([]);let a=r?.discard?void 0:new Array(c),p=0;return s===1?cn(Pi({while:()=>p<i.length,body:()=>e(i[p],p),step:a?h=>a[p++]=h:h=>p++}),a):Ce(h=>{let g=new Set,A,v=0,jt=0,ft=!1,dt=!1;function ht(){for(ft=!0;v<s&&p<c;){let mt=p,Fs=i[mt];p++,v++;try{let Wt=mn(o,e(Fs,mt),!0,!0);g.add(Wt),Wt.addObserver(Gt=>{g.delete(Wt),!dt&&(Gt._tag==="Failure"?A===void 0&&(A=Gt,c=p,g.forEach(Ps=>Ps.unsafeInterrupt())):a!==void 0&&(a[mt]=Gt.value),jt++,v--,jt===c?h(A??k(a)):!ft&&v<s&&ht())})}catch(Wt){A=Qt(Wt),c=p,g.forEach(Gt=>Gt.unsafeInterrupt())}}ft=!1}return ht(),tt(()=>(dt=!0,p=c,fi(g)))})});var mn=(t,e,r=!1,o=!1)=>{let n=new be(t.context,t.interruptible);return o||(t.children().add(n),n.addObserver(()=>t.children().delete(n))),r?n.evaluate(e):t.getRef(Tt).scheduleTask(()=>n.evaluate(e),0),n},xn=t=>Rt(e=>k(mn(e,t,!1,!0)));var gn=(t,e)=>{let r=new be(Tt.context(e?.scheduler??new Xt));if(r.evaluate(t),e?.signal)if(e.signal.aborted)r.unsafeInterrupt();else{let o=()=>r.unsafeInterrupt();e.signal.addEventListener("abort",o,{once:!0}),r.addObserver(()=>e.signal.removeEventListener("abort",o))}return r},Ni=(t,e)=>new Promise((r,o)=>{gn(t,e).addObserver(r)}),Ot=(t,e)=>Ni(t,e).then(r=>{if(r._tag==="Failure")throw r.cause;return r.value}),Ui=t=>{let e=new Xt,r=gn(t,{scheduler:e});return e.flush(),r._exit??Qt(r)},_n=t=>{let e=Ui(t);if(e._tag==="Failure")throw e.cause;return e.value};var yn="https://api.telegram.org",Ae={"\u{1F525}":"5104841245755180586","\u{1F44D}":"5107584321108051014","\u{1F44E}":"5104858069142078462","\u2764\uFE0F":"5159385139981059251","\u{1F389}":"5046509860389126442","\u{1F4A9}":"5046589136895476101"},Ka=Object.keys(Ae),Za=t=>typeof t=="string"&&t in Ae;var re=t=>H.of({...t,base_url:t.base_url??yn}),H=class extends vt("TgBotClientConfig")(){};var On=Symbol.for("effect/Chunk");function Li(t,e,r,o,n){for(let s=e;s<Math.min(t.length,e+n);s++)r[o+s-e]=t[s];return r}var Sn=[],Hi=t=>no((e,r)=>e.length===r.length&&Ft(e).every((o,n)=>t(o,Pt(r,n)))),Bi=Hi(x),qi={[On]:{_A:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Chunk",values:Ft(this).map(O)}},[y](){return this.toJSON()},[m](t){return bn(t)&&Bi(this,t)},[f](){return S(this,xe(Ft(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return Sn[Symbol.iterator]();default:return Ft(this)[Symbol.iterator]()}},pipe(){return C(this,arguments)}},T=t=>{let e=Object.create(qi);switch(e.backing=t,t._tag){case"IEmpty":{e.length=0,e.depth=0,e.left=e,e.right=e;break}case"IConcat":{e.length=t.left.length+t.right.length,e.depth=1+Math.max(t.left.depth,t.right.depth),e.left=t.left,e.right=t.right;break}case"IArray":{e.length=t.array.length,e.depth=0,e.left=ot,e.right=ot;break}case"ISingleton":{e.length=1,e.depth=0,e.left=ot,e.right=ot;break}case"ISlice":{e.length=t.length,e.depth=t.chunk.depth+1,e.left=ot,e.right=ot;break}}return e},bn=t=>_(t,On),ot=T({_tag:"IEmpty"}),St=()=>ot,ne=(...t)=>t.length===1?bt(t[0]):Wi(t),bt=t=>T({_tag:"ISingleton",a:t}),En=t=>bn(t)?t:T({_tag:"IArray",array:Yt(t)}),Hr=(t,e,r)=>{switch(t.backing._tag){case"IArray":{Li(t.backing.array,0,e,r,t.length);break}case"IConcat":{Hr(t.left,e,r),Hr(t.right,e,r+t.left.length);break}case"ISingleton":{e[r]=t.backing.a;break}case"ISlice":{let o=0,n=r;for(;o<t.length;)e[n]=Pt(t,o),o+=1,n+=1;break}}};var Di=t=>{switch(t.backing._tag){case"IEmpty":return Sn;case"IArray":return t.backing.array;default:{let e=new Array(t.length);return Hr(t,e,0),t.backing={_tag:"IArray",array:e},t.left=ot,t.right=ot,t.depth=0,e}}},Ft=Di,ji=t=>{switch(t.backing._tag){case"IEmpty":case"ISingleton":return t;case"IArray":return T({_tag:"IArray",array:yr(t.backing.array)});case"IConcat":return T({_tag:"IConcat",left:oe(t.backing.right),right:oe(t.backing.left)});case"ISlice":return Cn(yr(Ft(t)))}},oe=ji;var Cn=t=>T({_tag:"IArray",array:t}),Wi=t=>Cn(t),Pt=u(2,(t,e)=>{switch(t.backing._tag){case"IEmpty":throw new Error("Index out of bounds");case"ISingleton":{if(e!==0)throw new Error("Index out of bounds");return t.backing.a}case"IArray":{if(e>=t.length||e<0)throw new Error("Index out of bounds");return t.backing.array[e]}case"IConcat":return e<t.left.length?Pt(t.left,e):Pt(t.right,e-t.left.length);case"ISlice":return Pt(t.backing.chunk,e+t.backing.offset)}});var Me=u(2,(t,e)=>nt(bt(e),t));var nt=u(2,(t,e)=>{if(t.backing._tag==="IEmpty")return e;if(e.backing._tag==="IEmpty")return t;let r=e.depth-t.depth;if(Math.abs(r)<=1)return T({_tag:"IConcat",left:t,right:e});if(r<-1)if(t.left.depth>=t.right.depth){let o=nt(t.right,e);return T({_tag:"IConcat",left:t.left,right:o})}else{let o=nt(t.right.right,e);if(o.depth===t.depth-3){let n=T({_tag:"IConcat",left:t.right.left,right:o});return T({_tag:"IConcat",left:t.left,right:n})}else{let n=T({_tag:"IConcat",left:t.left,right:t.right.left});return T({_tag:"IConcat",left:n,right:o})}}else if(e.right.depth>=e.left.depth){let o=nt(t,e.left);return T({_tag:"IConcat",left:o,right:e.right})}else{let o=nt(t,e.left.left);if(o.depth===e.depth-3){let n=T({_tag:"IConcat",left:o,right:e.left.right});return T({_tag:"IConcat",left:n,right:e.right})}else{let n=T({_tag:"IConcat",left:e.left.right,right:e.right});return T({_tag:"IConcat",left:o,right:n})}}});var kn=t=>t.length===0,we=t=>t.length>0;var In=t=>Pt(t,0),Te=In;var Br=Math.pow(2,5),An=Br-1,Mn=Br/2,wn=Br/4;function Gi(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function ut(t,e){return e>>>t&An}function lt(t){return 1<<t}function Re(t,e){return Gi(t&e-1)}var Tn=(t,e)=>({value:t,previous:e});function Et(t,e,r,o){let n=o;if(!t){let s=o.length;n=new Array(s);for(let i=0;i<s;++i)n[i]=o[i]}return n[e]=r,n}function qr(t,e,r){let o=r.length-1,n=0,s=0,i=r;if(t)n=s=e;else for(i=new Array(o);n<e;)i[s++]=r[n++];for(++n;n<=o;)i[s++]=r[n++];return t&&(i.length=o),i}function Rn(t,e,r,o){let n=o.length;if(t){let a=n;for(;a>=e;)o[a--]=o[a];return o[e]=r,o}let s=0,i=0,c=new Array(n+1);for(;s<e;)c[i++]=o[s++];for(c[e]=r;s<n;)c[++i]=o[s++];return c}var st=class t{_tag="EmptyNode";modify(e,r,o,n,s,i){let c=o(F());return U(c)?new t:(++i.value,new Nt(e,n,s,c))}};function G(t){return nr(t,"EmptyNode")}function Ji(t){return G(t)||t._tag==="LeafNode"||t._tag==="CollisionNode"}function Fe(t,e){return G(t)?!1:e===t.edit}var Nt=class t{edit;hash;key;value;_tag="LeafNode";constructor(e,r,o,n){this.edit=e,this.hash=r,this.key=o,this.value=n}modify(e,r,o,n,s,i){if(x(s,this.key)){let a=o(this.value);return a===this.value?this:U(a)?(--i.value,new st):Fe(this,e)?(this.value=a,this):new t(e,n,s,a)}let c=o(F());return U(c)?this:(++i.value,Fn(e,r,this.hash,this,n,new t(e,n,s,c)))}},Dr=class t{edit;hash;children;_tag="CollisionNode";constructor(e,r,o){this.edit=e,this.hash=r,this.children=o}modify(e,r,o,n,s,i){if(n===this.hash){let a=Fe(this,e),p=this.updateCollisionList(a,e,this.hash,this.children,o,s,i);return p===this.children?this:p.length>1?new t(e,this.hash,p):p[0]}let c=o(F());return U(c)?this:(++i.value,Fn(e,r,this.hash,this,n,new Nt(e,n,s,c)))}updateCollisionList(e,r,o,n,s,i,c){let a=n.length;for(let h=0;h<a;++h){let g=n[h];if("key"in g&&x(i,g.key)){let A=g.value,v=s(A);return v===A?n:U(v)?(--c.value,qr(e,h,n)):Et(e,h,new Nt(r,o,i,v),n)}}let p=s(F());return U(p)?n:(++c.value,Et(e,a,new Nt(r,o,i,p),n))}},se=class t{edit;mask;children;_tag="IndexedNode";constructor(e,r,o){this.edit=e,this.mask=r,this.children=o}modify(e,r,o,n,s,i){let c=this.mask,a=this.children,p=ut(r,n),h=lt(p),g=Re(c,h),A=c&h,v=Fe(this,e);if(!A){let mt=new st().modify(e,r+5,o,n,s,i);return mt?a.length>=Mn?Vi(e,p,mt,c,a):new t(e,c|h,Rn(v,g,mt,a)):this}let jt=a[g],ft=jt.modify(e,r+5,o,n,s,i);if(jt===ft)return this;let dt=c,ht;if(G(ft)){if(dt&=~h,!dt)return new st;if(a.length<=2&&Ji(a[g^1]))return a[g^1];ht=qr(v,g,a)}else ht=Et(v,g,ft,a);return v?(this.mask=dt,this.children=ht,this):new t(e,dt,ht)}},jr=class t{edit;size;children;_tag="ArrayNode";constructor(e,r,o){this.edit=e,this.size=r,this.children=o}modify(e,r,o,n,s,i){let c=this.size,a=this.children,p=ut(r,n),h=a[p],g=(h||new st).modify(e,r+5,o,n,s,i);if(h===g)return this;let A=Fe(this,e),v;if(G(h)&&!G(g))++c,v=Et(A,p,g,a);else if(!G(h)&&G(g)){if(--c,c<=wn)return $i(e,c,p,a);v=Et(A,p,new st,a)}else v=Et(A,p,g,a);return A?(this.size=c,this.children=v,this):new t(e,c,v)}};function $i(t,e,r,o){let n=new Array(e-1),s=0,i=0;for(let c=0,a=o.length;c<a;++c)if(c!==r){let p=o[c];p&&!G(p)&&(n[s++]=p,i|=1<<c)}return new se(t,i,n)}function Vi(t,e,r,o,n){let s=[],i=o,c=0;for(let a=0;i;++a)i&1&&(s[a]=n[c++]),i>>>=1;return s[e]=r,new jr(t,c+1,s)}function Yi(t,e,r,o,n,s){if(r===n)return new Dr(t,r,[s,o]);let i=ut(e,r),c=ut(e,n);if(i===c)return a=>new se(t,lt(i)|lt(c),[a]);{let a=i<c?[o,s]:[s,o];return new se(t,lt(i)|lt(c),a)}}function Fn(t,e,r,o,n,s){let i,c=e;for(;;){let a=Yi(t,c,r,o,n,s);if(typeof a=="function")i=Tn(a,i),c=c+5;else{let p=a;for(;i!=null;)p=i.value(p),i=i.previous;return p}}}var Pn="effect/HashMap",Wr=Symbol.for(Pn),Zi={[Wr]:Wr,[Symbol.iterator](){return new Pe(this,(t,e)=>[t,e])},[f](){let t=l(Pn);for(let e of this)t^=b(l(e[0]),M(l(e[1])));return S(this,t)},[m](t){if(Xi(t)){if(t._size!==this._size)return!1;for(let e of this){let r=b(t,tc(e[0],l(e[0])));if(U(r))return!1;if(!x(e[1],r.value))return!1}return!0}return!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},Gr=(t,e,r,o)=>{let n=Object.create(Zi);return n._editable=t,n._edit=e,n._root=r,n._size=o,n},Pe=class t{map;f;v;constructor(e,r){this.map=e,this.f=r,this.v=Nn(this.map._root,this.f,void 0)}next(){if(U(this.v))return{done:!0,value:void 0};let e=this.v.value;return this.v=Ne(e.cont),{done:!1,value:e.value}}[Symbol.iterator](){return new t(this.map,this.f)}},Ne=t=>t?Un(t[0],t[1],t[2],t[3],t[4]):F(),Nn=(t,e,r=void 0)=>{switch(t._tag){case"LeafNode":return at(t.value)?Q({value:e(t.key,t.value.value),cont:r}):Ne(r);case"CollisionNode":case"ArrayNode":case"IndexedNode":{let o=t.children;return Un(o.length,o,0,e,r)}default:return Ne(r)}},Un=(t,e,r,o,n)=>{for(;r<t;){let s=e[r++];if(s&&!G(s))return Nn(s,o,[t,e,r,o,n])}return Ne(n)},Qi=Gr(!1,0,new st,0),Ln=()=>Qi;var Xi=t=>_(t,Wr);var tc=u(3,(t,e,r)=>{let o=t._root,n=0;for(;;)switch(o._tag){case"LeafNode":return x(e,o.key)?o.value:F();case"CollisionNode":{if(r===o.hash){let s=o.children;for(let i=0,c=s.length;i<c;++i){let a=s[i];if("key"in a&&x(e,a.key))return a.value}}return F()}case"IndexedNode":{let s=ut(n,r),i=lt(s);if(o.mask&i){o=o.children[Re(o.mask,i)],n+=5;break}return F()}case"ArrayNode":{if(o=o.children[ut(n,r)],o){n+=5;break}return F()}default:return F()}});var zr=u(3,(t,e,r)=>rc(t,e,()=>Q(r))),ec=u(3,(t,e,r)=>t._editable?(t._root=e,t._size=r,t):e===t._root?t:Gr(t._editable,t._edit,e,r)),Hn=t=>new Pe(t,e=>e);var Ue=t=>t._size,Bn=t=>Gr(!0,t._edit+1,t._root,t._size);var rc=u(3,(t,e,r)=>oc(t,e,l(e),r)),oc=u(4,(t,e,r,o)=>{let n={value:t._size},s=t._root.modify(t._editable?t._edit:NaN,0,o,r,e,n);return b(t,ec(s,n.value))});var qn=u(2,(t,e)=>Dn(t,void 0,(r,o,n)=>e(o,n))),Dn=u(3,(t,e,r)=>{let o=t._root;if(o._tag==="LeafNode")return at(o.value)?r(e,o.value.value,o.key):e;if(o._tag==="EmptyNode")return e;let n=[o.children],s;for(;s=n.pop();)for(let i=0,c=s.length;i<c;){let a=s[i++];a&&!G(a)&&(a._tag==="LeafNode"?at(a.value)&&(e=r(e,a.value.value,a.key)):n.push(a.children))}return e});var jn="effect/HashSet",Le=Symbol.for(jn),sc={[Le]:Le,[Symbol.iterator](){return Hn(this._keyMap)},[f](){return S(this,M(l(this._keyMap))(l(jn)))},[m](t){return Wn(t)?Ue(this._keyMap)===Ue(t._keyMap)&&x(this._keyMap,t._keyMap):!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},Jr=t=>{let e=Object.create(sc);return e._keyMap=t,e},Wn=t=>_(t,Le),ic=Jr(Ln()),$r=()=>ic;var Gn=t=>Ue(t._keyMap),zn=t=>Jr(Bn(t._keyMap)),Jn=t=>(t._keyMap._editable=!1,t),$n=u(2,(t,e)=>{let r=zn(t);return e(r),Jn(r)}),He=u(2,(t,e)=>t._keyMap._editable?(zr(e,!0)(t._keyMap),t):Jr(zr(e,!0)(t._keyMap)));var Vn=u(2,(t,e)=>$n($r(),r=>{Yn(t,o=>He(r,o));for(let o of e)He(r,o)}));var Yn=u(2,(t,e)=>qn(t._keyMap,(r,o)=>e(o)));var ie=$r;var Kn=Gn;var Be=He;var qe=Vn;var pc=Object.assign(Object.create(Array.prototype),{[f](){return S(this,xe(this))},[m](t){return Array.isArray(t)&&this.length===t.length?this.every((e,r)=>x(e,t[r])):!1}}),Zn=function(){function t(e){e&&Object.assign(this,e)}return t.prototype=ur,t}();var Vr="Die",De="Empty",je="Fail",Yr="Interrupt",Lt="Parallel",Ht="Sequential";var rs="effect/Cause",os=Symbol.for(rs),fc={_E:t=>t},Zr={[os]:fc,[f](){return b(l(rs),M(l(mc(this))),S(this))},[m](t){return dc(t)&&hc(this,t)},pipe(){return C(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:O(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:O(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:O(this.left),right:O(this.right)}}},toString(){return Qr(this)},[y](){return this.toJSON()}};var Ge=t=>{let e=Object.create(Zr);return e._tag=je,e.error=t,e};var ns=(t,e)=>{let r=Object.create(Zr);return r._tag=Lt,r.left=t,r.right=e,r},ce=(t,e)=>{let r=Object.create(Zr);return r._tag=Ht,r.left=t,r.right=e,r},dc=t=>_(t,os);var ss=t=>is(void 0,gc)(t);var hc=(t,e)=>{let r=bt(t),o=bt(e);for(;we(r)&&we(o);){let[n,s]=b(Te(r),ts([ie(),St()],([a,p],h)=>{let[g,A]=Kr(h);return Q([b(a,qe(g)),b(p,nt(A))])})),[i,c]=b(Te(o),ts([ie(),St()],([a,p],h)=>{let[g,A]=Kr(h);return Q([b(a,qe(g)),b(p,nt(A))])}));if(!x(n,i))return!1;r=s,o=c}return!0},mc=t=>xc(bt(t),St()),xc=(t,e)=>{for(;;){let[r,o]=b(t,Or([ie(),St()],([s,i],c)=>{let[a,p]=Kr(c);return[b(s,qe(a)),b(i,nt(p))]})),n=Kn(r)>0?b(e,Me(r)):e;if(kn(o))return oe(n);t=o,e=n}throw new Error(Jt("Cause.flattenCauseLoop"))};var Kr=t=>{let e=t,r=[],o=ie(),n=St();for(;e!==void 0;)switch(e._tag){case De:{if(r.length===0)return[o,n];e=r.pop();break}case je:{if(o=Be(o,ne(e._tag,e.error)),r.length===0)return[o,n];e=r.pop();break}case Vr:{if(o=Be(o,ne(e._tag,e.defect)),r.length===0)return[o,n];e=r.pop();break}case Yr:{if(o=Be(o,ne(e._tag,e.fiberId)),r.length===0)return[o,n];e=r.pop();break}case Ht:{switch(e.left._tag){case De:{e=e.right;break}case Ht:{e=ce(e.left.left,ce(e.left.right,e.right));break}case Lt:{e=ns(ce(e.left.left,e.right),ce(e.left.right,e.right));break}default:{n=Me(n,e.right),e=e.left;break}}break}case Lt:{r.push(e.right),e=e.left;break}}throw new Error(Jt("Cause.evaluateCauseLoop"))};var gc={emptyCase:fe,failCase:Xe,dieCase:Xe,interruptCase:fe,sequentialCase:(t,e,r)=>e&&r,parallelCase:(t,e,r)=>e&&r};var Qn="SequentialCase",Xn="ParallelCase";var ts=u(3,(t,e,r)=>{let o=e,n=t,s=[];for(;n!==void 0;){let i=r(o,n);switch(o=at(i)?i.value:o,n._tag){case Ht:{s.push(n.right),n=n.left;break}case Lt:{s.push(n.right),n=n.left;break}default:{n=void 0;break}}n===void 0&&s.length>0&&(n=s.pop())}return o}),is=u(3,(t,e,r)=>{let o=[t],n=[];for(;o.length>0;){let i=o.pop();switch(i._tag){case De:{n.push($t(r.emptyCase(e)));break}case je:{n.push($t(r.failCase(e,i.error)));break}case Vr:{n.push($t(r.dieCase(e,i.defect)));break}case Yr:{n.push($t(r.interruptCase(e,i.fiberId)));break}case Ht:{o.push(i.right),o.push(i.left),n.push(_r({_tag:Qn}));break}case Lt:{o.push(i.right),o.push(i.left),n.push(_r({_tag:Xn}));break}}}let s=[];for(;n.length>0;){let i=n.pop();switch(i._tag){case"Left":{switch(i.left._tag){case Qn:{let c=s.pop(),a=s.pop(),p=r.sequentialCase(e,c,a);s.push(p);break}case Xn:{let c=s.pop(),a=s.pop(),p=r.parallelCase(e,c,a);s.push(p);break}}break}case"Right":{s.push(i.right);break}}}if(s.length===0)throw new Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return s.pop()}),Qr=(t,e)=>ss(t)?"All fibers interrupted without errors.":bc(t).map(function(r){return e?.renderErrorCause!==!0||r.cause===void 0?r.stack:`${r.stack} {
10
- ${cs(r.cause," ")}
9
+ `)}`),super(i),this._tag=e,this.traces=o,this[Ko]=ni,this.name=s,this.stack=c}pipe(){return C(this,arguments)}toString(){return this.stack}[y](){return this.stack}},Ir=class extends Xt{error;constructor(e,r=[]){super("Fail",e,r),this.error=e}},si=(t,e=[])=>new Ir(t,e),Ar=class extends Xt{defect;constructor(e,r=[]){super("Die",e,r),this.defect=e}},ii=(t,e=[])=>new Ar(t,e),Mr=class extends Xt{constructor(e=[]){super("Interrupt","interrupted",e)}},ci=(t=[])=>new Mr(t),ai=t=>t._tag==="Fail";var en=t=>t._tag==="Interrupt";var Zo=Symbol.for("effect/Micro/MicroFiber"),pi={_A:T,_E:T},Ce=class{context;interruptible;[Zo];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(e,r=!0){this.context=e,this.interruptible=r,this[Zo]=pi}getRef(e){return Do(this.context,e)}addObserver(e){return this._exit?(e(this._exit),oo):(this._observers.push(e),()=>{let r=this._observers.indexOf(e);r>=0&&this._observers.splice(r,1)})}_interrupted=!1;unsafeInterrupt(){this._exit||(this._interrupted=!0,this.interruptible&&this.evaluate(Pr))}unsafePoll(){return this._exit}evaluate(e){if(this._exit)return;if(this._yielded!==void 0){let n=this._yielded;this._yielded=void 0,n()}let r=this.runLoop(e);if(r===Mt)return;let o=Qo.interruptChildren&&Qo.interruptChildren(this);if(o!==void 0)return this.evaluate(L(o,()=>r));this._exit=r;for(let n=0;n<this._observers.length;n++)this._observers[n](r);this._observers.length=0}runLoop(e){let r=!1,o=e;this.currentOpCount=0;try{for(;;){if(this.currentOpCount++,!r&&this.getRef(Tt).shouldYield(this)){r=!0;let n=o;o=L(sn,()=>n)}if(o=o[vr](this),o===Mt){let n=this._yielded;return Ee in n?(this._yielded=void 0,n):Mt}}}catch(n){return _(o,vr)?te(n):te(`MicroFiber.runLoop: Not a valid effect: ${String(o)}`)}}getCont(e){for(;;){let r=this._stack.pop();if(!r)return;let o=r[ke]&&r[ke](this);if(o)return{[e]:o};if(r[e])return r}}_yielded=void 0;yieldWith(e){return this._yielded=e,Mt}children(){return this._children??=new Set}},Qo=B("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var ui=t=>Ie(e=>wt(t.addObserver(r=>e(k(r)))));var rn=t=>tt(()=>(t.unsafeInterrupt(),_i(ui(t)))),li=t=>tt(()=>{for(let o of t)o.unsafeInterrupt();let e=t[Symbol.iterator](),r=tt(()=>{let o=e.next();for(;!o.done;){if(o.value.unsafePoll()){o=e.next();continue}let n=o.value;return Ie(s=>{n.addObserver(i=>{s(r)})})}return Ot});return r}),on=Symbol.for("effect/Micro/identifier"),d=Symbol.for("effect/Micro/args"),vr=Symbol.for("effect/Micro/evaluate"),X=Symbol.for("effect/Micro/successCont"),_t=Symbol.for("effect/Micro/failureCont"),ke=Symbol.for("effect/Micro/ensureCont"),Mt=Symbol.for("effect/Micro/Yield"),fi={_A:T,_E:T,_R:T},di={...Yo,_op:"Micro",[tn]:fi,pipe(){return C(this,arguments)},[Symbol.iterator](){return new gt(new z(this))},toJSON(){return{_id:"Micro",op:this[on],...d in this?{args:this[d]}:void 0}},toString(){return E(this)},[y](){return E(this)}};function hi(t){return te("Micro.evaluate: Not implemented")}var re=t=>({...di,[on]:t.op,[vr]:t.eval??hi,[X]:t.contA,[_t]:t.contE,[ke]:t.ensure}),et=t=>{let e=re(t);return function(){let r=Object.create(e);return r[d]=t.single===!1?arguments:arguments[0],r}},nn=t=>{let e={...re(t),[Ee]:Ee,_tag:t.op,get[t.prop](){return this[d]},toJSON(){return{_id:"MicroExit",_tag:t.op,[t.prop]:this[d]}},[m](r){return Si(r)&&r._tag===t.op&&x(this[d],r[d])},[f](){return S(this,v(q(t.op))(l(this[d])))}};return function(r){let o=Object.create(e);return o[d]=r,o[X]=void 0,o[_t]=void 0,o[ke]=void 0,o}},k=nn({op:"Success",prop:"value",eval(t){let e=t.getCont(X);return e?e[X](this[d],t):t.yieldWith(this)}}),vt=nn({op:"Failure",prop:"cause",eval(t){let e=t.getCont(_t);for(;en(this[d])&&e&&t.interruptible;)e=t.getCont(_t);return e?e[_t](this[d],t):t.yieldWith(this)}}),F=t=>vt(si(t)),wt=et({op:"Sync",eval(t){let e=this[d](),r=t.getCont(X);return r?r[X](e,t):t.yieldWith(Ae(e))}}),tt=et({op:"Suspend",eval(t){return this[d]()}}),mi=et({op:"Yield",eval(t){let e=!1;return t.getRef(Tt).scheduleTask(()=>{e||t.evaluate(Ot)},this[d]??0),t.yieldWith(()=>{e=!0})}}),sn=mi(0);var yt=k(void 0);var Fr=t=>tt(()=>{try{return k(t.try())}catch(e){return F(t.catch(e))}});var $=t=>cn(function(e,r){try{t.try(r).then(o=>e(k(o)),o=>e(F(t.catch(o))))}catch(o){e(F(t.catch(o)))}},t.try.length!==0),Rt=et({op:"WithMicroFiber",eval(t){return this[d](t)}});var cn=et({op:"Async",single:!1,eval(t){let e=this[d][0],r=!1,o=!1,n=this[d][1]?new AbortController:void 0,s=e(i=>{r||(r=!0,o?t.evaluate(i):o=i)},n?.signal);return o!==!1?o:(o=!0,t._yielded=()=>{r=!0},n===void 0&&s===void 0||t._stack.push(xi(()=>(r=!0,n?.abort(),s??Ot))),Mt)}}),xi=et({op:"AsyncFinalizer",ensure(t){t.interruptible&&(t.interruptible=!1,t._stack.push(Ur(!0)))},contE(t,e){return en(t)?L(this[d](),()=>vt(t)):vt(t)}}),Ie=t=>cn(t,t.length>=2);var I=(...t)=>tt(()=>gi(t.length===1?t[0]():t[1].call(t[0]))),gi=et({op:"Iterator",contA(t,e){let r=this[d].next(t);return r.done?k(r.value):(e._stack.push(this),po(r.value))},eval(t){return this[X](void 0,t)}}),an=u(2,(t,e)=>Oi(t,r=>e));var j=u(2,(t,e)=>L(t,r=>{let o=Qt(e)?e:typeof e=="function"?e(r):e;return Qt(o)?o:k(o)})),oe=u(2,(t,e)=>L(t,r=>{let o=Qt(e)?e:typeof e=="function"?e(r):e;return Qt(o)?an(o,r):k(r)})),_i=t=>L(t,e=>Ot),pn=t=>vi(t,{onFailure:Me,onSuccess:Ae});var L=u(2,(t,e)=>{let r=Object.create(yi);return r[d]=t,r[X]=e,r}),yi=re({op:"OnSuccess",eval(t){return t._stack.push(this),this[d]}});var Oi=u(2,(t,e)=>L(t,r=>k(e(r)))),Si=t=>_(t,Ee),Ae=k,Me=vt,Pr=Me(ci());var te=t=>Me(ii(t));var Ot=Ae(void 0),bi=t=>{for(let e of t)if(e._tag==="Failure")return e;return Ot},Ei="setImmediate"in globalThis?globalThis.setImmediate:t=>setTimeout(t,0),ee=class{tasks=[];running=!1;scheduleTask(e,r){this.tasks.push(e),this.running||(this.running=!0,Ei(this.afterScheduled))}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let e=this.tasks;this.tasks=[];for(let r=0,o=e.length;r<o;r++)e[r]()}shouldYield(e){return e.currentOpCount>=e.getRef(wr)}flush(){for(;this.tasks.length>0;)this.runTasks()}},w=t=>Rt(e=>k($o(e.context,t)));var un=u(2,(t,e)=>Rt(r=>{let o=r.context;return r.context=e(o),wi(t,()=>(r.context=o,yt))}));var Nr=u(2,(t,e)=>un(t,Vo(e))),rt=u(3,(t,e,r)=>un(t,Jo(e,r))),ln=u(3,(t,e,r)=>L(r,o=>rt(t,e,o))),wr=class extends J()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){},Tr=class extends J()("effect/Micro/currentConcurrency",{defaultValue:()=>"unbounded"}){},Tt=class extends J()("effect/Micro/currentScheduler",{defaultValue:()=>new ee}){};var Ci=u(2,(t,e)=>tt(()=>{let r=e.schedule?Date.now():0,o=0,n=L(pn(t),s=>{if(e.while!==void 0&&!e.while(s))return s;if(e.times!==void 0&&o>=e.times)return s;o++;let i=sn;if(e.schedule!==void 0){let c=Date.now()-r,a=e.schedule(o,c);if(U(a))return s;i=hn(a.value)}return L(i,()=>n)});return n})),fn=u(t=>Qt(t[0]),(t,e)=>Ci(t,{...e,while:r=>r._tag==="Success"&&(e?.while===void 0||e.while(r.value))}));var ki=u(2,(t,e)=>{let r=Object.create(Ii);return r[d]=t,r[_t]=e,r}),Ii=re({op:"OnFailure",eval(t){return t._stack.push(this),this[d]}}),Ai=u(3,(t,e,r)=>ki(t,o=>e(o)?r(o):vt(o))),ve=u(2,(t,e)=>Ai(t,ai,r=>e(r.error)));var dn=u(2,(t,e)=>{let r=Object.create(Mi);return r[d]=t,r[X]=e.onSuccess,r[_t]=e.onFailure,r}),Mi=re({op:"OnSuccessAndFailure",eval(t){return t._stack.push(this),this[d]}}),vi=u(2,(t,e)=>dn(t,{onFailure:r=>wt(()=>e.onFailure(r)),onSuccess:r=>wt(()=>e.onSuccess(r))}));var hn=t=>Ie(e=>{let r=setTimeout(()=>{e(yt)},t);return wt(()=>{clearTimeout(r)})}),mn=u(2,(t,e)=>j(hn(e),t));var kr=Symbol.for("effect/Micro/MicroScope");var Xo=class t{[kr];state={_tag:"Open",finalizers:new Set};constructor(){this[kr]=kr}unsafeAddFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.add(e)}addFinalizer(e){return tt(()=>this.state._tag==="Open"?(this.state.finalizers.add(e),yt):e(this.state.exit))}unsafeRemoveFinalizer(e){this.state._tag==="Open"&&this.state.finalizers.delete(e)}close(e){return tt(()=>{if(this.state._tag==="Open"){let r=Array.from(this.state.finalizers).reverse();return this.state={_tag:"Closed",exit:e},L(Lr(r,o=>pn(o(e))),bi)}return yt})}get fork(){return wt(()=>{let e=new t;if(this.state._tag==="Closed")return e.state=this.state,e;function r(o){return e.close(o)}return this.state.finalizers.add(r),e.unsafeAddFinalizer(o=>wt(()=>this.unsafeRemoveFinalizer(r))),e})}};var wi=u(2,(t,e)=>Ri(r=>dn(r(t),{onFailure:o=>L(e(Me(o)),()=>vt(o)),onSuccess:o=>L(e(Ae(o)),()=>k(o))})));var Ur=et({op:"SetInterruptible",ensure(t){if(t.interruptible=this[d],t._interrupted&&t.interruptible)return()=>Pr}}),Ti=t=>Rt(e=>e.interruptible?t:(e.interruptible=!0,e._stack.push(Ur(!1)),e._interrupted?Pr:t)),Ri=t=>Rt(e=>e.interruptible?(e.interruptible=!1,e._stack.push(Ur(!0)),t(Ti)):t(T));var Fi=et({op:"While",contA(t,e){return this[d].step(t),this[d].while()?(e._stack.push(this),this[d].body()):Ot},eval(t){return this[d].while()?(t._stack.push(this),this[d].body()):Ot}}),Lr=(t,e,r)=>Rt(o=>{let n=r?.concurrency==="inherit"?o.getRef(Tr):r?.concurrency??1,s=n==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,n),i=Zt(t),c=i.length;if(c===0)return r?.discard?yt:k([]);let a=r?.discard?void 0:new Array(c),p=0;return s===1?an(Fi({while:()=>p<i.length,body:()=>e(i[p],p),step:a?h=>a[p++]=h:h=>p++}),a):Ie(h=>{let g=new Set,M,A=0,Wt=0,dt=!1,ht=!1;function mt(){for(dt=!0;A<s&&p<c;){let xt=p,Rs=i[xt];p++,A++;try{let Gt=xn(o,e(Rs,xt),!0,!0);g.add(Gt),Gt.addObserver(zt=>{g.delete(Gt),!ht&&(zt._tag==="Failure"?M===void 0&&(M=zt,c=p,g.forEach(Fs=>Fs.unsafeInterrupt())):a!==void 0&&(a[xt]=zt.value),Wt++,A--,Wt===c?h(M??k(a)):!dt&&A<s&&mt())})}catch(Gt){M=te(Gt),c=p,g.forEach(zt=>zt.unsafeInterrupt())}}dt=!1}return mt(),tt(()=>(ht=!0,p=c,li(g)))})});var xn=(t,e,r=!1,o=!1)=>{let n=new Ce(t.context,t.interruptible);return o||(t.children().add(n),n.addObserver(()=>t.children().delete(n))),r?n.evaluate(e):t.getRef(Tt).scheduleTask(()=>n.evaluate(e),0),n},gn=t=>Rt(e=>k(xn(e,t,!1,!0)));var _n=(t,e)=>{let r=new Ce(Tt.context(e?.scheduler??new ee));if(r.evaluate(t),e?.signal)if(e.signal.aborted)r.unsafeInterrupt();else{let o=()=>r.unsafeInterrupt();e.signal.addEventListener("abort",o,{once:!0}),r.addObserver(()=>e.signal.removeEventListener("abort",o))}return r},Pi=(t,e)=>new Promise((r,o)=>{_n(t,e).addObserver(r)}),St=(t,e)=>Pi(t,e).then(r=>{if(r._tag==="Failure")throw r.cause;return r.value}),Ni=t=>{let e=new ee,r=_n(t,{scheduler:e});return e.flush(),r._exit??te(r)},yn=t=>{let e=Ni(t);if(e._tag==="Failure")throw e.cause;return e.value};var On="https://api.telegram.org",we={"\u{1F525}":"5104841245755180586","\u{1F44D}":"5107584321108051014","\u{1F44E}":"5104858069142078462","\u2764\uFE0F":"5159385139981059251","\u{1F389}":"5046509860389126442","\u{1F4A9}":"5046589136895476101"},Ya=Object.keys(we),Ka=t=>typeof t=="string"&&t in we;var ne=t=>H.of({...t,base_url:t.base_url??On}),H=class extends At("TgBotClientConfig")(){};var Sn=Symbol.for("effect/Chunk");function Ui(t,e,r,o,n){for(let s=e;s<Math.min(t.length,e+n);s++)r[o+s-e]=t[s];return r}var bn=[],Li=t=>no((e,r)=>e.length===r.length&&Ft(e).every((o,n)=>t(o,Pt(r,n)))),Hi=Li(x),Bi={[Sn]:{_A:t=>t},toString(){return E(this.toJSON())},toJSON(){return{_id:"Chunk",values:Ft(this).map(O)}},[y](){return this.toJSON()},[m](t){return En(t)&&Hi(this,t)},[f](){return S(this,_e(Ft(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return bn[Symbol.iterator]();default:return Ft(this)[Symbol.iterator]()}},pipe(){return C(this,arguments)}},P=t=>{let e=Object.create(Bi);switch(e.backing=t,t._tag){case"IEmpty":{e.length=0,e.depth=0,e.left=e,e.right=e;break}case"IConcat":{e.length=t.left.length+t.right.length,e.depth=1+Math.max(t.left.depth,t.right.depth),e.left=t.left,e.right=t.right;break}case"IArray":{e.length=t.array.length,e.depth=0,e.left=ot,e.right=ot;break}case"ISingleton":{e.length=1,e.depth=0,e.left=ot,e.right=ot;break}case"ISlice":{e.length=t.length,e.depth=t.chunk.depth+1,e.left=ot,e.right=ot;break}}return e},En=t=>_(t,Sn),ot=P({_tag:"IEmpty"}),ut=()=>ot,ie=(...t)=>ji(t),bt=t=>P({_tag:"ISingleton",a:t}),Cn=t=>En(t)?t:Br(Zt(t)),Hr=(t,e,r)=>{switch(t.backing._tag){case"IArray":{Ui(t.backing.array,0,e,r,t.length);break}case"IConcat":{Hr(t.left,e,r),Hr(t.right,e,r+t.left.length);break}case"ISingleton":{e[r]=t.backing.a;break}case"ISlice":{let o=0,n=r;for(;o<t.length;)e[n]=Pt(t,o),o+=1,n+=1;break}}};var qi=t=>{switch(t.backing._tag){case"IEmpty":return bn;case"IArray":return t.backing.array;default:{let e=new Array(t.length);return Hr(t,e,0),t.backing={_tag:"IArray",array:e},t.left=ot,t.right=ot,t.depth=0,e}}},Ft=qi,Di=t=>{switch(t.backing._tag){case"IEmpty":case"ISingleton":return t;case"IArray":return P({_tag:"IArray",array:yr(t.backing.array)});case"IConcat":return P({_tag:"IConcat",left:se(t.backing.right),right:se(t.backing.left)});case"ISlice":return Br(yr(Ft(t)))}},se=Di;var Br=t=>t.length===0?ut():t.length===1?bt(t[0]):P({_tag:"IArray",array:t}),ji=t=>Br(t),Pt=u(2,(t,e)=>{switch(t.backing._tag){case"IEmpty":throw new Error("Index out of bounds");case"ISingleton":{if(e!==0)throw new Error("Index out of bounds");return t.backing.a}case"IArray":{if(e>=t.length||e<0)throw new Error("Index out of bounds");return t.backing.array[e]}case"IConcat":return e<t.left.length?Pt(t.left,e):Pt(t.right,e-t.left.length);case"ISlice":return Pt(t.backing.chunk,e+t.backing.offset)}});var Te=u(2,(t,e)=>nt(bt(e),t));var nt=u(2,(t,e)=>{if(t.backing._tag==="IEmpty")return e;if(e.backing._tag==="IEmpty")return t;let r=e.depth-t.depth;if(Math.abs(r)<=1)return P({_tag:"IConcat",left:t,right:e});if(r<-1)if(t.left.depth>=t.right.depth){let o=nt(t.right,e);return P({_tag:"IConcat",left:t.left,right:o})}else{let o=nt(t.right.right,e);if(o.depth===t.depth-3){let n=P({_tag:"IConcat",left:t.right.left,right:o});return P({_tag:"IConcat",left:t.left,right:n})}else{let n=P({_tag:"IConcat",left:t.left,right:t.right.left});return P({_tag:"IConcat",left:n,right:o})}}else if(e.right.depth>=e.left.depth){let o=nt(t,e.left);return P({_tag:"IConcat",left:o,right:e.right})}else{let o=nt(t,e.left.left);if(o.depth===e.depth-3){let n=P({_tag:"IConcat",left:o,right:e.left.right});return P({_tag:"IConcat",left:n,right:e.right})}else{let n=P({_tag:"IConcat",left:e.left.right,right:e.right});return P({_tag:"IConcat",left:o,right:n})}}});var kn=t=>t.length===0,Re=t=>t.length>0;var In=t=>Pt(t,0),Fe=In;var qr=Math.pow(2,5),Mn=qr-1,vn=qr/2,wn=qr/4;function Wi(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function lt(t,e){return e>>>t&Mn}function ft(t){return 1<<t}function Pe(t,e){return Wi(t&e-1)}var Tn=(t,e)=>({value:t,previous:e});function Et(t,e,r,o){let n=o;if(!t){let s=o.length;n=new Array(s);for(let i=0;i<s;++i)n[i]=o[i]}return n[e]=r,n}function Dr(t,e,r){let o=r.length-1,n=0,s=0,i=r;if(t)n=s=e;else for(i=new Array(o);n<e;)i[s++]=r[n++];for(++n;n<=o;)i[s++]=r[n++];return t&&(i.length=o),i}function Rn(t,e,r,o){let n=o.length;if(t){let a=n;for(;a>=e;)o[a--]=o[a];return o[e]=r,o}let s=0,i=0,c=new Array(n+1);for(;s<e;)c[i++]=o[s++];for(c[e]=r;s<n;)c[++i]=o[s++];return c}var st=class t{_tag="EmptyNode";modify(e,r,o,n,s,i){let c=o(R());return U(c)?new t:(++i.value,new Nt(e,n,s,c))}};function G(t){return nr(t,"EmptyNode")}function zi(t){return G(t)||t._tag==="LeafNode"||t._tag==="CollisionNode"}function Ne(t,e){return G(t)?!1:e===t.edit}var Nt=class t{edit;hash;key;value;_tag="LeafNode";constructor(e,r,o,n){this.edit=e,this.hash=r,this.key=o,this.value=n}modify(e,r,o,n,s,i){if(x(s,this.key)){let a=o(this.value);return a===this.value?this:U(a)?(--i.value,new st):Ne(this,e)?(this.value=a,this):new t(e,n,s,a)}let c=o(R());return U(c)?this:(++i.value,Fn(e,r,this.hash,this,n,new t(e,n,s,c)))}},jr=class t{edit;hash;children;_tag="CollisionNode";constructor(e,r,o){this.edit=e,this.hash=r,this.children=o}modify(e,r,o,n,s,i){if(n===this.hash){let a=Ne(this,e),p=this.updateCollisionList(a,e,this.hash,this.children,o,s,i);return p===this.children?this:p.length>1?new t(e,this.hash,p):p[0]}let c=o(R());return U(c)?this:(++i.value,Fn(e,r,this.hash,this,n,new Nt(e,n,s,c)))}updateCollisionList(e,r,o,n,s,i,c){let a=n.length;for(let h=0;h<a;++h){let g=n[h];if("key"in g&&x(i,g.key)){let M=g.value,A=s(M);return A===M?n:U(A)?(--c.value,Dr(e,h,n)):Et(e,h,new Nt(r,o,i,A),n)}}let p=s(R());return U(p)?n:(++c.value,Et(e,a,new Nt(r,o,i,p),n))}},ce=class t{edit;mask;children;_tag="IndexedNode";constructor(e,r,o){this.edit=e,this.mask=r,this.children=o}modify(e,r,o,n,s,i){let c=this.mask,a=this.children,p=lt(r,n),h=ft(p),g=Pe(c,h),M=c&h,A=Ne(this,e);if(!M){let xt=new st().modify(e,r+5,o,n,s,i);return xt?a.length>=vn?$i(e,p,xt,c,a):new t(e,c|h,Rn(A,g,xt,a)):this}let Wt=a[g],dt=Wt.modify(e,r+5,o,n,s,i);if(Wt===dt)return this;let ht=c,mt;if(G(dt)){if(ht&=~h,!ht)return new st;if(a.length<=2&&zi(a[g^1]))return a[g^1];mt=Dr(A,g,a)}else mt=Et(A,g,dt,a);return A?(this.mask=ht,this.children=mt,this):new t(e,ht,mt)}},Wr=class t{edit;size;children;_tag="ArrayNode";constructor(e,r,o){this.edit=e,this.size=r,this.children=o}modify(e,r,o,n,s,i){let c=this.size,a=this.children,p=lt(r,n),h=a[p],g=(h||new st).modify(e,r+5,o,n,s,i);if(h===g)return this;let M=Ne(this,e),A;if(G(h)&&!G(g))++c,A=Et(M,p,g,a);else if(!G(h)&&G(g)){if(--c,c<=wn)return Ji(e,c,p,a);A=Et(M,p,new st,a)}else A=Et(M,p,g,a);return M?(this.size=c,this.children=A,this):new t(e,c,A)}};function Ji(t,e,r,o){let n=new Array(e-1),s=0,i=0;for(let c=0,a=o.length;c<a;++c)if(c!==r){let p=o[c];p&&!G(p)&&(n[s++]=p,i|=1<<c)}return new ce(t,i,n)}function $i(t,e,r,o,n){let s=[],i=o,c=0;for(let a=0;i;++a)i&1&&(s[a]=n[c++]),i>>>=1;return s[e]=r,new Wr(t,c+1,s)}function Vi(t,e,r,o,n,s){if(r===n)return new jr(t,r,[s,o]);let i=lt(e,r),c=lt(e,n);if(i===c)return a=>new ce(t,ft(i)|ft(c),[a]);{let a=i<c?[o,s]:[s,o];return new ce(t,ft(i)|ft(c),a)}}function Fn(t,e,r,o,n,s){let i,c=e;for(;;){let a=Vi(t,c,r,o,n,s);if(typeof a=="function")i=Tn(a,i),c=c+5;else{let p=a;for(;i!=null;)p=i.value(p),i=i.previous;return p}}}var Pn="effect/HashMap",Gr=Symbol.for(Pn),Ki={[Gr]:Gr,[Symbol.iterator](){return new Ue(this,(t,e)=>[t,e])},[f](){let t=l(Pn);for(let e of this)t^=b(l(e[0]),v(l(e[1])));return S(this,t)},[m](t){if(Qi(t)){if(t._size!==this._size)return!1;for(let e of this){let r=b(t,Xi(e[0],l(e[0])));if(U(r))return!1;if(!x(e[1],r.value))return!1}return!0}return!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},zr=(t,e,r,o)=>{let n=Object.create(Ki);return n._editable=t,n._edit=e,n._root=r,n._size=o,n},Ue=class t{map;f;v;constructor(e,r){this.map=e,this.f=r,this.v=Nn(this.map._root,this.f,void 0)}next(){if(U(this.v))return{done:!0,value:void 0};let e=this.v.value;return this.v=Le(e.cont),{done:!1,value:e.value}}[Symbol.iterator](){return new t(this.map,this.f)}},Le=t=>t?Un(t[0],t[1],t[2],t[3],t[4]):R(),Nn=(t,e,r=void 0)=>{switch(t._tag){case"LeafNode":return at(t.value)?Q({value:e(t.key,t.value.value),cont:r}):Le(r);case"CollisionNode":case"ArrayNode":case"IndexedNode":{let o=t.children;return Un(o.length,o,0,e,r)}default:return Le(r)}},Un=(t,e,r,o,n)=>{for(;r<t;){let s=e[r++];if(s&&!G(s))return Nn(s,o,[t,e,r,o,n])}return Le(n)},Zi=zr(!1,0,new st,0),Ln=()=>Zi;var Qi=t=>_(t,Gr);var Xi=u(3,(t,e,r)=>{let o=t._root,n=0;for(;;)switch(o._tag){case"LeafNode":return x(e,o.key)?o.value:R();case"CollisionNode":{if(r===o.hash){let s=o.children;for(let i=0,c=s.length;i<c;++i){let a=s[i];if("key"in a&&x(e,a.key))return a.value}}return R()}case"IndexedNode":{let s=lt(n,r),i=ft(s);if(o.mask&i){o=o.children[Pe(o.mask,i)],n+=5;break}return R()}case"ArrayNode":{if(o=o.children[lt(n,r)],o){n+=5;break}return R()}default:return R()}});var Jr=u(3,(t,e,r)=>ec(t,e,()=>Q(r))),tc=u(3,(t,e,r)=>t._editable?(t._root=e,t._size=r,t):e===t._root?t:zr(t._editable,t._edit,e,r)),Hn=t=>new Ue(t,e=>e);var He=t=>t._size,Bn=t=>zr(!0,t._edit+1,t._root,t._size);var ec=u(3,(t,e,r)=>rc(t,e,l(e),r)),rc=u(4,(t,e,r,o)=>{let n={value:t._size},s=t._root.modify(t._editable?t._edit:NaN,0,o,r,e,n);return b(t,tc(s,n.value))});var qn=u(2,(t,e)=>Dn(t,void 0,(r,o,n)=>e(o,n))),Dn=u(3,(t,e,r)=>{let o=t._root;if(o._tag==="LeafNode")return at(o.value)?r(e,o.value.value,o.key):e;if(o._tag==="EmptyNode")return e;let n=[o.children],s;for(;s=n.pop();)for(let i=0,c=s.length;i<c;){let a=s[i++];a&&!G(a)&&(a._tag==="LeafNode"?at(a.value)&&(e=r(e,a.value.value,a.key)):n.push(a.children))}return e});var jn="effect/HashSet",Be=Symbol.for(jn),nc={[Be]:Be,[Symbol.iterator](){return Hn(this._keyMap)},[f](){return S(this,v(l(this._keyMap))(l(jn)))},[m](t){return Wn(t)?He(this._keyMap)===He(t._keyMap)&&x(this._keyMap,t._keyMap):!1},toString(){return E(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(O)}},[y](){return this.toJSON()},pipe(){return C(this,arguments)}},$r=t=>{let e=Object.create(nc);return e._keyMap=t,e},Wn=t=>_(t,Be),sc=$r(Ln()),Vr=()=>sc;var Gn=t=>He(t._keyMap),zn=t=>$r(Bn(t._keyMap)),Jn=t=>(t._keyMap._editable=!1,t),$n=u(2,(t,e)=>{let r=zn(t);return e(r),Jn(r)}),qe=u(2,(t,e)=>t._keyMap._editable?(Jr(e,!0)(t._keyMap),t):$r(Jr(e,!0)(t._keyMap)));var Vn=u(2,(t,e)=>$n(Vr(),r=>{Yn(t,o=>qe(r,o));for(let o of e)qe(r,o)}));var Yn=u(2,(t,e)=>qn(t._keyMap,(r,o)=>e(o)));var ae=Vr;var Kn=Gn;var De=qe;var je=Vn;var ac=Object.assign(Object.create(Array.prototype),{[f](){return S(this,_e(this))},[m](t){return Array.isArray(t)&&this.length===t.length?this.every((e,r)=>x(e,t[r])):!1}}),Zn=function(){function t(e){e&&Object.assign(this,e)}return t.prototype=ur,t}();var Yr="Die",We="Empty",Ge="Fail",Kr="Interrupt",Lt="Parallel",Ht="Sequential";var es="effect/Cause",rs=Symbol.for(es),lc={_E:t=>t},Qr={[rs]:lc,[f](){return b(l(es),v(l(hc(this))),S(this))},[m](t){return fc(t)&&dc(this,t)},pipe(){return C(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:O(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:O(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:O(this.left),right:O(this.right)}}},toString(){return Xr(this)},[y](){return this.toJSON()}};var Je=t=>{let e=Object.create(Qr);return e._tag=Ge,e.error=t,e};var os=(t,e)=>{let r=Object.create(Qr);return r._tag=Lt,r.left=t,r.right=e,r},pe=(t,e)=>{let r=Object.create(Qr);return r._tag=Ht,r.left=t,r.right=e,r},fc=t=>_(t,rs);var ns=t=>ss(void 0,xc)(t);var dc=(t,e)=>{let r=bt(t),o=bt(e);for(;Re(r)&&Re(o);){let[n,s]=b(Fe(r),ts([ae(),ut()],([a,p],h)=>{let[g,M]=Zr(h);return Q([b(a,je(g)),b(p,nt(M))])})),[i,c]=b(Fe(o),ts([ae(),ut()],([a,p],h)=>{let[g,M]=Zr(h);return Q([b(a,je(g)),b(p,nt(M))])}));if(!x(n,i))return!1;r=s,o=c}return!0},hc=t=>mc(bt(t),ut()),mc=(t,e)=>{for(;;){let[r,o]=b(t,Or([ae(),ut()],([s,i],c)=>{let[a,p]=Zr(c);return[b(s,je(a)),b(i,nt(p))]})),n=Kn(r)>0?b(e,Te(r)):e;if(kn(o))return se(n);t=o,e=n}throw new Error(Vt("Cause.flattenCauseLoop"))};var Zr=t=>{let e=t,r=[],o=ae(),n=ut();for(;e!==void 0;)switch(e._tag){case We:{if(r.length===0)return[o,n];e=r.pop();break}case Ge:{if(o=De(o,ie(e._tag,e.error)),r.length===0)return[o,n];e=r.pop();break}case Yr:{if(o=De(o,ie(e._tag,e.defect)),r.length===0)return[o,n];e=r.pop();break}case Kr:{if(o=De(o,ie(e._tag,e.fiberId)),r.length===0)return[o,n];e=r.pop();break}case Ht:{switch(e.left._tag){case We:{e=e.right;break}case Ht:{e=pe(e.left.left,pe(e.left.right,e.right));break}case Lt:{e=os(pe(e.left.left,e.right),pe(e.left.right,e.right));break}default:{n=Te(n,e.right),e=e.left;break}}break}case Lt:{r.push(e.right),e=e.left;break}}throw new Error(Vt("Cause.evaluateCauseLoop"))};var xc={emptyCase:he,failCase:er,dieCase:er,interruptCase:he,sequentialCase:(t,e,r)=>e&&r,parallelCase:(t,e,r)=>e&&r};var Qn="SequentialCase",Xn="ParallelCase";var ts=u(3,(t,e,r)=>{let o=e,n=t,s=[];for(;n!==void 0;){let i=r(o,n);switch(o=at(i)?i.value:o,n._tag){case Ht:{s.push(n.right),n=n.left;break}case Lt:{s.push(n.right),n=n.left;break}default:{n=void 0;break}}n===void 0&&s.length>0&&(n=s.pop())}return o}),ss=u(3,(t,e,r)=>{let o=[t],n=[];for(;o.length>0;){let i=o.pop();switch(i._tag){case We:{n.push(Yt(r.emptyCase(e)));break}case Ge:{n.push(Yt(r.failCase(e,i.error)));break}case Yr:{n.push(Yt(r.dieCase(e,i.defect)));break}case Kr:{n.push(Yt(r.interruptCase(e,i.fiberId)));break}case Ht:{o.push(i.right),o.push(i.left),n.push(_r({_tag:Qn}));break}case Lt:{o.push(i.right),o.push(i.left),n.push(_r({_tag:Xn}));break}}}let s=[];for(;n.length>0;){let i=n.pop();switch(i._tag){case"Left":{switch(i.left._tag){case Qn:{let c=s.pop(),a=s.pop(),p=r.sequentialCase(e,c,a);s.push(p);break}case Xn:{let c=s.pop(),a=s.pop(),p=r.parallelCase(e,c,a);s.push(p);break}}break}case"Right":{s.push(i.right);break}}}if(s.length===0)throw new Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return s.pop()}),Xr=(t,e)=>ns(t)?"All fibers interrupted without errors.":Sc(t).map(function(r){return e?.renderErrorCause!==!0||r.cause===void 0?r.stack:`${r.stack} {
10
+ ${is(r.cause," ")}
11
11
  }`}).join(`
12
- `),cs=(t,e)=>{let r=t.stack.split(`
12
+ `),is=(t,e)=>{let r=t.stack.split(`
13
13
  `),o=`${e}[cause]: ${r[0]}`;for(let n=1,s=r.length;n<s;n++)o+=`
14
14
  ${e}${r[n]}`;return t.cause&&(o+=` {
15
- ${cs(t.cause,`${e} `)}
16
- ${e}}`),o},We=class t extends globalThis.Error{span=void 0;constructor(e){let r=typeof e=="object"&&e!==null,o=Error.stackTraceLimit;Error.stackTraceLimit=1,super(_c(e),r&&"cause"in e&&typeof e.cause<"u"?{cause:new t(e.cause)}:void 0),this.message===""&&(this.message="An error has occurred"),Error.stackTraceLimit=o,this.name=e instanceof Error?e.name:"Error",r&&(es in e&&(this.span=e[es]),Object.keys(e).forEach(n=>{n in this||(this[n]=e[n])})),this.stack=Sc(`${this.name}: ${this.message}`,e instanceof Error&&e.stack?e.stack:"",this.span)}},_c=t=>{if(typeof t=="string")return t;if(typeof t=="object"&&t!==null&&t instanceof Error)return t.message;try{if(_(t,"toString")&&zt(t.toString)&&t.toString!==Object.prototype.toString&&t.toString!==globalThis.Array.prototype.toString)return t.toString()}catch{}return cr(t)},yc=/\((.*)\)/g,Oc=B("effect/Tracer/spanToTrace",()=>new WeakMap),Sc=(t,e,r)=>{let o=[t],n=e.startsWith(t)?e.slice(t.length).split(`
15
+ ${is(t.cause,`${e} `)}
16
+ ${e}}`),o},ze=class t extends globalThis.Error{span=void 0;constructor(e){let r=typeof e=="object"&&e!==null,o=Error.stackTraceLimit;Error.stackTraceLimit=1,super(gc(e),r&&"cause"in e&&typeof e.cause<"u"?{cause:new t(e.cause)}:void 0),this.message===""&&(this.message="An error has occurred"),Error.stackTraceLimit=o,this.name=e instanceof Error?e.name:"Error",r&&(Bt in e&&(this.span=e[Bt]),Object.keys(e).forEach(n=>{n in this||(this[n]=e[n])})),this.stack=Oc(`${this.name}: ${this.message}`,e instanceof Error&&e.stack?e.stack:"",this.span)}},gc=t=>{if(typeof t=="string")return t;if(typeof t=="object"&&t!==null&&t instanceof Error)return t.message;try{if(_(t,"toString")&&$t(t.toString)&&t.toString!==Object.prototype.toString&&t.toString!==globalThis.Array.prototype.toString)return t.toString()}catch{}return cr(t)},_c=/\((.*)\)/g,yc=B("effect/Tracer/spanToTrace",()=>new WeakMap),Oc=(t,e,r)=>{let o=[t],n=e.startsWith(t)?e.slice(t.length).split(`
17
17
  `):e.split(`
18
- `);for(let s=1;s<n.length&&!n[s].includes("Generator.next");s++){if(n[s].includes("effect_internal_function")){o.pop();break}o.push(n[s].replace(/at .*effect_instruction_i.*\((.*)\)/,"at $1").replace(/EffectPrimitive\.\w+/,"<anonymous>"))}if(r){let s=r,i=0;for(;s&&s._tag==="Span"&&i<10;){let c=Oc.get(s);if(typeof c=="function"){let a=c();if(typeof a=="string"){let p=a.matchAll(yc),h=!1;for(let[,g]of p)h=!0,o.push(` at ${s.name} (${g})`);h||o.push(` at ${s.name} (${a.replace(/^at /,"")})`)}else o.push(` at ${s.name}`)}else o.push(` at ${s.name}`);s=Ro(s.parent),i++}}return o.join(`
19
- `)},es=Symbol.for("effect/SpanAnnotation"),bc=t=>is(t,void 0,{emptyCase:()=>[],dieCase:(e,r)=>[new We(r)],failCase:(e,r)=>[new We(r)],interruptCase:()=>[],parallelCase:(e,r,o)=>[...r,...o],sequentialCase:(e,r,o)=>[...r,...o]});var Bt=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var ze=Symbol.for("effect/Effect");var Xr=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[ze]=ct;constructor(e){this._op=e}[m](e){return this===e}[f](){return S(this,It(this))}pipe(){return C(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:O(this.effect_instruction_i0),effect_instruction_i1:O(this.effect_instruction_i1),effect_instruction_i2:O(this.effect_instruction_i2)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new Bt(new z(this))}},to=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[ze]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return Os(e)&&e._op==="Failure"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),M(l(this.effect_instruction_i0)),S(this))}get cause(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new Bt(new z(this))}},as=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[ze]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return Os(e)&&e._op==="Success"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),M(l(this.effect_instruction_i0)),S(this))}get value(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:O(this.value)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new Bt(new z(this))}},Cc=t=>_(t,ze),kc=t=>{let e=new Xr(xo);return e.effect_instruction_i0=t,e};var eo=Symbol.for("effect/SpanAnnotation"),ps=Symbol.for("effect/OriginalAnnotation");var Ic=(t,e)=>at(e)?new Proxy(t,{has(r,o){return o===eo||o===ps||o in r},get(r,o){return o===eo?e.value:o===ps?t:r[o]}}):t;var vc=t=>or(t)&&!(eo in t)?kc(e=>us(Ge(Ic(t,Tc(e))))):us(Ge(t));var us=t=>{let e=new to(mo);return e.effect_instruction_i0=t,e};var al={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return C(this,arguments)}};var pl={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return C(this,arguments)}};var Ac="effect/RequestResolver",ys=Symbol.for(Ac),Mc={_A:t=>t,_R:t=>t},ls=class t{runAll;target;[ys]=Mc;constructor(e,r){this.runAll=e,this.target=r}[f](){return S(this,this.target?l(this.target):It(this))}[m](e){return this.target?wc(e)&&x(this.target,e.target):this===e}identified(...e){return new t(this.runAll,En(e))}pipe(){return C(this,arguments)}},wc=t=>_(t,ys);var ro=function(){class t extends globalThis.Error{commit(){return vc(this)}toJSON(){return{...this}}[y](){return this.toString!==globalThis.Error.prototype.toString?this.stack?`${this.toString()}
18
+ `);for(let s=1;s<n.length&&!n[s].includes("Generator.next");s++){if(n[s].includes("effect_internal_function")){o.pop();break}o.push(n[s].replace(/at .*effect_instruction_i.*\((.*)\)/,"at $1").replace(/EffectPrimitive\.\w+/,"<anonymous>"))}if(r){let s=r,i=0;for(;s&&s._tag==="Span"&&i<10;){let c=yc.get(s);if(typeof c=="function"){let a=c();if(typeof a=="string"){let p=a.matchAll(_c),h=!1;for(let[,g]of p)h=!0,o.push(` at ${s.name} (${g})`);h||o.push(` at ${s.name} (${a.replace(/^at /,"")})`)}else o.push(` at ${s.name}`)}else o.push(` at ${s.name}`);s=Fo(s.parent),i++}}return o.join(`
19
+ `)},Bt=Symbol.for("effect/SpanAnnotation"),Sc=t=>ss(t,void 0,{emptyCase:()=>[],dieCase:(e,r)=>[new ze(r)],failCase:(e,r)=>[new ze(r)],interruptCase:()=>[],parallelCase:(e,r,o)=>[...r,...o],sequentialCase:(e,r,o)=>[...r,...o]});var qt=class t{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new t(this.self)}};var $e=Symbol.for("effect/Effect");var to=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[$e]=ct;constructor(e){this._op=e}[m](e){return this===e}[f](){return S(this,It(this))}pipe(){return C(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:O(this.effect_instruction_i0),effect_instruction_i1:O(this.effect_instruction_i1),effect_instruction_i2:O(this.effect_instruction_i2)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new qt(new z(this))}},eo=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[$e]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return ys(e)&&e._op==="Failure"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),v(l(this.effect_instruction_i0)),S(this))}get cause(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new qt(new z(this))}},cs=class{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[$e]=ct;constructor(e){this._op=e,this._tag=e}[m](e){return ys(e)&&e._op==="Success"&&x(this.effect_instruction_i0,e.effect_instruction_i0)}[f](){return b(q(this._tag),v(l(this.effect_instruction_i0)),S(this))}get value(){return this.effect_instruction_i0}pipe(){return C(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:O(this.value)}}toString(){return E(this.toJSON())}[y](){return this.toJSON()}[Symbol.iterator](){return new qt(new z(this))}},Ec=t=>_(t,$e),Cc=t=>{let e=new to(go);return e.effect_instruction_i0=t,e};var as=Symbol.for("effect/OriginalAnnotation");var kc=(t,e)=>at(e)?new Proxy(t,{has(r,o){return o===Bt||o===as||o in r},get(r,o){return o===Bt?e.value:o===as?t:r[o]}}):t;var Ic=t=>or(t)&&!(Bt in t)?Cc(e=>ps(Je(kc(t,wc(e))))):ps(Je(t));var ps=t=>{let e=new eo(xo);return e.effect_instruction_i0=t,e};var al={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return C(this,arguments)}};var pl={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return C(this,arguments)}};var Ac="effect/RequestResolver",_s=Symbol.for(Ac),Mc={_A:t=>t,_R:t=>t},us=class t{runAll;target;[_s]=Mc;constructor(e,r){this.runAll=e,this.target=r}[f](){return S(this,this.target?l(this.target):It(this))}[m](e){return this.target?vc(e)&&x(this.target,e.target):this===e}identified(...e){return new t(this.runAll,Cn(e))}pipe(){return C(this,arguments)}},vc=t=>_(t,_s);var ro=function(){class t extends globalThis.Error{commit(){return Ic(this)}toJSON(){let r={...this};return this.message&&(r.message=this.message),this.cause&&(r.cause=this.cause),r}[y](){return this.toString!==globalThis.Error.prototype.toString?this.stack?`${this.toString()}
20
20
  ${this.stack.split(`
21
21
  `).slice(1).join(`
22
- `)}`:this.toString():"Bun"in globalThis?Qr(Ge(this),{renderErrorCause:!0}):this}}return Object.assign(t.prototype,fr),t}(),Ct=(t,e)=>{class r extends ro{_tag=e}return Object.assign(r.prototype,t),r.prototype.name=e,r},fs=Symbol.for("effect/Cause/errors/RuntimeException"),ul=Ct({[fs]:fs},"RuntimeException");var ds=Symbol.for("effect/Cause/errors/InterruptedException"),ll=Ct({[ds]:ds},"InterruptedException");var hs=Symbol.for("effect/Cause/errors/IllegalArgument"),fl=Ct({[hs]:hs},"IllegalArgumentException");var ms=Symbol.for("effect/Cause/errors/NoSuchElement"),dl=Ct({[ms]:ms},"NoSuchElementException");var xs=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),hl=Ct({[xs]:xs},"InvalidPubSubCapacityException"),gs=Symbol.for("effect/Cause/errors/ExceededCapacityException"),ml=Ct({[gs]:gs},"ExceededCapacityException");var _s=Symbol.for("effect/Cause/errors/Timeout"),xl=Ct({[_s]:_s},"TimeoutException");var Os=t=>Cc(t)&&"_tag"in t&&(t._tag==="Success"||t._tag==="Failure");var Tc=t=>{let e=t.currentSpan;return e!==void 0&&e._tag==="Span"?Q(e):F()};var ae=Zn,Ss=t=>{class e extends ae{_tag=t}return e};var Fc=function(){let t=Symbol.for("effect/Data/Error/plainArgs");return class extends ro{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0),r&&(Object.assign(this,r),Object.defineProperty(this,t,{value:r,enumerable:!1}))}toJSON(){return{...this[t],...this}}}}(),qt=t=>{class e extends Fc{_tag=t}return e.prototype.name=t,e};var $e=class t extends Ss("BotResponse"){static make(e){return new t({response:e})}static ignore=new t({})},kt=class extends vt("BotUpdateHandlers")(){};var bs=t=>{for(let[e,r]of Object.entries(t))if(e!="update_id")return{type:e,...r}};var Es=t=>{let e=t[0];for(let r=1;r<t.length;r++)e+=t[r]==="_"?t[++r].toUpperCase():t[r];return e};var Y=class t extends qt("TgBotClientError"){static missingSuccess=new t({reason:{type:"ClientInternalError",cause:"Expected 'success' to be defined"}})};var Cs=t=>typeof t=="object"&&t!=null&&"file_content"in t&&t.file_content instanceof Uint8Array&&"file_name"in t&&typeof t.file_name=="string",ks=t=>typeof t=="object"&&t!=null&&"ok"in t&&typeof t.ok=="boolean",Is=t=>typeof t=="object"&&t!=null&&"bot_token"in t&&typeof t.bot_token=="string";var vs=t=>{let e=Object.entries(t);if(e.length==0)return;let r=new FormData;for(let[o,n]of e)n&&(typeof n!="object"?r.append(o,`${n}`):Cs(n)?r.append(o,new Blob([n.file_content]),n.file_name):r.append(o,JSON.stringify(n)));return r};var it=(t,e)=>I(function*(){let r=yield*w(H),o=yield*$({try:()=>fetch(`${r.base_url}/bot${r.bot_token}/${Es(t)}`,{body:vs(e)??null,method:"POST"}),catch:s=>new Y({reason:{type:"ClientInternalError",cause:s}})}),n=yield*$({try:()=>o.json(),catch:()=>new Y({reason:{type:"UnexpectedResponse",response:o}})});return ks(n)?o.ok?n.result:yield*P(new Y({reason:{type:"NotOkResponse",...n.error_code?{errorCode:n.error_code}:void 0,...n.description?{details:n.description}:void 0}})):yield*P(new Y({reason:{type:"UnexpectedResponse",response:n}}))});var pe=class t extends ae{static make(e){let r=e.batch_size??10,o=e.poll_timeout??10,n=e.max_empty_responses,s=e.log_level??"info",i=e.on_error;(r<10||r>100)&&(console.warn("Wrong batch_size, must be in [10..100], using 10 instead"),r=10),(o<2||o>10)&&(console.warn("Wrong poll_timeout, must be in [2..10], using 2 instead"),o=10),n&&n<2&&(console.warn("Wrong max_empty_responses, must be in [2..infinity], using infinity"),n=void 0),s||(s="info"),i||(i="stop");let c=new t({batch_size:r,poll_timeout:o,max_empty_responses:n,log_level:s,on_error:i});return console.log("bot poll settings",c),c}},K=class extends J()("BotSettings",{defaultValue(){return pe.make({})}}){};var ue=class extends ae{},As=t=>I(function*(){let e=yield*w(K),r=yield*w(kt);return r.type=="single"?yield*Uc(t,r,e):yield*Nc(t,r,e)}),Nc=(t,e,r)=>Fr({try:()=>e.on_batch(t),catch:o=>o}).pipe(j(o=>o instanceof Promise?$({try:()=>o,catch:n=>n}):k(o)),j(o=>new ue({hasErrors:!o,updates:t})),ve(o=>(console.log("handle batch error",{errorMessage:o instanceof Error?o.message:void 0,updates:t.map(n=>Object.keys(n).at(1))}),k(new ue({hasErrors:!0,updates:t}))))),Dt=class extends qt("HandleUpdateError"){},Uc=(t,e,r)=>Lr(t,o=>Lc(o,e).pipe(ve(n=>(console.log("update handle error",{updateId:o.update_id,updateKey:Object.keys(o).at(1),name:n._tag,...n.cause instanceof Error?{error:n.cause.message}:void 0}),k(n)))),{concurrency:10}).pipe(j(o=>(r.log_level=="debug"&&console.debug("handle batch result",o),new ue({hasErrors:!o.every(n=>n==null),updates:t})))),Lc=(t,e)=>I(function*(){let r=bs(t);if(!r)return yield*P(new Dt({name:"UnknownUpdate",update:t}));let o=e[`on_${r.type}`];if(!o)return yield*P(new Dt({name:"HandlerNotDefined",update:t}));r.type=="message"&&"text"in r&&console.info("Got a new text message",{chatId:r.chat.id,chatType:r.chat.type,message:`${r.text.slice(0,5)}...`});let n,s=yield*Fr({try:()=>o(r),catch:c=>new Dt({name:"BotHandlerError",update:t,cause:c})}).pipe(j(c=>c instanceof Promise?$({try:()=>c,catch:a=>new Dt({name:"BotHandlerError",update:t,cause:a})}):k(c)),ve(c=>(n=c,console.log("error",{updateId:t.update_id,updateKey:Object.keys(t).at(1),name:c._tag,...c.cause instanceof Error?{error:c.cause.message}:void 0}),k($e.make({type:"message",text:`Some internal error has happend(${c.name}) while handling this message`,message_effect_id:Ae["\u{1F4A9}"],...t.message?.message_id?{reply_parameters:{message_id:t.message?.message_id}}:void 0}))))),i=yield*w(K);if(!s&&i.log_level=="debug"){console.log(`Bot response is undefined for update with ID #${t.update_id}.`);return}if("chat"in r&&s.response){let c=yield*it(`send_${s.response.type}`,{...s.response,chat_id:r.chat.id});i.log_level=="debug"&&console.debug("bot response",c)}return n});var Ve=class extends J()("BotFetchUpdatesService",{defaultValue:()=>{let e={lastUpdateId:void 0,emptyResponses:0},r=Hc(e).pipe(ee(n=>{let s=n.map(i=>i.update_id).sort().at(-1);console.log("updating last update id",s),e.lastUpdateId=s?s+1:void 0,console.log(e)})),o=Bc(e);return{state:e,fetchUpdates:r,commit:o}}}){},Ye=class extends qt("FetchUpdatesError"){},Hc=t=>I(function*(){let e=yield*w(K);if(e.max_empty_responses&&t.emptyResponses==e.max_empty_responses)return yield*P(new Ye({name:"TooManyEmptyResponses"}));let r=t.lastUpdateId;e.log_level=="debug"&&console.debug("getting updates",t);let o=yield*it("get_updates",{timeout:e.poll_timeout,...r?{offset:r}:void 0}).pipe(j(n=>n.sort(s=>s.update_id)));return o.length?(console.debug(`got a batch of updates (${o.length})`),t.emptyResponses=0,o):(t.emptyResponses+=1,[])}),Bc=t=>I(function*(){return console.log("commit",{pollState:t}),t.lastUpdateId?yield*it("get_updates",{offset:t.lastUpdateId,limit:0}).pipe(j(j(w(K),e=>{e.log_level=="debug"&&console.debug("committed offset",t)}))):yield*P(new Ye({name:"NoUpdatesToCommit"}))});var Ke=class extends J()("BotRunService",{defaultValue:()=>{console.log("Initiating BotRunService");let e={fiber:void 0};return{runBotInBackground:qc(e),getFiber:()=>e.fiber}}}){},qc=t=>I(function*(){console.log("run bot");let e=yield*w(Ve),r=hn(1e3)(e.fetchUpdates.pipe(j(o=>As(o)),ee(({updates:o})=>o.length>0?e.commit:_t))).pipe(ln({while:o=>!o.hasErrors}),xn,ee(o=>o.addObserver(n=>{console.log("bot's fiber has been closed",n)})));t.fiber&&(console.log("killing previous bot's fiber"),yield*en(t.fiber)),t.fiber=yield*r,console.log("Fetching bot updates via long polling...")});var Ms=t=>I(function*(){if(t.type=="config")return re(t);let e=yield*$({try:async()=>{let{readFileSync:r}=await import("fs");return JSON.parse(await r("config.json","utf-8"))},catch:r=>(console.warn("invalid tg bot config",r),"ReadingConfigError")});return Is(e)?re(e):yield*P("InvalidConfig")});var ws=t=>I(function*(){let e=Go(H,yield*Ms(t)),r=yield*w(Ke);return yield*r.runBotInBackground.pipe(Nr(e),rt(kt,t.mode),rt(K,pe.make(t.poll??{}))),{reload:n=>r.runBotInBackground.pipe(rt(kt,n),Nr(e),Ot),fiber:r.getFiber}});var pf=t=>ws(t).pipe(Ot),uf=t=>(Object.keys(t).length==0&&console.warn("No handlers are defined for bot"),t);var Ts=t=>I(function*(){let e=yield*it("get_file",{file_id:t}),r=yield*w(H),o=e.file_path;if(!o||o.length==0)return yield*P(new Y({reason:{type:"UnableToGetFile",cause:"File path not defined"}}));let n=o.replaceAll("/","-"),s=`${r.base_url}/file/bot${r.bot_token}/${o}`,i=yield*$({try:()=>fetch(s).then(a=>a.arrayBuffer()),catch:a=>new Y({reason:{type:"UnableToGetFile",cause:a}})});return new File([new Uint8Array(i)],n)});var le=class extends vt("ClientFileService")(){},Rs=I(function*(){return{getFile:t=>Ts(t.file_id)}});var bf=t=>{let e=re(t);return I(function*(){let o=yield*w(le);return{execute:(n,s)=>it(n,s).pipe(rt(H,e),Ot),getFile:n=>o.getFile(n).pipe(rt(H,e),Ot)}}).pipe(un(le,Rs),rt(H,e),_n)};export{$e as BotResponse,Ke as BotRunService,kt as BotUpdateHandlersTag,Ae as MESSAGE_EFFECTS,yn as defaultBaseUrl,uf as defineBot,Za as isMessageEffect,ws as launchBot,bf as makeTgBotClient,Ka as messageEffectIdCodes,pf as runTgChatBot};
22
+ `)}`:this.toString():"Bun"in globalThis?Xr(Je(this),{renderErrorCause:!0}):this}}return Object.assign(t.prototype,fr),t}(),Ct=(t,e)=>{class r extends ro{_tag=e}return Object.assign(r.prototype,t),r.prototype.name=e,r},ls=Symbol.for("effect/Cause/errors/RuntimeException"),ul=Ct({[ls]:ls},"RuntimeException");var fs=Symbol.for("effect/Cause/errors/InterruptedException"),ll=Ct({[fs]:fs},"InterruptedException");var ds=Symbol.for("effect/Cause/errors/IllegalArgument"),fl=Ct({[ds]:ds},"IllegalArgumentException");var hs=Symbol.for("effect/Cause/errors/NoSuchElement"),dl=Ct({[hs]:hs},"NoSuchElementException");var ms=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),hl=Ct({[ms]:ms},"InvalidPubSubCapacityException"),xs=Symbol.for("effect/Cause/errors/ExceededCapacityException"),ml=Ct({[xs]:xs},"ExceededCapacityException");var gs=Symbol.for("effect/Cause/errors/Timeout"),xl=Ct({[gs]:gs},"TimeoutException");var ys=t=>Ec(t)&&"_tag"in t&&(t._tag==="Success"||t._tag==="Failure");var wc=t=>{let e=t.currentSpan;return e!==void 0&&e._tag==="Span"?Q(e):R()};var ue=Zn,Os=t=>{class e extends ue{_tag=t}return e};var Rc=function(){let t=Symbol.for("effect/Data/Error/plainArgs");return class extends ro{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0),r&&(Object.assign(this,r),Object.defineProperty(this,t,{value:r,enumerable:!1}))}toJSON(){return{...this[t],...this}}}}(),Dt=t=>{class e extends Rc{_tag=t}return e.prototype.name=t,e};var Ye=class t extends Os("BotResponse"){static make(e){return new t({response:e})}static ignore=new t({})},kt=class extends At("BotUpdateHandlers")(){};var Ss=t=>{for(let[e,r]of Object.entries(t))if(e!="update_id")return{type:e,...r}};var bs=t=>{let e=t[0];for(let r=1;r<t.length;r++)e+=t[r]==="_"?t[++r].toUpperCase():t[r];return e};var Y=class t extends Dt("TgBotClientError"){static missingSuccess=new t({reason:{type:"ClientInternalError",cause:"Expected 'success' to be defined"}})};var Es=t=>typeof t=="object"&&t!=null&&"file_content"in t&&t.file_content instanceof Uint8Array&&"file_name"in t&&typeof t.file_name=="string",Cs=t=>typeof t=="object"&&t!=null&&"ok"in t&&typeof t.ok=="boolean",ks=t=>typeof t=="object"&&t!=null&&"bot_token"in t&&typeof t.bot_token=="string";var Is=t=>{let e=Object.entries(t);if(e.length==0)return;let r=new FormData;for(let[o,n]of e)n&&(typeof n!="object"?r.append(o,`${n}`):Es(n)?r.append(o,new Blob([n.file_content]),n.file_name):r.append(o,JSON.stringify(n)));return r};var it=(t,e)=>I(function*(){let r=yield*w(H),o=yield*$({try:()=>fetch(`${r.base_url}/bot${r.bot_token}/${bs(t)}`,{body:Is(e)??null,method:"POST"}),catch:s=>new Y({reason:{type:"ClientInternalError",cause:s}})}),n=yield*$({try:()=>o.json(),catch:()=>new Y({reason:{type:"UnexpectedResponse",response:o}})});return Cs(n)?o.ok?n.result:yield*F(new Y({reason:{type:"NotOkResponse",...n.error_code?{errorCode:n.error_code}:void 0,...n.description?{details:n.description}:void 0}})):yield*F(new Y({reason:{type:"UnexpectedResponse",response:n}}))});var le=class t extends ue{static make(e){let r=e.batch_size??10,o=e.poll_timeout??10,n=e.max_empty_responses,s=e.log_level??"info",i=e.on_error;(r<10||r>100)&&(console.warn("Wrong batch_size, must be in [10..100], using 10 instead"),r=10),(o<2||o>10)&&(console.warn("Wrong poll_timeout, must be in [2..10], using 2 instead"),o=10),n&&n<2&&(console.warn("Wrong max_empty_responses, must be in [2..infinity], using infinity"),n=void 0),s||(s="info"),i||(i="stop");let c=new t({batch_size:r,poll_timeout:o,max_empty_responses:n,log_level:s,on_error:i});return console.log("bot poll settings",c),c}},K=class extends J()("BotSettings",{defaultValue(){return le.make({})}}){};var fe=class extends ue{},As=t=>I(function*(){let e=yield*w(K),r=yield*w(kt);return r.type=="single"?yield*Nc(t,r,e):yield*Pc(t,r,e)}),Pc=(t,e,r)=>Fr({try:()=>e.on_batch(t),catch:o=>o}).pipe(j(o=>o instanceof Promise?$({try:()=>o,catch:n=>n}):k(o)),j(o=>new fe({hasErrors:!o,updates:t})),ve(o=>(console.log("handle batch error",{errorMessage:o instanceof Error?o.message:void 0,updates:t.map(n=>Object.keys(n).at(1))}),k(new fe({hasErrors:!0,updates:t}))))),jt=class extends Dt("HandleUpdateError"){},Nc=(t,e,r)=>Lr(t,o=>Uc(o,e).pipe(ve(n=>(console.log("update handle error",{updateId:o.update_id,updateKey:Object.keys(o).at(1),name:n._tag,...n.cause instanceof Error?{error:n.cause.message}:void 0}),k(n)))),{concurrency:10}).pipe(j(o=>(r.log_level=="debug"&&console.debug("handle batch result",o),new fe({hasErrors:!o.every(n=>n==null),updates:t})))),Uc=(t,e)=>I(function*(){let r=Ss(t);if(!r)return yield*F(new jt({name:"UnknownUpdate",update:t}));let o=e[`on_${r.type}`];if(!o)return yield*F(new jt({name:"HandlerNotDefined",update:t}));r.type=="message"&&"text"in r&&console.info("Got a new text message",{chatId:r.chat.id,chatType:r.chat.type,message:`${r.text.slice(0,5)}...`});let n,s=yield*Fr({try:()=>o(r),catch:c=>new jt({name:"BotHandlerError",update:t,cause:c})}).pipe(j(c=>c instanceof Promise?$({try:()=>c,catch:a=>new jt({name:"BotHandlerError",update:t,cause:a})}):k(c)),ve(c=>(n=c,console.log("error",{updateId:t.update_id,updateKey:Object.keys(t).at(1),name:c._tag,...c.cause instanceof Error?{error:c.cause.message}:void 0}),k(Ye.make({type:"message",text:`Some internal error has happend(${c.name}) while handling this message`,message_effect_id:we["\u{1F4A9}"],...t.message?.message_id?{reply_parameters:{message_id:t.message?.message_id}}:void 0}))))),i=yield*w(K);if(!s&&i.log_level=="debug"){console.log(`Bot response is undefined for update with ID #${t.update_id}.`);return}if("chat"in r&&s.response){let c=yield*it(`send_${s.response.type}`,{...s.response,chat_id:r.chat.id});i.log_level=="debug"&&console.debug("bot response",c)}return n});var Ke=class extends J()("BotFetchUpdatesService",{defaultValue:()=>{let e={lastUpdateId:void 0,emptyResponses:0},r=Lc(e).pipe(oe(n=>{let s=n.map(i=>i.update_id).sort().at(-1);console.log("updating last update id",s),e.lastUpdateId=s?s+1:void 0,console.log(e)})),o=Hc(e);return{state:e,fetchUpdates:r,commit:o}}}){},Ze=class extends Dt("FetchUpdatesError"){},Lc=t=>I(function*(){let e=yield*w(K);if(e.max_empty_responses&&t.emptyResponses==e.max_empty_responses)return yield*F(new Ze({name:"TooManyEmptyResponses"}));let r=t.lastUpdateId;e.log_level=="debug"&&console.debug("getting updates",t);let o=yield*it("get_updates",{timeout:e.poll_timeout,...r?{offset:r}:void 0}).pipe(j(n=>n.sort(s=>s.update_id)));return o.length?(console.debug(`got a batch of updates (${o.length})`),t.emptyResponses=0,o):(t.emptyResponses+=1,[])}),Hc=t=>I(function*(){return console.log("commit",{pollState:t}),t.lastUpdateId?yield*it("get_updates",{offset:t.lastUpdateId,limit:0}).pipe(j(j(w(K),e=>{e.log_level=="debug"&&console.debug("committed offset",t)}))):yield*F(new Ze({name:"NoUpdatesToCommit"}))});var Qe=class extends J()("BotRunService",{defaultValue:()=>{console.log("Initiating BotRunService");let e={fiber:void 0};return{runBotInBackground:Bc(e),getFiber:()=>e.fiber}}}){},Bc=t=>I(function*(){console.log("run bot");let e=yield*w(Ke),r=mn(1e3)(e.fetchUpdates.pipe(j(o=>As(o)),oe(({updates:o})=>o.length>0?e.commit:yt))).pipe(fn({while:o=>!o.hasErrors}),gn,oe(o=>o.addObserver(n=>{console.log("bot's fiber has been closed",n)})));t.fiber&&(console.log("killing previous bot's fiber"),yield*rn(t.fiber)),t.fiber=yield*r,console.log("Fetching bot updates via long polling...")});var Ms=t=>I(function*(){if(t.type=="config")return ne(t);let e=yield*$({try:async()=>{let{readFileSync:r}=await import("fs");return JSON.parse(await r("config.json","utf-8"))},catch:r=>(console.warn("invalid tg bot config",r),"ReadingConfigError")});return ks(e)?ne(e):yield*F("InvalidConfig")});var vs=t=>I(function*(){let e=zo(H,yield*Ms(t)),r=yield*w(Qe);return yield*r.runBotInBackground.pipe(Nr(e),rt(kt,t.mode),rt(K,le.make(t.poll??{}))),{reload:n=>r.runBotInBackground.pipe(rt(kt,n),Nr(e),St),fiber:r.getFiber}});var pf=t=>vs(t).pipe(St),uf=t=>(Object.keys(t).length==0&&console.warn("No handlers are defined for bot"),t);var ws=t=>I(function*(){let e=yield*it("get_file",{file_id:t}),r=yield*w(H),o=e.file_path;if(!o||o.length==0)return yield*F(new Y({reason:{type:"UnableToGetFile",cause:"File path not defined"}}));let n=o.replaceAll("/","-"),s=`${r.base_url}/file/bot${r.bot_token}/${o}`,i=yield*$({try:()=>fetch(s).then(a=>a.arrayBuffer()),catch:a=>new Y({reason:{type:"UnableToGetFile",cause:a}})});return new File([new Uint8Array(i)],n)});var de=class extends At("ClientFileService")(){},Ts=I(function*(){return{getFile:t=>ws(t.file_id)}});var bf=t=>{let e=ne(t);return I(function*(){let o=yield*w(de);return{execute:(n,s)=>it(n,s).pipe(rt(H,e),St),getFile:n=>o.getFile(n).pipe(rt(H,e),St)}}).pipe(ln(de,Ts),rt(H,e),yn)};export{Ye as BotResponse,Qe as BotRunService,kt as BotUpdateHandlersTag,we as MESSAGE_EFFECTS,On as defaultBaseUrl,uf as defineBot,Ka as isMessageEffect,vs as launchBot,bf as makeTgBotClient,Ya as messageEffectIdCodes,pf as runTgChatBot};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-ak/tg-bot-client",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "homepage": "https://effect-ak.github.io/telegram-bot-playground/",
5
5
  "author": {
6
6
  "name": "Aleksandr Kondaurov",
@@ -40,12 +40,10 @@
40
40
  "node-html-parser": "^6.1.13",
41
41
  "openapi-types": "^12.1.3",
42
42
  "ts-morph": "^24.0.0",
43
- "tsx": "^4.19.2",
44
- "typescript": "^5.7.2",
43
+ "tsx": "^4.19.3",
44
+ "typescript": "^5.8.3",
45
45
  "vite-tsconfig-paths": "^5.1.4",
46
- "vitest": "^2.1.8"
47
- },
48
- "dependencies": {
49
- "effect": "^3.11.0"
46
+ "vitest": "^3.1.1",
47
+ "effect": "^3.14.7"
50
48
  }
51
49
  }
package/readme.md CHANGED
@@ -13,9 +13,9 @@ This client facilitates interaction with the **Telegram Bot API**. It was create
13
13
 
14
14
  ## Highlights:
15
15
  - **[Client](#client)**: Light TypeScript client
16
- - **[ChatBot runner](#chatbot-runner)**: Focus on the logic of your chat bot
17
16
  - **Complete and Up-to-Date Telegram Bot API**: The entire API is generated from [the official documentation](https://core.telegram.org/bots/api) using a [code generator](./codegen/main.ts), ensuring this client remains in sync and supports every method and type provided by the **Telegram Bot API**.
18
- - **Readable Method Names**: Method names, such as `setChatAdministratorCustomTitle`, are converted to snake_case for easier code readability, e.g., `set_chat_administrator_custom_title`.
17
+ - **[Types for Webapps](#webapps-typings)** Types that describe `Telegram.WebApp`
18
+ - **[ChatBot runner](#chatbot-runner)**: Focus on the logic of your chat bot
19
19
  - **Type Mapping**: Types from the documentation are converted to TypeScript types:
20
20
  - `Integer` → `number`
21
21
  - `True` → `boolean`
@@ -40,6 +40,8 @@ const client = makeTgBotClient({
40
40
  - the first is the API method, e.g. `send_message`
41
41
  - the second is an object containing the arguments for that method, e.g. `text`
42
42
 
43
+ > Method names, such as `setChatAdministratorCustomTitle`, are converted to snake_case for easier code readability, e.g., `set_chat_administrator_custom_title`.
44
+
43
45
  #### 1. Sending a Message with an Effect
44
46
 
45
47
  ```typescript
@@ -197,4 +199,30 @@ graph TD
197
199
  end
198
200
 
199
201
 
200
- ```
202
+ ```
203
+
204
+ ## Webapps typings
205
+
206
+ Telegram provides a big [html](https://core.telegram.org/bots/webapps) page that describes `Telegram.WebApp`
207
+
208
+ `@effect-ak/tg-bot-client` levereges scrapper's functionality to generate TypeScript types.
209
+
210
+ ```typescript
211
+ import { TgWebApp } from "@effect-ak/tg-bot-client";
212
+
213
+ interface Telegram {
214
+ WebApp: TgWebApp
215
+ }
216
+
217
+ declare const Telegram: Telegram;
218
+
219
+ const saveData = () => {
220
+
221
+ Telegram.WebApp.CloudStorage.setItem("key1", "some data", (error) => {
222
+ if (error == null) {
223
+ console.log("Saved!")
224
+ }
225
+ })
226
+
227
+ }
228
+ ```