@koda-sl/baker-cli 0.497.0 → 0.498.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/README.md +132 -0
- package/dist/account-263FLP5Y.js +80 -0
- package/dist/account-Q3BRNQUW.js +139 -0
- package/dist/account-Q3BRNQUW.js.map +1 -0
- package/dist/account-Y2NNZBQU.js +80 -0
- package/dist/account-assets-FGXPTJAC.js +290 -0
- package/dist/account-assets-FGXPTJAC.js.map +1 -0
- package/dist/account-level-HHFTDEEF.js +609 -0
- package/dist/account-level-HHFTDEEF.js.map +1 -0
- package/dist/account-reads-LJCF2BT6.js +219 -0
- package/dist/account-reads-LJCF2BT6.js.map +1 -0
- package/dist/account-users-65TL5KL7.js +62 -0
- package/dist/account-writes-M274CK75.js +66 -0
- package/dist/accounts-4HPLJD7O.js +115 -0
- package/dist/accounts-FGBD6Y23.js +76 -0
- package/dist/accounts-FGBD6Y23.js.map +1 -0
- package/dist/accounts-OWLAMDJX.js +114 -0
- package/dist/accounts-ST32A4L4.js +78 -0
- package/dist/accounts-VVMBENKE.js +612 -0
- package/dist/actions-EAMKQC4A.js +55 -0
- package/dist/active-entities-2TRODKWO.js +103 -0
- package/dist/activecampaign-XYEFFSZF.js +936 -0
- package/dist/activities-CRMTS5Y7.js +75 -0
- package/dist/activities-CRMTS5Y7.js.map +1 -0
- package/dist/ad-group-writes-M7S67GLQ.js +170 -0
- package/dist/ad-groups-BF4KNJFS.js +68 -0
- package/dist/ad-writes-FNWVH7SP.js +174 -0
- package/dist/add-2OOHZBKD.js +80 -0
- package/dist/add-5PK6LCD2.js +81 -0
- package/dist/add-EXF7UGIG.js +148 -0
- package/dist/add-IJA475VW.js +105 -0
- package/dist/add-UGMEJ5L3.js +303 -0
- package/dist/add-WZFXWMG7.js +97 -0
- package/dist/add-accounts-KQUUBIIG.js +91 -0
- package/dist/ads-3RBMFZMU.js +115 -0
- package/dist/ads-3RBMFZMU.js.map +1 -0
- package/dist/ads-6GTQ2HS4.js +43 -0
- package/dist/ads-6GTQ2HS4.js.map +1 -0
- package/dist/ads-C6LVVX4F.js +128 -0
- package/dist/ads-TLJI5KCA.js +77 -0
- package/dist/adsets-2536GR4Q.js +178 -0
- package/dist/adsets-2536GR4Q.js.map +1 -0
- package/dist/advertisers-OHTC7Q63.js +125 -0
- package/dist/advertisers-RBLLFCET.js +121 -0
- package/dist/analytics-QQ7PLUU3.js +434 -0
- package/dist/analytics-UXUF6IVD.js +1981 -0
- package/dist/analytics-UXUF6IVD.js.map +1 -0
- package/dist/animate-G2PISVIA.js +480 -0
- package/dist/asset-writes-LW3KSG2B.js +48 -0
- package/dist/assign-UC6OK2R7.js +78 -0
- package/dist/audience-size-4S2ZWQ3G.js +74 -0
- package/dist/audience-writes-75HWK4IY.js +325 -0
- package/dist/audience-writes-75HWK4IY.js.map +1 -0
- package/dist/audiences-2342U7XH.js +85 -0
- package/dist/audiences-EZO6PYRL.js +268 -0
- package/dist/audiences-OS4U3J6Y.js +86 -0
- package/dist/audiences-OS4U3J6Y.js.map +1 -0
- package/dist/audit-KQ7GVWMO.js +88 -0
- package/dist/audit-QTLUKQW5.js +152 -0
- package/dist/autocomplete-XMRWWWJB.js +112 -0
- package/dist/avatars-QU5GIMCL.js +38 -0
- package/dist/bid-pricing-KBWHJKVH.js +101 -0
- package/dist/brand-REYK7QBZ.js +22 -0
- package/dist/brief-ZGGGJTBT.js +541 -0
- package/dist/brief-ZGGGJTBT.js.map +1 -0
- package/dist/businesses-T77Z5X35.js +54 -0
- package/dist/businesses-T77Z5X35.js.map +1 -0
- package/dist/campaign-groups-47IYCWKX.js +97 -0
- package/dist/campaign-writes-IPSJMNQX.js +166 -0
- package/dist/campaign-writes-RHMIJAC3.js +170 -0
- package/dist/campaigns-7WLJWRVB.js +76 -0
- package/dist/campaigns-N3GQSKRU.js +128 -0
- package/dist/campaigns-N3GQSKRU.js.map +1 -0
- package/dist/campaigns-NTEP5DKT.js +107 -0
- package/dist/campaigns-SCV5ZDLA.js +111 -0
- package/dist/canvas-X55KDZQX.js +46 -0
- package/dist/capabilities-FJIYYIMF.js +145 -0
- package/dist/cards-UZ3TAVOU.js +85 -0
- package/dist/catalog-OLWWOUXL.js +65 -0
- package/dist/catalogs-4PEZDXLP.js +128 -0
- package/dist/catalogs-WRBUBIRV.js +779 -0
- package/dist/catalogs-WRBUBIRV.js.map +1 -0
- package/dist/changes-T6RKIP2B.js +135 -0
- package/dist/chatgpt-J3ITRRCX.js +47 -0
- package/dist/chats-PAHEOSL5.js +277 -0
- package/dist/check-PAVRHQAR.js +105 -0
- package/dist/chunk-23HT4U3O.js +66 -0
- package/dist/chunk-25IPX5BK.js +592 -0
- package/dist/chunk-2M36ESEZ.js +84 -0
- package/dist/chunk-2Q324LIK.js +333 -0
- package/dist/chunk-2YUVO3LP.js +46 -0
- package/dist/chunk-3BAAO72V.js +56 -0
- package/dist/chunk-3FF5UMV5.js +89 -0
- package/dist/chunk-3Q32TXSP.js +35 -0
- package/dist/chunk-3Z3O7ZD6.js +197 -0
- package/dist/chunk-44QHWWUX.js +224 -0
- package/dist/chunk-4D5OBSWR.js +98 -0
- package/dist/chunk-4ISA7PPB.js +219 -0
- package/dist/chunk-4WI5PJU6.js +249 -0
- package/dist/chunk-52KXFESB.js +136 -0
- package/dist/chunk-565M26EE.js +25 -0
- package/dist/chunk-5B2WEPYR.js +4226 -0
- package/dist/chunk-5B2WEPYR.js.map +1 -0
- package/dist/chunk-5LYTDXWP.js +106 -0
- package/dist/chunk-5NYU2UYT.js +159 -0
- package/dist/chunk-6IFTTSHH.js +66 -0
- package/dist/chunk-6M22WJ5Y.js +455 -0
- package/dist/chunk-6PWVNCQH.js +74 -0
- package/dist/chunk-6UW4J6IU.js +215 -0
- package/dist/chunk-6ZFOF6J2.js +103 -0
- package/dist/chunk-73JJQ2DB.js +287 -0
- package/dist/chunk-73LQJBBF.js +274 -0
- package/dist/chunk-7IAA3REE.js +1079 -0
- package/dist/chunk-AL6AEGWH.js +2140 -0
- package/dist/chunk-AL6AEGWH.js.map +1 -0
- package/dist/chunk-ANLLW3KZ.js +228 -0
- package/dist/chunk-AQE4Q7K3.js +149 -0
- package/dist/chunk-AQE4Q7K3.js.map +1 -0
- package/dist/chunk-AS46I4WH.js +220 -0
- package/dist/chunk-ASHCV6DO.js +207 -0
- package/dist/chunk-BCFIMEZJ.js +296 -0
- package/dist/chunk-BJY6223Q.js +942 -0
- package/dist/chunk-BSFJW7LD.js +401 -0
- package/dist/chunk-BSFJW7LD.js.map +1 -0
- package/dist/chunk-BTGOVA2H.js +75 -0
- package/dist/chunk-BX4JR6ZU.js +111 -0
- package/dist/chunk-BYDTLQ77.js +547 -0
- package/dist/chunk-CFUFTIOU.js +156 -0
- package/dist/chunk-CFZUKCC3.js +846 -0
- package/dist/chunk-CVHUZFHA.js +494 -0
- package/dist/chunk-EGHPYAI7.js +170 -0
- package/dist/chunk-EGHPYAI7.js.map +1 -0
- package/dist/chunk-EHS3QWHJ.js +206 -0
- package/dist/chunk-EKX37C3T.js +518 -0
- package/dist/chunk-EKX37C3T.js.map +1 -0
- package/dist/chunk-ERMKQMMJ.js +64 -0
- package/dist/chunk-ERSL4WZT.js +4251 -0
- package/dist/chunk-ERSL4WZT.js.map +1 -0
- package/dist/chunk-EZMF6W4M.js +64 -0
- package/dist/chunk-FO2JX473.js +1518 -0
- package/dist/chunk-FUFMB3MS.js +61 -0
- package/dist/chunk-GDFJOCDO.js +1084 -0
- package/dist/chunk-GDFJOCDO.js.map +1 -0
- package/dist/chunk-GZWBHJ4Y.js +191 -0
- package/dist/chunk-HIAXIRPX.js +225 -0
- package/dist/chunk-HLIZO3FD.js +76 -0
- package/dist/chunk-HS56YCCN.js +225 -0
- package/dist/chunk-HVJ25XVM.js +131 -0
- package/dist/chunk-IL36BNFB.js +169 -0
- package/dist/chunk-IMHJU7FX.js +23 -0
- package/dist/chunk-J5JYBRUE.js +344 -0
- package/dist/chunk-J6Q6RPKY.js +67 -0
- package/dist/chunk-JASI6RR6.js +1606 -0
- package/dist/chunk-JTXOP6YW.js +831 -0
- package/dist/chunk-JWBJFF2K.js +122 -0
- package/dist/chunk-K5X62YHZ.js +6831 -0
- package/dist/chunk-K5X62YHZ.js.map +1 -0
- package/dist/chunk-K76OKYM7.js +45 -0
- package/dist/chunk-KBSWQKOT.js +320 -0
- package/dist/chunk-KS7VB275.js +285 -0
- package/dist/chunk-KW5WVJTH.js +544 -0
- package/dist/chunk-KZRJLBQO.js +349 -0
- package/dist/chunk-L3FWLIAU.js +188 -0
- package/dist/chunk-L6GYTD3A.js +1919 -0
- package/dist/chunk-LAL4PKNJ.js +455 -0
- package/dist/chunk-LAL4PKNJ.js.map +1 -0
- package/dist/chunk-M2LBB44P.js +207 -0
- package/dist/chunk-M2LBB44P.js.map +1 -0
- package/dist/chunk-MITWP546.js +84 -0
- package/dist/chunk-MRQKDVDR.js +42 -0
- package/dist/chunk-NBAJACSF.js +26 -0
- package/dist/chunk-NBWZ6YFU.js +142 -0
- package/dist/chunk-NWML6X6Y.js +97 -0
- package/dist/chunk-NX5U6BXW.js +297 -0
- package/dist/chunk-PEY4YGW3.js +57 -0
- package/dist/chunk-PGRDGQ23.js +150 -0
- package/dist/chunk-Q6GYSW47.js +52 -0
- package/dist/chunk-QDJRLPT5.js +76 -0
- package/dist/chunk-QM7OZC3R.js +392 -0
- package/dist/chunk-QO46CYKH.js +275 -0
- package/dist/chunk-QR44DQTC.js +66 -0
- package/dist/chunk-QVRVSFIQ.js +3868 -0
- package/dist/chunk-R6OMFEFR.js +195 -0
- package/dist/chunk-R6OMFEFR.js.map +1 -0
- package/dist/chunk-RAUZWRJC.js +74 -0
- package/dist/chunk-RF73OV6K.js +19 -0
- package/dist/chunk-RKP76SGL.js +139 -0
- package/dist/chunk-RXNBOUCW.js +910 -0
- package/dist/chunk-RXNBOUCW.js.map +1 -0
- package/dist/chunk-S6VQMNPI.js +74 -0
- package/dist/chunk-SGUUPOPY.js +51 -0
- package/dist/chunk-SJJHM57A.js +843 -0
- package/dist/chunk-SQ23BTGW.js +676 -0
- package/dist/chunk-SQ23BTGW.js.map +1 -0
- package/dist/chunk-SVNKWUBQ.js +191 -0
- package/dist/chunk-SVNKWUBQ.js.map +1 -0
- package/dist/chunk-T7JGOFVX.js +91 -0
- package/dist/chunk-TEX7Z7WC.js +2903 -0
- package/dist/chunk-TEX7Z7WC.js.map +1 -0
- package/dist/chunk-TPQOIWSU.js +58 -0
- package/dist/chunk-TSVC2RTQ.js +179 -0
- package/dist/chunk-TSVC2RTQ.js.map +1 -0
- package/dist/chunk-U3LW43UG.js +604 -0
- package/dist/chunk-UAKNLPIU.js +1744 -0
- package/dist/chunk-UI6BKYQD.js +225 -0
- package/dist/chunk-UI6BKYQD.js.map +1 -0
- package/dist/chunk-US3NQJ4L.js +8954 -0
- package/dist/chunk-US3NQJ4L.js.map +1 -0
- package/dist/chunk-UWABLMIK.js +479 -0
- package/dist/chunk-UWABLMIK.js.map +1 -0
- package/dist/chunk-V7T3OXUT.js +638 -0
- package/dist/chunk-V7T3OXUT.js.map +1 -0
- package/dist/chunk-VE4BTRLV.js +167 -0
- package/dist/chunk-VR6BCP3U.js +5368 -0
- package/dist/chunk-VSVAXKKS.js +97 -0
- package/dist/chunk-VWUGI7LE.js +94 -0
- package/dist/chunk-W3H7CX5E.js +175 -0
- package/dist/chunk-W3H7CX5E.js.map +1 -0
- package/dist/chunk-W5IS6CMZ.js +166 -0
- package/dist/chunk-WAMT3TUD.js +8914 -0
- package/dist/chunk-WN6WHZRC.js +191 -0
- package/dist/chunk-WO2SGESS.js +148 -0
- package/dist/chunk-WU6ULBSY.js +661 -0
- package/dist/chunk-X6KDRJZE.js +69 -0
- package/dist/chunk-X6KDRJZE.js.map +1 -0
- package/dist/chunk-XOHXG5TG.js +472 -0
- package/dist/chunk-XPNCOUXB.js +125 -0
- package/dist/chunk-XS7FMDCX.js +363 -0
- package/dist/chunk-XVMRO6W5.js +97 -0
- package/dist/chunk-Y2JZX6JB.js +137 -0
- package/dist/chunk-Y2JZX6JB.js.map +1 -0
- package/dist/chunk-Y4UQHVTM.js +39 -0
- package/dist/chunk-YGCRKABE.js +391 -0
- package/dist/chunk-YJKAVF3E.js +98 -0
- package/dist/chunk-ZFINQBE7.js +23992 -0
- package/dist/chunk-ZJMOYNZF.js +46 -0
- package/dist/chunk-ZZCJNSZ6.js +106 -0
- package/dist/claim-WJ5TLA74.js +198 -0
- package/dist/cli.js +43 -42
- package/dist/cli.js.map +1 -1
- package/dist/client-PVBPZ7PY.js +19 -0
- package/dist/code-CSXOLKOP.js +76 -0
- package/dist/companies-3QI5C5Y6.js +196 -0
- package/dist/complete-ASGIH43P.js +82 -0
- package/dist/config-MNPHHWYU.js +88 -0
- package/dist/connect-F2PU33RV.js +43 -0
- package/dist/content-UYBZ5S7Z.js +85 -0
- package/dist/conversation-BYO57I25.js +94 -0
- package/dist/conversion-report-UCP43YAG.js +125 -0
- package/dist/conversion-upload-command-YVA3Y7GJ.js +439 -0
- package/dist/conversion-upload-command-YVA3Y7GJ.js.map +1 -0
- package/dist/conversion-writes-6ZIY7DHZ.js +120 -0
- package/dist/conversions-BDSIXF2V.js +76 -0
- package/dist/conversions-JBZD2FZN.js +138 -0
- package/dist/copy-writes-SIQPN7L4.js +168 -0
- package/dist/copy-writes-SIQPN7L4.js.map +1 -0
- package/dist/countries-N2PAVVCQ.js +82 -0
- package/dist/create-EDDKOKK6.js +133 -0
- package/dist/create-PESL7TJ5.js +237 -0
- package/dist/create-PESL7TJ5.js.map +1 -0
- package/dist/create-UXH5MYEO.js +208 -0
- package/dist/create-YEHXJBFR.js +60 -0
- package/dist/creatives-3HSV4K6W.js +89 -0
- package/dist/creatives-3HSV4K6W.js.map +1 -0
- package/dist/creatives-3TRWYOYU.js +221 -0
- package/dist/creatives-KYSRCR5C.js +58 -0
- package/dist/credentials-Z4KS5QU6.js +288 -0
- package/dist/critique-NYW7FEPO.js +230 -0
- package/dist/critique-NYW7FEPO.js.map +1 -0
- package/dist/critique-YZWJ3ABO.js +1459 -0
- package/dist/crm-CDAVHXUS.js +319 -0
- package/dist/crm-TMEDDF67.js +225 -0
- package/dist/crop-4WS3WNXI.js +113 -0
- package/dist/currency-K4PRDLDG.js +88 -0
- package/dist/custom-conversions-XY6G3BXU.js +128 -0
- package/dist/custom-conversions-XY6G3BXU.js.map +1 -0
- package/dist/customers-R6HXVXAS.js +57 -0
- package/dist/decide-IWUWMLIG.js +199 -0
- package/dist/delete-DECECVGG.js +65 -0
- package/dist/delete-F6AEBS4G.js +55 -0
- package/dist/delete-H2L2EGKF.js +71 -0
- package/dist/delete-R5IY7VHP.js +71 -0
- package/dist/delete-UCL6SL5B.js +67 -0
- package/dist/delete-Z4LRS6FG.js +69 -0
- package/dist/demographics-JFUKFKK7.js +139 -0
- package/dist/describe-44KTJQ6Z.js +97 -0
- package/dist/describe-V7LY3RUT.js +97 -0
- package/dist/dimensions-FZAJYJJ4.js +101 -0
- package/dist/discard-W4B5GF4S.js +67 -0
- package/dist/discover-E7OE4WFV.js +93 -0
- package/dist/discover-OYVXV25X.js +172 -0
- package/dist/domain-5WXROX3N.js +99 -0
- package/dist/download-JNNN7GSF.js +299 -0
- package/dist/draft-5I6DUWGA.js +281 -0
- package/dist/draft-KYARHXHR.js +333 -0
- package/dist/draft-RCD6ETPQ.js +308 -0
- package/dist/draft-SET2FGU3.js +218 -0
- package/dist/draft-URGXA6TO.js +238 -0
- package/dist/draft-URGXA6TO.js.map +1 -0
- package/dist/draft-US7FTGVC.js +103 -0
- package/dist/draft-XK4QG5HQ.js +100 -0
- package/dist/draft-YPSHMRPS.js +308 -0
- package/dist/draft-YPSHMRPS.js.map +1 -0
- package/dist/engine/index.js +13 -13
- package/dist/env-3ZELNMXQ.js +51 -0
- package/dist/experiment-IKWEIJKD.js +1397 -0
- package/dist/experiments-LEAZ4BNF.js +234 -0
- package/dist/export-HMF33UYY.js +168 -0
- package/dist/extract-PK3MHV6C.js +113 -0
- package/dist/facets-WSFLCFYN.js +115 -0
- package/dist/favorites-Z7MKEDY3.js +178 -0
- package/dist/feed-6VZ3XWKC.js +177 -0
- package/dist/feedback-4Y76VRYD.js +109 -0
- package/dist/feedback-4Y76VRYD.js.map +1 -0
- package/dist/feedback-record-NJAUC2KM.js +263 -0
- package/dist/feedback-record-NJAUC2KM.js.map +1 -0
- package/dist/fetch-3DI7EKDS.js +177 -0
- package/dist/fetch-LGKTI6A6.js +139 -0
- package/dist/find-PAWW75PW.js +134 -0
- package/dist/fit-FROY76YE.js +63 -0
- package/dist/flows-M5DQAKCJ.js +248 -0
- package/dist/follow-PNWO2V4L.js +94 -0
- package/dist/follow-competitors-BFUGW6PC.js +112 -0
- package/dist/following-LKNHRKVC.js +113 -0
- package/dist/fonts-G3UCJ6UI.js +37 -0
- package/dist/forecast-OOGPMYEK.js +169 -0
- package/dist/forecast-OOGPMYEK.js.map +1 -0
- package/dist/forecast-VFGNPTYV.js +119 -0
- package/dist/funding-O5ZRZN7D.js +85 -0
- package/dist/funnel-PNN4HMDB.js +395 -0
- package/dist/funnel-PNN4HMDB.js.map +1 -0
- package/dist/ga4-SSRVUS7H.js +55 -0
- package/dist/generate-T3B6GOO6.js +263 -0
- package/dist/get-2BJKONHE.js +61 -0
- package/dist/get-6MHTPGHS.js +80 -0
- package/dist/get-DDBTEMJL.js +59 -0
- package/dist/get-G7JYP5E5.js +57 -0
- package/dist/get-IIIYTJY4.js +63 -0
- package/dist/get-JE3VGJPS.js +92 -0
- package/dist/get-KL7VTM6W.js +38 -0
- package/dist/get-ZNCET7LN.js +63 -0
- package/dist/gif-HZC5PIGN.js +102 -0
- package/dist/google-2JAG2MZJ.js +136 -0
- package/dist/google-JQHC36XQ.js +3266 -0
- package/dist/google-JQHC36XQ.js.map +1 -0
- package/dist/google-ads-Q2WVOJU2.js +196 -0
- package/dist/group-5KTGIHXJ.js +43 -0
- package/dist/group-6U4GJLHB.js +43 -0
- package/dist/gsc-76PWFEHH.js +30 -0
- package/dist/history-BVMIJLIL.js +67 -0
- package/dist/history-W22KYHZV.js +134 -0
- package/dist/hubspot-RF4FMSX2.js +780 -0
- package/dist/icon-ENQRKK4O.js +137 -0
- package/dist/ideas-Y7HFEXFE.js +43 -0
- package/dist/images-2PKU5XDS.js +92 -0
- package/dist/improve-L43S5YWU.js +86 -0
- package/dist/ingest-JHJOFWIU.js +108 -0
- package/dist/ingest-JU67Z5D3.js +24 -0
- package/dist/insights-HOOHR2FS.js +425 -0
- package/dist/insights-HOOHR2FS.js.map +1 -0
- package/dist/insights-NOOVPFK3.js +122 -0
- package/dist/inspect-53NDMKC5.js +190 -0
- package/dist/inspiration-6NICXN3P.js +53 -0
- package/dist/instant-experiences-3LQ7RR6D.js +258 -0
- package/dist/instant-experiences-3LQ7RR6D.js.map +1 -0
- package/dist/intent-MLZCTLEX.js +95 -0
- package/dist/job-EXB5MGPT.js +202 -0
- package/dist/job-create-EPYGKZPB.js +109 -0
- package/dist/job-status-E7YXP2PT.js +74 -0
- package/dist/keep-ELL3JFEC.js +78 -0
- package/dist/keyword-gap-WD5TDZFR.js +130 -0
- package/dist/keyword-metrics-QMQCZKMX.js +198 -0
- package/dist/keywords-for-site-WL54QH6G.js +129 -0
- package/dist/landing-ZHCVMCYK.js +28 -0
- package/dist/landings-YVXUVNPA.js +151 -0
- package/dist/languages-F4FX2VC2.js +40 -0
- package/dist/languages-YIYCOFLI.js +55 -0
- package/dist/launches-G5AYQIEO.js +19 -0
- package/dist/layerize-EEHJX2QP.js +190 -0
- package/dist/leads-BDGL7TNL.js +538 -0
- package/dist/leads-BDGL7TNL.js.map +1 -0
- package/dist/leads-C26QFD46.js +113 -0
- package/dist/learn-YRHVTBEW.js +205 -0
- package/dist/library-GLXT2ZZI.js +109 -0
- package/dist/lighthouse-DUAYYKVA.js +75 -0
- package/dist/line-item-writes-HSXCO3UM.js +209 -0
- package/dist/line-items-LU7VFYJ3.js +103 -0
- package/dist/link-N4F54R2W.js +65 -0
- package/dist/linkedin-F43WCEFC.js +1314 -0
- package/dist/list-CMCHPFU4.js +76 -0
- package/dist/list-EXKTPY65.js +57 -0
- package/dist/list-FGWN66JV.js +65 -0
- package/dist/list-H4YHY65J.js +304 -0
- package/dist/list-IIUY5WTV.js +93 -0
- package/dist/list-MNFGWVNZ.js +152 -0
- package/dist/list-QUQ5TUDK.js +51 -0
- package/dist/list-TY5WZFFE.js +50 -0
- package/dist/list-YWEP74CM.js +65 -0
- package/dist/locations-N3USZ27M.js +40 -0
- package/dist/locations-S67HBZA7.js +67 -0
- package/dist/log-CGQRPLGU.js +93 -0
- package/dist/logo-IXIQBWRL.js +18 -0
- package/dist/lookup-NKLRB3NS.js +22 -0
- package/dist/make-WOO3XWQ2.js +1368 -0
- package/dist/make-WOO3XWQ2.js.map +1 -0
- package/dist/map-GW7NDNYC.js +434 -0
- package/dist/mcp-DUTXWJFC.js +715 -0
- package/dist/media-2JCAFWCU.js +89 -0
- package/dist/media-NPMNY5MJ.js +18 -0
- package/dist/media-sources-J2LY7NLR.js +35 -0
- package/dist/members-5YUHOWVS.js +45 -0
- package/dist/meme-G2HE54IY.js +100 -0
- package/dist/meta-ACKABP2H.js +122 -0
- package/dist/metrics-ZNQDSBVO.js +152 -0
- package/dist/models-QAR6ZOM3.js +155 -0
- package/dist/normalize-QP5Z5EYO.js +142 -0
- package/dist/normalize-X6GW75LV.js +806 -0
- package/dist/options-743FW5PT.js +123 -0
- package/dist/organization-OW6WPRA3.js +947 -0
- package/dist/output-GAAXGXQS.js +24 -0
- package/dist/page-ZA6VOW7F.js +105 -0
- package/dist/page-photos-B5775SA4.js +116 -0
- package/dist/page-photos-B5775SA4.js.map +1 -0
- package/dist/pages-Q4LDTTOZ.js +67 -0
- package/dist/pages-Q4LDTTOZ.js.map +1 -0
- package/dist/performance-F7OHUDYL.js +25 -0
- package/dist/pinterest-SH7Q3BGY.js +96 -0
- package/dist/pixels-CKH6Q2LC.js +109 -0
- package/dist/pixels-CKH6Q2LC.js.map +1 -0
- package/dist/pixels-YVOTALZW.js +60 -0
- package/dist/plan-SF3AJ3U3.js +207 -0
- package/dist/posts-JMGQEPWZ.js +34 -0
- package/dist/preview-UJH6FFJV.js +216 -0
- package/dist/preview-UJH6FFJV.js.map +1 -0
- package/dist/profile-GE6L5LGA.js +159 -0
- package/dist/promoted-tweet-writes-T2ZN246D.js +181 -0
- package/dist/promoted-tweets-EW3VXPZU.js +119 -0
- package/dist/properties-EJ6ANQZO.js +101 -0
- package/dist/publish-PIUYQKOE.js +342 -0
- package/dist/query-732XAQUN.js +61 -0
- package/dist/query-D7OVFIC4.js +236 -0
- package/dist/query-EKMXON7N.js +247 -0
- package/dist/questionnaire-RSAGT4BO.js +93 -0
- package/dist/read-JQ3OAR7D.js +141 -0
- package/dist/reddit-33K3IIHG.js +27 -0
- package/dist/refresh-JIJVT3SV.js +95 -0
- package/dist/refresh-Q5ZVBWQX.js +42 -0
- package/dist/release-3MTLVI3Q.js +61 -0
- package/dist/relevant-pages-HKF77GO5.js +99 -0
- package/dist/remove-3EIQM4ZN.js +51 -0
- package/dist/remove-T6UJSL5S.js +49 -0
- package/dist/reopen-56LN4EDE.js +64 -0
- package/dist/rerun-FQCYQ5OO.js +93 -0
- package/dist/rerun-FQCYQ5OO.js.map +1 -0
- package/dist/research-IU26Y65V.js +263 -0
- package/dist/research-P5FLAJIZ.js +62 -0
- package/dist/reset-7L6UNBW6.js +55 -0
- package/dist/reset-7T3QY4MY.js +55 -0
- package/dist/resolve-LZGMF3RI.js +122 -0
- package/dist/retry-CCQPI5MS.js +63 -0
- package/dist/retry-EJIMFCPU.js +61 -0
- package/dist/retry-failed-FTS44UES.js +45 -0
- package/dist/revenue-3WIZFO4L.js +89 -0
- package/dist/rule-writes-GOUJ7QDD.js +523 -0
- package/dist/rule-writes-GOUJ7QDD.js.map +1 -0
- package/dist/rules-CC4M4WH5.js +217 -0
- package/dist/rules-CC4M4WH5.js.map +1 -0
- package/dist/rules-TMLFDY6X.js +97 -0
- package/dist/rules-add-O766M6I5.js +463 -0
- package/dist/run-Y7VNP5EE.js +67 -0
- package/dist/run-ZXGD5GAY.js +68 -0
- package/dist/scaffold-ad-RM7ZUCJQ.js +1514 -0
- package/dist/scaffold-ad-RM7ZUCJQ.js.map +1 -0
- package/dist/scaffold-static-ad-KLP7UD3Q.js +1008 -0
- package/dist/scaffold-static-ad-KLP7UD3Q.js.map +1 -0
- package/dist/scaffold-video-B7KMSBCG.js +886 -0
- package/dist/scaffold-video-B7KMSBCG.js.map +1 -0
- package/dist/schedule-AJDMS4BD.js +62 -0
- package/dist/schedule-NCCNWKDY.js +67 -0
- package/dist/scheduled-agents-PCS3VL4R.js +50 -0
- package/dist/schema-KIA5RJDM.js +69 -0
- package/dist/schema-ZUOO5D6X.js +133 -0
- package/dist/scrape-MWW6FBUC.js +2241 -0
- package/dist/screenshot-6K7AEO4C.js +102 -0
- package/dist/search-2VJC4CVT.js +26 -0
- package/dist/search-EUGQ45JM.js +224 -0
- package/dist/search-L5CMOZA3.js +175 -0
- package/dist/search-NPL5TN7D.js +92 -0
- package/dist/search-RZKZUUZC.js +91 -0
- package/dist/search-YLKXXAYA.js +51 -0
- package/dist/search-copy-LC5EPYJG.js +168 -0
- package/dist/seeds-JI34P4HA.js +101 -0
- package/dist/select-ZAJH4HZ5.js +104 -0
- package/dist/select-ZAJH4HZ5.js.map +1 -0
- package/dist/sends-7WGK6K6C.js +309 -0
- package/dist/sequences-IIEG46TU.js +146 -0
- package/dist/set-prompt-6H6JQW3X.js +196 -0
- package/dist/set-prompt-6H6JQW3X.js.map +1 -0
- package/dist/setup-links-VNEI42A5.js +142 -0
- package/dist/shared-UNQ3OBEC.js +32 -0
- package/dist/shopify-TOUT5NTX.js +3956 -0
- package/dist/shopify-TOUT5NTX.js.map +1 -0
- package/dist/site-E4EUL77X.js +178 -0
- package/dist/sitemaps-R6462TYK.js +87 -0
- package/dist/sites-BS5SBTVM.js +101 -0
- package/dist/skills-7BZQVAEY.js +47 -0
- package/dist/sources-6TCMSLQK.js +30 -0
- package/dist/sources-LO3YOOQO.js +455 -0
- package/dist/stale-DWC6547O.js +74 -0
- package/dist/stale-DWC6547O.js.map +1 -0
- package/dist/stats-TVQVRDQS.js +34 -0
- package/dist/status-J4K5HOKZ.js +63 -0
- package/dist/sticker-IQTULOZN.js +94 -0
- package/dist/stock-25YD32HR.js +179 -0
- package/dist/studies-GVNMVY57.js +250 -0
- package/dist/studies-GVNMVY57.js.map +1 -0
- package/dist/studio-2M2XBR7E.js +49 -0
- package/dist/study-writes-GHA7REOK.js +468 -0
- package/dist/study-writes-GHA7REOK.js.map +1 -0
- package/dist/suggest-6PNUDXOE.js +66 -0
- package/dist/sync-3HWGVAQV.js +55 -0
- package/dist/sync-4IBJWSBV.js +55 -0
- package/dist/sync-GHPIPBO6.js +265 -0
- package/dist/sync-definition-HEASUFK6.js +67 -0
- package/dist/tag-76TTKDKF.js +57 -0
- package/dist/tag-manager-4AJIUX7V.js +43 -0
- package/dist/tags-2XK6ZQI2.js +26 -0
- package/dist/tags-6LW4FTZ3.js +21 -0
- package/dist/tags-QEAH2IRF.js +21 -0
- package/dist/tags-XTY5VXDS.js +225 -0
- package/dist/tags-ZPBHZBLV.js +21 -0
- package/dist/targeting-7IF7LRXO.js +760 -0
- package/dist/targeting-7IF7LRXO.js.map +1 -0
- package/dist/targeting-constants-ARGJ3QQV.js +118 -0
- package/dist/targeting-criteria-GMWARSTV.js +113 -0
- package/dist/targets-I2WFL6JZ.js +104 -0
- package/dist/terms-YM6UNNYX.js +102 -0
- package/dist/terms-YM6UNNYX.js.map +1 -0
- package/dist/testimonials-DKFN34CI.js +32 -0
- package/dist/themes-XXVYTL54.js +95 -0
- package/dist/themes-XXVYTL54.js.map +1 -0
- package/dist/top-companies-7C3QZ3Q4.js +109 -0
- package/dist/translate-W6S6U4EE.js +607 -0
- package/dist/translate-W6S6U4EE.js.map +1 -0
- package/dist/triggers-I6BWR2BN.js +143 -0
- package/dist/tweets-SGNWR3H5.js +123 -0
- package/dist/unfollow-TMZ76BRA.js +46 -0
- package/dist/unlink-CD7WJQBU.js +68 -0
- package/dist/unstage-ATF3XNAD.js +95 -0
- package/dist/unstage-KP5VRZMN.js +86 -0
- package/dist/update-4EZRHJNR.js +81 -0
- package/dist/update-5MWCI3DR.js +64 -0
- package/dist/update-7XYPACZR.js +189 -0
- package/dist/update-FLNXNPQA.js +99 -0
- package/dist/update-K75QQ2GN.js +153 -0
- package/dist/upload-NSSD63IM.js +150 -0
- package/dist/upload-O4IINV5I.js +127 -0
- package/dist/upscale-UXOBILTP.js +109 -0
- package/dist/url-options-UK244DY7.js +130 -0
- package/dist/url-params-2SXL2PX4.js +99 -0
- package/dist/use-F5TRLSNK.js +95 -0
- package/dist/validate-2N3N3ING.js +120 -0
- package/dist/validate-2N3N3ING.js.map +1 -0
- package/dist/variant-KLBKFKHB.js +338 -0
- package/dist/videos-TBYEUE35.js +39 -0
- package/dist/view-R64LLT5L.js +121 -0
- package/dist/viewer-check-KBF5PCQV.js +81 -0
- package/dist/web-TMQHTWRB.js +141 -0
- package/dist/winners-VN2EHFDV.js +113 -0
- package/dist/winning-ads-YYBQZJRL.js +86 -0
- package/dist/write-commands-3RLSYXOH.js +1170 -0
- package/dist/write-commands-3RLSYXOH.js.map +1 -0
- package/dist/write-commands-AGKTMDAR.js +713 -0
- package/dist/write-commands-EZH66GPE.js +1493 -0
- package/dist/write-commands-G6423E2M.js +206 -0
- package/dist/x-JGV5D7AV.js +47 -0
- package/package.json +2 -1
- package/dist/account-EF6OPUJT.js +0 -80
- package/dist/account-RKULYCBU.js +0 -138
- package/dist/account-RKULYCBU.js.map +0 -1
- package/dist/account-ZKJFX2GK.js +0 -80
- package/dist/account-assets-CFAOK5DT.js +0 -289
- package/dist/account-assets-CFAOK5DT.js.map +0 -1
- package/dist/account-level-FYY73RMI.js +0 -608
- package/dist/account-level-FYY73RMI.js.map +0 -1
- package/dist/account-reads-CDZ3EL5D.js +0 -218
- package/dist/account-reads-CDZ3EL5D.js.map +0 -1
- package/dist/account-users-SZCYHVBM.js +0 -62
- package/dist/account-writes-VWU4FRGQ.js +0 -66
- package/dist/accounts-5DFYKYSM.js +0 -78
- package/dist/accounts-GVNJHHCS.js +0 -75
- package/dist/accounts-GVNJHHCS.js.map +0 -1
- package/dist/accounts-OGAIQNE6.js +0 -612
- package/dist/accounts-SLFTEHCR.js +0 -114
- package/dist/accounts-W4BPE2CS.js +0 -115
- package/dist/actions-FMNJSOBA.js +0 -55
- package/dist/active-entities-6LIZ63M5.js +0 -103
- package/dist/activecampaign-LYYYH6XD.js +0 -936
- package/dist/activities-EBYAXP7Y.js +0 -74
- package/dist/activities-EBYAXP7Y.js.map +0 -1
- package/dist/ad-group-writes-ID6I3QUZ.js +0 -170
- package/dist/ad-groups-M7CV6NTH.js +0 -68
- package/dist/ad-writes-TSOAZYRE.js +0 -174
- package/dist/add-44SGKTS4.js +0 -97
- package/dist/add-6DDU34GR.js +0 -81
- package/dist/add-AOQLZRPC.js +0 -80
- package/dist/add-HWXEPSZF.js +0 -105
- package/dist/add-VDZPGZF5.js +0 -148
- package/dist/add-YYP3O536.js +0 -303
- package/dist/add-accounts-QM4TQGDW.js +0 -91
- package/dist/ads-CGLO73MH.js +0 -77
- package/dist/ads-KDIRM745.js +0 -128
- package/dist/ads-OLXSDPD6.js +0 -40
- package/dist/ads-OLXSDPD6.js.map +0 -1
- package/dist/ads-YN2RFVXT.js +0 -114
- package/dist/ads-YN2RFVXT.js.map +0 -1
- package/dist/adsets-Y6BI4PKX.js +0 -177
- package/dist/adsets-Y6BI4PKX.js.map +0 -1
- package/dist/advertisers-OMB4FKK6.js +0 -125
- package/dist/advertisers-STYAIX72.js +0 -121
- package/dist/analytics-6WBK4VFO.js +0 -1977
- package/dist/analytics-6WBK4VFO.js.map +0 -1
- package/dist/analytics-DHB325DM.js +0 -434
- package/dist/animate-RGZWDZG2.js +0 -480
- package/dist/asset-writes-IO4QAGHL.js +0 -47
- package/dist/assign-BFXHYTMF.js +0 -78
- package/dist/audience-size-XWHZV2GH.js +0 -74
- package/dist/audience-writes-A2BWAI6W.js +0 -324
- package/dist/audience-writes-A2BWAI6W.js.map +0 -1
- package/dist/audiences-CDMGWVPJ.js +0 -84
- package/dist/audiences-CDMGWVPJ.js.map +0 -1
- package/dist/audiences-CHSF4TQR.js +0 -85
- package/dist/audiences-WXIP5PJH.js +0 -268
- package/dist/audit-IYGRU7LD.js +0 -152
- package/dist/audit-SJKN45IG.js +0 -88
- package/dist/autocomplete-SDDSJTAF.js +0 -112
- package/dist/avatars-I4H3NMEJ.js +0 -38
- package/dist/bid-pricing-OVYBDRMV.js +0 -101
- package/dist/brand-3V7ECY7D.js +0 -22
- package/dist/brief-U2W7KMFC.js +0 -539
- package/dist/brief-U2W7KMFC.js.map +0 -1
- package/dist/businesses-LPMQQGET.js +0 -53
- package/dist/businesses-LPMQQGET.js.map +0 -1
- package/dist/campaign-groups-FJHBVUA3.js +0 -97
- package/dist/campaign-writes-W5IL6ZGB.js +0 -170
- package/dist/campaign-writes-XKYYMZML.js +0 -166
- package/dist/campaigns-E5UW4I3X.js +0 -111
- package/dist/campaigns-FLTPD66X.js +0 -76
- package/dist/campaigns-GMWDSTYE.js +0 -127
- package/dist/campaigns-GMWDSTYE.js.map +0 -1
- package/dist/campaigns-MCB76NPQ.js +0 -107
- package/dist/canvas-JCNKMGCG.js +0 -46
- package/dist/capabilities-CLTZCXCZ.js +0 -145
- package/dist/cards-DVC5NT5X.js +0 -85
- package/dist/catalog-ZDLQAODO.js +0 -65
- package/dist/catalogs-26VXVUST.js +0 -128
- package/dist/catalogs-L4JLSLHY.js +0 -778
- package/dist/catalogs-L4JLSLHY.js.map +0 -1
- package/dist/changes-SX2N5KIO.js +0 -135
- package/dist/chatgpt-XFZ42NXC.js +0 -47
- package/dist/chats-DTJSBDWO.js +0 -277
- package/dist/check-CZTS64AW.js +0 -105
- package/dist/chunk-2VIZ4UUZ.js +0 -320
- package/dist/chunk-2YKXDFYX.js +0 -191
- package/dist/chunk-2YTBPRRG.js +0 -207
- package/dist/chunk-3RGR6COY.js +0 -219
- package/dist/chunk-3S274625.js +0 -131
- package/dist/chunk-3SNCMEJB.js +0 -97
- package/dist/chunk-4Z5BOHCH.js +0 -42
- package/dist/chunk-57KKVDDR.js +0 -472
- package/dist/chunk-5GQCN2QZ.js +0 -391
- package/dist/chunk-5VKADFSS.js +0 -111
- package/dist/chunk-5YKNG6NN.js +0 -45
- package/dist/chunk-6UNOK7WV.js +0 -97
- package/dist/chunk-6YLNY6CK.js +0 -220
- package/dist/chunk-7KHTJQGV.js +0 -1518
- package/dist/chunk-7QGFO35A.js +0 -23
- package/dist/chunk-A3DKSAEL.js +0 -1606
- package/dist/chunk-A4DZ5L3T.js +0 -665
- package/dist/chunk-A4DZ5L3T.js.map +0 -1
- package/dist/chunk-A4MVVPJ2.js +0 -4204
- package/dist/chunk-A4MVVPJ2.js.map +0 -1
- package/dist/chunk-A6WKCV3V.js +0 -75
- package/dist/chunk-ACDLKTUP.js +0 -23992
- package/dist/chunk-AV7ALENU.js +0 -191
- package/dist/chunk-B7GF34FU.js +0 -8914
- package/dist/chunk-BAXDNVT2.js +0 -225
- package/dist/chunk-BC2BXRXY.js +0 -2887
- package/dist/chunk-BC2BXRXY.js.map +0 -1
- package/dist/chunk-BDYLILMW.js +0 -150
- package/dist/chunk-BK2W6XNJ.js +0 -205
- package/dist/chunk-BK2W6XNJ.js.map +0 -1
- package/dist/chunk-BRLFQ4VX.js +0 -604
- package/dist/chunk-BVF2P65L.js +0 -58
- package/dist/chunk-CBXIUKGG.js +0 -74
- package/dist/chunk-CRIP3IUP.js +0 -191
- package/dist/chunk-CRIP3IUP.js.map +0 -1
- package/dist/chunk-CZYLHFSD.js +0 -106
- package/dist/chunk-D5NEIESR.js +0 -215
- package/dist/chunk-DJE7UXYT.js +0 -831
- package/dist/chunk-EFWXYUSK.js +0 -139
- package/dist/chunk-EGPYWJGZ.js +0 -98
- package/dist/chunk-EJ4QCMM6.js +0 -285
- package/dist/chunk-EONSZAZB.js +0 -3868
- package/dist/chunk-F2OCUTMQ.js +0 -544
- package/dist/chunk-F377KYIM.js +0 -274
- package/dist/chunk-FALJQCWL.js +0 -661
- package/dist/chunk-FCM6VPFP.js +0 -98
- package/dist/chunk-FG3MV2XM.js +0 -89
- package/dist/chunk-FKG476GH.js +0 -392
- package/dist/chunk-FKYPAGKK.js +0 -1919
- package/dist/chunk-FUGQSIYG.js +0 -297
- package/dist/chunk-G4OFH3MX.js +0 -455
- package/dist/chunk-G4OFH3MX.js.map +0 -1
- package/dist/chunk-GZ4A2VYW.js +0 -39
- package/dist/chunk-HLVRHBKL.js +0 -1078
- package/dist/chunk-HLVRHBKL.js.map +0 -1
- package/dist/chunk-HPLHAHG5.js +0 -275
- package/dist/chunk-I24YT2KG.js +0 -122
- package/dist/chunk-IBTSIPYA.js +0 -74
- package/dist/chunk-IFDZZOUC.js +0 -903
- package/dist/chunk-IFDZZOUC.js.map +0 -1
- package/dist/chunk-IZU6AR7D.js +0 -287
- package/dist/chunk-JHUYPCMT.js +0 -74
- package/dist/chunk-JVVUI55M.js +0 -455
- package/dist/chunk-JX7BX2NB.js +0 -333
- package/dist/chunk-KKSHEPBY.js +0 -363
- package/dist/chunk-KNY4DLVF.js +0 -67
- package/dist/chunk-KQ7RCLGC.js +0 -547
- package/dist/chunk-KXCKTEJ6.js +0 -76
- package/dist/chunk-L7WMS5PW.js +0 -172
- package/dist/chunk-L7WMS5PW.js.map +0 -1
- package/dist/chunk-LBRO4MTL.js +0 -19
- package/dist/chunk-LK6W5FDV.js +0 -35
- package/dist/chunk-LNRPOULW.js +0 -224
- package/dist/chunk-LX6WC2XZ.js +0 -942
- package/dist/chunk-LZ5PTBWR.js +0 -66
- package/dist/chunk-MMGTJBM6.js +0 -142
- package/dist/chunk-MOFMOYUA.js +0 -148
- package/dist/chunk-MSQR5I52.js +0 -56
- package/dist/chunk-NA7PXVCW.js +0 -106
- package/dist/chunk-NZKBW4YB.js +0 -846
- package/dist/chunk-O37VU7FG.js +0 -6799
- package/dist/chunk-O37VU7FG.js.map +0 -1
- package/dist/chunk-OEZYSL3U.js +0 -51
- package/dist/chunk-OL7JS4NG.js +0 -5368
- package/dist/chunk-OOVHBMQB.js +0 -103
- package/dist/chunk-PAJJXZ3Z.js +0 -170
- package/dist/chunk-PAJJXZ3Z.js.map +0 -1
- package/dist/chunk-PTH7VWKK.js +0 -159
- package/dist/chunk-PYD6IGW6.js +0 -401
- package/dist/chunk-PYD6IGW6.js.map +0 -1
- package/dist/chunk-Q5QHNTHA.js +0 -97
- package/dist/chunk-QANGHND7.js +0 -2140
- package/dist/chunk-QANGHND7.js.map +0 -1
- package/dist/chunk-QE2E4EYJ.js +0 -349
- package/dist/chunk-QG4MW2V4.js +0 -25
- package/dist/chunk-QMOYQJIN.js +0 -46
- package/dist/chunk-QNJVRI3E.js +0 -84
- package/dist/chunk-QRLTVJ6F.js +0 -167
- package/dist/chunk-QZF4BVKL.js +0 -66
- package/dist/chunk-R25JC3BD.js +0 -125
- package/dist/chunk-RITUSBYO.js +0 -61
- package/dist/chunk-RJZS4XDJ.js +0 -64
- package/dist/chunk-RMMSBI5C.js +0 -149
- package/dist/chunk-RMMSBI5C.js.map +0 -1
- package/dist/chunk-RUHZ7BRN.js +0 -163
- package/dist/chunk-RUHZ7BRN.js.map +0 -1
- package/dist/chunk-RVTXDQYC.js +0 -46
- package/dist/chunk-S4VLLGTW.js +0 -843
- package/dist/chunk-SSTL3A7Z.js +0 -206
- package/dist/chunk-SVM3DGAQ.js +0 -228
- package/dist/chunk-SZNGQ2GF.js +0 -64
- package/dist/chunk-TD4SO6TR.js +0 -169
- package/dist/chunk-TQNDAOMB.js +0 -188
- package/dist/chunk-U6RONIJC.js +0 -52
- package/dist/chunk-U7YR5CZL.js +0 -1744
- package/dist/chunk-UFKO626N.js +0 -84
- package/dist/chunk-UZ4RTOFG.js +0 -91
- package/dist/chunk-VAX7PFQV.js +0 -592
- package/dist/chunk-VDRSZK4P.js +0 -494
- package/dist/chunk-VDTOAZ6W.js +0 -76
- package/dist/chunk-VI5YQQ63.js +0 -296
- package/dist/chunk-VNU2EYD4.js +0 -344
- package/dist/chunk-WHWSLDNR.js +0 -166
- package/dist/chunk-WT4WDIXA.js +0 -156
- package/dist/chunk-WTJSMYY2.js +0 -4249
- package/dist/chunk-WTJSMYY2.js.map +0 -1
- package/dist/chunk-X5QWQNAX.js +0 -26
- package/dist/chunk-XEX23CIB.js +0 -160
- package/dist/chunk-XEX23CIB.js.map +0 -1
- package/dist/chunk-XQIOCIDO.js +0 -204
- package/dist/chunk-XQIOCIDO.js.map +0 -1
- package/dist/chunk-XRIM7NYV.js +0 -136
- package/dist/chunk-XXDF25BW.js +0 -8939
- package/dist/chunk-XXDF25BW.js.map +0 -1
- package/dist/chunk-Y46FE75E.js +0 -627
- package/dist/chunk-Y46FE75E.js.map +0 -1
- package/dist/chunk-Y4OYFJP7.js +0 -94
- package/dist/chunk-YJ3LSFMX.js +0 -249
- package/dist/chunk-YV7PKHFB.js +0 -66
- package/dist/chunk-YVK5RT3B.js +0 -197
- package/dist/chunk-YWWRLZUR.js +0 -433
- package/dist/chunk-YWWRLZUR.js.map +0 -1
- package/dist/chunk-Z4S5BCVZ.js +0 -57
- package/dist/chunk-ZA7OQLDJ.js +0 -225
- package/dist/chunk-ZYGK7GAK.js +0 -1079
- package/dist/claim-TSFPWTQY.js +0 -198
- package/dist/client-PFQ3SLQ4.js +0 -19
- package/dist/code-OF7NV2EG.js +0 -76
- package/dist/companies-P7FZNJQV.js +0 -196
- package/dist/complete-SYDIHMD5.js +0 -82
- package/dist/config-YVNIYO5K.js +0 -88
- package/dist/connect-COS6G45S.js +0 -43
- package/dist/content-JDTHVSPS.js +0 -85
- package/dist/conversation-UJOWMJRH.js +0 -94
- package/dist/conversion-report-7JJ5L6WH.js +0 -125
- package/dist/conversion-upload-command-UO2QWG3J.js +0 -438
- package/dist/conversion-upload-command-UO2QWG3J.js.map +0 -1
- package/dist/conversion-writes-GIGAZT4T.js +0 -120
- package/dist/conversions-CIJZLGII.js +0 -76
- package/dist/conversions-ONOIEILU.js +0 -138
- package/dist/copy-writes-SKHINWEA.js +0 -167
- package/dist/copy-writes-SKHINWEA.js.map +0 -1
- package/dist/countries-F5ISQB3M.js +0 -82
- package/dist/create-DPQRYQXK.js +0 -208
- package/dist/create-JD76Z4A4.js +0 -60
- package/dist/create-NOT3HGP2.js +0 -133
- package/dist/create-ZYEB7SHF.js +0 -236
- package/dist/create-ZYEB7SHF.js.map +0 -1
- package/dist/creatives-26MRMCDJ.js +0 -88
- package/dist/creatives-26MRMCDJ.js.map +0 -1
- package/dist/creatives-LRSELC7Y.js +0 -221
- package/dist/creatives-SEQHJD2M.js +0 -58
- package/dist/credentials-LHPTUVVA.js +0 -288
- package/dist/critique-Q7GSZ5RP.js +0 -1459
- package/dist/critique-RR2XOQCE.js +0 -228
- package/dist/critique-RR2XOQCE.js.map +0 -1
- package/dist/crm-J7EU32PL.js +0 -319
- package/dist/crm-MC444ZVU.js +0 -225
- package/dist/crop-PWHHLMDF.js +0 -113
- package/dist/currency-TAEJVMVK.js +0 -88
- package/dist/custom-conversions-RLBWJL7D.js +0 -127
- package/dist/custom-conversions-RLBWJL7D.js.map +0 -1
- package/dist/customers-LMSX33FO.js +0 -57
- package/dist/decide-E4AREOPP.js +0 -199
- package/dist/delete-3US2W4F6.js +0 -71
- package/dist/delete-BQBVATMF.js +0 -55
- package/dist/delete-K7A3AUPH.js +0 -65
- package/dist/delete-THR72JIR.js +0 -71
- package/dist/delete-VV2ICIHF.js +0 -67
- package/dist/delete-XBIME2H4.js +0 -69
- package/dist/demographics-7GWUXXS6.js +0 -139
- package/dist/describe-HOMUJ4T4.js +0 -97
- package/dist/describe-JVHEKSX3.js +0 -97
- package/dist/dimensions-K2WK7QBJ.js +0 -101
- package/dist/discard-3CLZ4DPD.js +0 -67
- package/dist/discover-5Z253HXF.js +0 -172
- package/dist/discover-SII47P73.js +0 -93
- package/dist/domain-ZS74BSE6.js +0 -99
- package/dist/download-DHB3EIMS.js +0 -299
- package/dist/draft-7DWRFCXW.js +0 -281
- package/dist/draft-DHDDPACQ.js +0 -103
- package/dist/draft-E47E762T.js +0 -100
- package/dist/draft-EHU4A7EZ.js +0 -237
- package/dist/draft-EHU4A7EZ.js.map +0 -1
- package/dist/draft-J3B33RAZ.js +0 -308
- package/dist/draft-MNEM4N5W.js +0 -307
- package/dist/draft-MNEM4N5W.js.map +0 -1
- package/dist/draft-MZLWVX3D.js +0 -218
- package/dist/draft-R56PIXCV.js +0 -333
- package/dist/env-PKUYZY5O.js +0 -51
- package/dist/experiment-7RJ5X2LL.js +0 -1397
- package/dist/experiments-NOSJJMYI.js +0 -234
- package/dist/export-AGDNQZKC.js +0 -168
- package/dist/extract-4MIPIBVC.js +0 -113
- package/dist/facets-E6SHYUAI.js +0 -115
- package/dist/favorites-XHY64GCM.js +0 -178
- package/dist/feed-724KWSNI.js +0 -177
- package/dist/feedback-HXCQBV7S.js +0 -107
- package/dist/feedback-HXCQBV7S.js.map +0 -1
- package/dist/feedback-record-GXPYXNT6.js +0 -261
- package/dist/feedback-record-GXPYXNT6.js.map +0 -1
- package/dist/fetch-HMUGSRE4.js +0 -177
- package/dist/fetch-RYS6DEJH.js +0 -139
- package/dist/find-2EPXK5RF.js +0 -134
- package/dist/fit-W7UNFZT5.js +0 -63
- package/dist/flows-SO5J3M3X.js +0 -248
- package/dist/follow-LRGW6OHI.js +0 -94
- package/dist/follow-competitors-UUN7EKFR.js +0 -112
- package/dist/following-ISRRC2QL.js +0 -113
- package/dist/fonts-N42UYWTX.js +0 -37
- package/dist/forecast-24LGJVLC.js +0 -119
- package/dist/forecast-W7Z5TVQX.js +0 -168
- package/dist/forecast-W7Z5TVQX.js.map +0 -1
- package/dist/funding-KMXQ6CXM.js +0 -85
- package/dist/funnel-NYT36B3C.js +0 -395
- package/dist/funnel-NYT36B3C.js.map +0 -1
- package/dist/ga4-6EIQC2TG.js +0 -55
- package/dist/generate-Y76WU7M7.js +0 -263
- package/dist/get-23L2AVTV.js +0 -63
- package/dist/get-GDI2MOAU.js +0 -92
- package/dist/get-JPOUTSU5.js +0 -63
- package/dist/get-KAGO4EC5.js +0 -80
- package/dist/get-LNLY2RWU.js +0 -61
- package/dist/get-PZX27LQY.js +0 -38
- package/dist/get-R5JAFHTH.js +0 -57
- package/dist/get-VFRJAC2I.js +0 -59
- package/dist/gif-DVNNWOYA.js +0 -102
- package/dist/google-O5OI6QFU.js +0 -136
- package/dist/google-WYXDMH2N.js +0 -3265
- package/dist/google-WYXDMH2N.js.map +0 -1
- package/dist/google-ads-6X4BHGUR.js +0 -196
- package/dist/group-HNRZJMZX.js +0 -43
- package/dist/group-QPQUCV6E.js +0 -43
- package/dist/gsc-BM3T2GDL.js +0 -30
- package/dist/history-DGHMJ2XF.js +0 -67
- package/dist/history-LGOWYLBE.js +0 -134
- package/dist/hubspot-LJB3ETUT.js +0 -780
- package/dist/icon-B7DG53S5.js +0 -137
- package/dist/ideas-DYN2DMFN.js +0 -41
- package/dist/images-EQCUXEHF.js +0 -92
- package/dist/improve-56FHWRWN.js +0 -86
- package/dist/ingest-B46AY3QU.js +0 -24
- package/dist/ingest-T7ZS2R4U.js +0 -108
- package/dist/insights-BPKB6VSU.js +0 -424
- package/dist/insights-BPKB6VSU.js.map +0 -1
- package/dist/insights-EU45J56U.js +0 -122
- package/dist/inspect-BSNGAT2S.js +0 -190
- package/dist/inspiration-TCCKM4R7.js +0 -53
- package/dist/instant-experiences-WEENYTWD.js +0 -257
- package/dist/instant-experiences-WEENYTWD.js.map +0 -1
- package/dist/intent-FUGWRUSW.js +0 -95
- package/dist/job-Z34BGXVD.js +0 -202
- package/dist/job-create-HNMMERM5.js +0 -109
- package/dist/job-status-PDXGKBDG.js +0 -74
- package/dist/keep-WI7GMNYE.js +0 -78
- package/dist/keyword-gap-DXTKZLV2.js +0 -130
- package/dist/keyword-metrics-KNTIN4ZK.js +0 -198
- package/dist/keywords-for-site-S4MXGXWR.js +0 -129
- package/dist/landing-WVPA7NBR.js +0 -28
- package/dist/landings-W2ZW3WJK.js +0 -151
- package/dist/languages-73GOUAHX.js +0 -55
- package/dist/languages-XRTTEJ5P.js +0 -40
- package/dist/launches-4VFF5MNM.js +0 -19
- package/dist/layerize-IUDRVV3C.js +0 -190
- package/dist/leads-EINV5FK3.js +0 -113
- package/dist/leads-JURNJJNU.js +0 -537
- package/dist/leads-JURNJJNU.js.map +0 -1
- package/dist/learn-7Z2VR6MS.js +0 -205
- package/dist/library-2WYYM6ED.js +0 -109
- package/dist/lighthouse-ZZUYZALE.js +0 -75
- package/dist/line-item-writes-Z3TIB5KZ.js +0 -209
- package/dist/line-items-OEWYOPFP.js +0 -103
- package/dist/link-KYHUIPJE.js +0 -65
- package/dist/linkedin-JVB4HXJC.js +0 -1314
- package/dist/list-BWE7FL7W.js +0 -65
- package/dist/list-EORTO73V.js +0 -93
- package/dist/list-G3E4NIKR.js +0 -76
- package/dist/list-QCEOM2BJ.js +0 -57
- package/dist/list-QQVLURKH.js +0 -152
- package/dist/list-QUFCV73J.js +0 -51
- package/dist/list-QWGKRUSM.js +0 -65
- package/dist/list-WRBWQASJ.js +0 -50
- package/dist/list-Z6NMNK3T.js +0 -304
- package/dist/locations-PCZPKH47.js +0 -40
- package/dist/locations-TGJH3URF.js +0 -67
- package/dist/log-RUMKYPYK.js +0 -93
- package/dist/logo-QTSBKP2J.js +0 -18
- package/dist/lookup-J54KJAMC.js +0 -22
- package/dist/make-IJGCQA7C.js +0 -1354
- package/dist/make-IJGCQA7C.js.map +0 -1
- package/dist/map-QZHIJFQT.js +0 -434
- package/dist/mcp-ZH2XDV5P.js +0 -715
- package/dist/media-GXZ5JI5U.js +0 -89
- package/dist/media-NRMVRXLD.js +0 -18
- package/dist/media-sources-SQ2RPDBO.js +0 -35
- package/dist/members-4YX7JEZM.js +0 -45
- package/dist/meme-AX5INYIP.js +0 -100
- package/dist/meta-62YDR5B2.js +0 -122
- package/dist/metrics-PYPCW7FJ.js +0 -152
- package/dist/models-IAGO5GIH.js +0 -155
- package/dist/normalize-ABIWLRIT.js +0 -142
- package/dist/normalize-TW2OZKJX.js +0 -806
- package/dist/options-SVCQVTNE.js +0 -123
- package/dist/organization-FNKDC742.js +0 -947
- package/dist/output-573CQXXP.js +0 -24
- package/dist/page-QQD5IFO6.js +0 -105
- package/dist/page-photos-B6NQY5TW.js +0 -115
- package/dist/page-photos-B6NQY5TW.js.map +0 -1
- package/dist/pages-Q3SUE6HW.js +0 -66
- package/dist/pages-Q3SUE6HW.js.map +0 -1
- package/dist/performance-HTU5FR2K.js +0 -25
- package/dist/pinterest-H6V4KNL2.js +0 -96
- package/dist/pixels-EEZ7TTL4.js +0 -108
- package/dist/pixels-EEZ7TTL4.js.map +0 -1
- package/dist/pixels-R4MOLWAR.js +0 -60
- package/dist/plan-W2K45F7K.js +0 -207
- package/dist/posts-3DAPTBH2.js +0 -34
- package/dist/preview-5JSWQIM6.js +0 -215
- package/dist/preview-5JSWQIM6.js.map +0 -1
- package/dist/profile-4QZXRUR6.js +0 -159
- package/dist/promoted-tweet-writes-DD3CJNWW.js +0 -181
- package/dist/promoted-tweets-TTWN5OMW.js +0 -119
- package/dist/properties-KUNLF5I2.js +0 -101
- package/dist/publish-Z62KGDJ2.js +0 -342
- package/dist/query-72E5HVAO.js +0 -247
- package/dist/query-RODBIIWT.js +0 -236
- package/dist/query-XDHZMGLX.js +0 -61
- package/dist/questionnaire-GMU66CSP.js +0 -93
- package/dist/read-X45BP6TW.js +0 -141
- package/dist/reddit-6C3PT5CT.js +0 -27
- package/dist/refresh-HCQXVFVR.js +0 -95
- package/dist/refresh-ZCGH64OZ.js +0 -42
- package/dist/release-FIHW2HCH.js +0 -61
- package/dist/relevant-pages-CTG72PBR.js +0 -99
- package/dist/remove-CBR7NVMI.js +0 -51
- package/dist/remove-PUZP5GWN.js +0 -49
- package/dist/reopen-EJGLRQWR.js +0 -64
- package/dist/rerun-TVBZXASH.js +0 -91
- package/dist/rerun-TVBZXASH.js.map +0 -1
- package/dist/research-L25D4WHQ.js +0 -263
- package/dist/research-YCMMQVK6.js +0 -62
- package/dist/reset-HKKCWKZ7.js +0 -55
- package/dist/reset-SRL6I6GP.js +0 -55
- package/dist/resolve-POMTTAFR.js +0 -122
- package/dist/retry-MEPTOAV2.js +0 -61
- package/dist/retry-RNGM3KKA.js +0 -63
- package/dist/retry-failed-5EWFM364.js +0 -45
- package/dist/revenue-X4KPTSAM.js +0 -89
- package/dist/rule-writes-DGVDURHR.js +0 -522
- package/dist/rule-writes-DGVDURHR.js.map +0 -1
- package/dist/rules-OIQT255A.js +0 -216
- package/dist/rules-OIQT255A.js.map +0 -1
- package/dist/rules-VK7YA23Q.js +0 -97
- package/dist/rules-add-VG7AT6EG.js +0 -463
- package/dist/run-DIDQSZU7.js +0 -67
- package/dist/run-SR7DJ7M5.js +0 -66
- package/dist/scaffold-ad-46GTFUMP.js +0 -1512
- package/dist/scaffold-ad-46GTFUMP.js.map +0 -1
- package/dist/scaffold-static-ad-U63V4UHR.js +0 -1006
- package/dist/scaffold-static-ad-U63V4UHR.js.map +0 -1
- package/dist/scaffold-video-4DNTURH6.js +0 -884
- package/dist/scaffold-video-4DNTURH6.js.map +0 -1
- package/dist/schedule-JO66N7XO.js +0 -62
- package/dist/schedule-JZBIX6LH.js +0 -67
- package/dist/scheduled-agents-N63EZNY6.js +0 -50
- package/dist/schema-B2XANMEY.js +0 -133
- package/dist/schema-C6SGBNA6.js +0 -69
- package/dist/scrape-XRTWSSPE.js +0 -2241
- package/dist/screenshot-3WETJ564.js +0 -102
- package/dist/search-6X7EVOSI.js +0 -224
- package/dist/search-7GHS3OUZ.js +0 -51
- package/dist/search-7ZLOF2AY.js +0 -92
- package/dist/search-HS7OHTFH.js +0 -91
- package/dist/search-IWNAZ52P.js +0 -26
- package/dist/search-W5HZUJA2.js +0 -175
- package/dist/search-copy-ZJHRQCVH.js +0 -168
- package/dist/seeds-5TAEFW6H.js +0 -101
- package/dist/select-LMGLNFWB.js +0 -102
- package/dist/select-LMGLNFWB.js.map +0 -1
- package/dist/sends-JR3QZ2AL.js +0 -309
- package/dist/sequences-UP4ESMFI.js +0 -146
- package/dist/set-prompt-M5E3UZDM.js +0 -194
- package/dist/set-prompt-M5E3UZDM.js.map +0 -1
- package/dist/setup-links-ERBQSKAB.js +0 -142
- package/dist/shared-YBCK75HB.js +0 -31
- package/dist/site-PNVFJRYK.js +0 -178
- package/dist/sitemaps-BGR4QHHJ.js +0 -87
- package/dist/sites-WOIMU334.js +0 -101
- package/dist/skills-OS4PUOGZ.js +0 -47
- package/dist/sources-DMZJPLKC.js +0 -455
- package/dist/sources-HN3GCEDX.js +0 -30
- package/dist/stale-VWN25WTL.js +0 -72
- package/dist/stale-VWN25WTL.js.map +0 -1
- package/dist/stats-CVF6AC7R.js +0 -34
- package/dist/status-SF7DTPCJ.js +0 -63
- package/dist/sticker-KFKL5W7F.js +0 -94
- package/dist/stock-4LPQ6SM7.js +0 -179
- package/dist/studies-RSDWHJ2D.js +0 -249
- package/dist/studies-RSDWHJ2D.js.map +0 -1
- package/dist/studio-NZ6WQ7OE.js +0 -49
- package/dist/study-writes-HVHPR52R.js +0 -467
- package/dist/study-writes-HVHPR52R.js.map +0 -1
- package/dist/suggest-WMMEQCUH.js +0 -66
- package/dist/sync-E7P2PWXG.js +0 -265
- package/dist/sync-F7VNZLWY.js +0 -55
- package/dist/sync-HVNDPBOD.js +0 -55
- package/dist/sync-definition-CKEUYKWN.js +0 -65
- package/dist/tag-KTQ2FV5C.js +0 -57
- package/dist/tag-manager-FLXXLNKP.js +0 -43
- package/dist/tags-EUOOSAKN.js +0 -26
- package/dist/tags-KOMAP2G5.js +0 -21
- package/dist/tags-TKXJGTR3.js +0 -21
- package/dist/tags-VWIPDCUA.js +0 -225
- package/dist/tags-XAB4HWGW.js +0 -21
- package/dist/targeting-FU2LMS2P.js +0 -759
- package/dist/targeting-FU2LMS2P.js.map +0 -1
- package/dist/targeting-constants-Y3FAQOFH.js +0 -118
- package/dist/targeting-criteria-HE7K52WN.js +0 -113
- package/dist/targets-NA4XPDBF.js +0 -104
- package/dist/testimonials-3Q5XM7JD.js +0 -32
- package/dist/themes-JZ3DPE7L.js +0 -94
- package/dist/themes-JZ3DPE7L.js.map +0 -1
- package/dist/top-companies-TKO4QGPJ.js +0 -109
- package/dist/translate-YVIZ5T44.js +0 -605
- package/dist/translate-YVIZ5T44.js.map +0 -1
- package/dist/triggers-QX7VW7UO.js +0 -143
- package/dist/tweets-XOINDJA7.js +0 -123
- package/dist/unfollow-JSLPUZK5.js +0 -46
- package/dist/unlink-64SRPUNG.js +0 -68
- package/dist/unstage-5X2MOUMF.js +0 -86
- package/dist/unstage-C2RAUVF6.js +0 -95
- package/dist/update-22ZBHURE.js +0 -81
- package/dist/update-2LTPSGWT.js +0 -99
- package/dist/update-DOKS7ATM.js +0 -189
- package/dist/update-FB6X463M.js +0 -64
- package/dist/update-QIZ7XFAM.js +0 -153
- package/dist/upload-XJ7TUVIK.js +0 -127
- package/dist/upload-ZO2B6UW5.js +0 -150
- package/dist/upscale-6WADWURL.js +0 -109
- package/dist/url-options-VNX5KYUQ.js +0 -130
- package/dist/url-params-KLQOLNPS.js +0 -99
- package/dist/use-NVXOEN4O.js +0 -95
- package/dist/validate-YTBJBG44.js +0 -118
- package/dist/validate-YTBJBG44.js.map +0 -1
- package/dist/variant-BN72AP34.js +0 -338
- package/dist/videos-WAPUPJVT.js +0 -39
- package/dist/view-Z5JEMRNU.js +0 -121
- package/dist/viewer-check-GHQA3UY2.js +0 -81
- package/dist/web-6JMWERTT.js +0 -141
- package/dist/winners-2FZXH22W.js +0 -113
- package/dist/winning-ads-XCVUAIOU.js +0 -86
- package/dist/write-commands-3CX4M6CB.js +0 -713
- package/dist/write-commands-N74CDMQM.js +0 -1493
- package/dist/write-commands-YPT3ZLUW.js +0 -206
- package/dist/write-commands-ZEIAQS6T.js +0 -1165
- package/dist/write-commands-ZEIAQS6T.js.map +0 -1
- package/dist/x-SI4KYDEY.js +0 -47
- /package/dist/{account-EF6OPUJT.js.map → account-263FLP5Y.js.map} +0 -0
- /package/dist/{account-ZKJFX2GK.js.map → account-Y2NNZBQU.js.map} +0 -0
- /package/dist/{account-users-SZCYHVBM.js.map → account-users-65TL5KL7.js.map} +0 -0
- /package/dist/{account-writes-VWU4FRGQ.js.map → account-writes-M274CK75.js.map} +0 -0
- /package/dist/{accounts-W4BPE2CS.js.map → accounts-4HPLJD7O.js.map} +0 -0
- /package/dist/{accounts-SLFTEHCR.js.map → accounts-OWLAMDJX.js.map} +0 -0
- /package/dist/{accounts-5DFYKYSM.js.map → accounts-ST32A4L4.js.map} +0 -0
- /package/dist/{accounts-OGAIQNE6.js.map → accounts-VVMBENKE.js.map} +0 -0
- /package/dist/{actions-FMNJSOBA.js.map → actions-EAMKQC4A.js.map} +0 -0
- /package/dist/{active-entities-6LIZ63M5.js.map → active-entities-2TRODKWO.js.map} +0 -0
- /package/dist/{activecampaign-LYYYH6XD.js.map → activecampaign-XYEFFSZF.js.map} +0 -0
- /package/dist/{ad-group-writes-ID6I3QUZ.js.map → ad-group-writes-M7S67GLQ.js.map} +0 -0
- /package/dist/{ad-groups-M7CV6NTH.js.map → ad-groups-BF4KNJFS.js.map} +0 -0
- /package/dist/{ad-writes-TSOAZYRE.js.map → ad-writes-FNWVH7SP.js.map} +0 -0
- /package/dist/{add-AOQLZRPC.js.map → add-2OOHZBKD.js.map} +0 -0
- /package/dist/{add-6DDU34GR.js.map → add-5PK6LCD2.js.map} +0 -0
- /package/dist/{add-VDZPGZF5.js.map → add-EXF7UGIG.js.map} +0 -0
- /package/dist/{add-HWXEPSZF.js.map → add-IJA475VW.js.map} +0 -0
- /package/dist/{add-YYP3O536.js.map → add-UGMEJ5L3.js.map} +0 -0
- /package/dist/{add-44SGKTS4.js.map → add-WZFXWMG7.js.map} +0 -0
- /package/dist/{add-accounts-QM4TQGDW.js.map → add-accounts-KQUUBIIG.js.map} +0 -0
- /package/dist/{ads-KDIRM745.js.map → ads-C6LVVX4F.js.map} +0 -0
- /package/dist/{ads-CGLO73MH.js.map → ads-TLJI5KCA.js.map} +0 -0
- /package/dist/{advertisers-OMB4FKK6.js.map → advertisers-OHTC7Q63.js.map} +0 -0
- /package/dist/{advertisers-STYAIX72.js.map → advertisers-RBLLFCET.js.map} +0 -0
- /package/dist/{analytics-DHB325DM.js.map → analytics-QQ7PLUU3.js.map} +0 -0
- /package/dist/{animate-RGZWDZG2.js.map → animate-G2PISVIA.js.map} +0 -0
- /package/dist/{asset-writes-IO4QAGHL.js.map → asset-writes-LW3KSG2B.js.map} +0 -0
- /package/dist/{assign-BFXHYTMF.js.map → assign-UC6OK2R7.js.map} +0 -0
- /package/dist/{audience-size-XWHZV2GH.js.map → audience-size-4S2ZWQ3G.js.map} +0 -0
- /package/dist/{audiences-CHSF4TQR.js.map → audiences-2342U7XH.js.map} +0 -0
- /package/dist/{audiences-WXIP5PJH.js.map → audiences-EZO6PYRL.js.map} +0 -0
- /package/dist/{audit-SJKN45IG.js.map → audit-KQ7GVWMO.js.map} +0 -0
- /package/dist/{audit-IYGRU7LD.js.map → audit-QTLUKQW5.js.map} +0 -0
- /package/dist/{autocomplete-SDDSJTAF.js.map → autocomplete-XMRWWWJB.js.map} +0 -0
- /package/dist/{avatars-I4H3NMEJ.js.map → avatars-QU5GIMCL.js.map} +0 -0
- /package/dist/{bid-pricing-OVYBDRMV.js.map → bid-pricing-KBWHJKVH.js.map} +0 -0
- /package/dist/{brand-3V7ECY7D.js.map → brand-REYK7QBZ.js.map} +0 -0
- /package/dist/{campaign-groups-FJHBVUA3.js.map → campaign-groups-47IYCWKX.js.map} +0 -0
- /package/dist/{campaign-writes-XKYYMZML.js.map → campaign-writes-IPSJMNQX.js.map} +0 -0
- /package/dist/{campaign-writes-W5IL6ZGB.js.map → campaign-writes-RHMIJAC3.js.map} +0 -0
- /package/dist/{campaigns-FLTPD66X.js.map → campaigns-7WLJWRVB.js.map} +0 -0
- /package/dist/{campaigns-MCB76NPQ.js.map → campaigns-NTEP5DKT.js.map} +0 -0
- /package/dist/{campaigns-E5UW4I3X.js.map → campaigns-SCV5ZDLA.js.map} +0 -0
- /package/dist/{canvas-JCNKMGCG.js.map → canvas-X55KDZQX.js.map} +0 -0
- /package/dist/{capabilities-CLTZCXCZ.js.map → capabilities-FJIYYIMF.js.map} +0 -0
- /package/dist/{cards-DVC5NT5X.js.map → cards-UZ3TAVOU.js.map} +0 -0
- /package/dist/{catalog-ZDLQAODO.js.map → catalog-OLWWOUXL.js.map} +0 -0
- /package/dist/{catalogs-26VXVUST.js.map → catalogs-4PEZDXLP.js.map} +0 -0
- /package/dist/{changes-SX2N5KIO.js.map → changes-T6RKIP2B.js.map} +0 -0
- /package/dist/{chatgpt-XFZ42NXC.js.map → chatgpt-J3ITRRCX.js.map} +0 -0
- /package/dist/{chats-DTJSBDWO.js.map → chats-PAHEOSL5.js.map} +0 -0
- /package/dist/{check-CZTS64AW.js.map → check-PAVRHQAR.js.map} +0 -0
- /package/dist/{chunk-LZ5PTBWR.js.map → chunk-23HT4U3O.js.map} +0 -0
- /package/dist/{chunk-VAX7PFQV.js.map → chunk-25IPX5BK.js.map} +0 -0
- /package/dist/{chunk-QNJVRI3E.js.map → chunk-2M36ESEZ.js.map} +0 -0
- /package/dist/{chunk-JX7BX2NB.js.map → chunk-2Q324LIK.js.map} +0 -0
- /package/dist/{chunk-QMOYQJIN.js.map → chunk-2YUVO3LP.js.map} +0 -0
- /package/dist/{chunk-MSQR5I52.js.map → chunk-3BAAO72V.js.map} +0 -0
- /package/dist/{chunk-FG3MV2XM.js.map → chunk-3FF5UMV5.js.map} +0 -0
- /package/dist/{chunk-LK6W5FDV.js.map → chunk-3Q32TXSP.js.map} +0 -0
- /package/dist/{chunk-YVK5RT3B.js.map → chunk-3Z3O7ZD6.js.map} +0 -0
- /package/dist/{chunk-LNRPOULW.js.map → chunk-44QHWWUX.js.map} +0 -0
- /package/dist/{chunk-EGPYWJGZ.js.map → chunk-4D5OBSWR.js.map} +0 -0
- /package/dist/{chunk-3RGR6COY.js.map → chunk-4ISA7PPB.js.map} +0 -0
- /package/dist/{chunk-YJ3LSFMX.js.map → chunk-4WI5PJU6.js.map} +0 -0
- /package/dist/{chunk-XRIM7NYV.js.map → chunk-52KXFESB.js.map} +0 -0
- /package/dist/{chunk-QG4MW2V4.js.map → chunk-565M26EE.js.map} +0 -0
- /package/dist/{chunk-CZYLHFSD.js.map → chunk-5LYTDXWP.js.map} +0 -0
- /package/dist/{chunk-PTH7VWKK.js.map → chunk-5NYU2UYT.js.map} +0 -0
- /package/dist/{chunk-QZF4BVKL.js.map → chunk-6IFTTSHH.js.map} +0 -0
- /package/dist/{chunk-JVVUI55M.js.map → chunk-6M22WJ5Y.js.map} +0 -0
- /package/dist/{chunk-JHUYPCMT.js.map → chunk-6PWVNCQH.js.map} +0 -0
- /package/dist/{chunk-D5NEIESR.js.map → chunk-6UW4J6IU.js.map} +0 -0
- /package/dist/{chunk-OOVHBMQB.js.map → chunk-6ZFOF6J2.js.map} +0 -0
- /package/dist/{chunk-IZU6AR7D.js.map → chunk-73JJQ2DB.js.map} +0 -0
- /package/dist/{chunk-F377KYIM.js.map → chunk-73LQJBBF.js.map} +0 -0
- /package/dist/{chunk-ZYGK7GAK.js.map → chunk-7IAA3REE.js.map} +0 -0
- /package/dist/{chunk-SVM3DGAQ.js.map → chunk-ANLLW3KZ.js.map} +0 -0
- /package/dist/{chunk-6YLNY6CK.js.map → chunk-AS46I4WH.js.map} +0 -0
- /package/dist/{chunk-2YTBPRRG.js.map → chunk-ASHCV6DO.js.map} +0 -0
- /package/dist/{chunk-VI5YQQ63.js.map → chunk-BCFIMEZJ.js.map} +0 -0
- /package/dist/{chunk-LX6WC2XZ.js.map → chunk-BJY6223Q.js.map} +0 -0
- /package/dist/{chunk-A6WKCV3V.js.map → chunk-BTGOVA2H.js.map} +0 -0
- /package/dist/{chunk-5VKADFSS.js.map → chunk-BX4JR6ZU.js.map} +0 -0
- /package/dist/{chunk-KQ7RCLGC.js.map → chunk-BYDTLQ77.js.map} +0 -0
- /package/dist/{chunk-WT4WDIXA.js.map → chunk-CFUFTIOU.js.map} +0 -0
- /package/dist/{chunk-NZKBW4YB.js.map → chunk-CFZUKCC3.js.map} +0 -0
- /package/dist/{chunk-VDRSZK4P.js.map → chunk-CVHUZFHA.js.map} +0 -0
- /package/dist/{chunk-SSTL3A7Z.js.map → chunk-EHS3QWHJ.js.map} +0 -0
- /package/dist/{chunk-SZNGQ2GF.js.map → chunk-ERMKQMMJ.js.map} +0 -0
- /package/dist/{chunk-RJZS4XDJ.js.map → chunk-EZMF6W4M.js.map} +0 -0
- /package/dist/{chunk-7KHTJQGV.js.map → chunk-FO2JX473.js.map} +0 -0
- /package/dist/{chunk-RITUSBYO.js.map → chunk-FUFMB3MS.js.map} +0 -0
- /package/dist/{chunk-AV7ALENU.js.map → chunk-GZWBHJ4Y.js.map} +0 -0
- /package/dist/{chunk-ZA7OQLDJ.js.map → chunk-HIAXIRPX.js.map} +0 -0
- /package/dist/{chunk-VDTOAZ6W.js.map → chunk-HLIZO3FD.js.map} +0 -0
- /package/dist/{chunk-BAXDNVT2.js.map → chunk-HS56YCCN.js.map} +0 -0
- /package/dist/{chunk-3S274625.js.map → chunk-HVJ25XVM.js.map} +0 -0
- /package/dist/{chunk-TD4SO6TR.js.map → chunk-IL36BNFB.js.map} +0 -0
- /package/dist/{chunk-7QGFO35A.js.map → chunk-IMHJU7FX.js.map} +0 -0
- /package/dist/{chunk-VNU2EYD4.js.map → chunk-J5JYBRUE.js.map} +0 -0
- /package/dist/{chunk-KNY4DLVF.js.map → chunk-J6Q6RPKY.js.map} +0 -0
- /package/dist/{chunk-A3DKSAEL.js.map → chunk-JASI6RR6.js.map} +0 -0
- /package/dist/{chunk-DJE7UXYT.js.map → chunk-JTXOP6YW.js.map} +0 -0
- /package/dist/{chunk-I24YT2KG.js.map → chunk-JWBJFF2K.js.map} +0 -0
- /package/dist/{chunk-5YKNG6NN.js.map → chunk-K76OKYM7.js.map} +0 -0
- /package/dist/{chunk-2VIZ4UUZ.js.map → chunk-KBSWQKOT.js.map} +0 -0
- /package/dist/{chunk-EJ4QCMM6.js.map → chunk-KS7VB275.js.map} +0 -0
- /package/dist/{chunk-F2OCUTMQ.js.map → chunk-KW5WVJTH.js.map} +0 -0
- /package/dist/{chunk-QE2E4EYJ.js.map → chunk-KZRJLBQO.js.map} +0 -0
- /package/dist/{chunk-TQNDAOMB.js.map → chunk-L3FWLIAU.js.map} +0 -0
- /package/dist/{chunk-FKYPAGKK.js.map → chunk-L6GYTD3A.js.map} +0 -0
- /package/dist/{chunk-UFKO626N.js.map → chunk-MITWP546.js.map} +0 -0
- /package/dist/{chunk-4Z5BOHCH.js.map → chunk-MRQKDVDR.js.map} +0 -0
- /package/dist/{chunk-X5QWQNAX.js.map → chunk-NBAJACSF.js.map} +0 -0
- /package/dist/{chunk-MMGTJBM6.js.map → chunk-NBWZ6YFU.js.map} +0 -0
- /package/dist/{chunk-3SNCMEJB.js.map → chunk-NWML6X6Y.js.map} +0 -0
- /package/dist/{chunk-FUGQSIYG.js.map → chunk-NX5U6BXW.js.map} +0 -0
- /package/dist/{chunk-Z4S5BCVZ.js.map → chunk-PEY4YGW3.js.map} +0 -0
- /package/dist/{chunk-BDYLILMW.js.map → chunk-PGRDGQ23.js.map} +0 -0
- /package/dist/{chunk-U6RONIJC.js.map → chunk-Q6GYSW47.js.map} +0 -0
- /package/dist/{chunk-KXCKTEJ6.js.map → chunk-QDJRLPT5.js.map} +0 -0
- /package/dist/{chunk-FKG476GH.js.map → chunk-QM7OZC3R.js.map} +0 -0
- /package/dist/{chunk-HPLHAHG5.js.map → chunk-QO46CYKH.js.map} +0 -0
- /package/dist/{chunk-YV7PKHFB.js.map → chunk-QR44DQTC.js.map} +0 -0
- /package/dist/{chunk-EONSZAZB.js.map → chunk-QVRVSFIQ.js.map} +0 -0
- /package/dist/{chunk-CBXIUKGG.js.map → chunk-RAUZWRJC.js.map} +0 -0
- /package/dist/{chunk-LBRO4MTL.js.map → chunk-RF73OV6K.js.map} +0 -0
- /package/dist/{chunk-EFWXYUSK.js.map → chunk-RKP76SGL.js.map} +0 -0
- /package/dist/{chunk-IBTSIPYA.js.map → chunk-S6VQMNPI.js.map} +0 -0
- /package/dist/{chunk-OEZYSL3U.js.map → chunk-SGUUPOPY.js.map} +0 -0
- /package/dist/{chunk-S4VLLGTW.js.map → chunk-SJJHM57A.js.map} +0 -0
- /package/dist/{chunk-UZ4RTOFG.js.map → chunk-T7JGOFVX.js.map} +0 -0
- /package/dist/{chunk-BVF2P65L.js.map → chunk-TPQOIWSU.js.map} +0 -0
- /package/dist/{chunk-BRLFQ4VX.js.map → chunk-U3LW43UG.js.map} +0 -0
- /package/dist/{chunk-U7YR5CZL.js.map → chunk-UAKNLPIU.js.map} +0 -0
- /package/dist/{chunk-QRLTVJ6F.js.map → chunk-VE4BTRLV.js.map} +0 -0
- /package/dist/{chunk-OL7JS4NG.js.map → chunk-VR6BCP3U.js.map} +0 -0
- /package/dist/{chunk-Q5QHNTHA.js.map → chunk-VSVAXKKS.js.map} +0 -0
- /package/dist/{chunk-Y4OYFJP7.js.map → chunk-VWUGI7LE.js.map} +0 -0
- /package/dist/{chunk-WHWSLDNR.js.map → chunk-W5IS6CMZ.js.map} +0 -0
- /package/dist/{chunk-B7GF34FU.js.map → chunk-WAMT3TUD.js.map} +0 -0
- /package/dist/{chunk-2YKXDFYX.js.map → chunk-WN6WHZRC.js.map} +0 -0
- /package/dist/{chunk-MOFMOYUA.js.map → chunk-WO2SGESS.js.map} +0 -0
- /package/dist/{chunk-FALJQCWL.js.map → chunk-WU6ULBSY.js.map} +0 -0
- /package/dist/{chunk-57KKVDDR.js.map → chunk-XOHXG5TG.js.map} +0 -0
- /package/dist/{chunk-R25JC3BD.js.map → chunk-XPNCOUXB.js.map} +0 -0
- /package/dist/{chunk-KKSHEPBY.js.map → chunk-XS7FMDCX.js.map} +0 -0
- /package/dist/{chunk-6UNOK7WV.js.map → chunk-XVMRO6W5.js.map} +0 -0
- /package/dist/{chunk-GZ4A2VYW.js.map → chunk-Y4UQHVTM.js.map} +0 -0
- /package/dist/{chunk-5GQCN2QZ.js.map → chunk-YGCRKABE.js.map} +0 -0
- /package/dist/{chunk-FCM6VPFP.js.map → chunk-YJKAVF3E.js.map} +0 -0
- /package/dist/{chunk-ACDLKTUP.js.map → chunk-ZFINQBE7.js.map} +0 -0
- /package/dist/{chunk-RVTXDQYC.js.map → chunk-ZJMOYNZF.js.map} +0 -0
- /package/dist/{chunk-NA7PXVCW.js.map → chunk-ZZCJNSZ6.js.map} +0 -0
- /package/dist/{claim-TSFPWTQY.js.map → claim-WJ5TLA74.js.map} +0 -0
- /package/dist/{client-PFQ3SLQ4.js.map → client-PVBPZ7PY.js.map} +0 -0
- /package/dist/{code-OF7NV2EG.js.map → code-CSXOLKOP.js.map} +0 -0
- /package/dist/{companies-P7FZNJQV.js.map → companies-3QI5C5Y6.js.map} +0 -0
- /package/dist/{complete-SYDIHMD5.js.map → complete-ASGIH43P.js.map} +0 -0
- /package/dist/{config-YVNIYO5K.js.map → config-MNPHHWYU.js.map} +0 -0
- /package/dist/{connect-COS6G45S.js.map → connect-F2PU33RV.js.map} +0 -0
- /package/dist/{content-JDTHVSPS.js.map → content-UYBZ5S7Z.js.map} +0 -0
- /package/dist/{conversation-UJOWMJRH.js.map → conversation-BYO57I25.js.map} +0 -0
- /package/dist/{conversion-report-7JJ5L6WH.js.map → conversion-report-UCP43YAG.js.map} +0 -0
- /package/dist/{conversion-writes-GIGAZT4T.js.map → conversion-writes-6ZIY7DHZ.js.map} +0 -0
- /package/dist/{conversions-CIJZLGII.js.map → conversions-BDSIXF2V.js.map} +0 -0
- /package/dist/{conversions-ONOIEILU.js.map → conversions-JBZD2FZN.js.map} +0 -0
- /package/dist/{countries-F5ISQB3M.js.map → countries-N2PAVVCQ.js.map} +0 -0
- /package/dist/{create-NOT3HGP2.js.map → create-EDDKOKK6.js.map} +0 -0
- /package/dist/{create-DPQRYQXK.js.map → create-UXH5MYEO.js.map} +0 -0
- /package/dist/{create-JD76Z4A4.js.map → create-YEHXJBFR.js.map} +0 -0
- /package/dist/{creatives-LRSELC7Y.js.map → creatives-3TRWYOYU.js.map} +0 -0
- /package/dist/{creatives-SEQHJD2M.js.map → creatives-KYSRCR5C.js.map} +0 -0
- /package/dist/{credentials-LHPTUVVA.js.map → credentials-Z4KS5QU6.js.map} +0 -0
- /package/dist/{critique-Q7GSZ5RP.js.map → critique-YZWJ3ABO.js.map} +0 -0
- /package/dist/{crm-J7EU32PL.js.map → crm-CDAVHXUS.js.map} +0 -0
- /package/dist/{crm-MC444ZVU.js.map → crm-TMEDDF67.js.map} +0 -0
- /package/dist/{crop-PWHHLMDF.js.map → crop-4WS3WNXI.js.map} +0 -0
- /package/dist/{currency-TAEJVMVK.js.map → currency-K4PRDLDG.js.map} +0 -0
- /package/dist/{customers-LMSX33FO.js.map → customers-R6HXVXAS.js.map} +0 -0
- /package/dist/{decide-E4AREOPP.js.map → decide-IWUWMLIG.js.map} +0 -0
- /package/dist/{delete-K7A3AUPH.js.map → delete-DECECVGG.js.map} +0 -0
- /package/dist/{delete-BQBVATMF.js.map → delete-F6AEBS4G.js.map} +0 -0
- /package/dist/{delete-THR72JIR.js.map → delete-H2L2EGKF.js.map} +0 -0
- /package/dist/{delete-3US2W4F6.js.map → delete-R5IY7VHP.js.map} +0 -0
- /package/dist/{delete-VV2ICIHF.js.map → delete-UCL6SL5B.js.map} +0 -0
- /package/dist/{delete-XBIME2H4.js.map → delete-Z4LRS6FG.js.map} +0 -0
- /package/dist/{demographics-7GWUXXS6.js.map → demographics-JFUKFKK7.js.map} +0 -0
- /package/dist/{describe-HOMUJ4T4.js.map → describe-44KTJQ6Z.js.map} +0 -0
- /package/dist/{describe-JVHEKSX3.js.map → describe-V7LY3RUT.js.map} +0 -0
- /package/dist/{dimensions-K2WK7QBJ.js.map → dimensions-FZAJYJJ4.js.map} +0 -0
- /package/dist/{discard-3CLZ4DPD.js.map → discard-W4B5GF4S.js.map} +0 -0
- /package/dist/{discover-SII47P73.js.map → discover-E7OE4WFV.js.map} +0 -0
- /package/dist/{discover-5Z253HXF.js.map → discover-OYVXV25X.js.map} +0 -0
- /package/dist/{domain-ZS74BSE6.js.map → domain-5WXROX3N.js.map} +0 -0
- /package/dist/{download-DHB3EIMS.js.map → download-JNNN7GSF.js.map} +0 -0
- /package/dist/{draft-7DWRFCXW.js.map → draft-5I6DUWGA.js.map} +0 -0
- /package/dist/{draft-R56PIXCV.js.map → draft-KYARHXHR.js.map} +0 -0
- /package/dist/{draft-J3B33RAZ.js.map → draft-RCD6ETPQ.js.map} +0 -0
- /package/dist/{draft-MZLWVX3D.js.map → draft-SET2FGU3.js.map} +0 -0
- /package/dist/{draft-DHDDPACQ.js.map → draft-US7FTGVC.js.map} +0 -0
- /package/dist/{draft-E47E762T.js.map → draft-XK4QG5HQ.js.map} +0 -0
- /package/dist/{env-PKUYZY5O.js.map → env-3ZELNMXQ.js.map} +0 -0
- /package/dist/{experiment-7RJ5X2LL.js.map → experiment-IKWEIJKD.js.map} +0 -0
- /package/dist/{experiments-NOSJJMYI.js.map → experiments-LEAZ4BNF.js.map} +0 -0
- /package/dist/{export-AGDNQZKC.js.map → export-HMF33UYY.js.map} +0 -0
- /package/dist/{extract-4MIPIBVC.js.map → extract-PK3MHV6C.js.map} +0 -0
- /package/dist/{facets-E6SHYUAI.js.map → facets-WSFLCFYN.js.map} +0 -0
- /package/dist/{favorites-XHY64GCM.js.map → favorites-Z7MKEDY3.js.map} +0 -0
- /package/dist/{feed-724KWSNI.js.map → feed-6VZ3XWKC.js.map} +0 -0
- /package/dist/{fetch-HMUGSRE4.js.map → fetch-3DI7EKDS.js.map} +0 -0
- /package/dist/{fetch-RYS6DEJH.js.map → fetch-LGKTI6A6.js.map} +0 -0
- /package/dist/{find-2EPXK5RF.js.map → find-PAWW75PW.js.map} +0 -0
- /package/dist/{fit-W7UNFZT5.js.map → fit-FROY76YE.js.map} +0 -0
- /package/dist/{flows-SO5J3M3X.js.map → flows-M5DQAKCJ.js.map} +0 -0
- /package/dist/{follow-LRGW6OHI.js.map → follow-PNWO2V4L.js.map} +0 -0
- /package/dist/{follow-competitors-UUN7EKFR.js.map → follow-competitors-BFUGW6PC.js.map} +0 -0
- /package/dist/{following-ISRRC2QL.js.map → following-LKNHRKVC.js.map} +0 -0
- /package/dist/{fonts-N42UYWTX.js.map → fonts-G3UCJ6UI.js.map} +0 -0
- /package/dist/{forecast-24LGJVLC.js.map → forecast-VFGNPTYV.js.map} +0 -0
- /package/dist/{funding-KMXQ6CXM.js.map → funding-O5ZRZN7D.js.map} +0 -0
- /package/dist/{ga4-6EIQC2TG.js.map → ga4-SSRVUS7H.js.map} +0 -0
- /package/dist/{generate-Y76WU7M7.js.map → generate-T3B6GOO6.js.map} +0 -0
- /package/dist/{get-LNLY2RWU.js.map → get-2BJKONHE.js.map} +0 -0
- /package/dist/{get-KAGO4EC5.js.map → get-6MHTPGHS.js.map} +0 -0
- /package/dist/{get-VFRJAC2I.js.map → get-DDBTEMJL.js.map} +0 -0
- /package/dist/{get-R5JAFHTH.js.map → get-G7JYP5E5.js.map} +0 -0
- /package/dist/{get-JPOUTSU5.js.map → get-IIIYTJY4.js.map} +0 -0
- /package/dist/{get-GDI2MOAU.js.map → get-JE3VGJPS.js.map} +0 -0
- /package/dist/{get-PZX27LQY.js.map → get-KL7VTM6W.js.map} +0 -0
- /package/dist/{get-23L2AVTV.js.map → get-ZNCET7LN.js.map} +0 -0
- /package/dist/{gif-DVNNWOYA.js.map → gif-HZC5PIGN.js.map} +0 -0
- /package/dist/{google-O5OI6QFU.js.map → google-2JAG2MZJ.js.map} +0 -0
- /package/dist/{google-ads-6X4BHGUR.js.map → google-ads-Q2WVOJU2.js.map} +0 -0
- /package/dist/{group-HNRZJMZX.js.map → group-5KTGIHXJ.js.map} +0 -0
- /package/dist/{group-QPQUCV6E.js.map → group-6U4GJLHB.js.map} +0 -0
- /package/dist/{gsc-BM3T2GDL.js.map → gsc-76PWFEHH.js.map} +0 -0
- /package/dist/{history-DGHMJ2XF.js.map → history-BVMIJLIL.js.map} +0 -0
- /package/dist/{history-LGOWYLBE.js.map → history-W22KYHZV.js.map} +0 -0
- /package/dist/{hubspot-LJB3ETUT.js.map → hubspot-RF4FMSX2.js.map} +0 -0
- /package/dist/{icon-B7DG53S5.js.map → icon-ENQRKK4O.js.map} +0 -0
- /package/dist/{ideas-DYN2DMFN.js.map → ideas-Y7HFEXFE.js.map} +0 -0
- /package/dist/{images-EQCUXEHF.js.map → images-2PKU5XDS.js.map} +0 -0
- /package/dist/{improve-56FHWRWN.js.map → improve-L43S5YWU.js.map} +0 -0
- /package/dist/{ingest-T7ZS2R4U.js.map → ingest-JHJOFWIU.js.map} +0 -0
- /package/dist/{ingest-B46AY3QU.js.map → ingest-JU67Z5D3.js.map} +0 -0
- /package/dist/{insights-EU45J56U.js.map → insights-NOOVPFK3.js.map} +0 -0
- /package/dist/{inspect-BSNGAT2S.js.map → inspect-53NDMKC5.js.map} +0 -0
- /package/dist/{inspiration-TCCKM4R7.js.map → inspiration-6NICXN3P.js.map} +0 -0
- /package/dist/{intent-FUGWRUSW.js.map → intent-MLZCTLEX.js.map} +0 -0
- /package/dist/{job-Z34BGXVD.js.map → job-EXB5MGPT.js.map} +0 -0
- /package/dist/{job-create-HNMMERM5.js.map → job-create-EPYGKZPB.js.map} +0 -0
- /package/dist/{job-status-PDXGKBDG.js.map → job-status-E7YXP2PT.js.map} +0 -0
- /package/dist/{keep-WI7GMNYE.js.map → keep-ELL3JFEC.js.map} +0 -0
- /package/dist/{keyword-gap-DXTKZLV2.js.map → keyword-gap-WD5TDZFR.js.map} +0 -0
- /package/dist/{keyword-metrics-KNTIN4ZK.js.map → keyword-metrics-QMQCZKMX.js.map} +0 -0
- /package/dist/{keywords-for-site-S4MXGXWR.js.map → keywords-for-site-WL54QH6G.js.map} +0 -0
- /package/dist/{landing-WVPA7NBR.js.map → landing-ZHCVMCYK.js.map} +0 -0
- /package/dist/{landings-W2ZW3WJK.js.map → landings-YVXUVNPA.js.map} +0 -0
- /package/dist/{languages-XRTTEJ5P.js.map → languages-F4FX2VC2.js.map} +0 -0
- /package/dist/{languages-73GOUAHX.js.map → languages-YIYCOFLI.js.map} +0 -0
- /package/dist/{launches-4VFF5MNM.js.map → launches-G5AYQIEO.js.map} +0 -0
- /package/dist/{layerize-IUDRVV3C.js.map → layerize-EEHJX2QP.js.map} +0 -0
- /package/dist/{leads-EINV5FK3.js.map → leads-C26QFD46.js.map} +0 -0
- /package/dist/{learn-7Z2VR6MS.js.map → learn-YRHVTBEW.js.map} +0 -0
- /package/dist/{library-2WYYM6ED.js.map → library-GLXT2ZZI.js.map} +0 -0
- /package/dist/{lighthouse-ZZUYZALE.js.map → lighthouse-DUAYYKVA.js.map} +0 -0
- /package/dist/{line-item-writes-Z3TIB5KZ.js.map → line-item-writes-HSXCO3UM.js.map} +0 -0
- /package/dist/{line-items-OEWYOPFP.js.map → line-items-LU7VFYJ3.js.map} +0 -0
- /package/dist/{link-KYHUIPJE.js.map → link-N4F54R2W.js.map} +0 -0
- /package/dist/{linkedin-JVB4HXJC.js.map → linkedin-F43WCEFC.js.map} +0 -0
- /package/dist/{list-G3E4NIKR.js.map → list-CMCHPFU4.js.map} +0 -0
- /package/dist/{list-QCEOM2BJ.js.map → list-EXKTPY65.js.map} +0 -0
- /package/dist/{list-BWE7FL7W.js.map → list-FGWN66JV.js.map} +0 -0
- /package/dist/{list-Z6NMNK3T.js.map → list-H4YHY65J.js.map} +0 -0
- /package/dist/{list-EORTO73V.js.map → list-IIUY5WTV.js.map} +0 -0
- /package/dist/{list-QQVLURKH.js.map → list-MNFGWVNZ.js.map} +0 -0
- /package/dist/{list-QUFCV73J.js.map → list-QUQ5TUDK.js.map} +0 -0
- /package/dist/{list-WRBWQASJ.js.map → list-TY5WZFFE.js.map} +0 -0
- /package/dist/{list-QWGKRUSM.js.map → list-YWEP74CM.js.map} +0 -0
- /package/dist/{locations-PCZPKH47.js.map → locations-N3USZ27M.js.map} +0 -0
- /package/dist/{locations-TGJH3URF.js.map → locations-S67HBZA7.js.map} +0 -0
- /package/dist/{log-RUMKYPYK.js.map → log-CGQRPLGU.js.map} +0 -0
- /package/dist/{logo-QTSBKP2J.js.map → logo-IXIQBWRL.js.map} +0 -0
- /package/dist/{lookup-J54KJAMC.js.map → lookup-NKLRB3NS.js.map} +0 -0
- /package/dist/{map-QZHIJFQT.js.map → map-GW7NDNYC.js.map} +0 -0
- /package/dist/{mcp-ZH2XDV5P.js.map → mcp-DUTXWJFC.js.map} +0 -0
- /package/dist/{media-GXZ5JI5U.js.map → media-2JCAFWCU.js.map} +0 -0
- /package/dist/{media-NRMVRXLD.js.map → media-NPMNY5MJ.js.map} +0 -0
- /package/dist/{media-sources-SQ2RPDBO.js.map → media-sources-J2LY7NLR.js.map} +0 -0
- /package/dist/{members-4YX7JEZM.js.map → members-5YUHOWVS.js.map} +0 -0
- /package/dist/{meme-AX5INYIP.js.map → meme-G2HE54IY.js.map} +0 -0
- /package/dist/{meta-62YDR5B2.js.map → meta-ACKABP2H.js.map} +0 -0
- /package/dist/{metrics-PYPCW7FJ.js.map → metrics-ZNQDSBVO.js.map} +0 -0
- /package/dist/{models-IAGO5GIH.js.map → models-QAR6ZOM3.js.map} +0 -0
- /package/dist/{normalize-ABIWLRIT.js.map → normalize-QP5Z5EYO.js.map} +0 -0
- /package/dist/{normalize-TW2OZKJX.js.map → normalize-X6GW75LV.js.map} +0 -0
- /package/dist/{options-SVCQVTNE.js.map → options-743FW5PT.js.map} +0 -0
- /package/dist/{organization-FNKDC742.js.map → organization-OW6WPRA3.js.map} +0 -0
- /package/dist/{output-573CQXXP.js.map → output-GAAXGXQS.js.map} +0 -0
- /package/dist/{page-QQD5IFO6.js.map → page-ZA6VOW7F.js.map} +0 -0
- /package/dist/{performance-HTU5FR2K.js.map → performance-F7OHUDYL.js.map} +0 -0
- /package/dist/{pinterest-H6V4KNL2.js.map → pinterest-SH7Q3BGY.js.map} +0 -0
- /package/dist/{pixels-R4MOLWAR.js.map → pixels-YVOTALZW.js.map} +0 -0
- /package/dist/{plan-W2K45F7K.js.map → plan-SF3AJ3U3.js.map} +0 -0
- /package/dist/{posts-3DAPTBH2.js.map → posts-JMGQEPWZ.js.map} +0 -0
- /package/dist/{profile-4QZXRUR6.js.map → profile-GE6L5LGA.js.map} +0 -0
- /package/dist/{promoted-tweet-writes-DD3CJNWW.js.map → promoted-tweet-writes-T2ZN246D.js.map} +0 -0
- /package/dist/{promoted-tweets-TTWN5OMW.js.map → promoted-tweets-EW3VXPZU.js.map} +0 -0
- /package/dist/{properties-KUNLF5I2.js.map → properties-EJ6ANQZO.js.map} +0 -0
- /package/dist/{publish-Z62KGDJ2.js.map → publish-PIUYQKOE.js.map} +0 -0
- /package/dist/{query-XDHZMGLX.js.map → query-732XAQUN.js.map} +0 -0
- /package/dist/{query-RODBIIWT.js.map → query-D7OVFIC4.js.map} +0 -0
- /package/dist/{query-72E5HVAO.js.map → query-EKMXON7N.js.map} +0 -0
- /package/dist/{questionnaire-GMU66CSP.js.map → questionnaire-RSAGT4BO.js.map} +0 -0
- /package/dist/{read-X45BP6TW.js.map → read-JQ3OAR7D.js.map} +0 -0
- /package/dist/{reddit-6C3PT5CT.js.map → reddit-33K3IIHG.js.map} +0 -0
- /package/dist/{refresh-HCQXVFVR.js.map → refresh-JIJVT3SV.js.map} +0 -0
- /package/dist/{refresh-ZCGH64OZ.js.map → refresh-Q5ZVBWQX.js.map} +0 -0
- /package/dist/{release-FIHW2HCH.js.map → release-3MTLVI3Q.js.map} +0 -0
- /package/dist/{relevant-pages-CTG72PBR.js.map → relevant-pages-HKF77GO5.js.map} +0 -0
- /package/dist/{remove-CBR7NVMI.js.map → remove-3EIQM4ZN.js.map} +0 -0
- /package/dist/{remove-PUZP5GWN.js.map → remove-T6UJSL5S.js.map} +0 -0
- /package/dist/{reopen-EJGLRQWR.js.map → reopen-56LN4EDE.js.map} +0 -0
- /package/dist/{research-L25D4WHQ.js.map → research-IU26Y65V.js.map} +0 -0
- /package/dist/{research-YCMMQVK6.js.map → research-P5FLAJIZ.js.map} +0 -0
- /package/dist/{reset-SRL6I6GP.js.map → reset-7L6UNBW6.js.map} +0 -0
- /package/dist/{reset-HKKCWKZ7.js.map → reset-7T3QY4MY.js.map} +0 -0
- /package/dist/{resolve-POMTTAFR.js.map → resolve-LZGMF3RI.js.map} +0 -0
- /package/dist/{retry-RNGM3KKA.js.map → retry-CCQPI5MS.js.map} +0 -0
- /package/dist/{retry-MEPTOAV2.js.map → retry-EJIMFCPU.js.map} +0 -0
- /package/dist/{retry-failed-5EWFM364.js.map → retry-failed-FTS44UES.js.map} +0 -0
- /package/dist/{revenue-X4KPTSAM.js.map → revenue-3WIZFO4L.js.map} +0 -0
- /package/dist/{rules-VK7YA23Q.js.map → rules-TMLFDY6X.js.map} +0 -0
- /package/dist/{rules-add-VG7AT6EG.js.map → rules-add-O766M6I5.js.map} +0 -0
- /package/dist/{run-DIDQSZU7.js.map → run-Y7VNP5EE.js.map} +0 -0
- /package/dist/{run-SR7DJ7M5.js.map → run-ZXGD5GAY.js.map} +0 -0
- /package/dist/{schedule-JO66N7XO.js.map → schedule-AJDMS4BD.js.map} +0 -0
- /package/dist/{schedule-JZBIX6LH.js.map → schedule-NCCNWKDY.js.map} +0 -0
- /package/dist/{scheduled-agents-N63EZNY6.js.map → scheduled-agents-PCS3VL4R.js.map} +0 -0
- /package/dist/{schema-C6SGBNA6.js.map → schema-KIA5RJDM.js.map} +0 -0
- /package/dist/{schema-B2XANMEY.js.map → schema-ZUOO5D6X.js.map} +0 -0
- /package/dist/{scrape-XRTWSSPE.js.map → scrape-MWW6FBUC.js.map} +0 -0
- /package/dist/{screenshot-3WETJ564.js.map → screenshot-6K7AEO4C.js.map} +0 -0
- /package/dist/{search-IWNAZ52P.js.map → search-2VJC4CVT.js.map} +0 -0
- /package/dist/{search-6X7EVOSI.js.map → search-EUGQ45JM.js.map} +0 -0
- /package/dist/{search-W5HZUJA2.js.map → search-L5CMOZA3.js.map} +0 -0
- /package/dist/{search-7ZLOF2AY.js.map → search-NPL5TN7D.js.map} +0 -0
- /package/dist/{search-HS7OHTFH.js.map → search-RZKZUUZC.js.map} +0 -0
- /package/dist/{search-7GHS3OUZ.js.map → search-YLKXXAYA.js.map} +0 -0
- /package/dist/{search-copy-ZJHRQCVH.js.map → search-copy-LC5EPYJG.js.map} +0 -0
- /package/dist/{seeds-5TAEFW6H.js.map → seeds-JI34P4HA.js.map} +0 -0
- /package/dist/{sends-JR3QZ2AL.js.map → sends-7WGK6K6C.js.map} +0 -0
- /package/dist/{sequences-UP4ESMFI.js.map → sequences-IIEG46TU.js.map} +0 -0
- /package/dist/{setup-links-ERBQSKAB.js.map → setup-links-VNEI42A5.js.map} +0 -0
- /package/dist/{shared-YBCK75HB.js.map → shared-UNQ3OBEC.js.map} +0 -0
- /package/dist/{site-PNVFJRYK.js.map → site-E4EUL77X.js.map} +0 -0
- /package/dist/{sitemaps-BGR4QHHJ.js.map → sitemaps-R6462TYK.js.map} +0 -0
- /package/dist/{sites-WOIMU334.js.map → sites-BS5SBTVM.js.map} +0 -0
- /package/dist/{skills-OS4PUOGZ.js.map → skills-7BZQVAEY.js.map} +0 -0
- /package/dist/{sources-HN3GCEDX.js.map → sources-6TCMSLQK.js.map} +0 -0
- /package/dist/{sources-DMZJPLKC.js.map → sources-LO3YOOQO.js.map} +0 -0
- /package/dist/{stats-CVF6AC7R.js.map → stats-TVQVRDQS.js.map} +0 -0
- /package/dist/{status-SF7DTPCJ.js.map → status-J4K5HOKZ.js.map} +0 -0
- /package/dist/{sticker-KFKL5W7F.js.map → sticker-IQTULOZN.js.map} +0 -0
- /package/dist/{stock-4LPQ6SM7.js.map → stock-25YD32HR.js.map} +0 -0
- /package/dist/{studio-NZ6WQ7OE.js.map → studio-2M2XBR7E.js.map} +0 -0
- /package/dist/{suggest-WMMEQCUH.js.map → suggest-6PNUDXOE.js.map} +0 -0
- /package/dist/{sync-F7VNZLWY.js.map → sync-3HWGVAQV.js.map} +0 -0
- /package/dist/{sync-HVNDPBOD.js.map → sync-4IBJWSBV.js.map} +0 -0
- /package/dist/{sync-E7P2PWXG.js.map → sync-GHPIPBO6.js.map} +0 -0
- /package/dist/{sync-definition-CKEUYKWN.js.map → sync-definition-HEASUFK6.js.map} +0 -0
- /package/dist/{tag-KTQ2FV5C.js.map → tag-76TTKDKF.js.map} +0 -0
- /package/dist/{tag-manager-FLXXLNKP.js.map → tag-manager-4AJIUX7V.js.map} +0 -0
- /package/dist/{tags-EUOOSAKN.js.map → tags-2XK6ZQI2.js.map} +0 -0
- /package/dist/{tags-TKXJGTR3.js.map → tags-6LW4FTZ3.js.map} +0 -0
- /package/dist/{tags-XAB4HWGW.js.map → tags-QEAH2IRF.js.map} +0 -0
- /package/dist/{tags-VWIPDCUA.js.map → tags-XTY5VXDS.js.map} +0 -0
- /package/dist/{tags-KOMAP2G5.js.map → tags-ZPBHZBLV.js.map} +0 -0
- /package/dist/{targeting-constants-Y3FAQOFH.js.map → targeting-constants-ARGJ3QQV.js.map} +0 -0
- /package/dist/{targeting-criteria-HE7K52WN.js.map → targeting-criteria-GMWARSTV.js.map} +0 -0
- /package/dist/{targets-NA4XPDBF.js.map → targets-I2WFL6JZ.js.map} +0 -0
- /package/dist/{testimonials-3Q5XM7JD.js.map → testimonials-DKFN34CI.js.map} +0 -0
- /package/dist/{top-companies-TKO4QGPJ.js.map → top-companies-7C3QZ3Q4.js.map} +0 -0
- /package/dist/{triggers-QX7VW7UO.js.map → triggers-I6BWR2BN.js.map} +0 -0
- /package/dist/{tweets-XOINDJA7.js.map → tweets-SGNWR3H5.js.map} +0 -0
- /package/dist/{unfollow-JSLPUZK5.js.map → unfollow-TMZ76BRA.js.map} +0 -0
- /package/dist/{unlink-64SRPUNG.js.map → unlink-CD7WJQBU.js.map} +0 -0
- /package/dist/{unstage-C2RAUVF6.js.map → unstage-ATF3XNAD.js.map} +0 -0
- /package/dist/{unstage-5X2MOUMF.js.map → unstage-KP5VRZMN.js.map} +0 -0
- /package/dist/{update-22ZBHURE.js.map → update-4EZRHJNR.js.map} +0 -0
- /package/dist/{update-FB6X463M.js.map → update-5MWCI3DR.js.map} +0 -0
- /package/dist/{update-DOKS7ATM.js.map → update-7XYPACZR.js.map} +0 -0
- /package/dist/{update-2LTPSGWT.js.map → update-FLNXNPQA.js.map} +0 -0
- /package/dist/{update-QIZ7XFAM.js.map → update-K75QQ2GN.js.map} +0 -0
- /package/dist/{upload-ZO2B6UW5.js.map → upload-NSSD63IM.js.map} +0 -0
- /package/dist/{upload-XJ7TUVIK.js.map → upload-O4IINV5I.js.map} +0 -0
- /package/dist/{upscale-6WADWURL.js.map → upscale-UXOBILTP.js.map} +0 -0
- /package/dist/{url-options-VNX5KYUQ.js.map → url-options-UK244DY7.js.map} +0 -0
- /package/dist/{url-params-KLQOLNPS.js.map → url-params-2SXL2PX4.js.map} +0 -0
- /package/dist/{use-NVXOEN4O.js.map → use-F5TRLSNK.js.map} +0 -0
- /package/dist/{variant-BN72AP34.js.map → variant-KLBKFKHB.js.map} +0 -0
- /package/dist/{videos-WAPUPJVT.js.map → videos-TBYEUE35.js.map} +0 -0
- /package/dist/{view-Z5JEMRNU.js.map → view-R64LLT5L.js.map} +0 -0
- /package/dist/{viewer-check-GHQA3UY2.js.map → viewer-check-KBF5PCQV.js.map} +0 -0
- /package/dist/{web-6JMWERTT.js.map → web-TMQHTWRB.js.map} +0 -0
- /package/dist/{winners-2FZXH22W.js.map → winners-VN2EHFDV.js.map} +0 -0
- /package/dist/{winning-ads-XCVUAIOU.js.map → winning-ads-YYBQZJRL.js.map} +0 -0
- /package/dist/{write-commands-3CX4M6CB.js.map → write-commands-AGKTMDAR.js.map} +0 -0
- /package/dist/{write-commands-N74CDMQM.js.map → write-commands-EZH66GPE.js.map} +0 -0
- /package/dist/{write-commands-YPT3ZLUW.js.map → write-commands-G6423E2M.js.map} +0 -0
- /package/dist/{x-SI4KYDEY.js.map → x-JGV5D7AV.js.map} +0 -0
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
import {
|
|
2
|
+
INGEST_MODES,
|
|
3
|
+
INGEST_MODE_HEADER
|
|
4
|
+
} from "./chunk-GRQ2AXDX.js";
|
|
5
|
+
import {
|
|
6
|
+
EVENT_ITEMS_MAX
|
|
7
|
+
} from "./chunk-TEX7Z7WC.js";
|
|
8
|
+
import {
|
|
9
|
+
MATCH_FIELD_FORWARDING
|
|
10
|
+
} from "./chunk-EDLZGTGN.js";
|
|
11
|
+
import {
|
|
12
|
+
EVENT_INGEST_BATCH_MAX,
|
|
13
|
+
EVENT_INGEST_BODY_MAX_BYTES,
|
|
14
|
+
EVENT_INGEST_REQUESTS_PER_MINUTE,
|
|
15
|
+
FUTURE_TOLERANCE_MS,
|
|
16
|
+
MAX_EVENT_NAME,
|
|
17
|
+
MAX_ITEM_QUANTITY,
|
|
18
|
+
REJECTION_CODES,
|
|
19
|
+
STANDARD_EVENT_NAMES
|
|
20
|
+
} from "./chunk-K5X62YHZ.js";
|
|
21
|
+
|
|
22
|
+
// ../api/src/event-ingest/arrivals.ts
|
|
23
|
+
import { z } from "zod";
|
|
24
|
+
var INGEST_ARRIVALS_MAX = 200;
|
|
25
|
+
var INGEST_ARRIVALS_DEFAULT = 25;
|
|
26
|
+
var ingestArrivalsRequestSchema = z.object({
|
|
27
|
+
/** `test` shows only rehearsals, `live` only real traffic. Absent shows both. */
|
|
28
|
+
mode: z.enum(INGEST_MODES).optional(),
|
|
29
|
+
/** `rejected` is the one worth asking for on its own — it is the whole reason to look. */
|
|
30
|
+
outcome: z.enum(["accepted", "rejected"]).optional(),
|
|
31
|
+
/** Narrow to one event name, for a company posting several kinds. */
|
|
32
|
+
eventName: z.string().max(120).optional(),
|
|
33
|
+
limit: z.coerce.number().int().positive().max(INGEST_ARRIVALS_MAX).optional().default(INGEST_ARRIVALS_DEFAULT),
|
|
34
|
+
/** Include the masked raw body and the per-field previews. Off by default — it is most of the bytes. */
|
|
35
|
+
full: z.boolean().optional()
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// ../api/src/event-ingest/endpoint.ts
|
|
39
|
+
var EVENT_INGEST_PATH = "/v1/events";
|
|
40
|
+
function eventIngestUrl(brandedUrl, convexSiteUrl) {
|
|
41
|
+
if (brandedUrl) return `${brandedUrl.replace(/\/$/, "")}${EVENT_INGEST_PATH}`;
|
|
42
|
+
return `${convexSiteUrl.replace(/\/$/, "")}${EVENT_INGEST_PATH}`;
|
|
43
|
+
}
|
|
44
|
+
var MODE_HINT = `
|
|
45
|
+
# Rehearse the same request: add -H '${INGEST_MODE_HEADER}: test'
|
|
46
|
+
# It is validated and answered exactly the same way, and nothing is written.`;
|
|
47
|
+
function eventIngestCurl(url, apiKey) {
|
|
48
|
+
const body = JSON.stringify({
|
|
49
|
+
events: [
|
|
50
|
+
{
|
|
51
|
+
event_name: "deal_won",
|
|
52
|
+
user_data: { email: "person@example.com" },
|
|
53
|
+
value: "1200.00",
|
|
54
|
+
currency: "EUR"
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
return [
|
|
59
|
+
`curl -X POST ${url} \\`,
|
|
60
|
+
` -H 'Authorization: Bearer ${apiKey}' \\`,
|
|
61
|
+
` -H 'Content-Type: application/json' \\`,
|
|
62
|
+
` -d '${body}'`
|
|
63
|
+
].join("\n") + MODE_HINT;
|
|
64
|
+
}
|
|
65
|
+
function eventSourceCurl(url) {
|
|
66
|
+
const body = JSON.stringify({
|
|
67
|
+
events: [
|
|
68
|
+
{
|
|
69
|
+
event_name: "deal_won",
|
|
70
|
+
user_data: { email: "person@example.com" },
|
|
71
|
+
value: "1200.00",
|
|
72
|
+
currency: "EUR"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
return [`curl -X POST ${url} \\`, ` -H 'Content-Type: application/json' \\`, ` -d '${body}'`].join("\n");
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// ../api/src/event-ingest/fields.ts
|
|
80
|
+
var BODY_MAX_MB = EVENT_INGEST_BODY_MAX_BYTES / (1024 * 1024);
|
|
81
|
+
var FUTURE_TOLERANCE_MINUTES = FUTURE_TOLERANCE_MS / 6e4;
|
|
82
|
+
var HEADER_FIELDS = [
|
|
83
|
+
{ name: "Authorization", need: "required", takes: "Bearer <your sending key>" },
|
|
84
|
+
{ name: "Content-Type", need: "required", takes: "application/json" },
|
|
85
|
+
{
|
|
86
|
+
name: "X-Baker-Mode",
|
|
87
|
+
need: "optional",
|
|
88
|
+
takes: "live (the default) or test.",
|
|
89
|
+
// Deliberately says what a test send *is* rather than "see step 4". Every
|
|
90
|
+
// note here is read twice — on this screen, where the step below explains
|
|
91
|
+
// it in full, and inside the Markdown brief, where there are no steps and
|
|
92
|
+
// a cross-reference points at nothing.
|
|
93
|
+
note: "A test send is authenticated and validated identically and stores nothing. An unrecognised value is refused rather than assumed."
|
|
94
|
+
}
|
|
95
|
+
];
|
|
96
|
+
var EVENT_FIELDS = [
|
|
97
|
+
{
|
|
98
|
+
name: "event_name",
|
|
99
|
+
need: "required",
|
|
100
|
+
takes: `What happened. Up to ${MAX_EVENT_NAME} characters of letters, digits, spaces, . _ and -, starting with a letter or a digit`,
|
|
101
|
+
note: 'The only required field. Use one of the standard names below wherever one fits \u2014 anything else is yours to invent, in whatever language you name things in: a letter is a letter in any script, and "Matr\xEDcula Realizada" is a name.'
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: "event_time",
|
|
105
|
+
need: "optional",
|
|
106
|
+
takes: "ISO-8601 with an offset (2026-09-08T13:23:41Z), or Unix seconds (1757337821).",
|
|
107
|
+
note: `Left out, it is the moment we received it. Nothing is refused for being old \u2014 a backfill of last year's history is what this is for. More than ${FUTURE_TOLERANCE_MINUTES} minutes in the future is refused.`
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "event_id",
|
|
111
|
+
need: "optional",
|
|
112
|
+
takes: "Your own id for this event: 1\u2013128 characters of letters, digits, and . _ : -",
|
|
113
|
+
note: "Send one only if you want it deduplicated \u2014 the same id twice is counted once. Send none and every post is its own event."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: "user_data",
|
|
117
|
+
need: "required",
|
|
118
|
+
takes: "Who it was about. At least one field below \u2014 this is the whole of how a server event finds the person who visited a Baker page or your website.",
|
|
119
|
+
note: "No field is required on its own and the block is: an event naming nobody is refused with missing_identity. The one exception is a page_view carrying a url, because a page serve is a fact about a page."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: "email",
|
|
123
|
+
need: "optional",
|
|
124
|
+
under: true,
|
|
125
|
+
takes: "The address, or its SHA-256 digest if you already hash. Either \u2014 we tell them apart.",
|
|
126
|
+
note: "Send this one if you can. It is the road that cannot silently fail: we normalise and hash it here, so it lands on exactly the person a Baker page or the pixel already recorded."
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "phone",
|
|
130
|
+
need: "optional",
|
|
131
|
+
under: true,
|
|
132
|
+
takes: "The number with its country code, or its digest. Same treatment as email."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: "external_id",
|
|
136
|
+
need: "optional",
|
|
137
|
+
under: true,
|
|
138
|
+
takes: "Your own id for the person \u2014 a CRM contact key.",
|
|
139
|
+
note: "Kept exactly as you send it, and hashed alongside so it joins: your own events to each other, and to a browser once one event carries it beside an email or a baker_id."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: "baker_id",
|
|
143
|
+
need: "optional",
|
|
144
|
+
under: true,
|
|
145
|
+
takes: "The Baker ID one of our pages already gave this browser, if you kept it.",
|
|
146
|
+
note: "The strongest of all of them: it names the visit, so the event lands on that person's timeline rather than beside it."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: "the ad click ids",
|
|
150
|
+
need: "optional",
|
|
151
|
+
under: true,
|
|
152
|
+
takes: "The click id that brought them, if you kept it, under the name the platform stamps on the link: gclid, wbraid, gbraid, dclid, fbclid, ttclid, twclid, li_fat_id, msclkid, rdt_cid, epik, sccid (Snapchat's ScCid, in any case), oppref (ChatGPT Ads).",
|
|
153
|
+
note: "A click id names a person too \u2014 it is enough on its own, and it attributes the event to the campaign that earned it."
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
name: "fbp, fbc",
|
|
157
|
+
need: "optional",
|
|
158
|
+
under: true,
|
|
159
|
+
takes: "Meta's own browser cookies (_fbp, _fbc), exactly as your site stored them.",
|
|
160
|
+
note: "Enough on their own, and worth sending: they are what Meta matches a server event on. We read the click id out of an fbc for you."
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: "the matching fields",
|
|
164
|
+
need: "optional",
|
|
165
|
+
under: true,
|
|
166
|
+
takes: "first_name, last_name, date_of_birth, gender, city, region, postal_code, country \u2014 Meta's advanced matching and Google's enhanced conversions, in one block. Plain or already hashed.",
|
|
167
|
+
note: "They name nobody here, so they never satisfy user_data on their own. They are kept so this event can be sent on to Meta or Google later without asking you for it all again."
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: "url",
|
|
171
|
+
need: "optional",
|
|
172
|
+
takes: "The full page URL this happened on.",
|
|
173
|
+
note: "Its query string is where campaign parameters and ad click ids are read from. Without it the event counts, and belongs to no page."
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: "value",
|
|
177
|
+
need: "optional",
|
|
178
|
+
takes: "What it was worth: a decimal string or a JSON number. No thousands separator, no sign, no exponent.",
|
|
179
|
+
note: 'Rounded to what the currency holds \u2014 1200.999 EUR is stored as 1201.00. "1,200" is refused.'
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
name: "currency",
|
|
183
|
+
need: "conditional",
|
|
184
|
+
takes: "An ISO-4217 code, e.g. EUR. Required whenever value is present, and refused on its own."
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: "properties",
|
|
188
|
+
need: "optional",
|
|
189
|
+
takes: "A flat object of strings \u2014 anything you want to break the event down by later."
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
name: "items",
|
|
193
|
+
need: "optional",
|
|
194
|
+
takes: "What was bought, one entry per product line \u2014 for a purchase, a cart or a refund.",
|
|
195
|
+
note: `Each line names its product by at least one of the ids below. value still carries the whole event's money. An order with more than ${EVENT_ITEMS_MAX} lines keeps the first ${EVENT_ITEMS_MAX}.`
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
name: "product_id, variant_id, feed_id",
|
|
199
|
+
need: "conditional",
|
|
200
|
+
under: true,
|
|
201
|
+
takes: "Your store's product id, its variant id, or the id the product has in your ads catalog. At least one per line, up to 255 characters each."
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: "quantity",
|
|
205
|
+
need: "optional",
|
|
206
|
+
under: true,
|
|
207
|
+
takes: `How many: a whole number from 1 to ${MAX_ITEM_QUANTITY.toLocaleString("en-US")}.`
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: "price",
|
|
211
|
+
need: "optional",
|
|
212
|
+
under: true,
|
|
213
|
+
takes: "The price of one unit, in the event's currency \u2014 so it needs currency. A decimal like value."
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: "consent",
|
|
217
|
+
need: "optional",
|
|
218
|
+
takes: "What the person allowed, if your site asked them.",
|
|
219
|
+
note: "Send it whenever you know it. A person who said no to marketing is still counted in your reports, and is never matched or sent to an ad platform."
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
name: "analytics",
|
|
223
|
+
need: "optional",
|
|
224
|
+
under: true,
|
|
225
|
+
takes: "granted or denied \u2014 whether they allowed being measured. Denied keeps the event and forgets who it was."
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: "marketing",
|
|
229
|
+
need: "optional",
|
|
230
|
+
under: true,
|
|
231
|
+
takes: "granted or denied \u2014 whether they allowed their visit to be used for advertising."
|
|
232
|
+
}
|
|
233
|
+
];
|
|
234
|
+
var RESPONSE_FIELDS = [
|
|
235
|
+
{
|
|
236
|
+
name: "mode",
|
|
237
|
+
need: "required",
|
|
238
|
+
takes: "live or test, echoed back \u2014 so a forgotten header is visible in the reply rather than in a report next week."
|
|
239
|
+
},
|
|
240
|
+
{ name: "received", need: "required", takes: "How many events we read, so you can detect a truncated body." },
|
|
241
|
+
{ name: "accepted", need: "required", takes: "How many were counted." },
|
|
242
|
+
{
|
|
243
|
+
name: "rejected",
|
|
244
|
+
need: "required",
|
|
245
|
+
takes: "One entry per refused event: index, event_id, code, message.",
|
|
246
|
+
note: "index is the position in your own array, and is the one to branch on \u2014 event_id is empty for an event that sent none."
|
|
247
|
+
}
|
|
248
|
+
];
|
|
249
|
+
var REJECTION_CODE_LIST = REJECTION_CODES;
|
|
250
|
+
var BATCH_LIMITS = {
|
|
251
|
+
events: EVENT_INGEST_BATCH_MAX,
|
|
252
|
+
megabytes: BODY_MAX_MB,
|
|
253
|
+
requestsPerMinute: EVENT_INGEST_REQUESTS_PER_MINUTE
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
// ../api/src/event-ingest/brief.ts
|
|
257
|
+
var KEY_ENV_VAR = "BAKER_EVENTS_KEY";
|
|
258
|
+
var KEY_PLACEHOLDER = "<your sending key>";
|
|
259
|
+
var NEED_WORD = {
|
|
260
|
+
required: "required",
|
|
261
|
+
optional: "optional",
|
|
262
|
+
conditional: "conditional"
|
|
263
|
+
};
|
|
264
|
+
function cell(text) {
|
|
265
|
+
return text.replaceAll("<", "\\<").replaceAll("|", "\\|");
|
|
266
|
+
}
|
|
267
|
+
function table(fields) {
|
|
268
|
+
const rows = fields.map((field) => {
|
|
269
|
+
const name = field.under === true ? `\u21B3 \`${field.name}\`` : `\`${field.name}\``;
|
|
270
|
+
const note = field.note === void 0 ? "" : `<br>${cell(field.note)}`;
|
|
271
|
+
return `| ${name} | ${NEED_WORD[field.need]} | ${cell(field.takes)}${note} |`;
|
|
272
|
+
});
|
|
273
|
+
return ["| Field | | What it takes |", "| --- | --- | --- |", ...rows].join("\n");
|
|
274
|
+
}
|
|
275
|
+
function standardNames() {
|
|
276
|
+
return [
|
|
277
|
+
"| Name | Means |",
|
|
278
|
+
"| --- | --- |",
|
|
279
|
+
...STANDARD_EVENT_NAMES.map((standard) => `| \`${standard.name}\` | ${standard.means} |`)
|
|
280
|
+
].join("\n");
|
|
281
|
+
}
|
|
282
|
+
function forwarding() {
|
|
283
|
+
return [
|
|
284
|
+
"| Field | Meta | Google | Held as |",
|
|
285
|
+
"| --- | --- | --- | --- |",
|
|
286
|
+
...MATCH_FIELD_FORWARDING.map(
|
|
287
|
+
(row) => `| \`${row.field}\` | \`${row.meta}\` | ${row.google === null ? "\u2014" : `\`${row.google}\``} | ${row.hashed ? "SHA-256" : "plain text"} |`
|
|
288
|
+
)
|
|
289
|
+
].join("\n");
|
|
290
|
+
}
|
|
291
|
+
function ingestBrief(endpointUrl) {
|
|
292
|
+
return brief(endpointUrl, "key");
|
|
293
|
+
}
|
|
294
|
+
function keyRules(door) {
|
|
295
|
+
if (door === "address") {
|
|
296
|
+
return `1. **The address is the credential. Never put it in source, and never paste it into a chat.**
|
|
297
|
+
Read it from \`BAKER_EVENTS_URL\` and ask the person for the value \u2014 they can copy it
|
|
298
|
+
from Baker \u2192 Measure \u2192 Sources, on the source's own page.
|
|
299
|
+
2. **The first send is a rehearsal.** While the source reads "Waiting for your first event"
|
|
300
|
+
in Baker, every request is parsed, validated and answered exactly as a live one and
|
|
301
|
+
**stores nothing**; the person then confirms what to read from it and it counts from
|
|
302
|
+
there. Nothing about the integration changes when it does.`;
|
|
303
|
+
}
|
|
304
|
+
return `1. **Never put the sending key in source, and never paste it into a chat.** It is
|
|
305
|
+
deliberately not in this document. Read it from \`${KEY_ENV_VAR}\` and ask the person
|
|
306
|
+
for the value \u2014 they can copy it from Baker \u2192 Measure \u2192 Events \u2192 Sending events.
|
|
307
|
+
2. **Send \`X-Baker-Mode: test\` while you build.** A test request is authenticated,
|
|
308
|
+
parsed and validated in exactly the same way and answers in exactly the same shape,
|
|
309
|
+
and **stores nothing**. Remove the header to go live. There is no separate test key
|
|
310
|
+
and no separate endpoint, so nothing about the integration changes when it does.`;
|
|
311
|
+
}
|
|
312
|
+
function brief(endpointUrl, door) {
|
|
313
|
+
const { events, megabytes, requestsPerMinute } = BATCH_LIMITS;
|
|
314
|
+
const headers = door === "address" ? HEADER_FIELDS.filter((field) => field.name === "Content-Type") : HEADER_FIELDS;
|
|
315
|
+
const credentialRow = door === "address" ? "| `404` | Nothing is listening at this address: it is wrong, or the source was removed. | Fix the address. Do not retry. |" : "| `401` | The key is missing, wrong, or not a sending key. | Fix the credential. Do not retry. |";
|
|
316
|
+
const request = door === "address" ? eventSourceCurl(endpointUrl) : eventIngestCurl(endpointUrl, KEY_PLACEHOLDER);
|
|
317
|
+
return `# Send events to Baker's API from your server
|
|
318
|
+
|
|
319
|
+
You are being handed this by somebody who wants an integration built against it. It is
|
|
320
|
+
the complete contract for ${door === "address" ? "a Baker source's address" : "`POST /v1/events`"} on **their own Baker endpoint**, taken from
|
|
321
|
+
the code that enforces it. Build from this document; you should not need to look
|
|
322
|
+
anything else up.
|
|
323
|
+
|
|
324
|
+
Baker measures what happens on the pages it publishes. This endpoint is how everything
|
|
325
|
+
that happens *away* from those pages \u2014 a deal closing in a CRM, a subscription starting,
|
|
326
|
+
an order shipping \u2014 reaches the same reports, joined to the same person.
|
|
327
|
+
|
|
328
|
+
## Read this before you write anything
|
|
329
|
+
|
|
330
|
+
${keyRules(door)}
|
|
331
|
+
3. **A \`200\` does not mean it counted.** The body carries \`rejected[]\`, one entry per
|
|
332
|
+
refused event. Read it and log it on every response. Throwing it away is the single
|
|
333
|
+
most common way an integration against this endpoint is wrong and looks right.
|
|
334
|
+
4. **Batch.** Up to ${events} events and ${megabytes} MB per request, and at most
|
|
335
|
+
${requestsPerMinute} requests per minute for the whole company. One event per request
|
|
336
|
+
works and will exhaust that budget on any real backfill. Every event is judged on its
|
|
337
|
+
own, so one bad row is refused and the rest of the batch still counts.
|
|
338
|
+
5. **Retry \`5xx\` and \`429\`, never \`4xx\`.** A \`4xx\` means the request is wrong and
|
|
339
|
+
will be wrong again. If you retry, send the same \`event_id\` \u2014 that is what makes the
|
|
340
|
+
retry count once.
|
|
341
|
+
6. **A refund is its own event, not a negative amount.** \`value\` may not be negative.
|
|
342
|
+
Send an event with its own name and let the reports subtract.
|
|
343
|
+
7. **You cannot declare a conversion.** Whether an event counts as one is a decision the
|
|
344
|
+
client makes in Baker, against the event's name, and it applies retroactively to
|
|
345
|
+
everything already sent under that name. Nothing in the payload can assert it.
|
|
346
|
+
8. **Ask, do not guess.** Which events matter and where the person's email lives in their
|
|
347
|
+
system are things this document cannot tell you. Ask.
|
|
348
|
+
|
|
349
|
+
## Endpoint
|
|
350
|
+
|
|
351
|
+
\`\`\`
|
|
352
|
+
POST ${endpointUrl}
|
|
353
|
+
\`\`\`
|
|
354
|
+
|
|
355
|
+
### Headers
|
|
356
|
+
|
|
357
|
+
${table(headers)}
|
|
358
|
+
|
|
359
|
+
### Body
|
|
360
|
+
|
|
361
|
+
\`\`\`json
|
|
362
|
+
{ "events": [ { "event_name": "..." } ] }
|
|
363
|
+
\`\`\`
|
|
364
|
+
|
|
365
|
+
Up to ${events} events and ${megabytes} MB per request.
|
|
366
|
+
|
|
367
|
+
## The event
|
|
368
|
+
|
|
369
|
+
The field names are Meta's. If you have written an integration against Meta's Conversions
|
|
370
|
+
API or Google Ads' offline conversion upload, this is the same payload: \`event_name\`,
|
|
371
|
+
\`event_time\`, \`event_id\`, \`user_data\`, \`value\`, \`currency\`.
|
|
372
|
+
|
|
373
|
+
${table(EVENT_FIELDS)}
|
|
374
|
+
|
|
375
|
+
### Naming the person is the part that matters
|
|
376
|
+
|
|
377
|
+
\`user_data\` is required and every field in it is optional, which is not a contradiction:
|
|
378
|
+
the event has to name **somebody**, and there are several ways to do it. An event that
|
|
379
|
+
names nobody is refused with \`missing_identity\`.
|
|
380
|
+
|
|
381
|
+
Ranked by how well each works, best first:
|
|
382
|
+
|
|
383
|
+
1. \`baker_id\` \u2014 the id a Baker page already gave that browser. It names the *visit*, so
|
|
384
|
+
the event lands on a real session's timeline. Send it if the client's system kept it.
|
|
385
|
+
2. \`email\` or \`phone\` \u2014 the road that cannot silently fail. Send the plain value if you
|
|
386
|
+
can: we normalise and hash it here under the same rule the browser uses, so it lands
|
|
387
|
+
on exactly the person the pages already recorded. If policy forbids sending it plain,
|
|
388
|
+
send the SHA-256 digest **in the same field** \u2014 we detect which it is. Hash the
|
|
389
|
+
trimmed, lower-cased address; for a phone, digits with a leading \`+\`.
|
|
390
|
+
3. \`external_id\` \u2014 the client's own key for the person, a CRM contact id. Stored as sent,
|
|
391
|
+
and hashed alongside so it joins.
|
|
392
|
+
On its own it joins that system's events to each other; send it **once** alongside an
|
|
393
|
+
email or a \`baker_id\` and every later event carrying only the contact id joins the
|
|
394
|
+
person too. That link is retroactive: it reaches back to everything already sent.
|
|
395
|
+
4. A click id, \`fbp\` or \`fbc\` \u2014 names the click or the browser that brought them, which
|
|
396
|
+
is what a report attributes the event to.
|
|
397
|
+
|
|
398
|
+
Send every one you have, not just the best. They cost nothing extra and each is a
|
|
399
|
+
separate chance to match.
|
|
400
|
+
|
|
401
|
+
### The matching fields, and where they go afterwards
|
|
402
|
+
|
|
403
|
+
\`first_name\` \u2026 \`country\` never satisfy \`user_data\` on their own \u2014 they describe a
|
|
404
|
+
person and name nobody. They are worth sending anyway: they are exactly what Meta's
|
|
405
|
+
advanced matching and Google's enhanced conversions match on, and keeping them means the
|
|
406
|
+
event can be forwarded later without going back to the client's CRM for it.
|
|
407
|
+
|
|
408
|
+
${forwarding()}
|
|
409
|
+
|
|
410
|
+
## Standard event names
|
|
411
|
+
|
|
412
|
+
Nothing is refused for being absent from this list \u2014 send whatever the business calls a
|
|
413
|
+
thing. These are the spellings Baker publishes so that two companies measuring the same
|
|
414
|
+
thing measure it under the same word. \`page_view\` is the one with behaviour: it becomes
|
|
415
|
+
a page view rather than a named event, and it is the only event that may arrive without a
|
|
416
|
+
person as long as it carries a \`url\`.
|
|
417
|
+
|
|
418
|
+
${standardNames()}
|
|
419
|
+
|
|
420
|
+
## The response
|
|
421
|
+
|
|
422
|
+
\`\`\`json
|
|
423
|
+
{ "ok": true, "data": { "mode": "live", "received": 2, "accepted": 1,
|
|
424
|
+
"rejected": [ { "index": 1, "event_id": "", "code": "invalid_value",
|
|
425
|
+
"message": "value and currency go together: a non-negative decimal and an ISO-4217 code" } ] } }
|
|
426
|
+
\`\`\`
|
|
427
|
+
|
|
428
|
+
${table(RESPONSE_FIELDS)}
|
|
429
|
+
|
|
430
|
+
\`code\` is a closed set \u2014 branch on it, not on \`message\`:
|
|
431
|
+
|
|
432
|
+
${REJECTION_CODE_LIST.map((code) => `- \`${code}\``).join("\n")}
|
|
433
|
+
|
|
434
|
+
There is no duplicate count, on purpose. A repeated \`event_id\` is accepted like any other
|
|
435
|
+
event and counted **once** \u2014 one conversion, one event, its value added once \u2014 so a retry
|
|
436
|
+
is safe and needs no branch of its own. Both requests are shown in Baker, with the later
|
|
437
|
+
one marked "Already counted", so a retry is visible without being counted.
|
|
438
|
+
|
|
439
|
+
The same holds **across connections**, which is the reason to use it. If the page also
|
|
440
|
+
reports this outcome with Baker's website tag, pass one string as \`event_id\` here and as
|
|
441
|
+
\`eventId\` in \`window.baker.track(name, { eventId })\`: the browser event and the
|
|
442
|
+
server event are then one event and count once, whichever arrives first and whether or not
|
|
443
|
+
the other ever does. Report an important outcome from both \u2014 a browser can be blocked, a
|
|
444
|
+
server cannot \u2014 and always pair them with an id. Send no id and the two are two conversions,
|
|
445
|
+
with nothing anywhere reporting an error.
|
|
446
|
+
|
|
447
|
+
### HTTP statuses
|
|
448
|
+
|
|
449
|
+
| Status | Means | Do |
|
|
450
|
+
| --- | --- | --- |
|
|
451
|
+
| \`200\` | The request was read. Individual events may still have been refused. | Read \`rejected[]\`. |
|
|
452
|
+
| \`400\` | The body is not the shape above \u2014 an unknown field, or the wrong JSON type. | Fix the payload. Do not retry. |
|
|
453
|
+
${credentialRow}
|
|
454
|
+
| \`413\` | Over ${events} events or ${megabytes} MB. | Split the batch and re-post. |
|
|
455
|
+
| \`429\` | Over ${requestsPerMinute} requests a minute for this company. | Back off and retry. |
|
|
456
|
+
| \`5xx\` | Nothing was written. | Retry with the same \`event_id\`s. |
|
|
457
|
+
|
|
458
|
+
## A request that works
|
|
459
|
+
|
|
460
|
+
\`\`\`bash
|
|
461
|
+
${request}
|
|
462
|
+
\`\`\`
|
|
463
|
+
|
|
464
|
+
## Once it is sending
|
|
465
|
+
|
|
466
|
+
Every accepted event appears in Baker under **Measure \u2192 Events**, live, with what was
|
|
467
|
+
sent. Test sends and refusals appear there too, filed separately and marked, with the
|
|
468
|
+
payload \u2014 so "did my request arrive and what did it say" is answered on the screen rather
|
|
469
|
+
than in the client's own logs. To make an event count as a conversion, the client marks
|
|
470
|
+
it by name under **Conversions**.
|
|
471
|
+
`;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
export {
|
|
475
|
+
INGEST_ARRIVALS_MAX,
|
|
476
|
+
eventIngestUrl,
|
|
477
|
+
ingestBrief
|
|
478
|
+
};
|
|
479
|
+
//# sourceMappingURL=chunk-UWABLMIK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/src/event-ingest/arrivals.ts","../../api/src/event-ingest/endpoint.ts","../../api/src/event-ingest/fields.ts","../../api/src/event-ingest/brief.ts"],"sourcesContent":["/**\n * The 48-hour arrival log, as the CLI asks for it and gets it back.\n *\n * ## The question this answers, and where it used to have to be answered\n *\n * \"My server posts to `/v1/events` and nothing shows up.\" Every part of that\n * sentence can be wrong in a different place, and the endpoint is deliberately\n * quiet about all of them: a refused event comes back inside a `200` as\n * `rejected: [{ code }]`, which every HTTP client on earth throws away, and a\n * rehearsal is accepted, answered identically, and writes nothing at all.\n *\n * So the log is the only record of what actually arrived — and until this\n * existed it could only be read on the dashboard. The agent a client asks to\n * fix the integration had no way to look at it, which meant the one surface\n * built for debugging this was invisible to the one reader most often asked to\n * debug it.\n *\n * ## Names, never values\n *\n * The log's own rule, and it survives the trip out here: `identityKeys` says\n * *which* fields the request carried, `preview` shows only as much of one as\n * `./preview` allows (`l***@empresa.com`), and the raw body — already masked\n * before it was ever persisted — is behind `--full`. Nothing here can recover a\n * person, which is what makes it safe to hand to an agent whose output lands in\n * a chat log.\n */\n\nimport { z } from \"zod\";\nimport { INGEST_MODES } from \"./mode\";\n\n/** How many arrivals one call may return. The table is 48 hours of one company's requests. */\nexport const INGEST_ARRIVALS_MAX = 200;\nconst INGEST_ARRIVALS_DEFAULT = 25;\n\nexport const ingestArrivalsRequestSchema = z.object({\n /** `test` shows only rehearsals, `live` only real traffic. Absent shows both. */\n mode: z.enum(INGEST_MODES).optional(),\n /** `rejected` is the one worth asking for on its own — it is the whole reason to look. */\n outcome: z.enum([\"accepted\", \"rejected\"]).optional(),\n /** Narrow to one event name, for a company posting several kinds. */\n eventName: z.string().max(120).optional(),\n limit: z.coerce.number().int().positive().max(INGEST_ARRIVALS_MAX).optional().default(INGEST_ARRIVALS_DEFAULT),\n /** Include the masked raw body and the per-field previews. Off by default — it is most of the bytes. */\n full: z.boolean().optional(),\n});\nexport type IngestArrivalsRequest = z.infer<typeof ingestArrivalsRequestSchema>;\n\n/**\n * One request, as it was received.\n *\n * A `type` rather than an `interface`, and not by accident: the CLI writes the\n * whole envelope through `writeJsonEnvelope(Record<string, unknown>)`, and\n * TypeScript gives a type alias an implicit index signature where an interface\n * gets none. Every sibling response in `@baker/api` is a `z.infer`, which is a\n * type alias, which is why none of them ever hit this.\n */\nexport type IngestArrivalRow = {\n /** ISO-8601, UTC — when we received it, which is not necessarily when it happened. */\n receivedAt: string;\n mode: string;\n outcome: string;\n eventName: string;\n /** The sender's own id, when they sent one. Empty means every post is its own event. */\n eventId: string;\n /** ISO-8601 of `event_time`, or empty when the sender let it default to arrival. */\n occurredAt: string;\n /** Closed set — see `REJECTION_CODES`. Empty on an accepted request. */\n rejectCode: string;\n rejectMessage: string;\n /** Which `user_data` fields the request carried. Names only. */\n identityKeys: string[];\n /** `{ key, preview }` per field — `--full` only. */\n identityPreview?: { key: string; preview: string }[];\n value: string;\n currency: string;\n /** The body as it arrived, with every sensitive value already replaced. `--full` only. */\n payload?: string;\n};\n\nexport type IngestArrivalsData = {\n arrivals: IngestArrivalRow[];\n /** How many of the returned rows were refused, so a caller need not count them. */\n rejected: number;\n /** How many were rehearsals, which are accepted and deliberately write nothing. */\n rehearsals: number;\n hints: string[];\n};\n\n/** The envelope, as every `baker` command returns one. */\nexport type IngestArrivalsResponse = { ok: true; data: IngestArrivalsData };\n\n/**\n * What to say about a page of arrivals.\n *\n * Every one of these is a conclusion somebody would otherwise have to reach by\n * reading the rows and already knowing how the endpoint behaves — and the two\n * that matter most are the ones where the log looks *healthy*: an empty list\n * after a client swears they are posting, and a wall of accepted rehearsals\n * that were never going to appear in a report.\n */\nexport function arrivalHints(rows: readonly IngestArrivalRow[], asked: { mode?: string }): string[] {\n const hints: string[] = [];\n if (rows.length === 0) {\n hints.push(\n asked.mode\n ? `Nothing arrived in the last 48 hours under mode=${asked.mode}. Drop --mode to see the other kind before concluding the integration is silent.`\n : \"Nothing has arrived in the last 48 hours. The log only records requests that REACHED us, so an empty list means the key, the URL or the client's own dispatch — not the payload. `baker analytics sending-events` has the endpoint and a runnable request.\",\n );\n return hints;\n }\n\n const rejected = rows.filter((row) => row.outcome === \"rejected\");\n // The single most useful thing this command can say: when every refusal\n // shares a code, the fix is one fix, and naming it beats listing the rows.\n const codes = new Set(rejected.map((row) => row.rejectCode).filter((code) => code !== \"\"));\n if (rejected.length > 0 && codes.size === 1) {\n const [code] = [...codes];\n hints.push(\n `All ${rejected.length} refused ${rejected.length === 1 ? \"request was\" : \"requests were\"} refused for the same reason (${code}) — one fix, not ${rejected.length}. The message on the row says what the field had to be.`,\n );\n } else if (rejected.length > 0) {\n hints.push(`${rejected.length} of ${rows.length} were refused, for ${codes.size} different reasons.`);\n }\n\n // Gated on the ACCEPTED rows, not on the page. The confusion this exists to\n // prevent is \"it was accepted and nothing appeared\" — on a page of refusals\n // the reason nothing appeared is the refusal, and saying \"these deliberately\n // write nothing\" there points away from the error that is right beside it.\n // Found by running the command: a `--outcome rejected` page whose rows all\n // happened to be rehearsals got this hint on top of its own codes.\n const accepted = rows.filter((row) => row.outcome === \"accepted\");\n if (accepted.length > 0 && accepted.every((row) => row.mode === \"test\")) {\n hints.push(\n \"Every request that was accepted here is a rehearsal (X-Baker-Mode: test). They are validated and answered exactly like live traffic and deliberately write nothing, so they will never appear in a report — which is the usual reason somebody thinks the endpoint is broken when it is working.\",\n );\n }\n\n // An accepted event with no `event_id` is not a defect, and saying so once\n // stops it being reported as one. Saying it when a retry has already happened\n // would be noise, so it is only raised where the whole page is id-less.\n if (accepted.length > 0 && accepted.every((row) => row.eventId === \"\")) {\n hints.push(\n \"None of the accepted requests carried an event_id, so every retry counts again. Send one per event if the client's system can retry — it is the only thing that makes a repeat collapse to one.\",\n );\n }\n return hints;\n}\n","/**\n * Where the contract is served, and the request a client can paste.\n *\n * The host is a Baker one so that no client integration is ever written against\n * a `*.convex.site` deployment it would have to change when we move. It is a\n * Convex custom domain mapped straight onto the production deployment's HTTP\n * router — no proxy in between. If the backend ever moves, the domain\n * re-points then; the API key still resolves the Company.\n */\nimport { INGEST_MODE_HEADER } from \"./mode\";\n\nexport const EVENT_INGEST_PATH = \"/v1/events\";\n\n/**\n * The endpoint to show an integrator, given the branded host published for this\n * environment.\n *\n * Development has no branded host — the domain fronts one deployment — so it\n * falls back to the Convex site the dashboard already knows, and the guide\n * stays a request you can actually run. A guide whose curl 404s teaches a\n * client that the docs are wrong, which is more expensive than the ugly URL.\n */\nexport function eventIngestUrl(brandedUrl: string | undefined, convexSiteUrl: string): string {\n if (brandedUrl) return `${brandedUrl.replace(/\\/$/, \"\")}${EVENT_INGEST_PATH}`;\n return `${convexSiteUrl.replace(/\\/$/, \"\")}${EVENT_INGEST_PATH}`;\n}\n\n/**\n * A request that runs as written, with this company's own endpoint and key.\n *\n * Built here rather than in the dashboard component so the one thing an\n * integrator copies is covered by a test: a snippet with a stale field name is\n * indistinguishable from a broken endpoint from where they are standing.\n *\n * ## The rehearsal is a header, so there is one snippet and not two\n *\n * `X-Baker-Mode: test` validates and answers identically while writing no\n * analytics row. It is shown as a trailing hint beside the live request rather\n * than as a second snippet, because that is the actual shape of the decision:\n * the same integration, the same credential, one line different. A second\n * snippet would imply a second setup, which is what having a separate test\n * *key* used to imply and why it was wrong.\n *\n * ## What the example sends, and what it deliberately leaves out\n *\n * A `deal_won` with money on it and an email in `user_data` — the case this\n * door exists for, and the shortest body that exercises every part that can go\n * wrong. It carries neither an `event_id` nor an\n * `event_time`, and both absences are the point: they are optional, and an\n * example that pins an id would count once however many times it is pasted —\n * which is the deduplication working, and looks exactly like a broken key.\n */\nconst MODE_HINT = `\\n# Rehearse the same request: add -H '${INGEST_MODE_HEADER}: test'\\n# It is validated and answered exactly the same way, and nothing is written.`;\n\nexport function eventIngestCurl(url: string, apiKey: string): string {\n const body = JSON.stringify({\n events: [\n {\n event_name: \"deal_won\",\n user_data: { email: \"person@example.com\" },\n value: \"1200.00\",\n currency: \"EUR\",\n },\n ],\n });\n\n return (\n [\n `curl -X POST ${url} \\\\`,\n ` -H 'Authorization: Bearer ${apiKey}' \\\\`,\n ` -H 'Content-Type: application/json' \\\\`,\n ` -d '${body}'`,\n ].join(\"\\n\") + MODE_HINT\n );\n}\n\n/**\n * The same request against a source's address: no key, because the address\n * is the credential, and no mode header, because an address rehearses while\n * the source is waiting for its first send and counts once it is confirmed.\n */\nexport function eventSourceCurl(url: string): string {\n const body = JSON.stringify({\n events: [\n {\n event_name: \"deal_won\",\n user_data: { email: \"person@example.com\" },\n value: \"1200.00\",\n currency: \"EUR\",\n },\n ],\n });\n return [`curl -X POST ${url} \\\\`, ` -H 'Content-Type: application/json' \\\\`, ` -d '${body}'`].join(\"\\n\");\n}\n","/**\n * The sending-events contract as data: the three tables the dialog draws, and\n * nothing about how they are drawn.\n *\n * Lifted out of the dialog when the same reference had to exist twice — once as\n * a table somebody reads, and once as Markdown somebody hands to a coding\n * assistant. Two hand-written copies of a contract is the failure this file\n * exists to prevent: the screen would go on being right while the copy an agent\n * actually writes code from quietly aged, and nothing would catch it, because\n * the wrong one is never rendered.\n *\n * ## Why it is in the contract package rather than beside the dialog\n *\n * There is a **third** reader, and it is the one that could not reach this at\n * all while it lived in `apps/dashboard`: the sandbox agent, through\n * `baker analytics sending-events`. That agent is who a client asks to wire\n * their CRM up, and until this moved its only options were to invent the\n * payload shape or to ask somebody to paste the dialog into chat. A contract\n * that only a browser can read is a contract the agent writing the integration\n * has never seen.\n *\n * Every bound and every code here is imported from its own module rather than\n * typed out, for the same reason one layer down. What is written out is the\n * prose, which no module can generate: what a field is *for*, and which of two\n * reasonable expectations is the wrong one.\n */\n\nimport { EVENT_ITEMS_MAX } from \"../analytics/row\";\nimport {\n EVENT_INGEST_BATCH_MAX,\n EVENT_INGEST_BODY_MAX_BYTES,\n EVENT_INGEST_REQUESTS_PER_MINUTE,\n FUTURE_TOLERANCE_MS,\n MAX_EVENT_NAME,\n MAX_ITEM_QUANTITY,\n REJECTION_CODES,\n} from \"./validation\";\n\n/**\n * One row of the contract: the field, whether it is required, and what it takes.\n *\n * A table rather than prose because that is the shape of the question. Nobody\n * reads this top to bottom — they arrive knowing which field they are unsure\n * about and want the one line about it, and a paragraph makes them read six\n * lines to find out whether `value` may be a number.\n *\n * `note` is a plain string, deliberately: it is rendered on screen *and*\n * written into the Markdown brief, and the moment one of these holds JSX the\n * brief either loses it silently or has to reimplement it.\n */\nexport interface FieldSpec {\n name: string;\n need: \"required\" | \"optional\" | \"conditional\";\n takes: string;\n note?: string;\n /** A field of the block above it, drawn inside its parent's row. */\n under?: true;\n}\n\n/** How many megabytes a request may carry, for prose that has to say it. */\nexport const BODY_MAX_MB = EVENT_INGEST_BODY_MAX_BYTES / (1024 * 1024);\n\n/** How far into the future a timestamp may be before it is refused, in minutes. */\nexport const FUTURE_TOLERANCE_MINUTES = FUTURE_TOLERANCE_MS / 60_000;\n\nexport const HEADER_FIELDS: readonly FieldSpec[] = [\n { name: \"Authorization\", need: \"required\", takes: \"Bearer <your sending key>\" },\n { name: \"Content-Type\", need: \"required\", takes: \"application/json\" },\n {\n name: \"X-Baker-Mode\",\n need: \"optional\",\n takes: \"live (the default) or test.\",\n // Deliberately says what a test send *is* rather than \"see step 4\". Every\n // note here is read twice — on this screen, where the step below explains\n // it in full, and inside the Markdown brief, where there are no steps and\n // a cross-reference points at nothing.\n note: \"A test send is authenticated and validated identically and stores nothing. An unrecognised value is refused rather than assumed.\",\n },\n];\n\n/**\n * The event body, field by field — with `user_data` opened out in place.\n *\n * It used to be one row saying \"who it was about — see the identity fields\n * below\", and a second table further down. Nobody reading a contract wants to\n * be told where the rest of it is: the question \"what can I put in here\" was\n * asked *at* that row, and the answer was a scroll away under a heading whose\n * name (`identity`) did not appear in the payload at all.\n *\n * Two fields deserve calling out, because both are places a reasonable person\n * expects the opposite:\n *\n * - `event_id` is **optional**, and only ever means \"deduplicate me\".\n * - `event_time` is optional too, and defaults to the moment the request\n * arrived — which is right for a webhook and wrong for a backfill.\n */\nexport const EVENT_FIELDS: readonly FieldSpec[] = [\n {\n name: \"event_name\",\n need: \"required\",\n takes: `What happened. Up to ${MAX_EVENT_NAME} characters of letters, digits, spaces, . _ and -, starting with a letter or a digit`,\n note: 'The only required field. Use one of the standard names below wherever one fits — anything else is yours to invent, in whatever language you name things in: a letter is a letter in any script, and \"Matrícula Realizada\" is a name.',\n },\n {\n name: \"event_time\",\n need: \"optional\",\n takes: \"ISO-8601 with an offset (2026-09-08T13:23:41Z), or Unix seconds (1757337821).\",\n note: `Left out, it is the moment we received it. Nothing is refused for being old — a backfill of last year's history is what this is for. More than ${FUTURE_TOLERANCE_MINUTES} minutes in the future is refused.`,\n },\n {\n name: \"event_id\",\n need: \"optional\",\n takes: \"Your own id for this event: 1–128 characters of letters, digits, and . _ : -\",\n note: \"Send one only if you want it deduplicated — the same id twice is counted once. Send none and every post is its own event.\",\n },\n {\n name: \"user_data\",\n need: \"required\",\n takes:\n \"Who it was about. At least one field below — this is the whole of how a server event finds the person who visited a Baker page or your website.\",\n note: \"No field is required on its own and the block is: an event naming nobody is refused with missing_identity. The one exception is a page_view carrying a url, because a page serve is a fact about a page.\",\n },\n {\n name: \"email\",\n need: \"optional\",\n under: true,\n takes: \"The address, or its SHA-256 digest if you already hash. Either — we tell them apart.\",\n note: \"Send this one if you can. It is the road that cannot silently fail: we normalise and hash it here, so it lands on exactly the person a Baker page or the pixel already recorded.\",\n },\n {\n name: \"phone\",\n need: \"optional\",\n under: true,\n takes: \"The number with its country code, or its digest. Same treatment as email.\",\n },\n {\n name: \"external_id\",\n need: \"optional\",\n under: true,\n takes: \"Your own id for the person — a CRM contact key.\",\n note: \"Kept exactly as you send it, and hashed alongside so it joins: your own events to each other, and to a browser once one event carries it beside an email or a baker_id.\",\n },\n {\n name: \"baker_id\",\n need: \"optional\",\n under: true,\n takes: \"The Baker ID one of our pages already gave this browser, if you kept it.\",\n note: \"The strongest of all of them: it names the visit, so the event lands on that person's timeline rather than beside it.\",\n },\n {\n name: \"the ad click ids\",\n need: \"optional\",\n under: true,\n takes:\n \"The click id that brought them, if you kept it, under the name the platform stamps on the link: gclid, wbraid, gbraid, dclid, fbclid, ttclid, twclid, li_fat_id, msclkid, rdt_cid, epik, sccid (Snapchat's ScCid, in any case), oppref (ChatGPT Ads).\",\n note: \"A click id names a person too — it is enough on its own, and it attributes the event to the campaign that earned it.\",\n },\n {\n name: \"fbp, fbc\",\n need: \"optional\",\n under: true,\n takes: \"Meta's own browser cookies (_fbp, _fbc), exactly as your site stored them.\",\n note: \"Enough on their own, and worth sending: they are what Meta matches a server event on. We read the click id out of an fbc for you.\",\n },\n {\n name: \"the matching fields\",\n need: \"optional\",\n under: true,\n takes:\n \"first_name, last_name, date_of_birth, gender, city, region, postal_code, country — Meta's advanced matching and Google's enhanced conversions, in one block. Plain or already hashed.\",\n note: \"They name nobody here, so they never satisfy user_data on their own. They are kept so this event can be sent on to Meta or Google later without asking you for it all again.\",\n },\n {\n name: \"url\",\n need: \"optional\",\n takes: \"The full page URL this happened on.\",\n note: \"Its query string is where campaign parameters and ad click ids are read from. Without it the event counts, and belongs to no page.\",\n },\n {\n name: \"value\",\n need: \"optional\",\n takes: \"What it was worth: a decimal string or a JSON number. No thousands separator, no sign, no exponent.\",\n note: 'Rounded to what the currency holds — 1200.999 EUR is stored as 1201.00. \"1,200\" is refused.',\n },\n {\n name: \"currency\",\n need: \"conditional\",\n takes: \"An ISO-4217 code, e.g. EUR. Required whenever value is present, and refused on its own.\",\n },\n {\n name: \"properties\",\n need: \"optional\",\n takes: \"A flat object of strings — anything you want to break the event down by later.\",\n },\n {\n name: \"items\",\n need: \"optional\",\n takes: \"What was bought, one entry per product line — for a purchase, a cart or a refund.\",\n note: `Each line names its product by at least one of the ids below. value still carries the whole event's money. An order with more than ${EVENT_ITEMS_MAX} lines keeps the first ${EVENT_ITEMS_MAX}.`,\n },\n {\n name: \"product_id, variant_id, feed_id\",\n need: \"conditional\",\n under: true,\n takes:\n \"Your store's product id, its variant id, or the id the product has in your ads catalog. At least one per line, up to 255 characters each.\",\n },\n {\n name: \"quantity\",\n need: \"optional\",\n under: true,\n takes: `How many: a whole number from 1 to ${MAX_ITEM_QUANTITY.toLocaleString(\"en-US\")}.`,\n },\n {\n name: \"price\",\n need: \"optional\",\n under: true,\n takes: \"The price of one unit, in the event's currency — so it needs currency. A decimal like value.\",\n },\n {\n name: \"consent\",\n need: \"optional\",\n takes: \"What the person allowed, if your site asked them.\",\n note: \"Send it whenever you know it. A person who said no to marketing is still counted in your reports, and is never matched or sent to an ad platform.\",\n },\n {\n name: \"analytics\",\n need: \"optional\",\n under: true,\n takes: \"granted or denied — whether they allowed being measured. Denied keeps the event and forgets who it was.\",\n },\n {\n name: \"marketing\",\n need: \"optional\",\n under: true,\n takes: \"granted or denied — whether they allowed their visit to be used for advertising.\",\n },\n];\n\nexport const RESPONSE_FIELDS: readonly FieldSpec[] = [\n {\n name: \"mode\",\n need: \"required\",\n takes:\n \"live or test, echoed back — so a forgotten header is visible in the reply rather than in a report next week.\",\n },\n { name: \"received\", need: \"required\", takes: \"How many events we read, so you can detect a truncated body.\" },\n { name: \"accepted\", need: \"required\", takes: \"How many were counted.\" },\n {\n name: \"rejected\",\n need: \"required\",\n takes: \"One entry per refused event: index, event_id, code, message.\",\n note: \"index is the position in your own array, and is the one to branch on — event_id is empty for an event that sent none.\",\n },\n];\n\n/** The closed set a client branches on, straight from the module that closes it. */\nexport const REJECTION_CODE_LIST: readonly string[] = REJECTION_CODES;\n\n/** The batch bounds, in one place so prose and Markdown quote the same numbers. */\nexport const BATCH_LIMITS = {\n events: EVENT_INGEST_BATCH_MAX,\n megabytes: BODY_MAX_MB,\n requestsPerMinute: EVENT_INGEST_REQUESTS_PER_MINUTE,\n} as const;\n","/**\n * The whole sending-events reference, as Markdown for a coding assistant.\n *\n * ## Why a brief and not \"copy the page\"\n *\n * The dialog beside this is written for a person deciding whether to build the\n * integration: it is staged, it explains itself, and half of it is reassurance.\n * An assistant that has already been told to build it needs the opposite —\n * every bound, every code and every rule in one pass, with the mistakes called\n * out *before* it makes them rather than explained afterwards. So this is the\n * same contract in the shape the second reader needs, built from the same\n * `./ingestContract` tables the screen draws, so neither can quietly age.\n *\n * ## The key is not in here, and that is the feature\n *\n * Everything else on the dialog can be copied whole. This one thing cannot: the\n * destination of a \"copy for AI\" button is a chat window, and a chat window is\n * a third party's log. So the brief carries `<your sending key>` and, more\n * usefully, *tells the assistant what to do instead* — read it from an\n * environment variable, and ask the person for the value. An agent given a\n * placeholder with no instruction invents `const KEY = \"...\"` and puts it in\n * source; an agent told where the value belongs writes the right thing without\n * ever seeing it.\n *\n * ## What the instruction block is for\n *\n * Nine tenths of a wrong integration against this endpoint is one of six\n * mistakes, and every one of them produces a `200`: not reading `rejected[]`,\n * one request per event, a negative amount for a refund, a key in source, a\n * test header left on, and treating a repeated `event_id` as an error. None of\n * those is discoverable from a field table — they are all things the reader has\n * to be told before they start — which is why the document opens with them\n * instead of ending with them.\n */\n\nimport { eventIngestCurl, eventSourceCurl } from \"./endpoint\";\nimport {\n BATCH_LIMITS,\n EVENT_FIELDS,\n type FieldSpec,\n HEADER_FIELDS,\n REJECTION_CODE_LIST,\n RESPONSE_FIELDS,\n} from \"./fields\";\nimport { MATCH_FIELD_FORWARDING } from \"./matching\";\nimport { STANDARD_EVENT_NAMES } from \"./names\";\n\n/** The env var the brief tells an assistant to read the key from. */\nconst KEY_ENV_VAR = \"BAKER_EVENTS_KEY\";\n\n/** The placeholder that stands where the key would be. Never the key itself. */\nconst KEY_PLACEHOLDER = \"<your sending key>\";\n\nconst NEED_WORD: Readonly<Record<FieldSpec[\"need\"], string>> = {\n required: \"required\",\n optional: \"optional\",\n conditional: \"conditional\",\n};\n\n/**\n * Markdown-safe text for a table cell.\n *\n * Two things a contract written for humans puts in prose and a Markdown table\n * cannot hold literally: a `<placeholder>`, which a renderer reads as a tag and\n * swallows — losing exactly the words telling somebody what to substitute — and\n * a `|`, which ends the cell.\n */\nfunction cell(text: string): string {\n return text.replaceAll(\"<\", \"\\\\<\").replaceAll(\"|\", \"\\\\|\");\n}\n\n/**\n * One field table, as Markdown.\n *\n * The note is separated with a `<br>` rather than a space, because a `takes`\n * that ends in `and -` running straight into `The only required field` reads as\n * one broken sentence. Nested fields keep their indent as a prefix on the name,\n * since Markdown has no nested table and the relationship is the load-bearing\n * part of `user_data`.\n */\nfunction table(fields: readonly FieldSpec[]): string {\n const rows = fields.map((field) => {\n const name = field.under === true ? `↳ \\`${field.name}\\`` : `\\`${field.name}\\``;\n const note = field.note === undefined ? \"\" : `<br>${cell(field.note)}`;\n return `| ${name} | ${NEED_WORD[field.need]} | ${cell(field.takes)}${note} |`;\n });\n return [\"| Field | | What it takes |\", \"| --- | --- | --- |\", ...rows].join(\"\\n\");\n}\n\nfunction standardNames(): string {\n return [\n \"| Name | Means |\",\n \"| --- | --- |\",\n ...STANDARD_EVENT_NAMES.map((standard) => `| \\`${standard.name}\\` | ${standard.means} |`),\n ].join(\"\\n\");\n}\n\n/**\n * Where each field of the matching block goes at each destination.\n *\n * Published here as well as on the screen because it is the answer to the\n * question an assistant asks second — \"why would I send a postcode to an\n * analytics endpoint\" — and the answer is that this event can be forwarded to\n * Meta or Google later without going back to the client's CRM for it.\n */\nfunction forwarding(): string {\n return [\n \"| Field | Meta | Google | Held as |\",\n \"| --- | --- | --- | --- |\",\n ...MATCH_FIELD_FORWARDING.map(\n (row) =>\n `| \\`${row.field}\\` | \\`${row.meta}\\` | ${row.google === null ? \"—\" : `\\`${row.google}\\``} | ${row.hashed ? \"SHA-256\" : \"plain text\"} |`,\n ),\n ].join(\"\\n\");\n}\n\n/**\n * The whole reference, for one company's endpoint.\n *\n * `endpointUrl` is this company's own, so the document an assistant receives\n * needs no substitution and cannot be pointed at the wrong deployment by\n * somebody copying an example out of a doc site.\n */\nexport function ingestBrief(endpointUrl: string): string {\n return brief(endpointUrl, \"key\");\n}\n\n/**\n * The same contract for a source's address — the door a company's own\n * developers get from Measure → Sources. The address is the credential, so\n * there is no key and no `Authorization` header; and a source rehearses\n * while it is waiting for its first send and counts once confirmed, so the\n * mode header is not read. Everything about the event is identical.\n */\nexport function sourceBrief(addressUrl: string): string {\n return brief(addressUrl, \"address\");\n}\n\ntype Door = \"key\" | \"address\";\n\nfunction keyRules(door: Door): string {\n if (door === \"address\") {\n return `1. **The address is the credential. Never put it in source, and never paste it into a chat.**\n Read it from \\`BAKER_EVENTS_URL\\` and ask the person for the value — they can copy it\n from Baker → Measure → Sources, on the source's own page.\n2. **The first send is a rehearsal.** While the source reads \"Waiting for your first event\"\n in Baker, every request is parsed, validated and answered exactly as a live one and\n **stores nothing**; the person then confirms what to read from it and it counts from\n there. Nothing about the integration changes when it does.`;\n }\n return `1. **Never put the sending key in source, and never paste it into a chat.** It is\n deliberately not in this document. Read it from \\`${KEY_ENV_VAR}\\` and ask the person\n for the value — they can copy it from Baker → Measure → Events → Sending events.\n2. **Send \\`X-Baker-Mode: test\\` while you build.** A test request is authenticated,\n parsed and validated in exactly the same way and answers in exactly the same shape,\n and **stores nothing**. Remove the header to go live. There is no separate test key\n and no separate endpoint, so nothing about the integration changes when it does.`;\n}\n\nfunction brief(endpointUrl: string, door: Door): string {\n const { events, megabytes, requestsPerMinute } = BATCH_LIMITS;\n const headers = door === \"address\" ? HEADER_FIELDS.filter((field) => field.name === \"Content-Type\") : HEADER_FIELDS;\n const credentialRow =\n door === \"address\"\n ? \"| `404` | Nothing is listening at this address: it is wrong, or the source was removed. | Fix the address. Do not retry. |\"\n : \"| `401` | The key is missing, wrong, or not a sending key. | Fix the credential. Do not retry. |\";\n const request = door === \"address\" ? eventSourceCurl(endpointUrl) : eventIngestCurl(endpointUrl, KEY_PLACEHOLDER);\n return `# Send events to Baker's API from your server\n\nYou are being handed this by somebody who wants an integration built against it. It is\nthe complete contract for ${door === \"address\" ? \"a Baker source's address\" : \"`POST /v1/events`\"} on **their own Baker endpoint**, taken from\nthe code that enforces it. Build from this document; you should not need to look\nanything else up.\n\nBaker measures what happens on the pages it publishes. This endpoint is how everything\nthat happens *away* from those pages — a deal closing in a CRM, a subscription starting,\nan order shipping — reaches the same reports, joined to the same person.\n\n## Read this before you write anything\n\n${keyRules(door)}\n3. **A \\`200\\` does not mean it counted.** The body carries \\`rejected[]\\`, one entry per\n refused event. Read it and log it on every response. Throwing it away is the single\n most common way an integration against this endpoint is wrong and looks right.\n4. **Batch.** Up to ${events} events and ${megabytes} MB per request, and at most\n ${requestsPerMinute} requests per minute for the whole company. One event per request\n works and will exhaust that budget on any real backfill. Every event is judged on its\n own, so one bad row is refused and the rest of the batch still counts.\n5. **Retry \\`5xx\\` and \\`429\\`, never \\`4xx\\`.** A \\`4xx\\` means the request is wrong and\n will be wrong again. If you retry, send the same \\`event_id\\` — that is what makes the\n retry count once.\n6. **A refund is its own event, not a negative amount.** \\`value\\` may not be negative.\n Send an event with its own name and let the reports subtract.\n7. **You cannot declare a conversion.** Whether an event counts as one is a decision the\n client makes in Baker, against the event's name, and it applies retroactively to\n everything already sent under that name. Nothing in the payload can assert it.\n8. **Ask, do not guess.** Which events matter and where the person's email lives in their\n system are things this document cannot tell you. Ask.\n\n## Endpoint\n\n\\`\\`\\`\nPOST ${endpointUrl}\n\\`\\`\\`\n\n### Headers\n\n${table(headers)}\n\n### Body\n\n\\`\\`\\`json\n{ \"events\": [ { \"event_name\": \"...\" } ] }\n\\`\\`\\`\n\nUp to ${events} events and ${megabytes} MB per request.\n\n## The event\n\nThe field names are Meta's. If you have written an integration against Meta's Conversions\nAPI or Google Ads' offline conversion upload, this is the same payload: \\`event_name\\`,\n\\`event_time\\`, \\`event_id\\`, \\`user_data\\`, \\`value\\`, \\`currency\\`.\n\n${table(EVENT_FIELDS)}\n\n### Naming the person is the part that matters\n\n\\`user_data\\` is required and every field in it is optional, which is not a contradiction:\nthe event has to name **somebody**, and there are several ways to do it. An event that\nnames nobody is refused with \\`missing_identity\\`.\n\nRanked by how well each works, best first:\n\n1. \\`baker_id\\` — the id a Baker page already gave that browser. It names the *visit*, so\n the event lands on a real session's timeline. Send it if the client's system kept it.\n2. \\`email\\` or \\`phone\\` — the road that cannot silently fail. Send the plain value if you\n can: we normalise and hash it here under the same rule the browser uses, so it lands\n on exactly the person the pages already recorded. If policy forbids sending it plain,\n send the SHA-256 digest **in the same field** — we detect which it is. Hash the\n trimmed, lower-cased address; for a phone, digits with a leading \\`+\\`.\n3. \\`external_id\\` — the client's own key for the person, a CRM contact id. Stored as sent,\n and hashed alongside so it joins.\n On its own it joins that system's events to each other; send it **once** alongside an\n email or a \\`baker_id\\` and every later event carrying only the contact id joins the\n person too. That link is retroactive: it reaches back to everything already sent.\n4. A click id, \\`fbp\\` or \\`fbc\\` — names the click or the browser that brought them, which\n is what a report attributes the event to.\n\nSend every one you have, not just the best. They cost nothing extra and each is a\nseparate chance to match.\n\n### The matching fields, and where they go afterwards\n\n\\`first_name\\` … \\`country\\` never satisfy \\`user_data\\` on their own — they describe a\nperson and name nobody. They are worth sending anyway: they are exactly what Meta's\nadvanced matching and Google's enhanced conversions match on, and keeping them means the\nevent can be forwarded later without going back to the client's CRM for it.\n\n${forwarding()}\n\n## Standard event names\n\nNothing is refused for being absent from this list — send whatever the business calls a\nthing. These are the spellings Baker publishes so that two companies measuring the same\nthing measure it under the same word. \\`page_view\\` is the one with behaviour: it becomes\na page view rather than a named event, and it is the only event that may arrive without a\nperson as long as it carries a \\`url\\`.\n\n${standardNames()}\n\n## The response\n\n\\`\\`\\`json\n{ \"ok\": true, \"data\": { \"mode\": \"live\", \"received\": 2, \"accepted\": 1,\n \"rejected\": [ { \"index\": 1, \"event_id\": \"\", \"code\": \"invalid_value\",\n \"message\": \"value and currency go together: a non-negative decimal and an ISO-4217 code\" } ] } }\n\\`\\`\\`\n\n${table(RESPONSE_FIELDS)}\n\n\\`code\\` is a closed set — branch on it, not on \\`message\\`:\n\n${REJECTION_CODE_LIST.map((code) => `- \\`${code}\\``).join(\"\\n\")}\n\nThere is no duplicate count, on purpose. A repeated \\`event_id\\` is accepted like any other\nevent and counted **once** — one conversion, one event, its value added once — so a retry\nis safe and needs no branch of its own. Both requests are shown in Baker, with the later\none marked \"Already counted\", so a retry is visible without being counted.\n\nThe same holds **across connections**, which is the reason to use it. If the page also\nreports this outcome with Baker's website tag, pass one string as \\`event_id\\` here and as\n\\`eventId\\` in \\`window.baker.track(name, { eventId })\\`: the browser event and the\nserver event are then one event and count once, whichever arrives first and whether or not\nthe other ever does. Report an important outcome from both — a browser can be blocked, a\nserver cannot — and always pair them with an id. Send no id and the two are two conversions,\nwith nothing anywhere reporting an error.\n\n### HTTP statuses\n\n| Status | Means | Do |\n| --- | --- | --- |\n| \\`200\\` | The request was read. Individual events may still have been refused. | Read \\`rejected[]\\`. |\n| \\`400\\` | The body is not the shape above — an unknown field, or the wrong JSON type. | Fix the payload. Do not retry. |\n${credentialRow}\n| \\`413\\` | Over ${events} events or ${megabytes} MB. | Split the batch and re-post. |\n| \\`429\\` | Over ${requestsPerMinute} requests a minute for this company. | Back off and retry. |\n| \\`5xx\\` | Nothing was written. | Retry with the same \\`event_id\\`s. |\n\n## A request that works\n\n\\`\\`\\`bash\n${request}\n\\`\\`\\`\n\n## Once it is sending\n\nEvery accepted event appears in Baker under **Measure → Events**, live, with what was\nsent. Test sends and refusals appear there too, filed separately and marked, with the\npayload — so \"did my request arrive and what did it say\" is answered on the screen rather\nthan in the client's own logs. To make an event count as a conversion, the client marks\nit by name under **Conversions**.\n`;\n}\n"],"mappings":"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","names":[]}
|