meta-cloud-api 1.7.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BXi6HUC-.d.ts","names":[],"sources":["../src/types/enums.ts","../src/types/config.ts","../src/types/request.ts","../src/types/base.ts","../src/core/webhook/types/common.ts","../src/core/webhook/types/message.ts","../src/core/webhook/types/status.ts","../src/core/webhook/types/account.ts","../src/core/webhook/types/business.ts","../src/core/webhook/types/phoneNumber.ts","../src/core/webhook/types/template.ts","../src/core/webhook/types/flows.ts","../src/core/webhook/types/security.ts","../src/core/webhook/types/history.ts","../src/core/webhook/types/messageEchoes.ts","../src/core/webhook/types/appStateSync.ts","../src/core/webhook/types/index.ts","../src/types/logger.ts","../src/types/httpsClient.ts","../src/api/profile/types/upload.ts","../src/api/profile/types/common.ts","../src/api/phone/types/common.ts","../src/api/template/types/common.ts","../src/api/template/types/factory.ts","../src/api/messages/types/text.ts","../src/api/messages/types/template.ts","../src/api/messages/types/media.ts","../src/api/messages/types/contact.ts","../src/api/messages/types/location.ts","../src/api/messages/types/interactive.ts","../src/api/messages/types/reaction.ts","../src/api/messages/types/common.ts","../src/api/media/types/common.ts","../src/api/qrCode/types/common.ts","../src/api/waba/types/common.ts","../src/api/registration/types/common.ts","../src/api/twoStepVerification/types/common.ts","../src/api/encryption/types/publicKey.ts","../src/api/encryption/types/common.ts","../src/api/blockUsers/types/blockUsers.ts","../src/api/groups/types/groups.ts","../src/api/calling/types/calling.ts","../src/api/marketingMessages/types/marketingMessages.ts","../src/api/commerce/types/commerce.ts","../src/api/payments/types/payments.ts","../src/utils/isMetaError.ts","../src/api/flow/types/common.ts","../src/api/flow/FlowApi.ts","../src/utils/flowEncryptionUtils.ts","../src/utils/http/httpsClient.ts","../src/utils/http/request.ts","../src/api/blockUsers/BlockUsersApi.ts","../src/api/calling/CallingApi.ts","../src/api/commerce/CommerceApi.ts","../src/api/encryption/EncryptionApi.ts","../src/api/groups/GroupsApi.ts","../src/api/marketingMessages/MarketingMessagesApi.ts","../src/api/media/MediaApi.ts","../src/api/messages/MessageApi.ts","../src/api/payments/PaymentsApi.ts","../src/api/phone/PhoneNumberApi.ts","../src/api/profile/BusinessProfileApi.ts","../src/api/qrCode/QrCodeApi.ts","../src/api/registration/RegistrationApi.ts","../src/api/template/TemplateApi.ts","../src/api/template/factories/index.ts","../src/api/twoStepVerification/TwoStepVerificationApi.ts","../src/api/waba/WabaApi.ts","../src/core/whatsapp/WhatsApp.ts","../src/core/webhook/utils/webhookUtils.ts","../src/core/webhook/WebhookProcessor.ts","../src/core/webhook/frameworks/handler.ts","../src/core/webhook/frameworks/express/express.ts","../src/core/webhook/frameworks/nextjs-page/nextjs-page.ts","../src/core/webhook/frameworks/nextjs-app/nextjs-app.ts","../src/core/webhook/utils/generateXHub256Sig.ts","../src/utils/buildFieldsQueryString.ts","../src/utils/configTable.ts","../src/utils/logger.ts","../src/utils/objectToQueryString.ts","../src/utils/flowTypeGuards.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import{__export as e}from"./chunk-CTAAG5j7.js";import{inspect as t}from"util";import*as n from"crypto";import r from"crypto";import{Agent as i}from"https";import{readFileSync as a}from"fs";import{join as o}from"path";var s=e({AudioMediaTypesEnum:()=>S,BusinessVerticalEnum:()=>ce,ButtonPositionEnum:()=>m,CategoryEnum:()=>c,ComponentTypesEnum:()=>g,ConversationTypesEnum:()=>ee,CurrencyCodesEnum:()=>oe,DataLocalizationRegionEnum:()=>se,DocumentMediaTypesEnum:()=>x,HttpMethodsEnum:()=>u,ImageMediaTypesEnum:()=>b,InteractiveTypesEnum:()=>p,LanguagesEnum:()=>ae,MessageTypesEnum:()=>d,ParametersTypesEnum:()=>f,ReferralSourceTypesEnum:()=>re,RequestCodeMethodsEnum:()=>ie,StatusEnum:()=>te,StickerMediaTypesEnum:()=>y,SubTypeEnum:()=>h,SystemChangeTypesEnum:()=>ne,TemplateStatusEnum:()=>l,VideoMediaTypesEnum:()=>v,WabaConfigEnum:()=>_,WebhookTypesEnum:()=>C});let c=function(e){return e.Authentication=`AUTHENTICATION`,e.Marketing=`MARKETING`,e.Utility=`UTILITY`,e}({}),l=function(e){return e.Approved=`APPROVED`,e.Pending=`PENDING`,e.Rejected=`REJECTED`,e}({}),u=function(e){return e.Get=`GET`,e.Post=`POST`,e.Put=`PUT`,e.Delete=`DELETE`,e}({}),d=function(e){return e.Audio=`audio`,e.Contacts=`contacts`,e.Document=`document`,e.Image=`image`,e.Interactive=`interactive`,e.Location=`location`,e.Reaction=`reaction`,e.Sticker=`sticker`,e.Template=`template`,e.Text=`text`,e.Video=`video`,e.Button=`button`,e.Order=`order`,e.System=`system`,e.Unsupported=`unsupported`,e.Unknown=`unknown`,e.Statuses=`statuses`,e[`*`]=`*`,e}({}),f=function(e){return e.Action=`ACTION`,e.CouponCode=`COUPON_CODE`,e.Currency=`CURRENCY`,e.DateTime=`DATE_TIME`,e.Document=`DOCUMENT`,e.ExpirationTimeMs=`EXPIRATION_TIME_MS`,e.Image=`IMAGE`,e.LimitedTimeOffer=`LIMITED_TIME_OFFER`,e.Location=`LOCATION`,e.OrderStatus=`ORDER_STATUS`,e.Payload=`PAYLOAD`,e.Product=`PRODUCT`,e.Text=`TEXT`,e.TtlMinutes=`TTL_MINUTES`,e.Video=`VIDEO`,e.WebviewInteraction=`WEBVIEW_INTERACTION`,e.WebviewPresentation=`WEBVIEW_PRESENTATION`,e}({}),p=function(e){return e.Button=`button`,e.List=`list`,e.Product=`product`,e.ProductList=`product_list`,e.CtaUrl=`cta_url`,e.LocationRequest=`location_request_message`,e.AddressMessage=`address_message`,e.Flow=`flow`,e}({}),m=function(e){return e[e.First=1]=`First`,e[e.Second=2]=`Second`,e[e.Third=3]=`Third`,e[e.Fourth=4]=`Fourth`,e[e.Fifth=5]=`Fifth`,e}({}),h=function(e){return e.Catalog=`CATALOG`,e.CopyCode=`COPY_CODE`,e.Flow=`FLOW`,e.Mpm=`MPM`,e.OrderDetails=`ORDER_DETAILS`,e.QuickReply=`QUICK_REPLY`,e.Reminder=`REMINDER`,e.Url=`URL`,e.VoiceCall=`VOICE_CALL`,e}({}),g=function(e){return e.Header=`HEADER`,e.Body=`BODY`,e.Button=`BUTTON`,e.Footer=`FOOTER`,e}({}),_=function(e){return e.AppId=`M4D_APP_ID`,e.Port=`WA_PORT`,e.AppSecret=`M4D_APP_SECRET`,e.PhoneNumberId=`WA_PHONE_NUMBER_ID`,e.BusinessAcctId=`WA_BUSINESS_ACCOUNT_ID`,e.APIVersion=`CLOUD_API_VERSION`,e.AccessToken=`CLOUD_API_ACCESS_TOKEN`,e.WebhookEndpoint=`WEBHOOK_ENDPOINT`,e.WebhookVerificationToken=`WEBHOOK_VERIFICATION_TOKEN`,e.ListenerPort=`LISTENER_PORT`,e.MaxRetriesAfterWait=`MAX_RETRIES_AFTER_WAIT`,e.RequestTimeout=`REQUEST_TIMEOUT`,e.Debug=`DEBUG`,e.PrivatePem=`FLOW_API_PRIVATE_PEM`,e.Passphrase=`FLOW_API_PASSPHRASE`,e}({}),ee=function(e){return e.BusinessInitiated=`business_initiated`,e.CustomerInitiated=`customer_initiated`,e.ReferralConversion=`referral_conversion`,e}({}),te=function(e){return e.Delivered=`delivered`,e.Read=`read`,e.Sent=`sent`,e}({}),v=function(e){return e.Mp4=`video/mp4`,e.Threegp=`video/3gp`,e}({}),y=function(e){return e.Webp=`image/webp`,e}({}),b=function(e){return e.Jpeg=`image/jpeg`,e.Png=`image/png`,e}({}),x=function(e){return e.Text=`text/plain`,e.Pdf=`application/pdf`,e.Ppt=`application/vnd.ms-powerpoint`,e.Word=`application/msword`,e.Excel=`application/vnd.ms-excel`,e.OpenDoc=`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,e.OpenPres=`application/vnd.openxmlformats-officedocument.presentationml.presentation`,e.OpenSheet=`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,e}({}),S=function(e){return e.Aac=`audio/aac`,e.Mp4=`audio/mp4`,e.Mpeg=`audio/mpeg`,e.Amr=`audio/amr`,e.Ogg=`audio/ogg`,e}({}),C=function(e){return e.Audio=`audio`,e.Button=`button`,e.Document=`document`,e.Text=`text`,e.Image=`image`,e.Interactive=`interactive`,e.Order=`order`,e.Sticker=`sticker`,e.System=`system`,e.Unknown=`unknown`,e.Video=`video`,e}({}),ne=function(e){return e.CustomerChangedNumber=`customer_changed_number`,e.CustomerIdentityChanged=`customer_identity_changed`,e}({}),re=function(e){return e.Ad=`ad`,e.Post=`post`,e}({}),ie=function(e){return e.Sms=`SMS`,e.Voice=`VOICE`,e}({}),ae=function(e){return e.Afrikaans=`af`,e.Albanian=`sq`,e.Arabic=`ar`,e.Azerbaijani=`az`,e.Bengali=`bn`,e.Bulgarian=`bg`,e.Catalan=`ca`,e.Chinese_CHN=`zh_CN`,e.Chinese_HKG=`zh_HK`,e.Chinese_TAI=`zh_TW`,e.Croatian=`hr`,e.Czech=`cs`,e.Danish=`da`,e.Dutch=`nl`,e.English=`en`,e.English_UK=`en_GB`,e.English_US=`en_US`,e.Estonian=`et`,e.Filipino=`fil`,e.Finnish=`fi`,e.French=`fr`,e.Georgian=`ka`,e.German=`de`,e.Greek=`el`,e.Gujarati=`gu`,e.Hausa=`ha`,e.Hebrew=`he`,e.Hindi=`hi`,e.Hungarian=`hu`,e.Indonesian=`id`,e.Irish=`ga`,e.Italian=`it`,e.Japanese=`ja`,e.Kannada=`kn`,e.Kazakh=`kk`,e.Kinyarwanda=`rw_RW`,e.Korean=`ko`,e.Kyrgyz_Kyrgyzstan=`ky_KG`,e.Lao=`lo`,e.Latvian=`lv`,e.Lithuanian=`lt`,e.Macedonian=`mk`,e.Malay=`ms`,e.Malayalam=`ml`,e.Marathi=`mr`,e.Norwegian=`nb`,e.Persian=`fa`,e.Polish=`pl`,e.Portuguese_BR=`pt_BR`,e.Portuguese_POR=`pt_PT`,e.Punjabi=`pa`,e.Romanian=`ro`,e.Russian=`ru`,e.Serbian=`sr`,e.Slovak=`sk`,e.Slovenian=`sl`,e.Spanish=`es`,e.Spanish_ARG=`es_AR`,e.Spanish_SPA=`es_ES`,e.Spanish_MEX=`es_MX`,e.Swahili=`sw`,e.Swedish=`sv`,e.Tamil=`ta`,e.Telugu=`te`,e.Thai=`th`,e.Turkish=`tr`,e.Ukrainian=`uk`,e.Urdu=`ur`,e.Uzbek=`uz`,e.Vietnamese=`vi`,e.Zulu=`zu`,e}({}),oe=function(e){return e.AFN=`AFN`,e.EUR=`EUR`,e.ALL=`ALL`,e.DZD=`DZD`,e.USD=`USD`,e.AOA=`AOA`,e.XCD=`XCD`,e.ARS=`ARS`,e.AMD=`AMD`,e.AWG=`AWG`,e.AUD=`AUD`,e.AZN=`AZN`,e.BSD=`BSD`,e.BHD=`BHD`,e.BDT=`BDT`,e.BBD=`BBD`,e.BYN=`BYN`,e.BZD=`BZD`,e.XOF=`XOF`,e.BMD=`BMD`,e.INR=`INR`,e.BTN=`BTN`,e.BOB=`BOB`,e.BOV=`BOV`,e.BAM=`BAM`,e.BWP=`BWP`,e.NOK=`NOK`,e.BRL=`BRL`,e.BND=`BND`,e.BGN=`BGN`,e.BIF=`BIF`,e.CVE=`CVE`,e.KHR=`KHR`,e.XAF=`XAF`,e.CAD=`CAD`,e.KYD=`KYD`,e.CLP=`CLP`,e.CLF=`CLF`,e.CNY=`CNY`,e.COP=`COP`,e.COU=`COU`,e.KMF=`KMF`,e.CDF=`CDF`,e.NZD=`NZD`,e.CRC=`CRC`,e.HRK=`HRK`,e.CUP=`CUP`,e.CUC=`CUC`,e.ANG=`ANG`,e.CZK=`CZK`,e.DKK=`DKK`,e.DJF=`DJF`,e.DOP=`DOP`,e.EGP=`EGP`,e.SVC=`SVC`,e.ERN=`ERN`,e.SZL=`SZL`,e.ETB=`ETB`,e.FKP=`FKP`,e.FJD=`FJD`,e.XPF=`XPF`,e.GMD=`GMD`,e.GEL=`GEL`,e.GHS=`GHS`,e.GIP=`GIP`,e.GTQ=`GTQ`,e.GBP=`GBP`,e.GNF=`GNF`,e.GYD=`GYD`,e.HTG=`HTG`,e.HNL=`HNL`,e.HKD=`HKD`,e.HUF=`HUF`,e.ISK=`ISK`,e.IDR=`IDR`,e.XDR=`XDR`,e.IRR=`IRR`,e.IQD=`IQD`,e.ILS=`ILS`,e.JMD=`JMD`,e.JPY=`JPY`,e.JOD=`JOD`,e.KZT=`KZT`,e.KES=`KES`,e.KPW=`KPW`,e.KRW=`KRW`,e.KWD=`KWD`,e.KGS=`KGS`,e.LAK=`LAK`,e.LBP=`LBP`,e.LSL=`LSL`,e.ZAR=`ZAR`,e.LRD=`LRD`,e.LYD=`LYD`,e.CHF=`CHF`,e.MOP=`MOP`,e.MKD=`MKD`,e.MGA=`MGA`,e.MWK=`MWK`,e.MYR=`MYR`,e.MVR=`MVR`,e.MRU=`MRU`,e.MUR=`MUR`,e.XUA=`XUA`,e.MXN=`MXN`,e.MXV=`MXV`,e.MDL=`MDL`,e.MNT=`MNT`,e.MAD=`MAD`,e.MZN=`MZN`,e.MMK=`MMK`,e.NAD=`NAD`,e.NPR=`NPR`,e.NIO=`NIO`,e.NGN=`NGN`,e.OMR=`OMR`,e.PKR=`PKR`,e.PAB=`PAB`,e.PGK=`PGK`,e.PYG=`PYG`,e.PEN=`PEN`,e.PHP=`PHP`,e.PLN=`PLN`,e.QAR=`QAR`,e.RON=`RON`,e.RUB=`RUB`,e.RWF=`RWF`,e.SHP=`SHP`,e.WST=`WST`,e.STN=`STN`,e.SAR=`SAR`,e.RSD=`RSD`,e.SCR=`SCR`,e.SLL=`SLL`,e.SGD=`SGD`,e.XSU=`XSU`,e.SBD=`SBD`,e.SOS=`SOS`,e.SSP=`SSP`,e.LKR=`LKR`,e.SDG=`SDG`,e.SRD=`SRD`,e.SEK=`SEK`,e.CHE=`CHE`,e.CHW=`CHW`,e.SYP=`SYP`,e.TWD=`TWD`,e.TJS=`TJS`,e.TZS=`TZS`,e.THB=`THB`,e.TOP=`TOP`,e.TTD=`TTD`,e.TND=`TND`,e.TRY=`TRY`,e.TMT=`TMT`,e.UGX=`UGX`,e.UAH=`UAH`,e.AED=`AED`,e.USN=`USN`,e.UYU=`UYU`,e.UYI=`UYI`,e.UYW=`UYW`,e.UZS=`UZS`,e.VUV=`VUV`,e.VES=`VES`,e.VND=`VND`,e.YER=`YER`,e.ZMW=`ZMW`,e.ZWL=`ZWL`,e.XBA=`XBA`,e.XBB=`XBB`,e.XBC=`XBC`,e.XBD=`XBD`,e.XTS=`XTS`,e.XXX=`XXX`,e.XAU=`XAU`,e.XPD=`XPD`,e.XPT=`XPT`,e.XAG=`XAG`,e.AFA=`AFA`,e.FIM=`FIM`,e.ALK=`ALK`,e.ADP=`ADP`,e.ESP=`ESP`,e.FRF=`FRF`,e.AOK=`AOK`,e.AON=`AON`,e.AOR=`AOR`,e.ARA=`ARA`,e.ARP=`ARP`,e.ARY=`ARY`,e.RUR=`RUR`,e.ATS=`ATS`,e.AYM=`AYM`,e.AZM=`AZM`,e.BYB=`BYB`,e.BYR=`BYR`,e.BEC=`BEC`,e.BEF=`BEF`,e.BEL=`BEL`,e.BOP=`BOP`,e.BAD=`BAD`,e.BRB=`BRB`,e.BRC=`BRC`,e.BRE=`BRE`,e.BRN=`BRN`,e.BRR=`BRR`,e.BGJ=`BGJ`,e.BGK=`BGK`,e.BGL=`BGL`,e.BUK=`BUK`,e.HRD=`HRD`,e.CYP=`CYP`,e.CSJ=`CSJ`,e.CSK=`CSK`,e.ECS=`ECS`,e.ECV=`ECV`,e.GQE=`GQE`,e.EEK=`EEK`,e.XEU=`XEU`,e.GEK=`GEK`,e.DDM=`DDM`,e.DEM=`DEM`,e.GHC=`GHC`,e.GHP=`GHP`,e.GRD=`GRD`,e.GNE=`GNE`,e.GNS=`GNS`,e.GWE=`GWE`,e.GWP=`GWP`,e.ITL=`ITL`,e.ISJ=`ISJ`,e.IEP=`IEP`,e.ILP=`ILP`,e.ILR=`ILR`,e.LAJ=`LAJ`,e.LVL=`LVL`,e.LVR=`LVR`,e.LSM=`LSM`,e.ZAL=`ZAL`,e.LTL=`LTL`,e.LTT=`LTT`,e.LUC=`LUC`,e.LUF=`LUF`,e.LUL=`LUL`,e.MGF=`MGF`,e.MVQ=`MVQ`,e.MLF=`MLF`,e.MTL=`MTL`,e.MTP=`MTP`,e.MRO=`MRO`,e.MXP=`MXP`,e.MZE=`MZE`,e.MZM=`MZM`,e.NLG=`NLG`,e.NIC=`NIC`,e.PEH=`PEH`,e.PEI=`PEI`,e.PES=`PES`,e.PLZ=`PLZ`,e.PTE=`PTE`,e.ROK=`ROK`,e.ROL=`ROL`,e.STD=`STD`,e.CSD=`CSD`,e.SKK=`SKK`,e.SIT=`SIT`,e.RHD=`RHD`,e.ESA=`ESA`,e.ESB=`ESB`,e.SDD=`SDD`,e.SDP=`SDP`,e.SRG=`SRG`,e.CHC=`CHC`,e.TJR=`TJR`,e.TPE=`TPE`,e.TRL=`TRL`,e.TMM=`TMM`,e.UGS=`UGS`,e.UGW=`UGW`,e.UAK=`UAK`,e.SUR=`SUR`,e.USS=`USS`,e.UYN=`UYN`,e.UYP=`UYP`,e.VEB=`VEB`,e.VEF=`VEF`,e.VNC=`VNC`,e.YDD=`YDD`,e.YUD=`YUD`,e.YUM=`YUM`,e.YUN=`YUN`,e.ZRN=`ZRN`,e.ZRZ=`ZRZ`,e.ZMK=`ZMK`,e.ZWC=`ZWC`,e.ZWD=`ZWD`,e.ZWN=`ZWN`,e.ZWR=`ZWR`,e.XFO=`XFO`,e.XRE=`XRE`,e.XFU=`XFU`,e}({}),se=function(e){return e.AU=`AU`,e.ID=`ID`,e.IN=`IN`,e.JP=`JP`,e.SG=`SG`,e.KR=`KR`,e.DE=`DE`,e.CH=`CH`,e.GB=`GB`,e.BR=`BR`,e.BH=`BH`,e.ZA=`ZA`,e.AE=`AE`,e.CA=`CA`,e}({}),ce=function(e){return e.ALCOHOL=`ALCOHOL`,e.APPAREL=`APPAREL`,e.AUTO=`AUTO`,e.BEAUTY=`BEAUTY`,e.EDU=`EDU`,e.ENTERTAIN=`ENTERTAIN`,e.EVENT_PLAN=`EVENT_PLAN`,e.FINANCE=`FINANCE`,e.GOVT=`GOVT`,e.GROCERY=`GROCERY`,e.HEALTH=`HEALTH`,e.HOTEL=`HOTEL`,e.NONPROFIT=`NONPROFIT`,e.ONLINE_GAMBLING=`ONLINE_GAMBLING`,e.OTC_DRUGS=`OTC_DRUGS`,e.OTHER=`OTHER`,e.PHYSICAL_GAMBLING=`PHYSICAL_GAMBLING`,e.PROF_SERVICES=`PROF_SERVICES`,e.RESTAURANT=`RESTAURANT`,e.RETAIL=`RETAIL`,e.TRAVEL=`TRAVEL`,e}({});var w=class{name;debug;constructor(e,t=!1){this.name=e,this.debug=t}formatData(e){return e.map(e=>typeof e==`object`?t(e,{depth:null,colors:!0}):e).join(` `)}log(...e){if(this.debug){let t=`[ ${Date.now()} ]`;this.name&&(t+=` - ${this.name}`),console.log(t,`: `,this.formatData(e))}}error(...e){let t=`[ ${Date.now()} ] - ERROR`;this.name&&(t+=` - ${this.name}`),console.error(t,`: `,this.formatData(e))}warn(...e){if(this.debug){let t=`[ ${Date.now()} ] - WARN`;this.name&&(t+=` - ${this.name}`),console.warn(t,`: `,this.formatData(e))}}info(...e){if(this.debug){let t=`[ ${Date.now()} ] - INFO`;this.name&&(t+=` - ${this.name}`),console.info(t,`: `,this.formatData(e))}}};const le=new w(`UTILS`,process.env.DEBUG===`true`||!1),ue=e=>{if(!process.env[_.AccessToken]&&!e?.accessToken)throw le.log(`Environmental variable: CLOUD_API_ACCESS_TOKEN and/or access token argument is undefined.`),Error(`Missing WhatsApp access token.`)},de=e=>(ue(e),{[_.AppId]:e?.appId||process.env.M4D_APP_ID||``,[_.AppSecret]:e?.appSecret||process.env.M4D_APP_SECRET||``,[_.PhoneNumberId]:e?.phoneNumberId||Number(process.env.WA_PHONE_NUMBER_ID),[_.BusinessAcctId]:e?.businessAcctId||process.env.WA_BUSINESS_ACCOUNT_ID||``,[_.APIVersion]:e?.apiVersion||process.env.CLOUD_API_VERSION||``,[_.AccessToken]:e?.accessToken||process.env.CLOUD_API_ACCESS_TOKEN||``,[_.WebhookEndpoint]:e?.webhookEndpoint||process.env.WEBHOOK_ENDPOINT||``,[_.WebhookVerificationToken]:e?.webhookVerificationToken||process.env.WEBHOOK_VERIFICATION_TOKEN||``,[_.ListenerPort]:e?.listenerPort||parseInt(process.env.LISTENER_PORT||``)||3e3,[_.MaxRetriesAfterWait]:e?.maxRetriesAfterWait||parseInt(process.env.MAX_RETRIES_AFTER_WAIT||``)||30,[_.RequestTimeout]:e?.requestTimeout||parseInt(process.env.REQUEST_TIMEOUT||``)||2e4,[_.Debug]:e?.debug||process.env.DEBUG===`true`,[_.PrivatePem]:e?.privatePem||process.env.FLOW_API_PRIVATE_PEM||``,[_.Passphrase]:e?.passphrase||process.env.FLOW_API_PASSPHRASE||``});function fe(e){let t=[[`App ID`,e[_.AppId]||`Not Set`],[`Phone Number ID`,e[_.PhoneNumberId]?.toString()||`Not Set`],[`Business Account ID`,e[_.BusinessAcctId]||`Not Set`],[`API Version`,e[_.APIVersion]||`Not Set`],[`Access Token`,e[_.AccessToken]?`${e[_.AccessToken].substring(0,20)}...`:`Not Set`],[`Webhook Endpoint`,e[_.WebhookEndpoint]||`Not Set`],[`Webhook Verification Token`,e[_.WebhookVerificationToken]?`${e[_.WebhookVerificationToken].substring(0,10)}...`:`Not Set`],[`Listener Port`,e[_.ListenerPort]?.toString()||`Not Set`],[`Debug Mode`,e[_.Debug]?`Enabled`:`Disabled`],[`Max Retries`,e[_.MaxRetriesAfterWait]?.toString()||`Not Set`],[`Request Timeout`,e[_.RequestTimeout]?`${e[_.RequestTimeout]}ms`:`Not Set`],[`Private PEM`,e[_.PrivatePem]?`Configured`:`Not Set`],[`Passphrase`,e[_.Passphrase]?`Configured`:`Not Set`]],n=Math.max(...t.map(([e])=>e?.length||0)),r=Math.max(...t.map(([,e])=>e?.length||0)),i=Math.max(n,20),a=Math.max(r,30),o=`┌${`─`.repeat(i+2)}┬${`─`.repeat(a+2)}┐`,s=`├${`─`.repeat(i+2)}┼${`─`.repeat(a+2)}┤`,c=`└${`─`.repeat(i+2)}┴${`─`.repeat(a+2)}┘`,l=`│ ${`Configuration`.padEnd(i)} │ ${`Value`.padEnd(a)} │`,u=t.map(([e,t])=>`│ ${e?.padEnd(i)} │ ${t?.padEnd(a)} │`);return[o,l,s,...u,c].join(`
2
- `)}const T=new w(`FLOW_ENCRYPTION_UTILS`,process.env.DEBUG===`true`);function pe(){if(!r||typeof r.generateKeyPairSync!=`function`){let e=Error(`This utility requires Node.js environment with crypto module. It cannot be used in browser or edge runtime environments.`);throw T.error(`Environment validation failed:`,e),e}if(typeof window<`u`){let e=Error(`This utility cannot run in a browser environment. Please use it in a Node.js server environment only.`);throw T.error(`Browser environment detected:`,e),e}if(process.versions&&process.versions.node){let e=process.versions.node.split(`.`).map(Number),t=e[0]??0,n=e[1]??0;if(t<10||t===10&&n<12){let e=Error(`Node.js version ${process.versions.node} is not supported. Please upgrade to Node.js 10.12.0 or higher.`);throw T.error(`Node.js version check failed:`,e),e}}}function me(e){T.info(`[generateEncryption] Starting key pair generation`),pe();let t=e||process.env.FLOW_API_PASSPHRASE;if(!t||t.trim().length===0){let e=Error(`Passphrase is empty. Please provide a passphrase as parameter or set FLOW_API_PASSPHRASE environment variable.`);throw T.error(`[generateEncryption] Passphrase validation failed:`,e),e}t.length<8&&T.warn(`[generateEncryption] Passphrase is shorter than 8 characters. Consider using a longer passphrase for better security.`);try{T.info(`[generateEncryption] Generating 2048-bit RSA key pair`);let e=r.generateKeyPairSync(`rsa`,{modulusLength:2048,publicKeyEncoding:{type:`spki`,format:`pem`},privateKeyEncoding:{type:`pkcs8`,format:`pem`,cipher:`aes-256-cbc`,passphrase:t}});return T.info(`[generateEncryption] Key pair generated successfully`),{passphrase:t,privateKey:e.privateKey,publicKey:e.publicKey}}catch(e){let t=e instanceof Error?e.message:String(e),n=Error(`Failed to generate key pair: ${t}`);throw T.error(`[generateEncryption] Key generation failed:`,n),n}}function E(e,t){if(T.info(`[decryptFlowRequest] Starting Flow request decryption`),!t.FLOW_API_PRIVATE_PEM||t.FLOW_API_PRIVATE_PEM.trim()===``){let e=Error(`Missing FLOW_API_PRIVATE_PEM. Please set the FLOW_API_PRIVATE_PEM environment variable or pass privatePem via config.`);throw T.error(`[decryptFlowRequest] Configuration error:`,e),e}if(!t.FLOW_API_PASSPHRASE||t.FLOW_API_PASSPHRASE.trim()===``){let e=Error(`Missing FLOW_API_PASSPHRASE. Please set the FLOW_API_PASSPHRASE environment variable or pass passphrase via config.`);throw T.error(`[decryptFlowRequest] Configuration error:`,e),e}T.info(`[decryptFlowRequest] Configuration validated`);let{encrypted_aes_key:n,encrypted_flow_data:i,initial_vector:a}=e;if(!n||!i||!a)throw T.error(`[decryptFlowRequest] Missing required encryption properties in request body`),Error(`Missing required encryption properties`);T.info(`[decryptFlowRequest] Request body validated`);let o=t.FLOW_API_PRIVATE_PEM;o.includes(`\\n`)&&(o=o.replace(/\\n/g,`
3
- `));let s=t.FLOW_API_PASSPHRASE,c=o.includes(`-----BEGIN RSA PRIVATE KEY-----`),l=o.includes(`-----BEGIN PRIVATE KEY-----`)||o.includes(`-----BEGIN ENCRYPTED PRIVATE KEY-----`);T.info(`[decryptFlowRequest] Loading private key`,{format:l?`PKCS#8`:c?`PKCS#1`:`Unknown`});let u;try{u=s?r.createPrivateKey({key:o,format:`pem`,passphrase:s}):r.createPrivateKey(o),T.info(`[decryptFlowRequest] Private key loaded successfully`)}catch(e){if(T.error(`[decryptFlowRequest] Failed to load private key (first attempt):`,{error:e instanceof Error?e.message:e,hasPassphrase:!!s,format:l?`PKCS#8`:c?`PKCS#1`:`Unknown`}),c&&s)try{T.info(`[decryptFlowRequest] Attempting to convert PKCS#1 to PKCS#8 format`);let e=r.createPrivateKey({key:o,format:`pem`,passphrase:s}).export({type:`pkcs8`,format:`pem`,cipher:`aes-256-cbc`,passphrase:s});u=r.createPrivateKey({key:e,format:`pem`,passphrase:s}),T.info(`[decryptFlowRequest] Successfully converted PKCS#1 to PKCS#8 and loaded private key`)}catch(t){T.error(`[decryptFlowRequest] Failed to convert PKCS#1 to PKCS#8:`,{error:t instanceof Error?t.message:t});let n=`Failed to parse private key. Error: ${e instanceof Error?e.message:e}`;throw n+=`
1
+ import{t as e}from"./chunk-WfQuXRBF.js";import{inspect as t}from"util";import*as n from"crypto";import r from"crypto";import{Agent as i}from"https";import{readFileSync as a}from"fs";import{join as o}from"path";var s=e({AudioMediaTypesEnum:()=>ae,BusinessVerticalEnum:()=>pe,ButtonPositionEnum:()=>m,CategoryEnum:()=>c,ComponentTypesEnum:()=>g,ConversationTypesEnum:()=>ee,CurrencyCodesEnum:()=>de,DataLocalizationRegionEnum:()=>fe,DocumentMediaTypesEnum:()=>ie,HttpMethodsEnum:()=>u,ImageMediaTypesEnum:()=>re,InteractiveTypesEnum:()=>p,LanguagesEnum:()=>ue,MessageTypesEnum:()=>d,ParametersTypesEnum:()=>f,ReferralSourceTypesEnum:()=>ce,RequestCodeMethodsEnum:()=>le,StatusEnum:()=>te,StickerMediaTypesEnum:()=>ne,SubTypeEnum:()=>h,SystemChangeTypesEnum:()=>se,TemplateStatusEnum:()=>l,VideoMediaTypesEnum:()=>v,WabaConfigEnum:()=>_,WebhookTypesEnum:()=>oe});let c=function(e){return e.Authentication=`AUTHENTICATION`,e.Marketing=`MARKETING`,e.Utility=`UTILITY`,e}({}),l=function(e){return e.Approved=`APPROVED`,e.Pending=`PENDING`,e.Rejected=`REJECTED`,e}({}),u=function(e){return e.Get=`GET`,e.Post=`POST`,e.Put=`PUT`,e.Delete=`DELETE`,e}({}),d=function(e){return e.Audio=`audio`,e.Contacts=`contacts`,e.Document=`document`,e.Image=`image`,e.Interactive=`interactive`,e.Location=`location`,e.Reaction=`reaction`,e.Sticker=`sticker`,e.Template=`template`,e.Text=`text`,e.Video=`video`,e.Button=`button`,e.Order=`order`,e.System=`system`,e.Unsupported=`unsupported`,e.Unknown=`unknown`,e.Statuses=`statuses`,e[`*`]=`*`,e}({}),f=function(e){return e.Action=`ACTION`,e.CouponCode=`COUPON_CODE`,e.Currency=`CURRENCY`,e.DateTime=`DATE_TIME`,e.Document=`DOCUMENT`,e.ExpirationTimeMs=`EXPIRATION_TIME_MS`,e.Image=`IMAGE`,e.LimitedTimeOffer=`LIMITED_TIME_OFFER`,e.Location=`LOCATION`,e.OrderStatus=`ORDER_STATUS`,e.Payload=`PAYLOAD`,e.Product=`PRODUCT`,e.Text=`TEXT`,e.TtlMinutes=`TTL_MINUTES`,e.Video=`VIDEO`,e.WebviewInteraction=`WEBVIEW_INTERACTION`,e.WebviewPresentation=`WEBVIEW_PRESENTATION`,e}({}),p=function(e){return e.Button=`button`,e.List=`list`,e.Product=`product`,e.ProductList=`product_list`,e.CtaUrl=`cta_url`,e.Carousel=`carousel`,e.LocationRequest=`location_request_message`,e.AddressMessage=`address_message`,e.Flow=`flow`,e}({}),m=function(e){return e[e.First=1]=`First`,e[e.Second=2]=`Second`,e[e.Third=3]=`Third`,e[e.Fourth=4]=`Fourth`,e[e.Fifth=5]=`Fifth`,e}({}),h=function(e){return e.Catalog=`CATALOG`,e.CopyCode=`COPY_CODE`,e.Flow=`FLOW`,e.Mpm=`MPM`,e.OrderDetails=`ORDER_DETAILS`,e.QuickReply=`QUICK_REPLY`,e.Reminder=`REMINDER`,e.Url=`URL`,e.VoiceCall=`VOICE_CALL`,e}({}),g=function(e){return e.Header=`HEADER`,e.Body=`BODY`,e.Button=`BUTTON`,e.Footer=`FOOTER`,e}({}),_=function(e){return e.AppId=`M4D_APP_ID`,e.Port=`WA_PORT`,e.AppSecret=`M4D_APP_SECRET`,e.PhoneNumberId=`WA_PHONE_NUMBER_ID`,e.BusinessAcctId=`WA_BUSINESS_ACCOUNT_ID`,e.APIVersion=`CLOUD_API_VERSION`,e.AccessToken=`CLOUD_API_ACCESS_TOKEN`,e.WebhookEndpoint=`WEBHOOK_ENDPOINT`,e.WebhookVerificationToken=`WEBHOOK_VERIFICATION_TOKEN`,e.ListenerPort=`LISTENER_PORT`,e.MaxRetriesAfterWait=`MAX_RETRIES_AFTER_WAIT`,e.RequestTimeout=`REQUEST_TIMEOUT`,e.Debug=`DEBUG`,e.PrivatePem=`FLOW_API_PRIVATE_PEM`,e.Passphrase=`FLOW_API_PASSPHRASE`,e}({}),ee=function(e){return e.BusinessInitiated=`business_initiated`,e.CustomerInitiated=`customer_initiated`,e.ReferralConversion=`referral_conversion`,e}({}),te=function(e){return e.Delivered=`delivered`,e.Read=`read`,e.Sent=`sent`,e}({}),v=function(e){return e.Mp4=`video/mp4`,e.Threegp=`video/3gp`,e}({}),ne=function(e){return e.Webp=`image/webp`,e}({}),re=function(e){return e.Jpeg=`image/jpeg`,e.Png=`image/png`,e}({}),ie=function(e){return e.Text=`text/plain`,e.Pdf=`application/pdf`,e.Ppt=`application/vnd.ms-powerpoint`,e.Word=`application/msword`,e.Excel=`application/vnd.ms-excel`,e.OpenDoc=`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,e.OpenPres=`application/vnd.openxmlformats-officedocument.presentationml.presentation`,e.OpenSheet=`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,e}({}),ae=function(e){return e.Aac=`audio/aac`,e.Mp4=`audio/mp4`,e.Mpeg=`audio/mpeg`,e.Amr=`audio/amr`,e.Ogg=`audio/ogg`,e}({}),oe=function(e){return e.Audio=`audio`,e.Button=`button`,e.Document=`document`,e.Text=`text`,e.Image=`image`,e.Interactive=`interactive`,e.Order=`order`,e.Sticker=`sticker`,e.System=`system`,e.Unknown=`unknown`,e.Video=`video`,e}({}),se=function(e){return e.CustomerChangedNumber=`customer_changed_number`,e.CustomerIdentityChanged=`customer_identity_changed`,e}({}),ce=function(e){return e.Ad=`ad`,e.Post=`post`,e}({}),le=function(e){return e.Sms=`SMS`,e.Voice=`VOICE`,e}({}),ue=function(e){return e.Afrikaans=`af`,e.Albanian=`sq`,e.Arabic=`ar`,e.Azerbaijani=`az`,e.Bengali=`bn`,e.Bulgarian=`bg`,e.Catalan=`ca`,e.Chinese_CHN=`zh_CN`,e.Chinese_HKG=`zh_HK`,e.Chinese_TAI=`zh_TW`,e.Croatian=`hr`,e.Czech=`cs`,e.Danish=`da`,e.Dutch=`nl`,e.English=`en`,e.English_UK=`en_GB`,e.English_US=`en_US`,e.Estonian=`et`,e.Filipino=`fil`,e.Finnish=`fi`,e.French=`fr`,e.Georgian=`ka`,e.German=`de`,e.Greek=`el`,e.Gujarati=`gu`,e.Hausa=`ha`,e.Hebrew=`he`,e.Hindi=`hi`,e.Hungarian=`hu`,e.Indonesian=`id`,e.Irish=`ga`,e.Italian=`it`,e.Japanese=`ja`,e.Kannada=`kn`,e.Kazakh=`kk`,e.Kinyarwanda=`rw_RW`,e.Korean=`ko`,e.Kyrgyz_Kyrgyzstan=`ky_KG`,e.Lao=`lo`,e.Latvian=`lv`,e.Lithuanian=`lt`,e.Macedonian=`mk`,e.Malay=`ms`,e.Malayalam=`ml`,e.Marathi=`mr`,e.Norwegian=`nb`,e.Persian=`fa`,e.Polish=`pl`,e.Portuguese_BR=`pt_BR`,e.Portuguese_POR=`pt_PT`,e.Punjabi=`pa`,e.Romanian=`ro`,e.Russian=`ru`,e.Serbian=`sr`,e.Slovak=`sk`,e.Slovenian=`sl`,e.Spanish=`es`,e.Spanish_ARG=`es_AR`,e.Spanish_SPA=`es_ES`,e.Spanish_MEX=`es_MX`,e.Swahili=`sw`,e.Swedish=`sv`,e.Tamil=`ta`,e.Telugu=`te`,e.Thai=`th`,e.Turkish=`tr`,e.Ukrainian=`uk`,e.Urdu=`ur`,e.Uzbek=`uz`,e.Vietnamese=`vi`,e.Zulu=`zu`,e}({}),de=function(e){return e.AFN=`AFN`,e.EUR=`EUR`,e.ALL=`ALL`,e.DZD=`DZD`,e.USD=`USD`,e.AOA=`AOA`,e.XCD=`XCD`,e.ARS=`ARS`,e.AMD=`AMD`,e.AWG=`AWG`,e.AUD=`AUD`,e.AZN=`AZN`,e.BSD=`BSD`,e.BHD=`BHD`,e.BDT=`BDT`,e.BBD=`BBD`,e.BYN=`BYN`,e.BZD=`BZD`,e.XOF=`XOF`,e.BMD=`BMD`,e.INR=`INR`,e.BTN=`BTN`,e.BOB=`BOB`,e.BOV=`BOV`,e.BAM=`BAM`,e.BWP=`BWP`,e.NOK=`NOK`,e.BRL=`BRL`,e.BND=`BND`,e.BGN=`BGN`,e.BIF=`BIF`,e.CVE=`CVE`,e.KHR=`KHR`,e.XAF=`XAF`,e.CAD=`CAD`,e.KYD=`KYD`,e.CLP=`CLP`,e.CLF=`CLF`,e.CNY=`CNY`,e.COP=`COP`,e.COU=`COU`,e.KMF=`KMF`,e.CDF=`CDF`,e.NZD=`NZD`,e.CRC=`CRC`,e.HRK=`HRK`,e.CUP=`CUP`,e.CUC=`CUC`,e.ANG=`ANG`,e.CZK=`CZK`,e.DKK=`DKK`,e.DJF=`DJF`,e.DOP=`DOP`,e.EGP=`EGP`,e.SVC=`SVC`,e.ERN=`ERN`,e.SZL=`SZL`,e.ETB=`ETB`,e.FKP=`FKP`,e.FJD=`FJD`,e.XPF=`XPF`,e.GMD=`GMD`,e.GEL=`GEL`,e.GHS=`GHS`,e.GIP=`GIP`,e.GTQ=`GTQ`,e.GBP=`GBP`,e.GNF=`GNF`,e.GYD=`GYD`,e.HTG=`HTG`,e.HNL=`HNL`,e.HKD=`HKD`,e.HUF=`HUF`,e.ISK=`ISK`,e.IDR=`IDR`,e.XDR=`XDR`,e.IRR=`IRR`,e.IQD=`IQD`,e.ILS=`ILS`,e.JMD=`JMD`,e.JPY=`JPY`,e.JOD=`JOD`,e.KZT=`KZT`,e.KES=`KES`,e.KPW=`KPW`,e.KRW=`KRW`,e.KWD=`KWD`,e.KGS=`KGS`,e.LAK=`LAK`,e.LBP=`LBP`,e.LSL=`LSL`,e.ZAR=`ZAR`,e.LRD=`LRD`,e.LYD=`LYD`,e.CHF=`CHF`,e.MOP=`MOP`,e.MKD=`MKD`,e.MGA=`MGA`,e.MWK=`MWK`,e.MYR=`MYR`,e.MVR=`MVR`,e.MRU=`MRU`,e.MUR=`MUR`,e.XUA=`XUA`,e.MXN=`MXN`,e.MXV=`MXV`,e.MDL=`MDL`,e.MNT=`MNT`,e.MAD=`MAD`,e.MZN=`MZN`,e.MMK=`MMK`,e.NAD=`NAD`,e.NPR=`NPR`,e.NIO=`NIO`,e.NGN=`NGN`,e.OMR=`OMR`,e.PKR=`PKR`,e.PAB=`PAB`,e.PGK=`PGK`,e.PYG=`PYG`,e.PEN=`PEN`,e.PHP=`PHP`,e.PLN=`PLN`,e.QAR=`QAR`,e.RON=`RON`,e.RUB=`RUB`,e.RWF=`RWF`,e.SHP=`SHP`,e.WST=`WST`,e.STN=`STN`,e.SAR=`SAR`,e.RSD=`RSD`,e.SCR=`SCR`,e.SLL=`SLL`,e.SGD=`SGD`,e.XSU=`XSU`,e.SBD=`SBD`,e.SOS=`SOS`,e.SSP=`SSP`,e.LKR=`LKR`,e.SDG=`SDG`,e.SRD=`SRD`,e.SEK=`SEK`,e.CHE=`CHE`,e.CHW=`CHW`,e.SYP=`SYP`,e.TWD=`TWD`,e.TJS=`TJS`,e.TZS=`TZS`,e.THB=`THB`,e.TOP=`TOP`,e.TTD=`TTD`,e.TND=`TND`,e.TRY=`TRY`,e.TMT=`TMT`,e.UGX=`UGX`,e.UAH=`UAH`,e.AED=`AED`,e.USN=`USN`,e.UYU=`UYU`,e.UYI=`UYI`,e.UYW=`UYW`,e.UZS=`UZS`,e.VUV=`VUV`,e.VES=`VES`,e.VND=`VND`,e.YER=`YER`,e.ZMW=`ZMW`,e.ZWL=`ZWL`,e.XBA=`XBA`,e.XBB=`XBB`,e.XBC=`XBC`,e.XBD=`XBD`,e.XTS=`XTS`,e.XXX=`XXX`,e.XAU=`XAU`,e.XPD=`XPD`,e.XPT=`XPT`,e.XAG=`XAG`,e.AFA=`AFA`,e.FIM=`FIM`,e.ALK=`ALK`,e.ADP=`ADP`,e.ESP=`ESP`,e.FRF=`FRF`,e.AOK=`AOK`,e.AON=`AON`,e.AOR=`AOR`,e.ARA=`ARA`,e.ARP=`ARP`,e.ARY=`ARY`,e.RUR=`RUR`,e.ATS=`ATS`,e.AYM=`AYM`,e.AZM=`AZM`,e.BYB=`BYB`,e.BYR=`BYR`,e.BEC=`BEC`,e.BEF=`BEF`,e.BEL=`BEL`,e.BOP=`BOP`,e.BAD=`BAD`,e.BRB=`BRB`,e.BRC=`BRC`,e.BRE=`BRE`,e.BRN=`BRN`,e.BRR=`BRR`,e.BGJ=`BGJ`,e.BGK=`BGK`,e.BGL=`BGL`,e.BUK=`BUK`,e.HRD=`HRD`,e.CYP=`CYP`,e.CSJ=`CSJ`,e.CSK=`CSK`,e.ECS=`ECS`,e.ECV=`ECV`,e.GQE=`GQE`,e.EEK=`EEK`,e.XEU=`XEU`,e.GEK=`GEK`,e.DDM=`DDM`,e.DEM=`DEM`,e.GHC=`GHC`,e.GHP=`GHP`,e.GRD=`GRD`,e.GNE=`GNE`,e.GNS=`GNS`,e.GWE=`GWE`,e.GWP=`GWP`,e.ITL=`ITL`,e.ISJ=`ISJ`,e.IEP=`IEP`,e.ILP=`ILP`,e.ILR=`ILR`,e.LAJ=`LAJ`,e.LVL=`LVL`,e.LVR=`LVR`,e.LSM=`LSM`,e.ZAL=`ZAL`,e.LTL=`LTL`,e.LTT=`LTT`,e.LUC=`LUC`,e.LUF=`LUF`,e.LUL=`LUL`,e.MGF=`MGF`,e.MVQ=`MVQ`,e.MLF=`MLF`,e.MTL=`MTL`,e.MTP=`MTP`,e.MRO=`MRO`,e.MXP=`MXP`,e.MZE=`MZE`,e.MZM=`MZM`,e.NLG=`NLG`,e.NIC=`NIC`,e.PEH=`PEH`,e.PEI=`PEI`,e.PES=`PES`,e.PLZ=`PLZ`,e.PTE=`PTE`,e.ROK=`ROK`,e.ROL=`ROL`,e.STD=`STD`,e.CSD=`CSD`,e.SKK=`SKK`,e.SIT=`SIT`,e.RHD=`RHD`,e.ESA=`ESA`,e.ESB=`ESB`,e.SDD=`SDD`,e.SDP=`SDP`,e.SRG=`SRG`,e.CHC=`CHC`,e.TJR=`TJR`,e.TPE=`TPE`,e.TRL=`TRL`,e.TMM=`TMM`,e.UGS=`UGS`,e.UGW=`UGW`,e.UAK=`UAK`,e.SUR=`SUR`,e.USS=`USS`,e.UYN=`UYN`,e.UYP=`UYP`,e.VEB=`VEB`,e.VEF=`VEF`,e.VNC=`VNC`,e.YDD=`YDD`,e.YUD=`YUD`,e.YUM=`YUM`,e.YUN=`YUN`,e.ZRN=`ZRN`,e.ZRZ=`ZRZ`,e.ZMK=`ZMK`,e.ZWC=`ZWC`,e.ZWD=`ZWD`,e.ZWN=`ZWN`,e.ZWR=`ZWR`,e.XFO=`XFO`,e.XRE=`XRE`,e.XFU=`XFU`,e}({}),fe=function(e){return e.AU=`AU`,e.ID=`ID`,e.IN=`IN`,e.JP=`JP`,e.SG=`SG`,e.KR=`KR`,e.DE=`DE`,e.CH=`CH`,e.GB=`GB`,e.BR=`BR`,e.BH=`BH`,e.ZA=`ZA`,e.AE=`AE`,e.CA=`CA`,e}({}),pe=function(e){return e.ALCOHOL=`ALCOHOL`,e.APPAREL=`APPAREL`,e.AUTO=`AUTO`,e.BEAUTY=`BEAUTY`,e.EDU=`EDU`,e.ENTERTAIN=`ENTERTAIN`,e.EVENT_PLAN=`EVENT_PLAN`,e.FINANCE=`FINANCE`,e.GOVT=`GOVT`,e.GROCERY=`GROCERY`,e.HEALTH=`HEALTH`,e.HOTEL=`HOTEL`,e.NONPROFIT=`NONPROFIT`,e.ONLINE_GAMBLING=`ONLINE_GAMBLING`,e.OTC_DRUGS=`OTC_DRUGS`,e.OTHER=`OTHER`,e.PHYSICAL_GAMBLING=`PHYSICAL_GAMBLING`,e.PROF_SERVICES=`PROF_SERVICES`,e.RESTAURANT=`RESTAURANT`,e.RETAIL=`RETAIL`,e.TRAVEL=`TRAVEL`,e}({});var y=class{name;debug;constructor(e,t=!1){this.name=e,this.debug=t}formatData(e){return e.map(e=>typeof e==`object`?t(e,{depth:null,colors:!0}):e).join(` `)}log(...e){if(this.debug){let t=`[ ${Date.now()} ]`;this.name&&(t+=` - ${this.name}`),console.log(t,`: `,this.formatData(e))}}error(...e){let t=`[ ${Date.now()} ] - ERROR`;this.name&&(t+=` - ${this.name}`),console.error(t,`: `,this.formatData(e))}warn(...e){if(this.debug){let t=`[ ${Date.now()} ] - WARN`;this.name&&(t+=` - ${this.name}`),console.warn(t,`: `,this.formatData(e))}}info(...e){if(this.debug){let t=`[ ${Date.now()} ] - INFO`;this.name&&(t+=` - ${this.name}`),console.info(t,`: `,this.formatData(e))}}};const me=new y(`UTILS`,process.env.DEBUG===`true`||!1),he=e=>{if(!process.env[_.AccessToken]&&!e?.accessToken)throw me.log(`Environmental variable: CLOUD_API_ACCESS_TOKEN and/or access token argument is undefined.`),Error(`Missing WhatsApp access token.`)},ge=e=>(he(e),{[_.AppId]:e?.appId||process.env.M4D_APP_ID||``,[_.AppSecret]:e?.appSecret||process.env.M4D_APP_SECRET||``,[_.PhoneNumberId]:e?.phoneNumberId||Number(process.env.WA_PHONE_NUMBER_ID),[_.BusinessAcctId]:e?.businessAcctId||process.env.WA_BUSINESS_ACCOUNT_ID||``,[_.APIVersion]:e?.apiVersion||process.env.CLOUD_API_VERSION||``,[_.AccessToken]:e?.accessToken||process.env.CLOUD_API_ACCESS_TOKEN||``,[_.WebhookEndpoint]:e?.webhookEndpoint||process.env.WEBHOOK_ENDPOINT||``,[_.WebhookVerificationToken]:e?.webhookVerificationToken||process.env.WEBHOOK_VERIFICATION_TOKEN||``,[_.ListenerPort]:e?.listenerPort||parseInt(process.env.LISTENER_PORT||``)||3e3,[_.MaxRetriesAfterWait]:e?.maxRetriesAfterWait||parseInt(process.env.MAX_RETRIES_AFTER_WAIT||``)||30,[_.RequestTimeout]:e?.requestTimeout||parseInt(process.env.REQUEST_TIMEOUT||``)||2e4,[_.Debug]:e?.debug||process.env.DEBUG===`true`,[_.PrivatePem]:e?.privatePem||process.env.FLOW_API_PRIVATE_PEM||``,[_.Passphrase]:e?.passphrase||process.env.FLOW_API_PASSPHRASE||``});function _e(e){let t=[[`App ID`,e[_.AppId]||`Not Set`],[`Phone Number ID`,e[_.PhoneNumberId]?.toString()||`Not Set`],[`Business Account ID`,e[_.BusinessAcctId]||`Not Set`],[`API Version`,e[_.APIVersion]||`Not Set`],[`Access Token`,e[_.AccessToken]?`${e[_.AccessToken].substring(0,20)}...`:`Not Set`],[`Webhook Endpoint`,e[_.WebhookEndpoint]||`Not Set`],[`Webhook Verification Token`,e[_.WebhookVerificationToken]?`${e[_.WebhookVerificationToken].substring(0,10)}...`:`Not Set`],[`Listener Port`,e[_.ListenerPort]?.toString()||`Not Set`],[`Debug Mode`,e[_.Debug]?`Enabled`:`Disabled`],[`Max Retries`,e[_.MaxRetriesAfterWait]?.toString()||`Not Set`],[`Request Timeout`,e[_.RequestTimeout]?`${e[_.RequestTimeout]}ms`:`Not Set`],[`Private PEM`,e[_.PrivatePem]?`Configured`:`Not Set`],[`Passphrase`,e[_.Passphrase]?`Configured`:`Not Set`]],n=Math.max(...t.map(([e])=>e?.length||0)),r=Math.max(...t.map(([,e])=>e?.length||0)),i=Math.max(n,20),a=Math.max(r,30),o=`┌${`─`.repeat(i+2)}┬${`─`.repeat(a+2)}┐`,s=`├${`─`.repeat(i+2)}┼${`─`.repeat(a+2)}┤`,c=`└${`─`.repeat(i+2)}┴${`─`.repeat(a+2)}┘`;return[o,`│ ${`Configuration`.padEnd(i)} │ ${`Value`.padEnd(a)} │`,s,...t.map(([e,t])=>`│ ${e?.padEnd(i)} │ ${t?.padEnd(a)} │`),c].join(`
2
+ `)}const b=new y(`FLOW_ENCRYPTION_UTILS`,process.env.DEBUG===`true`);function ve(){if(!r||typeof r.generateKeyPairSync!=`function`){let e=Error(`This utility requires Node.js environment with crypto module. It cannot be used in browser or edge runtime environments.`);throw b.error(`Environment validation failed:`,e),e}if(typeof window<`u`){let e=Error(`This utility cannot run in a browser environment. Please use it in a Node.js server environment only.`);throw b.error(`Browser environment detected:`,e),e}if(process.versions&&process.versions.node){let e=process.versions.node.split(`.`).map(Number),t=e[0]??0,n=e[1]??0;if(t<10||t===10&&n<12){let e=Error(`Node.js version ${process.versions.node} is not supported. Please upgrade to Node.js 10.12.0 or higher.`);throw b.error(`Node.js version check failed:`,e),e}}}function ye(e){b.info(`[generateEncryption] Starting key pair generation`),ve();let t=e||process.env.FLOW_API_PASSPHRASE;if(!t||t.trim().length===0){let e=Error(`Passphrase is empty. Please provide a passphrase as parameter or set FLOW_API_PASSPHRASE environment variable.`);throw b.error(`[generateEncryption] Passphrase validation failed:`,e),e}t.length<8&&b.warn(`[generateEncryption] Passphrase is shorter than 8 characters. Consider using a longer passphrase for better security.`);try{b.info(`[generateEncryption] Generating 2048-bit RSA key pair`);let e=r.generateKeyPairSync(`rsa`,{modulusLength:2048,publicKeyEncoding:{type:`spki`,format:`pem`},privateKeyEncoding:{type:`pkcs8`,format:`pem`,cipher:`aes-256-cbc`,passphrase:t}});return b.info(`[generateEncryption] Key pair generated successfully`),{passphrase:t,privateKey:e.privateKey,publicKey:e.publicKey}}catch(e){let t=e instanceof Error?e.message:String(e),n=Error(`Failed to generate key pair: ${t}`);throw b.error(`[generateEncryption] Key generation failed:`,n),n}}function be(e,t){if(b.info(`[decryptFlowRequest] Starting Flow request decryption`),!t.FLOW_API_PRIVATE_PEM||t.FLOW_API_PRIVATE_PEM.trim()===``){let e=Error(`Missing FLOW_API_PRIVATE_PEM. Please set the FLOW_API_PRIVATE_PEM environment variable or pass privatePem via config.`);throw b.error(`[decryptFlowRequest] Configuration error:`,e),e}if(!t.FLOW_API_PASSPHRASE||t.FLOW_API_PASSPHRASE.trim()===``){let e=Error(`Missing FLOW_API_PASSPHRASE. Please set the FLOW_API_PASSPHRASE environment variable or pass passphrase via config.`);throw b.error(`[decryptFlowRequest] Configuration error:`,e),e}b.info(`[decryptFlowRequest] Configuration validated`);let{encrypted_aes_key:n,encrypted_flow_data:i,initial_vector:a}=e;if(!n||!i||!a)throw b.error(`[decryptFlowRequest] Missing required encryption properties in request body`),Error(`Missing required encryption properties`);b.info(`[decryptFlowRequest] Request body validated`);let o=t.FLOW_API_PRIVATE_PEM;o.includes(`\\n`)&&(o=o.replace(/\\n/g,`
3
+ `));let s=t.FLOW_API_PASSPHRASE,c=o.includes(`-----BEGIN RSA PRIVATE KEY-----`),l=o.includes(`-----BEGIN PRIVATE KEY-----`)||o.includes(`-----BEGIN ENCRYPTED PRIVATE KEY-----`);b.info(`[decryptFlowRequest] Loading private key`,{format:l?`PKCS#8`:c?`PKCS#1`:`Unknown`});let u;try{u=s?r.createPrivateKey({key:o,format:`pem`,passphrase:s}):r.createPrivateKey(o),b.info(`[decryptFlowRequest] Private key loaded successfully`)}catch(e){if(b.error(`[decryptFlowRequest] Failed to load private key (first attempt):`,{error:e instanceof Error?e.message:e,hasPassphrase:!!s,format:l?`PKCS#8`:c?`PKCS#1`:`Unknown`}),c&&s)try{b.info(`[decryptFlowRequest] Attempting to convert PKCS#1 to PKCS#8 format`);let e=r.createPrivateKey({key:o,format:`pem`,passphrase:s}).export({type:`pkcs8`,format:`pem`,cipher:`aes-256-cbc`,passphrase:s});u=r.createPrivateKey({key:e,format:`pem`,passphrase:s}),b.info(`[decryptFlowRequest] Successfully converted PKCS#1 to PKCS#8 and loaded private key`)}catch(t){b.error(`[decryptFlowRequest] Failed to convert PKCS#1 to PKCS#8:`,{error:t instanceof Error?t.message:t});let n=`Failed to parse private key. Error: ${e instanceof Error?e.message:e}`;throw n+=`
4
4
 
5
5
  Your key is in PKCS#1 format with unsupported encryption (DES-EDE3-CBC).`,n+=`
6
6
  Please convert it to PKCS#8 format using:`,n+=`
@@ -10,13 +10,13 @@ Your key is in PKCS#1 format (-----BEGIN RSA PRIVATE KEY-----).`,t+=`
10
10
  Please convert it to PKCS#8 format using:`,t+=`
11
11
  openssl pkcs8 -topk8 -inform PEM -outform PEM -in old_key.pem -out new_key.pem`):l||(t+=`
12
12
 
13
- Your key format is not recognized. Please ensure it is in PKCS#8 format.`),Error(t)}}let d;try{T.info(`[decryptFlowRequest] Decrypting AES key with RSA private key`),d=r.privateDecrypt({key:u,padding:r.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:`sha256`},Buffer.from(n,`base64`)),T.info(`[decryptFlowRequest] AES key decrypted successfully`)}catch(e){throw T.error(`[decryptFlowRequest] Failed to decrypt AES key:`,e),Error(`Failed to decrypt the request. Please verify your private key.`)}let f=Buffer.from(i,`base64`),p=Buffer.from(a,`base64`),m=f.subarray(0,-16),h=f.subarray(-16);T.info(`[decryptFlowRequest] Decrypting flow data with AES-128-GCM`);let g=r.createDecipheriv(`aes-128-gcm`,d,p);g.setAuthTag(h);let _=Buffer.concat([g.update(m),g.final()]).toString(`utf-8`);return T.info(`[decryptFlowRequest] Flow request decrypted successfully`),{decryptedBody:JSON.parse(_),aesKeyBuffer:d,initialVectorBuffer:p}}function D(e,t,n){T.info(`[encryptFlowResponse] Starting Flow response encryption`);let i=[];for(let e of Array.from(n.entries()))i.push(~e[1]);try{T.info(`[encryptFlowResponse] Encrypting response with AES-128-GCM`);let n=r.createCipheriv(`aes-128-gcm`,t,Buffer.from(i)),a=Buffer.concat([n.update(JSON.stringify(e||{}),`utf-8`),n.final(),n.getAuthTag()]).toString(`base64`);return T.info(`[encryptFlowResponse] Flow response encrypted successfully`),a}catch(e){throw T.error(`[encryptFlowResponse] Response encryption failed:`,e),Error(`Failed to encrypt response. Internal server error.`)}}function O(e){return typeof e==`object`&&!!e&&`error`in e&&typeof e.error==`object`&&e.error!=null&&`message`in e.error&&typeof e.error.message==`string`&&`type`in e.error&&typeof e.error.type==`string`&&`code`in e.error&&typeof e.error.code==`number`&&`fbtrace_id`in e.error&&typeof e.error.fbtrace_id==`string`&&(!(`error_data`in e.error)||typeof e.error.error_data==`object`&&e.error.error_data!=null&&`messaging_product`in e.error.error_data&&e.error.error_data.messaging_product===`whatsapp`&&`details`in e.error.error_data&&typeof e.error.error_data.details==`string`)&&(!(`error_subcode`in e.error)||typeof e.error.error_subcode==`number`)}const k=new w(`HttpsClient`,process.env.DEBUG===`true`);var he=class{agent;constructor(){this.agent=new i({keepAlive:!0})}clearSockets(){return this.agent.destroy(),!0}async sendRequest(e,t,n,r,i,a){let o=`https://${e}/${t}`,s=new AbortController,c=setTimeout(()=>s.abort(),i);try{let e=await fetch(o,{method:n,headers:r,body:a,signal:s.signal});return k.log(`${n} : ${o} - ${JSON.stringify(e)}`),clearTimeout(c),new ge(e)}catch(e){throw k.error(`${n} : ${o} - ${JSON.stringify(e)}`),e}}},ge=class{res;respStatusCode;respHeaders;constructor(e){this.res=e,this.respStatusCode=e.status,this.respHeaders=Object.fromEntries(e.headers.entries())}statusCode(){return this.respStatusCode}headers(){return this.respHeaders}rawResponse(){return this.res}async json(){try{return await this.res.json()}catch(e){throw Error(`Failed to parse response body to JSON: `+e.message)}}};const _e=new w(`REQUESTER`,process.env.DEBUG===`true`);var ve=class{client;accessToken;phoneNumberId;businessAcctId;apiVersion;userAgent;host;protocol=`https:`;constructor(e,t,n,r,i){this.client=new he,this.host=`graph.facebook.com`,this.apiVersion=e||`22`,this.phoneNumberId=t,this.accessToken=n,this.businessAcctId=r,this.userAgent=i}buildHeader(e,t){let n={Authorization:`Bearer ${this.accessToken}`,"User-Agent":this.userAgent};return e!==`multipart/form-data`&&(n[`Content-Type`]=e),t&&Object.assign(n,t),n}buildCAPIPath(e){return`v${this.apiVersion}.0/${e}`}async sendRequest(e,t,n,r,i=`application/json`,a){let o=i;r instanceof FormData?o=`multipart/form-data`:typeof r==`string`&&r.startsWith(`<?xml`)&&(o=`application/xml`);let s=`${this.protocol.toLowerCase()}//${this.host}/${this.buildCAPIPath(t)}`;_e.log(`${e} : ${s} (${o})`);try{let i=await this.client.sendRequest(this.host,this.buildCAPIPath(t),e,this.buildHeader(o,a),n,e===`POST`||e===`PUT`?r:void 0);if(!i.rawResponse().ok){let e=await i.json();throw O(e)?e:{name:`MetaError`,message:`Unknown error occurred`,error:{message:e.message||`Unknown error occurred`,type:`UnknownError`,code:i.statusCode(),fbtrace_id:``}}}return i}catch(e){throw O(e)?e:{name:`MetaError`,message:e instanceof Error?e.message:`Network error occurred`,error:{message:e instanceof Error?e.message:`Network error occurred`,type:`NetworkError`,code:500,fbtrace_id:``}}}}async getJson(e,t,n,r,i){return await(await this.sendRequest(e,t,n,r,`application/json`,i)).json()}async sendFormData(e,t,n,r,i){return await(await this.sendRequest(e,t,n,r,`multipart/form-data`,i)).json()}async sendUrlEncodedForm(e,t,n,r,i){let a=new URLSearchParams(r).toString();return await(await this.sendRequest(e,t,n,a,`application/x-www-form-urlencoded`,i)).json()}};function A(){try{let e=o(__dirname,`../../package.json`);return JSON.parse(a(e,`utf-8`)).version}catch{return`unknown`}}function ye(){let e=A(),t=process.version;return`WhatsApp-Nodejs-SDK/${e} (Node.js ${t})`}var j=class{config;client;constructor(e,t){this.config=e,this.client=t}sendJson(e,t,n,r){return this.client.getJson(e,t,n,r)}sendFormData(e,t,n,r){return this.client.sendFormData(e,t,n,r)}sendUrlEncodedForm(e,t,n,r){return this.client.sendUrlEncodedForm(e,t,n,r)}};const M=e=>{if(!e||Object.keys(e).length===0)return``;let t=[];for(let[n,r]of Object.entries(e))if(r!==void 0){let e=encodeURIComponent(n),i=encodeURIComponent(String(r));t.push(`${e}=${i}`)}return t.length>0?`?${t.join(`&`)}`:``};var N=class extends j{endpoint=`block_users`;constructor(e,t){super(e,t)}buildBlockUsersBody(e){return{messaging_product:`whatsapp`,block_users:e.map(e=>({user:e}))}}async block(e){if(!e||e.length===0)throw Error(`At least one user must be provided to block`);let t=this.buildBlockUsersBody(e);return await this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async unblock(e){if(!e||e.length===0)throw Error(`At least one user must be provided to unblock`);let t=this.buildBlockUsersBody(e);return await this.sendJson(u.Delete,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async listBlockedUsers(e){let t=`${this.config[_.PhoneNumberId]}/${this.endpoint}`;if(e){let n=M(e);n&&(t+=`?${n}`)}return await this.sendJson(u.Get,t,this.config[_.RequestTimeout])}},P=class extends j{endpoint=`whatsapp_business_encryption`;constructor(e,t){super(e,t)}async getEncryptionPublicKey(){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],null)}async setEncryptionPublicKey(e){let t=new FormData;return t.append(`business_public_key`,e),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],t)}},F=class extends j{constructor(e,t){super(e,t)}async listFlows(e){return this.sendJson(u.Get,`/${e}/flows`,this.config[_.RequestTimeout],null)}async createFlow(e,t){let n={name:t.name,categories:t.categories,...t.endpoint_uri&&{endpoint_uri:t.endpoint_uri},...t.clone_flow_id&&{clone_flow_id:t.clone_flow_id},...t.flow_json&&{flow_json:t.flow_json},...t.publish!==void 0&&{publish:t.publish}};return this.sendJson(u.Post,`/${e}/flows`,this.config[_.RequestTimeout],JSON.stringify(n))}async getFlow(e,t,n){let r=new URLSearchParams;t&&r.append(`fields`,t),n&&r.append(`date_format`,n);let i=r.toString()?`?${r.toString()}`:``;return this.sendJson(u.Get,`/${e}${i}`,this.config[_.RequestTimeout],null)}async getFlowPreview(e,t=!1){let n=`preview.invalidate(${t})`;return this.getFlow(e,n)}async updateFlowMetadata(e,t){let n={...t.name&&{name:t.name},...t.categories&&{categories:t.categories},...t.endpoint_uri&&{endpoint_uri:t.endpoint_uri},...t.application_id&&{application_id:t.application_id}};return this.sendJson(u.Post,`/${e}`,this.config[_.RequestTimeout],JSON.stringify(n))}async deleteFlow(e){return this.sendJson(u.Delete,`/${e}`,this.config[_.RequestTimeout],null)}async listAssets(e){return this.sendJson(u.Get,`/${e}/assets`,this.config[_.RequestTimeout],null)}async updateFlowJson(e,t){let n=new FormData,r;if(t.file instanceof Buffer)r=new globalThis.Blob([t.file]),n.append(`file`,r);else if(typeof t.file==`object`&&!(t.file instanceof Blob))try{r=new globalThis.Blob([JSON.stringify(t.file,null,2)],{type:`application/json`}),n.append(`file`,r)}catch{throw Error(`Failed to stringify JSON object for Flow JSON update.`)}else if(t.file instanceof Blob)r=t.file,n.append(`file`,r);else throw Error(`Invalid file type provided for Flow JSON update. Must be a Buffer, JSON object, or Blob.`);return n.append(`asset_type`,`FLOW_JSON`),n.append(`name`,t.name||`flow.json`),this.sendFormData(u.Post,`/${e}/assets`,this.config[_.RequestTimeout],n)}async validateFlowJson(e,t){try{let n=await this.updateFlowJson(e,{file:t}),r=!n.validation_errors||n.validation_errors.length===0;return{...n,valid:r}}catch(e){throw e}}async publishFlow(e){return this.sendJson(u.Post,`/${e}/publish`,this.config[_.RequestTimeout],JSON.stringify({}))}async deprecateFlow(e){return this.sendJson(u.Post,`/${e}/deprecate`,this.config[_.RequestTimeout],JSON.stringify({}))}async migrateFlows(e,t){let n={source_waba_id:t.source_waba_id,...t.source_flow_names&&{source_flow_names:t.source_flow_names}};return this.sendJson(u.Post,`/${e}/migrate_flows`,this.config[_.RequestTimeout],JSON.stringify(n))}};let be=function(e){return e.Draft=`DRAFT`,e.Published=`PUBLISHED`,e.Throttled=`THROTTLED`,e.Blocked=`BLOCKED`,e.Deprecated=`DEPRECATED`,e}({}),xe=function(e){return e.SignUp=`SIGN_UP`,e.SignIn=`SIGN_IN`,e.AppointmentBooking=`APPOINTMENT_BOOKING`,e.LeadGeneration=`LEAD_GENERATION`,e.ContactUs=`CONTACT_US`,e.CustomerSupport=`CUSTOMER_SUPPORT`,e.Survey=`SURVEY`,e.Other=`OTHER`,e}({}),I=function(e){return e.INIT=`INIT`,e.BACK=`BACK`,e.DATA_EXCHANGE=`data_exchange`,e}({}),L=function(e){return e.Ping=`ping`,e.Change=`data_exchange`,e.Error=`error`,e.All=`*`,e}({});var R=class extends j{endpoint=`media`;constructor(e,t){super(e,t)}async getMediaById(e,t){return this.sendJson(u.Get,`${e}`,this.config[_.RequestTimeout],null)}async uploadMedia(e,t=`whatsapp`){let n=new FormData;return n.append(`file`,e),n.append(`messaging_product`,t),n.append(`type`,e.type),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],n)}async deleteMedia(e,t){return this.sendJson(u.Delete,`${e}`,this.config[_.RequestTimeout],null)}async downloadMedia(e){return this.sendJson(u.Get,e,this.config[_.RequestTimeout],null)}},z=class extends j{commonMethod=u.Post;commonEndpoint=`messages`;constructor(e,t){super(e,t)}bodyBuilder(e,t,n,r){let i={messaging_product:`whatsapp`,recipient_type:`individual`,to:n,type:e,[e]:t};return r&&(i.context={message_id:r}),i}send(e){return this.sendJson(this.commonMethod,`${this.config[_.PhoneNumberId]}/${this.commonEndpoint}`,this.config[_.RequestTimeout],e)}async audio(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Audio,t,n,r)))}async contacts(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Contacts,t,n,r)))}async document(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Document,t,n,r)))}async image(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Image,t,n,r)))}async interactive(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Interactive,t,n,r)))}async location(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Location,t,n,r)))}async sticker(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Sticker,t,n,r)))}async template(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Template,t,n,r)))}async text(e){let{body:t,to:n,replyMessageId:r,previewUrl:i}=e,a=typeof t==`string`?{body:t,preview_url:i??!0}:{...t,preview_url:i??t.preview_url??!0};return this.send(JSON.stringify(this.bodyBuilder(d.Text,a,n,r)))}async video(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Video,t,n,r)))}async status(e){let t={messaging_product:`whatsapp`,status:e.status,message_id:e.messageId,...e.typingIndicator&&{typing_indicator:e.typingIndicator}};return this.send(JSON.stringify(t))}async markAsRead(e){return this.status({status:`read`,messageId:e.messageId})}async showTypingIndicator(e){return this.status({status:`read`,messageId:e.messageId,typingIndicator:{type:`text`}})}async interactiveList(e){return this.interactive(e)}async interactiveCtaUrl(e){return this.interactive(e)}async interactiveLocationRequest(e){return this.interactive(e)}async interactiveAddressMessage(e){return this.interactive(e)}async interactiveReplyButtons(e){return this.interactive(e)}async interactiveFlow(e){return this.interactive(e)}async reaction(e){let t={message_id:e.messageId,emoji:e.emoji};return this.send(JSON.stringify(this.bodyBuilder(d.Reaction,t,e.to)))}},B=class extends j{endpoint=`phone_numbers`;constructor(e,t){super(e,t)}async getPhoneNumberById(e){let t=e?M({fields:e}):``;return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}${t}`,this.config[_.RequestTimeout],null)}async getPhoneNumbers(){return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}/${this.endpoint}`,this.config[_.RequestTimeout],null)}async requestVerificationCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/request_code`,this.config[_.RequestTimeout],JSON.stringify(e))}async verifyCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/verify_code`,this.config[_.RequestTimeout],JSON.stringify(e))}async setConversationalAutomation(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/conversational_automation`,this.config[_.RequestTimeout],JSON.stringify(e))}async getConversationalAutomation(){let e=M({fields:`conversational_automation`});return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}${e}`,this.config[_.RequestTimeout],null)}async getThroughput(){let e=M({fields:`throughput`});return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}${e}`,this.config[_.RequestTimeout],null)}};function V(e){if(!e)return``;let t=``;return t=Array.isArray(e)?e.join(`,`):typeof e==`string`?e:Object.entries(e).filter(([e,t])=>t).map(([e])=>e).join(`,`),t?`?fields=${t}`:``}var H=class extends j{endpoint=`whatsapp_business_profile`;constructor(e,t){super(e,t)}async getBusinessProfile(e){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}${V(e)}`,this.config[_.RequestTimeout],null)}async updateBusinessProfile(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async createUploadSession(e,t,n){let r=M({file_length:e,file_type:t,file_name:n});return this.sendJson(u.Post,`app/uploads/${r}`,this.config[_.RequestTimeout],null)}async uploadMedia(e,t){return this.sendJson(u.Post,`${e}`,this.config[_.RequestTimeout],t)}async getUploadHandle(e){return this.sendJson(u.Get,`${e}`,this.config[_.RequestTimeout],null)}},Se=class extends j{endpoint=`message_qrdls`;constructor(e,t){super(e,t)}async createQrCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async getQrCodes(){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],null)}async getQrCode(e){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}/${e}`,this.config[_.RequestTimeout],null)}async updateQrCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async deleteQrCode(e){return this.sendJson(u.Delete,`${this.config[_.PhoneNumberId]}/${this.endpoint}/${e}`,this.config[_.RequestTimeout],null)}},Ce=class extends j{constructor(e,t){super(e,t)}async register(e,t){let n={messaging_product:`whatsapp`,pin:e,...t&&{data_localization_region:t}};return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/register`,this.config[_.RequestTimeout],JSON.stringify(n))}async deregister(){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/deregister`,this.config[_.RequestTimeout],null)}},we=class extends j{endpoint=`message_templates`;constructor(e,t){super(e,t)}async getTemplate(e){return this.sendJson(u.Get,`${e}`,this.config[_.RequestTimeout],null)}async updateTemplate(e,t){return this.sendJson(u.Post,`${e}`,this.config[_.RequestTimeout],JSON.stringify(t))}async getTemplates(e){return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}/${this.endpoint}${M(e??{})}`,this.config[_.RequestTimeout],null)}async createTemplate(e){return this.sendJson(u.Post,`${this.config[_.BusinessAcctId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async deleteTemplate(e){return this.sendJson(u.Delete,`${this.config[_.BusinessAcctId]}/${this.endpoint}${M(e)}`,this.config[_.RequestTimeout],null)}};function U(e){let t={type:`HEADER`,format:e.format};return e.text&&(t.text=e.text),e.example&&(t.example=e.example),t}function W(e){let t={type:`BODY`,text:e.text};return e.example&&(t.example=e.example),t}function G(e){return{type:`FOOTER`,text:e.text}}function K(e){let t=[];if(e.phone_number&&t.push({type:`PHONE_NUMBER`,text:e.phone_number.text,phone_number:e.phone_number.phone_number}),e.url){let n={type:`URL`,text:e.url.text,url:e.url.url};e.url.example&&(n.example=[e.url.example]),t.push(n)}if(e.quick_reply&&e.quick_reply.forEach(e=>{t.push({type:`QUICK_REPLY`,text:e.text})}),e.copy_code&&t.push({type:`COPY_CODE`,example:e.copy_code.example}),e.flow){let n={type:`FLOW`,text:e.flow.text};e.flow.flow_id&&(n.flow_id=e.flow.flow_id),e.flow.flow_name&&(n.flow_name=e.flow.flow_name),e.flow.flow_json&&(n.flow_json=e.flow.flow_json),e.flow.flow_action&&(n.flow_action=e.flow.flow_action),e.flow.navigate_screen&&(n.navigate_screen=e.flow.navigate_screen),t.push(n)}return e.mpm&&t.push({type:`MPM`}),e.otp&&t.push({type:`OTP`}),e.spm&&t.push({type:`SPM`}),t.length>0?[{type:`BUTTONS`,buttons:t}]:[]}function Te(e){return e.map(e=>{switch(e.type){case`text`:return e.value;case`currency`:return e.fallback_value;case`date_time`:return e.fallback_value;case`image`:case`video`:case`document`:return e.handle||e.link||``;case`location`:return e.name||``;case`product`:return e.product_retailer_id;default:return``}})}function Ee(e){let t=[];if(e.header&&t.push(U(e.header)),e.body&&t.push(W(e.body)),e.footer&&t.push(G(e.footer)),e.buttons&&t.push(...K(e.buttons)),e.carousel){let n=[];e.carousel.cards.forEach((e,t)=>{if(e.image||e.video||e.product){let t=e.image?`IMAGE`:e.video?`VIDEO`:`DOCUMENT`,r=e.image||e.video||e.product||``;n.push({type:`HEADER`,format:t,example:{header_handle:[r]}})}e.body&&n.push({type:`BODY`,text:e.body,example:e.bodyParameters?{body_text:[Te(e.bodyParameters)]}:void 0}),e.buttons&&n.push(...K(e.buttons))}),t.push(...n)}return e.limitedTimeOffer&&t.push({type:`LIMITED_TIME_OFFER`,limited_time_offer:{expiration_time_ms:e.limitedTimeOffer.expiration_time_ms}}),{name:e.name,language:e.language,category:e.category,components:t.length>0?t:void 0}}function De(e){let t=[],n=`*{{1}}* is your verification code.`;return e.add_security_recommendation&&(n+=` For your security, do not share this code.`),e.code_expiration_minutes&&(n+=` This code expires in ${e.code_expiration_minutes} minutes.`),t.push({type:`BODY`,text:n,example:{body_text:[[`123456`]]}}),t.push({type:`BUTTONS`,buttons:[{type:`OTP`}]}),{name:e.name,language:e.language,category:c.Authentication,components:t}}function Oe(e){let t=[],n=`Your security code is *{{1}}*.`;return e.add_security_recommendation&&(n+=` Do not share this code with anyone.`),e.code_expiration_minutes&&(n+=` This code expires in ${e.code_expiration_minutes} minutes.`),t.push({type:`BODY`,text:n,example:{body_text:[[`ABCD1234`]]}}),e.copy_code_button&&t.push({type:`BUTTONS`,buttons:[{type:`COPY_CODE`,example:`ABCD1234`}]}),{name:e.name,language:e.language,category:c.Authentication,components:t}}function ke(e){let t=[];return e.header&&t.push(U({...e.header,format:`TEXT`})),t.push(W(e.body)),e.footer&&t.push(G(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`CATALOG`,action:{thumbnail_product_retailer_id:e.thumbnail_product_retailer_id}}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Ae(e){let t=[];return e.header&&t.push(U({...e.header,format:`TEXT`})),t.push(W(e.body)),e.footer&&t.push(G(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`COPY_CODE`,example:e.coupon_code}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function je(e){let t=[];return t.push({type:`LIMITED_TIME_OFFER`,limited_time_offer:{expiration_time_ms:e.expiration_time_ms}}),e.header&&t.push(U({...e.header,format:`TEXT`})),t.push(W(e.body)),e.footer&&t.push(G(e.footer)),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Me(e){let t=[],n=[];return e.cards.forEach((e,t)=>{let r=[];r.push({type:`HEADER`,format:e.header.format,example:e.header.example}),r.push(W(e.body)),e.buttons&&r.push(...K(e.buttons)),n.push({card_index:t,components:r})}),t.push({type:`CAROUSEL`,cards:n}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Ne(e){let t=[];return e.header&&t.push(U({...e.header,format:`TEXT`})),t.push(W(e.body)),e.footer&&t.push(G(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`MPM`,action:{thumbnail_product_retailer_id:e.thumbnail_product_retailer_id,sections:e.sections}}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Pe(e){let t=[];e.header&&t.push(U({...e.header,format:`TEXT`})),t.push(W(e.body)),e.footer&&t.push(G(e.footer));let n=e.cards.map((e,t)=>({card_index:t,components:[{type:`HEADER`,format:`PRODUCT`,example:{header_handle:[e.product_retailer_id]}}]}));return t.push({type:`CAROUSEL`,cards:n}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Fe(e){let t=[];return e.header&&t.push(U({...e.header,format:`TEXT`})),t.push(W(e.body)),e.footer&&t.push(G(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`SPM`,action:{product_retailer_id:e.product_retailer_id}}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}var Ie=class extends j{constructor(e,t){super(e,t)}async setTwoStepVerificationCode(e){let t={pin:e};return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}`,this.config[_.RequestTimeout],JSON.stringify(t))}},Le=class extends j{constructor(e,t){super(e,t)}async getWabaAccount(e){let t=V(e)?.replace(/,/g,`%2C`);return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}${t}`,this.config[_.RequestTimeout],null)}async getAllWabaSubscriptions(){return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}/subscribed_apps`,this.config[_.RequestTimeout],null)}async updateWabaSubscription({override_callback_uri:e,verify_token:t}){let n={override_callback_uri:e,verify_token:t};return this.sendJson(u.Post,`${this.config[_.BusinessAcctId]}/subscribed_apps`,this.config[_.RequestTimeout],JSON.stringify(n))}async unsubscribeFromWaba(){return this.sendJson(u.Delete,`${this.config[_.BusinessAcctId]}/subscribed_apps`,this.config[_.RequestTimeout],null)}};function Re(){process.env.NODE_ENV===`test`||process.env.VITEST===`true`||typeof global<`u`&&global.__VITEST__||console.log(`\x1B[36m%s\x1B[0m`,`
13
+ Your key format is not recognized. Please ensure it is in PKCS#8 format.`),Error(t)}}let d;try{b.info(`[decryptFlowRequest] Decrypting AES key with RSA private key`),d=r.privateDecrypt({key:u,padding:r.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:`sha256`},Buffer.from(n,`base64`)),b.info(`[decryptFlowRequest] AES key decrypted successfully`)}catch(e){throw b.error(`[decryptFlowRequest] Failed to decrypt AES key:`,e),Error(`Failed to decrypt the request. Please verify your private key.`)}let f=Buffer.from(i,`base64`),p=Buffer.from(a,`base64`),m=f.subarray(0,-16),h=f.subarray(-16);b.info(`[decryptFlowRequest] Decrypting flow data with AES-128-GCM`);let g=r.createDecipheriv(`aes-128-gcm`,d,p);g.setAuthTag(h);let _=Buffer.concat([g.update(m),g.final()]).toString(`utf-8`);return b.info(`[decryptFlowRequest] Flow request decrypted successfully`),{decryptedBody:JSON.parse(_),aesKeyBuffer:d,initialVectorBuffer:p}}function xe(e,t,n){b.info(`[encryptFlowResponse] Starting Flow response encryption`);let i=[];for(let e of Array.from(n.entries()))i.push(~e[1]);try{b.info(`[encryptFlowResponse] Encrypting response with AES-128-GCM`);let n=r.createCipheriv(`aes-128-gcm`,t,Buffer.from(i)),a=Buffer.concat([n.update(JSON.stringify(e||{}),`utf-8`),n.final(),n.getAuthTag()]).toString(`base64`);return b.info(`[encryptFlowResponse] Flow response encrypted successfully`),a}catch(e){throw b.error(`[encryptFlowResponse] Response encryption failed:`,e),Error(`Failed to encrypt response. Internal server error.`)}}const Se=[0,1,2,3,4,10,33,100,190,200,299,368,613,80007,130429,130472,130497,131e3,131005,131008,131009,131016,131020,131021,131026,131030,131031,131037,131041,131042,131044,131045,131047,131048,131049,131050,131051,131052,131053,131055,131056,131057,131059,131201,131202,131203,131204,131207,131208,131209,131210,131211,131212,131213,131214,131215,132e3,132001,132005,132007,132008,132012,132015,132016,132068,132069,133e3,133004,133005,133006,133008,133009,133010,133015,133016,134011,134100,134101,134102,135e3,137e3,138e3,138001,138002,138003,138004,138005,138006,138007,138009,138012,138013,138018,139e3,139001,139002,139003,139004,139100,139101,139102,139103,200005,200006,200007,1752041,2388001,2388012,2388019,2388040,2388047,2388072,2388073,2388091,2388093,2388103,2388293,2388299,2494100,2593079,2593085,2593107,2593108],Ce=new Set(Se),we=[0,3,10,190],Te=[4,80007,130429,131048,131056],Ee=[368,130497,131031],De=[130472,131e3,131005,131008,131009,131016,131021,131026,131030,131042,131044,131045,131047,131050,131051,131052,131053,131056,131057,131048,132e3,132001,132005,132007,132008,132012,132015,132016,132068,132069,135e3,137e3],Oe=[139e3,139001,139002,139003,139004],ke=[139100,139101,139102,139103],Ae=[138e3,138001,138002,138003,138004,138005,138006,138007,138009,138012,138013,138018,613],x=[131020,131041,131059,131201,131202,131203,131204,131207,131208,131209,131210,131211,131212,131213,131214,131215],je=new Set(we),Me=new Set(Te),Ne=new Set(Ee),Pe=new Set(De),Fe=new Set(Oe),Ie=new Set(ke),Le=new Set(Ae),Re=new Set(x);function S(e){return C(e)?!0:Ce.has(e)}function C(e){return e>=200&&e<300}function ze(e){return C(e)||je.has(e)}function Be(e){return Me.has(e)}function Ve(e){return Ne.has(e)}function He(e){return Pe.has(e)}function Ue(e){return Fe.has(e)}function We(e){return Ie.has(e)}function Ge(e){return Le.has(e)}function Ke(e){return Re.has(e)}var w=class extends Error{constructor(e){super(e),this.name=`WhatsAppError`}},T=class extends w{error;statusCode;constructor(e,t,n){super(e),this.name=`WhatsAppApiError`,this.error=t,this.statusCode=n}},E=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppAuthorizationError`}},D=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppThrottlingError`}},O=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppIntegrityError`}},k=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppSendMessageError`}},A=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppFlowError`}},j=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppBlockUserError`}},M=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppCallingError`}},N=class extends T{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppGroupError`}};function P(e,t){let n=e.code;return ze(n)?new E(e.message,e,t):Be(n)?new D(e.message,e,t):Ve(n)?new O(e.message,e,t):He(n)?new k(e.message,e,t):Ue(n)?new A(e.message,e,t):We(n)?new j(e.message,e,t):Ge(n)?new M(e.message,e,t):Ke(n)?new N(e.message,e,t):new T(e.message,e,t)}var qe=class extends w{cause;constructor(e,t){super(e),this.name=`WhatsAppNetworkError`,this.cause=t}},Je=class extends w{cause;constructor(e,t){super(e),this.name=`WhatsAppUnknownError`,this.cause=t}};function F(e){if(typeof e!=`object`||!e||!(`error`in e)||typeof e.error!=`object`||e.error==null)return!1;let t=e.error;if(typeof t.message!=`string`||typeof t.type!=`string`||typeof t.code!=`number`||typeof t.fbtrace_id!=`string`)return!1;if(`error_data`in t&&t.error_data!=null){if(typeof t.error_data!=`object`)return!1;let e=t.error_data;if(`messaging_product`in e&&e.messaging_product!==`whatsapp`||`details`in e&&typeof e.details!=`string`)return!1}return!(`error_subcode`in t&&typeof t.error_subcode!=`number`)}function Ye(e){return F(e)&&S(e.error.code)}function Xe(e){return e instanceof E}function Ze(e){return e instanceof D}function Qe(e){return e instanceof O}function $e(e){return e instanceof k}function et(e){return e instanceof A}function tt(e){return e instanceof j}function nt(e){return e instanceof M}function rt(e){return e instanceof N}function it(e,t){if(F(e))return e;let n=`Unknown error occurred`;if(e&&typeof e==`object`&&`message`in e){let t=e.message;typeof t==`string`&&(n=t)}return{name:`MetaError`,message:n,error:{message:n,type:`UnknownError`,code:typeof t==`number`?t:500,fbtrace_id:``}}}const at=new y(`HttpsClient`,process.env.DEBUG===`true`);var ot=class{agent;constructor(){this.agent=new i({keepAlive:!0})}clearSockets(){return this.agent.destroy(),!0}async sendRequest(e,t,n,r,i,a){let o=`https://${e}/${t}`,s=new AbortController,c=setTimeout(()=>s.abort(),i);try{let e=await fetch(o,{method:n,headers:r,body:a,signal:s.signal});return at.log(`${n} : ${o} - ${JSON.stringify(e)}`),clearTimeout(c),new st(e)}catch(e){throw at.error(`${n} : ${o} - ${JSON.stringify(e)}`),e}}},st=class{res;respStatusCode;respHeaders;constructor(e){this.res=e,this.respStatusCode=e.status,this.respHeaders=Object.fromEntries(e.headers.entries())}statusCode(){return this.respStatusCode}headers(){return this.respHeaders}rawResponse(){return this.res}async json(){try{return await this.res.json()}catch(e){throw Error(`Failed to parse response body to JSON: `+e.message)}}};const ct=new y(`REQUESTER`,process.env.DEBUG===`true`);var lt=class{client;accessToken;phoneNumberId;businessAcctId;apiVersion;userAgent;host;protocol=`https:`;constructor(e,t,n,r,i){this.client=new ot,this.host=`graph.facebook.com`,this.apiVersion=e||`22`,this.phoneNumberId=t,this.accessToken=n,this.businessAcctId=r,this.userAgent=i}buildHeader(e,t){let n={Authorization:`Bearer ${this.accessToken}`,"User-Agent":this.userAgent};return e!==`multipart/form-data`&&(n[`Content-Type`]=e),t&&Object.assign(n,t),n}buildCAPIPath(e){return`v${this.apiVersion}.0/${e}`}async sendRequest(e,t,n,r,i=`application/json`,a){let o=i;r instanceof FormData?o=`multipart/form-data`:typeof r==`string`&&r.startsWith(`<?xml`)&&(o=`application/xml`);let s=`${this.protocol.toLowerCase()}//${this.host}/${this.buildCAPIPath(t)}`;ct.log(`${e} : ${s} (${o})`);try{let i=e===`POST`||e===`PUT`||e===`DELETE`,s=await this.client.sendRequest(this.host,this.buildCAPIPath(t),e,this.buildHeader(o,a),n,i?r:void 0);if(!s.rawResponse().ok){let e=null;try{e=await s.json()}catch{e=null}throw P(it(e,s.statusCode()).error,s.statusCode())}return s}catch(e){throw e instanceof w?e:F(e)?P(e.error):new qe(e instanceof Error?e.message:`Network error occurred`,e)}}async getJson(e,t,n,r,i){return await(await this.sendRequest(e,t,n,r,`application/json`,i)).json()}async sendFormData(e,t,n,r,i){return await(await this.sendRequest(e,t,n,r,`multipart/form-data`,i)).json()}async sendUrlEncodedForm(e,t,n,r,i){let a=new URLSearchParams(r).toString();return await(await this.sendRequest(e,t,n,a,`application/x-www-form-urlencoded`,i)).json()}};function ut(){try{let e=o(__dirname,`../../package.json`);return JSON.parse(a(e,`utf-8`)).version}catch{return`unknown`}}function dt(){return`WhatsApp-Nodejs-SDK/${ut()} (Node.js ${process.version})`}var I=class{config;client;constructor(e,t){this.config=e,this.client=t}sendJson(e,t,n,r){return this.client.getJson(e,t,n,r)}sendFormData(e,t,n,r){return this.client.sendFormData(e,t,n,r)}sendUrlEncodedForm(e,t,n,r){return this.client.sendUrlEncodedForm(e,t,n,r)}};const L=e=>{if(!e||Object.keys(e).length===0)return``;let t=[];for(let[n,r]of Object.entries(e))if(r!==void 0){let e=encodeURIComponent(n),i=encodeURIComponent(String(r));t.push(`${e}=${i}`)}return t.length>0?`?${t.join(`&`)}`:``};var ft=class extends I{endpoint=`block_users`;constructor(e,t){super(e,t)}buildBlockUsersBody(e){return{messaging_product:`whatsapp`,block_users:e.map(e=>({user:e}))}}async block(e){if(!e||e.length===0)throw Error(`At least one user must be provided to block`);let t=this.buildBlockUsersBody(e);return await this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async unblock(e){if(!e||e.length===0)throw Error(`At least one user must be provided to unblock`);let t=this.buildBlockUsersBody(e);return await this.sendJson(u.Delete,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async listBlockedUsers(e){let t=`${this.config[_.PhoneNumberId]}/${this.endpoint}`;if(e){let n=L(e);n&&(t+=n)}return await this.sendJson(u.Get,t,this.config[_.RequestTimeout])}},pt=class extends I{endpoint=`calls`;constructor(e,t){super(e,t)}async updateCallingSettings(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/settings`,this.config[_.RequestTimeout],JSON.stringify(e))}async getCallingSettings(e){let t=Array.isArray(e?.fields)?e?.fields.join(`,`):e?.fields,n=L({...t?{fields:t}:{},...e?.include_sip_credentials===void 0?{}:{include_sip_credentials:e.include_sip_credentials}});return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/settings${n}`,this.config[_.RequestTimeout],null)}async getCallPermissions(e){let t=L({user_wa_id:e.userWaId});return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/call_permissions${t}`,this.config[_.RequestTimeout],null)}async initiateCall(e){let t={messaging_product:`whatsapp`,to:e.to,action:`connect`,session:e.session};return e.biz_opaque_callback_data&&(t.biz_opaque_callback_data=e.biz_opaque_callback_data),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async preAcceptCall(e){let t={messaging_product:`whatsapp`,call_id:e.call_id,action:`pre_accept`};return e.session&&(t.session=e.session),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async acceptCall(e){let t={messaging_product:`whatsapp`,call_id:e.call_id,action:`accept`};return e.session&&(t.session=e.session),e.biz_opaque_callback_data&&(t.biz_opaque_callback_data=e.biz_opaque_callback_data),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async rejectCall(e){let t={messaging_product:`whatsapp`,call_id:e.call_id,action:`reject`};return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}async terminateCall(e){let t={messaging_product:`whatsapp`,call_id:e.call_id,action:`terminate`};return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}},mt=class extends I{endpoint=`whatsapp_commerce_settings`;constructor(e,t){super(e,t)}async getCommerceSettings(){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],null)}async updateCommerceSettings(e){let t=L(e);return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}${t}`,this.config[_.RequestTimeout],null)}},ht=class extends I{endpoint=`whatsapp_business_encryption`;constructor(e,t){super(e,t)}async getEncryptionPublicKey(){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],null)}async setEncryptionPublicKey(e){let t=new FormData;return t.append(`business_public_key`,e),this.sendFormData(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],t)}},gt=class extends I{constructor(e,t){super(e,t)}async listFlows(e){return this.sendJson(u.Get,`/${e}/flows`,this.config[_.RequestTimeout],null)}async createFlow(e,t){let n={name:t.name,categories:t.categories,...t.endpoint_uri&&{endpoint_uri:t.endpoint_uri},...t.clone_flow_id&&{clone_flow_id:t.clone_flow_id},...t.flow_json&&{flow_json:t.flow_json},...t.publish!==void 0&&{publish:t.publish}};return this.sendJson(u.Post,`/${e}/flows`,this.config[_.RequestTimeout],JSON.stringify(n))}async getFlow(e,t,n){let r=new URLSearchParams;t&&r.append(`fields`,t),n&&r.append(`date_format`,n);let i=r.toString()?`?${r.toString()}`:``;return this.sendJson(u.Get,`/${e}${i}`,this.config[_.RequestTimeout],null)}async getFlowPreview(e,t=!1){let n=`preview.invalidate(${t})`;return this.getFlow(e,n)}async updateFlowMetadata(e,t){let n={...t.name&&{name:t.name},...t.categories&&{categories:t.categories},...t.endpoint_uri&&{endpoint_uri:t.endpoint_uri},...t.application_id&&{application_id:t.application_id}};return this.sendJson(u.Post,`/${e}`,this.config[_.RequestTimeout],JSON.stringify(n))}async deleteFlow(e){return this.sendJson(u.Delete,`/${e}`,this.config[_.RequestTimeout],null)}async listAssets(e){return this.sendJson(u.Get,`/${e}/assets`,this.config[_.RequestTimeout],null)}async updateFlowJson(e,t){let n=new FormData,r;if(t.file instanceof Buffer)r=new globalThis.Blob([new Uint8Array(t.file)]),n.append(`file`,r);else if(typeof t.file==`object`&&!(t.file instanceof Blob))try{r=new globalThis.Blob([JSON.stringify(t.file,null,2)],{type:`application/json`}),n.append(`file`,r)}catch{throw Error(`Failed to stringify JSON object for Flow JSON update.`)}else if(t.file instanceof Blob)r=t.file,n.append(`file`,r);else throw Error(`Invalid file type provided for Flow JSON update. Must be a Buffer, JSON object, or Blob.`);return n.append(`asset_type`,`FLOW_JSON`),n.append(`name`,t.name||`flow.json`),this.sendFormData(u.Post,`/${e}/assets`,this.config[_.RequestTimeout],n)}async validateFlowJson(e,t){try{let n=await this.updateFlowJson(e,{file:t}),r=!n.validation_errors||n.validation_errors.length===0;return{...n,valid:r}}catch(e){throw e}}async publishFlow(e){return this.sendJson(u.Post,`/${e}/publish`,this.config[_.RequestTimeout],JSON.stringify({}))}async deprecateFlow(e){return this.sendJson(u.Post,`/${e}/deprecate`,this.config[_.RequestTimeout],JSON.stringify({}))}async migrateFlows(e,t){let n={source_waba_id:t.source_waba_id,...t.source_flow_names&&{source_flow_names:t.source_flow_names}};return this.sendJson(u.Post,`/${e}/migrate_flows`,this.config[_.RequestTimeout],JSON.stringify(n))}};let _t=function(e){return e.Draft=`DRAFT`,e.Published=`PUBLISHED`,e.Throttled=`THROTTLED`,e.Blocked=`BLOCKED`,e.Deprecated=`DEPRECATED`,e}({}),vt=function(e){return e.SignUp=`SIGN_UP`,e.SignIn=`SIGN_IN`,e.AppointmentBooking=`APPOINTMENT_BOOKING`,e.LeadGeneration=`LEAD_GENERATION`,e.ContactUs=`CONTACT_US`,e.CustomerSupport=`CUSTOMER_SUPPORT`,e.Survey=`SURVEY`,e.Other=`OTHER`,e}({}),R=function(e){return e.INIT=`INIT`,e.BACK=`BACK`,e.DATA_EXCHANGE=`data_exchange`,e}({}),z=function(e){return e.Ping=`ping`,e.Change=`data_exchange`,e.Error=`error`,e.All=`*`,e}({});var yt=class extends I{constructor(e,t){super(e,t)}async createGroup(e){let t={messaging_product:`whatsapp`,subject:e.subject};return e.description&&(t.description=e.description),e.join_approval_mode&&(t.join_approval_mode=e.join_approval_mode),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/groups`,this.config[_.RequestTimeout],JSON.stringify(t))}async deleteGroup(e){return this.sendJson(u.Delete,`/${e}`,this.config[_.RequestTimeout],null)}async getGroupInfo(e,t){let n=Array.isArray(t)?t.join(`,`):t,r=n?L({fields:n}):``;return this.sendJson(u.Get,`/${e}${r}`,this.config[_.RequestTimeout],null)}async getActiveGroups(e){let t=e?L(e):``;return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/groups${t}`,this.config[_.RequestTimeout],null)}async getGroupInviteLink(e){return this.sendJson(u.Get,`/${e}/invite_link`,this.config[_.RequestTimeout],null)}async resetGroupInviteLink(e){return this.sendJson(u.Post,`/${e}/invite_link`,this.config[_.RequestTimeout],JSON.stringify({messaging_product:`whatsapp`}))}async getJoinRequests(e){return this.sendJson(u.Get,`/${e}/join_requests`,this.config[_.RequestTimeout],null)}async approveJoinRequests(e,t){let n={messaging_product:`whatsapp`,join_requests:t};return this.sendJson(u.Post,`/${e}/join_requests`,this.config[_.RequestTimeout],JSON.stringify(n))}async rejectJoinRequests(e,t){let n={messaging_product:`whatsapp`,join_requests:t};return this.sendJson(u.Delete,`/${e}/join_requests`,this.config[_.RequestTimeout],JSON.stringify(n))}async removeParticipants(e,t){let n={messaging_product:`whatsapp`,participants:t.map(e=>({user:e}))};return this.sendJson(u.Delete,`/${e}/participants`,this.config[_.RequestTimeout],JSON.stringify(n))}async updateGroupSettings(e,t){if(t.profilePictureFile){let n=new FormData;if(n.append(`messaging_product`,`whatsapp`),t.subject&&n.append(`subject`,t.subject),t.description&&n.append(`description`,t.description),t.profilePictureFile instanceof Buffer){let e=new globalThis.Blob([new Uint8Array(t.profilePictureFile)],{type:`image/jpeg`});n.append(`file`,e)}else if(t.profilePictureFile instanceof Blob)n.append(`file`,t.profilePictureFile);else throw Error(`Invalid profile picture file type. Use a Buffer or Blob.`);return this.sendFormData(u.Post,`/${e}`,this.config[_.RequestTimeout],n)}let n={messaging_product:`whatsapp`};return t.subject&&(n.subject=t.subject),t.description&&(n.description=t.description),this.sendJson(u.Post,`/${e}`,this.config[_.RequestTimeout],JSON.stringify(n))}},bt=class extends I{endpoint=`marketing_messages`;constructor(e,t){super(e,t)}async sendTemplateMessage(e){let t={messaging_product:`whatsapp`,recipient_type:`individual`,to:e.to,type:`template`,template:e.template};return e.message_activity_sharing!==void 0&&(t.message_activity_sharing=e.message_activity_sharing),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(t))}},xt=class extends I{endpoint=`media`;constructor(e,t){super(e,t)}async getMediaById(e,t){return this.sendJson(u.Get,`${e}`,this.config[_.RequestTimeout],null)}async uploadMedia(e,t=`whatsapp`){let n=new FormData;return n.append(`file`,e),n.append(`messaging_product`,t),n.append(`type`,e.type),this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],n)}async deleteMedia(e,t){return this.sendJson(u.Delete,`${e}`,this.config[_.RequestTimeout],null)}async downloadMedia(e){return this.sendJson(u.Get,e,this.config[_.RequestTimeout],null)}},B=class extends I{commonMethod=u.Post;commonEndpoint=`messages`;constructor(e,t){super(e,t)}bodyBuilder(e,t,n,r){let i={messaging_product:`whatsapp`,recipient_type:`individual`,to:n,type:e,[e]:t};return r&&(i.context={message_id:r}),i}send(e){return this.sendJson(this.commonMethod,`${this.config[_.PhoneNumberId]}/${this.commonEndpoint}`,this.config[_.RequestTimeout],e)}async audio(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Audio,t,n,r)))}async contacts(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Contacts,t,n,r)))}async document(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Document,t,n,r)))}async image(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Image,t,n,r)))}async interactive(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Interactive,t,n,r)))}async location(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Location,t,n,r)))}async sticker(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Sticker,t,n,r)))}async template(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Template,t,n,r)))}async text(e){let{body:t,to:n,replyMessageId:r,previewUrl:i}=e,a=typeof t==`string`?{body:t,preview_url:i??!0}:{...t,preview_url:i??t.preview_url??!0};return this.send(JSON.stringify(this.bodyBuilder(d.Text,a,n,r)))}async video(e){let{body:t,to:n,replyMessageId:r}=e;return this.send(JSON.stringify(this.bodyBuilder(d.Video,t,n,r)))}async status(e){let t={messaging_product:`whatsapp`,status:e.status,message_id:e.messageId,...e.typingIndicator&&{typing_indicator:e.typingIndicator}};return this.send(JSON.stringify(t))}async markAsRead(e){return this.status({status:`read`,messageId:e.messageId})}async showTypingIndicator(e){return this.status({status:`read`,messageId:e.messageId,typingIndicator:{type:`text`}})}async interactiveList(e){return this.interactive(e)}async interactiveCtaUrl(e){return this.interactive(e)}async interactiveLocationRequest(e){return this.interactive(e)}async interactiveAddressMessage(e){return this.interactive(e)}async interactiveReplyButtons(e){return this.interactive(e)}async interactiveFlow(e){return this.interactive(e)}async interactiveCarousel(e){return this.interactive(e)}async reaction(e){let t={message_id:e.messageId,emoji:e.emoji};return this.send(JSON.stringify(this.bodyBuilder(d.Reaction,t,e.to)))}},St=class extends I{constructor(e,t){super(e,t)}async listPaymentConfigurations(e){return this.sendJson(u.Get,`/${e}/payment_configurations`,this.config[_.RequestTimeout],null)}async getPaymentConfiguration(e,t){let n=encodeURIComponent(t);return this.sendJson(u.Get,`/${e}/payment_configuration/${n}`,this.config[_.RequestTimeout],null)}async createPaymentConfiguration(e,t){return this.sendJson(u.Post,`/${e}/payment_configuration`,this.config[_.RequestTimeout],JSON.stringify(t))}async updatePaymentConfiguration(e,t,n){let r=encodeURIComponent(t);return this.sendJson(u.Post,`/${e}/payment_configuration/${r}`,this.config[_.RequestTimeout],JSON.stringify(n))}async generatePaymentConfigurationOauthLink(e,t){return this.sendJson(u.Post,`/${e}/generate_payment_configuration_oauth_link`,this.config[_.RequestTimeout],JSON.stringify(t))}async deletePaymentConfiguration(e,t){return this.sendJson(u.Delete,`/${e}/payment_configuration`,this.config[_.RequestTimeout],JSON.stringify(t))}},Ct=class extends I{endpoint=`phone_numbers`;constructor(e,t){super(e,t)}async getPhoneNumberById(e){let t=Array.isArray(e)?e.join(`,`):e,n=t?L({fields:t}):``;return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}${n}`,this.config[_.RequestTimeout],null)}async getPhoneNumbers(){return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}/${this.endpoint}`,this.config[_.RequestTimeout],null)}async requestVerificationCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/request_code`,this.config[_.RequestTimeout],JSON.stringify(e))}async verifyCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/verify_code`,this.config[_.RequestTimeout],JSON.stringify(e))}async setConversationalAutomation(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/conversational_automation`,this.config[_.RequestTimeout],JSON.stringify(e))}async getConversationalAutomation(){let e=L({fields:`conversational_automation`});return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}${e}`,this.config[_.RequestTimeout],null)}async getThroughput(){let e=L({fields:`throughput`});return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}${e}`,this.config[_.RequestTimeout],null)}};function V(e){if(!e)return``;let t=``;return t=Array.isArray(e)?e.join(`,`):typeof e==`string`?e:Object.entries(e).filter(([e,t])=>t).map(([e])=>e).join(`,`),t?`?fields=${t}`:``}var wt=class extends I{endpoint=`whatsapp_business_profile`;constructor(e,t){super(e,t)}async getBusinessProfile(e){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}${V(e)}`,this.config[_.RequestTimeout],null)}async updateBusinessProfile(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async createUploadSession(e,t,n){let r=L({file_length:e,file_type:t,file_name:n});return this.sendJson(u.Post,`app/uploads/${r}`,this.config[_.RequestTimeout],null)}async uploadMedia(e,t){return this.sendJson(u.Post,`${e}`,this.config[_.RequestTimeout],t)}async getUploadHandle(e){return this.sendJson(u.Get,`${e}`,this.config[_.RequestTimeout],null)}},Tt=class extends I{endpoint=`message_qrdls`;constructor(e,t){super(e,t)}async createQrCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async getQrCodes(){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],null)}async getQrCode(e){return this.sendJson(u.Get,`${this.config[_.PhoneNumberId]}/${this.endpoint}/${e}`,this.config[_.RequestTimeout],null)}async updateQrCode(e){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async deleteQrCode(e){return this.sendJson(u.Delete,`${this.config[_.PhoneNumberId]}/${this.endpoint}/${e}`,this.config[_.RequestTimeout],null)}},Et=class extends I{constructor(e,t){super(e,t)}async register(e,t){let n={messaging_product:`whatsapp`,pin:e,...t&&{data_localization_region:t}};return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/register`,this.config[_.RequestTimeout],JSON.stringify(n))}async deregister(){return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}/deregister`,this.config[_.RequestTimeout],null)}},Dt=class extends I{endpoint=`message_templates`;constructor(e,t){super(e,t)}async getTemplate(e){return this.sendJson(u.Get,`${e}`,this.config[_.RequestTimeout],null)}async updateTemplate(e,t){return this.sendJson(u.Post,`${e}`,this.config[_.RequestTimeout],JSON.stringify(t))}async getTemplates(e){return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}/${this.endpoint}${L(e??{})}`,this.config[_.RequestTimeout],null)}async createTemplate(e){return this.sendJson(u.Post,`${this.config[_.BusinessAcctId]}/${this.endpoint}`,this.config[_.RequestTimeout],JSON.stringify(e))}async deleteTemplate(e){return this.sendJson(u.Delete,`${this.config[_.BusinessAcctId]}/${this.endpoint}${L(e)}`,this.config[_.RequestTimeout],null)}};function H(e){let t={type:`HEADER`,format:e.format};return e.text&&(t.text=e.text),e.example&&(t.example=e.example),t}function U(e){let t={type:`BODY`,text:e.text};return e.example&&(t.example=e.example),t}function W(e){return{type:`FOOTER`,text:e.text}}function G(e){let t=[];if(e.phone_number&&t.push({type:`PHONE_NUMBER`,text:e.phone_number.text,phone_number:e.phone_number.phone_number}),e.url){let n={type:`URL`,text:e.url.text,url:e.url.url};e.url.example&&(n.example=[e.url.example]),t.push(n)}if(e.quick_reply&&e.quick_reply.forEach(e=>{t.push({type:`QUICK_REPLY`,text:e.text})}),e.copy_code&&t.push({type:`COPY_CODE`,example:e.copy_code.example}),e.flow){let n={type:`FLOW`,text:e.flow.text};e.flow.flow_id&&(n.flow_id=e.flow.flow_id),e.flow.flow_name&&(n.flow_name=e.flow.flow_name),e.flow.flow_json&&(n.flow_json=e.flow.flow_json),e.flow.flow_action&&(n.flow_action=e.flow.flow_action),e.flow.navigate_screen&&(n.navigate_screen=e.flow.navigate_screen),t.push(n)}return e.mpm&&t.push({type:`MPM`}),e.otp&&t.push({type:`OTP`}),e.spm&&t.push({type:`SPM`}),t.length>0?[{type:`BUTTONS`,buttons:t}]:[]}function Ot(e){return e.map(e=>{switch(e.type){case`text`:return e.value;case`currency`:return e.fallback_value;case`date_time`:return e.fallback_value;case`image`:case`video`:case`document`:return e.handle||e.link||``;case`location`:return e.name||``;case`product`:return e.product_retailer_id;default:return``}})}function kt(e){let t=[];if(e.header&&t.push(H(e.header)),e.body&&t.push(U(e.body)),e.footer&&t.push(W(e.footer)),e.buttons&&t.push(...G(e.buttons)),e.carousel){let n=[];e.carousel.cards.forEach((e,t)=>{if(e.image||e.video||e.product){let t=e.image?`IMAGE`:e.video?`VIDEO`:`DOCUMENT`,r=e.image||e.video||e.product||``;n.push({type:`HEADER`,format:t,example:{header_handle:[r]}})}e.body&&n.push({type:`BODY`,text:e.body,example:e.bodyParameters?{body_text:[Ot(e.bodyParameters)]}:void 0}),e.buttons&&n.push(...G(e.buttons))}),t.push(...n)}return e.limitedTimeOffer&&t.push({type:`LIMITED_TIME_OFFER`,limited_time_offer:{expiration_time_ms:e.limitedTimeOffer.expiration_time_ms}}),{name:e.name,language:e.language,category:e.category,components:t.length>0?t:void 0}}function At(e){let t=[],n=`*{{1}}* is your verification code.`;return e.add_security_recommendation&&(n+=` For your security, do not share this code.`),e.code_expiration_minutes&&(n+=` This code expires in ${e.code_expiration_minutes} minutes.`),t.push({type:`BODY`,text:n,example:{body_text:[[`123456`]]}}),t.push({type:`BUTTONS`,buttons:[{type:`OTP`}]}),{name:e.name,language:e.language,category:c.Authentication,components:t}}function jt(e){let t=[],n=`Your security code is *{{1}}*.`;return e.add_security_recommendation&&(n+=` Do not share this code with anyone.`),e.code_expiration_minutes&&(n+=` This code expires in ${e.code_expiration_minutes} minutes.`),t.push({type:`BODY`,text:n,example:{body_text:[[`ABCD1234`]]}}),e.copy_code_button&&t.push({type:`BUTTONS`,buttons:[{type:`COPY_CODE`,example:`ABCD1234`}]}),{name:e.name,language:e.language,category:c.Authentication,components:t}}function Mt(e){let t=[];return e.header&&t.push(H({...e.header,format:`TEXT`})),t.push(U(e.body)),e.footer&&t.push(W(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`CATALOG`,action:{thumbnail_product_retailer_id:e.thumbnail_product_retailer_id}}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Nt(e){let t=[];return e.header&&t.push(H({...e.header,format:`TEXT`})),t.push(U(e.body)),e.footer&&t.push(W(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`COPY_CODE`,example:e.coupon_code}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Pt(e){let t=[];return t.push({type:`LIMITED_TIME_OFFER`,limited_time_offer:{expiration_time_ms:e.expiration_time_ms}}),e.header&&t.push(H({...e.header,format:`TEXT`})),t.push(U(e.body)),e.footer&&t.push(W(e.footer)),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Ft(e){let t=[],n=[];return e.cards.forEach((e,t)=>{let r=[];r.push({type:`HEADER`,format:e.header.format,example:e.header.example}),r.push(U(e.body)),e.buttons&&r.push(...G(e.buttons)),n.push({card_index:t,components:r})}),t.push({type:`CAROUSEL`,cards:n}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function It(e){let t=[];return e.header&&t.push(H({...e.header,format:`TEXT`})),t.push(U(e.body)),e.footer&&t.push(W(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`MPM`,action:{thumbnail_product_retailer_id:e.thumbnail_product_retailer_id,sections:e.sections}}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Lt(e){let t=[];e.header&&t.push(H({...e.header,format:`TEXT`})),t.push(U(e.body)),e.footer&&t.push(W(e.footer));let n=e.cards.map((e,t)=>({card_index:t,components:[{type:`HEADER`,format:`PRODUCT`,example:{header_handle:[e.product_retailer_id]}}]}));return t.push({type:`CAROUSEL`,cards:n}),{name:e.name,language:e.language,category:c.Marketing,components:t}}function Rt(e){let t=[];return e.header&&t.push(H({...e.header,format:`TEXT`})),t.push(U(e.body)),e.footer&&t.push(W(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`SPM`,action:{product_retailer_id:e.product_retailer_id}}]}),{name:e.name,language:e.language,category:c.Marketing,components:t}}var zt=class extends I{constructor(e,t){super(e,t)}async setTwoStepVerificationCode(e){let t={pin:e};return this.sendJson(u.Post,`${this.config[_.PhoneNumberId]}`,this.config[_.RequestTimeout],JSON.stringify(t))}},Bt=class extends I{constructor(e,t){super(e,t)}async getWabaAccount(e){let t=V(e)?.replace(/,/g,`%2C`);return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}${t}`,this.config[_.RequestTimeout],null)}async getAllWabaSubscriptions(){return this.sendJson(u.Get,`${this.config[_.BusinessAcctId]}/subscribed_apps`,this.config[_.RequestTimeout],null)}async updateWabaSubscription({override_callback_uri:e,verify_token:t}){let n={override_callback_uri:e,verify_token:t};return this.sendJson(u.Post,`${this.config[_.BusinessAcctId]}/subscribed_apps`,this.config[_.RequestTimeout],JSON.stringify(n))}async unsubscribeFromWaba(){return this.sendJson(u.Delete,`${this.config[_.BusinessAcctId]}/subscribed_apps`,this.config[_.RequestTimeout],null)}};function Vt(){process.env.NODE_ENV===`test`||process.env.VITEST===`true`||typeof global<`u`&&global.__VITEST__||console.log(`\x1B[36m%s\x1B[0m`,`
14
14
  ██████╗ ██╗ ██████╗ ██╗ ██╗ ██████╗ █████╗ ██████╗ ██╗
15
15
  ██╔════╝ ██║ ██╔═══██╗ ██║ ██║ ██╔══██╗ ██╔══██╗ ██╔══██╗ ██║
16
16
  ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ███████║ ██████╔╝ ██║
17
17
  ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██╔══██║ ██╔═══╝ ██║
18
18
  ╚██████╗ ███████╗ ╚██████╔╝ ╚██████╔╝ ██████╔╝ ██║ ██║ ██║ ██║
19
19
  ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
20
- `)}const q=new w(`WHATSAPP`,process.env.DEBUG===`true`);var ze=class{config;requester;blockUsers;messages;media;phoneNumbers;twoStepVerification;flows;businessProfile;templates;encryption;qrCode;registration;waba;constructor(e){Re(),this.config=de(e),this.requester=new ve(this.config[_.APIVersion],this.config[_.PhoneNumberId],this.config[_.AccessToken],this.config[_.BusinessAcctId],this.getUserAgent()),this.blockUsers=new N(this.config,this.requester),this.messages=new z(this.config,this.requester),this.media=new R(this.config,this.requester),this.phoneNumbers=new B(this.config,this.requester),this.twoStepVerification=new Ie(this.config,this.requester),this.flows=new F(this.config,this.requester),this.businessProfile=new H(this.config,this.requester),this.templates=new we(this.config,this.requester),this.encryption=new P(this.config,this.requester),this.qrCode=new Se(this.config,this.requester),this.registration=new Ce(this.config,this.requester),this.waba=new Le(this.config,this.requester),q.log(`
21
- `+fe(this.config))}updateTimeout(e){this.config[_.RequestTimeout]=e,`updateTimeout`in this.requester&&this.requester.updateTimeout(e),q.log(`Timeout updated to ${e}ms`)}updateSenderNumberId(e){this.config[_.PhoneNumberId]=e,q.log(`Sender number ID updated to ${e}`)}updateAccessToken(e){this.config[_.AccessToken]=e,`updateAccessToken`in this.requester&&this.requester.updateAccessToken(e),q.log(`Access token updated`)}version(){return A()}static get Enums(){return s}getUserAgent(){return ye()}generateEncryption(e){let t=e||this.config[_.Passphrase];return me(t)}};function Be(e){return typeof e==`object`&&!!e}function J(e){return typeof e==`string`}const Ve=[I.DATA_EXCHANGE,I.INIT,I.BACK],He=[I.DATA_EXCHANGE,I.INIT];function Ue(e){if(!(`flow_token`in e&&J(e.flow_token)&&`action`in e))return!1;let{action:t,version:n,screen:r,data:i}=e,a=n===`3.0`,o=Ve.includes(t),s=r===void 0||J(r)&&r!==`SUCCESS`,c=t===I.DATA_EXCHANGE||Be(i);return a&&o&&s&&c}function We(e){if(!(`flow_token`in e&&J(e.flow_token)&&`action`in e))return!1;let{action:t,screen:n,data:r}=e,i=He.includes(t),a=J(n),o=Be(r)&&`error_key`in r&&J(r.error)&&`error_message`in r&&J(r.error_message);return i&&a&&o}function Ge(e){return`action`in e&&e.action===`ping`}const Y=new w(`WEBHOOK_UTILS`,process.env.DEBUG===`true`);async function Ke(e,t,n){try{let r=await e.json();if(r.object!==`whatsapp_business_account`){let e=`Received webhook for non-WhatsApp event`;return Y.warn(e),new Response(JSON.stringify({error:e}),{status:404})}let i=[];for(let e of r.entry)try{let r=e.changes;for(let i of r)i.field===`messages`?await $e(e.id,i.value,t,n):i.field===`account_update`?await Z(e.id,i,n.accountUpdateHandler,t):i.field===`account_review_update`?await Z(e.id,i,n.accountReviewUpdateHandler,t):i.field===`account_alerts`?await Z(e.id,i,n.accountAlertsHandler,t):i.field===`business_capability_update`?await Z(e.id,i,n.businessCapabilityUpdateHandler,t):i.field===`phone_number_name_update`?await Z(e.id,i,n.phoneNumberNameUpdateHandler,t):i.field===`phone_number_quality_update`?await Z(e.id,i,n.phoneNumberQualityUpdateHandler,t):i.field===`message_template_status_update`?await Z(e.id,i,n.messageTemplateStatusUpdateHandler,t):i.field===`template_category_update`?await Z(e.id,i,n.templateCategoryUpdateHandler,t):i.field===`message_template_quality_update`?await Z(e.id,i,n.messageTemplateQualityUpdateHandler,t):i.field===`flows`?await Z(e.id,i,n.flowsHandler,t):i.field===`security`?await Z(e.id,i,n.securityHandler,t):i.field===`history`?await Z(e.id,i,n.historyHandler,t):i.field===`smb_message_echoes`?await Z(e.id,i,n.smbMessageEchoesHandler,t):i.field===`smb_app_state_sync`?await Z(e.id,i,n.smbAppStateSyncHandler,t):Y.warn(`Unhandled webhook field: ${i.field}`)}catch(t){let n=`Error processing webhook: ${t}`;Y.error(n,{entry:e,error:t}),i.push(n)}return new Response(i.length>0?JSON.stringify({errors:i}):null,{status:200})}catch(e){return Y.error(`Error processing webhook:`,e),new Response(JSON.stringify({error:`Internal Server Error`}),{status:500})}}function qe(){return{version:`3.0`,data:{status:`active`}}}function Je(){return{data:{acknowledged:!0}}}async function Ye(e,t,n,r){try{let i=await e.text(),a=e.headers.get(`x-hub-signature-256`);if(!Xe(i,a,t.WEBHOOK_VERIFICATION_TOKEN||``))return Y.warn(`Invalid request signature`),new Response(JSON.stringify({error:`Unauthorized`}),{status:401});let o=JSON.parse(i),{decryptedBody:s,aesKeyBuffer:c,initialVectorBuffer:l}=E(o,t),u=Ge(s),d=We(s),f=Ue(s),p=u?L.Ping:d?L.Error:f?L.Change:L.All,m=r.get(p);if(!m){if(p===L.Ping)m=()=>qe();else if(p===L.Error)m=()=>Je();else if(m=r.get(L.All),!m)return Y.warn(`No handler registered for flow type:`,{flowType:p,action:s.action}),new Response(JSON.stringify({error:`Handler not found`}),{status:404})}let h=await m(n,s);if(d){Y.warn(`Flow error notification received`,{error:s.data});let e=h||Je();return new Response(JSON.stringify(e),{status:200,headers:{"Content-Type":`application/json`}})}if(u||f){let e=D(h,c,l);return new Response(e,{status:200,headers:{"Content-Type":`text/plain`}})}return Y.warn(`Unknown flow request type:`,s),new Response(JSON.stringify({error:`Unknown request type`}),{status:400})}catch(e){return Y.error(`Error handling flow request:`,e),new Response(JSON.stringify({error:`Internal server error`}),{status:500})}}function Xe(e,t,n){if(!t)return Y.warn(`Missing signature in request`),!1;let i=r.createHmac(`sha256`,n).update(e).digest(`hex`);return r.timingSafeEqual(Buffer.from(t.replace(`sha256=`,``)),Buffer.from(i))}function Ze(e,t){let n=e[`x-forwarded-proto`]||`http`,r=e.host||`localhost`;return`${n}://${r}${t||`/`}`}function Qe(e){if(e.id)return e.id;if(e.type===d.Interactive||e.type===d.Button){let t=e;if(t.context?.id)return t.context.id}return``}async function $e(e,t,n,r){let i=t.metadata,a=e,o=i.display_phone_number,s=i.phone_number_id;if(`statuses`in t&&t.statuses){let e=t;for(let t of e.statuses){let e={wabaId:a,phoneNumberId:s,displayPhoneNumber:o,status:t};await et(r.statusHandler,n,e)}return}if(`messages`in t&&t.messages){let e=t,i=e.contacts?.[0]?.profile?.name||``;for(let t of e.messages){let e={wabaId:a,phoneNumberId:s,displayPhoneNumber:o,profileName:i,message:t,messageId:Qe(t)},c=t.type;await X(r.preProcessHandler,n,e,`pre-process`),await X(r.messageHandlers.get(c),n,e,c),await X(r.postProcessHandler,n,e,`post-process`)}}}async function X(e,t,n,r){if(e)try{await e(t,n)}catch(e){Y.error(`Error in ${r} handler:`,{error:e,messageId:n.messageId})}}async function et(e,t,n){if(e)try{await e(t,n)}catch(e){Y.error(`Error in status handler:`,{error:e,statusId:n.status.id})}}async function Z(e,t,n,r){if(n)try{await n(r,{wabaId:e,value:t.value})}catch(n){Y.error(`Error in ${t.field} handler:`,{error:n,wabaId:e})}}const Q=new w(`WEBHOOK_PROCESSOR`,process.env.DEBUG===`true`);var $=class{config;client;messageHandlers=new Map;statusHandler=void 0;preProcessHandler=void 0;postProcessHandler=void 0;flowHandlers=new Map;accountUpdateHandler=void 0;accountReviewUpdateHandler=void 0;accountAlertsHandler=void 0;businessCapabilityUpdateHandler=void 0;phoneNumberNameUpdateHandler=void 0;phoneNumberQualityUpdateHandler=void 0;messageTemplateStatusUpdateHandler=void 0;templateCategoryUpdateHandler=void 0;messageTemplateQualityUpdateHandler=void 0;flowsHandler=void 0;securityHandler=void 0;historyHandler=void 0;smbMessageEchoesHandler=void 0;smbAppStateSyncHandler=void 0;constructor(e){this.config=de(e),this.client=new ze(e),Q.log(`WebhookProcessor instantiated`)}async processVerification(e,t,n){return e===`subscribe`&&t===this.config.WEBHOOK_VERIFICATION_TOKEN?{status:200,body:n||``,headers:{"Content-Type":`text/plain`}}:{status:403,body:JSON.stringify({error:`Forbidden`}),headers:{"Content-Type":`application/json`}}}async processWebhook(e){try{let t=await Ke(e,this.client,{messageHandlers:this.messageHandlers,statusHandler:this.statusHandler,preProcessHandler:this.preProcessHandler,postProcessHandler:this.postProcessHandler,accountUpdateHandler:this.accountUpdateHandler,accountReviewUpdateHandler:this.accountReviewUpdateHandler,accountAlertsHandler:this.accountAlertsHandler,businessCapabilityUpdateHandler:this.businessCapabilityUpdateHandler,phoneNumberNameUpdateHandler:this.phoneNumberNameUpdateHandler,phoneNumberQualityUpdateHandler:this.phoneNumberQualityUpdateHandler,messageTemplateStatusUpdateHandler:this.messageTemplateStatusUpdateHandler,templateCategoryUpdateHandler:this.templateCategoryUpdateHandler,messageTemplateQualityUpdateHandler:this.messageTemplateQualityUpdateHandler,flowsHandler:this.flowsHandler,securityHandler:this.securityHandler,historyHandler:this.historyHandler,smbMessageEchoesHandler:this.smbMessageEchoesHandler,smbAppStateSyncHandler:this.smbAppStateSyncHandler}),n=await t.text(),r=t.headers.get(`content-type`)||`application/json`;return{status:t.status,body:n,headers:{"Content-Type":r}}}catch(e){return Q.log(`Error processing webhook: ${e}`),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}async processFlow(e){try{let t=await Ye(e,this.config,this.client,this.flowHandlers),n=await t.text(),r=t.headers.get(`content-type`)||`text/plain`;return{status:t.status,body:n,headers:{"Content-Type":r}}}catch(e){return Q.log(`Error processing flow: ${e}`),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}onMessage(e,t){if(e===`statuses`)throw Error(`MessageTypesEnum.Statuses is deprecated. Use onStatus(handler) instead of onMessage(MessageTypesEnum.Statuses, handler)`);this.messageHandlers.set(e,t),Q.log(`Registered message handler for ${e}`)}onStatus(e){this.statusHandler=e,Q.log(`Registered status handler`)}onMessagePreProcess(e){this.preProcessHandler=e,Q.log(`Registered pre-process handler`)}onMessagePostProcess(e){this.postProcessHandler=e,Q.log(`Registered post-process handler`)}onFlow(e,t){this.flowHandlers.set(e,t),Q.log(`Registered flow handler for ${e}`)}onText(e){this.messageHandlers.set(d.Text,e),Q.log(`Registered text message handler`)}onImage(e){this.messageHandlers.set(d.Image,e),Q.log(`Registered image message handler`)}onVideo(e){this.messageHandlers.set(d.Video,e),Q.log(`Registered video message handler`)}onAudio(e){this.messageHandlers.set(d.Audio,e),Q.log(`Registered audio message handler`)}onDocument(e){this.messageHandlers.set(d.Document,e),Q.log(`Registered document message handler`)}onSticker(e){this.messageHandlers.set(d.Sticker,e),Q.log(`Registered sticker message handler`)}onInteractive(e){this.messageHandlers.set(d.Interactive,e),Q.log(`Registered interactive message handler`)}onButton(e){this.messageHandlers.set(d.Button,e),Q.log(`Registered button message handler`)}onLocation(e){this.messageHandlers.set(d.Location,e),Q.log(`Registered location message handler`)}onContacts(e){this.messageHandlers.set(d.Contacts,e),Q.log(`Registered contacts message handler`)}onReaction(e){this.messageHandlers.set(d.Reaction,e),Q.log(`Registered reaction message handler`)}onOrder(e){this.messageHandlers.set(d.Order,e),Q.log(`Registered order message handler`)}onSystem(e){this.messageHandlers.set(d.System,e),Q.log(`Registered system message handler`)}onAccountUpdate(e){this.accountUpdateHandler=e,Q.log(`Registered account_update handler`)}onAccountReviewUpdate(e){this.accountReviewUpdateHandler=e,Q.log(`Registered account_review_update handler`)}onAccountAlerts(e){this.accountAlertsHandler=e,Q.log(`Registered account_alerts handler`)}onBusinessCapabilityUpdate(e){this.businessCapabilityUpdateHandler=e,Q.log(`Registered business_capability_update handler`)}onPhoneNumberNameUpdate(e){this.phoneNumberNameUpdateHandler=e,Q.log(`Registered phone_number_name_update handler`)}onPhoneNumberQualityUpdate(e){this.phoneNumberQualityUpdateHandler=e,Q.log(`Registered phone_number_quality_update handler`)}onMessageTemplateStatusUpdate(e){this.messageTemplateStatusUpdateHandler=e,Q.log(`Registered message_template_status_update handler`)}onTemplateCategoryUpdate(e){this.templateCategoryUpdateHandler=e,Q.log(`Registered template_category_update handler`)}onMessageTemplateQualityUpdate(e){this.messageTemplateQualityUpdateHandler=e,Q.log(`Registered message_template_quality_update handler`)}onFlows(e){this.flowsHandler=e,Q.log(`Registered flows handler`)}onSecurity(e){this.securityHandler=e,Q.log(`Registered security handler`)}onHistory(e){this.historyHandler=e,Q.log(`Registered history handler`)}onSmbMessageEchoes(e){this.smbMessageEchoesHandler=e,Q.log(`Registered smb_message_echoes handler`)}onSmbAppStateSync(e){this.smbAppStateSyncHandler=e,Q.log(`Registered smb_app_state_sync handler`)}getClient(){return this.client}getConfig(){return this.config}},tt=class{processor;constructor(e){this.processor=new $(e)}async processVerification(e,t,n){return await this.processor.processVerification(e,t,n)}async processWebhook(e){return await this.processor.processWebhook(e)}async processFlow(e){return await this.processor.processFlow(e)}constructFullUrl(e,t=``){return Ze(e,t)}applyHeaders(e,t){t.setHeader&&Object.entries(e.headers).forEach(([e,n])=>{t.setHeader(e,n)})}async autoRoute(e,t,...n){switch(e.method?.toUpperCase()){case`GET`:return await this.handleGet(e,t,...n);case`POST`:return await this.handlePost(e,t,...n);default:if(t.status&&t.json)return t.status(405).json({error:`Method Not Allowed`});throw Error(`Method Not Allowed`)}}get webhookProcessor(){return this.processor}},nt=class extends tt{constructor(e){super(e)}async handleGet(e,t,n){try{let{"hub.mode":n,"hub.verify_token":r,"hub.challenge":i}=e.query,a=await this.processVerification(n||null,r||null,i||null);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){throw n(e),e}}async handlePost(e,t,n){try{let n=this.constructFullUrl(e.headers,e.url),r=new globalThis.Request(n,{method:e.method,headers:e.headers,body:JSON.stringify(e.body)}),i=await this.processWebhook(r);return this.applyHeaders(i,t),t.status(i.status).send(i.body),i}catch(e){throw n(e),e}}async handleFlow(e,t,n){try{let n=this.constructFullUrl(e.headers,e.url),r=e.rawBody||(e.method===`POST`?JSON.stringify(e.body):void 0),i=new globalThis.Request(n,{method:e.method,headers:e.headers,body:r}),a=await this.processFlow(i);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){throw n(e),e}}getHandlers(){return{GET:(e,t,n)=>this.handleGet(e,t,n),POST:(e,t,n)=>this.handlePost(e,t,n),webhook:(e,t,n)=>this.autoRoute(e,t,n),flow:(e,t,n)=>this.handleFlow(e,t,n),processor:this.webhookProcessor}}};function rt(e){return new nt(e).getHandlers()}var it=class extends tt{constructor(e){super(e)}async parseRequestBody(e,t=!1){if(e.method===`POST`&&!e.body){let n=[];if(typeof e[Symbol.asyncIterator]==`function`){for await(let t of e)n.push(t);let r=Buffer.concat(n).toString();if(t&&(e.rawBody=r),r.trim())try{e.body=JSON.parse(r)}catch{throw Error(`Invalid JSON in request body`)}else e.body={}}}}async handleGet(e,t){try{let{"hub.mode":n,"hub.verify_token":r,"hub.challenge":i}=e.query,a=await this.processVerification(n||null,r||null,i||null);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){throw console.error(`Webhook verification error:`,e),t.status(500).json({error:`Internal Server Error`}),e}}async handlePost(e,t){try{await this.parseRequestBody(e)}catch(e){throw console.error(`Webhook processing error:`,e),e instanceof Error&&e.message===`Invalid JSON in request body`?(t.status(400).json({error:`Invalid JSON`}),e):(t.status(500).json({error:`Internal Server Error`}),e)}try{let n=this.constructFullUrl(e.headers,e.url),r=new Request(n,{method:`POST`,headers:e.headers,body:JSON.stringify(e.body)}),i=await this.processWebhook(r);return this.applyHeaders(i,t),t.status(i.status).send(i.body),i}catch(e){throw console.error(`Webhook processing error:`,e),t.status(500).json({error:`Internal Server Error`}),e}}async handleFlow(e,t){try{await this.parseRequestBody(e,!0)}catch(e){throw console.error(`Flow body parsing error:`,e),e instanceof Error&&e.message===`Invalid JSON in request body`?(t.status(400).json({error:`Invalid JSON`}),e):(t.status(500).json({error:`Internal Server Error`}),e)}try{let n=this.constructFullUrl(e.headers,e.url),r=e.rawBody||(e.method===`POST`?JSON.stringify(e.body):void 0),i=new Request(n,{method:e.method,headers:e.headers,body:r}),a=await this.processFlow(i);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){throw console.error(`Flow error:`,e),t.status(500).json({error:`Internal Server Error`}),e}}getHandlers(){return{GET:(e,t)=>this.handleGet(e,t),POST:(e,t)=>this.handlePost(e,t),webhook:(e,t)=>this.autoRoute(e,t),flow:(e,t)=>this.handleFlow(e,t),processor:this.webhookProcessor}}};function at(e){return new it(e).getHandlers()}function ot(e){let t=new $(e);return{GET:async e=>{try{let{searchParams:n}=new URL(e.url),r=n.get(`hub.mode`),i=n.get(`hub.verify_token`),a=n.get(`hub.challenge`),o=await t.processVerification(r,i,a);return new Response(o.body,{status:o.status,headers:o.headers})}catch(e){return console.error(`Webhook verification error:`,e),new Response(`Internal Server Error`,{status:500})}},POST:async e=>{try{let n=await t.processWebhook(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Webhook processing error:`,e),new Response(`Internal Server Error`,{status:500})}},webhook:{GET:async e=>{try{let{searchParams:n}=new URL(e.url),r=n.get(`hub.mode`),i=n.get(`hub.verify_token`),a=n.get(`hub.challenge`),o=await t.processVerification(r,i,a);return new Response(o.body,{status:o.status,headers:o.headers})}catch(e){return console.error(`Webhook verification error:`,e),new Response(`Internal Server Error`,{status:500})}},POST:async e=>{try{let n=await t.processWebhook(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Webhook processing error:`,e),new Response(`Internal Server Error`,{status:500})}}},flow:{GET:async e=>{try{let n=await t.processFlow(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Flow GET error:`,e),new Response(JSON.stringify({error:`Internal Server Error`}),{status:500,headers:{"Content-Type":`application/json`}})}},POST:async e=>{try{let n=await t.processFlow(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Flow POST error:`,e),new Response(JSON.stringify({error:`Internal Server Error`}),{status:500,headers:{"Content-Type":`application/json`}})}}},processor:t}}const st=(e,t)=>n.createHmac(`sha256`,t).update(e,`utf-8`).digest(`hex`);let ct=function(e){return e.Approved=`APPROVED`,e.Active=`ACTIVE`,e.Inactive=`INACTIVE`,e.Disabled=`DISABLED`,e}({}),lt=function(e){return e.Blocked=`BLOCKED`,e.Limited=`LIMITED`,e.Available=`AVAILABLE`,e}({}),ut=function(e){return e.Approved=`APPROVED`,e.Active=`ACTIVE`,e.Inactive=`INACTIVE`,e.Disabled=`DISABLED`,e}({}),dt=function(e){return e.Verified=`verified`,e.PendingSubmission=`pending_submission`,e.Unverified=`unverified`,e.Rejected=`rejected`,e}({});export{S as AudioMediaTypesEnum,N as BlockUsersApi,H as BusinessProfileApi,ce as BusinessVerticalEnum,m as ButtonPositionEnum,c as CategoryEnum,g as ComponentTypesEnum,ee as ConversationTypesEnum,oe as CurrencyCodesEnum,se as DataLocalizationRegionEnum,x as DocumentMediaTypesEnum,P as EncryptionApi,I as FlowActionEnum,F as FlowApi,xe as FlowCategoryEnum,be as FlowStatusEnum,L as FlowTypeEnum,u as HttpMethodsEnum,b as ImageMediaTypesEnum,p as InteractiveTypesEnum,ae as LanguagesEnum,w as Logger,R as MediaApi,z as MessageApi,z as MessagesApi,d as MessageTypesEnum,f as ParametersTypesEnum,B as PhoneNumberApi,Se as QrCodeApi,re as ReferralSourceTypesEnum,Ce as RegistrationApi,ie as RequestCodeMethodsEnum,te as StatusEnum,y as StickerMediaTypesEnum,h as SubTypeEnum,ne as SystemChangeTypesEnum,we as TemplateApi,l as TemplateStatusEnum,Ie as TwoStepVerificationApi,v as VideoMediaTypesEnum,ct as WabaAccountReviewStatus,ut as WabaAccountStatus,Le as WabaApi,dt as WabaBusinessVerificationStatus,_ as WabaConfigEnum,lt as WabaHealthStatusCanSendMessage,$ as WebhookProcessor,C as WebhookTypesEnum,ze as WhatsApp,V as buildFieldsQueryString,Ze as constructFullUrl,Oe as createAuthenticationTemplate,ke as createCatalogTemplate,Ae as createCouponTemplate,je as createLimitedTimeOfferTemplate,Ne as createMPMTemplate,Me as createMediaCardCarouselTemplate,De as createOTPTemplate,Pe as createProductCardCarouselTemplate,Fe as createSPMTemplate,Ee as createTemplate,E as decryptFlowRequest,D as encryptFlowResponse,rt as expressWebhookHandler,fe as formatConfigTable,me as generateEncryption,st as generateXHub256Sig,Ue as isFlowDataExchangeRequest,We as isFlowErrorRequest,Ge as isFlowPingRequest,O as isMetaError,ot as nextjsAppWebhookHandler,at as nextjsPagesWebhookHandler,M as objectToQueryString,Ye as processFlowRequest,Ke as processWebhookMessages};
20
+ `)}const K=new y(`WHATSAPP`,process.env.DEBUG===`true`);var Ht=class{config;requester;blockUsers;calling;commerce;groups;marketingMessages;messages;media;payments;phoneNumbers;twoStepVerification;flows;businessProfile;templates;encryption;qrCode;registration;waba;constructor(e){Vt(),this.config=ge(e),this.requester=new lt(this.config[_.APIVersion],this.config[_.PhoneNumberId],this.config[_.AccessToken],this.config[_.BusinessAcctId],this.getUserAgent()),this.blockUsers=new ft(this.config,this.requester),this.calling=new pt(this.config,this.requester),this.commerce=new mt(this.config,this.requester),this.groups=new yt(this.config,this.requester),this.marketingMessages=new bt(this.config,this.requester),this.messages=new B(this.config,this.requester),this.media=new xt(this.config,this.requester),this.payments=new St(this.config,this.requester),this.phoneNumbers=new Ct(this.config,this.requester),this.twoStepVerification=new zt(this.config,this.requester),this.flows=new gt(this.config,this.requester),this.businessProfile=new wt(this.config,this.requester),this.templates=new Dt(this.config,this.requester),this.encryption=new ht(this.config,this.requester),this.qrCode=new Tt(this.config,this.requester),this.registration=new Et(this.config,this.requester),this.waba=new Bt(this.config,this.requester),K.log(`
21
+ `+_e(this.config))}updateTimeout(e){this.config[_.RequestTimeout]=e,`updateTimeout`in this.requester&&this.requester.updateTimeout(e),K.log(`Timeout updated to ${e}ms`)}updateSenderNumberId(e){this.config[_.PhoneNumberId]=e,K.log(`Sender number ID updated to ${e}`)}updateAccessToken(e){this.config[_.AccessToken]=e,`updateAccessToken`in this.requester&&this.requester.updateAccessToken(e),K.log(`Access token updated`)}version(){return ut()}static get Enums(){return s}getUserAgent(){return dt()}generateEncryption(e){return ye(e||this.config[_.Passphrase])}};function Ut(e){return typeof e==`object`&&!!e}function q(e){return typeof e==`string`}const Wt=[R.DATA_EXCHANGE,R.INIT,R.BACK],Gt=[R.DATA_EXCHANGE,R.INIT];function Kt(e){if(!(`flow_token`in e&&q(e.flow_token)&&`action`in e))return!1;let{action:t,version:n,screen:r,data:i}=e,a=n===`3.0`,o=Wt.includes(t),s=r===void 0||q(r)&&r!==`SUCCESS`,c=t===R.DATA_EXCHANGE||Ut(i);return a&&o&&s&&c}function qt(e){if(!(`flow_token`in e&&q(e.flow_token)&&`action`in e))return!1;let{action:t,screen:n,data:r}=e,i=Gt.includes(t),a=q(n),o=Ut(r)&&`error_key`in r&&q(r.error)&&`error_message`in r&&q(r.error_message);return i&&a&&o}function Jt(e){return`action`in e&&e.action===`ping`}const J=new y(`WEBHOOK_UTILS`,process.env.DEBUG===`true`);async function Yt(e,t,n){try{let r=await e.json();if(r.object!==`whatsapp_business_account`){let e=`Received webhook for non-WhatsApp event`;return J.warn(e),new Response(JSON.stringify({error:e}),{status:404})}let i=[];for(let e of r.entry)try{let r=e.changes;for(let i of r)i.field===`messages`?await tn(e.id,i.value,t,n):i.field===`account_update`?await Z(e.id,i,n.accountUpdateHandler,t):i.field===`account_review_update`?await Z(e.id,i,n.accountReviewUpdateHandler,t):i.field===`account_alerts`?await Z(e.id,i,n.accountAlertsHandler,t):i.field===`business_capability_update`?await Z(e.id,i,n.businessCapabilityUpdateHandler,t):i.field===`phone_number_name_update`?await Z(e.id,i,n.phoneNumberNameUpdateHandler,t):i.field===`phone_number_quality_update`?await Z(e.id,i,n.phoneNumberQualityUpdateHandler,t):i.field===`message_template_status_update`?await Z(e.id,i,n.messageTemplateStatusUpdateHandler,t):i.field===`template_category_update`?await Z(e.id,i,n.templateCategoryUpdateHandler,t):i.field===`message_template_quality_update`?await Z(e.id,i,n.messageTemplateQualityUpdateHandler,t):i.field===`flows`?await Z(e.id,i,n.flowsHandler,t):i.field===`security`?await Z(e.id,i,n.securityHandler,t):i.field===`history`?await Z(e.id,i,n.historyHandler,t):i.field===`smb_message_echoes`?await Z(e.id,i,n.smbMessageEchoesHandler,t):i.field===`smb_app_state_sync`?await Z(e.id,i,n.smbAppStateSyncHandler,t):J.warn(`Unhandled webhook field: ${i.field}`)}catch(t){let n=`Error processing webhook: ${t}`;J.error(n,{entry:e,error:t}),i.push(n)}return new Response(i.length>0?JSON.stringify({errors:i}):null,{status:200})}catch(e){return J.error(`Error processing webhook:`,e),new Response(JSON.stringify({error:`Internal Server Error`}),{status:500})}}function Xt(){return{version:`3.0`,data:{status:`active`}}}function Y(){return{data:{acknowledged:!0}}}async function Zt(e,t,n,r){try{let i=await e.text();if(!Qt(i,e.headers.get(`x-hub-signature-256`),t.WEBHOOK_VERIFICATION_TOKEN||``))return J.warn(`Invalid request signature`),new Response(JSON.stringify({error:`Unauthorized`}),{status:401});let{decryptedBody:a,aesKeyBuffer:o,initialVectorBuffer:s}=be(JSON.parse(i),t),c=Jt(a),l=qt(a),u=Kt(a),d;d=c?z.Ping:l?z.Error:u?z.Change:z.All;let f=r.get(d);if(!f){if(d===z.Ping)f=()=>Xt();else if(d===z.Error)f=()=>Y();else if(f=r.get(z.All),!f)return J.warn(`No handler registered for flow type:`,{flowType:d,action:a.action}),new Response(JSON.stringify({error:`Handler not found`}),{status:404})}let p=await f(n,a);if(l){J.warn(`Flow error notification received`,{error:a.data});let e=p||Y();return new Response(JSON.stringify(e),{status:200,headers:{"Content-Type":`application/json`}})}if(c||u){let e=xe(p,o,s);return new Response(e,{status:200,headers:{"Content-Type":`text/plain`}})}return J.warn(`Unknown flow request type:`,a),new Response(JSON.stringify({error:`Unknown request type`}),{status:400})}catch(e){return J.error(`Error handling flow request:`,e),new Response(JSON.stringify({error:`Internal server error`}),{status:500})}}function Qt(e,t,n){if(!t)return J.warn(`Missing signature in request`),!1;let i=r.createHmac(`sha256`,n).update(e).digest(`hex`);return r.timingSafeEqual(Buffer.from(t.replace(`sha256=`,``)),Buffer.from(i))}function $t(e,t){return`${e[`x-forwarded-proto`]||`http`}://${e.host||`localhost`}${t||`/`}`}function en(e){if(e.id)return e.id;if(e.type===d.Interactive||e.type===d.Button){let t=e;if(t.context?.id)return t.context.id}return``}async function tn(e,t,n,r){let i=t.metadata,a=e,o=i.display_phone_number,s=i.phone_number_id;if(`statuses`in t&&t.statuses){let e=t;for(let t of e.statuses){let e={wabaId:a,phoneNumberId:s,displayPhoneNumber:o,status:t};await nn(r.statusHandler,n,e)}return}if(`messages`in t&&t.messages){let e=t,i=e.contacts?.[0]?.profile?.name||``;for(let t of e.messages){let e={wabaId:a,phoneNumberId:s,displayPhoneNumber:o,profileName:i,message:t,messageId:en(t)},c=t.type;await X(r.preProcessHandler,n,e,`pre-process`),await X(r.messageHandlers.get(c),n,e,c),await X(r.postProcessHandler,n,e,`post-process`)}}}async function X(e,t,n,r){if(e)try{await e(t,n)}catch(e){J.error(`Error in ${r} handler:`,{error:e,messageId:n.messageId})}}async function nn(e,t,n){if(e)try{await e(t,n)}catch(e){J.error(`Error in status handler:`,{error:e,statusId:n.status.id})}}async function Z(e,t,n,r){if(n)try{await n(r,{wabaId:e,value:t.value})}catch(n){J.error(`Error in ${t.field} handler:`,{error:n,wabaId:e})}}const Q=new y(`WEBHOOK_PROCESSOR`,process.env.DEBUG===`true`);var $=class{config;client;messageHandlers=new Map;statusHandler=void 0;preProcessHandler=void 0;postProcessHandler=void 0;flowHandlers=new Map;accountUpdateHandler=void 0;accountReviewUpdateHandler=void 0;accountAlertsHandler=void 0;businessCapabilityUpdateHandler=void 0;phoneNumberNameUpdateHandler=void 0;phoneNumberQualityUpdateHandler=void 0;messageTemplateStatusUpdateHandler=void 0;templateCategoryUpdateHandler=void 0;messageTemplateQualityUpdateHandler=void 0;flowsHandler=void 0;securityHandler=void 0;historyHandler=void 0;smbMessageEchoesHandler=void 0;smbAppStateSyncHandler=void 0;constructor(e){this.config=ge(e),this.client=new Ht(e),Q.log(`WebhookProcessor instantiated`)}async processVerification(e,t,n){return e===`subscribe`&&t===this.config.WEBHOOK_VERIFICATION_TOKEN?{status:200,body:n||``,headers:{"Content-Type":`text/plain`}}:{status:403,body:JSON.stringify({error:`Forbidden`}),headers:{"Content-Type":`application/json`}}}async processWebhook(e){try{let t=await Yt(e,this.client,{messageHandlers:this.messageHandlers,statusHandler:this.statusHandler,preProcessHandler:this.preProcessHandler,postProcessHandler:this.postProcessHandler,accountUpdateHandler:this.accountUpdateHandler,accountReviewUpdateHandler:this.accountReviewUpdateHandler,accountAlertsHandler:this.accountAlertsHandler,businessCapabilityUpdateHandler:this.businessCapabilityUpdateHandler,phoneNumberNameUpdateHandler:this.phoneNumberNameUpdateHandler,phoneNumberQualityUpdateHandler:this.phoneNumberQualityUpdateHandler,messageTemplateStatusUpdateHandler:this.messageTemplateStatusUpdateHandler,templateCategoryUpdateHandler:this.templateCategoryUpdateHandler,messageTemplateQualityUpdateHandler:this.messageTemplateQualityUpdateHandler,flowsHandler:this.flowsHandler,securityHandler:this.securityHandler,historyHandler:this.historyHandler,smbMessageEchoesHandler:this.smbMessageEchoesHandler,smbAppStateSyncHandler:this.smbAppStateSyncHandler}),n=await t.text(),r=t.headers.get(`content-type`)||`application/json`;return{status:t.status,body:n,headers:{"Content-Type":r}}}catch(e){return Q.log(`Error processing webhook: ${e}`),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}async processFlow(e){try{let t=await Zt(e,this.config,this.client,this.flowHandlers),n=await t.text(),r=t.headers.get(`content-type`)||`text/plain`;return{status:t.status,body:n,headers:{"Content-Type":r}}}catch(e){return Q.log(`Error processing flow: ${e}`),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}onMessage(e,t){if(e===`statuses`)throw Error(`MessageTypesEnum.Statuses is deprecated. Use onStatus(handler) instead of onMessage(MessageTypesEnum.Statuses, handler)`);this.messageHandlers.set(e,t),Q.log(`Registered message handler for ${e}`)}onStatus(e){this.statusHandler=e,Q.log(`Registered status handler`)}onMessagePreProcess(e){this.preProcessHandler=e,Q.log(`Registered pre-process handler`)}onMessagePostProcess(e){this.postProcessHandler=e,Q.log(`Registered post-process handler`)}onFlow(e,t){this.flowHandlers.set(e,t),Q.log(`Registered flow handler for ${e}`)}onText(e){this.messageHandlers.set(d.Text,e),Q.log(`Registered text message handler`)}onImage(e){this.messageHandlers.set(d.Image,e),Q.log(`Registered image message handler`)}onVideo(e){this.messageHandlers.set(d.Video,e),Q.log(`Registered video message handler`)}onAudio(e){this.messageHandlers.set(d.Audio,e),Q.log(`Registered audio message handler`)}onDocument(e){this.messageHandlers.set(d.Document,e),Q.log(`Registered document message handler`)}onSticker(e){this.messageHandlers.set(d.Sticker,e),Q.log(`Registered sticker message handler`)}onInteractive(e){this.messageHandlers.set(d.Interactive,e),Q.log(`Registered interactive message handler`)}onButton(e){this.messageHandlers.set(d.Button,e),Q.log(`Registered button message handler`)}onLocation(e){this.messageHandlers.set(d.Location,e),Q.log(`Registered location message handler`)}onContacts(e){this.messageHandlers.set(d.Contacts,e),Q.log(`Registered contacts message handler`)}onReaction(e){this.messageHandlers.set(d.Reaction,e),Q.log(`Registered reaction message handler`)}onOrder(e){this.messageHandlers.set(d.Order,e),Q.log(`Registered order message handler`)}onSystem(e){this.messageHandlers.set(d.System,e),Q.log(`Registered system message handler`)}onAccountUpdate(e){this.accountUpdateHandler=e,Q.log(`Registered account_update handler`)}onAccountReviewUpdate(e){this.accountReviewUpdateHandler=e,Q.log(`Registered account_review_update handler`)}onAccountAlerts(e){this.accountAlertsHandler=e,Q.log(`Registered account_alerts handler`)}onBusinessCapabilityUpdate(e){this.businessCapabilityUpdateHandler=e,Q.log(`Registered business_capability_update handler`)}onPhoneNumberNameUpdate(e){this.phoneNumberNameUpdateHandler=e,Q.log(`Registered phone_number_name_update handler`)}onPhoneNumberQualityUpdate(e){this.phoneNumberQualityUpdateHandler=e,Q.log(`Registered phone_number_quality_update handler`)}onMessageTemplateStatusUpdate(e){this.messageTemplateStatusUpdateHandler=e,Q.log(`Registered message_template_status_update handler`)}onTemplateCategoryUpdate(e){this.templateCategoryUpdateHandler=e,Q.log(`Registered template_category_update handler`)}onMessageTemplateQualityUpdate(e){this.messageTemplateQualityUpdateHandler=e,Q.log(`Registered message_template_quality_update handler`)}onFlows(e){this.flowsHandler=e,Q.log(`Registered flows handler`)}onSecurity(e){this.securityHandler=e,Q.log(`Registered security handler`)}onHistory(e){this.historyHandler=e,Q.log(`Registered history handler`)}onSmbMessageEchoes(e){this.smbMessageEchoesHandler=e,Q.log(`Registered smb_message_echoes handler`)}onSmbAppStateSync(e){this.smbAppStateSyncHandler=e,Q.log(`Registered smb_app_state_sync handler`)}getClient(){return this.client}getConfig(){return this.config}},rn=class{processor;constructor(e){this.processor=new $(e)}async processVerification(e,t,n){return await this.processor.processVerification(e,t,n)}async processWebhook(e){return await this.processor.processWebhook(e)}async processFlow(e){return await this.processor.processFlow(e)}constructFullUrl(e,t=``){return $t(e,t)}applyHeaders(e,t){t.setHeader&&Object.entries(e.headers).forEach(([e,n])=>{t.setHeader(e,n)})}async autoRoute(e,t,...n){switch(e.method?.toUpperCase()){case`GET`:return await this.handleGet(e,t,...n);case`POST`:return await this.handlePost(e,t,...n);default:if(t.status&&t.json)return t.status(405).json({error:`Method Not Allowed`});throw Error(`Method Not Allowed`)}}get webhookProcessor(){return this.processor}},an=class extends rn{constructor(e){super(e)}async handleGet(e,t,n){try{let{"hub.mode":n,"hub.verify_token":r,"hub.challenge":i}=e.query,a=await this.processVerification(n||null,r||null,i||null);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){return n(e),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}async handlePost(e,t,n){try{let n=this.constructFullUrl(e.headers,e.url),r=new globalThis.Request(n,{method:e.method,headers:e.headers,body:JSON.stringify(e.body)}),i=await this.processWebhook(r);return this.applyHeaders(i,t),t.status(i.status).send(i.body),i}catch(e){return n(e),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}async handleFlow(e,t,n){try{let n=this.constructFullUrl(e.headers,e.url),r=e.rawBody||(e.method===`POST`?JSON.stringify(e.body):void 0),i=new globalThis.Request(n,{method:e.method,headers:e.headers,body:r}),a=await this.processFlow(i);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){return n(e),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}getHandlers(){return{GET:(e,t,n)=>this.handleGet(e,t,n),POST:(e,t,n)=>this.handlePost(e,t,n),webhook:(e,t,n)=>this.autoRoute(e,t,n),flow:(e,t,n)=>this.handleFlow(e,t,n),processor:this.webhookProcessor}}};function on(e){return new an(e).getHandlers()}var sn=class extends rn{constructor(e){super(e)}async parseRequestBody(e,t=!1){if(e.method===`POST`&&!e.body){let n=[];if(typeof e[Symbol.asyncIterator]==`function`){for await(let t of e)n.push(t);let r=Buffer.concat(n).toString();if(t&&(e.rawBody=r),r.trim())try{e.body=JSON.parse(r)}catch{throw Error(`Invalid JSON in request body`)}else e.body={}}}}async handleGet(e,t){try{let{"hub.mode":n,"hub.verify_token":r,"hub.challenge":i}=e.query,a=await this.processVerification(n||null,r||null,i||null);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){return console.error(`Webhook verification error:`,e),t.status(500).json({error:`Internal Server Error`}),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}async handlePost(e,t){try{await this.parseRequestBody(e)}catch(e){return console.error(`Webhook processing error:`,e),e instanceof Error&&e.message===`Invalid JSON in request body`?(t.status(400).json({error:`Invalid JSON`}),{status:400,body:JSON.stringify({error:`Invalid JSON`}),headers:{"Content-Type":`application/json`}}):(t.status(500).json({error:`Internal Server Error`}),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}})}try{let n=this.constructFullUrl(e.headers,e.url),r=new Request(n,{method:`POST`,headers:e.headers,body:JSON.stringify(e.body)}),i=await this.processWebhook(r);return this.applyHeaders(i,t),t.status(i.status).send(i.body),i}catch(e){return console.error(`Webhook processing error:`,e),t.status(500).json({error:`Internal Server Error`}),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}async handleFlow(e,t){try{await this.parseRequestBody(e,!0)}catch(e){return console.error(`Flow body parsing error:`,e),e instanceof Error&&e.message===`Invalid JSON in request body`?(t.status(400).json({error:`Invalid JSON`}),{status:400,body:JSON.stringify({error:`Invalid JSON`}),headers:{"Content-Type":`application/json`}}):(t.status(500).json({error:`Internal Server Error`}),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}})}try{let n=this.constructFullUrl(e.headers,e.url),r=e.rawBody||(e.method===`POST`?JSON.stringify(e.body):void 0),i=new Request(n,{method:e.method,headers:e.headers,body:r}),a=await this.processFlow(i);return this.applyHeaders(a,t),t.status(a.status).send(a.body),a}catch(e){return console.error(`Flow error:`,e),t.status(500).json({error:`Internal Server Error`}),{status:500,body:JSON.stringify({error:`Internal Server Error`}),headers:{"Content-Type":`application/json`}}}}getHandlers(){return{GET:(e,t)=>this.handleGet(e,t),POST:(e,t)=>this.handlePost(e,t),webhook:(e,t)=>this.autoRoute(e,t),flow:(e,t)=>this.handleFlow(e,t),processor:this.webhookProcessor}}};function cn(e){return new sn(e).getHandlers()}function ln(e){let t=new $(e);return{GET:async e=>{try{let{searchParams:n}=new URL(e.url),r=n.get(`hub.mode`),i=n.get(`hub.verify_token`),a=n.get(`hub.challenge`),o=await t.processVerification(r,i,a);return new Response(o.body,{status:o.status,headers:o.headers})}catch(e){return console.error(`Webhook verification error:`,e),new Response(`Internal Server Error`,{status:500})}},POST:async e=>{try{let n=await t.processWebhook(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Webhook processing error:`,e),new Response(`Internal Server Error`,{status:500})}},webhook:{GET:async e=>{try{let{searchParams:n}=new URL(e.url),r=n.get(`hub.mode`),i=n.get(`hub.verify_token`),a=n.get(`hub.challenge`),o=await t.processVerification(r,i,a);return new Response(o.body,{status:o.status,headers:o.headers})}catch(e){return console.error(`Webhook verification error:`,e),new Response(`Internal Server Error`,{status:500})}},POST:async e=>{try{let n=await t.processWebhook(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Webhook processing error:`,e),new Response(`Internal Server Error`,{status:500})}}},flow:{GET:async e=>{try{let n=await t.processFlow(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Flow GET error:`,e),new Response(JSON.stringify({error:`Internal Server Error`}),{status:500,headers:{"Content-Type":`application/json`}})}},POST:async e=>{try{let n=await t.processFlow(e);return new Response(n.body,{status:n.status,headers:n.headers})}catch(e){return console.error(`Flow POST error:`,e),new Response(JSON.stringify({error:`Internal Server Error`}),{status:500,headers:{"Content-Type":`application/json`}})}}},processor:t}}const un=(e,t)=>n.createHmac(`sha256`,t).update(e,`utf-8`).digest(`hex`);let dn=function(e){return e.Approved=`APPROVED`,e.Active=`ACTIVE`,e.Inactive=`INACTIVE`,e.Disabled=`DISABLED`,e}({}),fn=function(e){return e.Blocked=`BLOCKED`,e.Limited=`LIMITED`,e.Available=`AVAILABLE`,e}({}),pn=function(e){return e.Approved=`APPROVED`,e.Active=`ACTIVE`,e.Inactive=`INACTIVE`,e.Disabled=`DISABLED`,e}({}),mn=function(e){return e.Verified=`verified`,e.PendingSubmission=`pending_submission`,e.Unverified=`unverified`,e.Rejected=`rejected`,e}({});export{we as AUTHORIZATION_ERROR_CODES,ae as AudioMediaTypesEnum,ke as BLOCK_USER_ERROR_CODES,ft as BlockUsersApi,wt as BusinessProfileApi,pe as BusinessVerticalEnum,m as ButtonPositionEnum,Ae as CALLING_ERROR_CODES,pt as CallingApi,c as CategoryEnum,mt as CommerceApi,g as ComponentTypesEnum,ee as ConversationTypesEnum,de as CurrencyCodesEnum,fe as DataLocalizationRegionEnum,ie as DocumentMediaTypesEnum,ht as EncryptionApi,Oe as FLOW_ERROR_CODES,R as FlowActionEnum,gt as FlowApi,vt as FlowCategoryEnum,_t as FlowStatusEnum,z as FlowTypeEnum,x as GROUP_ERROR_CODES,yt as GroupsApi,u as HttpMethodsEnum,Ee as INTEGRITY_ERROR_CODES,re as ImageMediaTypesEnum,p as InteractiveTypesEnum,ue as LanguagesEnum,y as Logger,bt as MarketingMessagesApi,xt as MediaApi,B as MessageApi,B as MessagesApi,d as MessageTypesEnum,f as ParametersTypesEnum,St as PaymentsApi,Ct as PhoneNumberApi,Tt as QrCodeApi,ce as ReferralSourceTypesEnum,Et as RegistrationApi,le as RequestCodeMethodsEnum,De as SEND_MESSAGE_ERROR_CODES,te as StatusEnum,ne as StickerMediaTypesEnum,h as SubTypeEnum,se as SystemChangeTypesEnum,Te as THROTTLING_ERROR_CODES,Dt as TemplateApi,l as TemplateStatusEnum,zt as TwoStepVerificationApi,v as VideoMediaTypesEnum,Se as WHATSAPP_ERROR_CODES,dn as WabaAccountReviewStatus,pn as WabaAccountStatus,Bt as WabaApi,mn as WabaBusinessVerificationStatus,_ as WabaConfigEnum,fn as WabaHealthStatusCanSendMessage,$ as WebhookProcessor,oe as WebhookTypesEnum,Ht as WhatsApp,T as WhatsAppApiError,E as WhatsAppAuthorizationError,j as WhatsAppBlockUserError,M as WhatsAppCallingError,w as WhatsAppError,A as WhatsAppFlowError,N as WhatsAppGroupError,O as WhatsAppIntegrityError,qe as WhatsAppNetworkError,k as WhatsAppSendMessageError,D as WhatsAppThrottlingError,Je as WhatsAppUnknownError,V as buildFieldsQueryString,$t as constructFullUrl,jt as createAuthenticationTemplate,Mt as createCatalogTemplate,Nt as createCouponTemplate,Pt as createLimitedTimeOfferTemplate,It as createMPMTemplate,Ft as createMediaCardCarouselTemplate,At as createOTPTemplate,Lt as createProductCardCarouselTemplate,Rt as createSPMTemplate,kt as createTemplate,P as createWhatsAppApiError,be as decryptFlowRequest,xe as encryptFlowResponse,on as expressWebhookHandler,_e as formatConfigTable,ye as generateEncryption,un as generateXHub256Sig,C as isApiPermissionErrorCode,ze as isAuthorizationErrorCode,We as isBlockUserErrorCode,Ge as isCallingErrorCode,Kt as isFlowDataExchangeRequest,Ue as isFlowErrorCode,qt as isFlowErrorRequest,Jt as isFlowPingRequest,Ke as isGroupErrorCode,Ve as isIntegrityErrorCode,F as isMetaError,He as isSendMessageErrorCode,Be as isThrottlingErrorCode,Ye as isWhatsAppApiErrorResponse,Xe as isWhatsAppAuthorizationError,tt as isWhatsAppBlockUserError,nt as isWhatsAppCallingError,S as isWhatsAppErrorCode,et as isWhatsAppFlowError,rt as isWhatsAppGroupError,Qe as isWhatsAppIntegrityError,$e as isWhatsAppSendMessageError,Ze as isWhatsAppThrottlingError,ln as nextjsAppWebhookHandler,cn as nextjsPagesWebhookHandler,it as normalizeMetaError,L as objectToQueryString,Zt as processFlowRequest,Yt as processWebhookMessages};
22
22
  //# sourceMappingURL=index.js.map