@iann29/rastro 0.10.8 → 0.11.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.
Files changed (182) hide show
  1. package/README.md +8 -0
  2. package/agent/integration.md +45 -0
  3. package/agent/manifest.json +4 -4
  4. package/dist/client/federation.d.ts +82 -9
  5. package/dist/client/federation.d.ts.map +1 -1
  6. package/dist/client/federation.js +40 -2
  7. package/dist/client/federation.js.map +1 -1
  8. package/dist/client/index.d.ts +464 -8
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +259 -7
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/component/_generated/api.d.ts +10 -0
  13. package/dist/component/_generated/api.d.ts.map +1 -1
  14. package/dist/component/_generated/api.js.map +1 -1
  15. package/dist/component/_generated/component.d.ts +273 -21
  16. package/dist/component/_generated/component.d.ts.map +1 -1
  17. package/dist/component/_generated/server.d.ts +2 -0
  18. package/dist/component/_generated/server.d.ts.map +1 -1
  19. package/dist/component/_generated/server.js.map +1 -1
  20. package/dist/component/constants.d.ts +31 -0
  21. package/dist/component/constants.d.ts.map +1 -1
  22. package/dist/component/constants.js +31 -0
  23. package/dist/component/constants.js.map +1 -1
  24. package/dist/component/convex.config.d.ts +2 -0
  25. package/dist/component/convex.config.js +7 -0
  26. package/dist/component/convex.config.js.map +1 -1
  27. package/dist/component/errors.d.ts +1 -1
  28. package/dist/component/errors.d.ts.map +1 -1
  29. package/dist/component/errors.js.map +1 -1
  30. package/dist/component/http.d.ts.map +1 -1
  31. package/dist/component/http.js +64 -0
  32. package/dist/component/http.js.map +1 -1
  33. package/dist/component/leadAdsValidators.d.ts +1092 -0
  34. package/dist/component/leadAdsValidators.d.ts.map +1 -0
  35. package/dist/component/leadAdsValidators.js +304 -0
  36. package/dist/component/leadAdsValidators.js.map +1 -0
  37. package/dist/component/leadFormRules.d.ts +60 -0
  38. package/dist/component/leadFormRules.d.ts.map +1 -0
  39. package/dist/component/leadFormRules.js +140 -0
  40. package/dist/component/leadFormRules.js.map +1 -0
  41. package/dist/component/leadFormStore.d.ts +16 -0
  42. package/dist/component/leadFormStore.d.ts.map +1 -0
  43. package/dist/component/leadFormStore.js +92 -0
  44. package/dist/component/leadFormStore.js.map +1 -0
  45. package/dist/component/leadgenToken.d.ts +56 -0
  46. package/dist/component/leadgenToken.d.ts.map +1 -0
  47. package/dist/component/leadgenToken.js +262 -0
  48. package/dist/component/leadgenToken.js.map +1 -0
  49. package/dist/component/leads.d.ts +76 -7
  50. package/dist/component/leads.d.ts.map +1 -1
  51. package/dist/component/leads.js +112 -78
  52. package/dist/component/leads.js.map +1 -1
  53. package/dist/component/meta.d.ts.map +1 -1
  54. package/dist/component/meta.js +21 -1
  55. package/dist/component/meta.js.map +1 -1
  56. package/dist/component/metaCapi.d.ts.map +1 -1
  57. package/dist/component/metaCapi.js +10 -0
  58. package/dist/component/metaCapi.js.map +1 -1
  59. package/dist/component/metaFake.d.ts +44 -0
  60. package/dist/component/metaFake.d.ts.map +1 -1
  61. package/dist/component/metaFake.js +400 -1
  62. package/dist/component/metaFake.js.map +1 -1
  63. package/dist/component/metaGraph.d.ts +91 -0
  64. package/dist/component/metaGraph.d.ts.map +1 -1
  65. package/dist/component/metaGraph.js +217 -0
  66. package/dist/component/metaGraph.js.map +1 -1
  67. package/dist/component/metaLeads.d.ts +681 -0
  68. package/dist/component/metaLeads.d.ts.map +1 -0
  69. package/dist/component/metaLeads.js +2634 -0
  70. package/dist/component/metaLeads.js.map +1 -0
  71. package/dist/component/schema.d.ts +414 -5
  72. package/dist/component/schema.d.ts.map +1 -1
  73. package/dist/component/schema.js +169 -1
  74. package/dist/component/schema.js.map +1 -1
  75. package/dist/component/validators.d.ts +235 -11
  76. package/dist/component/validators.d.ts.map +1 -1
  77. package/dist/component/validators.js +14 -1
  78. package/dist/component/validators.js.map +1 -1
  79. package/dist/tracker/generated.d.ts +1 -1
  80. package/dist/tracker/generated.js +1 -1
  81. package/dist/ui/campaigns/CampaignsView.d.ts +5 -1
  82. package/dist/ui/campaigns/CampaignsView.d.ts.map +1 -1
  83. package/dist/ui/campaigns/CampaignsView.js.map +1 -1
  84. package/dist/ui/campaigns/Drawer.d.ts.map +1 -1
  85. package/dist/ui/campaigns/Drawer.js +8 -26
  86. package/dist/ui/campaigns/Drawer.js.map +1 -1
  87. package/dist/ui/campaigns/labels.d.ts +29 -1
  88. package/dist/ui/campaigns/labels.d.ts.map +1 -1
  89. package/dist/ui/campaigns/labels.js +77 -2
  90. package/dist/ui/campaigns/labels.js.map +1 -1
  91. package/dist/ui/campaigns/model.js +2 -2
  92. package/dist/ui/campaigns/model.js.map +1 -1
  93. package/dist/ui/forms/FirstContact.d.ts +19 -0
  94. package/dist/ui/forms/FirstContact.d.ts.map +1 -0
  95. package/dist/ui/forms/FirstContact.js +81 -0
  96. package/dist/ui/forms/FirstContact.js.map +1 -0
  97. package/dist/ui/forms/FormLead.d.ts +28 -0
  98. package/dist/ui/forms/FormLead.d.ts.map +1 -0
  99. package/dist/ui/forms/FormLead.js +199 -0
  100. package/dist/ui/forms/FormLead.js.map +1 -0
  101. package/dist/ui/forms/FormRulesDrawer.d.ts +49 -0
  102. package/dist/ui/forms/FormRulesDrawer.d.ts.map +1 -0
  103. package/dist/ui/forms/FormRulesDrawer.js +149 -0
  104. package/dist/ui/forms/FormRulesDrawer.js.map +1 -0
  105. package/dist/ui/forms/FormsView.d.ts +10 -0
  106. package/dist/ui/forms/FormsView.d.ts.map +1 -0
  107. package/dist/ui/forms/FormsView.js +215 -0
  108. package/dist/ui/forms/FormsView.js.map +1 -0
  109. package/dist/ui/forms/Icons.d.ts +46 -0
  110. package/dist/ui/forms/Icons.d.ts.map +1 -0
  111. package/dist/ui/forms/Icons.js +45 -0
  112. package/dist/ui/forms/Icons.js.map +1 -0
  113. package/dist/ui/forms/RuleRow.d.ts +37 -0
  114. package/dist/ui/forms/RuleRow.d.ts.map +1 -0
  115. package/dist/ui/forms/RuleRow.js +80 -0
  116. package/dist/ui/forms/RuleRow.js.map +1 -0
  117. package/dist/ui/forms/WhatsAppButtonGuide.d.ts +33 -0
  118. package/dist/ui/forms/WhatsAppButtonGuide.d.ts.map +1 -0
  119. package/dist/ui/forms/WhatsAppButtonGuide.js +90 -0
  120. package/dist/ui/forms/WhatsAppButtonGuide.js.map +1 -0
  121. package/dist/ui/forms/index.d.ts +11 -0
  122. package/dist/ui/forms/index.d.ts.map +1 -0
  123. package/dist/ui/forms/index.js +7 -0
  124. package/dist/ui/forms/index.js.map +1 -0
  125. package/dist/ui/forms/journey.d.ts +19 -0
  126. package/dist/ui/forms/journey.d.ts.map +1 -0
  127. package/dist/ui/forms/journey.js +54 -0
  128. package/dist/ui/forms/journey.js.map +1 -0
  129. package/dist/ui/forms/model.d.ts +239 -0
  130. package/dist/ui/forms/model.d.ts.map +1 -0
  131. package/dist/ui/forms/model.js +556 -0
  132. package/dist/ui/forms/model.js.map +1 -0
  133. package/dist/ui/forms/sample.d.ts +36 -0
  134. package/dist/ui/forms/sample.d.ts.map +1 -0
  135. package/dist/ui/forms/sample.js +444 -0
  136. package/dist/ui/forms/sample.js.map +1 -0
  137. package/dist/ui/forms/types.d.ts +454 -0
  138. package/dist/ui/forms/types.d.ts.map +1 -0
  139. package/dist/ui/forms/types.js +2 -0
  140. package/dist/ui/forms/types.js.map +1 -0
  141. package/dist/ui/index.d.ts +2 -0
  142. package/dist/ui/index.d.ts.map +1 -1
  143. package/dist/ui/index.js +4 -0
  144. package/dist/ui/index.js.map +1 -1
  145. package/dist/ui/integrations/Overlay.d.ts +3 -1
  146. package/dist/ui/integrations/Overlay.d.ts.map +1 -1
  147. package/dist/ui/integrations/Overlay.js +2 -2
  148. package/dist/ui/integrations/Overlay.js.map +1 -1
  149. package/dist/ui/portfolio/PortfolioView.d.ts +4 -1
  150. package/dist/ui/portfolio/PortfolioView.d.ts.map +1 -1
  151. package/dist/ui/portfolio/PortfolioView.js.map +1 -1
  152. package/dist/ui/sample.d.ts +3 -1
  153. package/dist/ui/sample.d.ts.map +1 -1
  154. package/dist/ui/sample.js +2 -0
  155. package/dist/ui/sample.js.map +1 -1
  156. package/dist/ui/seed.d.ts +1 -1
  157. package/dist/ui/ui.css +2301 -0
  158. package/docs/federation.md +19 -0
  159. package/docs/meta-ads.md +713 -7
  160. package/docs/upgrading.md +75 -0
  161. package/llms.txt +1 -0
  162. package/package.json +1 -1
  163. package/src/component/_generated/api.ts +10 -0
  164. package/src/component/_generated/component.ts +289 -20
  165. package/src/component/_generated/server.ts +2 -0
  166. package/src/component/constants.ts +33 -0
  167. package/src/component/convex.config.ts +7 -0
  168. package/src/component/errors.ts +3 -1
  169. package/src/component/http.ts +75 -0
  170. package/src/component/leadAdsValidators.ts +365 -0
  171. package/src/component/leadFormRules.ts +202 -0
  172. package/src/component/leadFormStore.ts +129 -0
  173. package/src/component/leadgenToken.ts +348 -0
  174. package/src/component/leads.ts +136 -84
  175. package/src/component/meta.ts +21 -1
  176. package/src/component/metaCapi.ts +13 -1
  177. package/src/component/metaFake.ts +485 -1
  178. package/src/component/metaGraph.ts +327 -0
  179. package/src/component/metaLeads.ts +3101 -0
  180. package/src/component/schema.ts +187 -1
  181. package/src/component/validators.ts +17 -1
  182. package/src/tracker/generated.ts +1 -1
@@ -8,7 +8,10 @@ import { actId, MetaGraphError, } from "./metaGraph.js";
8
8
  * which Meta refuses like an expired token. A token
9
9
  * `rastro-fake-sample-token:<days>` moves every date by that many whole days,
10
10
  * so a demo seeded today reads the sample as its last 30 days, sync after
11
- * sync. Conversions API sends are accepted. No network call is made.
11
+ * sync. Conversions API sends are accepted. Lead Ads: a Facebook Page per
12
+ * client (and "Sorriso Kids", whose leads Meta did not grant), their instant
13
+ * forms, and a steady stream of made-up leads (`FAKE_PAGES` below). No
14
+ * network call is made.
12
15
  */
13
16
  const BUSINESS = { id: "sample-business", name: "Connection Company" };
14
17
  const USAGE = { pct: 0, regainMs: null };
@@ -128,6 +131,311 @@ function account(adAccountId) {
128
131
  }
129
132
  return found;
130
133
  }
134
+ // ---------------------------------------------------------------------------
135
+ // Lead Ads: a Facebook Page per sample client, their instant forms, and a
136
+ // steady stream of leads. Lead `k` of a form is created at `k × every +
137
+ // offset` (UTC ms), so the leads before now always exist and new ones show up
138
+ // as time passes, for the webhook-free reconciliation to find. Answers and
139
+ // contacts derive from `k` (made-up people, never real ones).
140
+ const HOUR_MS = 3_600_000;
141
+ const FAKE_PAGE_TOKEN = "rastro-fake-page-token:";
142
+ const LEAD_HISTORY_MS = 90 * DAY_MS;
143
+ /** How many leads one fake listing holds at most (Meta's cap); tests lower it. */
144
+ export const fakeLimits = { maxLeads: 2_000 };
145
+ /**
146
+ * The Pages the app is subscribed to, as Meta keeps it: one subscription per
147
+ * Page and app, whichever host asked for it. Tests read it, and take a Page
148
+ * off it the way another host's unsubscription would.
149
+ */
150
+ export const fakeSubscriptions = new Set();
151
+ const CONTACT_QUESTIONS = [
152
+ { key: "full_name", label: "Nome completo", type: "FULL_NAME" },
153
+ { key: "phone_number", label: "Telefone", type: "PHONE" },
154
+ ];
155
+ const EMAIL_QUESTION = {
156
+ key: "email",
157
+ label: "E-mail",
158
+ type: "EMAIL",
159
+ };
160
+ const choice = (key, label, options) => ({
161
+ key,
162
+ label,
163
+ type: "CUSTOM",
164
+ options: options.map(([optionKey, value]) => ({ key: optionKey, value })),
165
+ });
166
+ /** The fake Pages: one per sample client, plus one without lead access. */
167
+ export const FAKE_PAGES = [
168
+ {
169
+ pageId: "4100000000001",
170
+ name: "Loja X",
171
+ sampleSiteId: "sample-loja-x",
172
+ leadsAllowed: true,
173
+ forms: [
174
+ {
175
+ formId: "4200000000101",
176
+ serial: "11",
177
+ name: "Provador VIP",
178
+ status: "ACTIVE",
179
+ questions: [
180
+ ...CONTACT_QUESTIONS,
181
+ choice("tamanho", "Qual o seu tamanho?", [
182
+ ["p", "P"],
183
+ ["m", "M"],
184
+ ["g", "G"],
185
+ ]),
186
+ ],
187
+ whatsappButton: true,
188
+ createdDaysAgo: 120,
189
+ everyMs: 8 * HOUR_MS,
190
+ offsetMs: 25 * 60_000,
191
+ },
192
+ ],
193
+ },
194
+ {
195
+ pageId: "4100000000002",
196
+ name: "Clínica Sorriso",
197
+ sampleSiteId: "sample-clinica-sorriso",
198
+ leadsAllowed: true,
199
+ forms: [
200
+ {
201
+ formId: "4200000000201",
202
+ serial: "21",
203
+ name: "Avaliação gratuita",
204
+ status: "ACTIVE",
205
+ questions: [
206
+ ...CONTACT_QUESTIONS,
207
+ EMAIL_QUESTION,
208
+ choice("orcamento", "Orçamento para o tratamento", [
209
+ ["ate_1000", "Até R$ 1.000"],
210
+ ["de_1000_a_5000", "R$ 1.000 a R$ 5.000"],
211
+ ["acima_5000", "Acima de R$ 5.000"],
212
+ ]),
213
+ choice("agendar", "Quer agendar a avaliação?", [
214
+ ["sim", "Sim"],
215
+ ["nao", "Não"],
216
+ ]),
217
+ choice("tratamento", "Tratamento de interesse", [
218
+ ["implante", "Implante"],
219
+ ["lente", "Lente de contato"],
220
+ ["clareamento", "Clareamento"],
221
+ ]),
222
+ ],
223
+ whatsappButton: false,
224
+ createdDaysAgo: 200,
225
+ everyMs: 675 * 60_000,
226
+ offsetMs: 4 * 60_000,
227
+ },
228
+ {
229
+ formId: "4200000000202",
230
+ serial: "22",
231
+ name: "Clareamento — orçamento",
232
+ status: "ACTIVE",
233
+ questions: [
234
+ ...CONTACT_QUESTIONS,
235
+ choice("quando", "Quando quer começar?", [
236
+ ["esta_semana", "Esta semana"],
237
+ ["este_mes", "Este mês"],
238
+ ["sem_pressa", "Sem pressa"],
239
+ ]),
240
+ ],
241
+ whatsappButton: true,
242
+ createdDaysAgo: 90,
243
+ everyMs: 40 * HOUR_MS,
244
+ offsetMs: 19 * HOUR_MS + 10 * 60_000,
245
+ },
246
+ {
247
+ formId: "4200000000203",
248
+ serial: "23",
249
+ name: "Lente de contato dental",
250
+ status: "ACTIVE",
251
+ questions: [
252
+ ...CONTACT_QUESTIONS,
253
+ EMAIL_QUESTION,
254
+ choice("lente_dentes", "Quantos dentes?", [
255
+ ["ate_4", "Até 4"],
256
+ ["de_6_a_10", "De 6 a 10"],
257
+ ["arcada", "A arcada toda"],
258
+ ]),
259
+ ],
260
+ whatsappButton: null,
261
+ createdDaysAgo: 2,
262
+ everyMs: 12 * HOUR_MS,
263
+ offsetMs: 9 * HOUR_MS + 2 * 60_000,
264
+ },
265
+ {
266
+ formId: "4200000000204",
267
+ serial: "24",
268
+ name: "Promo setembro",
269
+ status: "ARCHIVED",
270
+ questions: [
271
+ ...CONTACT_QUESTIONS,
272
+ EMAIL_QUESTION,
273
+ choice("promo", "Qual tratamento da promoção?", [
274
+ ["limpeza", "Limpeza"],
275
+ ["clareamento", "Clareamento"],
276
+ ]),
277
+ ],
278
+ whatsappButton: null,
279
+ createdDaysAgo: 60,
280
+ everyMs: 0,
281
+ offsetMs: 0,
282
+ },
283
+ ],
284
+ },
285
+ {
286
+ pageId: "4100000000003",
287
+ name: "Pet Mania",
288
+ sampleSiteId: "sample-pet-mania",
289
+ leadsAllowed: true,
290
+ forms: [
291
+ {
292
+ formId: "4200000000301",
293
+ serial: "31",
294
+ name: "Agende o banho",
295
+ status: "ACTIVE",
296
+ questions: [
297
+ ...CONTACT_QUESTIONS,
298
+ choice("porte", "Porte do pet", [
299
+ ["pequeno", "Pequeno"],
300
+ ["medio", "Médio"],
301
+ ["grande", "Grande"],
302
+ ]),
303
+ ],
304
+ whatsappButton: null,
305
+ createdDaysAgo: 150,
306
+ everyMs: 10 * HOUR_MS,
307
+ offsetMs: 2 * HOUR_MS,
308
+ },
309
+ ],
310
+ },
311
+ {
312
+ pageId: "4100000000004",
313
+ name: "Casa Aurora",
314
+ sampleSiteId: "sample-casa-aurora",
315
+ leadsAllowed: true,
316
+ forms: [
317
+ {
318
+ formId: "4200000000401",
319
+ serial: "41",
320
+ name: "Orçamento de móveis",
321
+ status: "ACTIVE",
322
+ questions: [
323
+ ...CONTACT_QUESTIONS,
324
+ EMAIL_QUESTION,
325
+ choice("ambiente", "Qual ambiente?", [
326
+ ["sala", "Sala"],
327
+ ["quarto", "Quarto"],
328
+ ["cozinha", "Cozinha"],
329
+ ]),
330
+ {
331
+ key: "detalhes",
332
+ label: "Conte o que você precisa",
333
+ type: "CUSTOM",
334
+ },
335
+ ],
336
+ whatsappButton: false,
337
+ createdDaysAgo: 100,
338
+ everyMs: 20 * HOUR_MS,
339
+ offsetMs: 13 * HOUR_MS,
340
+ },
341
+ ],
342
+ },
343
+ {
344
+ pageId: "4100000000099",
345
+ name: "Sorriso Kids",
346
+ sampleSiteId: null,
347
+ leadsAllowed: false,
348
+ forms: [],
349
+ },
350
+ ];
351
+ const FAKE_FIRST = [
352
+ "Marina",
353
+ "Rafael",
354
+ "Juliana",
355
+ "Bruno",
356
+ "Patrícia",
357
+ "Thiago",
358
+ "Larissa",
359
+ "Felipe",
360
+ "Camila",
361
+ "Gustavo",
362
+ ];
363
+ const FAKE_LAST = ["Costa", "Souza", "Lima", "Alves", "Rocha", "Pires"];
364
+ const fakePage = (pageId) => FAKE_PAGES.find((page) => page.pageId === pageId) ?? null;
365
+ function fakeForm(formId) {
366
+ for (const page of FAKE_PAGES) {
367
+ const form = page.forms.find((row) => row.formId === formId);
368
+ if (form)
369
+ return { page, form };
370
+ }
371
+ return null;
372
+ }
373
+ const formCreatedAt = (form, now) => Math.floor((now - form.createdDaysAgo * DAY_MS) / DAY_MS) * DAY_MS;
374
+ /** The `k`-th lead of a form, as Meta returns it. */
375
+ function fakeLead(page, form, k) {
376
+ const createdTime = k * form.everyMs + form.offsetMs;
377
+ const first = FAKE_FIRST[k % FAKE_FIRST.length];
378
+ const last = FAKE_LAST[(k * 7) % FAKE_LAST.length];
379
+ const digits = String((k * 7919 + Number(form.serial) * 104_729) % 1e8)
380
+ .padStart(8, "0")
381
+ .slice(0, 8);
382
+ const fields = form.questions.map((question, index) => {
383
+ switch (question.type) {
384
+ case "FULL_NAME":
385
+ return { name: question.key, values: [`${first} ${last}`] };
386
+ case "PHONE":
387
+ return { name: question.key, values: [`+55549${digits}`] };
388
+ case "EMAIL":
389
+ return {
390
+ name: question.key,
391
+ values: [
392
+ `${first.normalize("NFD").replace(/[̀-ͯ]/g, "").toLowerCase()}.${k}@example.com`,
393
+ ],
394
+ };
395
+ default: {
396
+ const options = question.options ?? [];
397
+ if (options.length === 0) {
398
+ return { name: question.key, values: ["Preciso de um orçamento"] };
399
+ }
400
+ // Meta returns the option's shown value; the ingestion maps it back.
401
+ const option = options[(k + index * 3) % options.length];
402
+ return { name: question.key, values: [option.value] };
403
+ }
404
+ }
405
+ });
406
+ const ads = page.sampleSiteId === null
407
+ ? []
408
+ : (SAMPLE_SEED.find((site) => site.siteId === page.sampleSiteId)?.campaigns.flatMap((campaign) => campaign.adsets.flatMap((adset) => adset.ads.map((ad) => ({
409
+ adId: ad.adId,
410
+ adsetId: adset.adsetId,
411
+ campaignId: campaign.campaignId,
412
+ })))) ?? []);
413
+ const ad = ads.length > 0 ? ads[k % ads.length] : null;
414
+ return {
415
+ leadgenId: `7${form.serial}${String(k).padStart(9, "0")}`,
416
+ createdTime,
417
+ formId: form.formId,
418
+ adId: ad?.adId ?? null,
419
+ adsetId: ad?.adsetId ?? null,
420
+ campaignId: ad?.campaignId ?? null,
421
+ platform: k % 3 === 0 ? "ig" : "fb",
422
+ isOrganic: ad === null,
423
+ fields,
424
+ };
425
+ }
426
+ function checkPageToken(token, pageId) {
427
+ checkToken(token);
428
+ if (pageId !== undefined && token !== `${FAKE_PAGE_TOKEN}${pageId}`) {
429
+ throw new MetaGraphError("permission", "the Page token does not act for this Page (fake)", 200);
430
+ }
431
+ }
432
+ const pageIdOfToken = (token) => token.startsWith(FAKE_PAGE_TOKEN) ? token.slice(FAKE_PAGE_TOKEN.length) : "";
433
+ function leadPermission(page) {
434
+ if (!page?.leadsAllowed) {
435
+ throw new MetaGraphError("permission", "leads_retrieval was not granted for this Page (fake)", 200);
436
+ }
437
+ return page;
438
+ }
131
439
  export function fakeMetaGraph() {
132
440
  return {
133
441
  async exchangeCode(_app, code) {
@@ -224,6 +532,97 @@ export function fakeMetaGraph() {
224
532
  checkToken(token);
225
533
  return { eventsReceived: payload.data.length, fbtraceId: "fake-trace" };
226
534
  },
535
+ async pages(token) {
536
+ checkToken(token);
537
+ return {
538
+ pages: FAKE_PAGES.map((page) => ({
539
+ pageId: page.pageId,
540
+ name: page.name,
541
+ accessToken: `${FAKE_PAGE_TOKEN}${page.pageId}`,
542
+ tasks: ["ADVERTISE", "ANALYZE", "CREATE_CONTENT", "MANAGE"],
543
+ })),
544
+ complete: true,
545
+ };
546
+ },
547
+ async leadAccess(token) {
548
+ checkToken(token);
549
+ return {
550
+ all: false,
551
+ pageIds: FAKE_PAGES.filter((page) => page.leadsAllowed).map((page) => page.pageId),
552
+ };
553
+ },
554
+ async subscribePage(pageToken, pageId) {
555
+ checkPageToken(pageToken, pageId);
556
+ leadPermission(fakePage(pageId));
557
+ fakeSubscriptions.add(pageId);
558
+ },
559
+ async leadForms(pageToken, pageId) {
560
+ checkPageToken(pageToken, pageId);
561
+ const page = leadPermission(fakePage(pageId));
562
+ const now = Date.now();
563
+ return {
564
+ forms: page.forms.map((form) => ({
565
+ formId: form.formId,
566
+ name: form.name,
567
+ status: form.status,
568
+ questions: form.questions.map((question) => ({ ...question })),
569
+ whatsappButton: form.whatsappButton,
570
+ createdTime: formCreatedAt(form, now),
571
+ })),
572
+ usage: USAGE,
573
+ complete: true,
574
+ };
575
+ },
576
+ async lead(pageToken, leadgenId) {
577
+ checkToken(pageToken);
578
+ const match = /^7(\d{2})(\d{9})$/.exec(leadgenId);
579
+ const found = match
580
+ ? FAKE_PAGES.flatMap((page) => page.forms
581
+ .filter((form) => form.serial === match[1])
582
+ .map((form) => ({ page, form })))[0]
583
+ : undefined;
584
+ const now = Date.now();
585
+ const lead = found && found.form.everyMs > 0
586
+ ? fakeLead(found.page, found.form, Number(match[2]))
587
+ : null;
588
+ if (!found ||
589
+ !lead ||
590
+ pageIdOfToken(pageToken) !== found.page.pageId ||
591
+ lead.createdTime > now ||
592
+ lead.createdTime < formCreatedAt(found.form, now)) {
593
+ throw new MetaGraphError("permission", "Unsupported get request: the lead does not exist (fake)", 100);
594
+ }
595
+ return lead;
596
+ },
597
+ async formLeads(pageToken, formId, sinceSec, untilSec) {
598
+ checkToken(pageToken);
599
+ const found = fakeForm(formId);
600
+ if (!found || pageIdOfToken(pageToken) !== found.page.pageId) {
601
+ throw new MetaGraphError("permission", "the form is not this Page's (fake)", 100);
602
+ }
603
+ leadPermission(found.page);
604
+ const { page, form } = found;
605
+ const now = Date.now();
606
+ if (form.everyMs <= 0)
607
+ return { leads: [], usage: USAGE, complete: true };
608
+ const from = Math.max(sinceSec * 1000 + 1, now - LEAD_HISTORY_MS, formCreatedAt(form, now));
609
+ const to = untilSec === undefined ? now : Math.min(now, untilSec * 1000 - 1);
610
+ const first = Math.max(Math.ceil((from - form.offsetMs) / form.everyMs), 0);
611
+ const last = Math.floor((to - form.offsetMs) / form.everyMs);
612
+ // Meta lists the newest first and stops at its cap: a truncated
613
+ // listing holds the newest leads of the window, never the oldest.
614
+ const leads = [];
615
+ for (let k = last; k >= first; k -= 1) {
616
+ if (leads.length >= fakeLimits.maxLeads)
617
+ break;
618
+ leads.push(fakeLead(page, form, k));
619
+ }
620
+ return {
621
+ leads,
622
+ usage: USAGE,
623
+ complete: last - first + 1 <= fakeLimits.maxLeads,
624
+ };
625
+ },
227
626
  };
228
627
  }
229
628
  //# sourceMappingURL=metaFake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metaFake.js","sourceRoot":"","sources":["../../src/component/metaFake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metaFake.js","sourceRoot":"","sources":["../../src/component/metaFake.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,56 @@ export interface GraphSpendRow {
41
41
  campaignId: string | null;
42
42
  campaignName: string | null;
43
43
  }
44
+ /** A Facebook Page the token can act for, with the Page's own token. */
45
+ export interface GraphPage {
46
+ pageId: string;
47
+ name: string;
48
+ /** The Page token Meta hands out with `me/accounts`; null when it did not. */
49
+ accessToken: string | null;
50
+ tasks: string[];
51
+ }
52
+ /** One question of an instant form. */
53
+ export interface GraphFormQuestion {
54
+ key: string;
55
+ label: string;
56
+ type: string;
57
+ options?: Array<{
58
+ key: string;
59
+ value: string;
60
+ }>;
61
+ }
62
+ export interface GraphForm {
63
+ formId: string;
64
+ name: string;
65
+ status: string;
66
+ questions: GraphFormQuestion[];
67
+ /** The end screen's WhatsApp button; null when Meta does not say. */
68
+ whatsappButton: boolean | null;
69
+ createdTime: number | null;
70
+ }
71
+ /** A form lead as Meta returns it. `fields` carries personal data. */
72
+ export interface GraphLead {
73
+ leadgenId: string;
74
+ createdTime: number;
75
+ formId: string | null;
76
+ adId: string | null;
77
+ adsetId: string | null;
78
+ campaignId: string | null;
79
+ platform: string | null;
80
+ isOrganic: boolean;
81
+ fields: Array<{
82
+ name: string;
83
+ values: string[];
84
+ }>;
85
+ }
86
+ /**
87
+ * Which Pages a login may read leads from (`leads_retrieval`): every Page it
88
+ * reaches (`all`), or only `pageIds`. Null when Meta did not say.
89
+ */
90
+ export type GraphLeadAccess = {
91
+ all: boolean;
92
+ pageIds: string[];
93
+ } | null;
44
94
  /** How close the app is to Meta's rate limits, from the response headers. */
45
95
  export interface GraphUsage {
46
96
  /** The highest percentage any limit header reported, 0–100+. */
@@ -133,6 +183,40 @@ export interface MetaGraph {
133
183
  eventsReceived: number;
134
184
  fbtraceId: string | null;
135
185
  }>;
186
+ /**
187
+ * The Pages the token acts for (`me/accounts`), each with its own token.
188
+ * `complete` is false when the listing stopped at the page cap.
189
+ */
190
+ pages(token: string): Promise<{
191
+ pages: GraphPage[];
192
+ complete: boolean;
193
+ }>;
194
+ /**
195
+ * Which Pages the login may read leads from: `debug_token`'s granular
196
+ * scopes with `app`, else `me/permissions`. Null when Meta did not say.
197
+ */
198
+ leadAccess(token: string, app?: MetaApp | null): Promise<GraphLeadAccess>;
199
+ /** Subscribes the app to the Page's `leadgen` webhook (the Page token). */
200
+ subscribePage(pageToken: string, pageId: string): Promise<void>;
201
+ /** The Page's instant forms, every status. */
202
+ leadForms(pageToken: string, pageId: string): Promise<{
203
+ forms: GraphForm[];
204
+ usage: GraphUsage;
205
+ complete: boolean;
206
+ }>;
207
+ /** One lead, with its answers (personal data: never store `fields`). */
208
+ lead(pageToken: string, leadgenId: string): Promise<GraphLead>;
209
+ /**
210
+ * A form's leads created after `sinceSec` and, with `untilSec`, before it
211
+ * (Meta's seconds). Meta lists the newest first, so a listing that stopped
212
+ * at the cap (`complete: false`) holds the newest of the window: read a
213
+ * narrower window instead of trusting it to cover the older ones.
214
+ */
215
+ formLeads(pageToken: string, formId: string, sinceSec: number, untilSec?: number): Promise<{
216
+ leads: GraphLead[];
217
+ usage: GraphUsage;
218
+ complete: boolean;
219
+ }>;
136
220
  }
137
221
  /** One Conversions API event, user data already hashed by the host. */
138
222
  export interface ConversionEvent {
@@ -164,6 +248,13 @@ export declare function classifyGraphError(error: Json): MetaErrorKind;
164
248
  export declare function readUsage(headers: Headers): GraphUsage;
165
249
  /** What Meta calls the creative, reduced to the four kinds the screens use. */
166
250
  export declare function creativeTypeOf(creative: unknown): MetaCreativeType | null;
251
+ /** Meta's times (`2026-10-09T12:34:56+0000`) in milliseconds, or null. */
252
+ export declare function graphTime(value: unknown): number | null;
253
+ /**
254
+ * Whether the form's end screen sends the lead to WhatsApp, from its button
255
+ * type; null when Meta does not describe the end screen's button.
256
+ */
257
+ export declare function whatsappButtonOf(thankYouPage: unknown): boolean | null;
167
258
  export declare function actId(adAccountId: string): string;
168
259
  /** The Graph client for this deployment: the fake under RASTRO_META_FAKE. */
169
260
  export declare function metaGraph(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"metaGraph.d.ts","sourceRoot":"","sources":["../../src/component/metaGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metaGraph.d.ts","sourceRoot":"","sources":["../../src/component/metaGraph.ts"],"names":[],"mappings":"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"}