UNPKG

meta-cloud-api

Version:
1 lines 104 kB
import{t as e}from"./chunk.mjs";import{inspect as t}from"node:util";import*as n from"node:crypto";import r from"node:crypto";import{Agent as i}from"node:https";import{readFileSync as a}from"node:fs";import{join as o}from"node:path";const s=`whatsapp`;var c=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)}},l=e({AudioMediaTypesEnum:()=>ce,BusinessVerticalEnum:()=>ge,ButtonPositionEnum:()=>g,CategoryEnum:()=>u,ComponentTypesEnum:()=>ee,ConversationTypesEnum:()=>ne,CurrencyCodesEnum:()=>me,DataLocalizationRegionEnum:()=>he,DocumentMediaTypesEnum:()=>se,HttpMethodsEnum:()=>f,ImageMediaTypesEnum:()=>oe,InteractiveTypesEnum:()=>h,LanguagesEnum:()=>pe,MessageTypesEnum:()=>p,ParametersTypesEnum:()=>m,ReferralSourceTypesEnum:()=>de,RequestCodeMethodsEnum:()=>fe,StatusEnum:()=>re,StickerMediaTypesEnum:()=>ae,SubTypeEnum:()=>_,SystemChangeTypesEnum:()=>ue,TemplateStatusEnum:()=>d,VideoMediaTypesEnum:()=>ie,WabaConfigEnum:()=>te,WebhookTypesEnum:()=>le});let u=function(e){return e.Authentication=`AUTHENTICATION`,e.Marketing=`MARKETING`,e.Utility=`UTILITY`,e}({}),d=function(e){return e.Approved=`APPROVED`,e.Pending=`PENDING`,e.Rejected=`REJECTED`,e}({}),f=function(e){return e.Get=`GET`,e.Post=`POST`,e.Put=`PUT`,e.Delete=`DELETE`,e}({}),p=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}({}),m=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}({}),h=function(e){return e.Button=`button`,e.List=`list`,e.Product=`product`,e.ProductList=`product_list`,e.CatalogMessage=`catalog_message`,e.CallPermissionRequest=`call_permission_request`,e.CtaUrl=`cta_url`,e.Carousel=`carousel`,e.LocationRequest=`location_request_message`,e.AddressMessage=`address_message`,e.Flow=`flow`,e}({}),g=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}({}),_=function(e){return e.Catalog=`CATALOG`,e.CopyCode=`COPY_CODE`,e.Flow=`FLOW`,e.Mpm=`MPM`,e.OrderDetails=`ORDER_DETAILS`,e.PhoneNumber=`PHONE_NUMBER`,e.QuickReply=`QUICK_REPLY`,e.Reminder=`REMINDER`,e.Url=`URL`,e.VoiceCall=`VOICE_CALL`,e}({}),ee=function(e){return e.Header=`HEADER`,e.Body=`BODY`,e.Button=`BUTTON`,e.Footer=`FOOTER`,e}({}),te=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}({}),ne=function(e){return e.BusinessInitiated=`business_initiated`,e.CustomerInitiated=`customer_initiated`,e.ReferralConversion=`referral_conversion`,e}({}),re=function(e){return e.Delivered=`delivered`,e.Read=`read`,e.Sent=`sent`,e}({}),ie=function(e){return e.Mp4=`video/mp4`,e.Threegp=`video/3gp`,e}({}),ae=function(e){return e.Webp=`image/webp`,e}({}),oe=function(e){return e.Jpeg=`image/jpeg`,e.Png=`image/png`,e}({}),se=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}({}),ce=function(e){return e.Aac=`audio/aac`,e.Mp4=`audio/mp4`,e.Mpeg=`audio/mpeg`,e.Amr=`audio/amr`,e.Ogg=`audio/ogg`,e}({}),le=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}({}),ue=function(e){return e.CustomerChangedNumber=`customer_changed_number`,e.CustomerIdentityChanged=`customer_identity_changed`,e}({}),de=function(e){return e.Ad=`ad`,e.Post=`post`,e}({}),fe=function(e){return e.Sms=`SMS`,e.Voice=`VOICE`,e}({}),pe=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}({}),me=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}({}),he=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}({}),ge=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}({});const v=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(`&`)}`:``},_e=[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],ve=new Set(_e),ye=[0,3,10,190],be=[4,80007,130429,131048,131056],xe=[368,130497,131031],Se=[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],Ce=[139e3,139001,139002,139003,139004],we=[139100,139101,139102,139103],Te=[138e3,138001,138002,138003,138004,138005,138006,138007,138009,138012,138013,138018,613],Ee=[131020,131041,131059,131201,131202,131203,131204,131207,131208,131209,131210,131211,131212,131213,131214,131215],De=new Set(ye),Oe=new Set(be),ke=new Set(xe),Ae=new Set(Se),je=new Set(Ce),Me=new Set(we),Ne=new Set(Te),Pe=new Set(Ee);function Fe(e){return y(e)?!0:ve.has(e)}function y(e){return e>=200&&e<300}function Ie(e){return y(e)||De.has(e)}function Le(e){return Oe.has(e)}function Re(e){return ke.has(e)}function ze(e){return Ae.has(e)}function Be(e){return je.has(e)}function Ve(e){return Me.has(e)}function He(e){return Ne.has(e)}function Ue(e){return Pe.has(e)}var b=class extends Error{constructor(e){super(e),this.name=`WhatsAppError`}},x=class extends b{error;statusCode;constructor(e,t,n){super(e),this.name=`WhatsAppApiError`,this.error=t,this.statusCode=n}},S=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppAuthorizationError`}},C=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppThrottlingError`}},w=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppIntegrityError`}},T=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppSendMessageError`}},E=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppFlowError`}},D=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppBlockUserError`}},O=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppCallingError`}},k=class extends x{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppGroupError`}};function A(e,t){let n=e.code;return Ie(n)?new S(e.message,e,t):Le(n)?new C(e.message,e,t):Re(n)?new w(e.message,e,t):ze(n)?new T(e.message,e,t):Be(n)?new E(e.message,e,t):Ve(n)?new D(e.message,e,t):He(n)?new O(e.message,e,t):Ue(n)?new k(e.message,e,t):new x(e.message,e,t)}var We=class extends b{cause;constructor(e,t){super(e),this.name=`WhatsAppNetworkError`,this.cause=t}},Ge=class extends b{cause;constructor(e,t){super(e),this.name=`WhatsAppUnknownError`,this.cause=t}},j=class extends Error{constructor(e){super(e),this.name=`WhatsAppValidationError`}};function M(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 Ke(e){return M(e)&&Fe(e.error.code)}function qe(e){return e instanceof S}function Je(e){return e instanceof C}function Ye(e){return e instanceof w}function Xe(e){return e instanceof T}function Ze(e){return e instanceof E}function Qe(e){return e instanceof D}function $e(e){return e instanceof O}function et(e){return e instanceof k}function tt(e,t){if(M(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:``}}}function nt(e){if(!/^\+?\d{10,15}$/.test(e))throw new j(`Invalid phone number: "${e}". Expected E.164 format (e.g. +14155552671 or 14155552671).`)}function N(e,t){if(!e||e.length===0)throw new j(`"${t}" must contain at least one item.`)}var rt=class extends c{endpoint=`block_users`;buildBlockUsersBody(e){return{messaging_product:s,block_users:e.map(e=>({user:e}))}}async block(e){N(e,`users`);let t=this.buildBlockUsersBody(e);return await this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async unblock(e){N(e,`users`);let t=this.buildBlockUsersBody(e);return await this.sendJson(`DELETE`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async listBlockedUsers(e){let t=`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`;if(e){let n=v(e);n&&(t+=n)}return await this.sendJson(`GET`,t,this.config.REQUEST_TIMEOUT)}},it=class extends c{toQuery(e){return e?v({fields:Array.isArray(e.fields)?e.fields.join(`,`):e.fields,filtering:Array.isArray(e.filtering)?JSON.stringify(e.filtering):e.filtering,sort:e.sort,limit:e.limit,after:e.after,before:e.before}):``}fieldsQuery(e){let t=Array.isArray(e)?e.join(`,`):e;return t?v({fields:t}):``}async getConnectedClientBusinesses(e=this.config.M4D_APP_ID,t){return this.sendJson(`GET`,`${e}/connected_client_businesses${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async addPhoneNumbers(e,t){return this.sendJson(`POST`,`${e}/add_phone_numbers`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getBusinessPortfolio(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async getPreVerifiedPhoneNumbers(e,t){return this.sendJson(`GET`,`${e}/preverified_numbers${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async getClientWhatsAppBusinessAccounts(e,t){return this.sendJson(`GET`,`${e}/client_whatsapp_business_accounts${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async onboardPartnersToMMLite(e,t){return this.sendJson(`POST`,`${e}/onboard_partners_to_mm_lite`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getOwnedWhatsAppBusinessAccounts(e,t){return this.sendJson(`GET`,`${e}/owned_whatsapp_business_accounts${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async sharePreVerifiedPhoneNumber(e,t){return this.sendJson(`POST`,`${e}/share_preverified_numbers`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getCreditLines(e){return this.sendJson(`GET`,`${e}/extendedcredits`,this.config.REQUEST_TIMEOUT,null)}async getAssignedWhatsAppBusinessAccounts(e,t){return this.sendJson(`GET`,`${e}/assigned_whatsapp_business_accounts${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async getWhatsAppAccountNumberDetails(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async getPreVerifiedPhoneNumberDetails(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async deletePreVerifiedPhoneNumber(e){return this.sendJson(`DELETE`,e,this.config.REQUEST_TIMEOUT,null)}async getPreVerifiedPhoneNumberPartners(e,t){return this.sendJson(`GET`,`${e}/partners${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async requestPreVerifiedPhoneNumberCode(e,t){return this.sendJson(`POST`,`${e}/request_code`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async verifyPreVerifiedPhoneNumberCode(e,t){return this.sendJson(`POST`,`${e}/verify_code`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}},at=class extends c{endpoint=`calls`;async updateCallingSettings(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/settings`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getCallingSettings(e){let t=Array.isArray(e?.fields)?e?.fields.join(`,`):e?.fields,n=v({...t?{fields:t}:{},...e?.include_sip_credentials===void 0?{}:{include_sip_credentials:e.include_sip_credentials}});return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/settings${n}`,this.config.REQUEST_TIMEOUT,null)}async getCallPermissions(e){let t=v({user_wa_id:e.userWaId});return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/call_permissions${t}`,this.config.REQUEST_TIMEOUT,null)}async initiateCall(e){let t={messaging_product:s,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(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async preAcceptCall(e){let t={messaging_product:s,call_id:e.call_id,action:`pre_accept`};return e.session&&(t.session=e.session),this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async acceptCall(e){let t={messaging_product:s,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(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async rejectCall(e){let t={messaging_product:s,call_id:e.call_id,action:`reject`};return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async terminateCall(e){let t={messaging_product:s,call_id:e.call_id,action:`terminate`};return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}},ot=class extends c{endpoint=`whatsapp_commerce_settings`;async getCommerceSettings(){return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,null)}async updateCommerceSettings(e){let t=v(e);return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}${t}`,this.config.REQUEST_TIMEOUT,null)}},st=class extends c{endpoint=`whatsapp_business_encryption`;async getEncryptionPublicKey(){return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,null)}async setEncryptionPublicKey(e){let t=new FormData;return t.append(`business_public_key`,e),this.sendFormData(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,t)}},ct=class extends c{appendFormValue(e,t,n){n!==void 0&&e.append(t,Array.isArray(n)?JSON.stringify(n):String(n))}async listFlows(e){return this.sendJson(`GET`,`/${e}/flows`,this.config.REQUEST_TIMEOUT,null)}async createFlow(e,t){let n=new FormData;return this.appendFormValue(n,`name`,t.name),this.appendFormValue(n,`categories`,t.categories),this.appendFormValue(n,`endpoint_uri`,t.endpoint_uri),this.appendFormValue(n,`clone_flow_id`,t.clone_flow_id),this.appendFormValue(n,`flow_json`,t.flow_json),this.appendFormValue(n,`publish`,t.publish),this.sendFormData(`POST`,`/${e}/flows`,this.config.REQUEST_TIMEOUT,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(`GET`,`/${e}${i}`,this.config.REQUEST_TIMEOUT,null)}async getFlowPreview(e,t=!1){let n=`preview.invalidate(${t})`;return this.getFlow(e,n)}async updateFlowMetadata(e,t){let n=new FormData;return this.appendFormValue(n,`name`,t.name),this.appendFormValue(n,`categories`,t.categories),this.appendFormValue(n,`endpoint_uri`,t.endpoint_uri),this.appendFormValue(n,`application_id`,t.application_id),this.sendFormData(`POST`,`/${e}`,this.config.REQUEST_TIMEOUT,n)}async deleteFlow(e){return this.sendJson(`DELETE`,`/${e}`,this.config.REQUEST_TIMEOUT,null)}async listAssets(e){return this.sendJson(`GET`,`/${e}/assets`,this.config.REQUEST_TIMEOUT,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(`POST`,`/${e}/assets`,this.config.REQUEST_TIMEOUT,n)}async validateFlowJson(e,t){let n=await this.updateFlowJson(e,{file:t}),r=!n.validation_errors||n.validation_errors.length===0;return{...n,valid:r}}async publishFlow(e){return this.sendJson(`POST`,`/${e}/publish`,this.config.REQUEST_TIMEOUT,JSON.stringify({}))}async deprecateFlow(e){return this.sendJson(`POST`,`/${e}/deprecate`,this.config.REQUEST_TIMEOUT,JSON.stringify({}))}async migrateFlows(e,t){let n=new FormData;return this.appendFormValue(n,`source_waba_id`,t.source_waba_id),this.appendFormValue(n,`source_flow_names`,t.source_flow_names),this.sendFormData(`POST`,`/${e}/migrate_flows`,this.config.REQUEST_TIMEOUT,n)}};let lt=function(e){return e.Draft=`DRAFT`,e.Published=`PUBLISHED`,e.Throttled=`THROTTLED`,e.Blocked=`BLOCKED`,e.Deprecated=`DEPRECATED`,e}({}),ut=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}({}),dt=function(e){return e.INIT=`INIT`,e.BACK=`BACK`,e.DATA_EXCHANGE=`data_exchange`,e}({}),ft=function(e){return e.Ping=`ping`,e.Change=`data_exchange`,e.Error=`error`,e.All=`*`,e}({});var pt=class extends c{async createGroup(e){let t={messaging_product:s,subject:e.subject};return e.description&&(t.description=e.description),e.join_approval_mode&&(t.join_approval_mode=e.join_approval_mode),this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/groups`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async deleteGroup(e){return this.sendJson(`DELETE`,e,this.config.REQUEST_TIMEOUT,null)}async getGroupInfo(e,t){let n=Array.isArray(t)?t.join(`,`):t,r=n?v({fields:n}):``;return this.sendJson(`GET`,`${e}${r}`,this.config.REQUEST_TIMEOUT,null)}async getActiveGroups(e){let t=e?v(e):``;return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/groups${t}`,this.config.REQUEST_TIMEOUT,null)}async getGroupInviteLink(e){return this.sendJson(`GET`,`${e}/invite_link`,this.config.REQUEST_TIMEOUT,null)}async createGroupInviteLink(e){let t={messaging_product:s};return this.sendJson(`POST`,`${e}/invite_link`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async resetGroupInviteLink(e){let t={messaging_product:s};return this.sendJson(`POST`,`${e}/invite_link`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async deleteGroupInviteLink(e){let t={messaging_product:s};return this.sendJson(`DELETE`,`${e}/invite_link`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getJoinRequests(e){return this.sendJson(`GET`,`${e}/join_requests`,this.config.REQUEST_TIMEOUT,null)}async approveJoinRequests(e,t){let n={messaging_product:s,join_requests:t};return this.sendJson(`POST`,`${e}/join_requests`,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}async rejectJoinRequests(e,t){let n={messaging_product:s,join_requests:t};return this.sendJson(`DELETE`,`${e}/join_requests`,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}async addParticipants(e,t){N(t,`participants`);let n={messaging_product:s,participants:t.map(e=>({user:e}))};return this.sendJson(`POST`,`${e}/participants`,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}async removeParticipants(e,t){N(t,`participants`);let n={messaging_product:s,participants:t.map(e=>({user:e}))};return this.sendJson(`DELETE`,`${e}/participants`,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}async updateGroupSettings(e,t){if(t.profilePictureFile){let n=new FormData;if(n.append(`messaging_product`,s),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(`POST`,e,this.config.REQUEST_TIMEOUT,n)}let n={messaging_product:s};return t.subject&&(n.subject=t.subject),t.description&&(n.description=t.description),this.sendJson(`POST`,e,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}},mt=class extends c{endpoint=`marketing_messages`;async sendTemplateMessage(e){let t={messaging_product:s,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),e.product_policy!==void 0&&(t.product_policy=e.product_policy),this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}},ht=class extends c{endpoint=`media`;async getMediaById(e){return this.sendJson(`GET`,`${e}`,this.config.REQUEST_TIMEOUT,null)}async uploadMedia(e,t=s){let n=new FormData;return n.append(`file`,e),n.append(`messaging_product`,t),n.append(`type`,e.type),this.sendFormData(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,n)}async deleteMedia(e){return this.sendJson(`DELETE`,`${e}`,this.config.REQUEST_TIMEOUT,null)}async downloadMedia(e){return this.sendJson(`GET`,e,this.config.REQUEST_TIMEOUT,null)}},gt=class extends c{resolveFields(e){return Array.isArray(e)?e.join(`,`):e}async getMessageHistory(e){let t=e?v({fields:this.resolveFields(e.fields),message_id:e.message_id,start_time:e.start_time,end_time:e.end_time,limit:e.limit,after:e.after,before:e.before}):``;return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/message_history${t}`,this.config.REQUEST_TIMEOUT,null)}async getMessageHistoryEvents(e,t){let n=t?v({fields:this.resolveFields(t.fields),status_filter:t.status_filter,limit:t.limit,after:t.after,before:t.before}):``;return this.sendJson(`GET`,`${e}/events${n}`,this.config.REQUEST_TIMEOUT,null)}},P=class extends c{commonMethod=`POST`;commonEndpoint=`messages`;bodyBuilder(e,t,n,r,i=`individual`){i===`individual`&&nt(n);let a={messaging_product:s,recipient_type:i,to:n,type:e,[e]:t};return r&&(a.context={message_id:r}),a}send(e){return this.sendJson(this.commonMethod,`${this.config.WA_PHONE_NUMBER_ID}/${this.commonEndpoint}`,this.config.REQUEST_TIMEOUT,e)}sendEncrypted(e){return this.sendJson(this.commonMethod,`${this.config.WA_PHONE_NUMBER_ID}/messages_encrypted`,this.config.REQUEST_TIMEOUT,e)}async audio(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`audio`,t,n,r,i)))}async contacts(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`contacts`,t,n,r,i)))}async document(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`document`,t,n,r,i)))}async image(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`image`,t,n,r,i)))}async interactive(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`interactive`,t,n,r,i)))}async location(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`location`,t,n,r,i)))}async sticker(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`sticker`,t,n,r,i)))}async template(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`template`,t,n,r,i)))}async text(e){let{body:t,to:n,replyMessageId:r,previewUrl:i,recipientType:a}=e,o=typeof t==`string`?{body:t,preview_url:i??!0}:{...t,preview_url:i??t.preview_url??!0};return this.send(JSON.stringify(this.bodyBuilder(`text`,o,n,r,a)))}async video(e){let{body:t,to:n,replyMessageId:r,recipientType:i}=e;return this.send(JSON.stringify(this.bodyBuilder(`video`,t,n,r,i)))}async status(e){let t={messaging_product:s,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){let t={messaging_product:s,status:`typing`,message_id:e.messageId,typing_indicator:{type:`text`}};return this.send(JSON.stringify(t))}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(`reaction`,t,e.to,void 0,e.recipientType)))}async encrypted(e){return this.sendEncrypted(JSON.stringify(e))}},_t=class extends c{async listPaymentConfigurations(e){return this.sendJson(`GET`,`/${e}/payment_configurations`,this.config.REQUEST_TIMEOUT,null)}async getPaymentConfiguration(e,t){let n=encodeURIComponent(t);return this.sendJson(`GET`,`/${e}/payment_configuration/${n}`,this.config.REQUEST_TIMEOUT,null)}async createPaymentConfiguration(e,t){return this.sendJson(`POST`,`/${e}/payment_configuration`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async updatePaymentConfiguration(e,t,n){let r=encodeURIComponent(t);return this.sendJson(`POST`,`/${e}/payment_configuration/${r}`,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}async generatePaymentConfigurationOauthLink(e,t){return this.sendJson(`POST`,`/${e}/generate_payment_configuration_oauth_link`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async deletePaymentConfiguration(e,t){return this.sendJson(`DELETE`,`/${e}/payment_configuration`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}},vt=class extends c{endpoint=`phone_numbers`;async getPhoneNumberById(e){let t=Array.isArray(e)?e.join(`,`):e,n=t?v({fields:t}):``;return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}${n}`,this.config.REQUEST_TIMEOUT,null)}async getPhoneNumbers(e){let t=v({fields:Array.isArray(e?.fields)?e.fields.join(`,`):e?.fields,filtering:Array.isArray(e?.filtering)?JSON.stringify(e.filtering):e?.filtering,sort:e?.sort,limit:e?.limit,after:e?.after,before:e?.before});return this.sendJson(`GET`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/${this.endpoint}${t}`,this.config.REQUEST_TIMEOUT,null)}async createPhoneNumber(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendJson(`POST`,`${t}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async updatePhoneNumberStatus(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async requestVerificationCode(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/request_code`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async verifyCode(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/verify_code`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getPhoneNumberSettings(e){let t=Array.isArray(e?.fields)?e.fields.join(`,`):e?.fields,n=v({...t?{fields:t}:{},...e?.include_sip_credentials===void 0?{}:{include_sip_credentials:e.include_sip_credentials}});return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/settings${n}`,this.config.REQUEST_TIMEOUT,null)}async updatePhoneNumberSettings(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/settings`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async setConversationalAutomation(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/conversational_automation`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getConversationalAutomation(){let e=v({fields:`conversational_automation`});return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}${e}`,this.config.REQUEST_TIMEOUT,null)}async getThroughput(){let e=v({fields:`throughput`});return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}${e}`,this.config.REQUEST_TIMEOUT,null)}async getOfficialBusinessAccountStatus(){return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/official_business_account`,this.config.REQUEST_TIMEOUT,null)}async updateOfficialBusinessAccountStatus(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/official_business_account`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getBusinessComplianceInfo(){return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/business_compliance_info`,this.config.REQUEST_TIMEOUT,null)}async updateBusinessComplianceInfo(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/business_compliance_info`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}};function F(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 yt=class extends c{endpoint=`whatsapp_business_profile`;async getBusinessProfile(e){return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}${F(e)}`,this.config.REQUEST_TIMEOUT,null)}async updateBusinessProfile(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async createUploadSession(e,t,n){let r=v({file_length:e,file_type:t,file_name:n});return this.sendJson(`POST`,`app/uploads/${r}`,this.config.REQUEST_TIMEOUT,null)}async uploadMedia(e,t){return this.sendJson(`POST`,`${e}`,this.config.REQUEST_TIMEOUT,t)}async getUploadHandle(e){return this.sendJson(`GET`,`${e}`,this.config.REQUEST_TIMEOUT,null)}},bt=class extends c{endpoint=`message_qrdls`;async createQrCode(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getQrCodes(){return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,null)}async getQrCode(e){return this.sendJson(`GET`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}/${e}`,this.config.REQUEST_TIMEOUT,null)}async updateQrCode(e){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async deleteQrCode(e){return this.sendJson(`DELETE`,`${this.config.WA_PHONE_NUMBER_ID}/${this.endpoint}/${e}`,this.config.REQUEST_TIMEOUT,null)}},xt=class extends c{async register(e,t){let n={messaging_product:s,pin:e,...t&&{data_localization_region:t}};return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/register`,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}async deregister(){return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}/deregister`,this.config.REQUEST_TIMEOUT,null)}},St=class extends c{toQuery(e){return e?v({fields:Array.isArray(e.fields)?e.fields.join(`,`):e.fields,role:e.role,status:e.status,limit:e.limit,after:e.after,before:e.before}):``}fieldsQuery(e){let t=Array.isArray(e)?e.join(`,`):e;return t?v({fields:t}):``}async createWhatsAppBusinessSolution(e,t){return this.sendJson(`POST`,`${e}/whatsapp_business_solution`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getApplicationWhatsAppBusinessSolutions(e,t){return this.sendJson(`GET`,`${e}/whatsapp_business_solutions${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async getSolutionAccessToken(e,t){return this.sendJson(`GET`,`${e}/access_token${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async acceptSolutionDeactivationRequest(e,t={}){return this.sendJson(`POST`,`${e}/accept_deactivation_request`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async acceptSolution(e,t={}){return this.sendJson(`POST`,`${e}/accept`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getSolutionDetails(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async rejectSolutionDeactivationRequest(e,t={}){return this.sendJson(`POST`,`${e}/reject_deactivation_request`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async rejectSolutionRequest(e,t={}){return this.sendJson(`POST`,`${e}/reject`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async sendSolutionDeactivationRequest(e,t={}){return this.sendJson(`POST`,`${e}/send_deactivation_request`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getMigrationIntentDetails(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async listWabaSolutions(e=this.config.WA_BUSINESS_ACCOUNT_ID,t){return this.sendJson(`GET`,`${e}/solutions${this.toQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async setSolutionMigrationIntent(e,t){return this.sendJson(`POST`,`${e}/set_solution_migration_intent`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}};function I(e){let t={type:`HEADER`,format:e.format};return e.text&&(t.text=e.text),e.example&&(t.example=e.example),t}function L(e){let t={type:`BODY`,text:e.text};return e.example&&(t.example=e.example),t}function R(e){return{type:`FOOTER`,text:e.text}}function z(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 Ct(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 wt(e){let t=[];if(e.header&&t.push(I(e.header)),e.body&&t.push(L(e.body)),e.footer&&t.push(R(e.footer)),e.buttons&&t.push(...z(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:[Ct(e.bodyParameters)]}:void 0}),e.buttons&&n.push(...z(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 Tt(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:`AUTHENTICATION`,components:t}}function Et(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:`AUTHENTICATION`,components:t}}function Dt(e){let t=[];return e.header&&t.push(I({...e.header,format:`TEXT`})),t.push(L(e.body)),e.footer&&t.push(R(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:`MARKETING`,components:t}}function Ot(e){let t=[];return e.header&&t.push(I({...e.header,format:`TEXT`})),t.push(L(e.body)),e.footer&&t.push(R(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`COPY_CODE`,example:e.coupon_code}]}),{name:e.name,language:e.language,category:`MARKETING`,components:t}}function kt(e){let t=[];return t.push({type:`LIMITED_TIME_OFFER`,limited_time_offer:{expiration_time_ms:e.expiration_time_ms}}),e.header&&t.push(I({...e.header,format:`TEXT`})),t.push(L(e.body)),e.footer&&t.push(R(e.footer)),{name:e.name,language:e.language,category:`MARKETING`,components:t}}function At(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(L(e.body)),e.buttons&&r.push(...z(e.buttons)),n.push({card_index:t,components:r})}),t.push({type:`CAROUSEL`,cards:n}),{name:e.name,language:e.language,category:`MARKETING`,components:t}}function jt(e){let t=[];return e.header&&t.push(I({...e.header,format:`TEXT`})),t.push(L(e.body)),e.footer&&t.push(R(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:`MARKETING`,components:t}}function Mt(e){let t=[];e.header&&t.push(I({...e.header,format:`TEXT`})),t.push(L(e.body)),e.footer&&t.push(R(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:`MARKETING`,components:t}}function Nt(e){let t=[];return e.header&&t.push(I({...e.header,format:`TEXT`})),t.push(L(e.body)),e.footer&&t.push(R(e.footer)),t.push({type:`BUTTONS`,buttons:[{type:`SPM`,action:{product_retailer_id:e.product_retailer_id}}]}),{name:e.name,language:e.language,category:`MARKETING`,components:t}}var Pt=class extends c{endpoint=`message_templates`;async getTemplate(e){return this.sendJson(`GET`,`${e}`,this.config.REQUEST_TIMEOUT,null)}async updateTemplate(e,t){return this.sendJson(`POST`,`${e}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}async getTemplates(e){return this.sendJson(`GET`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/${this.endpoint}${v(e??{})}`,this.config.REQUEST_TIMEOUT,null)}async createTemplate(e){return this.sendJson(`POST`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/${this.endpoint}`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async deleteTemplate(e){return this.sendJson(`DELETE`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/${this.endpoint}${v(e)}`,this.config.REQUEST_TIMEOUT,null)}},Ft=class extends c{async setTwoStepVerificationCode(e){let t={pin:e};return this.sendJson(`POST`,`${this.config.WA_PHONE_NUMBER_ID}`,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}},It=class extends c{toQuery(e){return e?v({fields:Array.isArray(e.fields)?e.fields.join(`,`):e.fields,filtering:Array.isArray(e.filtering)?JSON.stringify(e.filtering):e.filtering,sort:e.sort,limit:e.limit,after:e.after,before:e.before}):``}fieldsQuery(e){let t=Array.isArray(e)?e.join(`,`):e;return t?v({fields:t}):``}async getWabaAccount(e){let t=F(e)?.replace(/,/g,`%2C`);return this.sendJson(`GET`,`${this.config.WA_BUSINESS_ACCOUNT_ID}${t}`,this.config.REQUEST_TIMEOUT,null)}async updateWabaAccount(e){return this.sendJson(`POST`,`${this.config.WA_BUSINESS_ACCOUNT_ID}`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getWabaActivities(e){return this.sendJson(`GET`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/activities${this.toQuery(e)}`,this.config.REQUEST_TIMEOUT,null)}async getAllWabaSubscriptions(){return this.sendJson(`GET`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/subscribed_apps`,this.config.REQUEST_TIMEOUT,null)}async updateWabaSubscription({override_callback_uri:e,verify_token:t}){let n={override_callback_uri:e,verify_token:t};return this.sendJson(`POST`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/subscribed_apps`,this.config.REQUEST_TIMEOUT,JSON.stringify(n))}async unsubscribeFromWaba(){return this.sendJson(`DELETE`,`${this.config.WA_BUSINESS_ACCOUNT_ID}/subscribed_apps`,this.config.REQUEST_TIMEOUT,null)}async getAssignedUsers(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendJson(`GET`,`${t}/assigned_users${this.toQuery(e)}`,this.config.REQUEST_TIMEOUT,null)}async addAssignedUser(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){let n={user:e.user,tasks:e.tasks};return this.sendUrlEncodedForm(`POST`,`${t}/assigned_users`,this.config.REQUEST_TIMEOUT,n)}async removeAssignedUser(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendUrlEncodedForm(`DELETE`,`${t}/assigned_users`,this.config.REQUEST_TIMEOUT,{user:e.user})}async getInProgressOnBehalfRequests(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendJson(`GET`,`${t}/in_progress_onbehalf_request${this.toQuery(e)}`,this.config.REQUEST_TIMEOUT,null)}async getOBOMobilityIntent(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async createOBOMobilityIntent(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendJson(`POST`,`${t}/obo_mobility_intent`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async setOBOMobilityIntent(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendJson(`POST`,`${t}/set_obo_mobility_intent`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getWabaSchedules(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendJson(`GET`,`${t}/schedules${this.toQuery(e)}`,this.config.REQUEST_TIMEOUT,null)}async createWabaSchedule(e,t=this.config.WA_BUSINESS_ACCOUNT_ID){return this.sendJson(`POST`,`${t}/schedules`,this.config.REQUEST_TIMEOUT,JSON.stringify(e))}async getWhatsAppBusinessBotDetails(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async getWhatsAppBusinessProfileDetails(e,t){return this.sendJson(`GET`,`${e}${this.fieldsQuery(t)}`,this.config.REQUEST_TIMEOUT,null)}async updateWhatsAppBusinessProfile(e,t){return this.sendJson(`POST`,e,this.config.REQUEST_TIMEOUT,JSON.stringify(t))}};let Lt=function(e){return e.Approved=`APPROVED`,e.Active=`ACTIVE`,e.Inactive=`INACTIVE`,e.Disabled=`DISABLED`,e}({}),Rt=function(e){return e.Blocked=`BLOCKED`,e.Limited=`LIMITED`,e.Available=`AVAILABLE`,e}({}),zt=function(e){return e.Approved=`APPROVED`,e.Active=`ACTIVE`,e.Inactive=`INACTIVE`,e.Disabled=`DISABLED`,e}({}),Bt=function(e){return e.Verified=`verified`,e.PendingSu