@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.
Files changed (1553) hide show
  1. package/README.md +132 -0
  2. package/dist/account-263FLP5Y.js +80 -0
  3. package/dist/account-Q3BRNQUW.js +139 -0
  4. package/dist/account-Q3BRNQUW.js.map +1 -0
  5. package/dist/account-Y2NNZBQU.js +80 -0
  6. package/dist/account-assets-FGXPTJAC.js +290 -0
  7. package/dist/account-assets-FGXPTJAC.js.map +1 -0
  8. package/dist/account-level-HHFTDEEF.js +609 -0
  9. package/dist/account-level-HHFTDEEF.js.map +1 -0
  10. package/dist/account-reads-LJCF2BT6.js +219 -0
  11. package/dist/account-reads-LJCF2BT6.js.map +1 -0
  12. package/dist/account-users-65TL5KL7.js +62 -0
  13. package/dist/account-writes-M274CK75.js +66 -0
  14. package/dist/accounts-4HPLJD7O.js +115 -0
  15. package/dist/accounts-FGBD6Y23.js +76 -0
  16. package/dist/accounts-FGBD6Y23.js.map +1 -0
  17. package/dist/accounts-OWLAMDJX.js +114 -0
  18. package/dist/accounts-ST32A4L4.js +78 -0
  19. package/dist/accounts-VVMBENKE.js +612 -0
  20. package/dist/actions-EAMKQC4A.js +55 -0
  21. package/dist/active-entities-2TRODKWO.js +103 -0
  22. package/dist/activecampaign-XYEFFSZF.js +936 -0
  23. package/dist/activities-CRMTS5Y7.js +75 -0
  24. package/dist/activities-CRMTS5Y7.js.map +1 -0
  25. package/dist/ad-group-writes-M7S67GLQ.js +170 -0
  26. package/dist/ad-groups-BF4KNJFS.js +68 -0
  27. package/dist/ad-writes-FNWVH7SP.js +174 -0
  28. package/dist/add-2OOHZBKD.js +80 -0
  29. package/dist/add-5PK6LCD2.js +81 -0
  30. package/dist/add-EXF7UGIG.js +148 -0
  31. package/dist/add-IJA475VW.js +105 -0
  32. package/dist/add-UGMEJ5L3.js +303 -0
  33. package/dist/add-WZFXWMG7.js +97 -0
  34. package/dist/add-accounts-KQUUBIIG.js +91 -0
  35. package/dist/ads-3RBMFZMU.js +115 -0
  36. package/dist/ads-3RBMFZMU.js.map +1 -0
  37. package/dist/ads-6GTQ2HS4.js +43 -0
  38. package/dist/ads-6GTQ2HS4.js.map +1 -0
  39. package/dist/ads-C6LVVX4F.js +128 -0
  40. package/dist/ads-TLJI5KCA.js +77 -0
  41. package/dist/adsets-2536GR4Q.js +178 -0
  42. package/dist/adsets-2536GR4Q.js.map +1 -0
  43. package/dist/advertisers-OHTC7Q63.js +125 -0
  44. package/dist/advertisers-RBLLFCET.js +121 -0
  45. package/dist/analytics-QQ7PLUU3.js +434 -0
  46. package/dist/analytics-UXUF6IVD.js +1981 -0
  47. package/dist/analytics-UXUF6IVD.js.map +1 -0
  48. package/dist/animate-G2PISVIA.js +480 -0
  49. package/dist/asset-writes-LW3KSG2B.js +48 -0
  50. package/dist/assign-UC6OK2R7.js +78 -0
  51. package/dist/audience-size-4S2ZWQ3G.js +74 -0
  52. package/dist/audience-writes-75HWK4IY.js +325 -0
  53. package/dist/audience-writes-75HWK4IY.js.map +1 -0
  54. package/dist/audiences-2342U7XH.js +85 -0
  55. package/dist/audiences-EZO6PYRL.js +268 -0
  56. package/dist/audiences-OS4U3J6Y.js +86 -0
  57. package/dist/audiences-OS4U3J6Y.js.map +1 -0
  58. package/dist/audit-KQ7GVWMO.js +88 -0
  59. package/dist/audit-QTLUKQW5.js +152 -0
  60. package/dist/autocomplete-XMRWWWJB.js +112 -0
  61. package/dist/avatars-QU5GIMCL.js +38 -0
  62. package/dist/bid-pricing-KBWHJKVH.js +101 -0
  63. package/dist/brand-REYK7QBZ.js +22 -0
  64. package/dist/brief-ZGGGJTBT.js +541 -0
  65. package/dist/brief-ZGGGJTBT.js.map +1 -0
  66. package/dist/businesses-T77Z5X35.js +54 -0
  67. package/dist/businesses-T77Z5X35.js.map +1 -0
  68. package/dist/campaign-groups-47IYCWKX.js +97 -0
  69. package/dist/campaign-writes-IPSJMNQX.js +166 -0
  70. package/dist/campaign-writes-RHMIJAC3.js +170 -0
  71. package/dist/campaigns-7WLJWRVB.js +76 -0
  72. package/dist/campaigns-N3GQSKRU.js +128 -0
  73. package/dist/campaigns-N3GQSKRU.js.map +1 -0
  74. package/dist/campaigns-NTEP5DKT.js +107 -0
  75. package/dist/campaigns-SCV5ZDLA.js +111 -0
  76. package/dist/canvas-X55KDZQX.js +46 -0
  77. package/dist/capabilities-FJIYYIMF.js +145 -0
  78. package/dist/cards-UZ3TAVOU.js +85 -0
  79. package/dist/catalog-OLWWOUXL.js +65 -0
  80. package/dist/catalogs-4PEZDXLP.js +128 -0
  81. package/dist/catalogs-WRBUBIRV.js +779 -0
  82. package/dist/catalogs-WRBUBIRV.js.map +1 -0
  83. package/dist/changes-T6RKIP2B.js +135 -0
  84. package/dist/chatgpt-J3ITRRCX.js +47 -0
  85. package/dist/chats-PAHEOSL5.js +277 -0
  86. package/dist/check-PAVRHQAR.js +105 -0
  87. package/dist/chunk-23HT4U3O.js +66 -0
  88. package/dist/chunk-25IPX5BK.js +592 -0
  89. package/dist/chunk-2M36ESEZ.js +84 -0
  90. package/dist/chunk-2Q324LIK.js +333 -0
  91. package/dist/chunk-2YUVO3LP.js +46 -0
  92. package/dist/chunk-3BAAO72V.js +56 -0
  93. package/dist/chunk-3FF5UMV5.js +89 -0
  94. package/dist/chunk-3Q32TXSP.js +35 -0
  95. package/dist/chunk-3Z3O7ZD6.js +197 -0
  96. package/dist/chunk-44QHWWUX.js +224 -0
  97. package/dist/chunk-4D5OBSWR.js +98 -0
  98. package/dist/chunk-4ISA7PPB.js +219 -0
  99. package/dist/chunk-4WI5PJU6.js +249 -0
  100. package/dist/chunk-52KXFESB.js +136 -0
  101. package/dist/chunk-565M26EE.js +25 -0
  102. package/dist/chunk-5B2WEPYR.js +4226 -0
  103. package/dist/chunk-5B2WEPYR.js.map +1 -0
  104. package/dist/chunk-5LYTDXWP.js +106 -0
  105. package/dist/chunk-5NYU2UYT.js +159 -0
  106. package/dist/chunk-6IFTTSHH.js +66 -0
  107. package/dist/chunk-6M22WJ5Y.js +455 -0
  108. package/dist/chunk-6PWVNCQH.js +74 -0
  109. package/dist/chunk-6UW4J6IU.js +215 -0
  110. package/dist/chunk-6ZFOF6J2.js +103 -0
  111. package/dist/chunk-73JJQ2DB.js +287 -0
  112. package/dist/chunk-73LQJBBF.js +274 -0
  113. package/dist/chunk-7IAA3REE.js +1079 -0
  114. package/dist/chunk-AL6AEGWH.js +2140 -0
  115. package/dist/chunk-AL6AEGWH.js.map +1 -0
  116. package/dist/chunk-ANLLW3KZ.js +228 -0
  117. package/dist/chunk-AQE4Q7K3.js +149 -0
  118. package/dist/chunk-AQE4Q7K3.js.map +1 -0
  119. package/dist/chunk-AS46I4WH.js +220 -0
  120. package/dist/chunk-ASHCV6DO.js +207 -0
  121. package/dist/chunk-BCFIMEZJ.js +296 -0
  122. package/dist/chunk-BJY6223Q.js +942 -0
  123. package/dist/chunk-BSFJW7LD.js +401 -0
  124. package/dist/chunk-BSFJW7LD.js.map +1 -0
  125. package/dist/chunk-BTGOVA2H.js +75 -0
  126. package/dist/chunk-BX4JR6ZU.js +111 -0
  127. package/dist/chunk-BYDTLQ77.js +547 -0
  128. package/dist/chunk-CFUFTIOU.js +156 -0
  129. package/dist/chunk-CFZUKCC3.js +846 -0
  130. package/dist/chunk-CVHUZFHA.js +494 -0
  131. package/dist/chunk-EGHPYAI7.js +170 -0
  132. package/dist/chunk-EGHPYAI7.js.map +1 -0
  133. package/dist/chunk-EHS3QWHJ.js +206 -0
  134. package/dist/chunk-EKX37C3T.js +518 -0
  135. package/dist/chunk-EKX37C3T.js.map +1 -0
  136. package/dist/chunk-ERMKQMMJ.js +64 -0
  137. package/dist/chunk-ERSL4WZT.js +4251 -0
  138. package/dist/chunk-ERSL4WZT.js.map +1 -0
  139. package/dist/chunk-EZMF6W4M.js +64 -0
  140. package/dist/chunk-FO2JX473.js +1518 -0
  141. package/dist/chunk-FUFMB3MS.js +61 -0
  142. package/dist/chunk-GDFJOCDO.js +1084 -0
  143. package/dist/chunk-GDFJOCDO.js.map +1 -0
  144. package/dist/chunk-GZWBHJ4Y.js +191 -0
  145. package/dist/chunk-HIAXIRPX.js +225 -0
  146. package/dist/chunk-HLIZO3FD.js +76 -0
  147. package/dist/chunk-HS56YCCN.js +225 -0
  148. package/dist/chunk-HVJ25XVM.js +131 -0
  149. package/dist/chunk-IL36BNFB.js +169 -0
  150. package/dist/chunk-IMHJU7FX.js +23 -0
  151. package/dist/chunk-J5JYBRUE.js +344 -0
  152. package/dist/chunk-J6Q6RPKY.js +67 -0
  153. package/dist/chunk-JASI6RR6.js +1606 -0
  154. package/dist/chunk-JTXOP6YW.js +831 -0
  155. package/dist/chunk-JWBJFF2K.js +122 -0
  156. package/dist/chunk-K5X62YHZ.js +6831 -0
  157. package/dist/chunk-K5X62YHZ.js.map +1 -0
  158. package/dist/chunk-K76OKYM7.js +45 -0
  159. package/dist/chunk-KBSWQKOT.js +320 -0
  160. package/dist/chunk-KS7VB275.js +285 -0
  161. package/dist/chunk-KW5WVJTH.js +544 -0
  162. package/dist/chunk-KZRJLBQO.js +349 -0
  163. package/dist/chunk-L3FWLIAU.js +188 -0
  164. package/dist/chunk-L6GYTD3A.js +1919 -0
  165. package/dist/chunk-LAL4PKNJ.js +455 -0
  166. package/dist/chunk-LAL4PKNJ.js.map +1 -0
  167. package/dist/chunk-M2LBB44P.js +207 -0
  168. package/dist/chunk-M2LBB44P.js.map +1 -0
  169. package/dist/chunk-MITWP546.js +84 -0
  170. package/dist/chunk-MRQKDVDR.js +42 -0
  171. package/dist/chunk-NBAJACSF.js +26 -0
  172. package/dist/chunk-NBWZ6YFU.js +142 -0
  173. package/dist/chunk-NWML6X6Y.js +97 -0
  174. package/dist/chunk-NX5U6BXW.js +297 -0
  175. package/dist/chunk-PEY4YGW3.js +57 -0
  176. package/dist/chunk-PGRDGQ23.js +150 -0
  177. package/dist/chunk-Q6GYSW47.js +52 -0
  178. package/dist/chunk-QDJRLPT5.js +76 -0
  179. package/dist/chunk-QM7OZC3R.js +392 -0
  180. package/dist/chunk-QO46CYKH.js +275 -0
  181. package/dist/chunk-QR44DQTC.js +66 -0
  182. package/dist/chunk-QVRVSFIQ.js +3868 -0
  183. package/dist/chunk-R6OMFEFR.js +195 -0
  184. package/dist/chunk-R6OMFEFR.js.map +1 -0
  185. package/dist/chunk-RAUZWRJC.js +74 -0
  186. package/dist/chunk-RF73OV6K.js +19 -0
  187. package/dist/chunk-RKP76SGL.js +139 -0
  188. package/dist/chunk-RXNBOUCW.js +910 -0
  189. package/dist/chunk-RXNBOUCW.js.map +1 -0
  190. package/dist/chunk-S6VQMNPI.js +74 -0
  191. package/dist/chunk-SGUUPOPY.js +51 -0
  192. package/dist/chunk-SJJHM57A.js +843 -0
  193. package/dist/chunk-SQ23BTGW.js +676 -0
  194. package/dist/chunk-SQ23BTGW.js.map +1 -0
  195. package/dist/chunk-SVNKWUBQ.js +191 -0
  196. package/dist/chunk-SVNKWUBQ.js.map +1 -0
  197. package/dist/chunk-T7JGOFVX.js +91 -0
  198. package/dist/chunk-TEX7Z7WC.js +2903 -0
  199. package/dist/chunk-TEX7Z7WC.js.map +1 -0
  200. package/dist/chunk-TPQOIWSU.js +58 -0
  201. package/dist/chunk-TSVC2RTQ.js +179 -0
  202. package/dist/chunk-TSVC2RTQ.js.map +1 -0
  203. package/dist/chunk-U3LW43UG.js +604 -0
  204. package/dist/chunk-UAKNLPIU.js +1744 -0
  205. package/dist/chunk-UI6BKYQD.js +225 -0
  206. package/dist/chunk-UI6BKYQD.js.map +1 -0
  207. package/dist/chunk-US3NQJ4L.js +8954 -0
  208. package/dist/chunk-US3NQJ4L.js.map +1 -0
  209. package/dist/chunk-UWABLMIK.js +479 -0
  210. package/dist/chunk-UWABLMIK.js.map +1 -0
  211. package/dist/chunk-V7T3OXUT.js +638 -0
  212. package/dist/chunk-V7T3OXUT.js.map +1 -0
  213. package/dist/chunk-VE4BTRLV.js +167 -0
  214. package/dist/chunk-VR6BCP3U.js +5368 -0
  215. package/dist/chunk-VSVAXKKS.js +97 -0
  216. package/dist/chunk-VWUGI7LE.js +94 -0
  217. package/dist/chunk-W3H7CX5E.js +175 -0
  218. package/dist/chunk-W3H7CX5E.js.map +1 -0
  219. package/dist/chunk-W5IS6CMZ.js +166 -0
  220. package/dist/chunk-WAMT3TUD.js +8914 -0
  221. package/dist/chunk-WN6WHZRC.js +191 -0
  222. package/dist/chunk-WO2SGESS.js +148 -0
  223. package/dist/chunk-WU6ULBSY.js +661 -0
  224. package/dist/chunk-X6KDRJZE.js +69 -0
  225. package/dist/chunk-X6KDRJZE.js.map +1 -0
  226. package/dist/chunk-XOHXG5TG.js +472 -0
  227. package/dist/chunk-XPNCOUXB.js +125 -0
  228. package/dist/chunk-XS7FMDCX.js +363 -0
  229. package/dist/chunk-XVMRO6W5.js +97 -0
  230. package/dist/chunk-Y2JZX6JB.js +137 -0
  231. package/dist/chunk-Y2JZX6JB.js.map +1 -0
  232. package/dist/chunk-Y4UQHVTM.js +39 -0
  233. package/dist/chunk-YGCRKABE.js +391 -0
  234. package/dist/chunk-YJKAVF3E.js +98 -0
  235. package/dist/chunk-ZFINQBE7.js +23992 -0
  236. package/dist/chunk-ZJMOYNZF.js +46 -0
  237. package/dist/chunk-ZZCJNSZ6.js +106 -0
  238. package/dist/claim-WJ5TLA74.js +198 -0
  239. package/dist/cli.js +43 -42
  240. package/dist/cli.js.map +1 -1
  241. package/dist/client-PVBPZ7PY.js +19 -0
  242. package/dist/code-CSXOLKOP.js +76 -0
  243. package/dist/companies-3QI5C5Y6.js +196 -0
  244. package/dist/complete-ASGIH43P.js +82 -0
  245. package/dist/config-MNPHHWYU.js +88 -0
  246. package/dist/connect-F2PU33RV.js +43 -0
  247. package/dist/content-UYBZ5S7Z.js +85 -0
  248. package/dist/conversation-BYO57I25.js +94 -0
  249. package/dist/conversion-report-UCP43YAG.js +125 -0
  250. package/dist/conversion-upload-command-YVA3Y7GJ.js +439 -0
  251. package/dist/conversion-upload-command-YVA3Y7GJ.js.map +1 -0
  252. package/dist/conversion-writes-6ZIY7DHZ.js +120 -0
  253. package/dist/conversions-BDSIXF2V.js +76 -0
  254. package/dist/conversions-JBZD2FZN.js +138 -0
  255. package/dist/copy-writes-SIQPN7L4.js +168 -0
  256. package/dist/copy-writes-SIQPN7L4.js.map +1 -0
  257. package/dist/countries-N2PAVVCQ.js +82 -0
  258. package/dist/create-EDDKOKK6.js +133 -0
  259. package/dist/create-PESL7TJ5.js +237 -0
  260. package/dist/create-PESL7TJ5.js.map +1 -0
  261. package/dist/create-UXH5MYEO.js +208 -0
  262. package/dist/create-YEHXJBFR.js +60 -0
  263. package/dist/creatives-3HSV4K6W.js +89 -0
  264. package/dist/creatives-3HSV4K6W.js.map +1 -0
  265. package/dist/creatives-3TRWYOYU.js +221 -0
  266. package/dist/creatives-KYSRCR5C.js +58 -0
  267. package/dist/credentials-Z4KS5QU6.js +288 -0
  268. package/dist/critique-NYW7FEPO.js +230 -0
  269. package/dist/critique-NYW7FEPO.js.map +1 -0
  270. package/dist/critique-YZWJ3ABO.js +1459 -0
  271. package/dist/crm-CDAVHXUS.js +319 -0
  272. package/dist/crm-TMEDDF67.js +225 -0
  273. package/dist/crop-4WS3WNXI.js +113 -0
  274. package/dist/currency-K4PRDLDG.js +88 -0
  275. package/dist/custom-conversions-XY6G3BXU.js +128 -0
  276. package/dist/custom-conversions-XY6G3BXU.js.map +1 -0
  277. package/dist/customers-R6HXVXAS.js +57 -0
  278. package/dist/decide-IWUWMLIG.js +199 -0
  279. package/dist/delete-DECECVGG.js +65 -0
  280. package/dist/delete-F6AEBS4G.js +55 -0
  281. package/dist/delete-H2L2EGKF.js +71 -0
  282. package/dist/delete-R5IY7VHP.js +71 -0
  283. package/dist/delete-UCL6SL5B.js +67 -0
  284. package/dist/delete-Z4LRS6FG.js +69 -0
  285. package/dist/demographics-JFUKFKK7.js +139 -0
  286. package/dist/describe-44KTJQ6Z.js +97 -0
  287. package/dist/describe-V7LY3RUT.js +97 -0
  288. package/dist/dimensions-FZAJYJJ4.js +101 -0
  289. package/dist/discard-W4B5GF4S.js +67 -0
  290. package/dist/discover-E7OE4WFV.js +93 -0
  291. package/dist/discover-OYVXV25X.js +172 -0
  292. package/dist/domain-5WXROX3N.js +99 -0
  293. package/dist/download-JNNN7GSF.js +299 -0
  294. package/dist/draft-5I6DUWGA.js +281 -0
  295. package/dist/draft-KYARHXHR.js +333 -0
  296. package/dist/draft-RCD6ETPQ.js +308 -0
  297. package/dist/draft-SET2FGU3.js +218 -0
  298. package/dist/draft-URGXA6TO.js +238 -0
  299. package/dist/draft-URGXA6TO.js.map +1 -0
  300. package/dist/draft-US7FTGVC.js +103 -0
  301. package/dist/draft-XK4QG5HQ.js +100 -0
  302. package/dist/draft-YPSHMRPS.js +308 -0
  303. package/dist/draft-YPSHMRPS.js.map +1 -0
  304. package/dist/engine/index.js +13 -13
  305. package/dist/env-3ZELNMXQ.js +51 -0
  306. package/dist/experiment-IKWEIJKD.js +1397 -0
  307. package/dist/experiments-LEAZ4BNF.js +234 -0
  308. package/dist/export-HMF33UYY.js +168 -0
  309. package/dist/extract-PK3MHV6C.js +113 -0
  310. package/dist/facets-WSFLCFYN.js +115 -0
  311. package/dist/favorites-Z7MKEDY3.js +178 -0
  312. package/dist/feed-6VZ3XWKC.js +177 -0
  313. package/dist/feedback-4Y76VRYD.js +109 -0
  314. package/dist/feedback-4Y76VRYD.js.map +1 -0
  315. package/dist/feedback-record-NJAUC2KM.js +263 -0
  316. package/dist/feedback-record-NJAUC2KM.js.map +1 -0
  317. package/dist/fetch-3DI7EKDS.js +177 -0
  318. package/dist/fetch-LGKTI6A6.js +139 -0
  319. package/dist/find-PAWW75PW.js +134 -0
  320. package/dist/fit-FROY76YE.js +63 -0
  321. package/dist/flows-M5DQAKCJ.js +248 -0
  322. package/dist/follow-PNWO2V4L.js +94 -0
  323. package/dist/follow-competitors-BFUGW6PC.js +112 -0
  324. package/dist/following-LKNHRKVC.js +113 -0
  325. package/dist/fonts-G3UCJ6UI.js +37 -0
  326. package/dist/forecast-OOGPMYEK.js +169 -0
  327. package/dist/forecast-OOGPMYEK.js.map +1 -0
  328. package/dist/forecast-VFGNPTYV.js +119 -0
  329. package/dist/funding-O5ZRZN7D.js +85 -0
  330. package/dist/funnel-PNN4HMDB.js +395 -0
  331. package/dist/funnel-PNN4HMDB.js.map +1 -0
  332. package/dist/ga4-SSRVUS7H.js +55 -0
  333. package/dist/generate-T3B6GOO6.js +263 -0
  334. package/dist/get-2BJKONHE.js +61 -0
  335. package/dist/get-6MHTPGHS.js +80 -0
  336. package/dist/get-DDBTEMJL.js +59 -0
  337. package/dist/get-G7JYP5E5.js +57 -0
  338. package/dist/get-IIIYTJY4.js +63 -0
  339. package/dist/get-JE3VGJPS.js +92 -0
  340. package/dist/get-KL7VTM6W.js +38 -0
  341. package/dist/get-ZNCET7LN.js +63 -0
  342. package/dist/gif-HZC5PIGN.js +102 -0
  343. package/dist/google-2JAG2MZJ.js +136 -0
  344. package/dist/google-JQHC36XQ.js +3266 -0
  345. package/dist/google-JQHC36XQ.js.map +1 -0
  346. package/dist/google-ads-Q2WVOJU2.js +196 -0
  347. package/dist/group-5KTGIHXJ.js +43 -0
  348. package/dist/group-6U4GJLHB.js +43 -0
  349. package/dist/gsc-76PWFEHH.js +30 -0
  350. package/dist/history-BVMIJLIL.js +67 -0
  351. package/dist/history-W22KYHZV.js +134 -0
  352. package/dist/hubspot-RF4FMSX2.js +780 -0
  353. package/dist/icon-ENQRKK4O.js +137 -0
  354. package/dist/ideas-Y7HFEXFE.js +43 -0
  355. package/dist/images-2PKU5XDS.js +92 -0
  356. package/dist/improve-L43S5YWU.js +86 -0
  357. package/dist/ingest-JHJOFWIU.js +108 -0
  358. package/dist/ingest-JU67Z5D3.js +24 -0
  359. package/dist/insights-HOOHR2FS.js +425 -0
  360. package/dist/insights-HOOHR2FS.js.map +1 -0
  361. package/dist/insights-NOOVPFK3.js +122 -0
  362. package/dist/inspect-53NDMKC5.js +190 -0
  363. package/dist/inspiration-6NICXN3P.js +53 -0
  364. package/dist/instant-experiences-3LQ7RR6D.js +258 -0
  365. package/dist/instant-experiences-3LQ7RR6D.js.map +1 -0
  366. package/dist/intent-MLZCTLEX.js +95 -0
  367. package/dist/job-EXB5MGPT.js +202 -0
  368. package/dist/job-create-EPYGKZPB.js +109 -0
  369. package/dist/job-status-E7YXP2PT.js +74 -0
  370. package/dist/keep-ELL3JFEC.js +78 -0
  371. package/dist/keyword-gap-WD5TDZFR.js +130 -0
  372. package/dist/keyword-metrics-QMQCZKMX.js +198 -0
  373. package/dist/keywords-for-site-WL54QH6G.js +129 -0
  374. package/dist/landing-ZHCVMCYK.js +28 -0
  375. package/dist/landings-YVXUVNPA.js +151 -0
  376. package/dist/languages-F4FX2VC2.js +40 -0
  377. package/dist/languages-YIYCOFLI.js +55 -0
  378. package/dist/launches-G5AYQIEO.js +19 -0
  379. package/dist/layerize-EEHJX2QP.js +190 -0
  380. package/dist/leads-BDGL7TNL.js +538 -0
  381. package/dist/leads-BDGL7TNL.js.map +1 -0
  382. package/dist/leads-C26QFD46.js +113 -0
  383. package/dist/learn-YRHVTBEW.js +205 -0
  384. package/dist/library-GLXT2ZZI.js +109 -0
  385. package/dist/lighthouse-DUAYYKVA.js +75 -0
  386. package/dist/line-item-writes-HSXCO3UM.js +209 -0
  387. package/dist/line-items-LU7VFYJ3.js +103 -0
  388. package/dist/link-N4F54R2W.js +65 -0
  389. package/dist/linkedin-F43WCEFC.js +1314 -0
  390. package/dist/list-CMCHPFU4.js +76 -0
  391. package/dist/list-EXKTPY65.js +57 -0
  392. package/dist/list-FGWN66JV.js +65 -0
  393. package/dist/list-H4YHY65J.js +304 -0
  394. package/dist/list-IIUY5WTV.js +93 -0
  395. package/dist/list-MNFGWVNZ.js +152 -0
  396. package/dist/list-QUQ5TUDK.js +51 -0
  397. package/dist/list-TY5WZFFE.js +50 -0
  398. package/dist/list-YWEP74CM.js +65 -0
  399. package/dist/locations-N3USZ27M.js +40 -0
  400. package/dist/locations-S67HBZA7.js +67 -0
  401. package/dist/log-CGQRPLGU.js +93 -0
  402. package/dist/logo-IXIQBWRL.js +18 -0
  403. package/dist/lookup-NKLRB3NS.js +22 -0
  404. package/dist/make-WOO3XWQ2.js +1368 -0
  405. package/dist/make-WOO3XWQ2.js.map +1 -0
  406. package/dist/map-GW7NDNYC.js +434 -0
  407. package/dist/mcp-DUTXWJFC.js +715 -0
  408. package/dist/media-2JCAFWCU.js +89 -0
  409. package/dist/media-NPMNY5MJ.js +18 -0
  410. package/dist/media-sources-J2LY7NLR.js +35 -0
  411. package/dist/members-5YUHOWVS.js +45 -0
  412. package/dist/meme-G2HE54IY.js +100 -0
  413. package/dist/meta-ACKABP2H.js +122 -0
  414. package/dist/metrics-ZNQDSBVO.js +152 -0
  415. package/dist/models-QAR6ZOM3.js +155 -0
  416. package/dist/normalize-QP5Z5EYO.js +142 -0
  417. package/dist/normalize-X6GW75LV.js +806 -0
  418. package/dist/options-743FW5PT.js +123 -0
  419. package/dist/organization-OW6WPRA3.js +947 -0
  420. package/dist/output-GAAXGXQS.js +24 -0
  421. package/dist/page-ZA6VOW7F.js +105 -0
  422. package/dist/page-photos-B5775SA4.js +116 -0
  423. package/dist/page-photos-B5775SA4.js.map +1 -0
  424. package/dist/pages-Q4LDTTOZ.js +67 -0
  425. package/dist/pages-Q4LDTTOZ.js.map +1 -0
  426. package/dist/performance-F7OHUDYL.js +25 -0
  427. package/dist/pinterest-SH7Q3BGY.js +96 -0
  428. package/dist/pixels-CKH6Q2LC.js +109 -0
  429. package/dist/pixels-CKH6Q2LC.js.map +1 -0
  430. package/dist/pixels-YVOTALZW.js +60 -0
  431. package/dist/plan-SF3AJ3U3.js +207 -0
  432. package/dist/posts-JMGQEPWZ.js +34 -0
  433. package/dist/preview-UJH6FFJV.js +216 -0
  434. package/dist/preview-UJH6FFJV.js.map +1 -0
  435. package/dist/profile-GE6L5LGA.js +159 -0
  436. package/dist/promoted-tweet-writes-T2ZN246D.js +181 -0
  437. package/dist/promoted-tweets-EW3VXPZU.js +119 -0
  438. package/dist/properties-EJ6ANQZO.js +101 -0
  439. package/dist/publish-PIUYQKOE.js +342 -0
  440. package/dist/query-732XAQUN.js +61 -0
  441. package/dist/query-D7OVFIC4.js +236 -0
  442. package/dist/query-EKMXON7N.js +247 -0
  443. package/dist/questionnaire-RSAGT4BO.js +93 -0
  444. package/dist/read-JQ3OAR7D.js +141 -0
  445. package/dist/reddit-33K3IIHG.js +27 -0
  446. package/dist/refresh-JIJVT3SV.js +95 -0
  447. package/dist/refresh-Q5ZVBWQX.js +42 -0
  448. package/dist/release-3MTLVI3Q.js +61 -0
  449. package/dist/relevant-pages-HKF77GO5.js +99 -0
  450. package/dist/remove-3EIQM4ZN.js +51 -0
  451. package/dist/remove-T6UJSL5S.js +49 -0
  452. package/dist/reopen-56LN4EDE.js +64 -0
  453. package/dist/rerun-FQCYQ5OO.js +93 -0
  454. package/dist/rerun-FQCYQ5OO.js.map +1 -0
  455. package/dist/research-IU26Y65V.js +263 -0
  456. package/dist/research-P5FLAJIZ.js +62 -0
  457. package/dist/reset-7L6UNBW6.js +55 -0
  458. package/dist/reset-7T3QY4MY.js +55 -0
  459. package/dist/resolve-LZGMF3RI.js +122 -0
  460. package/dist/retry-CCQPI5MS.js +63 -0
  461. package/dist/retry-EJIMFCPU.js +61 -0
  462. package/dist/retry-failed-FTS44UES.js +45 -0
  463. package/dist/revenue-3WIZFO4L.js +89 -0
  464. package/dist/rule-writes-GOUJ7QDD.js +523 -0
  465. package/dist/rule-writes-GOUJ7QDD.js.map +1 -0
  466. package/dist/rules-CC4M4WH5.js +217 -0
  467. package/dist/rules-CC4M4WH5.js.map +1 -0
  468. package/dist/rules-TMLFDY6X.js +97 -0
  469. package/dist/rules-add-O766M6I5.js +463 -0
  470. package/dist/run-Y7VNP5EE.js +67 -0
  471. package/dist/run-ZXGD5GAY.js +68 -0
  472. package/dist/scaffold-ad-RM7ZUCJQ.js +1514 -0
  473. package/dist/scaffold-ad-RM7ZUCJQ.js.map +1 -0
  474. package/dist/scaffold-static-ad-KLP7UD3Q.js +1008 -0
  475. package/dist/scaffold-static-ad-KLP7UD3Q.js.map +1 -0
  476. package/dist/scaffold-video-B7KMSBCG.js +886 -0
  477. package/dist/scaffold-video-B7KMSBCG.js.map +1 -0
  478. package/dist/schedule-AJDMS4BD.js +62 -0
  479. package/dist/schedule-NCCNWKDY.js +67 -0
  480. package/dist/scheduled-agents-PCS3VL4R.js +50 -0
  481. package/dist/schema-KIA5RJDM.js +69 -0
  482. package/dist/schema-ZUOO5D6X.js +133 -0
  483. package/dist/scrape-MWW6FBUC.js +2241 -0
  484. package/dist/screenshot-6K7AEO4C.js +102 -0
  485. package/dist/search-2VJC4CVT.js +26 -0
  486. package/dist/search-EUGQ45JM.js +224 -0
  487. package/dist/search-L5CMOZA3.js +175 -0
  488. package/dist/search-NPL5TN7D.js +92 -0
  489. package/dist/search-RZKZUUZC.js +91 -0
  490. package/dist/search-YLKXXAYA.js +51 -0
  491. package/dist/search-copy-LC5EPYJG.js +168 -0
  492. package/dist/seeds-JI34P4HA.js +101 -0
  493. package/dist/select-ZAJH4HZ5.js +104 -0
  494. package/dist/select-ZAJH4HZ5.js.map +1 -0
  495. package/dist/sends-7WGK6K6C.js +309 -0
  496. package/dist/sequences-IIEG46TU.js +146 -0
  497. package/dist/set-prompt-6H6JQW3X.js +196 -0
  498. package/dist/set-prompt-6H6JQW3X.js.map +1 -0
  499. package/dist/setup-links-VNEI42A5.js +142 -0
  500. package/dist/shared-UNQ3OBEC.js +32 -0
  501. package/dist/shopify-TOUT5NTX.js +3956 -0
  502. package/dist/shopify-TOUT5NTX.js.map +1 -0
  503. package/dist/site-E4EUL77X.js +178 -0
  504. package/dist/sitemaps-R6462TYK.js +87 -0
  505. package/dist/sites-BS5SBTVM.js +101 -0
  506. package/dist/skills-7BZQVAEY.js +47 -0
  507. package/dist/sources-6TCMSLQK.js +30 -0
  508. package/dist/sources-LO3YOOQO.js +455 -0
  509. package/dist/stale-DWC6547O.js +74 -0
  510. package/dist/stale-DWC6547O.js.map +1 -0
  511. package/dist/stats-TVQVRDQS.js +34 -0
  512. package/dist/status-J4K5HOKZ.js +63 -0
  513. package/dist/sticker-IQTULOZN.js +94 -0
  514. package/dist/stock-25YD32HR.js +179 -0
  515. package/dist/studies-GVNMVY57.js +250 -0
  516. package/dist/studies-GVNMVY57.js.map +1 -0
  517. package/dist/studio-2M2XBR7E.js +49 -0
  518. package/dist/study-writes-GHA7REOK.js +468 -0
  519. package/dist/study-writes-GHA7REOK.js.map +1 -0
  520. package/dist/suggest-6PNUDXOE.js +66 -0
  521. package/dist/sync-3HWGVAQV.js +55 -0
  522. package/dist/sync-4IBJWSBV.js +55 -0
  523. package/dist/sync-GHPIPBO6.js +265 -0
  524. package/dist/sync-definition-HEASUFK6.js +67 -0
  525. package/dist/tag-76TTKDKF.js +57 -0
  526. package/dist/tag-manager-4AJIUX7V.js +43 -0
  527. package/dist/tags-2XK6ZQI2.js +26 -0
  528. package/dist/tags-6LW4FTZ3.js +21 -0
  529. package/dist/tags-QEAH2IRF.js +21 -0
  530. package/dist/tags-XTY5VXDS.js +225 -0
  531. package/dist/tags-ZPBHZBLV.js +21 -0
  532. package/dist/targeting-7IF7LRXO.js +760 -0
  533. package/dist/targeting-7IF7LRXO.js.map +1 -0
  534. package/dist/targeting-constants-ARGJ3QQV.js +118 -0
  535. package/dist/targeting-criteria-GMWARSTV.js +113 -0
  536. package/dist/targets-I2WFL6JZ.js +104 -0
  537. package/dist/terms-YM6UNNYX.js +102 -0
  538. package/dist/terms-YM6UNNYX.js.map +1 -0
  539. package/dist/testimonials-DKFN34CI.js +32 -0
  540. package/dist/themes-XXVYTL54.js +95 -0
  541. package/dist/themes-XXVYTL54.js.map +1 -0
  542. package/dist/top-companies-7C3QZ3Q4.js +109 -0
  543. package/dist/translate-W6S6U4EE.js +607 -0
  544. package/dist/translate-W6S6U4EE.js.map +1 -0
  545. package/dist/triggers-I6BWR2BN.js +143 -0
  546. package/dist/tweets-SGNWR3H5.js +123 -0
  547. package/dist/unfollow-TMZ76BRA.js +46 -0
  548. package/dist/unlink-CD7WJQBU.js +68 -0
  549. package/dist/unstage-ATF3XNAD.js +95 -0
  550. package/dist/unstage-KP5VRZMN.js +86 -0
  551. package/dist/update-4EZRHJNR.js +81 -0
  552. package/dist/update-5MWCI3DR.js +64 -0
  553. package/dist/update-7XYPACZR.js +189 -0
  554. package/dist/update-FLNXNPQA.js +99 -0
  555. package/dist/update-K75QQ2GN.js +153 -0
  556. package/dist/upload-NSSD63IM.js +150 -0
  557. package/dist/upload-O4IINV5I.js +127 -0
  558. package/dist/upscale-UXOBILTP.js +109 -0
  559. package/dist/url-options-UK244DY7.js +130 -0
  560. package/dist/url-params-2SXL2PX4.js +99 -0
  561. package/dist/use-F5TRLSNK.js +95 -0
  562. package/dist/validate-2N3N3ING.js +120 -0
  563. package/dist/validate-2N3N3ING.js.map +1 -0
  564. package/dist/variant-KLBKFKHB.js +338 -0
  565. package/dist/videos-TBYEUE35.js +39 -0
  566. package/dist/view-R64LLT5L.js +121 -0
  567. package/dist/viewer-check-KBF5PCQV.js +81 -0
  568. package/dist/web-TMQHTWRB.js +141 -0
  569. package/dist/winners-VN2EHFDV.js +113 -0
  570. package/dist/winning-ads-YYBQZJRL.js +86 -0
  571. package/dist/write-commands-3RLSYXOH.js +1170 -0
  572. package/dist/write-commands-3RLSYXOH.js.map +1 -0
  573. package/dist/write-commands-AGKTMDAR.js +713 -0
  574. package/dist/write-commands-EZH66GPE.js +1493 -0
  575. package/dist/write-commands-G6423E2M.js +206 -0
  576. package/dist/x-JGV5D7AV.js +47 -0
  577. package/package.json +2 -1
  578. package/dist/account-EF6OPUJT.js +0 -80
  579. package/dist/account-RKULYCBU.js +0 -138
  580. package/dist/account-RKULYCBU.js.map +0 -1
  581. package/dist/account-ZKJFX2GK.js +0 -80
  582. package/dist/account-assets-CFAOK5DT.js +0 -289
  583. package/dist/account-assets-CFAOK5DT.js.map +0 -1
  584. package/dist/account-level-FYY73RMI.js +0 -608
  585. package/dist/account-level-FYY73RMI.js.map +0 -1
  586. package/dist/account-reads-CDZ3EL5D.js +0 -218
  587. package/dist/account-reads-CDZ3EL5D.js.map +0 -1
  588. package/dist/account-users-SZCYHVBM.js +0 -62
  589. package/dist/account-writes-VWU4FRGQ.js +0 -66
  590. package/dist/accounts-5DFYKYSM.js +0 -78
  591. package/dist/accounts-GVNJHHCS.js +0 -75
  592. package/dist/accounts-GVNJHHCS.js.map +0 -1
  593. package/dist/accounts-OGAIQNE6.js +0 -612
  594. package/dist/accounts-SLFTEHCR.js +0 -114
  595. package/dist/accounts-W4BPE2CS.js +0 -115
  596. package/dist/actions-FMNJSOBA.js +0 -55
  597. package/dist/active-entities-6LIZ63M5.js +0 -103
  598. package/dist/activecampaign-LYYYH6XD.js +0 -936
  599. package/dist/activities-EBYAXP7Y.js +0 -74
  600. package/dist/activities-EBYAXP7Y.js.map +0 -1
  601. package/dist/ad-group-writes-ID6I3QUZ.js +0 -170
  602. package/dist/ad-groups-M7CV6NTH.js +0 -68
  603. package/dist/ad-writes-TSOAZYRE.js +0 -174
  604. package/dist/add-44SGKTS4.js +0 -97
  605. package/dist/add-6DDU34GR.js +0 -81
  606. package/dist/add-AOQLZRPC.js +0 -80
  607. package/dist/add-HWXEPSZF.js +0 -105
  608. package/dist/add-VDZPGZF5.js +0 -148
  609. package/dist/add-YYP3O536.js +0 -303
  610. package/dist/add-accounts-QM4TQGDW.js +0 -91
  611. package/dist/ads-CGLO73MH.js +0 -77
  612. package/dist/ads-KDIRM745.js +0 -128
  613. package/dist/ads-OLXSDPD6.js +0 -40
  614. package/dist/ads-OLXSDPD6.js.map +0 -1
  615. package/dist/ads-YN2RFVXT.js +0 -114
  616. package/dist/ads-YN2RFVXT.js.map +0 -1
  617. package/dist/adsets-Y6BI4PKX.js +0 -177
  618. package/dist/adsets-Y6BI4PKX.js.map +0 -1
  619. package/dist/advertisers-OMB4FKK6.js +0 -125
  620. package/dist/advertisers-STYAIX72.js +0 -121
  621. package/dist/analytics-6WBK4VFO.js +0 -1977
  622. package/dist/analytics-6WBK4VFO.js.map +0 -1
  623. package/dist/analytics-DHB325DM.js +0 -434
  624. package/dist/animate-RGZWDZG2.js +0 -480
  625. package/dist/asset-writes-IO4QAGHL.js +0 -47
  626. package/dist/assign-BFXHYTMF.js +0 -78
  627. package/dist/audience-size-XWHZV2GH.js +0 -74
  628. package/dist/audience-writes-A2BWAI6W.js +0 -324
  629. package/dist/audience-writes-A2BWAI6W.js.map +0 -1
  630. package/dist/audiences-CDMGWVPJ.js +0 -84
  631. package/dist/audiences-CDMGWVPJ.js.map +0 -1
  632. package/dist/audiences-CHSF4TQR.js +0 -85
  633. package/dist/audiences-WXIP5PJH.js +0 -268
  634. package/dist/audit-IYGRU7LD.js +0 -152
  635. package/dist/audit-SJKN45IG.js +0 -88
  636. package/dist/autocomplete-SDDSJTAF.js +0 -112
  637. package/dist/avatars-I4H3NMEJ.js +0 -38
  638. package/dist/bid-pricing-OVYBDRMV.js +0 -101
  639. package/dist/brand-3V7ECY7D.js +0 -22
  640. package/dist/brief-U2W7KMFC.js +0 -539
  641. package/dist/brief-U2W7KMFC.js.map +0 -1
  642. package/dist/businesses-LPMQQGET.js +0 -53
  643. package/dist/businesses-LPMQQGET.js.map +0 -1
  644. package/dist/campaign-groups-FJHBVUA3.js +0 -97
  645. package/dist/campaign-writes-W5IL6ZGB.js +0 -170
  646. package/dist/campaign-writes-XKYYMZML.js +0 -166
  647. package/dist/campaigns-E5UW4I3X.js +0 -111
  648. package/dist/campaigns-FLTPD66X.js +0 -76
  649. package/dist/campaigns-GMWDSTYE.js +0 -127
  650. package/dist/campaigns-GMWDSTYE.js.map +0 -1
  651. package/dist/campaigns-MCB76NPQ.js +0 -107
  652. package/dist/canvas-JCNKMGCG.js +0 -46
  653. package/dist/capabilities-CLTZCXCZ.js +0 -145
  654. package/dist/cards-DVC5NT5X.js +0 -85
  655. package/dist/catalog-ZDLQAODO.js +0 -65
  656. package/dist/catalogs-26VXVUST.js +0 -128
  657. package/dist/catalogs-L4JLSLHY.js +0 -778
  658. package/dist/catalogs-L4JLSLHY.js.map +0 -1
  659. package/dist/changes-SX2N5KIO.js +0 -135
  660. package/dist/chatgpt-XFZ42NXC.js +0 -47
  661. package/dist/chats-DTJSBDWO.js +0 -277
  662. package/dist/check-CZTS64AW.js +0 -105
  663. package/dist/chunk-2VIZ4UUZ.js +0 -320
  664. package/dist/chunk-2YKXDFYX.js +0 -191
  665. package/dist/chunk-2YTBPRRG.js +0 -207
  666. package/dist/chunk-3RGR6COY.js +0 -219
  667. package/dist/chunk-3S274625.js +0 -131
  668. package/dist/chunk-3SNCMEJB.js +0 -97
  669. package/dist/chunk-4Z5BOHCH.js +0 -42
  670. package/dist/chunk-57KKVDDR.js +0 -472
  671. package/dist/chunk-5GQCN2QZ.js +0 -391
  672. package/dist/chunk-5VKADFSS.js +0 -111
  673. package/dist/chunk-5YKNG6NN.js +0 -45
  674. package/dist/chunk-6UNOK7WV.js +0 -97
  675. package/dist/chunk-6YLNY6CK.js +0 -220
  676. package/dist/chunk-7KHTJQGV.js +0 -1518
  677. package/dist/chunk-7QGFO35A.js +0 -23
  678. package/dist/chunk-A3DKSAEL.js +0 -1606
  679. package/dist/chunk-A4DZ5L3T.js +0 -665
  680. package/dist/chunk-A4DZ5L3T.js.map +0 -1
  681. package/dist/chunk-A4MVVPJ2.js +0 -4204
  682. package/dist/chunk-A4MVVPJ2.js.map +0 -1
  683. package/dist/chunk-A6WKCV3V.js +0 -75
  684. package/dist/chunk-ACDLKTUP.js +0 -23992
  685. package/dist/chunk-AV7ALENU.js +0 -191
  686. package/dist/chunk-B7GF34FU.js +0 -8914
  687. package/dist/chunk-BAXDNVT2.js +0 -225
  688. package/dist/chunk-BC2BXRXY.js +0 -2887
  689. package/dist/chunk-BC2BXRXY.js.map +0 -1
  690. package/dist/chunk-BDYLILMW.js +0 -150
  691. package/dist/chunk-BK2W6XNJ.js +0 -205
  692. package/dist/chunk-BK2W6XNJ.js.map +0 -1
  693. package/dist/chunk-BRLFQ4VX.js +0 -604
  694. package/dist/chunk-BVF2P65L.js +0 -58
  695. package/dist/chunk-CBXIUKGG.js +0 -74
  696. package/dist/chunk-CRIP3IUP.js +0 -191
  697. package/dist/chunk-CRIP3IUP.js.map +0 -1
  698. package/dist/chunk-CZYLHFSD.js +0 -106
  699. package/dist/chunk-D5NEIESR.js +0 -215
  700. package/dist/chunk-DJE7UXYT.js +0 -831
  701. package/dist/chunk-EFWXYUSK.js +0 -139
  702. package/dist/chunk-EGPYWJGZ.js +0 -98
  703. package/dist/chunk-EJ4QCMM6.js +0 -285
  704. package/dist/chunk-EONSZAZB.js +0 -3868
  705. package/dist/chunk-F2OCUTMQ.js +0 -544
  706. package/dist/chunk-F377KYIM.js +0 -274
  707. package/dist/chunk-FALJQCWL.js +0 -661
  708. package/dist/chunk-FCM6VPFP.js +0 -98
  709. package/dist/chunk-FG3MV2XM.js +0 -89
  710. package/dist/chunk-FKG476GH.js +0 -392
  711. package/dist/chunk-FKYPAGKK.js +0 -1919
  712. package/dist/chunk-FUGQSIYG.js +0 -297
  713. package/dist/chunk-G4OFH3MX.js +0 -455
  714. package/dist/chunk-G4OFH3MX.js.map +0 -1
  715. package/dist/chunk-GZ4A2VYW.js +0 -39
  716. package/dist/chunk-HLVRHBKL.js +0 -1078
  717. package/dist/chunk-HLVRHBKL.js.map +0 -1
  718. package/dist/chunk-HPLHAHG5.js +0 -275
  719. package/dist/chunk-I24YT2KG.js +0 -122
  720. package/dist/chunk-IBTSIPYA.js +0 -74
  721. package/dist/chunk-IFDZZOUC.js +0 -903
  722. package/dist/chunk-IFDZZOUC.js.map +0 -1
  723. package/dist/chunk-IZU6AR7D.js +0 -287
  724. package/dist/chunk-JHUYPCMT.js +0 -74
  725. package/dist/chunk-JVVUI55M.js +0 -455
  726. package/dist/chunk-JX7BX2NB.js +0 -333
  727. package/dist/chunk-KKSHEPBY.js +0 -363
  728. package/dist/chunk-KNY4DLVF.js +0 -67
  729. package/dist/chunk-KQ7RCLGC.js +0 -547
  730. package/dist/chunk-KXCKTEJ6.js +0 -76
  731. package/dist/chunk-L7WMS5PW.js +0 -172
  732. package/dist/chunk-L7WMS5PW.js.map +0 -1
  733. package/dist/chunk-LBRO4MTL.js +0 -19
  734. package/dist/chunk-LK6W5FDV.js +0 -35
  735. package/dist/chunk-LNRPOULW.js +0 -224
  736. package/dist/chunk-LX6WC2XZ.js +0 -942
  737. package/dist/chunk-LZ5PTBWR.js +0 -66
  738. package/dist/chunk-MMGTJBM6.js +0 -142
  739. package/dist/chunk-MOFMOYUA.js +0 -148
  740. package/dist/chunk-MSQR5I52.js +0 -56
  741. package/dist/chunk-NA7PXVCW.js +0 -106
  742. package/dist/chunk-NZKBW4YB.js +0 -846
  743. package/dist/chunk-O37VU7FG.js +0 -6799
  744. package/dist/chunk-O37VU7FG.js.map +0 -1
  745. package/dist/chunk-OEZYSL3U.js +0 -51
  746. package/dist/chunk-OL7JS4NG.js +0 -5368
  747. package/dist/chunk-OOVHBMQB.js +0 -103
  748. package/dist/chunk-PAJJXZ3Z.js +0 -170
  749. package/dist/chunk-PAJJXZ3Z.js.map +0 -1
  750. package/dist/chunk-PTH7VWKK.js +0 -159
  751. package/dist/chunk-PYD6IGW6.js +0 -401
  752. package/dist/chunk-PYD6IGW6.js.map +0 -1
  753. package/dist/chunk-Q5QHNTHA.js +0 -97
  754. package/dist/chunk-QANGHND7.js +0 -2140
  755. package/dist/chunk-QANGHND7.js.map +0 -1
  756. package/dist/chunk-QE2E4EYJ.js +0 -349
  757. package/dist/chunk-QG4MW2V4.js +0 -25
  758. package/dist/chunk-QMOYQJIN.js +0 -46
  759. package/dist/chunk-QNJVRI3E.js +0 -84
  760. package/dist/chunk-QRLTVJ6F.js +0 -167
  761. package/dist/chunk-QZF4BVKL.js +0 -66
  762. package/dist/chunk-R25JC3BD.js +0 -125
  763. package/dist/chunk-RITUSBYO.js +0 -61
  764. package/dist/chunk-RJZS4XDJ.js +0 -64
  765. package/dist/chunk-RMMSBI5C.js +0 -149
  766. package/dist/chunk-RMMSBI5C.js.map +0 -1
  767. package/dist/chunk-RUHZ7BRN.js +0 -163
  768. package/dist/chunk-RUHZ7BRN.js.map +0 -1
  769. package/dist/chunk-RVTXDQYC.js +0 -46
  770. package/dist/chunk-S4VLLGTW.js +0 -843
  771. package/dist/chunk-SSTL3A7Z.js +0 -206
  772. package/dist/chunk-SVM3DGAQ.js +0 -228
  773. package/dist/chunk-SZNGQ2GF.js +0 -64
  774. package/dist/chunk-TD4SO6TR.js +0 -169
  775. package/dist/chunk-TQNDAOMB.js +0 -188
  776. package/dist/chunk-U6RONIJC.js +0 -52
  777. package/dist/chunk-U7YR5CZL.js +0 -1744
  778. package/dist/chunk-UFKO626N.js +0 -84
  779. package/dist/chunk-UZ4RTOFG.js +0 -91
  780. package/dist/chunk-VAX7PFQV.js +0 -592
  781. package/dist/chunk-VDRSZK4P.js +0 -494
  782. package/dist/chunk-VDTOAZ6W.js +0 -76
  783. package/dist/chunk-VI5YQQ63.js +0 -296
  784. package/dist/chunk-VNU2EYD4.js +0 -344
  785. package/dist/chunk-WHWSLDNR.js +0 -166
  786. package/dist/chunk-WT4WDIXA.js +0 -156
  787. package/dist/chunk-WTJSMYY2.js +0 -4249
  788. package/dist/chunk-WTJSMYY2.js.map +0 -1
  789. package/dist/chunk-X5QWQNAX.js +0 -26
  790. package/dist/chunk-XEX23CIB.js +0 -160
  791. package/dist/chunk-XEX23CIB.js.map +0 -1
  792. package/dist/chunk-XQIOCIDO.js +0 -204
  793. package/dist/chunk-XQIOCIDO.js.map +0 -1
  794. package/dist/chunk-XRIM7NYV.js +0 -136
  795. package/dist/chunk-XXDF25BW.js +0 -8939
  796. package/dist/chunk-XXDF25BW.js.map +0 -1
  797. package/dist/chunk-Y46FE75E.js +0 -627
  798. package/dist/chunk-Y46FE75E.js.map +0 -1
  799. package/dist/chunk-Y4OYFJP7.js +0 -94
  800. package/dist/chunk-YJ3LSFMX.js +0 -249
  801. package/dist/chunk-YV7PKHFB.js +0 -66
  802. package/dist/chunk-YVK5RT3B.js +0 -197
  803. package/dist/chunk-YWWRLZUR.js +0 -433
  804. package/dist/chunk-YWWRLZUR.js.map +0 -1
  805. package/dist/chunk-Z4S5BCVZ.js +0 -57
  806. package/dist/chunk-ZA7OQLDJ.js +0 -225
  807. package/dist/chunk-ZYGK7GAK.js +0 -1079
  808. package/dist/claim-TSFPWTQY.js +0 -198
  809. package/dist/client-PFQ3SLQ4.js +0 -19
  810. package/dist/code-OF7NV2EG.js +0 -76
  811. package/dist/companies-P7FZNJQV.js +0 -196
  812. package/dist/complete-SYDIHMD5.js +0 -82
  813. package/dist/config-YVNIYO5K.js +0 -88
  814. package/dist/connect-COS6G45S.js +0 -43
  815. package/dist/content-JDTHVSPS.js +0 -85
  816. package/dist/conversation-UJOWMJRH.js +0 -94
  817. package/dist/conversion-report-7JJ5L6WH.js +0 -125
  818. package/dist/conversion-upload-command-UO2QWG3J.js +0 -438
  819. package/dist/conversion-upload-command-UO2QWG3J.js.map +0 -1
  820. package/dist/conversion-writes-GIGAZT4T.js +0 -120
  821. package/dist/conversions-CIJZLGII.js +0 -76
  822. package/dist/conversions-ONOIEILU.js +0 -138
  823. package/dist/copy-writes-SKHINWEA.js +0 -167
  824. package/dist/copy-writes-SKHINWEA.js.map +0 -1
  825. package/dist/countries-F5ISQB3M.js +0 -82
  826. package/dist/create-DPQRYQXK.js +0 -208
  827. package/dist/create-JD76Z4A4.js +0 -60
  828. package/dist/create-NOT3HGP2.js +0 -133
  829. package/dist/create-ZYEB7SHF.js +0 -236
  830. package/dist/create-ZYEB7SHF.js.map +0 -1
  831. package/dist/creatives-26MRMCDJ.js +0 -88
  832. package/dist/creatives-26MRMCDJ.js.map +0 -1
  833. package/dist/creatives-LRSELC7Y.js +0 -221
  834. package/dist/creatives-SEQHJD2M.js +0 -58
  835. package/dist/credentials-LHPTUVVA.js +0 -288
  836. package/dist/critique-Q7GSZ5RP.js +0 -1459
  837. package/dist/critique-RR2XOQCE.js +0 -228
  838. package/dist/critique-RR2XOQCE.js.map +0 -1
  839. package/dist/crm-J7EU32PL.js +0 -319
  840. package/dist/crm-MC444ZVU.js +0 -225
  841. package/dist/crop-PWHHLMDF.js +0 -113
  842. package/dist/currency-TAEJVMVK.js +0 -88
  843. package/dist/custom-conversions-RLBWJL7D.js +0 -127
  844. package/dist/custom-conversions-RLBWJL7D.js.map +0 -1
  845. package/dist/customers-LMSX33FO.js +0 -57
  846. package/dist/decide-E4AREOPP.js +0 -199
  847. package/dist/delete-3US2W4F6.js +0 -71
  848. package/dist/delete-BQBVATMF.js +0 -55
  849. package/dist/delete-K7A3AUPH.js +0 -65
  850. package/dist/delete-THR72JIR.js +0 -71
  851. package/dist/delete-VV2ICIHF.js +0 -67
  852. package/dist/delete-XBIME2H4.js +0 -69
  853. package/dist/demographics-7GWUXXS6.js +0 -139
  854. package/dist/describe-HOMUJ4T4.js +0 -97
  855. package/dist/describe-JVHEKSX3.js +0 -97
  856. package/dist/dimensions-K2WK7QBJ.js +0 -101
  857. package/dist/discard-3CLZ4DPD.js +0 -67
  858. package/dist/discover-5Z253HXF.js +0 -172
  859. package/dist/discover-SII47P73.js +0 -93
  860. package/dist/domain-ZS74BSE6.js +0 -99
  861. package/dist/download-DHB3EIMS.js +0 -299
  862. package/dist/draft-7DWRFCXW.js +0 -281
  863. package/dist/draft-DHDDPACQ.js +0 -103
  864. package/dist/draft-E47E762T.js +0 -100
  865. package/dist/draft-EHU4A7EZ.js +0 -237
  866. package/dist/draft-EHU4A7EZ.js.map +0 -1
  867. package/dist/draft-J3B33RAZ.js +0 -308
  868. package/dist/draft-MNEM4N5W.js +0 -307
  869. package/dist/draft-MNEM4N5W.js.map +0 -1
  870. package/dist/draft-MZLWVX3D.js +0 -218
  871. package/dist/draft-R56PIXCV.js +0 -333
  872. package/dist/env-PKUYZY5O.js +0 -51
  873. package/dist/experiment-7RJ5X2LL.js +0 -1397
  874. package/dist/experiments-NOSJJMYI.js +0 -234
  875. package/dist/export-AGDNQZKC.js +0 -168
  876. package/dist/extract-4MIPIBVC.js +0 -113
  877. package/dist/facets-E6SHYUAI.js +0 -115
  878. package/dist/favorites-XHY64GCM.js +0 -178
  879. package/dist/feed-724KWSNI.js +0 -177
  880. package/dist/feedback-HXCQBV7S.js +0 -107
  881. package/dist/feedback-HXCQBV7S.js.map +0 -1
  882. package/dist/feedback-record-GXPYXNT6.js +0 -261
  883. package/dist/feedback-record-GXPYXNT6.js.map +0 -1
  884. package/dist/fetch-HMUGSRE4.js +0 -177
  885. package/dist/fetch-RYS6DEJH.js +0 -139
  886. package/dist/find-2EPXK5RF.js +0 -134
  887. package/dist/fit-W7UNFZT5.js +0 -63
  888. package/dist/flows-SO5J3M3X.js +0 -248
  889. package/dist/follow-LRGW6OHI.js +0 -94
  890. package/dist/follow-competitors-UUN7EKFR.js +0 -112
  891. package/dist/following-ISRRC2QL.js +0 -113
  892. package/dist/fonts-N42UYWTX.js +0 -37
  893. package/dist/forecast-24LGJVLC.js +0 -119
  894. package/dist/forecast-W7Z5TVQX.js +0 -168
  895. package/dist/forecast-W7Z5TVQX.js.map +0 -1
  896. package/dist/funding-KMXQ6CXM.js +0 -85
  897. package/dist/funnel-NYT36B3C.js +0 -395
  898. package/dist/funnel-NYT36B3C.js.map +0 -1
  899. package/dist/ga4-6EIQC2TG.js +0 -55
  900. package/dist/generate-Y76WU7M7.js +0 -263
  901. package/dist/get-23L2AVTV.js +0 -63
  902. package/dist/get-GDI2MOAU.js +0 -92
  903. package/dist/get-JPOUTSU5.js +0 -63
  904. package/dist/get-KAGO4EC5.js +0 -80
  905. package/dist/get-LNLY2RWU.js +0 -61
  906. package/dist/get-PZX27LQY.js +0 -38
  907. package/dist/get-R5JAFHTH.js +0 -57
  908. package/dist/get-VFRJAC2I.js +0 -59
  909. package/dist/gif-DVNNWOYA.js +0 -102
  910. package/dist/google-O5OI6QFU.js +0 -136
  911. package/dist/google-WYXDMH2N.js +0 -3265
  912. package/dist/google-WYXDMH2N.js.map +0 -1
  913. package/dist/google-ads-6X4BHGUR.js +0 -196
  914. package/dist/group-HNRZJMZX.js +0 -43
  915. package/dist/group-QPQUCV6E.js +0 -43
  916. package/dist/gsc-BM3T2GDL.js +0 -30
  917. package/dist/history-DGHMJ2XF.js +0 -67
  918. package/dist/history-LGOWYLBE.js +0 -134
  919. package/dist/hubspot-LJB3ETUT.js +0 -780
  920. package/dist/icon-B7DG53S5.js +0 -137
  921. package/dist/ideas-DYN2DMFN.js +0 -41
  922. package/dist/images-EQCUXEHF.js +0 -92
  923. package/dist/improve-56FHWRWN.js +0 -86
  924. package/dist/ingest-B46AY3QU.js +0 -24
  925. package/dist/ingest-T7ZS2R4U.js +0 -108
  926. package/dist/insights-BPKB6VSU.js +0 -424
  927. package/dist/insights-BPKB6VSU.js.map +0 -1
  928. package/dist/insights-EU45J56U.js +0 -122
  929. package/dist/inspect-BSNGAT2S.js +0 -190
  930. package/dist/inspiration-TCCKM4R7.js +0 -53
  931. package/dist/instant-experiences-WEENYTWD.js +0 -257
  932. package/dist/instant-experiences-WEENYTWD.js.map +0 -1
  933. package/dist/intent-FUGWRUSW.js +0 -95
  934. package/dist/job-Z34BGXVD.js +0 -202
  935. package/dist/job-create-HNMMERM5.js +0 -109
  936. package/dist/job-status-PDXGKBDG.js +0 -74
  937. package/dist/keep-WI7GMNYE.js +0 -78
  938. package/dist/keyword-gap-DXTKZLV2.js +0 -130
  939. package/dist/keyword-metrics-KNTIN4ZK.js +0 -198
  940. package/dist/keywords-for-site-S4MXGXWR.js +0 -129
  941. package/dist/landing-WVPA7NBR.js +0 -28
  942. package/dist/landings-W2ZW3WJK.js +0 -151
  943. package/dist/languages-73GOUAHX.js +0 -55
  944. package/dist/languages-XRTTEJ5P.js +0 -40
  945. package/dist/launches-4VFF5MNM.js +0 -19
  946. package/dist/layerize-IUDRVV3C.js +0 -190
  947. package/dist/leads-EINV5FK3.js +0 -113
  948. package/dist/leads-JURNJJNU.js +0 -537
  949. package/dist/leads-JURNJJNU.js.map +0 -1
  950. package/dist/learn-7Z2VR6MS.js +0 -205
  951. package/dist/library-2WYYM6ED.js +0 -109
  952. package/dist/lighthouse-ZZUYZALE.js +0 -75
  953. package/dist/line-item-writes-Z3TIB5KZ.js +0 -209
  954. package/dist/line-items-OEWYOPFP.js +0 -103
  955. package/dist/link-KYHUIPJE.js +0 -65
  956. package/dist/linkedin-JVB4HXJC.js +0 -1314
  957. package/dist/list-BWE7FL7W.js +0 -65
  958. package/dist/list-EORTO73V.js +0 -93
  959. package/dist/list-G3E4NIKR.js +0 -76
  960. package/dist/list-QCEOM2BJ.js +0 -57
  961. package/dist/list-QQVLURKH.js +0 -152
  962. package/dist/list-QUFCV73J.js +0 -51
  963. package/dist/list-QWGKRUSM.js +0 -65
  964. package/dist/list-WRBWQASJ.js +0 -50
  965. package/dist/list-Z6NMNK3T.js +0 -304
  966. package/dist/locations-PCZPKH47.js +0 -40
  967. package/dist/locations-TGJH3URF.js +0 -67
  968. package/dist/log-RUMKYPYK.js +0 -93
  969. package/dist/logo-QTSBKP2J.js +0 -18
  970. package/dist/lookup-J54KJAMC.js +0 -22
  971. package/dist/make-IJGCQA7C.js +0 -1354
  972. package/dist/make-IJGCQA7C.js.map +0 -1
  973. package/dist/map-QZHIJFQT.js +0 -434
  974. package/dist/mcp-ZH2XDV5P.js +0 -715
  975. package/dist/media-GXZ5JI5U.js +0 -89
  976. package/dist/media-NRMVRXLD.js +0 -18
  977. package/dist/media-sources-SQ2RPDBO.js +0 -35
  978. package/dist/members-4YX7JEZM.js +0 -45
  979. package/dist/meme-AX5INYIP.js +0 -100
  980. package/dist/meta-62YDR5B2.js +0 -122
  981. package/dist/metrics-PYPCW7FJ.js +0 -152
  982. package/dist/models-IAGO5GIH.js +0 -155
  983. package/dist/normalize-ABIWLRIT.js +0 -142
  984. package/dist/normalize-TW2OZKJX.js +0 -806
  985. package/dist/options-SVCQVTNE.js +0 -123
  986. package/dist/organization-FNKDC742.js +0 -947
  987. package/dist/output-573CQXXP.js +0 -24
  988. package/dist/page-QQD5IFO6.js +0 -105
  989. package/dist/page-photos-B6NQY5TW.js +0 -115
  990. package/dist/page-photos-B6NQY5TW.js.map +0 -1
  991. package/dist/pages-Q3SUE6HW.js +0 -66
  992. package/dist/pages-Q3SUE6HW.js.map +0 -1
  993. package/dist/performance-HTU5FR2K.js +0 -25
  994. package/dist/pinterest-H6V4KNL2.js +0 -96
  995. package/dist/pixels-EEZ7TTL4.js +0 -108
  996. package/dist/pixels-EEZ7TTL4.js.map +0 -1
  997. package/dist/pixels-R4MOLWAR.js +0 -60
  998. package/dist/plan-W2K45F7K.js +0 -207
  999. package/dist/posts-3DAPTBH2.js +0 -34
  1000. package/dist/preview-5JSWQIM6.js +0 -215
  1001. package/dist/preview-5JSWQIM6.js.map +0 -1
  1002. package/dist/profile-4QZXRUR6.js +0 -159
  1003. package/dist/promoted-tweet-writes-DD3CJNWW.js +0 -181
  1004. package/dist/promoted-tweets-TTWN5OMW.js +0 -119
  1005. package/dist/properties-KUNLF5I2.js +0 -101
  1006. package/dist/publish-Z62KGDJ2.js +0 -342
  1007. package/dist/query-72E5HVAO.js +0 -247
  1008. package/dist/query-RODBIIWT.js +0 -236
  1009. package/dist/query-XDHZMGLX.js +0 -61
  1010. package/dist/questionnaire-GMU66CSP.js +0 -93
  1011. package/dist/read-X45BP6TW.js +0 -141
  1012. package/dist/reddit-6C3PT5CT.js +0 -27
  1013. package/dist/refresh-HCQXVFVR.js +0 -95
  1014. package/dist/refresh-ZCGH64OZ.js +0 -42
  1015. package/dist/release-FIHW2HCH.js +0 -61
  1016. package/dist/relevant-pages-CTG72PBR.js +0 -99
  1017. package/dist/remove-CBR7NVMI.js +0 -51
  1018. package/dist/remove-PUZP5GWN.js +0 -49
  1019. package/dist/reopen-EJGLRQWR.js +0 -64
  1020. package/dist/rerun-TVBZXASH.js +0 -91
  1021. package/dist/rerun-TVBZXASH.js.map +0 -1
  1022. package/dist/research-L25D4WHQ.js +0 -263
  1023. package/dist/research-YCMMQVK6.js +0 -62
  1024. package/dist/reset-HKKCWKZ7.js +0 -55
  1025. package/dist/reset-SRL6I6GP.js +0 -55
  1026. package/dist/resolve-POMTTAFR.js +0 -122
  1027. package/dist/retry-MEPTOAV2.js +0 -61
  1028. package/dist/retry-RNGM3KKA.js +0 -63
  1029. package/dist/retry-failed-5EWFM364.js +0 -45
  1030. package/dist/revenue-X4KPTSAM.js +0 -89
  1031. package/dist/rule-writes-DGVDURHR.js +0 -522
  1032. package/dist/rule-writes-DGVDURHR.js.map +0 -1
  1033. package/dist/rules-OIQT255A.js +0 -216
  1034. package/dist/rules-OIQT255A.js.map +0 -1
  1035. package/dist/rules-VK7YA23Q.js +0 -97
  1036. package/dist/rules-add-VG7AT6EG.js +0 -463
  1037. package/dist/run-DIDQSZU7.js +0 -67
  1038. package/dist/run-SR7DJ7M5.js +0 -66
  1039. package/dist/scaffold-ad-46GTFUMP.js +0 -1512
  1040. package/dist/scaffold-ad-46GTFUMP.js.map +0 -1
  1041. package/dist/scaffold-static-ad-U63V4UHR.js +0 -1006
  1042. package/dist/scaffold-static-ad-U63V4UHR.js.map +0 -1
  1043. package/dist/scaffold-video-4DNTURH6.js +0 -884
  1044. package/dist/scaffold-video-4DNTURH6.js.map +0 -1
  1045. package/dist/schedule-JO66N7XO.js +0 -62
  1046. package/dist/schedule-JZBIX6LH.js +0 -67
  1047. package/dist/scheduled-agents-N63EZNY6.js +0 -50
  1048. package/dist/schema-B2XANMEY.js +0 -133
  1049. package/dist/schema-C6SGBNA6.js +0 -69
  1050. package/dist/scrape-XRTWSSPE.js +0 -2241
  1051. package/dist/screenshot-3WETJ564.js +0 -102
  1052. package/dist/search-6X7EVOSI.js +0 -224
  1053. package/dist/search-7GHS3OUZ.js +0 -51
  1054. package/dist/search-7ZLOF2AY.js +0 -92
  1055. package/dist/search-HS7OHTFH.js +0 -91
  1056. package/dist/search-IWNAZ52P.js +0 -26
  1057. package/dist/search-W5HZUJA2.js +0 -175
  1058. package/dist/search-copy-ZJHRQCVH.js +0 -168
  1059. package/dist/seeds-5TAEFW6H.js +0 -101
  1060. package/dist/select-LMGLNFWB.js +0 -102
  1061. package/dist/select-LMGLNFWB.js.map +0 -1
  1062. package/dist/sends-JR3QZ2AL.js +0 -309
  1063. package/dist/sequences-UP4ESMFI.js +0 -146
  1064. package/dist/set-prompt-M5E3UZDM.js +0 -194
  1065. package/dist/set-prompt-M5E3UZDM.js.map +0 -1
  1066. package/dist/setup-links-ERBQSKAB.js +0 -142
  1067. package/dist/shared-YBCK75HB.js +0 -31
  1068. package/dist/site-PNVFJRYK.js +0 -178
  1069. package/dist/sitemaps-BGR4QHHJ.js +0 -87
  1070. package/dist/sites-WOIMU334.js +0 -101
  1071. package/dist/skills-OS4PUOGZ.js +0 -47
  1072. package/dist/sources-DMZJPLKC.js +0 -455
  1073. package/dist/sources-HN3GCEDX.js +0 -30
  1074. package/dist/stale-VWN25WTL.js +0 -72
  1075. package/dist/stale-VWN25WTL.js.map +0 -1
  1076. package/dist/stats-CVF6AC7R.js +0 -34
  1077. package/dist/status-SF7DTPCJ.js +0 -63
  1078. package/dist/sticker-KFKL5W7F.js +0 -94
  1079. package/dist/stock-4LPQ6SM7.js +0 -179
  1080. package/dist/studies-RSDWHJ2D.js +0 -249
  1081. package/dist/studies-RSDWHJ2D.js.map +0 -1
  1082. package/dist/studio-NZ6WQ7OE.js +0 -49
  1083. package/dist/study-writes-HVHPR52R.js +0 -467
  1084. package/dist/study-writes-HVHPR52R.js.map +0 -1
  1085. package/dist/suggest-WMMEQCUH.js +0 -66
  1086. package/dist/sync-E7P2PWXG.js +0 -265
  1087. package/dist/sync-F7VNZLWY.js +0 -55
  1088. package/dist/sync-HVNDPBOD.js +0 -55
  1089. package/dist/sync-definition-CKEUYKWN.js +0 -65
  1090. package/dist/tag-KTQ2FV5C.js +0 -57
  1091. package/dist/tag-manager-FLXXLNKP.js +0 -43
  1092. package/dist/tags-EUOOSAKN.js +0 -26
  1093. package/dist/tags-KOMAP2G5.js +0 -21
  1094. package/dist/tags-TKXJGTR3.js +0 -21
  1095. package/dist/tags-VWIPDCUA.js +0 -225
  1096. package/dist/tags-XAB4HWGW.js +0 -21
  1097. package/dist/targeting-FU2LMS2P.js +0 -759
  1098. package/dist/targeting-FU2LMS2P.js.map +0 -1
  1099. package/dist/targeting-constants-Y3FAQOFH.js +0 -118
  1100. package/dist/targeting-criteria-HE7K52WN.js +0 -113
  1101. package/dist/targets-NA4XPDBF.js +0 -104
  1102. package/dist/testimonials-3Q5XM7JD.js +0 -32
  1103. package/dist/themes-JZ3DPE7L.js +0 -94
  1104. package/dist/themes-JZ3DPE7L.js.map +0 -1
  1105. package/dist/top-companies-TKO4QGPJ.js +0 -109
  1106. package/dist/translate-YVIZ5T44.js +0 -605
  1107. package/dist/translate-YVIZ5T44.js.map +0 -1
  1108. package/dist/triggers-QX7VW7UO.js +0 -143
  1109. package/dist/tweets-XOINDJA7.js +0 -123
  1110. package/dist/unfollow-JSLPUZK5.js +0 -46
  1111. package/dist/unlink-64SRPUNG.js +0 -68
  1112. package/dist/unstage-5X2MOUMF.js +0 -86
  1113. package/dist/unstage-C2RAUVF6.js +0 -95
  1114. package/dist/update-22ZBHURE.js +0 -81
  1115. package/dist/update-2LTPSGWT.js +0 -99
  1116. package/dist/update-DOKS7ATM.js +0 -189
  1117. package/dist/update-FB6X463M.js +0 -64
  1118. package/dist/update-QIZ7XFAM.js +0 -153
  1119. package/dist/upload-XJ7TUVIK.js +0 -127
  1120. package/dist/upload-ZO2B6UW5.js +0 -150
  1121. package/dist/upscale-6WADWURL.js +0 -109
  1122. package/dist/url-options-VNX5KYUQ.js +0 -130
  1123. package/dist/url-params-KLQOLNPS.js +0 -99
  1124. package/dist/use-NVXOEN4O.js +0 -95
  1125. package/dist/validate-YTBJBG44.js +0 -118
  1126. package/dist/validate-YTBJBG44.js.map +0 -1
  1127. package/dist/variant-BN72AP34.js +0 -338
  1128. package/dist/videos-WAPUPJVT.js +0 -39
  1129. package/dist/view-Z5JEMRNU.js +0 -121
  1130. package/dist/viewer-check-GHQA3UY2.js +0 -81
  1131. package/dist/web-6JMWERTT.js +0 -141
  1132. package/dist/winners-2FZXH22W.js +0 -113
  1133. package/dist/winning-ads-XCVUAIOU.js +0 -86
  1134. package/dist/write-commands-3CX4M6CB.js +0 -713
  1135. package/dist/write-commands-N74CDMQM.js +0 -1493
  1136. package/dist/write-commands-YPT3ZLUW.js +0 -206
  1137. package/dist/write-commands-ZEIAQS6T.js +0 -1165
  1138. package/dist/write-commands-ZEIAQS6T.js.map +0 -1
  1139. package/dist/x-SI4KYDEY.js +0 -47
  1140. /package/dist/{account-EF6OPUJT.js.map → account-263FLP5Y.js.map} +0 -0
  1141. /package/dist/{account-ZKJFX2GK.js.map → account-Y2NNZBQU.js.map} +0 -0
  1142. /package/dist/{account-users-SZCYHVBM.js.map → account-users-65TL5KL7.js.map} +0 -0
  1143. /package/dist/{account-writes-VWU4FRGQ.js.map → account-writes-M274CK75.js.map} +0 -0
  1144. /package/dist/{accounts-W4BPE2CS.js.map → accounts-4HPLJD7O.js.map} +0 -0
  1145. /package/dist/{accounts-SLFTEHCR.js.map → accounts-OWLAMDJX.js.map} +0 -0
  1146. /package/dist/{accounts-5DFYKYSM.js.map → accounts-ST32A4L4.js.map} +0 -0
  1147. /package/dist/{accounts-OGAIQNE6.js.map → accounts-VVMBENKE.js.map} +0 -0
  1148. /package/dist/{actions-FMNJSOBA.js.map → actions-EAMKQC4A.js.map} +0 -0
  1149. /package/dist/{active-entities-6LIZ63M5.js.map → active-entities-2TRODKWO.js.map} +0 -0
  1150. /package/dist/{activecampaign-LYYYH6XD.js.map → activecampaign-XYEFFSZF.js.map} +0 -0
  1151. /package/dist/{ad-group-writes-ID6I3QUZ.js.map → ad-group-writes-M7S67GLQ.js.map} +0 -0
  1152. /package/dist/{ad-groups-M7CV6NTH.js.map → ad-groups-BF4KNJFS.js.map} +0 -0
  1153. /package/dist/{ad-writes-TSOAZYRE.js.map → ad-writes-FNWVH7SP.js.map} +0 -0
  1154. /package/dist/{add-AOQLZRPC.js.map → add-2OOHZBKD.js.map} +0 -0
  1155. /package/dist/{add-6DDU34GR.js.map → add-5PK6LCD2.js.map} +0 -0
  1156. /package/dist/{add-VDZPGZF5.js.map → add-EXF7UGIG.js.map} +0 -0
  1157. /package/dist/{add-HWXEPSZF.js.map → add-IJA475VW.js.map} +0 -0
  1158. /package/dist/{add-YYP3O536.js.map → add-UGMEJ5L3.js.map} +0 -0
  1159. /package/dist/{add-44SGKTS4.js.map → add-WZFXWMG7.js.map} +0 -0
  1160. /package/dist/{add-accounts-QM4TQGDW.js.map → add-accounts-KQUUBIIG.js.map} +0 -0
  1161. /package/dist/{ads-KDIRM745.js.map → ads-C6LVVX4F.js.map} +0 -0
  1162. /package/dist/{ads-CGLO73MH.js.map → ads-TLJI5KCA.js.map} +0 -0
  1163. /package/dist/{advertisers-OMB4FKK6.js.map → advertisers-OHTC7Q63.js.map} +0 -0
  1164. /package/dist/{advertisers-STYAIX72.js.map → advertisers-RBLLFCET.js.map} +0 -0
  1165. /package/dist/{analytics-DHB325DM.js.map → analytics-QQ7PLUU3.js.map} +0 -0
  1166. /package/dist/{animate-RGZWDZG2.js.map → animate-G2PISVIA.js.map} +0 -0
  1167. /package/dist/{asset-writes-IO4QAGHL.js.map → asset-writes-LW3KSG2B.js.map} +0 -0
  1168. /package/dist/{assign-BFXHYTMF.js.map → assign-UC6OK2R7.js.map} +0 -0
  1169. /package/dist/{audience-size-XWHZV2GH.js.map → audience-size-4S2ZWQ3G.js.map} +0 -0
  1170. /package/dist/{audiences-CHSF4TQR.js.map → audiences-2342U7XH.js.map} +0 -0
  1171. /package/dist/{audiences-WXIP5PJH.js.map → audiences-EZO6PYRL.js.map} +0 -0
  1172. /package/dist/{audit-SJKN45IG.js.map → audit-KQ7GVWMO.js.map} +0 -0
  1173. /package/dist/{audit-IYGRU7LD.js.map → audit-QTLUKQW5.js.map} +0 -0
  1174. /package/dist/{autocomplete-SDDSJTAF.js.map → autocomplete-XMRWWWJB.js.map} +0 -0
  1175. /package/dist/{avatars-I4H3NMEJ.js.map → avatars-QU5GIMCL.js.map} +0 -0
  1176. /package/dist/{bid-pricing-OVYBDRMV.js.map → bid-pricing-KBWHJKVH.js.map} +0 -0
  1177. /package/dist/{brand-3V7ECY7D.js.map → brand-REYK7QBZ.js.map} +0 -0
  1178. /package/dist/{campaign-groups-FJHBVUA3.js.map → campaign-groups-47IYCWKX.js.map} +0 -0
  1179. /package/dist/{campaign-writes-XKYYMZML.js.map → campaign-writes-IPSJMNQX.js.map} +0 -0
  1180. /package/dist/{campaign-writes-W5IL6ZGB.js.map → campaign-writes-RHMIJAC3.js.map} +0 -0
  1181. /package/dist/{campaigns-FLTPD66X.js.map → campaigns-7WLJWRVB.js.map} +0 -0
  1182. /package/dist/{campaigns-MCB76NPQ.js.map → campaigns-NTEP5DKT.js.map} +0 -0
  1183. /package/dist/{campaigns-E5UW4I3X.js.map → campaigns-SCV5ZDLA.js.map} +0 -0
  1184. /package/dist/{canvas-JCNKMGCG.js.map → canvas-X55KDZQX.js.map} +0 -0
  1185. /package/dist/{capabilities-CLTZCXCZ.js.map → capabilities-FJIYYIMF.js.map} +0 -0
  1186. /package/dist/{cards-DVC5NT5X.js.map → cards-UZ3TAVOU.js.map} +0 -0
  1187. /package/dist/{catalog-ZDLQAODO.js.map → catalog-OLWWOUXL.js.map} +0 -0
  1188. /package/dist/{catalogs-26VXVUST.js.map → catalogs-4PEZDXLP.js.map} +0 -0
  1189. /package/dist/{changes-SX2N5KIO.js.map → changes-T6RKIP2B.js.map} +0 -0
  1190. /package/dist/{chatgpt-XFZ42NXC.js.map → chatgpt-J3ITRRCX.js.map} +0 -0
  1191. /package/dist/{chats-DTJSBDWO.js.map → chats-PAHEOSL5.js.map} +0 -0
  1192. /package/dist/{check-CZTS64AW.js.map → check-PAVRHQAR.js.map} +0 -0
  1193. /package/dist/{chunk-LZ5PTBWR.js.map → chunk-23HT4U3O.js.map} +0 -0
  1194. /package/dist/{chunk-VAX7PFQV.js.map → chunk-25IPX5BK.js.map} +0 -0
  1195. /package/dist/{chunk-QNJVRI3E.js.map → chunk-2M36ESEZ.js.map} +0 -0
  1196. /package/dist/{chunk-JX7BX2NB.js.map → chunk-2Q324LIK.js.map} +0 -0
  1197. /package/dist/{chunk-QMOYQJIN.js.map → chunk-2YUVO3LP.js.map} +0 -0
  1198. /package/dist/{chunk-MSQR5I52.js.map → chunk-3BAAO72V.js.map} +0 -0
  1199. /package/dist/{chunk-FG3MV2XM.js.map → chunk-3FF5UMV5.js.map} +0 -0
  1200. /package/dist/{chunk-LK6W5FDV.js.map → chunk-3Q32TXSP.js.map} +0 -0
  1201. /package/dist/{chunk-YVK5RT3B.js.map → chunk-3Z3O7ZD6.js.map} +0 -0
  1202. /package/dist/{chunk-LNRPOULW.js.map → chunk-44QHWWUX.js.map} +0 -0
  1203. /package/dist/{chunk-EGPYWJGZ.js.map → chunk-4D5OBSWR.js.map} +0 -0
  1204. /package/dist/{chunk-3RGR6COY.js.map → chunk-4ISA7PPB.js.map} +0 -0
  1205. /package/dist/{chunk-YJ3LSFMX.js.map → chunk-4WI5PJU6.js.map} +0 -0
  1206. /package/dist/{chunk-XRIM7NYV.js.map → chunk-52KXFESB.js.map} +0 -0
  1207. /package/dist/{chunk-QG4MW2V4.js.map → chunk-565M26EE.js.map} +0 -0
  1208. /package/dist/{chunk-CZYLHFSD.js.map → chunk-5LYTDXWP.js.map} +0 -0
  1209. /package/dist/{chunk-PTH7VWKK.js.map → chunk-5NYU2UYT.js.map} +0 -0
  1210. /package/dist/{chunk-QZF4BVKL.js.map → chunk-6IFTTSHH.js.map} +0 -0
  1211. /package/dist/{chunk-JVVUI55M.js.map → chunk-6M22WJ5Y.js.map} +0 -0
  1212. /package/dist/{chunk-JHUYPCMT.js.map → chunk-6PWVNCQH.js.map} +0 -0
  1213. /package/dist/{chunk-D5NEIESR.js.map → chunk-6UW4J6IU.js.map} +0 -0
  1214. /package/dist/{chunk-OOVHBMQB.js.map → chunk-6ZFOF6J2.js.map} +0 -0
  1215. /package/dist/{chunk-IZU6AR7D.js.map → chunk-73JJQ2DB.js.map} +0 -0
  1216. /package/dist/{chunk-F377KYIM.js.map → chunk-73LQJBBF.js.map} +0 -0
  1217. /package/dist/{chunk-ZYGK7GAK.js.map → chunk-7IAA3REE.js.map} +0 -0
  1218. /package/dist/{chunk-SVM3DGAQ.js.map → chunk-ANLLW3KZ.js.map} +0 -0
  1219. /package/dist/{chunk-6YLNY6CK.js.map → chunk-AS46I4WH.js.map} +0 -0
  1220. /package/dist/{chunk-2YTBPRRG.js.map → chunk-ASHCV6DO.js.map} +0 -0
  1221. /package/dist/{chunk-VI5YQQ63.js.map → chunk-BCFIMEZJ.js.map} +0 -0
  1222. /package/dist/{chunk-LX6WC2XZ.js.map → chunk-BJY6223Q.js.map} +0 -0
  1223. /package/dist/{chunk-A6WKCV3V.js.map → chunk-BTGOVA2H.js.map} +0 -0
  1224. /package/dist/{chunk-5VKADFSS.js.map → chunk-BX4JR6ZU.js.map} +0 -0
  1225. /package/dist/{chunk-KQ7RCLGC.js.map → chunk-BYDTLQ77.js.map} +0 -0
  1226. /package/dist/{chunk-WT4WDIXA.js.map → chunk-CFUFTIOU.js.map} +0 -0
  1227. /package/dist/{chunk-NZKBW4YB.js.map → chunk-CFZUKCC3.js.map} +0 -0
  1228. /package/dist/{chunk-VDRSZK4P.js.map → chunk-CVHUZFHA.js.map} +0 -0
  1229. /package/dist/{chunk-SSTL3A7Z.js.map → chunk-EHS3QWHJ.js.map} +0 -0
  1230. /package/dist/{chunk-SZNGQ2GF.js.map → chunk-ERMKQMMJ.js.map} +0 -0
  1231. /package/dist/{chunk-RJZS4XDJ.js.map → chunk-EZMF6W4M.js.map} +0 -0
  1232. /package/dist/{chunk-7KHTJQGV.js.map → chunk-FO2JX473.js.map} +0 -0
  1233. /package/dist/{chunk-RITUSBYO.js.map → chunk-FUFMB3MS.js.map} +0 -0
  1234. /package/dist/{chunk-AV7ALENU.js.map → chunk-GZWBHJ4Y.js.map} +0 -0
  1235. /package/dist/{chunk-ZA7OQLDJ.js.map → chunk-HIAXIRPX.js.map} +0 -0
  1236. /package/dist/{chunk-VDTOAZ6W.js.map → chunk-HLIZO3FD.js.map} +0 -0
  1237. /package/dist/{chunk-BAXDNVT2.js.map → chunk-HS56YCCN.js.map} +0 -0
  1238. /package/dist/{chunk-3S274625.js.map → chunk-HVJ25XVM.js.map} +0 -0
  1239. /package/dist/{chunk-TD4SO6TR.js.map → chunk-IL36BNFB.js.map} +0 -0
  1240. /package/dist/{chunk-7QGFO35A.js.map → chunk-IMHJU7FX.js.map} +0 -0
  1241. /package/dist/{chunk-VNU2EYD4.js.map → chunk-J5JYBRUE.js.map} +0 -0
  1242. /package/dist/{chunk-KNY4DLVF.js.map → chunk-J6Q6RPKY.js.map} +0 -0
  1243. /package/dist/{chunk-A3DKSAEL.js.map → chunk-JASI6RR6.js.map} +0 -0
  1244. /package/dist/{chunk-DJE7UXYT.js.map → chunk-JTXOP6YW.js.map} +0 -0
  1245. /package/dist/{chunk-I24YT2KG.js.map → chunk-JWBJFF2K.js.map} +0 -0
  1246. /package/dist/{chunk-5YKNG6NN.js.map → chunk-K76OKYM7.js.map} +0 -0
  1247. /package/dist/{chunk-2VIZ4UUZ.js.map → chunk-KBSWQKOT.js.map} +0 -0
  1248. /package/dist/{chunk-EJ4QCMM6.js.map → chunk-KS7VB275.js.map} +0 -0
  1249. /package/dist/{chunk-F2OCUTMQ.js.map → chunk-KW5WVJTH.js.map} +0 -0
  1250. /package/dist/{chunk-QE2E4EYJ.js.map → chunk-KZRJLBQO.js.map} +0 -0
  1251. /package/dist/{chunk-TQNDAOMB.js.map → chunk-L3FWLIAU.js.map} +0 -0
  1252. /package/dist/{chunk-FKYPAGKK.js.map → chunk-L6GYTD3A.js.map} +0 -0
  1253. /package/dist/{chunk-UFKO626N.js.map → chunk-MITWP546.js.map} +0 -0
  1254. /package/dist/{chunk-4Z5BOHCH.js.map → chunk-MRQKDVDR.js.map} +0 -0
  1255. /package/dist/{chunk-X5QWQNAX.js.map → chunk-NBAJACSF.js.map} +0 -0
  1256. /package/dist/{chunk-MMGTJBM6.js.map → chunk-NBWZ6YFU.js.map} +0 -0
  1257. /package/dist/{chunk-3SNCMEJB.js.map → chunk-NWML6X6Y.js.map} +0 -0
  1258. /package/dist/{chunk-FUGQSIYG.js.map → chunk-NX5U6BXW.js.map} +0 -0
  1259. /package/dist/{chunk-Z4S5BCVZ.js.map → chunk-PEY4YGW3.js.map} +0 -0
  1260. /package/dist/{chunk-BDYLILMW.js.map → chunk-PGRDGQ23.js.map} +0 -0
  1261. /package/dist/{chunk-U6RONIJC.js.map → chunk-Q6GYSW47.js.map} +0 -0
  1262. /package/dist/{chunk-KXCKTEJ6.js.map → chunk-QDJRLPT5.js.map} +0 -0
  1263. /package/dist/{chunk-FKG476GH.js.map → chunk-QM7OZC3R.js.map} +0 -0
  1264. /package/dist/{chunk-HPLHAHG5.js.map → chunk-QO46CYKH.js.map} +0 -0
  1265. /package/dist/{chunk-YV7PKHFB.js.map → chunk-QR44DQTC.js.map} +0 -0
  1266. /package/dist/{chunk-EONSZAZB.js.map → chunk-QVRVSFIQ.js.map} +0 -0
  1267. /package/dist/{chunk-CBXIUKGG.js.map → chunk-RAUZWRJC.js.map} +0 -0
  1268. /package/dist/{chunk-LBRO4MTL.js.map → chunk-RF73OV6K.js.map} +0 -0
  1269. /package/dist/{chunk-EFWXYUSK.js.map → chunk-RKP76SGL.js.map} +0 -0
  1270. /package/dist/{chunk-IBTSIPYA.js.map → chunk-S6VQMNPI.js.map} +0 -0
  1271. /package/dist/{chunk-OEZYSL3U.js.map → chunk-SGUUPOPY.js.map} +0 -0
  1272. /package/dist/{chunk-S4VLLGTW.js.map → chunk-SJJHM57A.js.map} +0 -0
  1273. /package/dist/{chunk-UZ4RTOFG.js.map → chunk-T7JGOFVX.js.map} +0 -0
  1274. /package/dist/{chunk-BVF2P65L.js.map → chunk-TPQOIWSU.js.map} +0 -0
  1275. /package/dist/{chunk-BRLFQ4VX.js.map → chunk-U3LW43UG.js.map} +0 -0
  1276. /package/dist/{chunk-U7YR5CZL.js.map → chunk-UAKNLPIU.js.map} +0 -0
  1277. /package/dist/{chunk-QRLTVJ6F.js.map → chunk-VE4BTRLV.js.map} +0 -0
  1278. /package/dist/{chunk-OL7JS4NG.js.map → chunk-VR6BCP3U.js.map} +0 -0
  1279. /package/dist/{chunk-Q5QHNTHA.js.map → chunk-VSVAXKKS.js.map} +0 -0
  1280. /package/dist/{chunk-Y4OYFJP7.js.map → chunk-VWUGI7LE.js.map} +0 -0
  1281. /package/dist/{chunk-WHWSLDNR.js.map → chunk-W5IS6CMZ.js.map} +0 -0
  1282. /package/dist/{chunk-B7GF34FU.js.map → chunk-WAMT3TUD.js.map} +0 -0
  1283. /package/dist/{chunk-2YKXDFYX.js.map → chunk-WN6WHZRC.js.map} +0 -0
  1284. /package/dist/{chunk-MOFMOYUA.js.map → chunk-WO2SGESS.js.map} +0 -0
  1285. /package/dist/{chunk-FALJQCWL.js.map → chunk-WU6ULBSY.js.map} +0 -0
  1286. /package/dist/{chunk-57KKVDDR.js.map → chunk-XOHXG5TG.js.map} +0 -0
  1287. /package/dist/{chunk-R25JC3BD.js.map → chunk-XPNCOUXB.js.map} +0 -0
  1288. /package/dist/{chunk-KKSHEPBY.js.map → chunk-XS7FMDCX.js.map} +0 -0
  1289. /package/dist/{chunk-6UNOK7WV.js.map → chunk-XVMRO6W5.js.map} +0 -0
  1290. /package/dist/{chunk-GZ4A2VYW.js.map → chunk-Y4UQHVTM.js.map} +0 -0
  1291. /package/dist/{chunk-5GQCN2QZ.js.map → chunk-YGCRKABE.js.map} +0 -0
  1292. /package/dist/{chunk-FCM6VPFP.js.map → chunk-YJKAVF3E.js.map} +0 -0
  1293. /package/dist/{chunk-ACDLKTUP.js.map → chunk-ZFINQBE7.js.map} +0 -0
  1294. /package/dist/{chunk-RVTXDQYC.js.map → chunk-ZJMOYNZF.js.map} +0 -0
  1295. /package/dist/{chunk-NA7PXVCW.js.map → chunk-ZZCJNSZ6.js.map} +0 -0
  1296. /package/dist/{claim-TSFPWTQY.js.map → claim-WJ5TLA74.js.map} +0 -0
  1297. /package/dist/{client-PFQ3SLQ4.js.map → client-PVBPZ7PY.js.map} +0 -0
  1298. /package/dist/{code-OF7NV2EG.js.map → code-CSXOLKOP.js.map} +0 -0
  1299. /package/dist/{companies-P7FZNJQV.js.map → companies-3QI5C5Y6.js.map} +0 -0
  1300. /package/dist/{complete-SYDIHMD5.js.map → complete-ASGIH43P.js.map} +0 -0
  1301. /package/dist/{config-YVNIYO5K.js.map → config-MNPHHWYU.js.map} +0 -0
  1302. /package/dist/{connect-COS6G45S.js.map → connect-F2PU33RV.js.map} +0 -0
  1303. /package/dist/{content-JDTHVSPS.js.map → content-UYBZ5S7Z.js.map} +0 -0
  1304. /package/dist/{conversation-UJOWMJRH.js.map → conversation-BYO57I25.js.map} +0 -0
  1305. /package/dist/{conversion-report-7JJ5L6WH.js.map → conversion-report-UCP43YAG.js.map} +0 -0
  1306. /package/dist/{conversion-writes-GIGAZT4T.js.map → conversion-writes-6ZIY7DHZ.js.map} +0 -0
  1307. /package/dist/{conversions-CIJZLGII.js.map → conversions-BDSIXF2V.js.map} +0 -0
  1308. /package/dist/{conversions-ONOIEILU.js.map → conversions-JBZD2FZN.js.map} +0 -0
  1309. /package/dist/{countries-F5ISQB3M.js.map → countries-N2PAVVCQ.js.map} +0 -0
  1310. /package/dist/{create-NOT3HGP2.js.map → create-EDDKOKK6.js.map} +0 -0
  1311. /package/dist/{create-DPQRYQXK.js.map → create-UXH5MYEO.js.map} +0 -0
  1312. /package/dist/{create-JD76Z4A4.js.map → create-YEHXJBFR.js.map} +0 -0
  1313. /package/dist/{creatives-LRSELC7Y.js.map → creatives-3TRWYOYU.js.map} +0 -0
  1314. /package/dist/{creatives-SEQHJD2M.js.map → creatives-KYSRCR5C.js.map} +0 -0
  1315. /package/dist/{credentials-LHPTUVVA.js.map → credentials-Z4KS5QU6.js.map} +0 -0
  1316. /package/dist/{critique-Q7GSZ5RP.js.map → critique-YZWJ3ABO.js.map} +0 -0
  1317. /package/dist/{crm-J7EU32PL.js.map → crm-CDAVHXUS.js.map} +0 -0
  1318. /package/dist/{crm-MC444ZVU.js.map → crm-TMEDDF67.js.map} +0 -0
  1319. /package/dist/{crop-PWHHLMDF.js.map → crop-4WS3WNXI.js.map} +0 -0
  1320. /package/dist/{currency-TAEJVMVK.js.map → currency-K4PRDLDG.js.map} +0 -0
  1321. /package/dist/{customers-LMSX33FO.js.map → customers-R6HXVXAS.js.map} +0 -0
  1322. /package/dist/{decide-E4AREOPP.js.map → decide-IWUWMLIG.js.map} +0 -0
  1323. /package/dist/{delete-K7A3AUPH.js.map → delete-DECECVGG.js.map} +0 -0
  1324. /package/dist/{delete-BQBVATMF.js.map → delete-F6AEBS4G.js.map} +0 -0
  1325. /package/dist/{delete-THR72JIR.js.map → delete-H2L2EGKF.js.map} +0 -0
  1326. /package/dist/{delete-3US2W4F6.js.map → delete-R5IY7VHP.js.map} +0 -0
  1327. /package/dist/{delete-VV2ICIHF.js.map → delete-UCL6SL5B.js.map} +0 -0
  1328. /package/dist/{delete-XBIME2H4.js.map → delete-Z4LRS6FG.js.map} +0 -0
  1329. /package/dist/{demographics-7GWUXXS6.js.map → demographics-JFUKFKK7.js.map} +0 -0
  1330. /package/dist/{describe-HOMUJ4T4.js.map → describe-44KTJQ6Z.js.map} +0 -0
  1331. /package/dist/{describe-JVHEKSX3.js.map → describe-V7LY3RUT.js.map} +0 -0
  1332. /package/dist/{dimensions-K2WK7QBJ.js.map → dimensions-FZAJYJJ4.js.map} +0 -0
  1333. /package/dist/{discard-3CLZ4DPD.js.map → discard-W4B5GF4S.js.map} +0 -0
  1334. /package/dist/{discover-SII47P73.js.map → discover-E7OE4WFV.js.map} +0 -0
  1335. /package/dist/{discover-5Z253HXF.js.map → discover-OYVXV25X.js.map} +0 -0
  1336. /package/dist/{domain-ZS74BSE6.js.map → domain-5WXROX3N.js.map} +0 -0
  1337. /package/dist/{download-DHB3EIMS.js.map → download-JNNN7GSF.js.map} +0 -0
  1338. /package/dist/{draft-7DWRFCXW.js.map → draft-5I6DUWGA.js.map} +0 -0
  1339. /package/dist/{draft-R56PIXCV.js.map → draft-KYARHXHR.js.map} +0 -0
  1340. /package/dist/{draft-J3B33RAZ.js.map → draft-RCD6ETPQ.js.map} +0 -0
  1341. /package/dist/{draft-MZLWVX3D.js.map → draft-SET2FGU3.js.map} +0 -0
  1342. /package/dist/{draft-DHDDPACQ.js.map → draft-US7FTGVC.js.map} +0 -0
  1343. /package/dist/{draft-E47E762T.js.map → draft-XK4QG5HQ.js.map} +0 -0
  1344. /package/dist/{env-PKUYZY5O.js.map → env-3ZELNMXQ.js.map} +0 -0
  1345. /package/dist/{experiment-7RJ5X2LL.js.map → experiment-IKWEIJKD.js.map} +0 -0
  1346. /package/dist/{experiments-NOSJJMYI.js.map → experiments-LEAZ4BNF.js.map} +0 -0
  1347. /package/dist/{export-AGDNQZKC.js.map → export-HMF33UYY.js.map} +0 -0
  1348. /package/dist/{extract-4MIPIBVC.js.map → extract-PK3MHV6C.js.map} +0 -0
  1349. /package/dist/{facets-E6SHYUAI.js.map → facets-WSFLCFYN.js.map} +0 -0
  1350. /package/dist/{favorites-XHY64GCM.js.map → favorites-Z7MKEDY3.js.map} +0 -0
  1351. /package/dist/{feed-724KWSNI.js.map → feed-6VZ3XWKC.js.map} +0 -0
  1352. /package/dist/{fetch-HMUGSRE4.js.map → fetch-3DI7EKDS.js.map} +0 -0
  1353. /package/dist/{fetch-RYS6DEJH.js.map → fetch-LGKTI6A6.js.map} +0 -0
  1354. /package/dist/{find-2EPXK5RF.js.map → find-PAWW75PW.js.map} +0 -0
  1355. /package/dist/{fit-W7UNFZT5.js.map → fit-FROY76YE.js.map} +0 -0
  1356. /package/dist/{flows-SO5J3M3X.js.map → flows-M5DQAKCJ.js.map} +0 -0
  1357. /package/dist/{follow-LRGW6OHI.js.map → follow-PNWO2V4L.js.map} +0 -0
  1358. /package/dist/{follow-competitors-UUN7EKFR.js.map → follow-competitors-BFUGW6PC.js.map} +0 -0
  1359. /package/dist/{following-ISRRC2QL.js.map → following-LKNHRKVC.js.map} +0 -0
  1360. /package/dist/{fonts-N42UYWTX.js.map → fonts-G3UCJ6UI.js.map} +0 -0
  1361. /package/dist/{forecast-24LGJVLC.js.map → forecast-VFGNPTYV.js.map} +0 -0
  1362. /package/dist/{funding-KMXQ6CXM.js.map → funding-O5ZRZN7D.js.map} +0 -0
  1363. /package/dist/{ga4-6EIQC2TG.js.map → ga4-SSRVUS7H.js.map} +0 -0
  1364. /package/dist/{generate-Y76WU7M7.js.map → generate-T3B6GOO6.js.map} +0 -0
  1365. /package/dist/{get-LNLY2RWU.js.map → get-2BJKONHE.js.map} +0 -0
  1366. /package/dist/{get-KAGO4EC5.js.map → get-6MHTPGHS.js.map} +0 -0
  1367. /package/dist/{get-VFRJAC2I.js.map → get-DDBTEMJL.js.map} +0 -0
  1368. /package/dist/{get-R5JAFHTH.js.map → get-G7JYP5E5.js.map} +0 -0
  1369. /package/dist/{get-JPOUTSU5.js.map → get-IIIYTJY4.js.map} +0 -0
  1370. /package/dist/{get-GDI2MOAU.js.map → get-JE3VGJPS.js.map} +0 -0
  1371. /package/dist/{get-PZX27LQY.js.map → get-KL7VTM6W.js.map} +0 -0
  1372. /package/dist/{get-23L2AVTV.js.map → get-ZNCET7LN.js.map} +0 -0
  1373. /package/dist/{gif-DVNNWOYA.js.map → gif-HZC5PIGN.js.map} +0 -0
  1374. /package/dist/{google-O5OI6QFU.js.map → google-2JAG2MZJ.js.map} +0 -0
  1375. /package/dist/{google-ads-6X4BHGUR.js.map → google-ads-Q2WVOJU2.js.map} +0 -0
  1376. /package/dist/{group-HNRZJMZX.js.map → group-5KTGIHXJ.js.map} +0 -0
  1377. /package/dist/{group-QPQUCV6E.js.map → group-6U4GJLHB.js.map} +0 -0
  1378. /package/dist/{gsc-BM3T2GDL.js.map → gsc-76PWFEHH.js.map} +0 -0
  1379. /package/dist/{history-DGHMJ2XF.js.map → history-BVMIJLIL.js.map} +0 -0
  1380. /package/dist/{history-LGOWYLBE.js.map → history-W22KYHZV.js.map} +0 -0
  1381. /package/dist/{hubspot-LJB3ETUT.js.map → hubspot-RF4FMSX2.js.map} +0 -0
  1382. /package/dist/{icon-B7DG53S5.js.map → icon-ENQRKK4O.js.map} +0 -0
  1383. /package/dist/{ideas-DYN2DMFN.js.map → ideas-Y7HFEXFE.js.map} +0 -0
  1384. /package/dist/{images-EQCUXEHF.js.map → images-2PKU5XDS.js.map} +0 -0
  1385. /package/dist/{improve-56FHWRWN.js.map → improve-L43S5YWU.js.map} +0 -0
  1386. /package/dist/{ingest-T7ZS2R4U.js.map → ingest-JHJOFWIU.js.map} +0 -0
  1387. /package/dist/{ingest-B46AY3QU.js.map → ingest-JU67Z5D3.js.map} +0 -0
  1388. /package/dist/{insights-EU45J56U.js.map → insights-NOOVPFK3.js.map} +0 -0
  1389. /package/dist/{inspect-BSNGAT2S.js.map → inspect-53NDMKC5.js.map} +0 -0
  1390. /package/dist/{inspiration-TCCKM4R7.js.map → inspiration-6NICXN3P.js.map} +0 -0
  1391. /package/dist/{intent-FUGWRUSW.js.map → intent-MLZCTLEX.js.map} +0 -0
  1392. /package/dist/{job-Z34BGXVD.js.map → job-EXB5MGPT.js.map} +0 -0
  1393. /package/dist/{job-create-HNMMERM5.js.map → job-create-EPYGKZPB.js.map} +0 -0
  1394. /package/dist/{job-status-PDXGKBDG.js.map → job-status-E7YXP2PT.js.map} +0 -0
  1395. /package/dist/{keep-WI7GMNYE.js.map → keep-ELL3JFEC.js.map} +0 -0
  1396. /package/dist/{keyword-gap-DXTKZLV2.js.map → keyword-gap-WD5TDZFR.js.map} +0 -0
  1397. /package/dist/{keyword-metrics-KNTIN4ZK.js.map → keyword-metrics-QMQCZKMX.js.map} +0 -0
  1398. /package/dist/{keywords-for-site-S4MXGXWR.js.map → keywords-for-site-WL54QH6G.js.map} +0 -0
  1399. /package/dist/{landing-WVPA7NBR.js.map → landing-ZHCVMCYK.js.map} +0 -0
  1400. /package/dist/{landings-W2ZW3WJK.js.map → landings-YVXUVNPA.js.map} +0 -0
  1401. /package/dist/{languages-XRTTEJ5P.js.map → languages-F4FX2VC2.js.map} +0 -0
  1402. /package/dist/{languages-73GOUAHX.js.map → languages-YIYCOFLI.js.map} +0 -0
  1403. /package/dist/{launches-4VFF5MNM.js.map → launches-G5AYQIEO.js.map} +0 -0
  1404. /package/dist/{layerize-IUDRVV3C.js.map → layerize-EEHJX2QP.js.map} +0 -0
  1405. /package/dist/{leads-EINV5FK3.js.map → leads-C26QFD46.js.map} +0 -0
  1406. /package/dist/{learn-7Z2VR6MS.js.map → learn-YRHVTBEW.js.map} +0 -0
  1407. /package/dist/{library-2WYYM6ED.js.map → library-GLXT2ZZI.js.map} +0 -0
  1408. /package/dist/{lighthouse-ZZUYZALE.js.map → lighthouse-DUAYYKVA.js.map} +0 -0
  1409. /package/dist/{line-item-writes-Z3TIB5KZ.js.map → line-item-writes-HSXCO3UM.js.map} +0 -0
  1410. /package/dist/{line-items-OEWYOPFP.js.map → line-items-LU7VFYJ3.js.map} +0 -0
  1411. /package/dist/{link-KYHUIPJE.js.map → link-N4F54R2W.js.map} +0 -0
  1412. /package/dist/{linkedin-JVB4HXJC.js.map → linkedin-F43WCEFC.js.map} +0 -0
  1413. /package/dist/{list-G3E4NIKR.js.map → list-CMCHPFU4.js.map} +0 -0
  1414. /package/dist/{list-QCEOM2BJ.js.map → list-EXKTPY65.js.map} +0 -0
  1415. /package/dist/{list-BWE7FL7W.js.map → list-FGWN66JV.js.map} +0 -0
  1416. /package/dist/{list-Z6NMNK3T.js.map → list-H4YHY65J.js.map} +0 -0
  1417. /package/dist/{list-EORTO73V.js.map → list-IIUY5WTV.js.map} +0 -0
  1418. /package/dist/{list-QQVLURKH.js.map → list-MNFGWVNZ.js.map} +0 -0
  1419. /package/dist/{list-QUFCV73J.js.map → list-QUQ5TUDK.js.map} +0 -0
  1420. /package/dist/{list-WRBWQASJ.js.map → list-TY5WZFFE.js.map} +0 -0
  1421. /package/dist/{list-QWGKRUSM.js.map → list-YWEP74CM.js.map} +0 -0
  1422. /package/dist/{locations-PCZPKH47.js.map → locations-N3USZ27M.js.map} +0 -0
  1423. /package/dist/{locations-TGJH3URF.js.map → locations-S67HBZA7.js.map} +0 -0
  1424. /package/dist/{log-RUMKYPYK.js.map → log-CGQRPLGU.js.map} +0 -0
  1425. /package/dist/{logo-QTSBKP2J.js.map → logo-IXIQBWRL.js.map} +0 -0
  1426. /package/dist/{lookup-J54KJAMC.js.map → lookup-NKLRB3NS.js.map} +0 -0
  1427. /package/dist/{map-QZHIJFQT.js.map → map-GW7NDNYC.js.map} +0 -0
  1428. /package/dist/{mcp-ZH2XDV5P.js.map → mcp-DUTXWJFC.js.map} +0 -0
  1429. /package/dist/{media-GXZ5JI5U.js.map → media-2JCAFWCU.js.map} +0 -0
  1430. /package/dist/{media-NRMVRXLD.js.map → media-NPMNY5MJ.js.map} +0 -0
  1431. /package/dist/{media-sources-SQ2RPDBO.js.map → media-sources-J2LY7NLR.js.map} +0 -0
  1432. /package/dist/{members-4YX7JEZM.js.map → members-5YUHOWVS.js.map} +0 -0
  1433. /package/dist/{meme-AX5INYIP.js.map → meme-G2HE54IY.js.map} +0 -0
  1434. /package/dist/{meta-62YDR5B2.js.map → meta-ACKABP2H.js.map} +0 -0
  1435. /package/dist/{metrics-PYPCW7FJ.js.map → metrics-ZNQDSBVO.js.map} +0 -0
  1436. /package/dist/{models-IAGO5GIH.js.map → models-QAR6ZOM3.js.map} +0 -0
  1437. /package/dist/{normalize-ABIWLRIT.js.map → normalize-QP5Z5EYO.js.map} +0 -0
  1438. /package/dist/{normalize-TW2OZKJX.js.map → normalize-X6GW75LV.js.map} +0 -0
  1439. /package/dist/{options-SVCQVTNE.js.map → options-743FW5PT.js.map} +0 -0
  1440. /package/dist/{organization-FNKDC742.js.map → organization-OW6WPRA3.js.map} +0 -0
  1441. /package/dist/{output-573CQXXP.js.map → output-GAAXGXQS.js.map} +0 -0
  1442. /package/dist/{page-QQD5IFO6.js.map → page-ZA6VOW7F.js.map} +0 -0
  1443. /package/dist/{performance-HTU5FR2K.js.map → performance-F7OHUDYL.js.map} +0 -0
  1444. /package/dist/{pinterest-H6V4KNL2.js.map → pinterest-SH7Q3BGY.js.map} +0 -0
  1445. /package/dist/{pixels-R4MOLWAR.js.map → pixels-YVOTALZW.js.map} +0 -0
  1446. /package/dist/{plan-W2K45F7K.js.map → plan-SF3AJ3U3.js.map} +0 -0
  1447. /package/dist/{posts-3DAPTBH2.js.map → posts-JMGQEPWZ.js.map} +0 -0
  1448. /package/dist/{profile-4QZXRUR6.js.map → profile-GE6L5LGA.js.map} +0 -0
  1449. /package/dist/{promoted-tweet-writes-DD3CJNWW.js.map → promoted-tweet-writes-T2ZN246D.js.map} +0 -0
  1450. /package/dist/{promoted-tweets-TTWN5OMW.js.map → promoted-tweets-EW3VXPZU.js.map} +0 -0
  1451. /package/dist/{properties-KUNLF5I2.js.map → properties-EJ6ANQZO.js.map} +0 -0
  1452. /package/dist/{publish-Z62KGDJ2.js.map → publish-PIUYQKOE.js.map} +0 -0
  1453. /package/dist/{query-XDHZMGLX.js.map → query-732XAQUN.js.map} +0 -0
  1454. /package/dist/{query-RODBIIWT.js.map → query-D7OVFIC4.js.map} +0 -0
  1455. /package/dist/{query-72E5HVAO.js.map → query-EKMXON7N.js.map} +0 -0
  1456. /package/dist/{questionnaire-GMU66CSP.js.map → questionnaire-RSAGT4BO.js.map} +0 -0
  1457. /package/dist/{read-X45BP6TW.js.map → read-JQ3OAR7D.js.map} +0 -0
  1458. /package/dist/{reddit-6C3PT5CT.js.map → reddit-33K3IIHG.js.map} +0 -0
  1459. /package/dist/{refresh-HCQXVFVR.js.map → refresh-JIJVT3SV.js.map} +0 -0
  1460. /package/dist/{refresh-ZCGH64OZ.js.map → refresh-Q5ZVBWQX.js.map} +0 -0
  1461. /package/dist/{release-FIHW2HCH.js.map → release-3MTLVI3Q.js.map} +0 -0
  1462. /package/dist/{relevant-pages-CTG72PBR.js.map → relevant-pages-HKF77GO5.js.map} +0 -0
  1463. /package/dist/{remove-CBR7NVMI.js.map → remove-3EIQM4ZN.js.map} +0 -0
  1464. /package/dist/{remove-PUZP5GWN.js.map → remove-T6UJSL5S.js.map} +0 -0
  1465. /package/dist/{reopen-EJGLRQWR.js.map → reopen-56LN4EDE.js.map} +0 -0
  1466. /package/dist/{research-L25D4WHQ.js.map → research-IU26Y65V.js.map} +0 -0
  1467. /package/dist/{research-YCMMQVK6.js.map → research-P5FLAJIZ.js.map} +0 -0
  1468. /package/dist/{reset-SRL6I6GP.js.map → reset-7L6UNBW6.js.map} +0 -0
  1469. /package/dist/{reset-HKKCWKZ7.js.map → reset-7T3QY4MY.js.map} +0 -0
  1470. /package/dist/{resolve-POMTTAFR.js.map → resolve-LZGMF3RI.js.map} +0 -0
  1471. /package/dist/{retry-RNGM3KKA.js.map → retry-CCQPI5MS.js.map} +0 -0
  1472. /package/dist/{retry-MEPTOAV2.js.map → retry-EJIMFCPU.js.map} +0 -0
  1473. /package/dist/{retry-failed-5EWFM364.js.map → retry-failed-FTS44UES.js.map} +0 -0
  1474. /package/dist/{revenue-X4KPTSAM.js.map → revenue-3WIZFO4L.js.map} +0 -0
  1475. /package/dist/{rules-VK7YA23Q.js.map → rules-TMLFDY6X.js.map} +0 -0
  1476. /package/dist/{rules-add-VG7AT6EG.js.map → rules-add-O766M6I5.js.map} +0 -0
  1477. /package/dist/{run-DIDQSZU7.js.map → run-Y7VNP5EE.js.map} +0 -0
  1478. /package/dist/{run-SR7DJ7M5.js.map → run-ZXGD5GAY.js.map} +0 -0
  1479. /package/dist/{schedule-JO66N7XO.js.map → schedule-AJDMS4BD.js.map} +0 -0
  1480. /package/dist/{schedule-JZBIX6LH.js.map → schedule-NCCNWKDY.js.map} +0 -0
  1481. /package/dist/{scheduled-agents-N63EZNY6.js.map → scheduled-agents-PCS3VL4R.js.map} +0 -0
  1482. /package/dist/{schema-C6SGBNA6.js.map → schema-KIA5RJDM.js.map} +0 -0
  1483. /package/dist/{schema-B2XANMEY.js.map → schema-ZUOO5D6X.js.map} +0 -0
  1484. /package/dist/{scrape-XRTWSSPE.js.map → scrape-MWW6FBUC.js.map} +0 -0
  1485. /package/dist/{screenshot-3WETJ564.js.map → screenshot-6K7AEO4C.js.map} +0 -0
  1486. /package/dist/{search-IWNAZ52P.js.map → search-2VJC4CVT.js.map} +0 -0
  1487. /package/dist/{search-6X7EVOSI.js.map → search-EUGQ45JM.js.map} +0 -0
  1488. /package/dist/{search-W5HZUJA2.js.map → search-L5CMOZA3.js.map} +0 -0
  1489. /package/dist/{search-7ZLOF2AY.js.map → search-NPL5TN7D.js.map} +0 -0
  1490. /package/dist/{search-HS7OHTFH.js.map → search-RZKZUUZC.js.map} +0 -0
  1491. /package/dist/{search-7GHS3OUZ.js.map → search-YLKXXAYA.js.map} +0 -0
  1492. /package/dist/{search-copy-ZJHRQCVH.js.map → search-copy-LC5EPYJG.js.map} +0 -0
  1493. /package/dist/{seeds-5TAEFW6H.js.map → seeds-JI34P4HA.js.map} +0 -0
  1494. /package/dist/{sends-JR3QZ2AL.js.map → sends-7WGK6K6C.js.map} +0 -0
  1495. /package/dist/{sequences-UP4ESMFI.js.map → sequences-IIEG46TU.js.map} +0 -0
  1496. /package/dist/{setup-links-ERBQSKAB.js.map → setup-links-VNEI42A5.js.map} +0 -0
  1497. /package/dist/{shared-YBCK75HB.js.map → shared-UNQ3OBEC.js.map} +0 -0
  1498. /package/dist/{site-PNVFJRYK.js.map → site-E4EUL77X.js.map} +0 -0
  1499. /package/dist/{sitemaps-BGR4QHHJ.js.map → sitemaps-R6462TYK.js.map} +0 -0
  1500. /package/dist/{sites-WOIMU334.js.map → sites-BS5SBTVM.js.map} +0 -0
  1501. /package/dist/{skills-OS4PUOGZ.js.map → skills-7BZQVAEY.js.map} +0 -0
  1502. /package/dist/{sources-HN3GCEDX.js.map → sources-6TCMSLQK.js.map} +0 -0
  1503. /package/dist/{sources-DMZJPLKC.js.map → sources-LO3YOOQO.js.map} +0 -0
  1504. /package/dist/{stats-CVF6AC7R.js.map → stats-TVQVRDQS.js.map} +0 -0
  1505. /package/dist/{status-SF7DTPCJ.js.map → status-J4K5HOKZ.js.map} +0 -0
  1506. /package/dist/{sticker-KFKL5W7F.js.map → sticker-IQTULOZN.js.map} +0 -0
  1507. /package/dist/{stock-4LPQ6SM7.js.map → stock-25YD32HR.js.map} +0 -0
  1508. /package/dist/{studio-NZ6WQ7OE.js.map → studio-2M2XBR7E.js.map} +0 -0
  1509. /package/dist/{suggest-WMMEQCUH.js.map → suggest-6PNUDXOE.js.map} +0 -0
  1510. /package/dist/{sync-F7VNZLWY.js.map → sync-3HWGVAQV.js.map} +0 -0
  1511. /package/dist/{sync-HVNDPBOD.js.map → sync-4IBJWSBV.js.map} +0 -0
  1512. /package/dist/{sync-E7P2PWXG.js.map → sync-GHPIPBO6.js.map} +0 -0
  1513. /package/dist/{sync-definition-CKEUYKWN.js.map → sync-definition-HEASUFK6.js.map} +0 -0
  1514. /package/dist/{tag-KTQ2FV5C.js.map → tag-76TTKDKF.js.map} +0 -0
  1515. /package/dist/{tag-manager-FLXXLNKP.js.map → tag-manager-4AJIUX7V.js.map} +0 -0
  1516. /package/dist/{tags-EUOOSAKN.js.map → tags-2XK6ZQI2.js.map} +0 -0
  1517. /package/dist/{tags-TKXJGTR3.js.map → tags-6LW4FTZ3.js.map} +0 -0
  1518. /package/dist/{tags-XAB4HWGW.js.map → tags-QEAH2IRF.js.map} +0 -0
  1519. /package/dist/{tags-VWIPDCUA.js.map → tags-XTY5VXDS.js.map} +0 -0
  1520. /package/dist/{tags-KOMAP2G5.js.map → tags-ZPBHZBLV.js.map} +0 -0
  1521. /package/dist/{targeting-constants-Y3FAQOFH.js.map → targeting-constants-ARGJ3QQV.js.map} +0 -0
  1522. /package/dist/{targeting-criteria-HE7K52WN.js.map → targeting-criteria-GMWARSTV.js.map} +0 -0
  1523. /package/dist/{targets-NA4XPDBF.js.map → targets-I2WFL6JZ.js.map} +0 -0
  1524. /package/dist/{testimonials-3Q5XM7JD.js.map → testimonials-DKFN34CI.js.map} +0 -0
  1525. /package/dist/{top-companies-TKO4QGPJ.js.map → top-companies-7C3QZ3Q4.js.map} +0 -0
  1526. /package/dist/{triggers-QX7VW7UO.js.map → triggers-I6BWR2BN.js.map} +0 -0
  1527. /package/dist/{tweets-XOINDJA7.js.map → tweets-SGNWR3H5.js.map} +0 -0
  1528. /package/dist/{unfollow-JSLPUZK5.js.map → unfollow-TMZ76BRA.js.map} +0 -0
  1529. /package/dist/{unlink-64SRPUNG.js.map → unlink-CD7WJQBU.js.map} +0 -0
  1530. /package/dist/{unstage-C2RAUVF6.js.map → unstage-ATF3XNAD.js.map} +0 -0
  1531. /package/dist/{unstage-5X2MOUMF.js.map → unstage-KP5VRZMN.js.map} +0 -0
  1532. /package/dist/{update-22ZBHURE.js.map → update-4EZRHJNR.js.map} +0 -0
  1533. /package/dist/{update-FB6X463M.js.map → update-5MWCI3DR.js.map} +0 -0
  1534. /package/dist/{update-DOKS7ATM.js.map → update-7XYPACZR.js.map} +0 -0
  1535. /package/dist/{update-2LTPSGWT.js.map → update-FLNXNPQA.js.map} +0 -0
  1536. /package/dist/{update-QIZ7XFAM.js.map → update-K75QQ2GN.js.map} +0 -0
  1537. /package/dist/{upload-ZO2B6UW5.js.map → upload-NSSD63IM.js.map} +0 -0
  1538. /package/dist/{upload-XJ7TUVIK.js.map → upload-O4IINV5I.js.map} +0 -0
  1539. /package/dist/{upscale-6WADWURL.js.map → upscale-UXOBILTP.js.map} +0 -0
  1540. /package/dist/{url-options-VNX5KYUQ.js.map → url-options-UK244DY7.js.map} +0 -0
  1541. /package/dist/{url-params-KLQOLNPS.js.map → url-params-2SXL2PX4.js.map} +0 -0
  1542. /package/dist/{use-NVXOEN4O.js.map → use-F5TRLSNK.js.map} +0 -0
  1543. /package/dist/{variant-BN72AP34.js.map → variant-KLBKFKHB.js.map} +0 -0
  1544. /package/dist/{videos-WAPUPJVT.js.map → videos-TBYEUE35.js.map} +0 -0
  1545. /package/dist/{view-Z5JEMRNU.js.map → view-R64LLT5L.js.map} +0 -0
  1546. /package/dist/{viewer-check-GHQA3UY2.js.map → viewer-check-KBF5PCQV.js.map} +0 -0
  1547. /package/dist/{web-6JMWERTT.js.map → web-TMQHTWRB.js.map} +0 -0
  1548. /package/dist/{winners-2FZXH22W.js.map → winners-VN2EHFDV.js.map} +0 -0
  1549. /package/dist/{winning-ads-XCVUAIOU.js.map → winning-ads-YYBQZJRL.js.map} +0 -0
  1550. /package/dist/{write-commands-3CX4M6CB.js.map → write-commands-AGKTMDAR.js.map} +0 -0
  1551. /package/dist/{write-commands-N74CDMQM.js.map → write-commands-EZH66GPE.js.map} +0 -0
  1552. /package/dist/{write-commands-YPT3ZLUW.js.map → write-commands-G6423E2M.js.map} +0 -0
  1553. /package/dist/{x-SI4KYDEY.js.map → x-JGV5D7AV.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../api/src/ads-meta/adStudies.ts","../../api/src/ads-meta/limits.ts"],"sourcesContent":["/**\n * Meta A/B tests (ad studies, `POST /{business_id}/ad_studies`) — the staged contract.\n *\n * A split test divides one audience into non-overlapping groups and shows each\n * group one version — an ad set or a campaign — so the versions are compared\n * on people who saw only that one. Meta owns the split, the measurement and the\n * verdict; Baker stages the test and creates it at Publish.\n *\n * The payload keeps Meta's own shape — `cells[{name, treatment_percentage,\n * adsets|campaigns}]`, unix-second times, `confidence_level` as 0.8/0.9/0.95 —\n * so a test read with `baker ads meta studies --study-id` reads back the way it\n * was staged.\n *\n * Meta's API takes far more than Ads Manager does (live, v25.0, 2026-10-14: a\n * one-cell test, cells summing to 80, a 5% cell, a one-hour or 100-day test,\n * the same ad set in both cells, and an ad-set cell beside a campaign cell were\n * all created). Each of those is a test that cannot answer its question, so the\n * refusals below are Ads Manager's rules for an A/B test, not the API's, and\n * each one says why. The API's own refusals are marked \"live\".\n */\nimport { z } from \"zod\";\nimport { NUMERIC_ID_REGEX, TEMP_REF_REGEX } from \"./limits\";\n\nconst DAY_SECONDS = 86_400;\n\nconst entityRefSchema = z.string().refine((value) => NUMERIC_ID_REGEX.test(value) || TEMP_REF_REGEX.test(value), {\n message: \"expected a numeric Meta id or a meta_temp_* reference from this chat\",\n});\n\nexport const adStudyCellSchema = z.strictObject({\n name: z.string().min(1).max(100),\n /** Share of the audience that sees this version, in percent. */\n treatment_percentage: z.number().positive().max(100),\n /** A lift study: the share of the audience held out from the ads, so what they do is the baseline. */\n control_percentage: z.number().positive().max(100).optional(),\n adsets: z.array(entityRefSchema).min(1).max(100).optional(),\n campaigns: z.array(entityRefSchema).min(1).max(100).optional(),\n /** A creative test: the one ad this version runs. */\n ads: z.array(entityRefSchema).min(1).max(100).optional(),\n});\nexport type AdStudyCell = z.infer<typeof adStudyCellSchema>;\n\n/** Live: Meta refuses any other value (\"Confidence interval value must be 0.8, 0.9, or 0.95\"). */\nexport const AD_STUDY_CONFIDENCE_LEVELS = [0.8, 0.9, 0.95] as const;\nconst confidenceLevelSchema = z\n .number()\n .refine((value) => (AD_STUDY_CONFIDENCE_LEVELS as readonly number[]).includes(value), {\n message: \"confidence_level must be 0.8, 0.9 or 0.95 (80%, 90% or 95%)\",\n });\n\nconst eventSourceSchema = z.strictObject({\n id: z.string().regex(NUMERIC_ID_REGEX),\n /** Pixel or app events counted, e.g. Lead, Purchase. Meta stores pixel events by their standard name. */\n event_names: z.array(z.string().min(1)).min(1).optional(),\n});\n\n/** What a split test is decided on. Meta's other objective types (SALES, BRAND, …) belong to lift studies. */\nexport const AD_STUDY_OBJECTIVE_TYPES = [\n \"CONVERSIONS\",\n \"SALES\",\n \"NONSALES\",\n \"BRAND\",\n \"BRANDLIFT\",\n \"MAE\",\n \"MAI\",\n] as const;\n\nexport const adStudyObjectiveSchema = z.strictObject({\n name: z.string().min(1).max(100),\n /** A split test is decided on CONVERSIONS; a lift study may measure sales, brand, app events (Meta's types). */\n type: z.enum(AD_STUDY_OBJECTIVE_TYPES).default(\"CONVERSIONS\"),\n is_primary: z.boolean().optional(),\n adspixels: z.array(eventSourceSchema).min(1).optional(),\n customconversions: z.array(eventSourceSchema).min(1).optional(),\n applications: z.array(eventSourceSchema).min(1).optional(),\n offsite_datasets: z.array(eventSourceSchema).min(1).optional(),\n});\nexport type AdStudyObjective = z.infer<typeof adStudyObjectiveSchema>;\n\nconst OBJECTIVE_SOURCES = [\"adspixels\", \"customconversions\", \"applications\", \"offsite_datasets\"] as const;\n\nexport interface AdStudyIssue {\n path: PropertyKey[];\n message: string;\n}\n\n/** Ads Manager's limits; Meta's API documents up to 150 cells of up to 100 objects. */\nexport const AD_STUDY_MIN_CELLS = 2;\nexport const AD_STUDY_MAX_CELLS = 150;\n\n/** The ad sets, campaigns or ads a version runs. */\nexport function cellObjects(cell: Pick<AdStudyCell, \"adsets\" | \"campaigns\" | \"ads\">): string[] {\n return [...(cell.adsets ?? []), ...(cell.campaigns ?? []), ...(cell.ads ?? [])];\n}\n\nexport type AdStudyLevel = \"adsets\" | \"campaigns\" | \"ads\";\n\n/** What the versions are — ad sets, campaigns or ads — or undefined while they disagree. */\nexport function adStudyLevel(\n cells: readonly Pick<AdStudyCell, \"adsets\" | \"campaigns\" | \"ads\">[],\n): AdStudyLevel | undefined {\n const levels = new Set(\n cells.flatMap((cell) =>\n [cell.adsets ? \"adsets\" : [], cell.campaigns ? \"campaigns\" : [], cell.ads ? \"ads\" : []].flat(),\n ),\n );\n return levels.size === 1 ? ([...levels][0] as AdStudyLevel) : undefined;\n}\n\nfunction levelIssues(cells: readonly AdStudyCell[]): AdStudyIssue[] {\n const issues: AdStudyIssue[] = [];\n cells.forEach((cell, index) => {\n if (cellObjects(cell).length === 0) {\n issues.push({\n path: [\"cells\", index],\n message: `version \"${cell.name}\" runs nothing — give it the ad sets (adsets) or campaigns (campaigns) it shows`,\n });\n }\n });\n if (cells.some((cell) => cell.ads)) {\n issues.push({\n path: [\"cells\"],\n message:\n 'an A/B test compares ad sets or campaigns — to compare single ads of one ad set, stage a creative test (type \"SPLIT_TEST_V2\", `--type creative`)',\n });\n }\n const named = cells.filter((cell) => cellObjects(cell).length > 0);\n if (named.length > 0 && adStudyLevel(named) === undefined) {\n issues.push({\n path: [\"cells\"],\n message:\n \"the versions must be all ad sets or all campaigns — comparing an ad set with a campaign compares two different things\",\n });\n }\n return issues;\n}\n\nfunction duplicateObjectIssues(cells: readonly AdStudyCell[]): AdStudyIssue[] {\n const seen = new Map<string, number>();\n const issues: AdStudyIssue[] = [];\n cells.forEach((cell, index) => {\n for (const id of cellObjects(cell)) {\n const first = seen.get(id);\n if (first !== undefined && first !== index) {\n issues.push({\n path: [\"cells\", index],\n message: `${id} is in more than one version — each version must run its own ad sets or campaigns, or it is compared with itself`,\n });\n }\n seen.set(id, first ?? index);\n }\n });\n return issues;\n}\n\nfunction shareIssues(cells: readonly { treatment_percentage: number }[]): AdStudyIssue[] {\n const total = Math.round(cells.reduce((sum, cell) => sum + cell.treatment_percentage, 0) * 100) / 100;\n if (total === 100) {\n return [];\n }\n // Live: Meta refuses more than 100 (1840025) and creates anything under it.\n return [\n {\n path: [\"cells\"],\n message: `the versions' shares must add up to 100% (now ${total}%) — every person in the test sees exactly one version`,\n },\n ];\n}\n\nfunction cellIssues(cells: readonly AdStudyCell[]): AdStudyIssue[] {\n if (cells.length < AD_STUDY_MIN_CELLS) {\n return [\n {\n path: [\"cells\"],\n message: `an A/B test needs at least 2 versions (cells) — with ${cells.length} there is nothing to compare`,\n },\n ];\n }\n const issues: AdStudyIssue[] = [...shareIssues(cells)];\n issues.push(...levelIssues(cells), ...duplicateObjectIssues(cells));\n return issues;\n}\n\n/**\n * Ads Manager runs an A/B test for 1 to 30 days and recommends at least 7.\n * Meta's API created a one-hour and a 100-day test (live): neither is one Meta\n * can call — an hour reaches nobody, and past a month the audience the test\n * started with has changed under it.\n */\nexport const AD_STUDY_MIN_DAYS = 1;\nexport const AD_STUDY_MAX_DAYS = 30;\nexport const AD_STUDY_RECOMMENDED_DAYS = 7;\n\nexport function adStudyDays(startTime: number, endTime: number): number {\n return Math.round(((endTime - startTime) / DAY_SECONDS) * 10) / 10;\n}\n\nexport function scheduleIssues(startTime: number, endTime: number): AdStudyIssue[] {\n if (endTime <= startTime) {\n return [{ path: [\"end_time\"], message: \"the test ends before it starts — end_time must be after start_time\" }];\n }\n const days = adStudyDays(startTime, endTime);\n if (endTime - startTime < AD_STUDY_MIN_DAYS * DAY_SECONDS) {\n return [{ path: [\"end_time\"], message: `an A/B test runs for at least 1 day (this one: ${days} days)` }];\n }\n if (endTime - startTime > AD_STUDY_MAX_DAYS * DAY_SECONDS) {\n return [\n {\n path: [\"end_time\"],\n message: `an A/B test runs for at most 30 days, as in Ads Manager (this one: ${days} days) — split a longer question into two tests`,\n },\n ];\n }\n return [];\n}\n\nfunction objectiveIssues(objectives: readonly AdStudyObjective[] | undefined): AdStudyIssue[] {\n if (!objectives || objectives.length === 0) {\n return [];\n }\n const issues: AdStudyIssue[] = [];\n objectives.forEach((objective, index) => {\n if (!OBJECTIVE_SOURCES.some((source) => objective[source] !== undefined)) {\n issues.push({\n path: [\"objectives\", index],\n message: `measure \"${objective.name}\" counts nothing — give it a pixel event (adspixels), a custom conversion (customconversions) or an app event (applications)`,\n });\n }\n });\n const primaries = objectives.filter((objective) => objective.is_primary === true).length;\n const implicitPrimary = objectives.length === 1 && objectives[0]?.is_primary === undefined;\n if (primaries !== 1 && !implicitPrimary) {\n issues.push({\n path: [\"objectives\"],\n message: `a test is decided on exactly one primary measure (is_primary: true) — ${primaries} are marked`,\n });\n }\n return issues;\n}\n\n/**\n * A lift study measures what the ads ADD: each cell holds a share of its\n * audience out (`control_percentage`) and compares it with the share that\n * sees the ads. One cell is a whole study. Live on v26.0 (2026-10-15) Meta\n * created a one-cell 90/10 conversion lift study on a campaign of\n * act_1342210013621203 once it named `observation_end_time` (≥ the end,\n * 1840009) and `cooldown_start_time` (1840013) — Baker fills both.\n */\nexport const LIFT_MAX_DAYS = 90;\n\n/** Meta subcode 1840009: a lift study or creative test is read until it ends, at the least. */\nfunction observationEndIssues(\n study: Pick<AdStudyCreate, \"end_time\"> & Partial<Pick<AdStudyCreate, \"observation_end_time\">>,\n): AdStudyIssue[] {\n if (study.observation_end_time === undefined || study.observation_end_time >= study.end_time) return [];\n return [\n {\n path: [\"observation_end_time\"],\n message: \"observation_end_time must run at least until the study ends (end_time) — Meta reads results until then\",\n },\n ];\n}\n\nfunction liftIssues(\n study: Pick<AdStudyCreate, \"cells\" | \"start_time\" | \"end_time\" | \"objectives\"> &\n Partial<Pick<AdStudyCreate, \"observation_end_time\">>,\n): AdStudyIssue[] {\n const issues: AdStudyIssue[] = [];\n if (study.cells.length === 0) issues.push({ path: [\"cells\"], message: \"a lift study needs at least one cell\" });\n study.cells.forEach((cell, index) => {\n const total = cell.treatment_percentage + (cell.control_percentage ?? 0);\n if (cell.control_percentage === undefined) {\n issues.push({\n path: [\"cells\", index, \"control_percentage\"],\n message: `cell \"${cell.name}\" holds nobody out — give it a control_percentage (the people who do not see the ads)`,\n });\n } else if (total > 100) {\n issues.push({\n path: [\"cells\", index],\n message: `cell \"${cell.name}\" splits ${total}% of its audience — at most 100%`,\n });\n }\n if (cell.ads)\n issues.push({\n path: [\"cells\", index, \"ads\"],\n message: \"a lift study measures campaigns or ad sets, not single ads\",\n });\n else if (!cell.campaigns && !cell.adsets)\n issues.push({\n path: [\"cells\", index],\n message: `cell \"${cell.name}\" runs nothing — give it the campaigns (campaigns) or ad sets (adsets) whose lift it measures`,\n });\n });\n issues.push(...observationEndIssues(study));\n if (!study.objectives || study.objectives.length === 0) {\n issues.push({\n path: [\"objectives\"],\n message: \"a lift study needs a measure — the pixel event or conversion whose lift it reads\",\n });\n }\n if (study.end_time <= study.start_time) {\n issues.push({ path: [\"end_time\"], message: \"the study ends before it starts\" });\n } else if (study.end_time - study.start_time > LIFT_MAX_DAYS * DAY_SECONDS) {\n issues.push({ path: [\"end_time\"], message: \"a lift study runs for at most 90 days\" });\n }\n return [...issues, ...duplicateObjectIssues(study.cells), ...objectiveIssues(study.objectives)].filter(\n (issue, index, all) => all.findIndex((other) => other.message === issue.message) === index,\n );\n}\n\n/**\n * A creative test (`SPLIT_TEST_V2`): 2 to 5 ads of ONE ad set, each version\n * one ad, compared on a share of the ad set's budget (`testDailyBudget`, sent\n * as `creative_test_config.daily_budget`). Live on v26.0 (2026-10-15) Meta\n * created one over two paused ads of a €5/day ad set with a €2 test budget,\n * and refused `lifetime_budget_percentage` on that daily-budget ad set\n * (5024025 \"does not align with the campaign's budget\").\n */\nexport const CREATIVE_TEST_MIN_CELLS = 2;\nexport const CREATIVE_TEST_MAX_CELLS = 5;\n\nfunction creativeTestIssues(\n study: Pick<AdStudyCreate, \"cells\" | \"start_time\" | \"end_time\" | \"testDailyBudget\"> &\n Partial<Pick<AdStudyCreate, \"observation_end_time\">>,\n): AdStudyIssue[] {\n const issues: AdStudyIssue[] = [];\n if (study.cells.length < CREATIVE_TEST_MIN_CELLS || study.cells.length > CREATIVE_TEST_MAX_CELLS) {\n issues.push({ path: [\"cells\"], message: `a creative test compares 2 to 5 ads (now ${study.cells.length})` });\n }\n study.cells.forEach((cell, index) => {\n if (cell.ads?.length !== 1 || cell.adsets || cell.campaigns) {\n issues.push({ path: [\"cells\", index], message: `version \"${cell.name}\" runs exactly one ad (ads: [<ad id>])` });\n }\n });\n if (!study.testDailyBudget) {\n issues.push({\n path: [\"testDailyBudget\"],\n message: \"a creative test needs testDailyBudget — the part of the ad set's daily budget the test spends\",\n });\n }\n return [\n ...issues,\n ...shareIssues(study.cells),\n ...duplicateObjectIssues(study.cells),\n ...scheduleIssues(study.start_time, study.end_time),\n ...observationEndIssues(study),\n ];\n}\n\n/** Everything wrong with a test as it would be created, in the words a refusal reads. */\nexport function adStudyIssues(\n study: Pick<AdStudyCreate, \"cells\" | \"start_time\" | \"end_time\" | \"objectives\"> &\n Partial<Pick<AdStudyCreate, \"type\" | \"testDailyBudget\" | \"observation_end_time\">>,\n): AdStudyIssue[] {\n if (study.type === \"LIFT\") return liftIssues(study);\n if (study.type === \"SPLIT_TEST_V2\") return creativeTestIssues(study);\n return [\n ...cellIssues(study.cells),\n ...scheduleIssues(study.start_time, study.end_time),\n ...objectiveIssues(study.objectives),\n ];\n}\n\nfunction addIssues(issues: readonly AdStudyIssue[], ctx: z.RefinementCtx): void {\n for (const issue of issues) {\n ctx.addIssue({ code: \"custom\", path: issue.path, message: issue.message });\n }\n}\n\n/** A split (A/B) test, a lift study, or a creative test of single ads. */\nexport const AD_STUDY_TYPES = [\"SPLIT_TEST\", \"LIFT\", \"SPLIT_TEST_V2\"] as const;\n\nconst adStudyCreateBaseSchema = z.strictObject({\n name: z.string().min(1).max(255),\n description: z.string().max(1000).optional(),\n type: z.enum(AD_STUDY_TYPES).default(\"SPLIT_TEST\"),\n start_time: z.number().int().positive(),\n end_time: z.number().int().positive(),\n /** A lift study or creative test: when Meta stops counting results (≥ the end). Defaults to the end. */\n observation_end_time: z.number().int().positive().optional(),\n /** A creative test: the part of the ad set's daily budget it spends, major units. */\n testDailyBudget: z\n .strictObject({\n amount: z.string().regex(/^\\d+(\\.\\d{1,2})?$/, \"expected a decimal amount like 2 or 2.50\"),\n currencyCode: z.string().length(3).optional(),\n })\n .optional(),\n cells: z.array(adStudyCellSchema).max(AD_STUDY_MAX_CELLS),\n /** How sure Meta must be before it names a winner; Meta applies its own when none is sent. */\n confidence_level: confidenceLevelSchema.optional(),\n /** What the test is decided on. Without one, Meta compares cost per result on the campaigns' objective. */\n objectives: z.array(adStudyObjectiveSchema).max(10).optional(),\n /** The Business that owns the test — Meta creates studies on a Business. Filled by the backend from the ad account. */\n business_id: z.string().regex(NUMERIC_ID_REGEX).optional(),\n});\nexport type AdStudyCreate = z.infer<typeof adStudyCreateBaseSchema>;\n\nexport const adStudyCreateSchema = adStudyCreateBaseSchema.superRefine((study, ctx) =>\n addIssues(adStudyIssues(study), ctx),\n);\n\n/** Within this long of its start, a test may be published too late — Meta then refuses it (1840012). */\nconst START_SOON_SECONDS = 6 * 3600;\n\n/** Non-blocking notes on a staged test: things Meta takes but a marketer should know. */\nexport function adStudyWarnings(study: AdStudyCreate, nowSeconds: number): string[] {\n const warnings: string[] = [];\n if (study.end_time - study.start_time < AD_STUDY_RECOMMENDED_DAYS * DAY_SECONDS) {\n warnings.push(\n `this test runs ${adStudyDays(study.start_time, study.end_time)} days — Meta recommends at least 7 days for a result it can call`,\n );\n }\n if (study.start_time - nowSeconds < START_SOON_SECONDS) {\n warnings.push(\n \"this test starts within 6 hours — publish before then, or Meta refuses it because its start has passed\",\n );\n }\n for (const cell of study.cells) {\n if (cell.treatment_percentage < SMALL_VERSION_PERCENT) {\n warnings.push(\n `${cell.name} gets ${cell.treatment_percentage}% of the audience — Meta takes it, but a version under ${SMALL_VERSION_PERCENT}% rarely gathers enough results for Meta to call a winner (Meta's guidance is at least ${SMALL_VERSION_PERCENT}% per version)`,\n );\n }\n }\n return warnings;\n}\n\n/**\n * Below this share a version is warned about, not refused: live on v25.0\n * (2026-10-14) Meta created a test split 95/5, against its own guidance of at\n * least 10% per version.\n */\nconst SMALL_VERSION_PERCENT = 10;\n\n// --- Update ---\n\n/** A live version's new share, named by its cell id (`studies --study-id` lists them). */\nexport const adStudyCellShareSchema = z.strictObject({\n id: z.string().regex(NUMERIC_ID_REGEX),\n treatment_percentage: z.number().positive().max(100),\n});\n\n/**\n * What a live test takes, from Meta's update reference and what it answered\n * live. Once a test has started its start and its split are fixed (1840011,\n * live), so those are refused at staging against the test as it stands; its\n * name, description and end move freely, and the end can move later again\n * even after the test has ended (live).\n */\nconst adStudyUpdateBaseSchema = z.strictObject({\n name: z.string().min(1).max(255).optional(),\n description: z.string().max(1000).optional(),\n start_time: z.number().int().positive().optional(),\n end_time: z.number().int().positive().optional(),\n /** A lift study or creative test: when Meta stops counting results (≥ the end). Moved out with a later end on its own (`carryObservationEnd`). */\n observation_end_time: z.number().int().positive().optional(),\n /** End the test at publish: the end is set a few minutes after the change applies (Meta refuses an end in the past). */\n end_now: z.literal(true).optional(),\n confidence_level: confidenceLevelSchema.optional(),\n /** Every version's new share — Meta re-splits the whole audience at once, so name every cell. */\n cells: z.array(adStudyCellShareSchema).min(AD_STUDY_MIN_CELLS).optional(),\n /** Delete the test. Meta removes it, results and all; ending it keeps them. */\n status: z.literal(\"DELETED\").optional(),\n});\nexport type AdStudyUpdate = z.infer<typeof adStudyUpdateBaseSchema>;\n\nfunction updateShapeIssues(p: AdStudyUpdate): AdStudyIssue[] {\n const set = Object.entries(p).filter(([, value]) => value !== undefined);\n if (set.length === 0) {\n return [{ path: [], message: \"update needs at least one field\" }];\n }\n if (p.status === \"DELETED\" && set.length > 1) {\n return [{ path: [\"status\"], message: \"delete alone — a deleted test takes no other change\" }];\n }\n const issues: AdStudyIssue[] = [];\n if (p.end_now && p.end_time !== undefined) {\n issues.push({ path: [\"end_now\"], message: \"end now or set end_time, not both\" });\n }\n if (p.observation_end_time !== undefined && p.end_time !== undefined && p.observation_end_time < p.end_time) {\n issues.push({\n path: [\"observation_end_time\"],\n message: \"observation_end_time must run at least until the study ends (end_time) — Meta reads results until then\",\n });\n }\n if (p.cells) {\n issues.push(...shareIssues(p.cells));\n const ids = p.cells.map((cell) => cell.id);\n if (new Set(ids).size !== ids.length) {\n issues.push({ path: [\"cells\"], message: \"each version's share is given once\" });\n }\n }\n return issues;\n}\n\nexport const adStudyUpdateSchema = adStudyUpdateBaseSchema.superRefine((p, ctx) =>\n addIssues(updateShapeIssues(p), ctx),\n);\n\n/**\n * Room a publish needs between the check and Meta's call: the merge, the\n * workflow's queue and the ops staged ahead of the test all run first.\n */\nexport const AD_STUDY_PUBLISH_MARGIN_SECONDS = 600;\n\n/**\n * Why a staged test's times no longer hold at publish, or undefined. Staging\n * checked them against the moment it ran; a chat published a day later meets\n * Meta's own refusal (1840012) after the merge, when nothing can be fixed. So\n * publish holds the change back first, with what to do.\n */\nexport function adStudyPublishTimeBlocker(\n kind: \"adStudy.create\" | \"adStudy.update\",\n payload: Pick<AdStudyUpdate, \"start_time\" | \"end_time\">,\n nowSeconds: number,\n): string | undefined {\n const deadline = nowSeconds + AD_STUDY_PUBLISH_MARGIN_SECONDS;\n if (payload.start_time !== undefined && payload.start_time <= deadline) {\n return kind === \"adStudy.create\"\n ? \"this A/B test's start has passed (or is minutes away) since it was staged, and Meta refuses a test that starts in the past — re-stage it with a later start\"\n : \"this test's new start has passed (or is minutes away) since it was staged, and Meta refuses a start in the past — re-stage the change with a later start\";\n }\n if (payload.end_time !== undefined && payload.end_time <= deadline) {\n return \"this test's new end has passed (or is minutes away) since it was staged, and Meta refuses an end in the past — re-stage it with a later end, or end the test now (`studies end`)\";\n }\n return undefined;\n}\n\n// --- References, wire, reads ---\n\nexport type AdStudyRefEntity = \"adSet\" | \"campaign\" | \"ad\";\n\n/** The meta_temp_* refs a test's versions name — the ad sets and campaigns this chat creates first. */\nconst CELL_REF_ENTITIES = [\n [\"ads\", \"ad\"],\n [\"adsets\", \"adSet\"],\n [\"campaigns\", \"campaign\"],\n] as const;\n\nexport function adStudyTempRefs(\n cells: readonly Pick<AdStudyCell, \"adsets\" | \"campaigns\" | \"ads\">[] | undefined,\n): { ref: string; entity: AdStudyRefEntity }[] {\n return (cells ?? []).flatMap((cell) =>\n CELL_REF_ENTITIES.flatMap(([key, entity]) =>\n (cell[key] ?? []).filter((id) => TEMP_REF_REGEX.test(id)).map((ref) => ({ ref, entity })),\n ),\n );\n}\n\n/** A live cell as Meta returns it: id lists wrapped in `{data: [{id, name}]}`. */\ninterface WireCell {\n id?: unknown;\n name?: unknown;\n treatment_percentage?: unknown;\n control_percentage?: unknown;\n adsets?: { data?: { id?: unknown; name?: unknown }[] };\n campaigns?: { data?: { id?: unknown; name?: unknown }[] };\n ads?: { data?: { id?: unknown; name?: unknown }[] };\n}\n\n/** A live test in staged vocabulary, with the names of what its versions run. */\nexport interface AdStudySnapshot {\n id: string;\n name?: string;\n description?: string;\n type?: string;\n start_time?: number;\n end_time?: number;\n /** A lift study or creative test: when Meta stops counting results (≥ the end). */\n observation_end_time?: number;\n business_id?: string;\n cells: (AdStudyCell & { id: string })[];\n objectives?: AdStudyObjective[];\n names: Record<string, string>;\n}\n\n/** Meta's ISO time (`2026-10-16T14:28:53+0000`) as unix seconds. */\nexport function unixSeconds(value: unknown): number | undefined {\n if (typeof value === \"number\") {\n return value > 1e12 ? Math.floor(value / 1000) : value;\n }\n if (typeof value !== \"string\" || value === \"\") {\n return undefined;\n }\n const iso = value.replace(/([+-]\\d{2})(\\d{2})$/, \"$1:$2\");\n const ms = Date.parse(iso);\n return Number.isNaN(ms) ? undefined : Math.floor(ms / 1000);\n}\n\nfunction wireIds(edge: WireCell[\"adsets\"], names: Record<string, string>): string[] | undefined {\n const rows = edge?.data;\n if (!rows || rows.length === 0) {\n return undefined;\n }\n return rows.flatMap((row) => {\n if (typeof row.id !== \"string\") return [];\n if (typeof row.name === \"string\") names[row.id] = row.name;\n return [row.id];\n });\n}\n\nfunction text(value: unknown): string | undefined {\n return typeof value === \"string\" && value !== \"\" ? value : undefined;\n}\n\nfunction wireSources(edge: unknown): { id: string; event_names?: string[] }[] | undefined {\n const rows = (edge as { data?: { id?: unknown; event_names?: unknown }[] } | undefined)?.data;\n if (!rows || rows.length === 0) {\n return undefined;\n }\n return rows.map((row) => ({\n id: String(row.id ?? \"\"),\n ...(Array.isArray(row.event_names) && row.event_names.length > 0\n ? { event_names: row.event_names.map(String) }\n : {}),\n }));\n}\n\nfunction objectivesFromWire(edge: unknown): AdStudyObjective[] | undefined {\n const rows = (edge as { data?: Record<string, unknown>[] } | undefined)?.data;\n if (!rows || rows.length === 0) {\n return undefined;\n }\n return rows.map((row) => {\n const objective: AdStudyObjective = {\n name: String(row.name ?? \"\"),\n type: \"CONVERSIONS\",\n ...(typeof row.is_primary === \"boolean\" ? { is_primary: row.is_primary } : {}),\n };\n for (const source of OBJECTIVE_SOURCES) {\n const sources = wireSources(row[source]);\n if (sources) objective[source] = sources;\n }\n return objective;\n });\n}\n\nexport function adStudyFromWire(node: Record<string, unknown>): AdStudySnapshot {\n const names: Record<string, string> = {};\n const cellRows = ((node.cells as { data?: WireCell[] } | undefined)?.data ?? []) as WireCell[];\n const cells = cellRows.map((cell) => {\n const adsets = wireIds(cell.adsets, names);\n const campaigns = wireIds(cell.campaigns, names);\n const ads = wireIds(cell.ads, names);\n return {\n id: String(cell.id ?? \"\"),\n name: String(cell.name ?? \"\"),\n treatment_percentage: Number(cell.treatment_percentage ?? 0),\n ...(typeof cell.control_percentage === \"number\" ? { control_percentage: cell.control_percentage } : {}),\n ...(adsets ? { adsets } : {}),\n ...(campaigns ? { campaigns } : {}),\n ...(ads ? { ads } : {}),\n };\n });\n const out: AdStudySnapshot = { id: String(node.id ?? \"\"), cells, names };\n const fields: Array<[keyof AdStudySnapshot, unknown]> = [\n [\"name\", text(node.name)],\n [\"description\", text(node.description)],\n [\"type\", text(node.type)],\n [\"start_time\", unixSeconds(node.start_time)],\n [\"end_time\", unixSeconds(node.end_time)],\n [\"observation_end_time\", unixSeconds(node.observation_end_time)],\n [\"business_id\", text((node.business as { id?: unknown } | undefined)?.id)],\n [\"objectives\", objectivesFromWire(node.objectives)],\n ];\n for (const [key, value] of fields) {\n if (value !== undefined) (out as unknown as Record<string, unknown>)[key] = value;\n }\n return out;\n}\n\n/**\n * A staged test as Meta takes it on create: the Business is the path, not a\n * field, and a lone measure is the primary one — Meta decides on the primary.\n */\nexport function adStudyCreateToWire(p: AdStudyCreate): Record<string, unknown> {\n const { business_id: _business, objectives, testDailyBudget: _budget, observation_end_time, ...study } = p;\n const lonePrimary = objectives?.length === 1 && objectives[0]?.is_primary === undefined;\n // A lift study and a creative test both need these two; Meta's own\n // creative-test guide sets them to the start and the end.\n const windows =\n p.type === \"SPLIT_TEST\"\n ? {}\n : { cooldown_start_time: p.start_time, observation_end_time: observation_end_time ?? p.end_time };\n return {\n ...study,\n ...windows,\n ...(objectives ? { objectives: lonePrimary ? [{ ...objectives[0], is_primary: true }] : objectives } : {}),\n };\n}\n\n/**\n * \"End now\" lands this far after the change applies. Meta refuses an end in\n * the past, and refused one two seconds ahead (live) — the clock it checks\n * against runs ahead of the request.\n */\nexport const AD_STUDY_END_NOW_LEAD_SECONDS = 300;\n\n/** A staged change as Meta takes it on `POST /{study_id}`; `nowSeconds` places an \"end now\". */\n/**\n * A lift study or creative test counts results until its observation end, and\n * Meta refuses an end after it (1840009, as on create). So a later end moves\n * the observation end out with it, staged where the review shows it; an A/B\n * test has none, and an observation end the change names is kept.\n */\nexport function carryObservationEnd(\n update: AdStudyUpdate,\n live: Pick<AdStudySnapshot, \"type\" | \"observation_end_time\">,\n): AdStudyUpdate {\n const counting = live.observation_end_time;\n if (\n live.type === \"SPLIT_TEST\" ||\n counting === undefined ||\n update.observation_end_time !== undefined ||\n update.end_time === undefined ||\n update.end_time <= counting\n ) {\n return update;\n }\n return { ...update, observation_end_time: update.end_time };\n}\n\nexport function adStudyUpdateToWire(p: AdStudyUpdate, nowSeconds: number): Record<string, unknown> {\n const { end_now, status: _status, ...fields } = p;\n return end_now ? { ...fields, end_time: nowSeconds + AD_STUDY_END_NOW_LEAD_SECONDS } : fields;\n}\n","/**\n * Single source of truth for Meta Marketing API write constraints\n * (Graph API v25.0). Every zod schema in `ops.ts` reads from here — no\n * scattered literals. The naming follows Meta's object graph: Campaign →\n * Ad Set → Ad Creative → Ad, plus Custom Audiences and media.\n */\n\nexport const META_LIMITS = {\n /** Meta caps the labels on one object at 50 (`adlabels`, \"max 50\"); it documents no name length, so 255. */\n adLabel: {\n nameMax: 255,\n perObjectMax: 50,\n },\n campaign: {\n nameMax: 400,\n },\n adSet: {\n nameMax: 400,\n /**\n * Meta's own bounds for a minimum ROAS, as a multiple of spend (2 = 200%):\n * \"roas_average_floor … should be larger than or equal to 0.001 and smaller\n * than or equal to 1000\" (subcode 1815888, live on v25.0, 2026-10-14).\n */\n minRoasMin: 0.001,\n minRoasMax: 1000,\n /** Frequency caps: `interval_days` and `max_frequency` are each 1–90 (Meta's #100 refusal, live v25.0). */\n frequencyIntervalDaysMax: 90,\n frequencyMaxImpressionsMax: 90,\n /** \"You can set up a maximum of 50 high demand periods per campaign or ad set\" (High Demand Period reference). */\n budgetSchedulesMax: 50,\n },\n ad: {\n nameMax: 400,\n },\n creative: {\n nameMax: 400,\n /** Feed truncates the primary text past this with \"… See more\". */\n messageSoftMax: 125,\n messageHardMax: 5000,\n /** Below this, primary text reads as too thin to carry a hook + value + reason to act. */\n messageGoodMin: 40,\n headlineMax: 255,\n descriptionMax: 300,\n carouselCardsMin: 2,\n carouselCardsMax: 10,\n /** Carousels tell a fuller story and give Meta more to optimize at this many cards. */\n carouselCardsGoodMin: 3,\n dynamicTextsMin: 1,\n dynamicTextsMax: 5,\n /** Dynamic ads mix and match best with at least this many media assets. */\n dynamicAssetsGoodMin: 3,\n /**\n * `asset_feed_spec` limits (Meta's Asset Feed Spec Options, \"restrictions\"):\n * body text 1024 characters, titles and descriptions 255, at most 10\n * images and 10 videos, 30 assets in all (the ad format counts as one).\n */\n assetFeedBodyMax: 1024,\n assetFeedTitleMax: 255,\n assetFeedImagesMax: 10,\n assetFeedVideosMax: 10,\n assetFeedAssetsMax: 30,\n },\n audience: {\n nameMax: 100,\n /** Website/engagement audiences below this rarely serve. */\n minLookalikeSourceRows: 100,\n retentionDaysMax: 180,\n },\n customConversion: {\n nameMax: 100,\n descriptionMax: 500,\n /**\n * Meta's hard cap per ad account. It matters because deleting a custom\n * conversion archives it rather than removing it, so a chat that creates\n * one per campaign spends slots that only a person, in Events Manager, can\n * think about reclaiming.\n */\n perAccountMax: 100,\n },\n} as const;\n\n// --- Campaign ---\n\nexport const OBJECTIVES = [\n \"OUTCOME_TRAFFIC\",\n \"OUTCOME_ENGAGEMENT\",\n \"OUTCOME_LEADS\",\n \"OUTCOME_SALES\",\n \"OUTCOME_AWARENESS\",\n \"OUTCOME_APP_PROMOTION\",\n] as const;\nexport type MetaObjective = (typeof OBJECTIVES)[number];\n\nexport const SPECIAL_AD_CATEGORIES = [\n \"NONE\",\n \"HOUSING\",\n \"EMPLOYMENT\",\n /** Deprecated by Meta on 2025-01-14 — replaced by FINANCIAL_PRODUCTS_SERVICES. Still accepted as input and mapped on the wire. */\n \"CREDIT\",\n \"ISSUES_ELECTIONS_POLITICS\",\n \"FINANCIAL_PRODUCTS_SERVICES\",\n \"ONLINE_GAMBLING_AND_GAMING\",\n] as const;\nexport type MetaSpecialAdCategory = (typeof SPECIAL_AD_CATEGORIES)[number];\n\n/** ISO Alpha-2 country declaration is mandatory for these categories. */\nexport const SPECIAL_CATEGORIES_REQUIRING_COUNTRY: readonly MetaSpecialAdCategory[] = [\"ISSUES_ELECTIONS_POLITICS\"];\n\nexport const BUYING_TYPES = [\"AUCTION\", \"RESERVED\"] as const;\n\nexport const BID_STRATEGIES = [\n \"LOWEST_COST_WITHOUT_CAP\",\n \"LOWEST_COST_WITH_BID_CAP\",\n \"COST_CAP\",\n \"LOWEST_COST_WITH_MIN_ROAS\",\n] as const;\nexport type MetaBidStrategy = (typeof BID_STRATEGIES)[number];\n\n/** Bid strategies that require an explicit `bid_amount` on the ad set. */\nexport const BID_STRATEGIES_REQUIRING_AMOUNT: readonly MetaBidStrategy[] = [\"LOWEST_COST_WITH_BID_CAP\", \"COST_CAP\"];\n\n/**\n * Bid strategies that must NOT carry a `bid_amount` — Meta rejects one.\n * Auto-bid (`LOWEST_COST_WITHOUT_CAP`) has no cap; `LOWEST_COST_WITH_MIN_ROAS`\n * uses `bid_constraints.roas_average_floor` instead of a flat amount.\n */\n/**\n * Meta takes a minimum ROAS as `bid_constraints.roas_average_floor`, an integer\n * scaled 10000×: 10000 is 1.0× (100%), 23300 is 2.33×. Baker stages the\n * multiple itself and scales it on the wire, the way money is staged in major\n * units and converted there.\n */\nexport const ROAS_FLOOR_SCALE = 10000;\n\nexport const BID_STRATEGIES_FORBIDDING_AMOUNT: readonly MetaBidStrategy[] = [\n \"LOWEST_COST_WITHOUT_CAP\",\n \"LOWEST_COST_WITH_MIN_ROAS\",\n];\n\n// --- Ad set ---\n\nexport const BILLING_EVENTS = [\n \"APP_INSTALLS\",\n \"CLICKS\",\n \"IMPRESSIONS\",\n \"LINK_CLICKS\",\n \"NONE\",\n \"OFFER_CLAIMS\",\n \"PAGE_LIKES\",\n \"POST_ENGAGEMENT\",\n \"THRUPLAY\",\n \"PURCHASE\",\n \"LISTING_INTERACTION\",\n] as const;\nexport type MetaBillingEvent = (typeof BILLING_EVENTS)[number];\n\nexport const OPTIMIZATION_GOALS = [\n \"NONE\",\n \"APP_INSTALLS\",\n \"AD_RECALL_LIFT\",\n \"ENGAGED_USERS\",\n \"EVENT_RESPONSES\",\n \"IMPRESSIONS\",\n \"LEAD_GENERATION\",\n \"QUALITY_LEAD\",\n \"QUALITY_CALL\",\n \"LINK_CLICKS\",\n \"OFFSITE_CONVERSIONS\",\n \"LANDING_PAGE_VIEWS\",\n \"PAGE_LIKES\",\n \"POST_ENGAGEMENT\",\n \"REACH\",\n \"THRUPLAY\",\n \"VALUE\",\n \"CONVERSATIONS\",\n \"DERIVED_EVENTS\",\n // Added 2026-09-18 from Meta's own generated enum spec\n // (facebook-business-sdk-codegen › AdSet_optimization_goal). Every one of these\n // is a goal Meta accepts and Baker used to refuse at stage time — the messaging\n // and Instagram-profile goals are the ones that cost real campaigns, because a\n // click-to-WhatsApp ad set cannot be expressed without them.\n \"ADVERTISER_SILOED_VALUE\",\n \"APP_INSTALLS_AND_OFFSITE_CONVERSIONS\",\n \"AUTOMATIC_OBJECTIVE\",\n \"ENGAGED_PAGE_VIEWS\",\n \"IN_APP_VALUE\",\n \"MEANINGFUL_CALL_ATTEMPT\",\n \"MESSAGING_APPOINTMENT_CONVERSION\",\n \"MESSAGING_DEEP_CONVERSATION_AND_FOLLOW\",\n \"MESSAGING_PURCHASE_CONVERSION\",\n \"PROFILE_AND_PAGE_ENGAGEMENT\",\n \"PROFILE_VISIT\",\n \"REMINDERS_SET\",\n \"SUBSCRIBERS\",\n \"VISIT_INSTAGRAM_PROFILE\",\n] as const;\nexport type MetaOptimizationGoal = (typeof OPTIMIZATION_GOALS)[number];\n\n/**\n * Optimization goals Meta rejects without a `promoted_object.page_id` — the\n * lead-form and page goals where the promoted object *is* the page (instant\n * forms, page likes). Missing it fails publish with subcode 1815430\n * (\"Please select a promoted object for your ad set\").\n */\nexport const OPTIMIZATION_GOALS_REQUIRING_PAGE: readonly MetaOptimizationGoal[] = [\n \"LEAD_GENERATION\",\n \"QUALITY_LEAD\",\n \"PAGE_LIKES\",\n];\n\n/**\n * Web-conversion goals Meta rejects without `promoted_object.pixel_id` +\n * `custom_event_type` — the pixel/event the ad set optimizes toward. Meta docs:\n * \"For OFFSITE_CONVERSIONS: Requires pixel_id and custom_event_type.\"\n */\nexport const OPTIMIZATION_GOALS_REQUIRING_PIXEL: readonly MetaOptimizationGoal[] = [\"OFFSITE_CONVERSIONS\"];\n\n/**\n * Value-optimization goals need `custom_event_type` plus a conversion *source* —\n * `pixel_id` for web value optimization, or `application_id` for app value\n * optimization (AEO/VO). Requiring `pixel_id` unconditionally would reject a\n * legitimate app-based VALUE campaign, so we accept either source.\n */\nexport const OPTIMIZATION_GOALS_REQUIRING_CONVERSION_SOURCE: readonly MetaOptimizationGoal[] = [\"VALUE\"];\n\n/** App-promotion goals Meta rejects without `promoted_object.application_id`. */\nexport const OPTIMIZATION_GOALS_REQUIRING_APP: readonly MetaOptimizationGoal[] = [\"APP_INSTALLS\"];\n\n/**\n * `PHONE_CALL` is CONTESTED and deliberately kept. Meta's Destination Type page\n * documents it; Meta's own generated enum spec does not list it. Neither source\n * settles it and a create is the only thing that would, so it stays accepted —\n * removing a value Meta takes breaks a campaign shape, keeping one it refuses\n * costs a single publish error that names itself.\n */\nexport const DESTINATION_TYPES = [\n \"WEBSITE\",\n \"APP\",\n \"MESSENGER\",\n \"INSTAGRAM_DIRECT\",\n \"ON_AD\",\n \"ON_PAGE\",\n \"ON_POST\",\n \"ON_VIDEO\",\n \"WHATSAPP\",\n \"PHONE_CALL\",\n \"INSTAGRAM_PROFILE\",\n \"SHOP_AUTOMATIC\",\n // Added 2026-09-18 from adcampaign_destination_type. The four MESSAGING_* values\n // are the click-to-message destinations (Messenger / Instagram Direct / WhatsApp\n // in every combination Meta ships); without them Baker could not stage a\n // click-to-WhatsApp ad set at all.\n \"APPLINKS_AUTOMATIC\",\n \"FACEBOOK\",\n \"FACEBOOK_LIVE\",\n \"FACEBOOK_PAGE\",\n \"IMAGINE\",\n \"INSTAGRAM_LIVE\",\n \"INSTAGRAM_PROFILE_AND_FACEBOOK_PAGE\",\n \"MESSAGING_INSTAGRAM_DIRECT_MESSENGER\",\n \"MESSAGING_INSTAGRAM_DIRECT_MESSENGER_WHATSAPP\",\n \"MESSAGING_INSTAGRAM_DIRECT_WHATSAPP\",\n \"MESSAGING_MESSENGER_WHATSAPP\",\n \"ON_EVENT\",\n] as const;\nexport type MetaDestinationType = (typeof DESTINATION_TYPES)[number];\n\nexport const CUSTOM_EVENT_TYPES = [\n \"PURCHASE\",\n \"LEAD\",\n \"COMPLETE_REGISTRATION\",\n \"ADD_TO_CART\",\n \"ADD_PAYMENT_INFO\",\n \"INITIATED_CHECKOUT\",\n \"CONTENT_VIEW\",\n \"SEARCH\",\n \"SUBSCRIBE\",\n \"START_TRIAL\",\n \"CONTACT\",\n \"OTHER\",\n // Added 2026-09-18 from AdPromotedObject_custom_event_type. SCHEDULE,\n // SUBMIT_APPLICATION, SERVICE_BOOKING_REQUEST and\n // MESSAGING_CONVERSATION_STARTED_7D are the conversions service businesses and\n // click-to-message campaigns actually optimize toward.\n \"ACHIEVEMENT_UNLOCKED\",\n \"ADD_TO_WISHLIST\",\n \"AD_IMPRESSION\",\n \"CUSTOMIZE_PRODUCT\",\n \"D2_RETENTION\",\n \"D7_RETENTION\",\n \"DONATE\",\n \"FIND_LOCATION\",\n \"LEVEL_ACHIEVED\",\n \"LISTING_INTERACTION\",\n \"MESSAGING_CONVERSATION_STARTED_7D\",\n \"RATE\",\n \"SCHEDULE\",\n \"SERVICE_BOOKING_REQUEST\",\n \"SPENT_CREDITS\",\n \"SUBMIT_APPLICATION\",\n \"TUTORIAL_COMPLETION\",\n] as const;\n\n/**\n * The only goals Meta lets an ad set cap frequency on: \"Writes to this field are\n * only available in ad sets where REACH and THRUPLAY are the performance goal\"\n * (Ad Account Ad Sets reference); anything else is subcode 1815211, live v25.0.\n */\nexport const OPTIMIZATION_GOALS_WITH_FREQUENCY_CAP: readonly MetaOptimizationGoal[] = [\"REACH\", \"THRUPLAY\"];\n\n/**\n * What a frequency cap counts — the values Meta's own refusal lists on v25.0.\n * Not all of them work: see `validateFrequencyCap` (VIDEO_VIEWS fails with an\n * unknown error, VIDEO_VIEWS_6S is REACH-only).\n */\nexport const FREQUENCY_CAP_EVENTS = [\n \"IMPRESSIONS\",\n \"VIDEO_VIEWS\",\n \"VIDEO_VIEWS_2S\",\n \"VIDEO_VIEWS_15S\",\n \"VIDEO_VIEWS_6S\",\n] as const;\n\n/**\n * CAP holds people at or below the number; TARGET aims at it — reach-and-frequency\n * only: live on v25.0 an auction ad set's TARGET cap passed the dry run and was\n * refused at create for having no prediction (subcode 3858652), so staging\n * refuses it (`validateFrequencyCap`). Kept so a live ad set carrying one reads.\n */\nexport const FREQUENCY_CAP_TYPES = [\"CAP\", \"TARGET\"] as const;\n\n/**\n * How an ad set spends through its day. `standard` spreads the budget evenly;\n * `no_pacing` (Ads Manager's accelerated delivery) spends as fast as it can and\n * only works on a bid cap; `day_parting` runs only in the hours `adset_schedule`\n * names. Sent as Meta's one-element `pacing_type` list.\n */\nexport const PACING_TYPES = [\"standard\", \"no_pacing\", \"day_parting\"] as const;\nexport type MetaPacingType = (typeof PACING_TYPES)[number];\n\n/** Whose clock an ad schedule follows: the viewer's (USER) or the ad account's (ADVERTISER). */\nexport const SCHEDULE_TIMEZONE_TYPES = [\"USER\", \"ADVERTISER\"] as const;\n\nexport const ATTRIBUTION_EVENT_TYPES = [\"CLICK_THROUGH\", \"VIEW_THROUGH\", \"ENGAGED_VIDEO_VIEW\"] as const;\nexport const ATTRIBUTION_WINDOW_DAYS = [1, 7] as const;\n\n/**\n * The longest window Meta still takes per event, live on v25.0 (2026-10-14):\n * a 28-day click is refused for every goal (\"supported values is/are\n * attribution window of 1, 7 day(s)\", subcode 1885423), a view or an engaged\n * video view only counts for one day (\"supported combination of click-through\n * and view-through attribution window values are: (1, 0), (1, 1), (7, 0),\n * (7, 1)\", subcode 1885501). Which combinations a given goal takes is narrower\n * still and Meta's to say — the stage-time dry run asks it.\n */\nexport const ATTRIBUTION_MAX_WINDOW_DAYS: Readonly<Record<(typeof ATTRIBUTION_EVENT_TYPES)[number], number>> = {\n CLICK_THROUGH: 7,\n VIEW_THROUGH: 1,\n ENGAGED_VIDEO_VIEW: 1,\n};\n\n// --- Advantage+ Audience (targeting_automation.advantage_audience) ---\n\n/**\n * With Advantage+ Audience on (`advantage_audience: 1`, the Meta v23+ default\n * when age/gender/custom-audience/detailed inclusions are default or omitted),\n * age & gender become mere suggestions: `age_max` is pinned to 65 and `age_min`\n * is limited to 18–25. Setting a narrower `age_max`, an `age_min` above 25, or a\n * single-gender restriction is rejected (subcode 1870189, \"add a lower maximum\n * age as a suggestion instead\"). To enforce a HARD age/gender limit you must set\n * `advantage_audience: 0`.\n */\nexport const ADVANTAGE_AUDIENCE_OPEN_AGE_MAX = 65;\nexport const ADVANTAGE_AUDIENCE_MAX_HARD_AGE_MIN = 25;\n\n// --- EU Digital Services Act (DSA) ---\n\n/**\n * When an ad set targets any EU country, Meta requires `dsa_beneficiary` and\n * `dsa_payor` (who benefits from / pays for the ad) for Digital Services Act\n * compliance — the create is rejected without them. The backend auto-fills both\n * from the ad account's business name when the caller omits them.\n */\nexport const EU_DSA_COUNTRIES = new Set([\n \"AT\",\n \"BE\",\n \"BG\",\n \"HR\",\n \"CY\",\n \"CZ\",\n \"DK\",\n \"EE\",\n \"FI\",\n \"FR\",\n \"DE\",\n \"GR\",\n \"HU\",\n \"IE\",\n \"IT\",\n \"LV\",\n \"LT\",\n \"LU\",\n \"MT\",\n \"NL\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"SK\",\n \"SI\",\n \"ES\",\n \"SE\",\n]);\n\n// --- Ad creative ---\n\n/**\n * Every button Meta accepts on `object_story_spec.link_data.call_to_action.type`\n * — a single ad, a video ad, and each card of a carousel.\n *\n * Read off Meta itself on 2026-09-01 by posting an invalid type and keeping the\n * list its 400 enumerates, because the published reference and the live\n * validator disagree: `SEE_DETAILS` is missing from the docs page and accepted\n * by the API, and it is the button three of one client's live ads actually use.\n * This list used to be a hand-picked 27, so those ads could not be rebuilt\n * through Baker at all — the button was the thing that stopped them.\n *\n * Meta keeps a SECOND, different list for `asset_feed_spec.call_to_action_types`\n * ({@link ASSET_FEED_CTA_TYPES}). Neither contains the other:\n * `SEE_DETAILS` is link-only, `GET_STARTED` and `VIEW_CART` are feed-only. A\n * value in the wrong slot is refused at creation, so the two are kept apart\n * rather than unioned.\n */\nexport const CTA_TYPES = [\n \"BOOK_TRAVEL\",\n \"CONTACT_US\",\n \"DONATE\",\n \"DONATE_NOW\",\n \"DOWNLOAD\",\n \"GET_DIRECTIONS\",\n \"GO_LIVE\",\n \"INTERESTED\",\n \"LEARN_MORE\",\n \"SEE_DETAILS\",\n \"LIKE_PAGE\",\n \"MESSAGE_PAGE\",\n \"RAISE_MONEY\",\n \"SAVE\",\n \"SEND_TIP\",\n \"SHOP_NOW\",\n \"SIGN_UP\",\n \"VIEW_INSTAGRAM_PROFILE\",\n \"INSTAGRAM_MESSAGE\",\n \"LOYALTY_LEARN_MORE\",\n \"PURCHASE_GIFT_CARDS\",\n \"PAY_TO_ACCESS\",\n \"SEE_MORE\",\n \"TRY_IN_CAMERA\",\n \"WHATSAPP_LINK\",\n \"GET_IN_TOUCH\",\n \"TRY_NOW\",\n \"ASK_A_QUESTION\",\n \"START_A_CHAT\",\n \"CHAT_NOW\",\n \"ASK_US\",\n \"CHAT_WITH_US\",\n \"BOOK_NOW\",\n \"CHECK_AVAILABILITY\",\n \"ORDER_NOW\",\n \"WHATSAPP_MESSAGE\",\n \"GET_MOBILE_APP\",\n \"INSTALL_MOBILE_APP\",\n \"USE_MOBILE_APP\",\n \"INSTALL_APP\",\n \"USE_APP\",\n \"PLAY_GAME\",\n \"TRY_DEMO\",\n \"WATCH_VIDEO\",\n \"WATCH_MORE\",\n \"OPEN_LINK\",\n \"NO_BUTTON\",\n \"LISTEN_MUSIC\",\n \"MOBILE_DOWNLOAD\",\n \"GET_OFFER\",\n \"GET_OFFER_VIEW\",\n \"BUY_NOW\",\n \"BUY_TICKETS\",\n \"UPDATE_APP\",\n \"BET_NOW\",\n \"ADD_TO_CART\",\n \"SELL_NOW\",\n \"GET_SHOWTIMES\",\n \"LISTEN_NOW\",\n \"GET_EVENT_TICKETS\",\n \"REMIND_ME\",\n \"SEARCH_MORE\",\n \"PRE_REGISTER\",\n \"SWIPE_UP_PRODUCT\",\n \"SWIPE_UP_SHOP\",\n \"PLAY_GAME_ON_FACEBOOK\",\n \"VISIT_WORLD\",\n \"OPEN_INSTANT_APP\",\n \"JOIN_GROUP\",\n \"GET_PROMOTIONS\",\n \"SEND_UPDATES\",\n \"INQUIRE_NOW\",\n \"VISIT_PROFILE\",\n \"CHAT_ON_WHATSAPP\",\n \"EXPLORE_MORE\",\n \"CONFIRM\",\n \"JOIN_CHANNEL\",\n \"MAKE_AN_APPOINTMENT\",\n \"ASK_ABOUT_SERVICES\",\n \"BOOK_A_CONSULTATION\",\n \"GET_A_QUOTE\",\n \"BUY_VIA_MESSAGE\",\n \"ASK_FOR_MORE_INFO\",\n \"VIEW_PRODUCT\",\n \"VIEW_CHANNEL\",\n \"WATCH_LIVE_VIDEO\",\n \"JOIN_LIVE_VIDEO\",\n \"IMAGINE\",\n \"CALL\",\n \"MISSED_CALL\",\n \"CALL_NOW\",\n \"CALL_ME\",\n \"APPLY_NOW\",\n \"BUY\",\n \"GET_QUOTE\",\n \"SUBSCRIBE\",\n \"RECORD_NOW\",\n \"VOTE_NOW\",\n \"GIVE_FREE_RIDES\",\n \"REGISTER_NOW\",\n \"OPEN_MESSENGER_EXT\",\n \"EVENT_RSVP\",\n \"CIVIC_ACTION\",\n \"SEND_INVITES\",\n \"REFER_FRIENDS\",\n \"REQUEST_TIME\",\n \"SEE_MENU\",\n \"SEARCH\",\n \"TRY_IT\",\n \"TRY_ON\",\n \"LINK_CARD\",\n \"DIAL_CODE\",\n \"FIND_YOUR_GROUPS\",\n \"START_ORDER\",\n // Added 2026-09-18 from Meta's generated enum spec\n // (AdCreative_call_to_action_type). Additive on purpose: 37 of the values above\n // are absent from that spec and present in the live 400, which is the\n // disagreement the note above is about — so the spec widens this list and never\n // prunes it.\n \"AUDIO_CALL\",\n \"BROWSE_SHOP\",\n \"CONTACT\",\n \"FIND_A_GROUP\",\n \"FIND_OUT_MORE\",\n \"FOLLOW_NEWS_STORYLINE\",\n \"FOLLOW_PAGE\",\n \"FOLLOW_USER\",\n \"GET_DETAILS\",\n \"GET_STARTED\",\n \"SAY_THANKS\",\n \"SEE_SHOP\",\n \"SEND_A_GIFT\",\n \"SEND_GIFT_MONEY\",\n \"SHARE\",\n \"SHOP_WITH_AI\",\n \"SOTTO_SUBSCRIBE\",\n \"TRY_ON_WITH_AI\",\n \"VIDEO_ANNOTATION\",\n \"VIDEO_CALL\",\n \"VIEW_CART\",\n \"VIEW_IN_CART\",\n \"VISIT_PAGES_FEED\",\n \"VISIT_WEBSITE\",\n \"WOODHENGE_SUPPORT\",\n] as const;\nexport type MetaCtaType = (typeof CTA_TYPES)[number];\n\n/**\n * The buttons a dynamic / flexible creative may list in\n * `asset_feed_spec.call_to_action_types`. Read off Meta the same way and on the\n * same day as {@link CTA_TYPES}, and deliberately a separate list — see the\n * note there.\n */\nexport const ASSET_FEED_CTA_TYPES = [\n \"OPEN_LINK\",\n \"LIKE_PAGE\",\n \"SHOP_NOW\",\n \"PLAY_GAME\",\n \"INSTALL_APP\",\n \"USE_APP\",\n \"CALL\",\n \"CALL_ME\",\n \"VIDEO_CALL\",\n \"INSTALL_MOBILE_APP\",\n \"USE_MOBILE_APP\",\n \"MOBILE_DOWNLOAD\",\n \"BOOK_TRAVEL\",\n \"LISTEN_MUSIC\",\n \"WATCH_VIDEO\",\n \"LEARN_MORE\",\n \"SIGN_UP\",\n \"DOWNLOAD\",\n \"WATCH_MORE\",\n \"NO_BUTTON\",\n \"VISIT_PAGES_FEED\",\n \"CALL_NOW\",\n \"APPLY_NOW\",\n \"CONTACT\",\n \"BUY_NOW\",\n \"GET_OFFER\",\n \"GET_OFFER_VIEW\",\n \"BUY_TICKETS\",\n \"UPDATE_APP\",\n \"GET_DIRECTIONS\",\n \"BUY\",\n \"SEND_UPDATES\",\n \"MESSAGE_PAGE\",\n \"DONATE\",\n \"SUBSCRIBE\",\n \"SAY_THANKS\",\n \"SELL_NOW\",\n \"SHARE\",\n \"DONATE_NOW\",\n \"GET_QUOTE\",\n \"CONTACT_US\",\n \"ORDER_NOW\",\n \"START_ORDER\",\n \"ADD_TO_CART\",\n \"VIEW_CART\",\n \"VIEW_IN_CART\",\n \"VIDEO_ANNOTATION\",\n \"RECORD_NOW\",\n \"INQUIRE_NOW\",\n \"CONFIRM\",\n \"REFER_FRIENDS\",\n \"REQUEST_TIME\",\n \"GET_SHOWTIMES\",\n \"LISTEN_NOW\",\n \"TRY_DEMO\",\n \"WOODHENGE_SUPPORT\",\n \"SOTTO_SUBSCRIBE\",\n \"FOLLOW_USER\",\n \"RAISE_MONEY\",\n \"SEE_SHOP\",\n \"GET_DETAILS\",\n \"FIND_OUT_MORE\",\n \"VISIT_WEBSITE\",\n \"BROWSE_SHOP\",\n \"EVENT_RSVP\",\n \"WHATSAPP_MESSAGE\",\n \"FOLLOW_NEWS_STORYLINE\",\n \"SEE_MORE\",\n \"BOOK_NOW\",\n \"FIND_A_GROUP\",\n \"FIND_YOUR_GROUPS\",\n \"PAY_TO_ACCESS\",\n \"PURCHASE_GIFT_CARDS\",\n \"FOLLOW_PAGE\",\n \"SEND_A_GIFT\",\n \"SWIPE_UP_SHOP\",\n \"SWIPE_UP_PRODUCT\",\n \"SEND_GIFT_MONEY\",\n \"PLAY_GAME_ON_FACEBOOK\",\n \"GET_STARTED\",\n \"OPEN_INSTANT_APP\",\n \"AUDIO_CALL\",\n \"GET_PROMOTIONS\",\n \"JOIN_CHANNEL\",\n \"MAKE_AN_APPOINTMENT\",\n \"ASK_ABOUT_SERVICES\",\n \"BOOK_A_CONSULTATION\",\n \"GET_A_QUOTE\",\n \"BUY_VIA_MESSAGE\",\n \"ASK_FOR_MORE_INFO\",\n \"CHAT_WITH_US\",\n \"VIEW_PRODUCT\",\n \"VIEW_CHANNEL\",\n \"GET_IN_TOUCH\",\n \"ASK_A_QUESTION\",\n \"START_A_CHAT\",\n \"CHAT_NOW\",\n \"ASK_US\",\n \"WATCH_LIVE_VIDEO\",\n \"JOIN_LIVE_VIDEO\",\n \"SHOP_WITH_AI\",\n \"TRY_ON_WITH_AI\",\n] as const;\nexport type MetaAssetFeedCtaType = (typeof ASSET_FEED_CTA_TYPES)[number];\n\n/**\n * The buttons Meta allows on a creative that opens an instant form. Meta's\n * lead-ads guide names exactly these six for `link_data.call_to_action`, and\n * anything else is refused at creation with \"Invalid value field\n * lead_gen_form_id for CTA type: <TYPE>\" (subcode 1856030) — which is a publish\n * failure, after the ad's siblings have already been created on the account.\n * One real chat staged six instant-form creatives, two of them on CONTACT_US:\n * both creatives were rejected and both of their ads were skipped, leaving four\n * of six ads live and nobody able to tell why from Meta's sentence.\n */\nexport const LEAD_FORM_CTA_TYPES = [\n \"APPLY_NOW\",\n \"DOWNLOAD\",\n \"GET_QUOTE\",\n \"LEARN_MORE\",\n \"SIGN_UP\",\n \"SUBSCRIBE\",\n] as const satisfies readonly MetaCtaType[];\n\n/** `asset_feed_spec.ad_formats` (Asset Feed Spec Options): `AUTOMATIC_FORMAT` mixes pictures and videos. */\nexport const AD_FORMATS = [\"SINGLE_IMAGE\", \"CAROUSEL\", \"SINGLE_VIDEO\", \"AUTOMATIC_FORMAT\"] as const;\nexport type MetaAdFormat = (typeof AD_FORMATS)[number];\n\n/** Advantage+ Creative enroll state (case-sensitive) — set per individual feature. */\nexport const ENROLL_STATUSES = [\"OPT_IN\", \"OPT_OUT\"] as const;\nexport type MetaEnrollStatus = (typeof ENROLL_STATUSES)[number];\n\n/**\n * Meta deprecated the `standard_enhancements` bundle key at Marketing API v22.0\n * — including it in `creative_features_spec` now hard-fails (error subcode\n * 3858504: \"Including standard enhancements field in creative has been\n * deprecated. Please choose to set individual features instead.\"). The bundle is\n * replaced by these individual feature keys, opted in/out one at a time.\n *\n * Meta does NOT publish a per-media eligibility matrix and validates features\n * server-side, so we expand our master toggle into ONLY keys confirmed present\n * in the current `AdCreativeFeaturesSpec`, scoped to the creative's media type.\n * Callers needing a specific feature pass it explicitly via `enhancements.features`.\n */\nexport const STANDARD_ENHANCEMENT_IMAGE_FEATURES = [\n \"image_templates\",\n \"image_touchups\",\n \"text_optimizations\",\n \"inline_comment\",\n] as const;\n/** Video keeps only the universally-valid text/comment enhancements (visual crop keys aren't in the confirmed spec list). */\nexport const STANDARD_ENHANCEMENT_VIDEO_FEATURES = [\"text_optimizations\", \"inline_comment\"] as const;\n\n/**\n * Advantage+ Creative features that change the picture or video itself —\n * adding frames, re-cropping, AI outpainting, animating a still, generating\n * music, cutting a video. Read off a live creative's\n * `degrees_of_freedom_spec.creative_features_spec` (82 keys, v25.0,\n * 2026-10-14) and every one accepted as OPT_OUT by a validate-only create.\n *\n * Every composed creative sends them all OPT_OUT, so Meta changes nobody's\n * pixels by default; one is switched on only when the user asked for it by name.\n */\nexport const VISUAL_ENHANCEMENT_FEATURES = {\n adapt_to_placement: \"Adapt the picture to each placement\",\n add_text_overlay: \"Add text on top of the media\",\n audio: \"Add audio\",\n carousel_to_video: \"Turn the carousel into a video\",\n creative_stickers: \"Add stickers\",\n cv_transformation: \"Visual transformations\",\n image_animation: \"Animate the picture\",\n image_auto_crop: \"Crop the picture automatically\",\n image_background_gen: \"Generate a new background\",\n image_banner: \"Add a banner\",\n image_brightness_and_contrast: \"Adjust brightness and contrast\",\n image_end_card: \"Add an end card\",\n image_enhancement: \"Enhance the picture\",\n image_templates: \"Put the picture in a template frame\",\n image_text_translation: \"Translate text in the picture\",\n image_touchups: \"Touch up the picture\",\n image_uncrop: \"Expand the picture with AI\",\n media_liquidity_animated_image: \"Animate the picture\",\n media_type_automation: \"Turn the picture into a video\",\n multi_photo_to_video: \"Turn several pictures into a video\",\n music_generation: \"Generate music\",\n pac_genai_recomposition: \"Recompose the media with AI per placement\",\n pac_recomposition: \"Recompose the media per placement\",\n replace_media_text: \"Replace text in the media\",\n reveal_details_over_time: \"Reveal details over time\",\n text_overlay_translation: \"Translate text overlays\",\n translate_voiceover: \"Translate the voiceover\",\n video_auto_crop: \"Crop the video automatically\",\n video_filtering: \"Filter the video\",\n video_highlight: \"Cut a highlight from the video\",\n video_highlights: \"Cut highlights from the video\",\n video_to_image: \"Turn the video into a picture\",\n video_uncrop: \"Expand the video with AI\",\n video_uncrop_9x16_to_9x18: \"Expand a vertical video\",\n ig_video_native_subtitle: \"Add subtitles to the video\",\n} as const satisfies Record<string, string>;\nexport type VisualEnhancementFeature = keyof typeof VISUAL_ENHANCEMENT_FEATURES;\n\n/** The features that change the media which these enhancements switch on, in the reviewer's words. */\nexport function visualEnhancementsOn(enhancements: { features?: Record<string, string> } | undefined): string[] {\n return Object.entries(enhancements?.features ?? {})\n .filter(([key, status]) => status === \"OPT_IN\" && key in VISUAL_ENHANCEMENT_FEATURES)\n .map(([key]) => VISUAL_ENHANCEMENT_FEATURES[key as VisualEnhancementFeature]);\n}\n\n/** What the enhancements switch turns on or off: suggestions to the words, never to the media. */\nexport const TEXT_ENHANCEMENT_FEATURES = [\"text_optimizations\", \"inline_comment\"] as const;\n\n// --- Statuses ---\n\nexport const ENTITY_STATUSES = [\"ACTIVE\", \"PAUSED\", \"DELETED\", \"ARCHIVED\"] as const;\nexport type MetaEntityStatus = (typeof ENTITY_STATUSES)[number];\n\n/** Statuses a create op may request (Meta forbids launching straight to DELETED/ARCHIVED). */\nexport const STAGEABLE_CREATE_STATUSES = [\"ACTIVE\", \"PAUSED\"] as const;\n/**\n * Statuses a campaign, ad set or ad update op may set. ARCHIVED keeps the entity\n * readable in Ads Manager (and counts toward Meta's archived-object limit);\n * DELETED removes it for good and cannot be undone. The CLI stages DELETED only\n * through its `delete` command; `update --status` refuses it.\n */\nexport const UPDATE_STATUSES = [\"ACTIVE\", \"PAUSED\", \"ARCHIVED\", \"DELETED\"] as const;\n/**\n * Statuses a creative update may set. DELETED is how a creative is deleted —\n * `POST /{creative_id}` with `status: DELETED` (live on v25.0, 2026-10-14) —\n * and Meta refuses it for a creative an ad still uses.\n */\nexport const CREATIVE_UPDATE_STATUSES = [\"ACTIVE\", \"PAUSED\", \"ARCHIVED\", \"DELETED\"] as const;\n\n// --- Custom audiences ---\n\nexport const CUSTOM_AUDIENCE_SUBTYPES = [\"CUSTOM\", \"WEBSITE\", \"ENGAGEMENT\", \"LOOKALIKE\"] as const;\nexport type MetaCustomAudienceSubtype = (typeof CUSTOM_AUDIENCE_SUBTYPES)[number];\n\n/**\n * Where the rows of a customer-file audience came from. Meta publishes exactly\n * these three, and the field is a data-provenance declaration about personal\n * data — the one place in this file where a free string was the wrong type.\n */\nexport const CUSTOMER_FILE_SOURCES = [\n \"USER_PROVIDED_ONLY\",\n \"PARTNER_PROVIDED_ONLY\",\n \"BOTH_USER_AND_PARTNER_PROVIDED\",\n] as const;\nexport type MetaCustomerFileSource = (typeof CUSTOMER_FILE_SOURCES)[number];\n\n// --- Media ---\n\nexport const MEDIA_KINDS = [\"image\", \"video\"] as const;\nexport type MetaMediaKind = (typeof MEDIA_KINDS)[number];\n\n// --- Money ---\n\n// Minor-unit conversion for the wire lives in the backend's single source of\n// truth, `ads/meta/currency.ts` (Meta's own offset table: whole-unit and\n// hundredth currencies, an unlisted one refused). It is intentionally NOT duplicated here.\n\n/**\n * Indicative per-currency daily-budget floors (Meta enforces the authoritative\n * per-account `min_daily_budget` at stage time; these only catch obvious\n * mistakes offline). Amounts in major units.\n */\nexport const CURRENCY_MINIMUMS: Record<string, { dailyBudgetMin: number }> = {\n USD: { dailyBudgetMin: 1 },\n EUR: { dailyBudgetMin: 1 },\n GBP: { dailyBudgetMin: 1 },\n};\nexport const DEFAULT_CURRENCY_MINIMUM = { dailyBudgetMin: 1 };\n\n// --- Refs / ids ---\n\nexport const TEMP_REF_PREFIX = \"meta_temp_\";\nexport const TEMP_REF_REGEX = /^meta_temp_[A-Za-z0-9_-]{4,}$/;\n/** Meta node ids are bare numeric strings (the `act_` prefix is stripped for scoping). */\nexport const NUMERIC_ID_REGEX = /^\\d+$/;\n/** Ad-image hashes are hex; be lenient on length across Graph versions. */\nexport const IMAGE_HASH_REGEX = /^[A-Fa-f0-9]{16,}$/;\nexport const SIMULATED_ID_PREFIX = \"sim_meta_\";\n"],"mappings":"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AA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AASO,IAAM,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA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","names":[]}
@@ -1,275 +0,0 @@
1
- import {
2
- FLOW_ACCOUNT_ONLY_KINDS,
3
- FLOW_AGENT_DESTINATION_KINDS,
4
- FLOW_DELIVERY_SIDE_EFFECT_TYPES,
5
- FLOW_RESOURCE_NODE_TYPES,
6
- FLOW_SECRET_FIELDS,
7
- flowCatalogEntry,
8
- isFlowOauthSideEffect
9
- } from "./chunk-O37VU7FG.js";
10
- import {
11
- apiPost
12
- } from "./chunk-6YLNY6CK.js";
13
- import {
14
- writeJson
15
- } from "./chunk-QANGHND7.js";
16
-
17
- // src/commands/flows/shared.ts
18
- import { existsSync, readdirSync, readFileSync, writeFileSync } from "fs";
19
- import { join } from "path";
20
- var FLOWS_DIR = "src/lib/flow-engine/flows";
21
- function flowsDir() {
22
- let dir = process.cwd();
23
- for (let i = 0; i < 6; i++) {
24
- const candidate = join(dir, FLOWS_DIR);
25
- if (existsSync(candidate)) {
26
- return candidate;
27
- }
28
- const parent = join(dir, "..");
29
- if (parent === dir) {
30
- break;
31
- }
32
- dir = parent;
33
- }
34
- return join(process.cwd(), FLOWS_DIR);
35
- }
36
- function failLocal(message) {
37
- writeJson({ ok: false, error: { code: "NOT_FOUND", message } });
38
- process.exit(1);
39
- }
40
- function listFlowSlugs() {
41
- const dir = flowsDir();
42
- if (!existsSync(dir)) {
43
- return [];
44
- }
45
- return readdirSync(dir, { withFileTypes: true }).filter((entry) => entry.isDirectory() && !entry.name.startsWith("_") && entry.name !== ".gitkeep").map((entry) => entry.name).sort();
46
- }
47
- function flowDataPath(slug) {
48
- return join(flowsDir(), slug, "_data.json");
49
- }
50
- function writeFlowTree(slug, tree) {
51
- writeFileSync(flowDataPath(slug), `${JSON.stringify(tree, null, 2)}
52
- `, "utf-8");
53
- }
54
- function walkNodes(node, acc = []) {
55
- if (!node || typeof node !== "object") return acc;
56
- acc.push(node);
57
- if (Array.isArray(node.children)) {
58
- for (const child of node.children) walkNodes(child, acc);
59
- }
60
- return acc;
61
- }
62
- function collectSideEffects(tree) {
63
- return walkNodes(tree).flatMap(
64
- (node) => Array.isArray(node.sideEffects) ? node.sideEffects.filter((sideEffect) => Boolean(sideEffect) && typeof sideEffect === "object").map((sideEffect) => ({ node, sideEffect })) : []
65
- );
66
- }
67
- function sealedSideEffects(tree) {
68
- return collectSideEffects(tree).flatMap(({ sideEffect }) => {
69
- const { id, type, encryptedConfig } = sideEffect;
70
- const sealed = typeof id === "string" && typeof type === "string" && FLOW_DELIVERY_SIDE_EFFECT_TYPES.includes(type) && typeof encryptedConfig === "string" && encryptedConfig.length > 0;
71
- return sealed ? [{ sideEffectId: id, type, encryptedConfig }] : [];
72
- });
73
- }
74
- function describeSettings(settings) {
75
- if (typeof settings.email === "string") {
76
- return `to ${settings.email}${typeof settings.subject === "string" ? ` \xB7 subject "${settings.subject}"` : ""}`;
77
- }
78
- return Object.entries(settings).filter(([, value]) => typeof value === "string" || typeof value === "number").map(([key, value]) => `${key}: ${String(value)}`).join(" \xB7 ");
79
- }
80
- function withSettings(rows, settingsById) {
81
- return rows.map((row) => {
82
- const settings = row.sideEffectId ? settingsById[row.sideEffectId] : void 0;
83
- const described = settings ? describeSettings(settings) : "";
84
- return described ? { ...row, status: `${row.status} \u2192 ${described}` } : row;
85
- });
86
- }
87
- function flowExists(slug) {
88
- return existsSync(join(flowsDir(), slug, "_data.json"));
89
- }
90
- function readFlowTree(slug) {
91
- const path = join(flowsDir(), slug, "_data.json");
92
- if (!existsSync(path)) {
93
- failLocal(`No form "${slug}". Run "baker flows list" to see the forms in this workspace.`);
94
- }
95
- try {
96
- return JSON.parse(readFileSync(path, "utf-8"));
97
- } catch (error) {
98
- failLocal(`Could not read form "${slug}": ${error instanceof Error ? error.message : String(error)}`);
99
- }
100
- }
101
- function isConfigured(value) {
102
- return typeof value === "string" && value.length > 0;
103
- }
104
- function nodeMeta(record) {
105
- const nodeId = typeof record.id === "string" ? record.id : "";
106
- const nodeName = typeof record.name === "string" ? record.name : void 0;
107
- return { nodeId, ...nodeName ? { nodeName } : {} };
108
- }
109
- function widgetNodeStatus(record, meta) {
110
- const nodeData = record.nodeData;
111
- const nodeType = nodeData?.type;
112
- if (typeof nodeType !== "string" || !FLOW_RESOURCE_NODE_TYPES.includes(nodeType)) {
113
- return null;
114
- }
115
- const external = nodeData?.form?.external;
116
- const selected = external != null && typeof external === "object";
117
- const name = selected ? external.name : void 0;
118
- return {
119
- ...meta,
120
- target: "node",
121
- kind: nodeType,
122
- status: selected ? `${nodeType} \u2014 selected${typeof name === "string" ? ` "${name}"` : ""}` : `${nodeType} \u2014 not selected`,
123
- needsInput: !selected
124
- };
125
- }
126
- function sideEffectNeedsInput(raw) {
127
- const effect = raw;
128
- const type = effect?.type;
129
- if (typeof type !== "string" || !FLOW_DELIVERY_SIDE_EFFECT_TYPES.includes(type)) {
130
- return false;
131
- }
132
- const configured = isConfigured(effect?.encryptedConfig);
133
- if (!isFlowOauthSideEffect(type)) return !configured;
134
- return !isConfigured(effect?.oauthProviderId) || !configured;
135
- }
136
- function trackingStatus(effect, type, meta) {
137
- if (flowCatalogEntry("side-effect", type)?.owners?.tagIds !== "tags") return null;
138
- const tags = Array.isArray(effect.tagIds) ? effect.tagIds.length : 0;
139
- const event = typeof effect.eventName === "string" ? ` "${effect.eventName}"` : "";
140
- return {
141
- ...meta,
142
- target: "sideEffect",
143
- ...typeof effect.id === "string" ? { sideEffectId: effect.id } : {},
144
- kind: type,
145
- status: `${type}${event} \u2014 ${tags > 0 ? `[${tags} tag${tags === 1 ? "" : "s"}]` : "[no tag]"}`,
146
- needsInput: false
147
- };
148
- }
149
- function sideEffectStatus(raw, meta) {
150
- const effect = raw;
151
- const type = effect?.type;
152
- if (typeof type !== "string") return null;
153
- if (!FLOW_DELIVERY_SIDE_EFFECT_TYPES.includes(type)) {
154
- return effect ? trackingStatus(effect, type, meta) : null;
155
- }
156
- const configured = isConfigured(effect?.encryptedConfig);
157
- const oauth = isFlowOauthSideEffect(type);
158
- const connected = isConfigured(effect?.oauthProviderId);
159
- const needs = FLOW_SECRET_FIELDS[type];
160
- const status = oauth ? `${type} \u2014 connection ${connected ? "[connected]" : "[needs connection]"}, config ${configured ? "[set]" : "[missing]"}` : configured ? `${type} \u2014 [configured]` : `${type} \u2014 [missing]${needs.length > 0 ? ` (needs: ${needs.join(", ")})` : ""}`;
161
- return {
162
- ...meta,
163
- target: "sideEffect",
164
- ...typeof effect?.id === "string" ? { sideEffectId: effect.id } : {},
165
- kind: type,
166
- status,
167
- needsInput: sideEffectNeedsInput(effect)
168
- };
169
- }
170
- function requestFlowInputCall(slug, status) {
171
- const args = status.target === "node" ? `{ target: "node", flowSlug: "${slug}", nodeId: "${status.nodeId}", nodeType: "${status.kind}" }` : `{ target: "sideEffect", flowSlug: "${slug}", nodeId: "${status.nodeId}", sideEffectId: "${status.sideEffectId}", sideEffectType: "${status.kind}" }`;
172
- const card = `request_flow_input with ${args}`;
173
- const target = status.target === "node" ? `--node ${status.nodeId}` : `--side-effect ${status.sideEffectId}`;
174
- const fallback = "only if nothing is connected or several could be meant";
175
- if (status.kind === "email") {
176
- return `baker flows connect ${slug} ${target} --email "<who receives each lead, comma-separated>" --subject "<New lead \u2014 the Form's name>"`;
177
- }
178
- if (status.kind === "httpWebhook") {
179
- return `baker flows connect ${slug} ${target} --url <https address> \u2014 only a webhook that needs a token or password goes to the user: ${card}`;
180
- }
181
- if (status.kind === "hubspotForm") {
182
- return `baker flows connect ${slug} ${target} --hubspot-form <formId from baker hubspot forms list> \u2014 ${fallback}: ${card}`;
183
- }
184
- if (status.kind === "hubspot" || status.kind === "hubspotMeeting") {
185
- const list = status.kind === "hubspot" ? "forms view <id>" : "meetings view <slug>";
186
- return `write \`baker hubspot ${list} --as-node\` into the step's form.external \u2014 ${fallback}: ${card}`;
187
- }
188
- if (FLOW_ACCOUNT_ONLY_KINDS.includes(status.kind)) {
189
- return `baker flows connect ${slug} ${target} \u2014 ${fallback}: ${card}`;
190
- }
191
- if (FLOW_AGENT_DESTINATION_KINDS.includes(status.kind)) {
192
- const sheet = status.kind === "googleSpreadsheet" ? ' (or --new-sheet "<title>" --columns "\u2026")' : "";
193
- return `baker flows connect ${slug} ${target} --resource <id from baker flows options ${status.kind}>${sheet} \u2014 ${fallback}: ${card}`;
194
- }
195
- return card;
196
- }
197
- function collectConfigStatus(node, acc) {
198
- if (!node || typeof node !== "object") {
199
- return;
200
- }
201
- const record = node;
202
- const meta = nodeMeta(record);
203
- const widget = widgetNodeStatus(record, meta);
204
- if (widget) {
205
- acc.push(widget);
206
- }
207
- if (Array.isArray(record.sideEffects)) {
208
- for (const raw of record.sideEffects) {
209
- const status = sideEffectStatus(raw, meta);
210
- if (status) {
211
- acc.push(status);
212
- }
213
- }
214
- }
215
- if (Array.isArray(record.children)) {
216
- for (const child of record.children) {
217
- collectConfigStatus(child, acc);
218
- }
219
- }
220
- }
221
- function redactTree(node) {
222
- if (Array.isArray(node)) {
223
- return node.map(redactTree);
224
- }
225
- if (!node || typeof node !== "object") {
226
- return node;
227
- }
228
- const out = {};
229
- for (const [key, value] of Object.entries(node)) {
230
- if (key === "encryptedConfig") {
231
- out[key] = isConfigured(value) ? "[configured]" : value;
232
- } else {
233
- out[key] = redactTree(value);
234
- }
235
- }
236
- return out;
237
- }
238
- function stepNameKey(name) {
239
- return name.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toUpperCase();
240
- }
241
- function isUsableStepNameKey(key) {
242
- return /^[\p{ID_Start}$_][\p{ID_Continue}$‌‍]*$/u.test(key);
243
- }
244
- async function readSettings(tree) {
245
- const sealed = sealedSideEffects(tree);
246
- if (sealed.length === 0) return {};
247
- try {
248
- const { data } = await apiPost("/api/flows/destinations/reveal", {
249
- items: sealed.map(({ type, encryptedConfig }) => ({ type, encryptedConfig }))
250
- });
251
- return Object.fromEntries(sealed.map((item, index) => [item.sideEffectId, data.items[index] ?? null]));
252
- } catch {
253
- return null;
254
- }
255
- }
256
-
257
- export {
258
- flowsDir,
259
- listFlowSlugs,
260
- flowDataPath,
261
- writeFlowTree,
262
- walkNodes,
263
- collectSideEffects,
264
- withSettings,
265
- flowExists,
266
- readFlowTree,
267
- sideEffectNeedsInput,
268
- requestFlowInputCall,
269
- collectConfigStatus,
270
- redactTree,
271
- stepNameKey,
272
- isUsableStepNameKey,
273
- readSettings
274
- };
275
- //# sourceMappingURL=chunk-HPLHAHG5.js.map
@@ -1,122 +0,0 @@
1
- import {
2
- prepareCanvas,
3
- unsuppliedPlaceholderAssets
4
- } from "./chunk-XXDF25BW.js";
5
- import {
6
- isSourceStale
7
- } from "./chunk-O37VU7FG.js";
8
-
9
- // src/commands/canvas/render-state.ts
10
- import { mkdir, readdir, readFile, rm, writeFile } from "fs/promises";
11
- import path from "path";
12
- var RENDER_STATE_DIR = ".rendered";
13
- function statePath(canvasRoot, slug) {
14
- return path.join(canvasRoot, RENDER_STATE_DIR, `${slug}.json`);
15
- }
16
- async function readRenderState(canvasRoot, slug) {
17
- try {
18
- const parsed = JSON.parse(await readFile(statePath(canvasRoot, slug), "utf8"));
19
- return parsed && typeof parsed === "object" ? parsed : {};
20
- } catch {
21
- return {};
22
- }
23
- }
24
- async function latestVersion(canvasRoot, slug) {
25
- return (await readRenderState(canvasRoot, slug)).rendered?.runId ?? null;
26
- }
27
- async function updateRenderState(canvasRoot, slug, patch) {
28
- try {
29
- const next = { ...await readRenderState(canvasRoot, slug), ...patch };
30
- await mkdir(path.join(canvasRoot, RENDER_STATE_DIR), { recursive: true });
31
- await writeFile(statePath(canvasRoot, slug), `${JSON.stringify(next, null, 2)}
32
- `, "utf8");
33
- } catch {
34
- }
35
- }
36
- async function recordRenderAttempt(canvasRoot, slug, sourceSha) {
37
- if (!sourceSha) return;
38
- await updateRenderState(canvasRoot, slug, { attempted: { sourceSha, at: Date.now() } });
39
- }
40
- async function recordRendered(canvasRoot, slug, sourceSha, runId, drawn = {}) {
41
- if (!sourceSha) return;
42
- await updateRenderState(canvasRoot, slug, {
43
- rendered: { sourceSha, runId, at: Date.now() },
44
- ...drawn.prompt !== void 0 ? { prompt: drawn.prompt } : {},
45
- ...drawn.anchor ? { anchor: drawn.anchor } : {},
46
- ...drawn.idea ? { idea: drawn.idea } : {},
47
- lastFix: drawn.lastFix,
48
- picture: drawn.picture,
49
- ...drawn.seriesLeadRun ? { seriesLeadRun: drawn.seriesLeadRun } : {}
50
- });
51
- }
52
- async function recordSeen(canvasRoot, slug, seen) {
53
- await updateRenderState(canvasRoot, slug, { seen });
54
- }
55
- async function recordIdeaLines(canvasRoot, slug, idea) {
56
- if ((await readRenderState(canvasRoot, slug)).idea) return;
57
- await updateRenderState(canvasRoot, slug, { idea });
58
- }
59
- async function recordReviewOutcome(canvasRoot, slug, outcome) {
60
- await updateRenderState(canvasRoot, slug, outcome);
61
- }
62
- async function recordSeriesLeadRun(canvasRoot, slug, leadRunId) {
63
- await updateRenderState(canvasRoot, slug, { seriesLeadRun: leadRunId });
64
- }
65
- async function recordSnapshot(canvasRoot, slug, snapshot) {
66
- await updateRenderState(canvasRoot, slug, { snapshot });
67
- }
68
- function isRenderStale(state, currentSourceSha) {
69
- if (!state.rendered) return false;
70
- if (!isSourceStale(currentSourceSha, state.rendered.sourceSha)) return false;
71
- return state.attempted?.sourceSha !== currentSourceSha;
72
- }
73
- async function staleCreatives(workspaceRoot) {
74
- const creativesDir = path.join(workspaceRoot, "src", "creatives");
75
- const canvasRoot = path.join(workspaceRoot, "canvas");
76
- let slugs;
77
- try {
78
- slugs = (await readdir(creativesDir, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => d.name);
79
- } catch {
80
- return [];
81
- }
82
- const stale = [];
83
- for (const slug of slugs.sort()) {
84
- const state = await readRenderState(canvasRoot, slug);
85
- if (!state.rendered) continue;
86
- const canvasPath = path.join(creativesDir, slug, `${slug}.canvas.json`);
87
- let prepared;
88
- try {
89
- prepared = await prepareCanvas(canvasPath, { write: false });
90
- } catch {
91
- continue;
92
- }
93
- if (unsuppliedPlaceholderAssets(prepared.fileGraph).length > 0) continue;
94
- const current = prepared.sourceSha;
95
- if (!current || !isRenderStale(state, current)) continue;
96
- stale.push({
97
- slug,
98
- canvasPath: path.relative(workspaceRoot, canvasPath).split(path.sep).join("/"),
99
- renderedRunId: state.rendered.runId,
100
- sourceSha: current
101
- });
102
- }
103
- return stale;
104
- }
105
- async function clearLegacyDirtyMarker(canvasRoot, slug) {
106
- await rm(path.join(canvasRoot, ".dirty", `${slug}.json`), { force: true }).catch(() => void 0);
107
- }
108
-
109
- export {
110
- readRenderState,
111
- latestVersion,
112
- recordRenderAttempt,
113
- recordRendered,
114
- recordSeen,
115
- recordIdeaLines,
116
- recordReviewOutcome,
117
- recordSeriesLeadRun,
118
- recordSnapshot,
119
- staleCreatives,
120
- clearLegacyDirtyMarker
121
- };
122
- //# sourceMappingURL=chunk-I24YT2KG.js.map