meta-cloud-api 3.11.1 → 3.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +191 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +13 -7
- package/dist/index.mjs.map +1 -1
- package/dist/node/index.d.mts +191 -9
- package/dist/node/index.d.mts.map +1 -1
- package/dist/node/index.mjs +13 -7
- package/dist/node/index.mjs.map +1 -1
- package/dist/types/index.d.ts +114 -7
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +67 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +10 -4
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/node/index.d.ts +67 -1
- package/dist/utils/node/index.d.ts.map +1 -1
- package/dist/utils/node/index.js +10 -4
- package/dist/utils/node/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/utils/buildFieldsQueryString.ts","../../../src/utils/rateLimit.ts","../../../src/types/enums.ts","../../../src/types/config.ts","../../../src/utils/configTable.ts","../../../src/utils/customerServiceWindow.ts","../../../src/utils/isMetaError.ts","../../../src/types/logger.ts","../../../src/utils/logger.ts","../../../src/core/webhook/types/common.ts","../../../src/core/webhook/types/status.ts","../../../src/utils/messageStatus.ts","../../../src/utils/objectToQueryString.ts","../../../src/api/flow/types/common.ts","../../../src/utils/flowEncryptionUtils.ts","../../../src/utils/flowTypeGuards.ts"],"mappings":";iBAAgB,sBAAA,CAAuB,MAA0B;;;;AAAjE;;;UCMiB,cAAA;EDNgD;ECQ7D,SAAA;;EAEA,YAAA;EAJa;EAMb,SAAA;AAAA;;UAIa,oBAAA,SAA6B,cAAc;EANxD;EAQA,UAAA;EANS;EAQT,IAAA;EAJa;;;;EASb,kCAAA;EAPA;EASA,gBAAA;AAAA;;;AAAgB;AAUpB;;;;UAAiB,aAAA;EAEF;EAAX,QAAA,GAAW,cAAA;EAEW;EAAtB,oBAAA,EAAsB,oBAAoB;EAO1C;EALA,YAAA;EAUY;AAAA;AAIhB;;EATI,eAAA;EAWQ;;;;EANR,YAAA;AAAA;AAOoB;AAAA,KAHZ,qBAAA,GACN,OAAA,GACA,MAAM;EACJ,GAAA,CAAI,IAAA;AAAA;;AAwE8E;AA0B1F;;iBA1BgB,eAAA,CAAgB,KAAA,6BAAkC,GAAwB;;;;;;AA0Ba;;;;AClCvG;;;;;iBDkCgB,qBAAA,CAAsB,OAAA,EAAS,qBAAA,sBAA2C,aAAa;;;aClC3F,cAAA;EACR,KAAA;EACA,IAAA;EACA,SAAA;EACA,aAAA;EACA,cAAA;EACA,UAAA;EACA,WAAA;EACA,eAAA;EACA,wBAAA;EACA,YAAA;EACA,mBAAA;EACA,cAAA;EACA,KAAA;EACA,UAAA;EACA,UAAA;AAAA;;;;;;AF3I6D;;;;ACMjE;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/utils/buildFieldsQueryString.ts","../../../src/utils/rateLimit.ts","../../../src/types/enums.ts","../../../src/types/config.ts","../../../src/utils/configTable.ts","../../../src/utils/customerServiceWindow.ts","../../../src/utils/isMetaError.ts","../../../src/types/logger.ts","../../../src/utils/logger.ts","../../../src/core/webhook/types/common.ts","../../../src/core/webhook/types/status.ts","../../../src/utils/messageStatus.ts","../../../src/utils/objectToQueryString.ts","../../../src/utils/textFormat.ts","../../../src/api/flow/types/common.ts","../../../src/utils/flowEncryptionUtils.ts","../../../src/utils/flowTypeGuards.ts"],"mappings":"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"}
|
package/dist/utils/node/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import*as e from"node:crypto";function t(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}`:``}function n(e){let t=[[`App ID`,e.M4D_APP_ID||`Not Set`],[`Phone Number ID`,e.WA_PHONE_NUMBER_ID?.toString()||`Not Set`],[`Business Account ID`,e.WA_BUSINESS_ACCOUNT_ID||`Not Set`],[`API Version`,e.CLOUD_API_VERSION||`Not Set`],[`Access Token`,e.CLOUD_API_ACCESS_TOKEN?`${e.CLOUD_API_ACCESS_TOKEN.substring(0,20)}...`:`Not Set`],[`Webhook Endpoint`,e.WEBHOOK_ENDPOINT||`Not Set`],[`Webhook Verification Token`,e.WEBHOOK_VERIFICATION_TOKEN?`${e.WEBHOOK_VERIFICATION_TOKEN.substring(0,10)}...`:`Not Set`],[`Listener Port`,e.LISTENER_PORT?.toString()||`Not Set`],[`Debug Mode`,e.DEBUG?`Enabled`:`Disabled`],[`Max Retries`,e.MAX_RETRIES_AFTER_WAIT?.toString()||`Not Set`],[`Request Timeout`,e.REQUEST_TIMEOUT?`${e.REQUEST_TIMEOUT}ms`:`Not Set`],[`Private PEM`,e.FLOW_API_PRIVATE_PEM?`Configured`:`Not Set`],[`Passphrase`,e.FLOW_API_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 r=[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,131061,131062,131063,131065,131070,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,138038,139e3,139001,139002,139003,139004,139100,139101,139102,139103,147005,200005,200006,200007,1752041,2388001,2388012,2388019,2388040,2388047,2388072,2388073,2388091,2388093,2388103,2388293,2388299,2494100,2494191,2593079,2593085,2593107,2593108],i=new Set(r),a=[0,3,10,190],o=[4,80007,130429,131048,131056],s=[368,130497,131031],c=[130472,131e3,131005,131008,131009,131016,131021,131026,131030,131042,131044,131045,131047,131050,131051,131052,131053,131056,131057,131048,131061,131062,131063,131065,131070,132e3,132001,132005,132007,132008,132012,132015,132016,132068,132069,135e3,137e3],l=[139e3,139001,139002,139003,139004],u=[139100,139101,139102,139103],d=[138e3,138001,138002,138003,138004,138005,138006,138007,138009,138012,138013,138018,138038,613],f=[131020,131041,131059,131201,131202,131203,131204,131207,131208,131209,131210,131211,131212,131213,131214,131215],p=new Set(a),m=new Set(o),ee=new Set(s),h=new Set(c),te=new Set(l),ne=new Set(u),re=new Set(d),ie=new Set(f);function ae(e){return g(e)?!0:i.has(e)}function g(e){return e>=200&&e<300}function oe(e){return g(e)||p.has(e)}function se(e){return m.has(e)}function ce(e){return ee.has(e)}function _(e){return h.has(e)}function v(e){return te.has(e)}function y(e){return ne.has(e)}function b(e){return re.has(e)}function x(e){return ie.has(e)}var S=class extends Error{constructor(e){super(e),this.name=`WhatsAppError`}},C=class extends S{error;statusCode;rateLimit;constructor(e,t,n){super(e),this.name=`WhatsAppApiError`,this.error=t,this.statusCode=n}},w=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppAuthorizationError`}},T=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppThrottlingError`}},E=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppIntegrityError`}},D=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppSendMessageError`}},O=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppFlowError`}},k=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppBlockUserError`}},A=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppCallingError`}},j=class extends C{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppGroupError`}};function le(e,t){let n=e.code;return oe(n)?new w(e.message,e,t):se(n)?new T(e.message,e,t):ce(n)?new E(e.message,e,t):_(n)?new D(e.message,e,t):v(n)?new O(e.message,e,t):y(n)?new k(e.message,e,t):b(n)?new A(e.message,e,t):x(n)?new j(e.message,e,t):new C(e.message,e,t)}var ue=class extends S{cause;constructor(e,t){super(e),this.name=`WhatsAppNetworkError`,this.cause=t}},de=class extends S{cause;constructor(e,t){super(e),this.name=`WhatsAppUnknownError`,this.cause=t}},M=class extends Error{constructor(e){super(e),this.name=`WhatsAppValidationError`}};function N(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 fe(e){return N(e)&&ae(e.error.code)}function pe(e){return e instanceof w}function me(e){return e instanceof T}function he(e){return e instanceof E}function ge(e){return e instanceof D}function _e(e){return e instanceof O}function ve(e){return e instanceof k}function ye(e){return e instanceof A}function be(e){return e instanceof j}function xe(e,t){if(N(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 P=3600*1e3,F=24*P,I=72*P,Se=168*P,L=1e11;function R(e,t){let n;if(e instanceof Date)n=e.getTime();else if(typeof e==`number`)n=Math.abs(e)<L?e*1e3:e;else if(typeof e==`string`){let t=e.trim();if(/^\d+(\.\d+)?$/.test(t)){let e=Number(t);n=e<L?e*1e3:e}else n=t===``?NaN:Date.parse(t)}else n=NaN;if(!Number.isFinite(n)||!Number.isFinite(new Date(n).getTime()))throw new M(`${t} is not a valid timestamp: ${String(e)}`);return n}function z(e,t,n){if(e===void 0)return n;if(typeof e!=`number`||!Number.isFinite(e)||e<0)throw new M(`${t} must be a non-negative number of milliseconds`);return e}function B(e,t,n,r){if(!Number.isFinite(new Date(t).getTime()))throw new M(`Window expiry is outside the supported timestamp range`);let i=Math.max(0,t-e),a=t-r,o=Math.min(Math.max(0,a-n),i);return{isOpen:o>0,expiresAt:new Date(t),remainingMs:o}}const V=Object.freeze({isOpen:!1,expiresAt:null,remainingMs:0});function H(e,t={}){let n=z(t.safetyMarginMs,`safetyMarginMs`,0),r=t.now===void 0?Date.now():R(t.now,`now`);if(e==null)return{...V};let i=R(e,`lastInboundAt`);return B(i,i+F,r,n)}function Ce(e,t={}){return H(e,t).isOpen}function we(e,t={}){let n=z(t.safetyMarginMs,`safetyMarginMs`,0),r=z(t.durationMs,`durationMs`,I),i=t.now===void 0?Date.now():R(t.now,`now`);if(e==null)return{...V};let a=R(e,`openedAt`);return B(a,t.expiresAt===void 0?a+r:R(t.expiresAt,`expiresAt`),i,n)}var Te=class{name;debugEnabled;constructor(e,t=!1){this.name=e,this.debugEnabled=t}formatData(e){return e.map(e=>typeof e==`object`&&e?Ee(e):e).join(` `)}log(...e){if(this.debugEnabled){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.debugEnabled){let t=`[ ${Date.now()} ] - WARN`;this.name&&(t+=` - ${this.name}`),console.warn(t,`: `,this.formatData(e))}}info(...e){if(this.debugEnabled){let t=`[ ${Date.now()} ] - INFO`;this.name&&(t+=` - ${this.name}`),console.info(t,`: `,this.formatData(e))}}debug(...e){if(this.debugEnabled){let t=`[ ${Date.now()} ] - DEBUG`;this.name&&(t+=` - ${this.name}`),console.debug(t,`: `,this.formatData(e))}}};function Ee(e){if(e instanceof Error)return e.stack||`${e.name}: ${e.message}`;let t=new WeakSet;try{return JSON.stringify(e,(e,n)=>{if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(typeof n==`bigint`)return n.toString();if(typeof n==`object`&&n){if(t.has(n))return`[Circular]`;t.add(n)}return n},2)}catch{return String(e)}}const De={sent:1,failed:2,delivered:3,read:4};function Oe(e){return e&&Object.hasOwn(De,e)?De[e]:0}function U(e,t){return Oe(e)-Oe(t)}function ke(e,t){return e==null||e===``?!0:U(t,e)>0}function Ae(e,t){return e==null||e===``||U(t,e)>0?t:e}const je=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(`&`)}`:``};function W(e,t){if(typeof e.get==`function`)return e.get(t)??void 0;let n=e,r=Object.keys(n).find(e=>e.toLowerCase()===t);if(r===void 0)return;let i=n[r];return Array.isArray(i)?i[0]:i}function Me(e){if(!(e===void 0||e.trim()===``))try{return JSON.parse(e)}catch{return}}function G(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function K(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e)))return Number(e)}function Ne(e){return typeof e==`string`?e:void 0}function Pe(e){let t={},n=K(e.call_count),r=K(e.total_cputime),i=K(e.total_time);return n!==void 0&&(t.callCount=n),r!==void 0&&(t.totalCputime=r),i!==void 0&&(t.totalTime=i),t}function Fe(e){if(!G(e))return[];let t=[];for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r){if(!G(e))continue;let r={businessId:n,...Pe(e)},i=Ne(e.type),a=K(e.estimated_time_to_regain_access),o=Ne(e.ads_api_access_tier);i!==void 0&&(r.type=i),a!==void 0&&(r.estimatedTimeToRegainAccessMinutes=a),o!==void 0&&(r.adsApiAccessTier=o),t.push(r)}return t}function Ie(e,t=Date.now()){if(e==null)return;let n=e.trim();if(n===``)return;if(/^\d+(\.\d+)?$/.test(n))return Math.round(Number(n)*1e3);if(!/[a-z]/i.test(n))return;let r=Date.parse(n);if(Number.isFinite(r))return Math.max(0,r-t)}function Le(e){if(!e)return;let t=W(e,`x-app-usage`),n=W(e,`x-business-use-case-usage`),r=W(e,`retry-after`);if(t===void 0&&n===void 0&&r===void 0)return;let i={businessUseCaseUsage:[]},a=Me(t);G(a)&&(i.appUsage=Pe(a)),i.businessUseCaseUsage=Fe(Me(n));let o=Ie(r);o!==void 0&&(i.retryAfterMs=o);let s=[...i.appUsage?[i.appUsage]:[],...i.businessUseCaseUsage].flatMap(e=>[e.callCount,e.totalCputime,e.totalTime].filter(e=>e!==void 0));s.length>0&&(i.maxUsagePercent=Math.max(...s));let c=[...o===void 0?[]:[o],...i.businessUseCaseUsage.map(e=>e.estimatedTimeToRegainAccessMinutes).filter(e=>e!==void 0&&e>0).map(e=>e*6e4)];return c.length>0&&(i.retryDelayMs=Math.max(...c)),i}const Re=e;function q(){let e=globalThis.process;return typeof e==`object`&&e?e:void 0}function ze(e){return q()?.env?.[e]}function Be(){return ze(`DEBUG`)===`true`}function J(){let e=q()?.getBuiltinModule;if(typeof e!=`function`)return q()?Re:void 0;try{return e(`node:crypto`)}catch{return}}function Ve(e){let t=J();if(!t)throw Error(`${e} needs the node:crypto module, which is not available in this runtime. Use the async Web Crypto variant instead, or run on Node.js >= 20.12, Bun or Deno.`);return t}function Y(){let e=globalThis.crypto?.subtle;if(!e)throw Error(`Web Crypto (globalThis.crypto.subtle) is not available in this runtime.`);return e}const He=new TextEncoder,Ue=new TextDecoder;function We(e){return He.encode(e)}function Ge(e){return Ue.decode(e)}function X(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Ke(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,r+n));return btoa(t)}const Z=new Te(`FLOW_ENCRYPTION_UTILS`,Be());function qe(){let e=J();if(!e||typeof e.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 Z.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 Z.error(`Browser environment detected:`,e),e}let t=globalThis.process?.versions?.node;if(t){let e=t.split(`.`).map(Number),n=e[0]??0,r=e[1]??0;if(n<10||n===10&&r<12){let e=Error(`Node.js version ${t} is not supported. Please upgrade to Node.js 10.12.0 or higher.`);throw Z.error(`Node.js version check failed:`,e),e}}return e}function Je(e){Z.info(`[generateEncryption] Starting key pair generation`);let t=qe(),n=e||ze(`FLOW_API_PASSPHRASE`);if(!n||n.trim().length===0){let e=Error(`Passphrase is empty. Please provide a passphrase as parameter or set FLOW_API_PASSPHRASE environment variable.`);throw Z.error(`[generateEncryption] Passphrase validation failed:`,e),e}n.length<8&&Z.warn(`[generateEncryption] Passphrase is shorter than 8 characters. Consider using a longer passphrase for better security.`);try{Z.info(`[generateEncryption] Generating 2048-bit RSA key pair`);let e=t.generateKeyPairSync(`rsa`,{modulusLength:2048,publicKeyEncoding:{type:`spki`,format:`pem`},privateKeyEncoding:{type:`pkcs8`,format:`pem`,cipher:`aes-256-cbc`,passphrase:n}});return Z.info(`[generateEncryption] Key pair generated successfully`),{passphrase:n,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 Z.error(`[generateEncryption] Key generation failed:`,n),n}}function Ye(e,t){Z.info(`[decryptFlowRequest] Starting Flow request decryption`);let n=Ve(`decryptFlowRequest`);if(!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 Z.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 Z.error(`[decryptFlowRequest] Configuration error:`,e),e}Z.info(`[decryptFlowRequest] Configuration validated`);let{encrypted_aes_key:r,encrypted_flow_data:i,initial_vector:a}=e;if(!r||!i||!a)throw Z.error(`[decryptFlowRequest] Missing required encryption properties in request body`),Error(`Missing required encryption properties`);Z.info(`[decryptFlowRequest] Request body validated`);let o=t.FLOW_API_PRIVATE_PEM;o.includes(`\\n`)&&(o=o.replace(/\\n/g,`
|
|
2
|
+
`)}const r=[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,131061,131062,131063,131065,131070,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,138038,139e3,139001,139002,139003,139004,139100,139101,139102,139103,147005,200005,200006,200007,1752041,2388001,2388012,2388019,2388040,2388047,2388072,2388073,2388091,2388093,2388103,2388293,2388299,2494100,2494191,2593079,2593085,2593107,2593108],i=new Set(r),a=[0,3,10,190],o=[4,80007,130429,131048,131056],s=[368,130497,131031],c=[130472,131e3,131005,131008,131009,131016,131021,131026,131030,131042,131044,131045,131047,131050,131051,131052,131053,131056,131057,131048,131061,131062,131063,131065,131070,132e3,132001,132005,132007,132008,132012,132015,132016,132068,132069,135e3,137e3],l=[139e3,139001,139002,139003,139004],u=[139100,139101,139102,139103],d=[138e3,138001,138002,138003,138004,138005,138006,138007,138009,138012,138013,138018,138038,613],f=[131020,131041,131059,131201,131202,131203,131204,131207,131208,131209,131210,131211,131212,131213,131214,131215],p=new Set(a),m=new Set(o),ee=new Set(s),h=new Set(c),te=new Set(l),ne=new Set(u),re=new Set(d),ie=new Set(f);function ae(e){return g(e)?!0:i.has(e)}function g(e){return e>=200&&e<300}function oe(e){return g(e)||p.has(e)}function se(e){return m.has(e)}function ce(e){return ee.has(e)}function le(e){return h.has(e)}function _(e){return te.has(e)}function v(e){return ne.has(e)}function y(e){return re.has(e)}function b(e){return ie.has(e)}var x=class extends Error{constructor(e){super(e),this.name=`WhatsAppError`}},S=class extends x{error;statusCode;rateLimit;constructor(e,t,n){super(e),this.name=`WhatsAppApiError`,this.error=t,this.statusCode=n}},C=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppAuthorizationError`}},w=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppThrottlingError`}},T=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppIntegrityError`}},E=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppSendMessageError`}},D=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppFlowError`}},O=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppBlockUserError`}},k=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppCallingError`}},A=class extends S{constructor(e,t,n){super(e,t,n),this.name=`WhatsAppGroupError`}};function ue(e,t){let n=e.code;return oe(n)?new C(e.message,e,t):se(n)?new w(e.message,e,t):ce(n)?new T(e.message,e,t):le(n)?new E(e.message,e,t):_(n)?new D(e.message,e,t):v(n)?new O(e.message,e,t):y(n)?new k(e.message,e,t):b(n)?new A(e.message,e,t):new S(e.message,e,t)}var de=class extends x{cause;constructor(e,t){super(e),this.name=`WhatsAppNetworkError`,this.cause=t}},fe=class extends x{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 pe(e){return M(e)&&ae(e.error.code)}function me(e){return e instanceof C}function he(e){return e instanceof w}function ge(e){return e instanceof T}function _e(e){return e instanceof E}function ve(e){return e instanceof D}function ye(e){return e instanceof O}function be(e){return e instanceof k}function xe(e){return e instanceof A}function Se(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:``}}}const N=3600*1e3,P=24*N,F=72*N,Ce=168*N,I=1e11;function L(e,t){let n;if(e instanceof Date)n=e.getTime();else if(typeof e==`number`)n=Math.abs(e)<I?e*1e3:e;else if(typeof e==`string`){let t=e.trim();if(/^\d+(\.\d+)?$/.test(t)){let e=Number(t);n=e<I?e*1e3:e}else n=t===``?NaN:Date.parse(t)}else n=NaN;if(!Number.isFinite(n)||!Number.isFinite(new Date(n).getTime()))throw new j(`${t} is not a valid timestamp: ${String(e)}`);return n}function R(e,t,n){if(e===void 0)return n;if(typeof e!=`number`||!Number.isFinite(e)||e<0)throw new j(`${t} must be a non-negative number of milliseconds`);return e}function z(e,t,n,r){if(!Number.isFinite(new Date(t).getTime()))throw new j(`Window expiry is outside the supported timestamp range`);let i=Math.max(0,t-e),a=t-r,o=Math.min(Math.max(0,a-n),i);return{isOpen:o>0,expiresAt:new Date(t),remainingMs:o}}const B=Object.freeze({isOpen:!1,expiresAt:null,remainingMs:0});function V(e,t={}){let n=R(t.safetyMarginMs,`safetyMarginMs`,0),r=t.now===void 0?Date.now():L(t.now,`now`);if(e==null)return{...B};let i=L(e,`lastInboundAt`);return z(i,i+P,r,n)}function we(e,t={}){return V(e,t).isOpen}function Te(e,t={}){let n=R(t.safetyMarginMs,`safetyMarginMs`,0),r=R(t.durationMs,`durationMs`,F),i=t.now===void 0?Date.now():L(t.now,`now`);if(e==null)return{...B};let a=L(e,`openedAt`);return z(a,t.expiresAt===void 0?a+r:L(t.expiresAt,`expiresAt`),i,n)}var Ee=class{name;debugEnabled;constructor(e,t=!1){this.name=e,this.debugEnabled=t}formatData(e){return e.map(e=>typeof e==`object`&&e?De(e):e).join(` `)}log(...e){if(this.debugEnabled){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.debugEnabled){let t=`[ ${Date.now()} ] - WARN`;this.name&&(t+=` - ${this.name}`),console.warn(t,`: `,this.formatData(e))}}info(...e){if(this.debugEnabled){let t=`[ ${Date.now()} ] - INFO`;this.name&&(t+=` - ${this.name}`),console.info(t,`: `,this.formatData(e))}}debug(...e){if(this.debugEnabled){let t=`[ ${Date.now()} ] - DEBUG`;this.name&&(t+=` - ${this.name}`),console.debug(t,`: `,this.formatData(e))}}};function De(e){if(e instanceof Error)return e.stack||`${e.name}: ${e.message}`;let t=new WeakSet;try{return JSON.stringify(e,(e,n)=>{if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(typeof n==`bigint`)return n.toString();if(typeof n==`object`&&n){if(t.has(n))return`[Circular]`;t.add(n)}return n},2)}catch{return String(e)}}const Oe={sent:1,failed:2,delivered:3,read:4};function ke(e){return e&&Object.hasOwn(Oe,e)?Oe[e]:0}function H(e,t){return ke(e)-ke(t)}function Ae(e,t){return e==null||e===``?!0:H(t,e)>0}function je(e,t){return e==null||e===``||H(t,e)>0?t:e}const Me=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(`&`)}`:``};function U(e,t){if(typeof e.get==`function`)return e.get(t)??void 0;let n=e,r=Object.keys(n).find(e=>e.toLowerCase()===t);if(r===void 0)return;let i=n[r];return Array.isArray(i)?i[0]:i}function Ne(e){if(!(e===void 0||e.trim()===``))try{return JSON.parse(e)}catch{return}}function W(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function G(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e)))return Number(e)}function Pe(e){return typeof e==`string`?e:void 0}function Fe(e){let t={},n=G(e.call_count),r=G(e.total_cputime),i=G(e.total_time);return n!==void 0&&(t.callCount=n),r!==void 0&&(t.totalCputime=r),i!==void 0&&(t.totalTime=i),t}function Ie(e){if(!W(e))return[];let t=[];for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r){if(!W(e))continue;let r={businessId:n,...Fe(e)},i=Pe(e.type),a=G(e.estimated_time_to_regain_access),o=Pe(e.ads_api_access_tier);i!==void 0&&(r.type=i),a!==void 0&&(r.estimatedTimeToRegainAccessMinutes=a),o!==void 0&&(r.adsApiAccessTier=o),t.push(r)}return t}function Le(e,t=Date.now()){if(e==null)return;let n=e.trim();if(n===``)return;if(/^\d+(\.\d+)?$/.test(n))return Math.round(Number(n)*1e3);if(!/[a-z]/i.test(n))return;let r=Date.parse(n);if(Number.isFinite(r))return Math.max(0,r-t)}function Re(e){if(!e)return;let t=U(e,`x-app-usage`),n=U(e,`x-business-use-case-usage`),r=U(e,`retry-after`);if(t===void 0&&n===void 0&&r===void 0)return;let i={businessUseCaseUsage:[]},a=Ne(t);W(a)&&(i.appUsage=Fe(a)),i.businessUseCaseUsage=Ie(Ne(n));let o=Le(r);o!==void 0&&(i.retryAfterMs=o);let s=[...i.appUsage?[i.appUsage]:[],...i.businessUseCaseUsage].flatMap(e=>[e.callCount,e.totalCputime,e.totalTime].filter(e=>e!==void 0));s.length>0&&(i.maxUsagePercent=Math.max(...s));let c=[...o===void 0?[]:[o],...i.businessUseCaseUsage.map(e=>e.estimatedTimeToRegainAccessMinutes).filter(e=>e!==void 0&&e>0).map(e=>e*6e4)];return c.length>0&&(i.retryDelayMs=Math.max(...c)),i}function K(e,t){return e.split(`
|
|
3
|
+
`).map(e=>{let n=/^(\s*)(.*?)(\s*)$/s.exec(e);if(!n)return e;let[,r,i,a]=n;return i?`${r}${t}${i}${t}${a}`:e}).join(`
|
|
4
|
+
`)}function ze(e){return K(e,`*`)}function Be(e){return K(e,`_`)}function Ve(e){return K(e,`~`)}function He(e){return K(e,"`")}function Ue(e){return e.trim()===``?e:`\`\`\`${e}\`\`\``}function We(e){return e.split(`
|
|
5
|
+
`).map(e=>`> ${e}`).join(`
|
|
6
|
+
`)}function Ge(e){return e.map(e=>`- ${e}`).join(`
|
|
7
|
+
`)}function Ke(e){return e.map((e,t)=>`${t+1}. ${e}`).join(`
|
|
8
|
+
`)}const qe=e;function q(){let e=globalThis.process;return typeof e==`object`&&e?e:void 0}function Je(e){return q()?.env?.[e]}function Ye(){return Je(`DEBUG`)===`true`}function J(){let e=q()?.getBuiltinModule;if(typeof e!=`function`)return q()?qe:void 0;try{return e(`node:crypto`)}catch{return}}function Xe(e){let t=J();if(!t)throw Error(`${e} needs the node:crypto module, which is not available in this runtime. Use the async Web Crypto variant instead, or run on Node.js >= 20.12, Bun or Deno.`);return t}function Y(){let e=globalThis.crypto?.subtle;if(!e)throw Error(`Web Crypto (globalThis.crypto.subtle) is not available in this runtime.`);return e}const Ze=new TextEncoder,Qe=new TextDecoder;function $e(e){return Ze.encode(e)}function et(e){return Qe.decode(e)}function X(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function tt(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,r+n));return btoa(t)}const Z=new Ee(`FLOW_ENCRYPTION_UTILS`,Ye());function nt(){let e=J();if(!e||typeof e.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 Z.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 Z.error(`Browser environment detected:`,e),e}let t=globalThis.process?.versions?.node;if(t){let e=t.split(`.`).map(Number),n=e[0]??0,r=e[1]??0;if(n<10||n===10&&r<12){let e=Error(`Node.js version ${t} is not supported. Please upgrade to Node.js 10.12.0 or higher.`);throw Z.error(`Node.js version check failed:`,e),e}}return e}function rt(e){Z.info(`[generateEncryption] Starting key pair generation`);let t=nt(),n=e||Je(`FLOW_API_PASSPHRASE`);if(!n||n.trim().length===0){let e=Error(`Passphrase is empty. Please provide a passphrase as parameter or set FLOW_API_PASSPHRASE environment variable.`);throw Z.error(`[generateEncryption] Passphrase validation failed:`,e),e}n.length<8&&Z.warn(`[generateEncryption] Passphrase is shorter than 8 characters. Consider using a longer passphrase for better security.`);try{Z.info(`[generateEncryption] Generating 2048-bit RSA key pair`);let e=t.generateKeyPairSync(`rsa`,{modulusLength:2048,publicKeyEncoding:{type:`spki`,format:`pem`},privateKeyEncoding:{type:`pkcs8`,format:`pem`,cipher:`aes-256-cbc`,passphrase:n}});return Z.info(`[generateEncryption] Key pair generated successfully`),{passphrase:n,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 Z.error(`[generateEncryption] Key generation failed:`,n),n}}function it(e,t){Z.info(`[decryptFlowRequest] Starting Flow request decryption`);let n=Xe(`decryptFlowRequest`);if(!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 Z.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 Z.error(`[decryptFlowRequest] Configuration error:`,e),e}Z.info(`[decryptFlowRequest] Configuration validated`);let{encrypted_aes_key:r,encrypted_flow_data:i,initial_vector:a}=e;if(!r||!i||!a)throw Z.error(`[decryptFlowRequest] Missing required encryption properties in request body`),Error(`Missing required encryption properties`);Z.info(`[decryptFlowRequest] Request body validated`);let o=t.FLOW_API_PRIVATE_PEM;o.includes(`\\n`)&&(o=o.replace(/\\n/g,`
|
|
3
9
|
`));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-----`);Z.info(`[decryptFlowRequest] Loading private key`,{format:l?`PKCS#8`:c?`PKCS#1`:`Unknown`});let u;try{u=s?n.createPrivateKey({key:o,format:`pem`,passphrase:s}):n.createPrivateKey(o),Z.info(`[decryptFlowRequest] Private key loaded successfully`)}catch(e){if(Z.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{Z.info(`[decryptFlowRequest] Attempting to convert PKCS#1 to PKCS#8 format`);let e=n.createPrivateKey({key:o,format:`pem`,passphrase:s}).export({type:`pkcs8`,format:`pem`,cipher:`aes-256-cbc`,passphrase:s});u=n.createPrivateKey({key:e,format:`pem`,passphrase:s}),Z.info(`[decryptFlowRequest] Successfully converted PKCS#1 to PKCS#8 and loaded private key`)}catch(t){Z.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
10
|
|
|
5
11
|
Your key is in PKCS#1 format with unsupported encryption (DES-EDE3-CBC).`,n+=`
|
|
@@ -10,7 +16,7 @@ Your key is in PKCS#1 format (-----BEGIN RSA PRIVATE KEY-----).`,t+=`
|
|
|
10
16
|
Please convert it to PKCS#8 format using:`,t+=`
|
|
11
17
|
openssl pkcs8 -topk8 -inform PEM -outform PEM -in old_key.pem -out new_key.pem`):l||(t+=`
|
|
12
18
|
|
|
13
|
-
Your key format is not recognized. Please ensure it is in PKCS#8 format.`),Error(t)}}let d;try{Z.info(`[decryptFlowRequest] Decrypting AES key with RSA private key`),d=n.privateDecrypt({key:u,padding:n.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:`sha256`},Buffer.from(r,`base64`)),Z.info(`[decryptFlowRequest] AES key decrypted successfully`)}catch(e){throw Z.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),ee=f.subarray(-16);Z.info(`[decryptFlowRequest] Decrypting flow data with AES-128-GCM`);let h=n.createDecipheriv(`aes-128-gcm`,d,p);h.setAuthTag(ee);let te=Buffer.concat([h.update(m),h.final()]).toString(`utf-8`);return Z.info(`[decryptFlowRequest] Flow request decrypted successfully`),{decryptedBody:JSON.parse(te),aesKeyBuffer:d,initialVectorBuffer:p}}function
|
|
14
|
-
openssl pkcs8 -topk8 -nocrypt -in private.pem -out private-pkcs8.pem`);try{let n=i.createPrivateKey({key:e,format:`pem`,passphrase:t||void 0}).export({type:`pkcs8`,format:`der`});return new Uint8Array(n)}catch(e){throw Error(`Failed to parse private key. Error: ${e instanceof Error?e.message:e}`)}}function
|
|
15
|
-
`));let o=Y(),s=await
|
|
19
|
+
Your key format is not recognized. Please ensure it is in PKCS#8 format.`),Error(t)}}let d;try{Z.info(`[decryptFlowRequest] Decrypting AES key with RSA private key`),d=n.privateDecrypt({key:u,padding:n.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:`sha256`},Buffer.from(r,`base64`)),Z.info(`[decryptFlowRequest] AES key decrypted successfully`)}catch(e){throw Z.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),ee=f.subarray(-16);Z.info(`[decryptFlowRequest] Decrypting flow data with AES-128-GCM`);let h=n.createDecipheriv(`aes-128-gcm`,d,p);h.setAuthTag(ee);let te=Buffer.concat([h.update(m),h.final()]).toString(`utf-8`);return Z.info(`[decryptFlowRequest] Flow request decrypted successfully`),{decryptedBody:JSON.parse(te),aesKeyBuffer:d,initialVectorBuffer:p}}function at(e,t,n){Z.info(`[encryptFlowResponse] Starting Flow response encryption`);let r=Xe(`encryptFlowResponse`),i=[];for(let e of Array.from(n.entries()))i.push(~e[1]);try{Z.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 Z.info(`[encryptFlowResponse] Flow response encrypted successfully`),a}catch(e){throw Z.error(`[encryptFlowResponse] Response encryption failed:`,e),Error(`Failed to encrypt response. Internal server error.`)}}const ot=/-----BEGIN ([A-Z ]+)-----([\s\S]*?)-----END \1-----/;let Q;function st(e,t){let n=ot.exec(e);if(!n)throw Error(`Failed to parse private key. Expected a PEM encoded PKCS#8 private key.`);let r=n[1];if(r===`PRIVATE KEY`)return X((n[2]??``).replace(/\s+/g,``));let i=J();if(!i)throw Error(`Failed to parse private key. "${r}" keys need node:crypto, which this runtime lacks. Convert the key to an unencrypted PKCS#8 key and keep it in a secret store:
|
|
20
|
+
openssl pkcs8 -topk8 -nocrypt -in private.pem -out private-pkcs8.pem`);try{let n=i.createPrivateKey({key:e,format:`pem`,passphrase:t||void 0}).export({type:`pkcs8`,format:`der`});return new Uint8Array(n)}catch(e){throw Error(`Failed to parse private key. Error: ${e instanceof Error?e.message:e}`)}}function ct(e,t){if(Q&&Q.pem===e&&Q.passphrase===t)return Q.key;let n=(async()=>Y().importKey(`pkcs8`,st(e,t),{name:`RSA-OAEP`,hash:`SHA-256`},!1,[`decrypt`]))();return Q={pem:e,passphrase:t,key:n},n.catch(()=>{Q?.key===n&&(Q=void 0)}),n}async function lt(e,t){if(!t.FLOW_API_PRIVATE_PEM||t.FLOW_API_PRIVATE_PEM.trim()===``)throw Error(`Missing FLOW_API_PRIVATE_PEM. Please set the FLOW_API_PRIVATE_PEM environment variable or pass privatePem via config.`);let{encrypted_aes_key:n,encrypted_flow_data:r,initial_vector:i}=e??{};if(!n||!r||!i)throw Error(`Missing required encryption properties`);let a=t.FLOW_API_PRIVATE_PEM;a.includes(`\\n`)&&(a=a.replace(/\\n/g,`
|
|
21
|
+
`));let o=Y(),s=await ct(a,t.FLOW_API_PASSPHRASE||``),c;try{c=new Uint8Array(await o.decrypt({name:`RSA-OAEP`},s,X(n)))}catch(e){throw Z.error(`[decryptFlowRequestAsync] Failed to decrypt AES key:`,e),Error(`Failed to decrypt the request. Please verify your private key.`)}let l=X(i),u=await o.importKey(`raw`,c,{name:`AES-GCM`},!1,[`decrypt`]),d=await o.decrypt({name:`AES-GCM`,iv:l,tagLength:128},u,X(r));return{decryptedBody:JSON.parse(et(new Uint8Array(d))),aesKeyBuffer:c,initialVectorBuffer:l}}async function ut(e,t,n){let r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=~(n[e]??0)&255;try{let n=Y(),i=await n.importKey(`raw`,new Uint8Array(t),{name:`AES-GCM`},!1,[`encrypt`]),a=await n.encrypt({name:`AES-GCM`,iv:r,tagLength:128},i,$e(JSON.stringify(e||{})));return tt(new Uint8Array(a))}catch(e){throw Z.error(`[encryptFlowResponseAsync] Response encryption failed:`,e),Error(`Failed to encrypt response. Internal server error.`)}}function dt(e){return typeof e==`object`&&!!e}function $(e){return typeof e==`string`}const ft=[`data_exchange`,`INIT`,`BACK`],pt=[`data_exchange`,`INIT`];function mt(e){if(!(`flow_token`in e&&$(e.flow_token)&&`action`in e))return!1;let{action:t,version:n,screen:r,data:i}=e,a=n===`3.0`,o=ft.includes(t),s=r===void 0||$(r)&&r!==`SUCCESS`,c=t===`data_exchange`||dt(i);return a&&o&&s&&c}function ht(e){if(!(`flow_token`in e&&$(e.flow_token)&&`action`in e))return!1;let{action:t,screen:n,data:r}=e,i=pt.includes(t),a=$(n),o=dt(r)&&`error_key`in r&&$(r.error)&&`error_message`in r&&$(r.error_message);return i&&a&&o}function gt(e){return`action`in e&&e.action===`ping`}export{a as AUTHORIZATION_ERROR_CODES,u as BLOCK_USER_ERROR_CODES,d as CALLING_ERROR_CODES,P as CUSTOMER_SERVICE_WINDOW_MS,l as FLOW_ERROR_CODES,F as FREE_ENTRY_POINT_WINDOW_MS,f as GROUP_ERROR_CODES,s as INTEGRITY_ERROR_CODES,Ee as Logger,Ce as MAX_FREE_ENTRY_POINT_WINDOW_MS,c as SEND_MESSAGE_ERROR_CODES,o as THROTTLING_ERROR_CODES,r as WHATSAPP_ERROR_CODES,S as WhatsAppApiError,C as WhatsAppAuthorizationError,O as WhatsAppBlockUserError,k as WhatsAppCallingError,x as WhatsAppError,D as WhatsAppFlowError,A as WhatsAppGroupError,T as WhatsAppIntegrityError,de as WhatsAppNetworkError,E as WhatsAppSendMessageError,w as WhatsAppThrottlingError,fe as WhatsAppUnknownError,j as WhatsAppValidationError,ze as bold,t as buildFieldsQueryString,Ge as bulletList,we as canSendFreeformMessage,H as compareMessageStatus,ue as createWhatsAppApiError,it as decryptFlowRequest,lt as decryptFlowRequestAsync,at as encryptFlowResponse,ut as encryptFlowResponseAsync,n as formatConfigTable,rt as generateEncryption,V as getCustomerServiceWindow,Te as getFreeEntryPointWindow,He as inlineCode,g as isApiPermissionErrorCode,oe as isAuthorizationErrorCode,v as isBlockUserErrorCode,y as isCallingErrorCode,mt as isFlowDataExchangeRequest,_ as isFlowErrorCode,ht as isFlowErrorRequest,gt as isFlowPingRequest,b as isGroupErrorCode,ce as isIntegrityErrorCode,Ae as isMessageStatusAdvance,M as isMetaError,le as isSendMessageErrorCode,se as isThrottlingErrorCode,pe as isWhatsAppApiErrorResponse,me as isWhatsAppAuthorizationError,ye as isWhatsAppBlockUserError,be as isWhatsAppCallingError,ae as isWhatsAppErrorCode,ve as isWhatsAppFlowError,xe as isWhatsAppGroupError,ge as isWhatsAppIntegrityError,_e as isWhatsAppSendMessageError,he as isWhatsAppThrottlingError,Be as italic,Ue as monospace,Se as normalizeMetaError,Ke as numberedList,Me as objectToQueryString,Re as parseRateLimitHeaders,Le as parseRetryAfter,We as quote,je as resolveMessageStatus,Ve as strikethrough};
|
|
16
22
|
//# sourceMappingURL=index.js.map
|