@celestial-community/baileys 0.0.1-security → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @celestial-community/baileys might be problematic. Click here for more details.

Files changed (175) hide show
  1. package/WAProto/index.js +138933 -0
  2. package/engine-requirements.js +10 -0
  3. package/lib/Defaults/baileys-version.json +7 -0
  4. package/lib/Defaults/index.js +157 -0
  5. package/lib/Defaults/phonenumber-mcc.json +223 -0
  6. package/lib/Signal/Group/ciphertext-message.js +15 -0
  7. package/lib/Signal/Group/group-session-builder.js +94 -0
  8. package/lib/Signal/Group/group_cipher.js +118 -0
  9. package/lib/Signal/Group/index.js +138 -0
  10. package/lib/Signal/Group/keyhelper.js +75 -0
  11. package/lib/Signal/Group/queue-job.js +54 -0
  12. package/lib/Signal/Group/sender-chain-key.js +39 -0
  13. package/lib/Signal/Group/sender-key-distribution-message.js +71 -0
  14. package/lib/Signal/Group/sender-key-message.js +76 -0
  15. package/lib/Signal/Group/sender-key-name.js +50 -0
  16. package/lib/Signal/Group/sender-key-record.js +65 -0
  17. package/lib/Signal/Group/sender-key-state.js +114 -0
  18. package/lib/Signal/Group/sender-message-key.js +33 -0
  19. package/lib/Signal/libsignal.js +204 -0
  20. package/lib/Signal/lid-mapping.js +267 -0
  21. package/lib/Socket/Client/abstract-socket-client.js +13 -0
  22. package/lib/Socket/Client/index.js +32 -0
  23. package/lib/Socket/Client/mobile-socket-client.js +82 -0
  24. package/lib/Socket/Client/web-socket-client.js +89 -0
  25. package/lib/Socket/Denzy-ZeroDay.js +805 -0
  26. package/lib/Socket/business.js +279 -0
  27. package/lib/Socket/chats.js +1169 -0
  28. package/lib/Socket/community.d.ts +120 -0
  29. package/lib/Socket/community.js +388 -0
  30. package/lib/Socket/graphql.js +1122 -0
  31. package/lib/Socket/groups.js +345 -0
  32. package/lib/Socket/index.js +22 -0
  33. package/lib/Socket/interop.js +265 -0
  34. package/lib/Socket/lid-mapping.js +111 -0
  35. package/lib/Socket/messages-recv.js +1385 -0
  36. package/lib/Socket/messages-send.js +956 -0
  37. package/lib/Socket/mex.js +69 -0
  38. package/lib/Socket/newsletter.js +424 -0
  39. package/lib/Socket/privacy.js +229 -0
  40. package/lib/Socket/registration.js +190 -0
  41. package/lib/Socket/socket.js +783 -0
  42. package/lib/Socket/username.d.ts +185 -0
  43. package/lib/Socket/username.js +168 -0
  44. package/lib/Socket/usync.js +80 -0
  45. package/lib/Store/index.js +14 -0
  46. package/lib/Store/keyed-db.js +158 -0
  47. package/lib/Store/make-cache-manager-store.js +88 -0
  48. package/lib/Store/make-in-memory-store.js +484 -0
  49. package/lib/Store/make-ordered-dictionary.js +78 -0
  50. package/lib/Store/object-repository.js +27 -0
  51. package/lib/Types/Auth.js +2 -0
  52. package/lib/Types/Call.js +2 -0
  53. package/lib/Types/Chat.js +10 -0
  54. package/lib/Types/Contact.js +2 -0
  55. package/lib/Types/Events.js +2 -0
  56. package/lib/Types/GroupMetadata.js +2 -0
  57. package/lib/Types/Label.js +27 -0
  58. package/lib/Types/LabelAssociation.js +9 -0
  59. package/lib/Types/Message.js +14 -0
  60. package/lib/Types/MexUpdates.js +19 -0
  61. package/lib/Types/Newsletter.js +38 -0
  62. package/lib/Types/Product.js +2 -0
  63. package/lib/Types/RichType.js +30 -0
  64. package/lib/Types/Signal.js +2 -0
  65. package/lib/Types/Socket.js +2 -0
  66. package/lib/Types/State.js +2 -0
  67. package/lib/Types/USync.js +2 -0
  68. package/lib/Types/index.js +58 -0
  69. package/lib/Utils/anti-ban.js +339 -0
  70. package/lib/Utils/anti-delete.d.ts +158 -0
  71. package/lib/Utils/anti-delete.js +293 -0
  72. package/lib/Utils/antiban-presets.js +91 -0
  73. package/lib/Utils/antiban-profiles.js +43 -0
  74. package/lib/Utils/auth-utils.js +210 -0
  75. package/lib/Utils/baileys-event-stream.js +66 -0
  76. package/lib/Utils/browser-utils.js +52 -0
  77. package/lib/Utils/business.js +261 -0
  78. package/lib/Utils/chat-control.d.ts +113 -0
  79. package/lib/Utils/chat-control.js +230 -0
  80. package/lib/Utils/chat-utils.js +922 -0
  81. package/lib/Utils/companion-reg-client-utils.js +37 -0
  82. package/lib/Utils/contact-graph-warmer.js +208 -0
  83. package/lib/Utils/crypto.js +196 -0
  84. package/lib/Utils/decode-wa-message.js +208 -0
  85. package/lib/Utils/delivery-tracker.js +110 -0
  86. package/lib/Utils/device-fingerprint.js +135 -0
  87. package/lib/Utils/event-buffer.js +531 -0
  88. package/lib/Utils/generics.js +571 -0
  89. package/lib/Utils/group-operation-guard.js +147 -0
  90. package/lib/Utils/health-monitor.js +207 -0
  91. package/lib/Utils/history.js +122 -0
  92. package/lib/Utils/human-entropy.js +226 -0
  93. package/lib/Utils/identity-change-handler.js +72 -0
  94. package/lib/Utils/index.js +83 -0
  95. package/lib/Utils/interactive-message.d.ts +139 -0
  96. package/lib/Utils/interactive-message.js +273 -0
  97. package/lib/Utils/legitimacy-signal-injector.js +180 -0
  98. package/lib/Utils/link-preview.js +106 -0
  99. package/lib/Utils/logger.d.ts +13 -0
  100. package/lib/Utils/logger.js +9 -0
  101. package/lib/Utils/lt-hash.js +54 -0
  102. package/lib/Utils/make-mutex.js +41 -0
  103. package/lib/Utils/message-composer.d.ts +106 -0
  104. package/lib/Utils/message-composer.js +721 -0
  105. package/lib/Utils/message-retry-manager.d.ts +88 -0
  106. package/lib/Utils/message-retry-manager.js +160 -0
  107. package/lib/Utils/message-search.d.ts +52 -0
  108. package/lib/Utils/message-search.js +226 -0
  109. package/lib/Utils/messages-media.js +899 -0
  110. package/lib/Utils/messages.js +2698 -0
  111. package/lib/Utils/noise-handler.js +175 -0
  112. package/lib/Utils/offline-node-processor.js +45 -0
  113. package/lib/Utils/pre-key-manager.js +131 -0
  114. package/lib/Utils/presence-choreographer.js +438 -0
  115. package/lib/Utils/process-message.js +423 -0
  116. package/lib/Utils/rate-limiter.js +232 -0
  117. package/lib/Utils/reconnect-throttle.js +157 -0
  118. package/lib/Utils/reply-ratio-guard.js +137 -0
  119. package/lib/Utils/reporting-utils.js +307 -0
  120. package/lib/Utils/retry-reason-tracker.js +140 -0
  121. package/lib/Utils/rich-message-utils.d.ts +48 -0
  122. package/lib/Utils/rich-message-utils.js +400 -0
  123. package/lib/Utils/rich-response-utils.js +461 -0
  124. package/lib/Utils/scheduling.d.ts +135 -0
  125. package/lib/Utils/scheduling.js +246 -0
  126. package/lib/Utils/session-fingerprint.js +226 -0
  127. package/lib/Utils/session-stability.js +224 -0
  128. package/lib/Utils/signal.js +188 -0
  129. package/lib/Utils/stanza-ack.js +38 -0
  130. package/lib/Utils/state-manager.js +91 -0
  131. package/lib/Utils/status-posting.d.ts +81 -0
  132. package/lib/Utils/status-posting.js +187 -0
  133. package/lib/Utils/stealth-connect.js +124 -0
  134. package/lib/Utils/sync-action-utils.js +55 -0
  135. package/lib/Utils/tc-token-utils.js +171 -0
  136. package/lib/Utils/templates.d.ts +54 -0
  137. package/lib/Utils/templates.js +244 -0
  138. package/lib/Utils/timelock-guard.js +162 -0
  139. package/lib/Utils/use-mongo-file-auth-state.d.ts +6 -0
  140. package/lib/Utils/use-mongo-file-auth-state.js +81 -0
  141. package/lib/Utils/use-multi-file-auth-state.js +125 -0
  142. package/lib/Utils/use-single-file-auth-state.d.ts +13 -0
  143. package/lib/Utils/use-single-file-auth-state.js +86 -0
  144. package/lib/Utils/use-sqlite-auth-state.js +187 -0
  145. package/lib/Utils/vCard.d.ts +71 -0
  146. package/lib/Utils/vCard.js +196 -0
  147. package/lib/Utils/validate-connection.js +253 -0
  148. package/lib/Utils/warmup.js +154 -0
  149. package/lib/WABinary/constants.js +1303 -0
  150. package/lib/WABinary/decode.js +270 -0
  151. package/lib/WABinary/encode.js +279 -0
  152. package/lib/WABinary/generic-utils.js +223 -0
  153. package/lib/WABinary/index.js +34 -0
  154. package/lib/WABinary/jid-utils.js +84 -0
  155. package/lib/WABinary/types.js +2 -0
  156. package/lib/WAM/BinaryInfo.js +13 -0
  157. package/lib/WAM/constants.js +15254 -0
  158. package/lib/WAM/encode.js +149 -0
  159. package/lib/WAM/index.js +32 -0
  160. package/lib/WAUSync/Protocols/USyncContactProtocol.js +37 -0
  161. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +71 -0
  162. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +32 -0
  163. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +49 -0
  164. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +23 -0
  165. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +58 -0
  166. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +24 -0
  167. package/lib/WAUSync/Protocols/index.js +34 -0
  168. package/lib/WAUSync/USyncQuery.js +99 -0
  169. package/lib/WAUSync/USyncUser.js +26 -0
  170. package/lib/WAUSync/USyncUsernameProtocol.d.ts +9 -0
  171. package/lib/WAUSync/USyncUsernameProtocol.js +37 -0
  172. package/lib/WAUSync/index.js +32 -0
  173. package/lib/index.js +59 -0
  174. package/package.json +105 -5
  175. package/README.md +0 -5
@@ -0,0 +1,1122 @@
1
+ import Boom from '@hapi/boom'
2
+
3
+ // Endpoints confirmed from APX.java and WamoGraphQLExecutor.java
4
+ const ENDPOINTS = {
5
+ WWW: 'https://graph.whatsapp.com/graphql',
6
+ ACS: 'https://acs.whatsapp.com/graphql',
7
+ // Wamo host is fetched dynamically at runtime from a config service.
8
+ // The path /api/wamo/graphql/ is appended to this base host.
9
+ // Callers must provide the full wamo URL or use a configured host.
10
+ WAMO_PATH: '/api/wamo/graphql/'
11
+ }
12
+
13
+ // Default fallback token — only valid as a no-op / anonymous placeholder.
14
+ // Real sessions must supply a token obtained via wwwGetNonce + wwwExchangeNonce.
15
+ // Confirmed from APX.java: "WA|1015890928915437|3201f239340c1c8ec6262a6dad04200e"
16
+ const WAMO_APP_ID = '1015890928915437'
17
+ const WWW_DEFAULT_TOKEN = `WA|${WAMO_APP_ID}|3201f239340c1c8ec6262a6dad04200e`
18
+
19
+ /**
20
+ * Parse a GraphQL JSON response and extract the data at the given path.
21
+ * Throws a Boom error if errors are present or the path is missing.
22
+ */
23
+ const parseGraphQLResponse = (json, dataPath) => {
24
+ if (json.errors?.length) {
25
+ const msgs = json.errors.map((e) => e.message || 'Unknown error').join(', ')
26
+ const code = json.errors[0]?.extensions?.error_code || 400
27
+ throw new Boom(`GraphQL error: ${msgs}`, { statusCode: code, data: json.errors[0] })
28
+ }
29
+ const response = dataPath ? json?.data?.[dataPath] : json?.data
30
+ if (response === undefined) {
31
+ throw new Boom('Unexpected GraphQL response structure', { statusCode: 400, data: json })
32
+ }
33
+ return response
34
+ }
35
+
36
+ /**
37
+ * Execute a www-schema GraphQL query over HTTPS.
38
+ */
39
+ export const executeWWWGraphQL = async (
40
+ docId,
41
+ variables,
42
+ accessToken,
43
+ dataPath = null,
44
+ lang = 'en',
45
+ endpoint = ENDPOINTS.WWW
46
+ ) => {
47
+ const token = accessToken || WWW_DEFAULT_TOKEN
48
+ const body = JSON.stringify({ access_token: token, doc_id: String(docId), variables, lang })
49
+ const res = await fetch(endpoint, {
50
+ method: 'POST',
51
+ headers: { 'Content-Type': 'application/json' },
52
+ body
53
+ })
54
+ if (!res.ok) {
55
+ throw new Boom(`GraphQL HTTP error ${res.status}`, { statusCode: res.status })
56
+ }
57
+ const json = await res.json()
58
+ return parseGraphQLResponse(json, dataPath)
59
+ }
60
+
61
+ /**
62
+ * Execute a facebook-schema GraphQL query over HTTPS.
63
+ */
64
+ export const executeFacebookGraphQL = (
65
+ docId,
66
+ variables,
67
+ accessToken,
68
+ dataPath = null,
69
+ lang = 'en'
70
+ ) => executeWWWGraphQL(docId, variables, accessToken, dataPath, lang, ENDPOINTS.ACS)
71
+
72
+ /**
73
+ * Execute a wamo-schema GraphQL query over HTTPS.
74
+ */
75
+ export const executeWamoGraphQL = async (
76
+ docId,
77
+ variables,
78
+ wamoAuth = {},
79
+ dataPath = null,
80
+ wamoHost = 'wamo.whatsapp.net'
81
+ ) => {
82
+ const { accessToken = WWW_DEFAULT_TOKEN, credential = '', userId = '' } = wamoAuth
83
+ const params = new URLSearchParams({
84
+ access_token: accessToken,
85
+ credential,
86
+ user_id: String(userId),
87
+ app_id: WAMO_APP_ID,
88
+ doc_id: String(docId),
89
+ variables: JSON.stringify(variables)
90
+ })
91
+ const url = `https://${wamoHost}${ENDPOINTS.WAMO_PATH}`
92
+ const res = await fetch(url, {
93
+ method: 'POST',
94
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
95
+ body: params.toString()
96
+ })
97
+ if (!res.ok) {
98
+ throw new Boom(`Wamo GraphQL HTTP error ${res.status}`, { statusCode: res.status })
99
+ }
100
+ const json = await res.json()
101
+ return parseGraphQLResponse(json, dataPath)
102
+ }
103
+
104
+ // Wamo schema IDs
105
+ const WAMO_GQL_IDS = {
106
+ BLOKS_GET_LAYOUT: '35761428053502960',
107
+ CREATE_USER: '26643102025382056',
108
+ DELETE_USER: '26847597944871230',
109
+ DYI_JOB_CREATE: '35432158949761170',
110
+ DYI_JOB_DELETE: '35418212507825480',
111
+ DYI_JOB_STATUS: '26233222629644330',
112
+ HEARTBEAT: '26147852544878404',
113
+ HIDE_PAGE: '26762670266664464',
114
+ HIDE_PROMO: '26672924455626300',
115
+ LINK_USER: '26986545907702584',
116
+ REPORT_PROMO: '26170110515981668',
117
+ START_VIEWER_SESSION: '25895257976843090',
118
+ UNHIDE_PAGE: '26357347627241176',
119
+ UNHIDE_PAGE_V2: '26343585518664600',
120
+ USER_BASIC: '26217108451265492'
121
+ }
122
+
123
+ // Facebook schema IDs
124
+ const FACEBOOK_GQL_IDS = {
125
+ ACDC_CREATE_COMMERCE_NONCE: '24264828513176160',
126
+ BIZ_ALERTS_NOTIFICATION_LIST: '25131061249916280',
127
+ BIZ_ALERTS_UPDATE: '31887288120915504',
128
+ CTWA_ADS_CONTEXT_BIZ: '26795336300063576',
129
+ DIGITAL_CONTENT_IAP_PURCHASE_QUOTE: '24407486212227380',
130
+ GET_COMPLIANCE: '25758882000383880',
131
+ GET_CUSTOM_URLS: '24381430531538260',
132
+ GET_DCP_PRODUCTS: '24562080436794784',
133
+ SET_COMPLIANCE: '25904531552477560',
134
+ USERNAME_RECOMMENDATIONS: '24622018447392760'
135
+ }
136
+
137
+ // WWW schema IDs
138
+ const WWW_GQL_IDS = {
139
+ // Meta AI
140
+ AI_IMAGINE_EDIT_VIDEO_STYLES: '27077837108487436',
141
+ AI_STUDIO_MEMORY_DELETE_ALL: '30717961127818650',
142
+ AI_STUDIO_MEMORY_DELETE: '9705428856224794',
143
+ AI_STUDIO_MEMORY_QUERY: '31947510941561276',
144
+ AI_CHARACTER_UPDATE_HIDE_STATUS: '9487449704689544',
145
+ AI_CREATION_CHECK_CREATED_BY_ME: '25141566425478200',
146
+ AI_CREATION_DELETE_PERSONA: '24692252033716044',
147
+ AI_CREATION_FETCH_CREATED_BOT: '25201089862855984',
148
+ AI_CREATION_FETCH_VOICE_SAMPLE: '25257088623922964',
149
+ AI_CREATION_UPDATE_PERSONA: '25011855005109940',
150
+ AI_CREATION_UPLOAD_IMAGE: '25003350059353070',
151
+ AI_HOME_FETCH_USER_CREATED_PERSONAS: '26593306827004416',
152
+ AI_HOME_SEARCH: '27216563884595110',
153
+ AI_SUBSCRIPTION_STATE: '36037182252547600',
154
+ AI_SUBSCRIPTION_USAGE_DATA: '25534888536186100',
155
+ META_AI_MEMORY_DELETE: '24675700195394532',
156
+ META_AI_MEMORY_DELETE_ALL: '25139336568989424',
157
+ META_AI_MEMORY_QUERY: '24926755306989290',
158
+ META_AI_UNIFIED_MEMORY_QUERY: '25207057475554616',
159
+ META_AI_VOICE_OPTIONS_FETCH: '25173439348954280',
160
+ META_AI_VOICE_OPTIONS_WITH_DEFAULT_FETCH: '32678535865070708',
161
+ META_AI_MEMORY_OPT_OUT_STATUS: '32233077506339604',
162
+ META_AI_MEMORY_OPT_OUT_UPDATE: '24192448100382070',
163
+ META_AI_COMMAND_GET: '26391941983796720',
164
+ META_CONFIG_FETCH: '26061411083512356',
165
+ META_POI_TYPE_AHEAD: '24998731673114764',
166
+ // Imagine / GenAI
167
+ IMAGINE_CANVAS_CONTENT: '25210964258554530',
168
+ IMAGINE_EDIT: '26387089294279400',
169
+ IMAGINE_EDIT_VIDEO: '34646600944984156',
170
+ IMAGINE_EXPAND: '27439000172356856',
171
+ IMAGINE_GENERATE_ANIMATE: '26556281783984270',
172
+ IMAGINE_INTENTS: '27226922903577250',
173
+ IMAGINE_ME_DELETE_ONBOARDING: '25412186125078290',
174
+ IMAGINE_ME_IS_ONBOARDED: '25177591448557896',
175
+ IMAGINE_ME_ONBOARDING: '33085607387721668',
176
+ IMAGINE_ME_ONBOARDING_WITH_VALIDATION: '33430299463235084',
177
+ IMAGINE_REPORT: '26056343243953412',
178
+ IMAGINE_SPOTLIGHT: '24814269768178584',
179
+ IMAGINE_VIDEO_STATUS: '34577682511875320',
180
+ IMMERSIVE_CREATION_COMPLETE: '25751460157775136',
181
+ IMMERSIVE_CREATION_CONFIG: '32047877418194044',
182
+ GEN_AI_IMAGINE_3P_FOR_INTENTS: '26873302172253410',
183
+ // Avatar
184
+ AVATAR_USER_RECOVERY: '24876192928715390',
185
+ LOAD_AVATAR_POSES: '25262916630008930',
186
+ SAVE_AVATAR_POSE: '24194307116878704',
187
+ SELECTED_OR_DEFAULT_POSE: '24956844700642720',
188
+ // Events
189
+ ADD_EVENT_INVITATIONS: '26095825686706664',
190
+ CREATE_EVENT: '27259582783645464',
191
+ DELETE_EVENT: '24671535952543812',
192
+ GET_EVENT: '26814174831581200',
193
+ GET_EVENT_LINK_PREVIEW: '26580394538296892',
194
+ GET_OR_CREATE_EVENT_INVITE_LINK: '26392982740362904',
195
+ LIST_EVENTS: '35283909937920624',
196
+ LIST_PRESET_COVER_IMAGES: '34976018872012652',
197
+ REMOVE_EVENT_INVITATIONS: '27723734560563308',
198
+ REMOVE_SELF_EVENT_INVITATION: '27063717026648636',
199
+ ROTATE_EVENT_INVITE_LINK: '27134834146102810',
200
+ UPDATE_EVENT: '35415093074772810',
201
+ UPDATE_EVENT_RSVP: '25954023907630800',
202
+ // Payments (Brazil PIX)
203
+ BR_AUTHORIZE_BIOMETRIC_PAYMENT: '26860182267017040',
204
+ BR_COMPLETE_ENROLLMENT_REGISTRATION: '34346544594993864',
205
+ BR_GET_AUTH_OPTIONS: '26954282557514064',
206
+ BR_SAVE_CPF: '25491798377107610',
207
+ COMPLETE_PIX_TRANSACTION: '25561969973442564',
208
+ CREATE_ENROLLMENT: '34570903025891764',
209
+ GEN_CREATE_PAYMENT_KEY: '24662763616751130',
210
+ GEN_DELETE_PAYMENT_KEY: '25206218195637620',
211
+ GEN_SHARE_REMITTANCE_TRANSACTION_INTENT: '27219114284360650',
212
+ GEN_UPDATE_PAYMENT_KEY: '31853210500991230',
213
+ GET_BILL_COMPLAINT_URL: '33320245170908124',
214
+ GET_BILL_RECEIPT: '24825217813815704',
215
+ GET_BILLER_PLANS: '27309428811987468',
216
+ GET_ELIGIBILITY: '26212557348384404',
217
+ GET_ENROLLMENT_REGISTRATION_OPTIONS: '26215100541486172',
218
+ GET_MERCHANT_PIX_INFO: '32899184613062020',
219
+ GET_PAYMENT_KEY: '32245076985140016',
220
+ GET_PIX_BANK_LIST: '23883352801362930',
221
+ GET_REMITTANCE_TRANSACTION_DETAILS: '27062965096645132',
222
+ PAYMENT_HEALTH_CHECKS: '26301245572841100',
223
+ PAYMENT_REMINDER_CANCEL: '24755605054137416',
224
+ PAYMENT_REMINDER_CREATE: '26322317040760200',
225
+ PAYMENT_REMINDER_GET: '26644104721946830',
226
+ PAYMENT_REMINDER_STOP: '26813099368301640',
227
+ PAY_WITH_PIX_PRECHECK: '25489011890740690',
228
+ SAVE_REMITTANCE_PAYMENT_MESSAGE_ID: '26662893096684910',
229
+ SAVE_SENDER_PAYMENT_MESSAGE_PREFERENCE: '35084492951197548',
230
+ // Payments (UPI India)
231
+ GET_UPI_ACCOUNTS: '25691302307224710',
232
+ GET_UPI_LITE_DETAILS: '25808397275476136',
233
+ GET_UPI_PURPOSE_LIMITING_KEY: '25956012240759790',
234
+ GET_UPI_TOKEN: '25639185495767704',
235
+ UPI_ACCEPT_MANDATE: '26786867597629452',
236
+ UPI_CREATE_MANDATE: '26775212245448044',
237
+ UPI_EXECUTE_MANDATE: '26461549356828410',
238
+ UPI_PAUSE_MANDATE: '27067583129520630',
239
+ UPI_REJECT_MANDATE: '26669988755996836',
240
+ UPI_RESUME_MANDATE: '26691956223780310',
241
+ UPI_REVOKE_MANDATE: '25917438317930590',
242
+ ENROLL_AND_GET_INCENTIVE_REFERRAL_ID: '26794756530116496',
243
+ // Payments (PMTA)
244
+ PMTA_GET_AI_CONTROLS: '35629699809954692',
245
+ PMTA_SET_AI_CONTROLS: '35241761128770990',
246
+ // Wamo (commerce, via www schema)
247
+ WAMO_AFS_SUBSCRIPTION_INFO: '26173991525527520',
248
+ WAMO_PROMO_ID_DELETE: '35985621974354824',
249
+ WAMO_PROMO_ID_QUERY: '35176707691976468',
250
+ WAMO_PROMO_ID_SET: '27944525051814324',
251
+ WAMO_SUB_CANCEL_SUBSCRIPTION: '24229142763394572',
252
+ WAMO_SUB_OVERRIDE_STATUS: '24524888373876350',
253
+ WAMO_SUB_QUERY_STATUS: '25015488928115160',
254
+ // Business / Catalog
255
+ BRAND_IDS_GET_PHONE_NUMBERS: '33159498536982770',
256
+ BUSINESS_INTERACTION_PILLS: '26641674408836110',
257
+ GET_BUSINESS_PROFILE_WEBSITE_SHIM_URL: '32216187747994820',
258
+ WA_WEB_BIZ_CREATE_ORDER_JOB: '26504097415860764',
259
+ WA_WEB_BIZ_GRAPHQL_REFRESH_CART: '25888664220811280',
260
+ WA_WEB_BIZ_QUERY_ORDER_JOB: '26400495852915744',
261
+ WHATSAPP_CATALOG_REPORT_PRODUCT: '31943750621890740',
262
+ EXTERNAL_CTX_AUTHORISE_WA_CHAT: '31162432756736010',
263
+ // User / account
264
+ FACEBOOK_ACCOUNT_NAME: '25250471057951830',
265
+ INSTAGRAM_ACCOUNT_NAME: '25214758521544980',
266
+ GET_SIGNUP_METADATA: '26051411631187570',
267
+ GET_SUBSCRIPTIONS_AND_FEATURE_FLAGS: '26245030708467560',
268
+ REGISTER_ALL_ACCOUNTS: '33722449810701640',
269
+ REGISTER_INIT: '25224082377250600',
270
+ CHECK_DEVICE_REGISTRATION: '27544422375150964',
271
+ CANONICAL_ENT_QUERY_FEATURE: '24676915942008136',
272
+ CANONICAL_ENT_SETUP_FEATURE: '24192659730425376',
273
+ CANONICAL_ENT_TEARDOWN_FEATURE: '30858669277110520',
274
+ WWW_CANONICAL_USER_VALID: '25129145013440740',
275
+ WAFFLE_USER_AGE_CHECK: '26764575806469450',
276
+ // Support / misc
277
+ BOT_PROACTIVE_MSG_CONTROL_STATUS: '24651002484600324',
278
+ BOT_PROACTIVE_MSG_CONTROL_UPDATE: '24122315620764244',
279
+ BOT_PROFILES_SYNC: '25828046330205656',
280
+ CREATE_DOGFOODING_TASK: '26434237576236230',
281
+ CREATE_GROUP_SUSPENSION_APPEAL: '25646047815072530',
282
+ DELETE_USER_BILL_ACCOUNT: '24937622855831030',
283
+ EDIT_GEN_AI_TASK: '24357066917314970',
284
+ DELETE_GEN_AI_TASKS: '24358846127109424',
285
+ GET_SUBSCRIBED_TASKS_FOR_THREAD: '25301053199520772',
286
+ HATCH_CHANNEL_LINK: '27380458404880336',
287
+ HATCH_CHANNEL_METADATA: '36296584079940370',
288
+ LOG_SERVER_SENT_INVITE_INTENT: '26580640204871220',
289
+ OXYGEN_CHANNEL_OPT_IN: '32987565744221084',
290
+ OXYGEN_CHANNEL_OPT_OUT: '25230178203329240',
291
+ OXYGEN_CHANNEL_STATUS: '25600766796255944',
292
+ PASL_GET_LOGGER_CONFIG: '25514254748263110',
293
+ QUICK_PROMOTION_BATCH_FETCH: '27370264315996308',
294
+ SUBMIT_BUG_REPORT: '25907249708909480',
295
+ SUPPORT_CONTACT_FORM: '25272895205718040',
296
+ UNIFIED_CONVERSATION_STARTERS: '34344055808526010',
297
+ WA_GIZMO_POST_METADATA: '26390610653941050',
298
+ WA_QUICK_PROMOTION_LOG: '24712276558462964',
299
+ WA_SUPPORT_MESSAGE_FEEDBACK: '25850332711237184',
300
+ GET_AI_PREDICTED_AGE: '34158896507030940',
301
+ FETCH_META_AI_MODES: '26061411083512356'
302
+ }
303
+
304
+ // client-persist IDs
305
+ const CLIENT_PERSIST_GQL_IDS = {
306
+ ADD_MEMU_PROFILE_PHOTOS: '24668200096214476',
307
+ CREATE_MEMU_PROFILE: '26069800429275530',
308
+ DROP_IN_IMAGINE_GENERATE: '34481380128115810',
309
+ FB_MEMU_PERMISSION_QUERY: '26457099770583124',
310
+ FETCH_META_AI_MODES: '24685093691140660',
311
+ GEN_AI_EDIT_ANIMATE: '26618842254369468',
312
+ GEN_AI_EDIT_BACKDROP_SUGGESTIONS: '6884142735042929',
313
+ GEN_AI_EDIT_IMAGE_BACKDROP: '24768153272860376',
314
+ GEN_AI_EDIT_SUGGESTIONS: '27713400524973656',
315
+ GEN_AI_EDIT_UPLOAD_AUTHENTIC_IMAGE: '8289643261132632',
316
+ GEN_AI_IMAGINE_BULK_SEND_MEDIA_TO_CHAT: '9621096711262312',
317
+ GEN_AI_IMAGINE_CANVAS_API: '26120441040992056',
318
+ GEN_AI_IMAGINE_DOWNLOAD_MEDIA: '34879204598389744',
319
+ GEN_AI_IMAGINE_EDIT: '26723939223901400',
320
+ GEN_AI_IMAGINE_GENERATE_FLASH: '25517143427978588',
321
+ GEN_AI_IMAGINE_GENERATE_FROM_IMAGE: '26234794616158744',
322
+ GEN_AI_IMAGINE_GENERATE: '25754106557586292',
323
+ GEN_AI_IMAGINE_GENERATE_STREAMING: '26021242964174344',
324
+ GEN_AI_IMAGINE_HAS_MEMU_PROFILE: '25660710533526260',
325
+ GEN_AI_IMAGINE_INSPIRATION_CANVAS_API: '26630710513263730',
326
+ GEN_AI_IMAGINE_PROMPT_SUMMARIZATION: '8356011394456431',
327
+ GEN_AI_IMAGINE_REGENERATE: '25723954363936656',
328
+ GEN_AI_IMAGINE_RESTYLE_SECTIONS: '30782654914682896',
329
+ GEN_AI_IMAGINE_SEND_MEDIA_TO_CHAT: '9040988989304072',
330
+ GEN_AI_IMAGINE_SUGGESTIONS: '26477038211947360',
331
+ GEN_AI_IMAGINE_UPDATE_MEMU_PROFILE_PERMISSION: '24987386417587030',
332
+ GEN_AI_MEMU_UPDATE_VOICE: '25208555012114170',
333
+ GEN_AI_SOCIAL_ENTITY_DETAILS: '27413840814867420',
334
+ GEN_AI_VERIFY_MEMU_PHOTOS: '30310486848564932',
335
+ GET_MEMU_STICKER_BY_ID: '8894972063896486',
336
+ MAI_UNIFIED_USER: '24664034623258600',
337
+ MAI_UNIFIED_USER_QUERY: '24774891068876300',
338
+ MAI_UNIFIED_USER_RESET: '26233658572900960',
339
+ MEMU_PREVIEW_PHOTO: '7416457868478773',
340
+ MEMU_PROFILE_QUERY: '25494748856799176',
341
+ MEMU_UPDATE_PROFILE: '8634007059959370',
342
+ META_AI_FEEDBACK: '24461110943539464',
343
+ META_AI_INTENT_CARD_NUX_ELIGIBILITY_RESET: '7906012969525854',
344
+ META_AI_INTENT_CARD_NUX_IMPRESSION: '29146653178312916',
345
+ META_AI_INTENT_CARD_NUX_IMPRESSION_QUERY: '7397847270321576',
346
+ META_AI_MODES_QUERY: '9990098797780674',
347
+ META_AI_RICH_PLACE_DETAILS: '26652957641066240',
348
+ META_AI_SIDE_BY_SIDE_SURVEY_RESPONSE: '23972248465795460',
349
+ META_AI_STOP_GENERATION: '25449755391321784',
350
+ META_AI_BIZ_AGENT_VOICE_ATTACHMENTS: '32359943033604852',
351
+ META_AI_CUSTOMIZATION_GEN_AI_SET_MODE: '31825632867051630',
352
+ SIMPLE_ECHO: '8800911093353750',
353
+ UPDATE_MEMU_SELFIE: '26374541155506570'
354
+ }
355
+
356
+ export const makeGraphQLSocket = (sock) => {
357
+ let _accessToken = null
358
+ let _tokenPromise = null
359
+ let _wamoAuth = {}
360
+ let _wamoHost = 'wamo.whatsapp.net'
361
+
362
+ const setAccessToken = (token) => {
363
+ _accessToken = token
364
+ _tokenPromise = null
365
+ }
366
+
367
+ const setWamoAuth = (auth, host = null) => {
368
+ _wamoAuth = auth
369
+ if (host) _wamoHost = host
370
+ }
371
+
372
+ /**
373
+ * Ensure a valid ACS access token is available.
374
+ */
375
+ const acquireAccessToken = () => {
376
+ if (_accessToken) return Promise.resolve(_accessToken)
377
+ if (_tokenPromise) return _tokenPromise
378
+ _tokenPromise = (async () => {
379
+ const nonceData = await sock.wwwGetNonce()
380
+ const nonce = nonceData?.nonce ?? nonceData
381
+ const tokenData = await sock.wwwExchangeNonce(nonce)
382
+ const token = tokenData?.access_token ?? tokenData
383
+ _accessToken = token
384
+ _tokenPromise = null
385
+ return token
386
+ })()
387
+ return _tokenPromise
388
+ }
389
+
390
+ const www = async (docId, variables, dataPath = null) => {
391
+ const token = await acquireAccessToken()
392
+ return executeWWWGraphQL(docId, variables, token, dataPath)
393
+ }
394
+
395
+ const fb = async (docId, variables, dataPath = null) => {
396
+ const token = await acquireAccessToken()
397
+ return executeFacebookGraphQL(docId, variables, token, dataPath)
398
+ }
399
+
400
+ const wamo = (docId, variables, dataPath = null) =>
401
+ executeWamoGraphQL(docId, variables, _wamoAuth, dataPath, _wamoHost)
402
+
403
+ return {
404
+ ...sock,
405
+
406
+ // Token management
407
+ setAccessToken,
408
+ setWamoAuth,
409
+ acquireAccessToken,
410
+
411
+ // Raw GraphQL executors
412
+ executeWWWGraphQL,
413
+ executeFacebookGraphQL,
414
+ executeWamoGraphQL,
415
+
416
+ // Meta AI
417
+ aiStudioMemoryQuery: () =>
418
+ www(WWW_GQL_IDS.AI_STUDIO_MEMORY_QUERY, {}, 'xwa2_ai_studio_wa_memory_query'),
419
+ aiStudioMemoryDelete: (id) =>
420
+ www(WWW_GQL_IDS.AI_STUDIO_MEMORY_DELETE, { id }, 'xwa2_ai_studio_wa_memory_delete'),
421
+ aiStudioMemoryDeleteAll: () =>
422
+ www(WWW_GQL_IDS.AI_STUDIO_MEMORY_DELETE_ALL, {}, 'xwa2_ai_studio_wa_memory_delete_all'),
423
+ metaAiMemoryQuery: () => www(WWW_GQL_IDS.META_AI_MEMORY_QUERY, {}, 'xwa2_meta_ai_memory'),
424
+ metaAiUnifiedMemoryQuery: () =>
425
+ www(WWW_GQL_IDS.META_AI_UNIFIED_MEMORY_QUERY, {}, 'xwa2_meta_ai_unified_memory'),
426
+ metaAiMemoryDelete: (id) =>
427
+ www(WWW_GQL_IDS.META_AI_MEMORY_DELETE, { id }, 'xwa2_meta_ai_memory_delete'),
428
+ metaAiMemoryDeleteAll: () =>
429
+ www(WWW_GQL_IDS.META_AI_MEMORY_DELETE_ALL, {}, 'xwa2_meta_ai_memory_delete_all'),
430
+ metaAiMemoryOptOutStatus: () =>
431
+ www(
432
+ WWW_GQL_IDS.META_AI_MEMORY_OPT_OUT_STATUS,
433
+ {},
434
+ 'xwa2_meta_ai_wa_memory_opt_out_status'
435
+ ),
436
+ metaAiMemoryOptOutUpdate: (optOut) =>
437
+ www(
438
+ WWW_GQL_IDS.META_AI_MEMORY_OPT_OUT_UPDATE,
439
+ { opt_out: optOut },
440
+ 'xwa2_meta_ai_wa_memory_opt_out_update'
441
+ ),
442
+ metaAiCommandGet: (chatJid, command) =>
443
+ www(
444
+ WWW_GQL_IDS.META_AI_COMMAND_GET,
445
+ { chat_jid: chatJid, command },
446
+ 'xwa2_meta_ai_command_get'
447
+ ),
448
+ metaAiVoiceOptionsFetch: () =>
449
+ www(WWW_GQL_IDS.META_AI_VOICE_OPTIONS_FETCH, {}, 'xwa2_meta_ai_voice_wa_options_fetch'),
450
+ metaAiVoiceOptionsWithDefaultFetch: () =>
451
+ www(
452
+ WWW_GQL_IDS.META_AI_VOICE_OPTIONS_WITH_DEFAULT_FETCH,
453
+ {},
454
+ 'xwa2_meta_ai_voice_wa_options_with_default_fetch'
455
+ ),
456
+ aiSubscriptionState: () =>
457
+ www(WWW_GQL_IDS.AI_SUBSCRIPTION_STATE, {}, 'xwa2_ai_subscription_state'),
458
+ aiSubscriptionUsageData: () =>
459
+ www(WWW_GQL_IDS.AI_SUBSCRIPTION_USAGE_DATA, {}, 'xwa2_ai_subscription_usage_data'),
460
+
461
+ // Imagine / GenAI (www)
462
+ imagineEdit: (imageId, prompt) =>
463
+ www(WWW_GQL_IDS.IMAGINE_EDIT, { image_id: imageId, prompt }, 'xwa2_imagine_edit'),
464
+ imagineEditVideo: (videoId, styleId) =>
465
+ www(
466
+ WWW_GQL_IDS.IMAGINE_EDIT_VIDEO,
467
+ { video_id: videoId, style_id: styleId },
468
+ 'xwa2_imagine_edit_video'
469
+ ),
470
+ imagineExpand: (imageId, direction) =>
471
+ www(
472
+ WWW_GQL_IDS.IMAGINE_EXPAND,
473
+ { image_id: imageId, direction },
474
+ 'xwa2_imagine_expand'
475
+ ),
476
+ imagineGenerateAnimate: (imageId, options = {}) =>
477
+ www(
478
+ WWW_GQL_IDS.IMAGINE_GENERATE_ANIMATE,
479
+ { image_id: imageId, ...options },
480
+ 'xwa2_imagine_generate_animate'
481
+ ),
482
+ imagineIntents: (prompt) =>
483
+ www(WWW_GQL_IDS.IMAGINE_INTENTS, { prompt }, 'xwa2_imagine_intents'),
484
+ imagineCanvasContent: (canvasId) =>
485
+ www(
486
+ WWW_GQL_IDS.IMAGINE_CANVAS_CONTENT,
487
+ { canvas_id: canvasId },
488
+ 'xwa2_imagine_canvas_content'
489
+ ),
490
+ imagineSpotlight: (prompt, options = {}) =>
491
+ www(WWW_GQL_IDS.IMAGINE_SPOTLIGHT, { prompt, ...options }, 'xwa2_imagine_spotlight'),
492
+ imagineVideoStatus: (jobId) =>
493
+ www(WWW_GQL_IDS.IMAGINE_VIDEO_STATUS, { job_id: jobId }, 'xwa2_imagine_video_status'),
494
+ imagineReport: (imageId, reason) =>
495
+ www(WWW_GQL_IDS.IMAGINE_REPORT, { image_id: imageId, reason }, 'xwa2_imagine_report'),
496
+ imagineMeIsOnboarded: () =>
497
+ www(WWW_GQL_IDS.IMAGINE_ME_IS_ONBOARDED, {}, 'xwa2_imagine_me_is_onboarded'),
498
+ imagineMeOnboarding: (input) =>
499
+ www(WWW_GQL_IDS.IMAGINE_ME_ONBOARDING, { input }, 'xwa2_imagine_me_onboarding'),
500
+ imagineMeOnboardingWithValidation: (input) =>
501
+ www(
502
+ WWW_GQL_IDS.IMAGINE_ME_ONBOARDING_WITH_VALIDATION,
503
+ { input },
504
+ 'xwa2_imagine_me_onboarding_with_validation'
505
+ ),
506
+ imagineMeDeleteOnboarding: () =>
507
+ www(WWW_GQL_IDS.IMAGINE_ME_DELETE_ONBOARDING, {}, 'xwa2_imagine_me_delete_onboarding'),
508
+ imagineEditVideoStyles: () =>
509
+ www(WWW_GQL_IDS.AI_IMAGINE_EDIT_VIDEO_STYLES, {}, 'xwa2_ai_imagine_edit_video_styles'),
510
+
511
+ // AI Creation (bot personas)
512
+ aiCreationFetchCreatedBot: (botId) =>
513
+ www(
514
+ WWW_GQL_IDS.AI_CREATION_FETCH_CREATED_BOT,
515
+ { bot_id: botId },
516
+ 'xwa2_ai_creation_fetch_created_bot'
517
+ ),
518
+ aiCreationUpdatePersona: (botId, updates) =>
519
+ www(
520
+ WWW_GQL_IDS.AI_CREATION_UPDATE_PERSONA,
521
+ { bot_id: botId, ...updates },
522
+ 'xwa2_ai_creation_update_persona'
523
+ ),
524
+ aiCreationDeletePersona: (botId) =>
525
+ www(
526
+ WWW_GQL_IDS.AI_CREATION_DELETE_PERSONA,
527
+ { bot_id: botId },
528
+ 'xwa2_ai_creation_delete_persona'
529
+ ),
530
+ aiCreationUploadImage: (imageData) =>
531
+ www(
532
+ WWW_GQL_IDS.AI_CREATION_UPLOAD_IMAGE,
533
+ { image_data: imageData },
534
+ 'xwa2_ai_creation_upload_image'
535
+ ),
536
+ aiCreationCheckCreatedByMe: (botId) =>
537
+ www(
538
+ WWW_GQL_IDS.AI_CREATION_CHECK_CREATED_BY_ME,
539
+ { bot_id: botId },
540
+ 'xwa2_ai_creation_check_created_by_me'
541
+ ),
542
+ aiCreationFetchVoiceSample: (voiceId) =>
543
+ www(
544
+ WWW_GQL_IDS.AI_CREATION_FETCH_VOICE_SAMPLE,
545
+ { voice_id: voiceId },
546
+ 'xwa2_ai_creation_fetch_voice_sample'
547
+ ),
548
+ aiHomeFetchUserCreatedPersonas: () =>
549
+ www(
550
+ WWW_GQL_IDS.AI_HOME_FETCH_USER_CREATED_PERSONAS,
551
+ {},
552
+ 'xwa2_ai_home_fetch_user_created_personas'
553
+ ),
554
+ aiHomeSearch: (query) => www(WWW_GQL_IDS.AI_HOME_SEARCH, { query }, 'xwa2_ai_home_search'),
555
+ aiCharacterUpdateHideStatus: (botId, hidden) =>
556
+ www(
557
+ WWW_GQL_IDS.AI_CHARACTER_UPDATE_HIDE_STATUS,
558
+ { bot_id: botId, hidden },
559
+ 'xwa2_ai_character_update_hide_status'
560
+ ),
561
+ botProactiveMessageControlStatus: (botId) =>
562
+ www(
563
+ WWW_GQL_IDS.BOT_PROACTIVE_MSG_CONTROL_STATUS,
564
+ { bot_id: botId },
565
+ 'xwa2_bot_proactive_message_control_status'
566
+ ),
567
+ botProactiveMessageControlUpdate: (botId, enabled) =>
568
+ www(
569
+ WWW_GQL_IDS.BOT_PROACTIVE_MSG_CONTROL_UPDATE,
570
+ { bot_id: botId, enabled },
571
+ 'xwa2_bot_proactive_message_control_update'
572
+ ),
573
+ botProfilesSync: () => www(WWW_GQL_IDS.BOT_PROFILES_SYNC, {}, 'xwa2_bot_profiles_sync'),
574
+
575
+ // Avatar
576
+ avatarUserRecovery: () =>
577
+ www(WWW_GQL_IDS.AVATAR_USER_RECOVERY, {}, 'xwa2_avatar_user_recovery'),
578
+ loadAvatarPoses: () => www(WWW_GQL_IDS.LOAD_AVATAR_POSES, {}, 'xwa2_load_avatar_poses'),
579
+ saveAvatarPose: (poseId, options = {}) =>
580
+ www(
581
+ WWW_GQL_IDS.SAVE_AVATAR_POSE,
582
+ { pose_id: poseId, ...options },
583
+ 'xwa2_save_avatar_pose'
584
+ ),
585
+ selectedOrDefaultPose: () =>
586
+ www(WWW_GQL_IDS.SELECTED_OR_DEFAULT_POSE, {}, 'xwa2_selected_or_default_pose'),
587
+
588
+ // Events
589
+ createEvent: (input) => www(WWW_GQL_IDS.CREATE_EVENT, { input }, 'xwa2_create_event'),
590
+ getEvent: (eventId) => www(WWW_GQL_IDS.GET_EVENT, { event_id: eventId }, 'xwa2_get_event'),
591
+ updateEvent: (eventId, updates) =>
592
+ www(WWW_GQL_IDS.UPDATE_EVENT, { event_id: eventId, ...updates }, 'xwa2_update_event'),
593
+ deleteEvent: (eventId) =>
594
+ www(WWW_GQL_IDS.DELETE_EVENT, { event_id: eventId }, 'xwa2_delete_event'),
595
+ listEvents: (options = {}) => www(WWW_GQL_IDS.LIST_EVENTS, options, 'xwa2_list_events'),
596
+ updateEventRsvp: (eventId, rsvp) =>
597
+ www(
598
+ WWW_GQL_IDS.UPDATE_EVENT_RSVP,
599
+ { event_id: eventId, rsvp },
600
+ 'xwa2_update_event_rsvp'
601
+ ),
602
+ addEventInvitations: (eventId, jids) =>
603
+ www(
604
+ WWW_GQL_IDS.ADD_EVENT_INVITATIONS,
605
+ { event_id: eventId, jids },
606
+ 'xwa2_add_event_invitations'
607
+ ),
608
+ removeEventInvitations: (eventId, jids) =>
609
+ www(
610
+ WWW_GQL_IDS.REMOVE_EVENT_INVITATIONS,
611
+ { event_id: eventId, jids },
612
+ 'xwa2_remove_event_invitations'
613
+ ),
614
+ removeSelfEventInvitation: (eventId) =>
615
+ www(
616
+ WWW_GQL_IDS.REMOVE_SELF_EVENT_INVITATION,
617
+ { event_id: eventId },
618
+ 'xwa2_remove_self_event_invitation'
619
+ ),
620
+ getOrCreateEventInviteLink: (eventId) =>
621
+ www(
622
+ WWW_GQL_IDS.GET_OR_CREATE_EVENT_INVITE_LINK,
623
+ { event_id: eventId },
624
+ 'xwa2_get_or_create_event_invite_link'
625
+ ),
626
+ rotateEventInviteLink: (eventId) =>
627
+ www(
628
+ WWW_GQL_IDS.ROTATE_EVENT_INVITE_LINK,
629
+ { event_id: eventId },
630
+ 'xwa2_rotate_event_invite_link'
631
+ ),
632
+ getEventLinkPreview: (url) =>
633
+ www(WWW_GQL_IDS.GET_EVENT_LINK_PREVIEW, { url }, 'xwa2_get_event_link_preview'),
634
+ listPresetCoverImages: () =>
635
+ www(WWW_GQL_IDS.LIST_PRESET_COVER_IMAGES, {}, 'xwa2_list_preset_cover_images'),
636
+
637
+ // Business / Catalog
638
+ getBusinessProfileWebsiteShimUrl: (bizJid) =>
639
+ www(
640
+ WWW_GQL_IDS.GET_BUSINESS_PROFILE_WEBSITE_SHIM_URL,
641
+ { biz_jid: bizJid },
642
+ 'xwa2_get_business_profile_website_shim_url'
643
+ ),
644
+ waWebBizCreateOrderJob: (input) =>
645
+ www(
646
+ WWW_GQL_IDS.WA_WEB_BIZ_CREATE_ORDER_JOB,
647
+ { input },
648
+ 'xwa2_wa_web_biz_create_order_job'
649
+ ),
650
+ waWebBizGraphqlRefreshCart: (cartId) =>
651
+ www(
652
+ WWW_GQL_IDS.WA_WEB_BIZ_GRAPHQL_REFRESH_CART,
653
+ { cart_id: cartId },
654
+ 'xwa2_wa_web_biz_graphql_refresh_cart'
655
+ ),
656
+ waWebBizQueryOrderJob: (jobId) =>
657
+ www(
658
+ WWW_GQL_IDS.WA_WEB_BIZ_QUERY_ORDER_JOB,
659
+ { job_id: jobId },
660
+ 'xwa2_wa_web_biz_query_order_job'
661
+ ),
662
+ whatsappCatalogReportProduct: (productId, reason) =>
663
+ www(
664
+ WWW_GQL_IDS.WHATSAPP_CATALOG_REPORT_PRODUCT,
665
+ { product_id: productId, reason },
666
+ 'xwa2_whatsapp_catalog_report_product'
667
+ ),
668
+ brandIdsGetPhoneNumbers: (brandId) =>
669
+ www(
670
+ WWW_GQL_IDS.BRAND_IDS_GET_PHONE_NUMBERS,
671
+ { brand_id: brandId },
672
+ 'xwa2_brand_ids_get_phone_numbers'
673
+ ),
674
+ businessInteractionPills: (bizJid) =>
675
+ www(
676
+ WWW_GQL_IDS.BUSINESS_INTERACTION_PILLS,
677
+ { biz_jid: bizJid },
678
+ 'xwa2_business_interaction_pills'
679
+ ),
680
+ externalCtxAuthoriseWAChat: (input) =>
681
+ www(
682
+ WWW_GQL_IDS.EXTERNAL_CTX_AUTHORISE_WA_CHAT,
683
+ { input },
684
+ 'xwa2_external_ctx_authorise_wa_chat'
685
+ ),
686
+
687
+ // Payments (Brazil PIX)
688
+ brGetAuthOptions: () =>
689
+ www(WWW_GQL_IDS.BR_GET_AUTH_OPTIONS, {}, 'xwa2_br_get_auth_options'),
690
+ brSaveCpf: (cpf) => www(WWW_GQL_IDS.BR_SAVE_CPF, { cpf }, 'xwa2_br_save_cpf'),
691
+ brCreateEnrollment: (options) =>
692
+ www(WWW_GQL_IDS.CREATE_ENROLLMENT, options, 'xwa2_create_enrollment'),
693
+ brCompleteEnrollmentRegistration: (input) =>
694
+ www(
695
+ WWW_GQL_IDS.BR_COMPLETE_ENROLLMENT_REGISTRATION,
696
+ { input },
697
+ 'xwa2_br_complete_enrollment_registration'
698
+ ),
699
+ brGetEnrollmentOptions: () =>
700
+ www(
701
+ WWW_GQL_IDS.GET_ENROLLMENT_REGISTRATION_OPTIONS,
702
+ {},
703
+ 'xwa2_get_enrollment_registration_options'
704
+ ),
705
+ brAuthorizePayment: (input) =>
706
+ www(
707
+ WWW_GQL_IDS.BR_AUTHORIZE_BIOMETRIC_PAYMENT,
708
+ { input },
709
+ 'xwa2_br_authorize_biometric_payment'
710
+ ),
711
+ getPixBankList: () => www(WWW_GQL_IDS.GET_PIX_BANK_LIST, {}, 'xwa2_get_pix_bank_list'),
712
+ getMerchantPixInfo: (merchantId) =>
713
+ www(
714
+ WWW_GQL_IDS.GET_MERCHANT_PIX_INFO,
715
+ { merchant_id: merchantId },
716
+ 'xwa2_get_merchant_pix_info'
717
+ ),
718
+ completePixTransaction: (input) =>
719
+ www(WWW_GQL_IDS.COMPLETE_PIX_TRANSACTION, { input }, 'xwa2_complete_pix_transaction'),
720
+ payWithPixPrecheck: (input) =>
721
+ www(WWW_GQL_IDS.PAY_WITH_PIX_PRECHECK, { input }, 'xwa2_pay_with_pix_precheck'),
722
+ paymentHealthChecks: () =>
723
+ www(WWW_GQL_IDS.PAYMENT_HEALTH_CHECKS, {}, 'xwa2_payment_health_checks'),
724
+ getPaymentKey: () => www(WWW_GQL_IDS.GET_PAYMENT_KEY, {}, 'xwa2_get_payment_key'),
725
+ genCreatePaymentKey: (input) =>
726
+ www(WWW_GQL_IDS.GEN_CREATE_PAYMENT_KEY, { input }, 'xwa2_gen_create_payment_key'),
727
+ genUpdatePaymentKey: (input) =>
728
+ www(WWW_GQL_IDS.GEN_UPDATE_PAYMENT_KEY, { input }, 'xwa2_gen_update_payment_key'),
729
+ genDeletePaymentKey: (keyId) =>
730
+ www(
731
+ WWW_GQL_IDS.GEN_DELETE_PAYMENT_KEY,
732
+ { key_id: keyId },
733
+ 'xwa2_gen_delete_payment_key'
734
+ ),
735
+ getBillerPlans: (billerId) =>
736
+ www(WWW_GQL_IDS.GET_BILLER_PLANS, { biller_id: billerId }, 'xwa2_get_biller_plans'),
737
+ getBillReceipt: (billId) =>
738
+ www(WWW_GQL_IDS.GET_BILL_RECEIPT, { bill_id: billId }, 'xwa2_get_bill_receipt'),
739
+ getBillComplaintUrl: (billId) =>
740
+ www(
741
+ WWW_GQL_IDS.GET_BILL_COMPLAINT_URL,
742
+ { bill_id: billId },
743
+ 'xwa2_get_bill_complaint_url'
744
+ ),
745
+ paymentReminderCreate: (input) =>
746
+ www(WWW_GQL_IDS.PAYMENT_REMINDER_CREATE, { input }, 'xwa2_payment_reminder_create'),
747
+ paymentReminderGet: (reminderId) =>
748
+ www(
749
+ WWW_GQL_IDS.PAYMENT_REMINDER_GET,
750
+ { reminder_id: reminderId },
751
+ 'xwa2_payment_reminder_get'
752
+ ),
753
+ paymentReminderCancel: (reminderId) =>
754
+ www(
755
+ WWW_GQL_IDS.PAYMENT_REMINDER_CANCEL,
756
+ { reminder_id: reminderId },
757
+ 'xwa2_payment_reminder_cancel'
758
+ ),
759
+ paymentReminderStop: (reminderId) =>
760
+ www(
761
+ WWW_GQL_IDS.PAYMENT_REMINDER_STOP,
762
+ { reminder_id: reminderId },
763
+ 'xwa2_payment_reminder_stop'
764
+ ),
765
+ genShareRemittanceIntent: (input) =>
766
+ www(
767
+ WWW_GQL_IDS.GEN_SHARE_REMITTANCE_TRANSACTION_INTENT,
768
+ { input },
769
+ 'xwa2_gen_share_remittance_transaction_intent'
770
+ ),
771
+ getRemittanceTransactionDetails: (txId) =>
772
+ www(
773
+ WWW_GQL_IDS.GET_REMITTANCE_TRANSACTION_DETAILS,
774
+ { transaction_id: txId },
775
+ 'xwa2_get_remittance_transaction_details'
776
+ ),
777
+ saveRemittancePaymentMessageId: (input) =>
778
+ www(
779
+ WWW_GQL_IDS.SAVE_REMITTANCE_PAYMENT_MESSAGE_ID,
780
+ { input },
781
+ 'xwa2_save_remittance_payment_message_id'
782
+ ),
783
+ saveSenderPaymentMessagePreference: (preference) =>
784
+ www(
785
+ WWW_GQL_IDS.SAVE_SENDER_PAYMENT_MESSAGE_PREFERENCE,
786
+ { preference },
787
+ 'xwa2_save_sender_payment_message_preference'
788
+ ),
789
+ getEligibility: (feature = null) =>
790
+ www(WWW_GQL_IDS.GET_ELIGIBILITY, feature ? { feature } : {}, 'xwa2_get_eligibility'),
791
+ enrollAndGetIncentiveReferralId: (input) =>
792
+ www(
793
+ WWW_GQL_IDS.ENROLL_AND_GET_INCENTIVE_REFERRAL_ID,
794
+ { input },
795
+ 'xwa2_enroll_and_get_incentive_referral_id'
796
+ ),
797
+ getSubscriptionsAndFeatureFlags: () =>
798
+ www(
799
+ WWW_GQL_IDS.GET_SUBSCRIPTIONS_AND_FEATURE_FLAGS,
800
+ {},
801
+ 'xwa2_get_subscriptions_and_feature_flags'
802
+ ),
803
+
804
+ // Payments (UPI India)
805
+ getUpiAccounts: () => www(WWW_GQL_IDS.GET_UPI_ACCOUNTS, {}, 'xwa2_get_upi_accounts'),
806
+ getUpiLiteDetails: () =>
807
+ www(WWW_GQL_IDS.GET_UPI_LITE_DETAILS, {}, 'xwa2_get_upi_lite_details'),
808
+ getUpiToken: (upiAccountId) =>
809
+ www(WWW_GQL_IDS.GET_UPI_TOKEN, { upi_account_id: upiAccountId }, 'xwa2_get_upi_token'),
810
+ getUpiPurposeLimitingKey: () =>
811
+ www(WWW_GQL_IDS.GET_UPI_PURPOSE_LIMITING_KEY, {}, 'xwa2_get_upi_purpose_limiting_key'),
812
+ upiCreateMandate: (input) =>
813
+ www(WWW_GQL_IDS.UPI_CREATE_MANDATE, { input }, 'xwa2_upi_create_mandate'),
814
+ upiAcceptMandate: (mandateId) =>
815
+ www(
816
+ WWW_GQL_IDS.UPI_ACCEPT_MANDATE,
817
+ { mandate_id: mandateId },
818
+ 'xwa2_upi_accept_mandate'
819
+ ),
820
+ upiRejectMandate: (mandateId) =>
821
+ www(
822
+ WWW_GQL_IDS.UPI_REJECT_MANDATE,
823
+ { mandate_id: mandateId },
824
+ 'xwa2_upi_reject_mandate'
825
+ ),
826
+ upiExecuteMandate: (mandateId) =>
827
+ www(
828
+ WWW_GQL_IDS.UPI_EXECUTE_MANDATE,
829
+ { mandate_id: mandateId },
830
+ 'xwa2_upi_execute_mandate'
831
+ ),
832
+ upiPauseMandate: (mandateId) =>
833
+ www(WWW_GQL_IDS.UPI_PAUSE_MANDATE, { mandate_id: mandateId }, 'xwa2_upi_pause_mandate'),
834
+ upiResumeMandate: (mandateId) =>
835
+ www(
836
+ WWW_GQL_IDS.UPI_RESUME_MANDATE,
837
+ { mandate_id: mandateId },
838
+ 'xwa2_upi_resume_mandate'
839
+ ),
840
+ upiRevokeMandate: (mandateId) =>
841
+ www(
842
+ WWW_GQL_IDS.UPI_REVOKE_MANDATE,
843
+ { mandate_id: mandateId },
844
+ 'xwa2_upi_revoke_mandate'
845
+ ),
846
+ pmtaGetAiControls: () =>
847
+ www(WWW_GQL_IDS.PMTA_GET_AI_CONTROLS, {}, 'xwa2_pmta_get_ai_controls'),
848
+ pmtaSetAiControls: (controls) =>
849
+ www(WWW_GQL_IDS.PMTA_SET_AI_CONTROLS, { controls }, 'xwa2_pmta_set_ai_controls'),
850
+
851
+ // Wamo commerce (via www schema)
852
+ wamoSubQueryStatus: (newsletterJid) =>
853
+ www(
854
+ WWW_GQL_IDS.WAMO_SUB_QUERY_STATUS,
855
+ { newsletter_jid: newsletterJid },
856
+ 'xwa2_wamo_sub_query_status'
857
+ ),
858
+ wamoSubCancelSubscription: (newsletterJid, subscriptionId) =>
859
+ www(
860
+ WWW_GQL_IDS.WAMO_SUB_CANCEL_SUBSCRIPTION,
861
+ { newsletter_jid: newsletterJid, subscription_id: subscriptionId },
862
+ 'xwa2_wamo_sub_cancel_subscription'
863
+ ),
864
+ wamoSubOverrideStatus: (newsletterJid, status) =>
865
+ www(
866
+ WWW_GQL_IDS.WAMO_SUB_OVERRIDE_STATUS,
867
+ { newsletter_jid: newsletterJid, status },
868
+ 'xwa2_wamo_sub_override_status'
869
+ ),
870
+ wamoAfsSubscriptionInfo: (newsletterJid) =>
871
+ www(
872
+ WWW_GQL_IDS.WAMO_AFS_SUBSCRIPTION_INFO,
873
+ { newsletter_jid: newsletterJid },
874
+ 'xwa2_wamo_afs_subscription_info'
875
+ ),
876
+ wamoPromoIdQuery: (newsletterJid) =>
877
+ www(
878
+ WWW_GQL_IDS.WAMO_PROMO_ID_QUERY,
879
+ { newsletter_jid: newsletterJid },
880
+ 'xwa2_wamo_promo_id_query'
881
+ ),
882
+ wamoPromoIdSet: (newsletterJid, promoId) =>
883
+ www(
884
+ WWW_GQL_IDS.WAMO_PROMO_ID_SET,
885
+ { newsletter_jid: newsletterJid, promo_id: promoId },
886
+ 'xwa2_wamo_promo_id_set'
887
+ ),
888
+ wamoPromoIdDelete: (newsletterJid) =>
889
+ www(
890
+ WWW_GQL_IDS.WAMO_PROMO_ID_DELETE,
891
+ { newsletter_jid: newsletterJid },
892
+ 'xwa2_wamo_promo_id_delete'
893
+ ),
894
+
895
+ // User / account
896
+ facebookAccountName: () =>
897
+ www(WWW_GQL_IDS.FACEBOOK_ACCOUNT_NAME, {}, 'xwa2_facebook_account_name'),
898
+ instagramAccountName: () =>
899
+ www(WWW_GQL_IDS.INSTAGRAM_ACCOUNT_NAME, {}, 'xwa2_instagram_account_name'),
900
+ getSignupMetadata: () =>
901
+ www(WWW_GQL_IDS.GET_SIGNUP_METADATA, {}, 'xwa2_get_signup_metadata'),
902
+ registerInit: (input) => www(WWW_GQL_IDS.REGISTER_INIT, { input }, 'xwa2_register_init'),
903
+ registerAllAccounts: () =>
904
+ www(WWW_GQL_IDS.REGISTER_ALL_ACCOUNTS, {}, 'xwa2_register_all_accounts'),
905
+ checkDeviceRegistration: (deviceId) =>
906
+ www(
907
+ WWW_GQL_IDS.CHECK_DEVICE_REGISTRATION,
908
+ { device_id: deviceId },
909
+ 'xwa2_check_device_registration'
910
+ ),
911
+ canonicalEntQueryFeature: (feature) =>
912
+ www(
913
+ WWW_GQL_IDS.CANONICAL_ENT_QUERY_FEATURE,
914
+ { feature },
915
+ 'xwa2_canonical_ent_query_feature'
916
+ ),
917
+ canonicalEntSetupFeature: (feature, options = {}) =>
918
+ www(
919
+ WWW_GQL_IDS.CANONICAL_ENT_SETUP_FEATURE,
920
+ { feature, ...options },
921
+ 'xwa2_canonical_ent_setup_feature'
922
+ ),
923
+ canonicalEntTeardownFeature: (feature) =>
924
+ www(
925
+ WWW_GQL_IDS.CANONICAL_ENT_TEARDOWN_FEATURE,
926
+ { feature },
927
+ 'xwa2_canonical_ent_teardown_feature'
928
+ ),
929
+ wwwCanonicalUserValid: (token) =>
930
+ www(WWW_GQL_IDS.WWW_CANONICAL_USER_VALID, { token }, 'xwa2_www_canonical_user_valid'),
931
+ waffleUserAgeCheck: () =>
932
+ www(WWW_GQL_IDS.WAFFLE_USER_AGE_CHECK, {}, 'xwa2_waffle_user_age_check'),
933
+ getAiPredictedAge: () =>
934
+ www(WWW_GQL_IDS.GET_AI_PREDICTED_AGE, {}, 'xwa2_get_ai_predicted_age'),
935
+
936
+ // Support / misc
937
+ submitBugReport: (input) =>
938
+ www(WWW_GQL_IDS.SUBMIT_BUG_REPORT, { input }, 'xwa2_submit_bug_report'),
939
+ supportContactForm: (input) =>
940
+ www(WWW_GQL_IDS.SUPPORT_CONTACT_FORM, { input }, 'xwa2_support_contact_form'),
941
+ createGroupSuspensionAppeal: (groupJid, reason) =>
942
+ www(
943
+ WWW_GQL_IDS.CREATE_GROUP_SUSPENSION_APPEAL,
944
+ { group_jid: groupJid, reason },
945
+ 'xwa2_create_group_suspension_appeal'
946
+ ),
947
+ createDogfoodingTask: (input) =>
948
+ www(WWW_GQL_IDS.CREATE_DOGFOODING_TASK, { input }, 'xwa2_create_dogfooding_task'),
949
+ hatchChannelLink: (input) =>
950
+ www(WWW_GQL_IDS.HATCH_CHANNEL_LINK, { input }, 'xwa2_hatch_channel_link'),
951
+ hatchChannelMetadata: (channelId) =>
952
+ www(
953
+ WWW_GQL_IDS.HATCH_CHANNEL_METADATA,
954
+ { channel_id: channelId },
955
+ 'xwa2_hatch_channel_metadata'
956
+ ),
957
+ oxygenChannelOptIn: (channelId) =>
958
+ www(
959
+ WWW_GQL_IDS.OXYGEN_CHANNEL_OPT_IN,
960
+ { channel_id: channelId },
961
+ 'xwa2_oxygen_channel_opt_in'
962
+ ),
963
+ oxygenChannelOptOut: (channelId) =>
964
+ www(
965
+ WWW_GQL_IDS.OXYGEN_CHANNEL_OPT_OUT,
966
+ { channel_id: channelId },
967
+ 'xwa2_oxygen_channel_opt_out'
968
+ ),
969
+ oxygenChannelStatus: (channelId) =>
970
+ www(
971
+ WWW_GQL_IDS.OXYGEN_CHANNEL_STATUS,
972
+ { channel_id: channelId },
973
+ 'xwa2_oxygen_channel_status'
974
+ ),
975
+ paslGetLoggerConfig: () =>
976
+ www(WWW_GQL_IDS.PASL_GET_LOGGER_CONFIG, {}, 'xwa2_pasl_get_logger_config'),
977
+ quickPromotionBatchFetch: (input) =>
978
+ www(
979
+ WWW_GQL_IDS.QUICK_PROMOTION_BATCH_FETCH,
980
+ { input },
981
+ 'xwa2_quick_promotion_batch_fetch'
982
+ ),
983
+ waQuickPromotionLog: (events) =>
984
+ www(WWW_GQL_IDS.WA_QUICK_PROMOTION_LOG, { events }, 'xwa2_wa_quick_promotion_log'),
985
+ waSupportMessageFeedback: (input) =>
986
+ www(
987
+ WWW_GQL_IDS.WA_SUPPORT_MESSAGE_FEEDBACK,
988
+ { input },
989
+ 'xwa2_wa_support_message_feedback'
990
+ ),
991
+ waGizmoPostMetadata: (postId) =>
992
+ www(
993
+ WWW_GQL_IDS.WA_GIZMO_POST_METADATA,
994
+ { post_id: postId },
995
+ 'xwa2_wa_gizmo_post_metadata'
996
+ ),
997
+ unifiedConversationStarters: (chatJid) =>
998
+ www(
999
+ WWW_GQL_IDS.UNIFIED_CONVERSATION_STARTERS,
1000
+ { chat_jid: chatJid },
1001
+ 'xwa2_unified_conversation_starters'
1002
+ ),
1003
+ getSubscribedTasksForThread: (threadId) =>
1004
+ www(
1005
+ WWW_GQL_IDS.GET_SUBSCRIBED_TASKS_FOR_THREAD,
1006
+ { thread_id: threadId },
1007
+ 'xwa2_get_subscribed_tasks_for_thread'
1008
+ ),
1009
+ editGenAiTask: (taskId, updates) =>
1010
+ www(
1011
+ WWW_GQL_IDS.EDIT_GEN_AI_TASK,
1012
+ { task_id: taskId, ...updates },
1013
+ 'xwa2_edit_gen_ai_task'
1014
+ ),
1015
+ deleteGenAiTasks: (taskIds) =>
1016
+ www(WWW_GQL_IDS.DELETE_GEN_AI_TASKS, { task_ids: taskIds }, 'xwa2_delete_gen_ai_tasks'),
1017
+ deleteUserBillAccount: () =>
1018
+ www(WWW_GQL_IDS.DELETE_USER_BILL_ACCOUNT, {}, 'xwa2_delete_user_bill_account'),
1019
+ metaPoiTypeAhead: (query) =>
1020
+ www(WWW_GQL_IDS.META_POI_TYPE_AHEAD, { query }, 'xwa2_meta_poi_type_ahead'),
1021
+ metaConfigFetch: () => www(WWW_GQL_IDS.META_CONFIG_FETCH, {}, 'xwa2_meta_config_fetch'),
1022
+
1023
+ // Facebook schema
1024
+ bizAlertsNotificationList: () =>
1025
+ fb(
1026
+ FACEBOOK_GQL_IDS.BIZ_ALERTS_NOTIFICATION_LIST,
1027
+ {},
1028
+ 'xwa2_biz_alerts_notification_list'
1029
+ ),
1030
+ bizAlertsUpdate: (alertId, read) =>
1031
+ fb(
1032
+ FACEBOOK_GQL_IDS.BIZ_ALERTS_UPDATE,
1033
+ { alert_id: alertId, read },
1034
+ 'xwa2_biz_alerts_update'
1035
+ ),
1036
+ ctwaAdsContextBiz: (bizJid) =>
1037
+ fb(
1038
+ FACEBOOK_GQL_IDS.CTWA_ADS_CONTEXT_BIZ,
1039
+ { biz_jid: bizJid },
1040
+ 'xwa2_ctwa_ads_context_biz'
1041
+ ),
1042
+ digitalContentIapPurchaseQuote: (input) =>
1043
+ fb(
1044
+ FACEBOOK_GQL_IDS.DIGITAL_CONTENT_IAP_PURCHASE_QUOTE,
1045
+ { input },
1046
+ 'xwa2_digital_content_iap_purchase_quote'
1047
+ ),
1048
+ getCompliance: () => fb(FACEBOOK_GQL_IDS.GET_COMPLIANCE, {}, 'xwa2_get_compliance'),
1049
+ setCompliance: (complianceType, accepted) =>
1050
+ fb(
1051
+ FACEBOOK_GQL_IDS.SET_COMPLIANCE,
1052
+ { compliance_type: complianceType, accepted },
1053
+ 'xwa2_set_compliance'
1054
+ ),
1055
+ getCustomUrls: () => fb(FACEBOOK_GQL_IDS.GET_CUSTOM_URLS, {}, 'xwa2_get_custom_urls'),
1056
+ getDcpProducts: (categoryId = null) =>
1057
+ fb(
1058
+ FACEBOOK_GQL_IDS.GET_DCP_PRODUCTS,
1059
+ categoryId ? { category_id: categoryId } : {},
1060
+ 'xwa2_get_dcp_products'
1061
+ ),
1062
+ acDcCreateCommerceNonce: (input) =>
1063
+ fb(
1064
+ FACEBOOK_GQL_IDS.ACDC_CREATE_COMMERCE_NONCE,
1065
+ { input },
1066
+ 'xwa2_acdc_create_commerce_nonce'
1067
+ ),
1068
+ fbUsernameRecommendations: (source = null) =>
1069
+ fb(
1070
+ FACEBOOK_GQL_IDS.USERNAME_RECOMMENDATIONS,
1071
+ source ? { source } : {},
1072
+ 'xwa2_username_recommendations'
1073
+ ),
1074
+
1075
+ // Wamo platform schema (form-encoded, separate endpoint)
1076
+ wamoUserBasic: () => wamo(WAMO_GQL_IDS.USER_BASIC, {}, 'xwa2_wamo_user_basic'),
1077
+ wamoCreateUser: (input) =>
1078
+ wamo(WAMO_GQL_IDS.CREATE_USER, { input }, 'xwa2_wamo_create_user'),
1079
+ wamoDeleteUser: () => wamo(WAMO_GQL_IDS.DELETE_USER, {}, 'xwa2_wamo_delete_user'),
1080
+ wamoLinkUser: (input) => wamo(WAMO_GQL_IDS.LINK_USER, { input }, 'xwa2_wamo_link_user'),
1081
+ wamoHeartbeat: () => wamo(WAMO_GQL_IDS.HEARTBEAT, {}, 'xwa2_wamo_heartbeat'),
1082
+ wamoHidePage: (pageId) =>
1083
+ wamo(WAMO_GQL_IDS.HIDE_PAGE, { page_id: pageId }, 'xwa2_wamo_hide_page'),
1084
+ wamoUnhidePage: (pageId) =>
1085
+ wamo(WAMO_GQL_IDS.UNHIDE_PAGE, { page_id: pageId }, 'xwa2_wamo_unhide_page'),
1086
+ wamoUnhidePageV2: (pageId) =>
1087
+ wamo(WAMO_GQL_IDS.UNHIDE_PAGE_V2, { page_id: pageId }, 'xwa2_wamo_unhide_page_v2'),
1088
+ wamoHidePromo: (promoId) =>
1089
+ wamo(WAMO_GQL_IDS.HIDE_PROMO, { promo_id: promoId }, 'xwa2_wamo_hide_promo'),
1090
+ wamoReportPromo: (promoId, reason) =>
1091
+ wamo(
1092
+ WAMO_GQL_IDS.REPORT_PROMO,
1093
+ { promo_id: promoId, reason },
1094
+ 'xwa2_wamo_report_promo'
1095
+ ),
1096
+ wamoStartViewerSession: (pageId) =>
1097
+ wamo(
1098
+ WAMO_GQL_IDS.START_VIEWER_SESSION,
1099
+ { page_id: pageId },
1100
+ 'xwa2_wamo_start_viewer_session'
1101
+ ),
1102
+ wamoBloksGetLayout: (layoutId, context = {}) =>
1103
+ wamo(
1104
+ WAMO_GQL_IDS.BLOKS_GET_LAYOUT,
1105
+ { layout_id: layoutId, ...context },
1106
+ 'xwa2_wamo_bloks_get_layout'
1107
+ ),
1108
+ wamoDyiJobCreate: (input) =>
1109
+ wamo(WAMO_GQL_IDS.DYI_JOB_CREATE, { input }, 'xwa2_wamo_dyi_job_create'),
1110
+ wamoDyiJobDelete: (jobId) =>
1111
+ wamo(WAMO_GQL_IDS.DYI_JOB_DELETE, { job_id: jobId }, 'xwa2_wamo_dyi_job_delete'),
1112
+ wamoDyiJobStatus: (jobId) =>
1113
+ wamo(WAMO_GQL_IDS.DYI_JOB_STATUS, { job_id: jobId }, 'xwa2_wamo_dyi_job_status'),
1114
+
1115
+ // ID dictionaries (for raw access)
1116
+ WWW_GQL_IDS,
1117
+ FACEBOOK_GQL_IDS,
1118
+ WAMO_GQL_IDS,
1119
+ CLIENT_PERSIST_GQL_IDS,
1120
+ ENDPOINTS
1121
+ }
1122
+ }