@koda-sl/baker-cli 0.477.0-dev.55c09e3e8 → 0.481.0-dev.2d33e194f

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 (1364) hide show
  1. package/README.md +130 -59
  2. package/canvas/avocado-tutorial.json +3 -3
  3. package/canvas/hello-world-overlay.json +1 -1
  4. package/dist/account-67PZBEP6.js +79 -0
  5. package/dist/account-HZC6X2PH.js +49 -0
  6. package/dist/account-TQUV64XP.js +80 -0
  7. package/dist/account-reads-IRBTERTY.js +218 -0
  8. package/dist/account-writes-ALDSHAEV.js +66 -0
  9. package/dist/accounts-4P54UY6F.js +115 -0
  10. package/dist/accounts-6UNBLIUH.js +75 -0
  11. package/dist/accounts-GVTZN4VE.js +114 -0
  12. package/dist/accounts-NJ6TF6WH.js +611 -0
  13. package/dist/accounts-WTB737BM.js +77 -0
  14. package/dist/actions-D3BOWDEB.js +55 -0
  15. package/dist/active-entities-J2O76SRP.js +103 -0
  16. package/dist/activities-2J7FTZMN.js +74 -0
  17. package/dist/ad-group-writes-PQKDCMQF.js +170 -0
  18. package/dist/ad-groups-NGYEJMV4.js +68 -0
  19. package/dist/ad-writes-77FVHJTS.js +174 -0
  20. package/dist/add-2FHPLALV.js +105 -0
  21. package/dist/add-2XJYOGKW.js +104 -0
  22. package/dist/add-62JPGFD4.js +302 -0
  23. package/dist/add-JP76KCCY.js +97 -0
  24. package/dist/add-accounts-M5Y4DQFM.js +91 -0
  25. package/dist/ads-DB5NDHX5.js +128 -0
  26. package/dist/ads-J2F7BSHR.js +45 -0
  27. package/dist/ads-J2F7BSHR.js.map +1 -0
  28. package/dist/ads-LYNA2I7B.js +77 -0
  29. package/dist/ads-W2IPUWHQ.js +113 -0
  30. package/dist/adsets-PY5ZKGBO.js +176 -0
  31. package/dist/advertisers-BVAZ4XUX.js +125 -0
  32. package/dist/advertisers-NZPJQF7W.js +120 -0
  33. package/dist/analytics-K2QIWKBN.js +444 -0
  34. package/dist/analytics-K2QIWKBN.js.map +1 -0
  35. package/dist/analytics-NTPZKMYK.js +1976 -0
  36. package/dist/animate-EIV2OHXT.js +480 -0
  37. package/dist/assign-UNIA5YDC.js +77 -0
  38. package/dist/audience-size-4NN6ENP5.js +94 -0
  39. package/dist/audiences-45ZCY2VZ.js +268 -0
  40. package/dist/audiences-UUIYQFS6.js +78 -0
  41. package/dist/audiences-VYFX7OFS.js +85 -0
  42. package/dist/audit-NSVHNA5J.js +151 -0
  43. package/dist/audit-OWXTLQC4.js +88 -0
  44. package/dist/autocomplete-EHWAQYVB.js +111 -0
  45. package/dist/avatars-7WZPW7BV.js +38 -0
  46. package/dist/bid-pricing-F5NDMS6W.js +99 -0
  47. package/dist/brand-QAJ5VWFM.js +22 -0
  48. package/dist/brief-V2OB5OJW.js +490 -0
  49. package/dist/businesses-ZH67AXR6.js +53 -0
  50. package/dist/campaign-groups-KFJKLNNU.js +95 -0
  51. package/dist/campaign-writes-BDGQ6XB3.js +170 -0
  52. package/dist/campaign-writes-FNMAGCKB.js +165 -0
  53. package/dist/campaigns-66OOGMDW.js +110 -0
  54. package/dist/campaigns-6HMHOXXY.js +109 -0
  55. package/dist/campaigns-HJTGX5WW.js +76 -0
  56. package/dist/campaigns-KT3J2O7S.js +107 -0
  57. package/dist/canvas-MQ6ZE5CZ.js +46 -0
  58. package/dist/capabilities-RVUMPP7C.js +144 -0
  59. package/dist/cards-I4BZIYUV.js +85 -0
  60. package/dist/catalog-NLL5VDRK.js +64 -0
  61. package/dist/catalogs-B2NKQO24.js +128 -0
  62. package/dist/changes-FX3TPYGT.js +135 -0
  63. package/dist/chatgpt-3NS2R442.js +47 -0
  64. package/dist/chats-72L7U4ML.js +262 -0
  65. package/dist/chunk-2KIF3U2C.js +51 -0
  66. package/dist/chunk-35ENAFJX.js +46 -0
  67. package/dist/chunk-3ZWHAIMU.js +207 -0
  68. package/dist/chunk-3ZWHAIMU.js.map +1 -0
  69. package/dist/chunk-4DM6OAQ6.js +2065 -0
  70. package/dist/chunk-4DM6OAQ6.js.map +1 -0
  71. package/dist/chunk-4TU2MWBJ.js +275 -0
  72. package/dist/chunk-57UECM77.js +98 -0
  73. package/dist/chunk-65BQAJMH.js +136 -0
  74. package/dist/chunk-6GFJFTG6.js +75 -0
  75. package/dist/chunk-6HPIWZHS.js +76 -0
  76. package/dist/chunk-73B3RQJC.js +610 -0
  77. package/dist/chunk-7GYM4I5I.js +206 -0
  78. package/dist/chunk-7NTION5F.js +26 -0
  79. package/dist/chunk-7SX73SH2.js +2902 -0
  80. package/dist/chunk-7SX73SH2.js.map +1 -0
  81. package/dist/chunk-AFDPISNJ.js +111 -0
  82. package/dist/chunk-AIDXJHZ4.js +433 -0
  83. package/dist/chunk-AR7PU7BB.js +76 -0
  84. package/dist/chunk-AXVOBRQT.js +1442 -0
  85. package/dist/chunk-BBBZR7MF.js +160 -0
  86. package/dist/chunk-BVYPRGPG.js +92 -0
  87. package/dist/chunk-CAMX6OHF.js +3182 -0
  88. package/dist/chunk-CAMX6OHF.js.map +1 -0
  89. package/dist/chunk-CBCGVPHB.js +125 -0
  90. package/dist/chunk-CECS3DHZ.js +333 -0
  91. package/dist/chunk-CZYUZL6R.js +3151 -0
  92. package/dist/chunk-D5MF337I.js +97 -0
  93. package/dist/chunk-DDTILZXI.js +103 -0
  94. package/dist/chunk-DL2W4N7J.js +52 -0
  95. package/dist/chunk-DLUWHZCE.js +225 -0
  96. package/dist/chunk-EOGPNV25.js +509 -0
  97. package/dist/chunk-F3FSD6BO.js +96 -0
  98. package/dist/chunk-FDG2LLX7.js +494 -0
  99. package/dist/chunk-FE7T32YL.js +163 -0
  100. package/dist/chunk-FE7T32YL.js.map +1 -0
  101. package/dist/chunk-FIN4ZXGJ.js +70 -0
  102. package/dist/chunk-FIN4ZXGJ.js.map +1 -0
  103. package/dist/chunk-FO5EP6DA.js +24008 -0
  104. package/dist/chunk-FO5EP6DA.js.map +1 -0
  105. package/dist/chunk-FSGTITIW.js +622 -0
  106. package/dist/chunk-FSGTITIW.js.map +1 -0
  107. package/dist/chunk-FSPV2DUG.js +310 -0
  108. package/dist/chunk-FSPV2DUG.js.map +1 -0
  109. package/dist/chunk-FYAWA3FO.js +1830 -0
  110. package/dist/chunk-G3KO2HFZ.js +35 -0
  111. package/dist/chunk-GKXMIXEV.js +166 -0
  112. package/dist/chunk-GT4UFORX.js +296 -0
  113. package/dist/chunk-GZ6YS7TG.js +106 -0
  114. package/dist/chunk-H7JOVRHO.js +106 -0
  115. package/dist/chunk-IJDF7D4U.js +139 -0
  116. package/dist/chunk-INJHF7AF.js +172 -0
  117. package/dist/chunk-IZFGTGFR.js +67 -0
  118. package/dist/chunk-J2QOKD2F.js +76 -0
  119. package/dist/chunk-J5WZ7SAD.js +346 -0
  120. package/dist/chunk-JC6GNMA7.js +297 -0
  121. package/dist/chunk-KB5HBQEK.js +25 -0
  122. package/dist/chunk-KB5XJHQX.js +216 -0
  123. package/dist/chunk-KM4AAAHZ.js +5187 -0
  124. package/dist/chunk-KM4AAAHZ.js.map +1 -0
  125. package/dist/chunk-LFZTGIPJ.js +384 -0
  126. package/dist/chunk-LFZTGIPJ.js.map +1 -0
  127. package/dist/chunk-LHNL6JM2.js +309 -0
  128. package/dist/chunk-LMHVLUD4.js +175 -0
  129. package/dist/chunk-LMHVLUD4.js.map +1 -0
  130. package/dist/chunk-NAMEFVWL.js +1743 -0
  131. package/dist/chunk-NORAJYUI.js +172 -0
  132. package/dist/chunk-NQTSHC7Z.js +304 -0
  133. package/dist/chunk-O3LHCQ7Q.js +136 -0
  134. package/dist/chunk-O4ABJ352.js +4410 -0
  135. package/dist/chunk-O4ABJ352.js.map +1 -0
  136. package/dist/chunk-O5XLQUDS.js +846 -0
  137. package/dist/chunk-OI7KSXZM.js +6265 -0
  138. package/dist/chunk-OI7KSXZM.js.map +1 -0
  139. package/dist/chunk-OO67YTPM.js +35 -0
  140. package/dist/chunk-OO67YTPM.js.map +1 -0
  141. package/dist/chunk-OXBPKBSK.js +6667 -0
  142. package/dist/chunk-OXBPKBSK.js.map +1 -0
  143. package/dist/chunk-P3XJUOWT.js +474 -0
  144. package/dist/chunk-P3ZJIIDS.js +57 -0
  145. package/dist/chunk-P5T7OZKV.js +26 -0
  146. package/dist/chunk-P66JWKAL.js +533 -0
  147. package/dist/chunk-P66JWKAL.js.map +1 -0
  148. package/dist/chunk-PA5MYVQY.js +66 -0
  149. package/dist/chunk-PELW56D7.js +45 -0
  150. package/dist/chunk-PGVF4SB7.js +169 -0
  151. package/dist/chunk-Q676JHJA.js +58 -0
  152. package/dist/chunk-QDOVBGKZ.js +149 -0
  153. package/dist/chunk-QHIUJXU7.js +363 -0
  154. package/dist/chunk-QJPPPQPD.js +98 -0
  155. package/dist/chunk-QNEX7FEC.js +174 -0
  156. package/dist/chunk-QTL4NJ5I.js +65 -0
  157. package/dist/chunk-QTL4NJ5I.js.map +1 -0
  158. package/dist/chunk-QWX3QJNM.js +170 -0
  159. package/dist/chunk-QXDEZKAR.js +455 -0
  160. package/dist/chunk-QXDEZKAR.js.map +1 -0
  161. package/dist/chunk-RG7OMI5W.js +1621 -0
  162. package/dist/chunk-RG7OMI5W.js.map +1 -0
  163. package/dist/chunk-RUHMLPH5.js +455 -0
  164. package/dist/chunk-SJLIV6PF.js +19 -0
  165. package/dist/chunk-SLCSLVGS.js +274 -0
  166. package/dist/chunk-THU74XR6.js +96 -0
  167. package/dist/chunk-TY7TEU3T.js +1079 -0
  168. package/dist/chunk-UXTZ5MBE.js +56 -0
  169. package/dist/chunk-V43RLLZE.js +55 -0
  170. package/dist/chunk-V7PMSMPF.js +817 -0
  171. package/dist/chunk-VFSLIDXA.js +42 -0
  172. package/dist/chunk-VHMNSO2B.js +84 -0
  173. package/dist/chunk-VKH6LSC2.js +188 -0
  174. package/dist/chunk-VTCBPYGE.js +592 -0
  175. package/dist/chunk-W6ASM6UP.js +197 -0
  176. package/dist/chunk-W7KB3LJE.js +60 -0
  177. package/dist/chunk-WESRVXFS.js +133 -0
  178. package/dist/chunk-WILN7TD6.js +84 -0
  179. package/dist/chunk-YGK7ZHNI.js +337 -0
  180. package/dist/chunk-YGK7ZHNI.js.map +1 -0
  181. package/dist/chunk-YGL5LTEA.js +665 -0
  182. package/dist/chunk-YONSWWCF.js +215 -0
  183. package/dist/chunk-Z5KBRTB2.js +191 -0
  184. package/dist/chunk-Z62XZCBE.js +541 -0
  185. package/dist/chunk-Z62XZCBE.js.map +1 -0
  186. package/dist/chunk-ZBKBTTHD.js +74 -0
  187. package/dist/chunk-ZJR5E53N.js +23 -0
  188. package/dist/chunk-ZLU5QDLU.js +486 -0
  189. package/dist/chunk-ZNNC6B75.js +94 -0
  190. package/dist/chunk-ZO2YLHRW.js +74 -0
  191. package/dist/chunk-ZPJE6D7W.js +74 -0
  192. package/dist/claim-DIITRUIN.js +197 -0
  193. package/dist/cli.js +38 -39
  194. package/dist/cli.js.map +1 -1
  195. package/dist/client-LY2JCQS2.js +19 -0
  196. package/dist/code-7CBNYUPU.js +76 -0
  197. package/dist/companies-HHSYHL74.js +195 -0
  198. package/dist/complete-M3TURPU5.js +81 -0
  199. package/dist/config-7COTFJWK.js +88 -0
  200. package/dist/connect-TQL5EVVE.js +42 -0
  201. package/dist/content-OXMONMHJ.js +85 -0
  202. package/dist/conversation-GE273GC4.js +93 -0
  203. package/dist/conversion-report-BH4HH2Q3.js +125 -0
  204. package/dist/conversion-upload-command-QWWYCTNV.js +438 -0
  205. package/dist/conversion-writes-HG2O6JI7.js +120 -0
  206. package/dist/conversions-DP6ZF57D.js +135 -0
  207. package/dist/conversions-XPSN7SOW.js +76 -0
  208. package/dist/countries-UXAUGSBR.js +82 -0
  209. package/dist/create-ENQWVWGB.js +59 -0
  210. package/dist/create-NVXJP477.js +207 -0
  211. package/dist/create-PITWGVAS.js +130 -0
  212. package/dist/create-PITWGVAS.js.map +1 -0
  213. package/dist/create-XLZYNFKN.js +235 -0
  214. package/dist/creatives-O3444SBT.js +182 -0
  215. package/dist/creatives-ONKKGW5T.js +87 -0
  216. package/dist/creatives-U6IKIQBT.js +51 -0
  217. package/dist/credentials-3UY7RVUL.js +287 -0
  218. package/dist/critique-3LMW73QJ.js +1449 -0
  219. package/dist/critique-KB32Y4AW.js +213 -0
  220. package/dist/crm-OX67TBWD.js +224 -0
  221. package/dist/crm-XXU5XZIQ.js +318 -0
  222. package/dist/crop-3ZV5BFCA.js +113 -0
  223. package/dist/currency-XP4EMU4M.js +88 -0
  224. package/dist/custom-conversions-TV23XQHW.js +125 -0
  225. package/dist/customers-EJ7FVCTC.js +56 -0
  226. package/dist/decide-EGQ3CRHI.js +199 -0
  227. package/dist/delete-55IHV25V.js +63 -0
  228. package/dist/delete-GXLPIGTC.js +54 -0
  229. package/dist/delete-MUPTLWHI.js +71 -0
  230. package/dist/delete-OW2N4WIA.js +66 -0
  231. package/dist/delete-R2SEUSLV.js +69 -0
  232. package/dist/delete-ZGBBWFAW.js +71 -0
  233. package/dist/demographics-K6DEWUE5.js +138 -0
  234. package/dist/describe-4O3VCV6L.js +97 -0
  235. package/dist/describe-FCTM53MM.js +97 -0
  236. package/dist/dimensions-AD4VS5AH.js +101 -0
  237. package/dist/discard-NZ7FQJEE.js +66 -0
  238. package/dist/discover-OISU5EJF.js +172 -0
  239. package/dist/discover-UQXQUPNO.js +93 -0
  240. package/dist/domain-DXBHNZLO.js +98 -0
  241. package/dist/download-IE6XLFHM.js +299 -0
  242. package/dist/draft-DB6KMBCH.js +306 -0
  243. package/dist/draft-ENA7S4Y7.js +103 -0
  244. package/dist/draft-HJBAG3SN.js +307 -0
  245. package/dist/draft-ICEVLF4E.js +328 -0
  246. package/dist/draft-MGKJ5RYI.js +100 -0
  247. package/dist/draft-OBFKQEPK.js +281 -0
  248. package/dist/draft-OOHU6NMA.js +217 -0
  249. package/dist/draft-S6VPKZYY.js +233 -0
  250. package/dist/engine/index.js +13 -13
  251. package/dist/env-YLOVBOAE.js +43 -0
  252. package/dist/experiment-PHFP6IBM.js +1397 -0
  253. package/dist/export-R2IMUCQO.js +168 -0
  254. package/dist/extract-OQP3TSQG.js +113 -0
  255. package/dist/facets-NUKR7I57.js +114 -0
  256. package/dist/favorites-NS73FDG5.js +178 -0
  257. package/dist/feed-SQPOB7SP.js +177 -0
  258. package/dist/feedback-SQAAAKOQ.js +66 -0
  259. package/dist/feedback-record-7W7WBHSQ.js +175 -0
  260. package/dist/fetch-PQ3NOPIE.js +139 -0
  261. package/dist/fetch-PTSAVQW5.js +176 -0
  262. package/dist/find-Y22AANDE.js +134 -0
  263. package/dist/find-Y22AANDE.js.map +1 -0
  264. package/dist/fit-IITU6UWC.js +45 -0
  265. package/dist/flows-ZLF3QJ76.js +247 -0
  266. package/dist/flows-ZLF3QJ76.js.map +1 -0
  267. package/dist/follow-N3DQZV7M.js +94 -0
  268. package/dist/follow-competitors-BZPCBGIB.js +112 -0
  269. package/dist/following-KESWTEBR.js +113 -0
  270. package/dist/fonts-FG6XMK5A.js +34 -0
  271. package/dist/forecast-43XBSHJR.js +168 -0
  272. package/dist/forecast-MAFZQ4UF.js +104 -0
  273. package/dist/funding-HYSCYS62.js +85 -0
  274. package/dist/funnel-32CNV57L.js +394 -0
  275. package/dist/ga4-J2KTNCD4.js +55 -0
  276. package/dist/generate-G3I5BLLW.js +262 -0
  277. package/dist/generate-G3I5BLLW.js.map +1 -0
  278. package/dist/get-3P2EQLP3.js +63 -0
  279. package/dist/get-FJB3X44Z.js +61 -0
  280. package/dist/get-GDF5V3RN.js +78 -0
  281. package/dist/get-MBGO4VJD.js +63 -0
  282. package/dist/get-NOKSZPIV.js +59 -0
  283. package/dist/get-W7MKBMQ3.js +56 -0
  284. package/dist/get-WHC4SRYK.js +92 -0
  285. package/dist/gif-SFYVDLCU.js +94 -0
  286. package/dist/google-THWFDDHJ.js +3191 -0
  287. package/dist/google-THWFDDHJ.js.map +1 -0
  288. package/dist/google-XRAMIES5.js +136 -0
  289. package/dist/google-ads-N55SE2CB.js +195 -0
  290. package/dist/group-6RDJTWVN.js +43 -0
  291. package/dist/group-TZJCKHKS.js +43 -0
  292. package/dist/gsc-HD6UFRYM.js +30 -0
  293. package/dist/history-4RWCE7WW.js +67 -0
  294. package/dist/history-IROFQ6LA.js +133 -0
  295. package/dist/hubspot-75N4AI43.js +779 -0
  296. package/dist/icon-BMCDFGMN.js +137 -0
  297. package/dist/ideas-7UQMXLI5.js +32 -0
  298. package/dist/images-OFR3S2U4.js +90 -0
  299. package/dist/improve-P6F2HXYQ.js +86 -0
  300. package/dist/ingest-HGR7KSG4.js +107 -0
  301. package/dist/ingest-XU4WXE4U.js +23 -0
  302. package/dist/insights-7SI2TB72.js +128 -0
  303. package/dist/insights-7SI2TB72.js.map +1 -0
  304. package/dist/insights-P5VIDOZN.js +432 -0
  305. package/dist/insights-P5VIDOZN.js.map +1 -0
  306. package/dist/inspect-TL2VZBN7.js +189 -0
  307. package/dist/inspiration-7WTS3AVI.js +53 -0
  308. package/dist/intent-OCZE4O7R.js +95 -0
  309. package/dist/job-XMPQ27SJ.js +202 -0
  310. package/dist/job-create-HTDQHPEF.js +109 -0
  311. package/dist/job-status-L7WUTZ2C.js +74 -0
  312. package/dist/keep-42SLV4CR.js +78 -0
  313. package/dist/keyword-gap-323NE4AK.js +130 -0
  314. package/dist/keyword-metrics-V6DGO7U5.js +197 -0
  315. package/dist/keywords-for-site-ANSLXBHB.js +128 -0
  316. package/dist/landing-K25GUBLZ.js +28 -0
  317. package/dist/landings-5IYXHA5Z.js +151 -0
  318. package/dist/languages-SRFGW6Z3.js +55 -0
  319. package/dist/languages-US6JUATO.js +40 -0
  320. package/dist/launches-7U4TPNO3.js +108 -0
  321. package/dist/launches-7U4TPNO3.js.map +1 -0
  322. package/dist/layerize-U672AXED.js +190 -0
  323. package/dist/leads-MXUQISOC.js +293 -0
  324. package/dist/leads-UJVKPRXX.js +90 -0
  325. package/dist/learn-XTEU4K66.js +203 -0
  326. package/dist/library-RPFXNER4.js +109 -0
  327. package/dist/library-RPFXNER4.js.map +1 -0
  328. package/dist/lighthouse-SJ4QNLUS.js +75 -0
  329. package/dist/line-item-writes-NURRHJ7P.js +208 -0
  330. package/dist/line-items-PC6QWV5J.js +103 -0
  331. package/dist/link-ZSXKCLQD.js +64 -0
  332. package/dist/linkedin-EZJJBKY3.js +1008 -0
  333. package/dist/list-ECF3RA26.js +303 -0
  334. package/dist/list-GQ65MC2N.js +65 -0
  335. package/dist/list-K56J7FZW.js +51 -0
  336. package/dist/list-M4Z3WYPM.js +76 -0
  337. package/dist/list-N7ZLO2LE.js +63 -0
  338. package/dist/list-Q5ZZRPHO.js +151 -0
  339. package/dist/list-SXYVDDMU.js +57 -0
  340. package/dist/list-XFIOXFB2.js +50 -0
  341. package/dist/locations-LZUHWKZY.js +40 -0
  342. package/dist/locations-NG4YXIBT.js +67 -0
  343. package/dist/log-EEBJQ6X2.js +92 -0
  344. package/dist/logo-4JOWGJ5A.js +18 -0
  345. package/dist/lookup-7NBZ64TE.js +22 -0
  346. package/dist/make-3J5EK52U.js +633 -0
  347. package/dist/make-3J5EK52U.js.map +1 -0
  348. package/dist/map-JVVNH2RI.js +404 -0
  349. package/dist/map-JVVNH2RI.js.map +1 -0
  350. package/dist/mcp-DAKGMA2Z.js +463 -0
  351. package/dist/media-2SWDJDA6.js +15 -0
  352. package/dist/media-R64YP7T2.js +89 -0
  353. package/dist/media-sources-L2X3KRDU.js +32 -0
  354. package/dist/members-22BOEGQS.js +44 -0
  355. package/dist/meta-RBHF2RG3.js +69 -0
  356. package/dist/metrics-IXRQZVSM.js +152 -0
  357. package/dist/models-BDXZ56GI.js +155 -0
  358. package/dist/normalize-JAE3NVOX.js +141 -0
  359. package/dist/normalize-P5Q3F7FU.js +806 -0
  360. package/dist/options-YTIU3BDC.js +121 -0
  361. package/dist/options-YTIU3BDC.js.map +1 -0
  362. package/dist/output-ZL62UZHQ.js +24 -0
  363. package/dist/page-FZ7IZ5CV.js +105 -0
  364. package/dist/pages-SS7TZTHV.js +66 -0
  365. package/dist/performance-FOOV624A.js +24 -0
  366. package/dist/performance-VYEANYQ5.js +4707 -0
  367. package/dist/performance-VYEANYQ5.js.map +1 -0
  368. package/dist/pinterest-UETS7U7U.js +96 -0
  369. package/dist/pixels-LCTMLKGP.js +108 -0
  370. package/dist/pixels-MPZYWGFD.js +60 -0
  371. package/dist/plan-V74EVXTW.js +207 -0
  372. package/dist/preview-RU54Z4EM.js +169 -0
  373. package/dist/profile-NQOIBLJL.js +150 -0
  374. package/dist/profile-NQOIBLJL.js.map +1 -0
  375. package/dist/promoted-tweet-writes-FQRFU7PB.js +180 -0
  376. package/dist/promoted-tweets-L2L3V5SF.js +119 -0
  377. package/dist/properties-ZUDQH3LE.js +101 -0
  378. package/dist/publish-5XTAHTM4.js +322 -0
  379. package/dist/query-26T7XATH.js +236 -0
  380. package/dist/query-SHUOHXTO.js +247 -0
  381. package/dist/query-XISUHMBR.js +62 -0
  382. package/dist/questionnaire-UG55JLVW.js +93 -0
  383. package/dist/read-UYSQAXRV.js +141 -0
  384. package/dist/reddit-BCB4FT6J.js +26 -0
  385. package/dist/refresh-WY5NPNLX.js +94 -0
  386. package/dist/release-JBSPPNQE.js +60 -0
  387. package/dist/relevant-pages-OU5H56KY.js +99 -0
  388. package/dist/remove-2KACTXKP.js +48 -0
  389. package/dist/remove-M5P7M5JU.js +50 -0
  390. package/dist/reopen-J3VW5766.js +63 -0
  391. package/dist/rerun-5MRYJG6U.js +84 -0
  392. package/dist/research-4CAA5CA2.js +262 -0
  393. package/dist/research-7LBTJ2B2.js +62 -0
  394. package/dist/reset-DBWWGCXY.js +54 -0
  395. package/dist/reset-DJSSXC4Y.js +54 -0
  396. package/dist/resolve-BNRUYS56.js +121 -0
  397. package/dist/retry-TMRIFGVT.js +62 -0
  398. package/dist/retry-WRBGLB7O.js +60 -0
  399. package/dist/retry-failed-NWLH6WHK.js +45 -0
  400. package/dist/run-TA3DP6QG.js +59 -0
  401. package/dist/run-VVTLDRRW.js +65 -0
  402. package/dist/scaffold-ad-7DSV6XDB.js +1548 -0
  403. package/dist/scaffold-static-ad-BEZ37QWN.js +971 -0
  404. package/dist/scaffold-video-SPCMTYK3.js +872 -0
  405. package/dist/schedule-BQQGYGT7.js +61 -0
  406. package/dist/schedule-S547HPUT.js +66 -0
  407. package/dist/scheduled-agents-4Q6WS333.js +49 -0
  408. package/dist/scheduled-agents-4Q6WS333.js.map +1 -0
  409. package/dist/schema-DDEWM5ZX.js +132 -0
  410. package/dist/schema-SQIP75WG.js +63 -0
  411. package/dist/scrape-TI6S2W7I.js +2241 -0
  412. package/dist/screenshot-XFAYY4WW.js +102 -0
  413. package/dist/search-4HIOKYFR.js +26 -0
  414. package/dist/search-D2IV7KFJ.js +92 -0
  415. package/dist/search-IZPDHRJ4.js +224 -0
  416. package/dist/search-KFDL2IGG.js +91 -0
  417. package/dist/search-VJBKRD2U.js +174 -0
  418. package/dist/search-copy-QZXCAGK4.js +168 -0
  419. package/dist/seeds-VUNZMHZH.js +101 -0
  420. package/dist/select-U5TPAXGY.js +94 -0
  421. package/dist/sends-7HWLIOUO.js +309 -0
  422. package/dist/sequences-5RAGZE7L.js +146 -0
  423. package/dist/set-prompt-MHU4WI3Q.js +185 -0
  424. package/dist/setup-links-SPIGXQTY.js +141 -0
  425. package/dist/shared-3CGGKICB.js +31 -0
  426. package/dist/site-FW6K6L6M.js +177 -0
  427. package/dist/sitemaps-3WDYQHYR.js +87 -0
  428. package/dist/sites-G4DQ2Z2X.js +101 -0
  429. package/dist/skills-PA26HXEP.js +47 -0
  430. package/dist/sources-4NAC6HV6.js +421 -0
  431. package/dist/sources-4NAC6HV6.js.map +1 -0
  432. package/dist/sources-PMBWG4KO.js +30 -0
  433. package/dist/stale-5IMY6MWC.js +63 -0
  434. package/dist/stats-Q35I5DRW.js +34 -0
  435. package/dist/status-62SUXUWW.js +62 -0
  436. package/dist/sticker-MC2IAIQB.js +94 -0
  437. package/dist/stock-B7LKMKUK.js +179 -0
  438. package/dist/studio-BB2EVW5I.js +49 -0
  439. package/dist/sync-CLZDZL5F.js +54 -0
  440. package/dist/sync-XCHBEBZG.js +279 -0
  441. package/dist/sync-XCHBEBZG.js.map +1 -0
  442. package/dist/sync-YTHNOAAM.js +54 -0
  443. package/dist/sync-definition-DYSVT7BJ.js +52 -0
  444. package/dist/tag-manager-EAREWVYR.js +43 -0
  445. package/dist/tags-53AG3FYG.js +20 -0
  446. package/dist/tags-7TH7TVR6.js +224 -0
  447. package/dist/tags-EB4RE3ML.js +20 -0
  448. package/dist/tags-EUEWDTTN.js +20 -0
  449. package/dist/tags-ICAWBCOR.js +26 -0
  450. package/dist/targeting-constants-IFE72XKL.js +118 -0
  451. package/dist/targeting-criteria-WZDGJKOI.js +113 -0
  452. package/dist/targets-OKJ6A4YL.js +102 -0
  453. package/dist/templates-IA5TDCCZ.js +178 -0
  454. package/dist/templates-IA5TDCCZ.js.map +1 -0
  455. package/dist/testimonials-THHR5JH5.js +32 -0
  456. package/dist/themes-ZFRM6AVO.js +94 -0
  457. package/dist/top-companies-63Q475IA.js +108 -0
  458. package/dist/translate-XKUWIIOS.js +598 -0
  459. package/dist/triggers-XLKO2QXQ.js +141 -0
  460. package/dist/tweets-7EZRFG3Y.js +123 -0
  461. package/dist/unfollow-WBBTVEHE.js +46 -0
  462. package/dist/unlink-P7KU54YU.js +67 -0
  463. package/dist/unstage-EG7AUE5X.js +84 -0
  464. package/dist/unstage-GHXGDOT2.js +95 -0
  465. package/dist/update-7EWDO32L.js +98 -0
  466. package/dist/update-BVYGB4YL.js +142 -0
  467. package/dist/update-KVMQOVQK.js +63 -0
  468. package/dist/update-N74F5KXB.js +155 -0
  469. package/dist/upload-6PYPHPCZ.js +126 -0
  470. package/dist/upload-NA62W5RS.js +150 -0
  471. package/dist/upscale-RXJUBHXN.js +109 -0
  472. package/dist/url-options-EUDXLDBD.js +130 -0
  473. package/dist/url-params-DBJSM2LP.js +98 -0
  474. package/dist/use-MHPNS4V4.js +95 -0
  475. package/dist/validate-TTAGVGM2.js +88 -0
  476. package/dist/variant-ZFCWILPG.js +338 -0
  477. package/dist/videos-DUG7JYUA.js +39 -0
  478. package/dist/view-PYCGDGT2.js +121 -0
  479. package/dist/viewer-check-HIMNCZGY.js +68 -0
  480. package/dist/web-SDG42OBC.js +140 -0
  481. package/dist/winners-AI4PVSOI.js +113 -0
  482. package/dist/winning-ads-KGAYAIPG.js +84 -0
  483. package/dist/write-commands-34L5LJIB.js +713 -0
  484. package/dist/write-commands-5TJ3LQ5F.js +737 -0
  485. package/dist/write-commands-OYMWOFEY.js +1015 -0
  486. package/dist/write-commands-R3UCCBUI.js +206 -0
  487. package/dist/x-VNRVGVLI.js +47 -0
  488. package/package.json +1 -1
  489. package/dist/account-MLAW7QO4.js +0 -49
  490. package/dist/account-NVQ3WI4O.js +0 -80
  491. package/dist/account-SWQ46ROJ.js +0 -79
  492. package/dist/account-reads-X5V27S4V.js +0 -218
  493. package/dist/account-writes-ICOG4IIN.js +0 -66
  494. package/dist/accounts-CU4Q2AV7.js +0 -75
  495. package/dist/accounts-GUHRV3RA.js +0 -115
  496. package/dist/accounts-VXJGZN4B.js +0 -77
  497. package/dist/accounts-WH7SRFCB.js +0 -114
  498. package/dist/accounts-Z35XIXUG.js +0 -611
  499. package/dist/actions-N2BIWUNG.js +0 -55
  500. package/dist/active-entities-2CQHGACO.js +0 -103
  501. package/dist/activecampaign-UBUW2JPM.js +0 -935
  502. package/dist/activecampaign-UBUW2JPM.js.map +0 -1
  503. package/dist/activities-EDCSBYGM.js +0 -74
  504. package/dist/ad-group-writes-2A3AHYLT.js +0 -170
  505. package/dist/ad-groups-2NUG3W2Q.js +0 -68
  506. package/dist/ad-writes-7P7OCHR5.js +0 -174
  507. package/dist/add-IR3YOPV5.js +0 -302
  508. package/dist/add-JRJNRTF3.js +0 -104
  509. package/dist/add-PGD6PNXH.js +0 -97
  510. package/dist/add-ZMZJSBQT.js +0 -105
  511. package/dist/add-accounts-A2YRT5NR.js +0 -91
  512. package/dist/ads-DKLVC4HJ.js +0 -40
  513. package/dist/ads-DKLVC4HJ.js.map +0 -1
  514. package/dist/ads-LLHGVBB7.js +0 -77
  515. package/dist/ads-ZOQM52YG.js +0 -128
  516. package/dist/ads-ZOYLP5R3.js +0 -113
  517. package/dist/adsets-RKSBDAHV.js +0 -176
  518. package/dist/advertisers-34GDHZC7.js +0 -125
  519. package/dist/advertisers-RFR6PLKS.js +0 -120
  520. package/dist/analytics-GVNI5L7F.js +0 -433
  521. package/dist/analytics-GVNI5L7F.js.map +0 -1
  522. package/dist/analytics-SFNQQ4H2.js +0 -1976
  523. package/dist/animate-4WEEILEO.js +0 -480
  524. package/dist/assign-YPC6S54E.js +0 -77
  525. package/dist/audience-size-KKF7YGDQ.js +0 -94
  526. package/dist/audiences-FNDYOAAW.js +0 -85
  527. package/dist/audiences-SXBA4R3I.js +0 -78
  528. package/dist/audiences-XFAAACQR.js +0 -268
  529. package/dist/audit-6EDZNY2R.js +0 -151
  530. package/dist/audit-MADJMBNF.js +0 -88
  531. package/dist/autocomplete-JR5BPJGK.js +0 -111
  532. package/dist/avatars-N7TNKA35.js +0 -38
  533. package/dist/bid-pricing-GTQDJNJ2.js +0 -99
  534. package/dist/brand-NBN4BKVK.js +0 -22
  535. package/dist/brief-JOETAFSU.js +0 -490
  536. package/dist/businesses-OFQG3YSL.js +0 -53
  537. package/dist/campaign-groups-UUW3CN6A.js +0 -95
  538. package/dist/campaign-writes-AZLETQHZ.js +0 -170
  539. package/dist/campaign-writes-GH7KUHQW.js +0 -165
  540. package/dist/campaigns-TVMV67O7.js +0 -76
  541. package/dist/campaigns-U2223VTR.js +0 -107
  542. package/dist/campaigns-XJLPCXTZ.js +0 -109
  543. package/dist/campaigns-YBOTJUV2.js +0 -110
  544. package/dist/canvas-K2AQCEDK.js +0 -46
  545. package/dist/capabilities-6U5F7DMS.js +0 -144
  546. package/dist/cards-WZSPTO4I.js +0 -85
  547. package/dist/catalog-YKS33IMX.js +0 -64
  548. package/dist/catalogs-WJYJM2L5.js +0 -128
  549. package/dist/changes-C56KNZFO.js +0 -135
  550. package/dist/chatgpt-WSOZZQJX.js +0 -47
  551. package/dist/chats-W2TMJHP7.js +0 -262
  552. package/dist/chunk-2SNAQVAY.js +0 -1079
  553. package/dist/chunk-33STLGET.js +0 -67
  554. package/dist/chunk-3IYJ4ERJ.js +0 -337
  555. package/dist/chunk-3IYJ4ERJ.js.map +0 -1
  556. package/dist/chunk-3SF5KBIO.js +0 -42
  557. package/dist/chunk-3VJOJVKQ.js +0 -3151
  558. package/dist/chunk-3WQ4ANUO.js +0 -84
  559. package/dist/chunk-3YNHIJCI.js +0 -75
  560. package/dist/chunk-4E27H5EG.js +0 -149
  561. package/dist/chunk-5B3AEQDZ.js +0 -125
  562. package/dist/chunk-5CXPZVMO.js +0 -382
  563. package/dist/chunk-5CXPZVMO.js.map +0 -1
  564. package/dist/chunk-5NV2TEH7.js +0 -1442
  565. package/dist/chunk-66ZIZ7QP.js +0 -26
  566. package/dist/chunk-6DE3EHEF.js +0 -296
  567. package/dist/chunk-6QNEVETC.js +0 -46
  568. package/dist/chunk-7I7Y3DMU.js +0 -96
  569. package/dist/chunk-7K64OJCD.js +0 -23
  570. package/dist/chunk-A6UE6JDP.js +0 -817
  571. package/dist/chunk-ABMOJ5AY.js +0 -1830
  572. package/dist/chunk-AHQJAKAV.js +0 -544
  573. package/dist/chunk-AHQJAKAV.js.map +0 -1
  574. package/dist/chunk-ANNHTQK2.js +0 -92
  575. package/dist/chunk-BC2BXRXY.js +0 -2887
  576. package/dist/chunk-BC2BXRXY.js.map +0 -1
  577. package/dist/chunk-BEJ2AVPJ.js +0 -106
  578. package/dist/chunk-BG5P4GUH.js +0 -51
  579. package/dist/chunk-CCFZB42B.js +0 -76
  580. package/dist/chunk-CGOVXSSY.js +0 -309
  581. package/dist/chunk-CHZ3ZNGJ.js +0 -172
  582. package/dist/chunk-CJABW4F7.js +0 -455
  583. package/dist/chunk-CO43KLQQ.js +0 -160
  584. package/dist/chunk-CSFWCJQM.js +0 -903
  585. package/dist/chunk-CSFWCJQM.js.map +0 -1
  586. package/dist/chunk-DIKYWXP5.js +0 -197
  587. package/dist/chunk-DOZKZY3K.js +0 -103
  588. package/dist/chunk-E3OUPTS3.js +0 -4408
  589. package/dist/chunk-E3OUPTS3.js.map +0 -1
  590. package/dist/chunk-ENY76SPM.js +0 -74
  591. package/dist/chunk-EX4FQWBU.js +0 -846
  592. package/dist/chunk-EZRJT2UT.js +0 -1599
  593. package/dist/chunk-EZRJT2UT.js.map +0 -1
  594. package/dist/chunk-F4H6VVPE.js +0 -215
  595. package/dist/chunk-FJIUMOVD.js +0 -225
  596. package/dist/chunk-FK6GBCQ4.js +0 -66
  597. package/dist/chunk-FQK6PZSR.js +0 -363
  598. package/dist/chunk-G3AOJ5FE.js +0 -35
  599. package/dist/chunk-G3UCXCC2.js +0 -455
  600. package/dist/chunk-G3UCXCC2.js.map +0 -1
  601. package/dist/chunk-HDYF3EIN.js +0 -166
  602. package/dist/chunk-IBCTXMQD.js +0 -98
  603. package/dist/chunk-IFZJGDA5.js +0 -60
  604. package/dist/chunk-IWLWY2UD.js +0 -2122
  605. package/dist/chunk-IWLWY2UD.js.map +0 -1
  606. package/dist/chunk-IXJ33KBN.js +0 -297
  607. package/dist/chunk-IZNTYRKB.js +0 -55
  608. package/dist/chunk-JA4PDZNY.js +0 -106
  609. package/dist/chunk-JLCK7K6Y.js +0 -216
  610. package/dist/chunk-JQUPL6IQ.js +0 -136
  611. package/dist/chunk-K2DBAN3C.js +0 -26
  612. package/dist/chunk-KJNBAM7A.js +0 -19
  613. package/dist/chunk-KKXHGAYA.js +0 -74
  614. package/dist/chunk-KMMVQ2MR.js +0 -84
  615. package/dist/chunk-KQ5LPY5T.js +0 -159
  616. package/dist/chunk-KQ5LPY5T.js.map +0 -1
  617. package/dist/chunk-KU7WJPCH.js +0 -474
  618. package/dist/chunk-KV2MG67C.js +0 -665
  619. package/dist/chunk-L66QWXPF.js +0 -97
  620. package/dist/chunk-LEDW3GQ6.js +0 -392
  621. package/dist/chunk-LEDW3GQ6.js.map +0 -1
  622. package/dist/chunk-LHKCZG2R.js +0 -136
  623. package/dist/chunk-LL6T64OU.js +0 -174
  624. package/dist/chunk-LLN7NP3O.js +0 -52
  625. package/dist/chunk-LNZM6SUE.js +0 -56
  626. package/dist/chunk-LT5JXJ4S.js +0 -494
  627. package/dist/chunk-M62WN522.js +0 -188
  628. package/dist/chunk-M6CI2HYA.js +0 -74
  629. package/dist/chunk-M6UNISGO.js +0 -66
  630. package/dist/chunk-M6UNISGO.js.map +0 -1
  631. package/dist/chunk-MGKEUB7P.js +0 -96
  632. package/dist/chunk-MOOWJF2A.js +0 -509
  633. package/dist/chunk-MRI5VTCG.js +0 -98
  634. package/dist/chunk-NCHPAGHG.js +0 -172
  635. package/dist/chunk-NFDAIY6J.js +0 -191
  636. package/dist/chunk-NRAE3HJ7.js +0 -6217
  637. package/dist/chunk-NRAE3HJ7.js.map +0 -1
  638. package/dist/chunk-OLV66PDA.js +0 -139
  639. package/dist/chunk-ONJBAKPT.js +0 -275
  640. package/dist/chunk-P4UQBJNY.js +0 -486
  641. package/dist/chunk-PAJJXZ3Z.js +0 -170
  642. package/dist/chunk-Q3FMV65H.js +0 -547
  643. package/dist/chunk-Q3FMV65H.js.map +0 -1
  644. package/dist/chunk-QK5PEHFX.js +0 -3088
  645. package/dist/chunk-QK5PEHFX.js.map +0 -1
  646. package/dist/chunk-RDQI3YD2.js +0 -66
  647. package/dist/chunk-RDQI3YD2.js.map +0 -1
  648. package/dist/chunk-RKXH5JHW.js +0 -5181
  649. package/dist/chunk-RKXH5JHW.js.map +0 -1
  650. package/dist/chunk-RMB2MIOJ.js +0 -94
  651. package/dist/chunk-SI23M3JX.js +0 -57
  652. package/dist/chunk-SS445HDO.js +0 -25
  653. package/dist/chunk-TLOFNP4Q.js +0 -45
  654. package/dist/chunk-TUVS5SPF.js +0 -133
  655. package/dist/chunk-TVKE3OXR.js +0 -76
  656. package/dist/chunk-U3OFW35R.js +0 -6802
  657. package/dist/chunk-U3OFW35R.js.map +0 -1
  658. package/dist/chunk-U3VFBK37.js +0 -304
  659. package/dist/chunk-UKABMTAY.js +0 -346
  660. package/dist/chunk-UNHCWWAI.js +0 -111
  661. package/dist/chunk-UNHCWWAI.js.map +0 -1
  662. package/dist/chunk-UTLPE7CT.js +0 -111
  663. package/dist/chunk-VEGBGLWZ.js +0 -216
  664. package/dist/chunk-VEGBGLWZ.js.map +0 -1
  665. package/dist/chunk-VPBCR6DT.js +0 -1743
  666. package/dist/chunk-VQID7VS6.js +0 -175
  667. package/dist/chunk-VQID7VS6.js.map +0 -1
  668. package/dist/chunk-WBCQEXEH.js +0 -76
  669. package/dist/chunk-X3PVW3RM.js +0 -610
  670. package/dist/chunk-XLZMKMKD.js +0 -333
  671. package/dist/chunk-XTQKPYOB.js +0 -274
  672. package/dist/chunk-YMGZC443.js +0 -23992
  673. package/dist/chunk-YMGZC443.js.map +0 -1
  674. package/dist/chunk-YTHEUDA4.js +0 -433
  675. package/dist/chunk-Z2HNETUP.js +0 -58
  676. package/dist/chunk-ZACQZNGD.js +0 -169
  677. package/dist/chunk-ZC6BCHGC.js +0 -206
  678. package/dist/chunk-ZCEZANTV.js +0 -592
  679. package/dist/claim-SLU3TMEJ.js +0 -197
  680. package/dist/client-2ABVGUQB.js +0 -19
  681. package/dist/code-GHG7DEPV.js +0 -76
  682. package/dist/companies-2XCKZ46Z.js +0 -195
  683. package/dist/complete-3JAPGUF7.js +0 -81
  684. package/dist/config-L26WNV2G.js +0 -88
  685. package/dist/connect-QUJB2B7O.js +0 -42
  686. package/dist/content-2SL3VHIK.js +0 -85
  687. package/dist/conversation-HIRIQPQY.js +0 -93
  688. package/dist/conversion-report-YHHSCA2E.js +0 -125
  689. package/dist/conversion-upload-command-CTVEOGET.js +0 -438
  690. package/dist/conversion-writes-MJROE4M7.js +0 -120
  691. package/dist/conversions-H6GFO3O7.js +0 -76
  692. package/dist/conversions-VBOTADOT.js +0 -135
  693. package/dist/countries-D5JPHJ4F.js +0 -82
  694. package/dist/create-7SL6BAET.js +0 -207
  695. package/dist/create-KD4ZMJYX.js +0 -59
  696. package/dist/create-TIL4R5M4.js +0 -235
  697. package/dist/create-WKIZSOXV.js +0 -126
  698. package/dist/create-WKIZSOXV.js.map +0 -1
  699. package/dist/creatives-5C4PRGFT.js +0 -87
  700. package/dist/creatives-CLIW4GMR.js +0 -51
  701. package/dist/creatives-YN2MEJXJ.js +0 -182
  702. package/dist/credentials-JI4GR4OR.js +0 -287
  703. package/dist/critique-G27U5LAO.js +0 -213
  704. package/dist/critique-JIKK245W.js +0 -1449
  705. package/dist/crm-QXZKSL4T.js +0 -318
  706. package/dist/crm-S2GNKTHX.js +0 -224
  707. package/dist/crop-KR3LOQBX.js +0 -113
  708. package/dist/currency-7YV4AT54.js +0 -88
  709. package/dist/custom-conversions-YCOWWTQ7.js +0 -125
  710. package/dist/customers-XTK7G7G5.js +0 -56
  711. package/dist/decide-DZG2JUMG.js +0 -199
  712. package/dist/delete-FIDIBB2H.js +0 -69
  713. package/dist/delete-KLSRJZQG.js +0 -54
  714. package/dist/delete-LXOTLB3P.js +0 -63
  715. package/dist/delete-OHTGL7ZJ.js +0 -71
  716. package/dist/delete-TSI264EH.js +0 -66
  717. package/dist/delete-YKR5Y7EQ.js +0 -71
  718. package/dist/demographics-EFZ4KNRS.js +0 -138
  719. package/dist/describe-I7VNACXY.js +0 -97
  720. package/dist/describe-NAINLKWG.js +0 -97
  721. package/dist/dimensions-K6MDXS4B.js +0 -101
  722. package/dist/discard-DCMPT757.js +0 -66
  723. package/dist/discover-E7SVCXZ2.js +0 -93
  724. package/dist/discover-NRXKO6CV.js +0 -172
  725. package/dist/domain-WDE36COE.js +0 -98
  726. package/dist/download-5FCLTMLA.js +0 -299
  727. package/dist/draft-2SEMUJFJ.js +0 -307
  728. package/dist/draft-3NGYZTH6.js +0 -328
  729. package/dist/draft-AUF73NZE.js +0 -217
  730. package/dist/draft-BS33PXQV.js +0 -306
  731. package/dist/draft-NJNAGVVV.js +0 -103
  732. package/dist/draft-QSO3DQG6.js +0 -233
  733. package/dist/draft-UNCGJCUN.js +0 -100
  734. package/dist/draft-YGDIKVJP.js +0 -281
  735. package/dist/env-FKVPPL35.js +0 -43
  736. package/dist/experiment-JF2QTPRV.js +0 -1397
  737. package/dist/export-3ROTRKFE.js +0 -168
  738. package/dist/extract-VXGXR5RD.js +0 -113
  739. package/dist/facets-MCBQT67Y.js +0 -114
  740. package/dist/favorites-DI2EY34L.js +0 -178
  741. package/dist/feed-EH4FENF4.js +0 -177
  742. package/dist/feedback-O4XFHZHO.js +0 -66
  743. package/dist/feedback-record-4WL5BAVA.js +0 -175
  744. package/dist/fetch-5B762QDP.js +0 -176
  745. package/dist/fetch-V3BFDMZF.js +0 -139
  746. package/dist/find-T7XJV535.js +0 -134
  747. package/dist/find-T7XJV535.js.map +0 -1
  748. package/dist/fit-JRHXPGLA.js +0 -45
  749. package/dist/flows-AP65BVPP.js +0 -247
  750. package/dist/flows-AP65BVPP.js.map +0 -1
  751. package/dist/follow-PIEAXZE7.js +0 -94
  752. package/dist/follow-competitors-7N2TPSLA.js +0 -112
  753. package/dist/following-74CI7UC6.js +0 -113
  754. package/dist/fonts-OENIDAZ7.js +0 -34
  755. package/dist/forecast-D547E44U.js +0 -104
  756. package/dist/forecast-Y277VDX6.js +0 -168
  757. package/dist/funding-FTWMCGZ7.js +0 -85
  758. package/dist/funnel-5JTVRADR.js +0 -394
  759. package/dist/ga4-T4ZHANT2.js +0 -55
  760. package/dist/generate-IOXW6L2V.js +0 -263
  761. package/dist/generate-IOXW6L2V.js.map +0 -1
  762. package/dist/get-2IKPCXEM.js +0 -59
  763. package/dist/get-4NVK3GGF.js +0 -56
  764. package/dist/get-6NSZTWA5.js +0 -78
  765. package/dist/get-ABPBK4P3.js +0 -63
  766. package/dist/get-NE3EEHN6.js +0 -92
  767. package/dist/get-V4BZ4NTK.js +0 -63
  768. package/dist/get-WZVNWFQA.js +0 -61
  769. package/dist/gif-O3FLM3CF.js +0 -94
  770. package/dist/google-VV4DFC4D.js +0 -3190
  771. package/dist/google-VV4DFC4D.js.map +0 -1
  772. package/dist/google-Z5UAFS3C.js +0 -136
  773. package/dist/google-ads-TNQPMZ4S.js +0 -195
  774. package/dist/group-34IDEULM.js +0 -43
  775. package/dist/group-HJMQ5H3L.js +0 -43
  776. package/dist/gsc-LDZKY5FW.js +0 -30
  777. package/dist/history-5QUGDDCG.js +0 -67
  778. package/dist/history-FSVEXQPF.js +0 -133
  779. package/dist/hubspot-5ZSIBOGH.js +0 -779
  780. package/dist/icon-37BBWKJO.js +0 -137
  781. package/dist/ideas-QHHUO5HO.js +0 -32
  782. package/dist/images-LIE3WZWC.js +0 -90
  783. package/dist/improve-6J2UJ4JZ.js +0 -86
  784. package/dist/ingest-22PPDMUN.js +0 -107
  785. package/dist/ingest-UT2H2KZF.js +0 -23
  786. package/dist/insights-5IBNZFHT.js +0 -423
  787. package/dist/insights-5IBNZFHT.js.map +0 -1
  788. package/dist/insights-5RPSKKQJ.js +0 -122
  789. package/dist/insights-5RPSKKQJ.js.map +0 -1
  790. package/dist/inspect-677LAYRX.js +0 -189
  791. package/dist/inspiration-LYCDPQEY.js +0 -53
  792. package/dist/intent-EPQQ7ZFJ.js +0 -95
  793. package/dist/job-ZEI4FC5Y.js +0 -202
  794. package/dist/job-create-QVTI3TP6.js +0 -109
  795. package/dist/job-status-GVL7X6EY.js +0 -74
  796. package/dist/keep-GD5LZFGG.js +0 -78
  797. package/dist/keyword-gap-GDYE6HFV.js +0 -130
  798. package/dist/keyword-metrics-IEEMFOE5.js +0 -197
  799. package/dist/keywords-for-site-Q23TNDPZ.js +0 -128
  800. package/dist/landing-CV23X7CN.js +0 -28
  801. package/dist/landings-4YBHALDA.js +0 -151
  802. package/dist/languages-6WNZHQ4U.js +0 -40
  803. package/dist/languages-KRXEHLM4.js +0 -55
  804. package/dist/launches-FOJQPCD2.js +0 -19
  805. package/dist/layerize-M6ZRXR7M.js +0 -190
  806. package/dist/leads-ANHNQVHR.js +0 -90
  807. package/dist/leads-NV57FPKX.js +0 -293
  808. package/dist/learn-YZ3XSAV5.js +0 -203
  809. package/dist/library-HC5US7CE.js +0 -109
  810. package/dist/library-HC5US7CE.js.map +0 -1
  811. package/dist/lighthouse-DXZIQLLK.js +0 -75
  812. package/dist/line-item-writes-WJRNPIUP.js +0 -208
  813. package/dist/line-items-V7TBD3ID.js +0 -103
  814. package/dist/link-VL5HPDR4.js +0 -64
  815. package/dist/linkedin-YXAXITWY.js +0 -1008
  816. package/dist/list-2M3M3ETE.js +0 -63
  817. package/dist/list-HB4HYMCC.js +0 -151
  818. package/dist/list-IZNAL5LS.js +0 -57
  819. package/dist/list-KEWAXGUG.js +0 -303
  820. package/dist/list-LC7BZRD4.js +0 -65
  821. package/dist/list-MEGAZDWZ.js +0 -51
  822. package/dist/list-RGMBFJHB.js +0 -76
  823. package/dist/list-VXNYIVS5.js +0 -50
  824. package/dist/locations-BPH3DMDQ.js +0 -67
  825. package/dist/locations-VAIAC2TU.js +0 -40
  826. package/dist/log-ZBKKTCH4.js +0 -92
  827. package/dist/logo-SOCGJLY5.js +0 -18
  828. package/dist/lookup-MQBDRZZT.js +0 -22
  829. package/dist/make-A5KQ4NAR.js +0 -647
  830. package/dist/make-A5KQ4NAR.js.map +0 -1
  831. package/dist/map-3LR4J2TZ.js +0 -433
  832. package/dist/map-3LR4J2TZ.js.map +0 -1
  833. package/dist/mcp-UNMB4DFG.js +0 -463
  834. package/dist/media-OYAN23YG.js +0 -15
  835. package/dist/media-QCWYLIO2.js +0 -89
  836. package/dist/media-sources-BQETKYFK.js +0 -32
  837. package/dist/members-NPDLDJS5.js +0 -44
  838. package/dist/meta-B5XDM6F6.js +0 -69
  839. package/dist/metrics-EWFYLBPC.js +0 -152
  840. package/dist/models-4K2B7C4S.js +0 -155
  841. package/dist/normalize-2OUEDA6D.js +0 -806
  842. package/dist/normalize-MMXC57LC.js +0 -141
  843. package/dist/options-EUSKJAOQ.js +0 -122
  844. package/dist/options-EUSKJAOQ.js.map +0 -1
  845. package/dist/output-ZKNCKP7T.js +0 -24
  846. package/dist/page-EMJESGQZ.js +0 -105
  847. package/dist/pages-OMKAYKCF.js +0 -66
  848. package/dist/performance-RRL3KUNU.js +0 -24
  849. package/dist/pinterest-I6JO7LXL.js +0 -96
  850. package/dist/pixels-5JBTFWCO.js +0 -108
  851. package/dist/pixels-JSSNVLXR.js +0 -60
  852. package/dist/plan-KNUKCIS7.js +0 -207
  853. package/dist/preview-TBINZJ2C.js +0 -169
  854. package/dist/profile-UV3FTEUC.js +0 -159
  855. package/dist/profile-UV3FTEUC.js.map +0 -1
  856. package/dist/promoted-tweet-writes-NRLYLKDH.js +0 -180
  857. package/dist/promoted-tweets-XNPXTPQX.js +0 -119
  858. package/dist/properties-CTFQ7IK3.js +0 -101
  859. package/dist/publish-VTERMZDW.js +0 -322
  860. package/dist/query-JMVLWKVY.js +0 -236
  861. package/dist/query-T5IBVQ3B.js +0 -247
  862. package/dist/query-U242DEWX.js +0 -61
  863. package/dist/questionnaire-APZ6FMPE.js +0 -93
  864. package/dist/read-W5ZK5G7Q.js +0 -141
  865. package/dist/reddit-C5CAD24M.js +0 -26
  866. package/dist/refresh-7LFNDRYA.js +0 -94
  867. package/dist/release-ZEHZ7EQX.js +0 -60
  868. package/dist/relevant-pages-ZGR5VJNI.js +0 -99
  869. package/dist/remove-FB3NBNBG.js +0 -50
  870. package/dist/remove-RFOFNOYU.js +0 -48
  871. package/dist/reopen-Z6ODLCPE.js +0 -63
  872. package/dist/rerun-TZ6BPGYL.js +0 -84
  873. package/dist/research-64G5C2ZQ.js +0 -262
  874. package/dist/research-VQ4DK4BX.js +0 -62
  875. package/dist/reset-F2JQR3OZ.js +0 -54
  876. package/dist/reset-YRQ5DGNF.js +0 -54
  877. package/dist/resolve-QXKGYHGJ.js +0 -121
  878. package/dist/retry-SANO53UL.js +0 -60
  879. package/dist/retry-YZUECDFN.js +0 -62
  880. package/dist/retry-failed-5XDCVPQA.js +0 -45
  881. package/dist/run-3VEPILYM.js +0 -59
  882. package/dist/run-VRKP6QXJ.js +0 -65
  883. package/dist/scaffold-ad-LHWGQZAC.js +0 -1548
  884. package/dist/scaffold-static-ad-EZQAIRCG.js +0 -971
  885. package/dist/scaffold-video-XJG7IGOH.js +0 -872
  886. package/dist/schedule-4N6JTJJT.js +0 -66
  887. package/dist/schedule-RLNIWFNT.js +0 -61
  888. package/dist/scheduled-agents-6XAY6YOG.js +0 -50
  889. package/dist/scheduled-agents-6XAY6YOG.js.map +0 -1
  890. package/dist/schema-ANV3AC5M.js +0 -132
  891. package/dist/schema-RNVEYR2U.js +0 -63
  892. package/dist/scrape-VK7RZO4M.js +0 -2241
  893. package/dist/screenshot-PWUROUXU.js +0 -102
  894. package/dist/search-3ZW3RRPX.js +0 -92
  895. package/dist/search-BMIFGJLQ.js +0 -174
  896. package/dist/search-J2VQNY4A.js +0 -91
  897. package/dist/search-LRY5SYDM.js +0 -224
  898. package/dist/search-M23XX3N5.js +0 -26
  899. package/dist/search-copy-AVQESTYJ.js +0 -168
  900. package/dist/seeds-C6JI3WTG.js +0 -101
  901. package/dist/select-5ZNRK2MF.js +0 -94
  902. package/dist/sends-DYIE7W5U.js +0 -309
  903. package/dist/sequences-CQVKVRC4.js +0 -146
  904. package/dist/set-prompt-UPX3Z32E.js +0 -185
  905. package/dist/setup-links-5BBLPJHT.js +0 -141
  906. package/dist/shared-2SQRS476.js +0 -31
  907. package/dist/site-MK3C44AE.js +0 -177
  908. package/dist/sitemaps-XFLHKP2D.js +0 -87
  909. package/dist/sites-5JNZWY3A.js +0 -101
  910. package/dist/skills-43P4WK6Y.js +0 -47
  911. package/dist/sources-E45FLI5L.js +0 -454
  912. package/dist/sources-E45FLI5L.js.map +0 -1
  913. package/dist/sources-KS7IVG62.js +0 -30
  914. package/dist/stale-TYETBSC3.js +0 -63
  915. package/dist/stats-LLTHL5VR.js +0 -34
  916. package/dist/status-MGEC456X.js +0 -62
  917. package/dist/sticker-B5DJ56YG.js +0 -94
  918. package/dist/stock-WXAFJFAC.js +0 -179
  919. package/dist/studio-2WRZGW5K.js +0 -49
  920. package/dist/sync-GCHWLGQG.js +0 -54
  921. package/dist/sync-JLECDZYS.js +0 -265
  922. package/dist/sync-JLECDZYS.js.map +0 -1
  923. package/dist/sync-VDPGFUZS.js +0 -54
  924. package/dist/sync-definition-VOLVALMF.js +0 -54
  925. package/dist/tag-manager-HG76EBNX.js +0 -43
  926. package/dist/tags-5LN7N55H.js +0 -20
  927. package/dist/tags-ARHISNSY.js +0 -224
  928. package/dist/tags-DGBDJCH4.js +0 -20
  929. package/dist/tags-GUAZQFF6.js +0 -26
  930. package/dist/tags-X2TXKPPZ.js +0 -20
  931. package/dist/targeting-constants-GR7RUKE3.js +0 -118
  932. package/dist/targeting-criteria-LUS4MHBB.js +0 -113
  933. package/dist/targets-B267WA3R.js +0 -102
  934. package/dist/testimonials-R2AAWIZO.js +0 -32
  935. package/dist/themes-5CH6AYPZ.js +0 -94
  936. package/dist/top-companies-PTCHBWQM.js +0 -108
  937. package/dist/translate-EBNKGIH3.js +0 -598
  938. package/dist/triggers-OJX6V4IR.js +0 -141
  939. package/dist/tweets-ZWC7YOQ4.js +0 -123
  940. package/dist/unfollow-LBMJXF4E.js +0 -46
  941. package/dist/unlink-RBGMHY65.js +0 -67
  942. package/dist/unstage-5AZAD2KF.js +0 -95
  943. package/dist/unstage-HL7IA2ZX.js +0 -84
  944. package/dist/update-34PHEAKR.js +0 -63
  945. package/dist/update-NBP7ULLA.js +0 -142
  946. package/dist/update-RA3NLNCP.js +0 -155
  947. package/dist/update-RJYVSNAK.js +0 -98
  948. package/dist/upload-BNN7FAYI.js +0 -126
  949. package/dist/upload-MPMP3JRS.js +0 -150
  950. package/dist/upscale-TXJFZLUU.js +0 -109
  951. package/dist/url-options-QCM32IFK.js +0 -130
  952. package/dist/url-params-SLEXR6SY.js +0 -98
  953. package/dist/use-SUY57ZJA.js +0 -95
  954. package/dist/validate-IJABVPQ4.js +0 -88
  955. package/dist/variant-TE6CEHZW.js +0 -338
  956. package/dist/videos-MWA4765B.js +0 -39
  957. package/dist/view-EQZB7Z6N.js +0 -121
  958. package/dist/viewer-check-HAQBPBPI.js +0 -68
  959. package/dist/viewer-check-HAQBPBPI.js.map +0 -1
  960. package/dist/web-GSE64LFI.js +0 -140
  961. package/dist/winners-UPM6DFRB.js +0 -113
  962. package/dist/winning-ads-K6QJT2BF.js +0 -84
  963. package/dist/write-commands-5HSNHURZ.js +0 -713
  964. package/dist/write-commands-BCU5YATY.js +0 -737
  965. package/dist/write-commands-MOZHC2RJ.js +0 -1015
  966. package/dist/write-commands-YNI6KS2B.js +0 -206
  967. package/dist/x-UNF2SAMI.js +0 -47
  968. /package/dist/{account-SWQ46ROJ.js.map → account-67PZBEP6.js.map} +0 -0
  969. /package/dist/{account-MLAW7QO4.js.map → account-HZC6X2PH.js.map} +0 -0
  970. /package/dist/{account-NVQ3WI4O.js.map → account-TQUV64XP.js.map} +0 -0
  971. /package/dist/{account-reads-X5V27S4V.js.map → account-reads-IRBTERTY.js.map} +0 -0
  972. /package/dist/{account-writes-ICOG4IIN.js.map → account-writes-ALDSHAEV.js.map} +0 -0
  973. /package/dist/{accounts-GUHRV3RA.js.map → accounts-4P54UY6F.js.map} +0 -0
  974. /package/dist/{accounts-CU4Q2AV7.js.map → accounts-6UNBLIUH.js.map} +0 -0
  975. /package/dist/{accounts-WH7SRFCB.js.map → accounts-GVTZN4VE.js.map} +0 -0
  976. /package/dist/{accounts-Z35XIXUG.js.map → accounts-NJ6TF6WH.js.map} +0 -0
  977. /package/dist/{accounts-VXJGZN4B.js.map → accounts-WTB737BM.js.map} +0 -0
  978. /package/dist/{actions-N2BIWUNG.js.map → actions-D3BOWDEB.js.map} +0 -0
  979. /package/dist/{active-entities-2CQHGACO.js.map → active-entities-J2O76SRP.js.map} +0 -0
  980. /package/dist/{activities-EDCSBYGM.js.map → activities-2J7FTZMN.js.map} +0 -0
  981. /package/dist/{ad-group-writes-2A3AHYLT.js.map → ad-group-writes-PQKDCMQF.js.map} +0 -0
  982. /package/dist/{ad-groups-2NUG3W2Q.js.map → ad-groups-NGYEJMV4.js.map} +0 -0
  983. /package/dist/{ad-writes-7P7OCHR5.js.map → ad-writes-77FVHJTS.js.map} +0 -0
  984. /package/dist/{add-ZMZJSBQT.js.map → add-2FHPLALV.js.map} +0 -0
  985. /package/dist/{add-JRJNRTF3.js.map → add-2XJYOGKW.js.map} +0 -0
  986. /package/dist/{add-IR3YOPV5.js.map → add-62JPGFD4.js.map} +0 -0
  987. /package/dist/{add-PGD6PNXH.js.map → add-JP76KCCY.js.map} +0 -0
  988. /package/dist/{add-accounts-A2YRT5NR.js.map → add-accounts-M5Y4DQFM.js.map} +0 -0
  989. /package/dist/{ads-ZOQM52YG.js.map → ads-DB5NDHX5.js.map} +0 -0
  990. /package/dist/{ads-LLHGVBB7.js.map → ads-LYNA2I7B.js.map} +0 -0
  991. /package/dist/{ads-ZOYLP5R3.js.map → ads-W2IPUWHQ.js.map} +0 -0
  992. /package/dist/{adsets-RKSBDAHV.js.map → adsets-PY5ZKGBO.js.map} +0 -0
  993. /package/dist/{advertisers-34GDHZC7.js.map → advertisers-BVAZ4XUX.js.map} +0 -0
  994. /package/dist/{advertisers-RFR6PLKS.js.map → advertisers-NZPJQF7W.js.map} +0 -0
  995. /package/dist/{analytics-SFNQQ4H2.js.map → analytics-NTPZKMYK.js.map} +0 -0
  996. /package/dist/{animate-4WEEILEO.js.map → animate-EIV2OHXT.js.map} +0 -0
  997. /package/dist/{assign-YPC6S54E.js.map → assign-UNIA5YDC.js.map} +0 -0
  998. /package/dist/{audience-size-KKF7YGDQ.js.map → audience-size-4NN6ENP5.js.map} +0 -0
  999. /package/dist/{audiences-XFAAACQR.js.map → audiences-45ZCY2VZ.js.map} +0 -0
  1000. /package/dist/{audiences-SXBA4R3I.js.map → audiences-UUIYQFS6.js.map} +0 -0
  1001. /package/dist/{audiences-FNDYOAAW.js.map → audiences-VYFX7OFS.js.map} +0 -0
  1002. /package/dist/{audit-6EDZNY2R.js.map → audit-NSVHNA5J.js.map} +0 -0
  1003. /package/dist/{audit-MADJMBNF.js.map → audit-OWXTLQC4.js.map} +0 -0
  1004. /package/dist/{autocomplete-JR5BPJGK.js.map → autocomplete-EHWAQYVB.js.map} +0 -0
  1005. /package/dist/{avatars-N7TNKA35.js.map → avatars-7WZPW7BV.js.map} +0 -0
  1006. /package/dist/{bid-pricing-GTQDJNJ2.js.map → bid-pricing-F5NDMS6W.js.map} +0 -0
  1007. /package/dist/{brand-NBN4BKVK.js.map → brand-QAJ5VWFM.js.map} +0 -0
  1008. /package/dist/{brief-JOETAFSU.js.map → brief-V2OB5OJW.js.map} +0 -0
  1009. /package/dist/{businesses-OFQG3YSL.js.map → businesses-ZH67AXR6.js.map} +0 -0
  1010. /package/dist/{campaign-groups-UUW3CN6A.js.map → campaign-groups-KFJKLNNU.js.map} +0 -0
  1011. /package/dist/{campaign-writes-AZLETQHZ.js.map → campaign-writes-BDGQ6XB3.js.map} +0 -0
  1012. /package/dist/{campaign-writes-GH7KUHQW.js.map → campaign-writes-FNMAGCKB.js.map} +0 -0
  1013. /package/dist/{campaigns-YBOTJUV2.js.map → campaigns-66OOGMDW.js.map} +0 -0
  1014. /package/dist/{campaigns-XJLPCXTZ.js.map → campaigns-6HMHOXXY.js.map} +0 -0
  1015. /package/dist/{campaigns-TVMV67O7.js.map → campaigns-HJTGX5WW.js.map} +0 -0
  1016. /package/dist/{campaigns-U2223VTR.js.map → campaigns-KT3J2O7S.js.map} +0 -0
  1017. /package/dist/{canvas-K2AQCEDK.js.map → canvas-MQ6ZE5CZ.js.map} +0 -0
  1018. /package/dist/{capabilities-6U5F7DMS.js.map → capabilities-RVUMPP7C.js.map} +0 -0
  1019. /package/dist/{cards-WZSPTO4I.js.map → cards-I4BZIYUV.js.map} +0 -0
  1020. /package/dist/{catalog-YKS33IMX.js.map → catalog-NLL5VDRK.js.map} +0 -0
  1021. /package/dist/{catalogs-WJYJM2L5.js.map → catalogs-B2NKQO24.js.map} +0 -0
  1022. /package/dist/{changes-C56KNZFO.js.map → changes-FX3TPYGT.js.map} +0 -0
  1023. /package/dist/{chatgpt-WSOZZQJX.js.map → chatgpt-3NS2R442.js.map} +0 -0
  1024. /package/dist/{chats-W2TMJHP7.js.map → chats-72L7U4ML.js.map} +0 -0
  1025. /package/dist/{chunk-BG5P4GUH.js.map → chunk-2KIF3U2C.js.map} +0 -0
  1026. /package/dist/{chunk-6QNEVETC.js.map → chunk-35ENAFJX.js.map} +0 -0
  1027. /package/dist/{chunk-ONJBAKPT.js.map → chunk-4TU2MWBJ.js.map} +0 -0
  1028. /package/dist/{chunk-IBCTXMQD.js.map → chunk-57UECM77.js.map} +0 -0
  1029. /package/dist/{chunk-JQUPL6IQ.js.map → chunk-65BQAJMH.js.map} +0 -0
  1030. /package/dist/{chunk-3YNHIJCI.js.map → chunk-6GFJFTG6.js.map} +0 -0
  1031. /package/dist/{chunk-WBCQEXEH.js.map → chunk-6HPIWZHS.js.map} +0 -0
  1032. /package/dist/{chunk-X3PVW3RM.js.map → chunk-73B3RQJC.js.map} +0 -0
  1033. /package/dist/{chunk-ZC6BCHGC.js.map → chunk-7GYM4I5I.js.map} +0 -0
  1034. /package/dist/{chunk-K2DBAN3C.js.map → chunk-7NTION5F.js.map} +0 -0
  1035. /package/dist/{chunk-UTLPE7CT.js.map → chunk-AFDPISNJ.js.map} +0 -0
  1036. /package/dist/{chunk-YTHEUDA4.js.map → chunk-AIDXJHZ4.js.map} +0 -0
  1037. /package/dist/{chunk-CCFZB42B.js.map → chunk-AR7PU7BB.js.map} +0 -0
  1038. /package/dist/{chunk-5NV2TEH7.js.map → chunk-AXVOBRQT.js.map} +0 -0
  1039. /package/dist/{chunk-CO43KLQQ.js.map → chunk-BBBZR7MF.js.map} +0 -0
  1040. /package/dist/{chunk-ANNHTQK2.js.map → chunk-BVYPRGPG.js.map} +0 -0
  1041. /package/dist/{chunk-5B3AEQDZ.js.map → chunk-CBCGVPHB.js.map} +0 -0
  1042. /package/dist/{chunk-XLZMKMKD.js.map → chunk-CECS3DHZ.js.map} +0 -0
  1043. /package/dist/{chunk-3VJOJVKQ.js.map → chunk-CZYUZL6R.js.map} +0 -0
  1044. /package/dist/{chunk-L66QWXPF.js.map → chunk-D5MF337I.js.map} +0 -0
  1045. /package/dist/{chunk-DOZKZY3K.js.map → chunk-DDTILZXI.js.map} +0 -0
  1046. /package/dist/{chunk-LLN7NP3O.js.map → chunk-DL2W4N7J.js.map} +0 -0
  1047. /package/dist/{chunk-FJIUMOVD.js.map → chunk-DLUWHZCE.js.map} +0 -0
  1048. /package/dist/{chunk-MOOWJF2A.js.map → chunk-EOGPNV25.js.map} +0 -0
  1049. /package/dist/{chunk-MGKEUB7P.js.map → chunk-F3FSD6BO.js.map} +0 -0
  1050. /package/dist/{chunk-LT5JXJ4S.js.map → chunk-FDG2LLX7.js.map} +0 -0
  1051. /package/dist/{chunk-ABMOJ5AY.js.map → chunk-FYAWA3FO.js.map} +0 -0
  1052. /package/dist/{chunk-G3AOJ5FE.js.map → chunk-G3KO2HFZ.js.map} +0 -0
  1053. /package/dist/{chunk-HDYF3EIN.js.map → chunk-GKXMIXEV.js.map} +0 -0
  1054. /package/dist/{chunk-6DE3EHEF.js.map → chunk-GT4UFORX.js.map} +0 -0
  1055. /package/dist/{chunk-JA4PDZNY.js.map → chunk-GZ6YS7TG.js.map} +0 -0
  1056. /package/dist/{chunk-BEJ2AVPJ.js.map → chunk-H7JOVRHO.js.map} +0 -0
  1057. /package/dist/{chunk-OLV66PDA.js.map → chunk-IJDF7D4U.js.map} +0 -0
  1058. /package/dist/{chunk-CHZ3ZNGJ.js.map → chunk-INJHF7AF.js.map} +0 -0
  1059. /package/dist/{chunk-33STLGET.js.map → chunk-IZFGTGFR.js.map} +0 -0
  1060. /package/dist/{chunk-TVKE3OXR.js.map → chunk-J2QOKD2F.js.map} +0 -0
  1061. /package/dist/{chunk-UKABMTAY.js.map → chunk-J5WZ7SAD.js.map} +0 -0
  1062. /package/dist/{chunk-IXJ33KBN.js.map → chunk-JC6GNMA7.js.map} +0 -0
  1063. /package/dist/{chunk-SS445HDO.js.map → chunk-KB5HBQEK.js.map} +0 -0
  1064. /package/dist/{chunk-JLCK7K6Y.js.map → chunk-KB5XJHQX.js.map} +0 -0
  1065. /package/dist/{chunk-CGOVXSSY.js.map → chunk-LHNL6JM2.js.map} +0 -0
  1066. /package/dist/{chunk-VPBCR6DT.js.map → chunk-NAMEFVWL.js.map} +0 -0
  1067. /package/dist/{chunk-NCHPAGHG.js.map → chunk-NORAJYUI.js.map} +0 -0
  1068. /package/dist/{chunk-U3VFBK37.js.map → chunk-NQTSHC7Z.js.map} +0 -0
  1069. /package/dist/{chunk-LHKCZG2R.js.map → chunk-O3LHCQ7Q.js.map} +0 -0
  1070. /package/dist/{chunk-EX4FQWBU.js.map → chunk-O5XLQUDS.js.map} +0 -0
  1071. /package/dist/{chunk-KU7WJPCH.js.map → chunk-P3XJUOWT.js.map} +0 -0
  1072. /package/dist/{chunk-SI23M3JX.js.map → chunk-P3ZJIIDS.js.map} +0 -0
  1073. /package/dist/{chunk-66ZIZ7QP.js.map → chunk-P5T7OZKV.js.map} +0 -0
  1074. /package/dist/{chunk-FK6GBCQ4.js.map → chunk-PA5MYVQY.js.map} +0 -0
  1075. /package/dist/{chunk-TLOFNP4Q.js.map → chunk-PELW56D7.js.map} +0 -0
  1076. /package/dist/{chunk-ZACQZNGD.js.map → chunk-PGVF4SB7.js.map} +0 -0
  1077. /package/dist/{chunk-Z2HNETUP.js.map → chunk-Q676JHJA.js.map} +0 -0
  1078. /package/dist/{chunk-4E27H5EG.js.map → chunk-QDOVBGKZ.js.map} +0 -0
  1079. /package/dist/{chunk-FQK6PZSR.js.map → chunk-QHIUJXU7.js.map} +0 -0
  1080. /package/dist/{chunk-MRI5VTCG.js.map → chunk-QJPPPQPD.js.map} +0 -0
  1081. /package/dist/{chunk-LL6T64OU.js.map → chunk-QNEX7FEC.js.map} +0 -0
  1082. /package/dist/{chunk-PAJJXZ3Z.js.map → chunk-QWX3QJNM.js.map} +0 -0
  1083. /package/dist/{chunk-CJABW4F7.js.map → chunk-RUHMLPH5.js.map} +0 -0
  1084. /package/dist/{chunk-KJNBAM7A.js.map → chunk-SJLIV6PF.js.map} +0 -0
  1085. /package/dist/{chunk-XTQKPYOB.js.map → chunk-SLCSLVGS.js.map} +0 -0
  1086. /package/dist/{chunk-7I7Y3DMU.js.map → chunk-THU74XR6.js.map} +0 -0
  1087. /package/dist/{chunk-2SNAQVAY.js.map → chunk-TY7TEU3T.js.map} +0 -0
  1088. /package/dist/{chunk-LNZM6SUE.js.map → chunk-UXTZ5MBE.js.map} +0 -0
  1089. /package/dist/{chunk-IZNTYRKB.js.map → chunk-V43RLLZE.js.map} +0 -0
  1090. /package/dist/{chunk-A6UE6JDP.js.map → chunk-V7PMSMPF.js.map} +0 -0
  1091. /package/dist/{chunk-3SF5KBIO.js.map → chunk-VFSLIDXA.js.map} +0 -0
  1092. /package/dist/{chunk-KMMVQ2MR.js.map → chunk-VHMNSO2B.js.map} +0 -0
  1093. /package/dist/{chunk-M62WN522.js.map → chunk-VKH6LSC2.js.map} +0 -0
  1094. /package/dist/{chunk-ZCEZANTV.js.map → chunk-VTCBPYGE.js.map} +0 -0
  1095. /package/dist/{chunk-DIKYWXP5.js.map → chunk-W6ASM6UP.js.map} +0 -0
  1096. /package/dist/{chunk-IFZJGDA5.js.map → chunk-W7KB3LJE.js.map} +0 -0
  1097. /package/dist/{chunk-TUVS5SPF.js.map → chunk-WESRVXFS.js.map} +0 -0
  1098. /package/dist/{chunk-3WQ4ANUO.js.map → chunk-WILN7TD6.js.map} +0 -0
  1099. /package/dist/{chunk-KV2MG67C.js.map → chunk-YGL5LTEA.js.map} +0 -0
  1100. /package/dist/{chunk-F4H6VVPE.js.map → chunk-YONSWWCF.js.map} +0 -0
  1101. /package/dist/{chunk-NFDAIY6J.js.map → chunk-Z5KBRTB2.js.map} +0 -0
  1102. /package/dist/{chunk-ENY76SPM.js.map → chunk-ZBKBTTHD.js.map} +0 -0
  1103. /package/dist/{chunk-7K64OJCD.js.map → chunk-ZJR5E53N.js.map} +0 -0
  1104. /package/dist/{chunk-P4UQBJNY.js.map → chunk-ZLU5QDLU.js.map} +0 -0
  1105. /package/dist/{chunk-RMB2MIOJ.js.map → chunk-ZNNC6B75.js.map} +0 -0
  1106. /package/dist/{chunk-KKXHGAYA.js.map → chunk-ZO2YLHRW.js.map} +0 -0
  1107. /package/dist/{chunk-M6CI2HYA.js.map → chunk-ZPJE6D7W.js.map} +0 -0
  1108. /package/dist/{claim-SLU3TMEJ.js.map → claim-DIITRUIN.js.map} +0 -0
  1109. /package/dist/{client-2ABVGUQB.js.map → client-LY2JCQS2.js.map} +0 -0
  1110. /package/dist/{code-GHG7DEPV.js.map → code-7CBNYUPU.js.map} +0 -0
  1111. /package/dist/{companies-2XCKZ46Z.js.map → companies-HHSYHL74.js.map} +0 -0
  1112. /package/dist/{complete-3JAPGUF7.js.map → complete-M3TURPU5.js.map} +0 -0
  1113. /package/dist/{config-L26WNV2G.js.map → config-7COTFJWK.js.map} +0 -0
  1114. /package/dist/{connect-QUJB2B7O.js.map → connect-TQL5EVVE.js.map} +0 -0
  1115. /package/dist/{content-2SL3VHIK.js.map → content-OXMONMHJ.js.map} +0 -0
  1116. /package/dist/{conversation-HIRIQPQY.js.map → conversation-GE273GC4.js.map} +0 -0
  1117. /package/dist/{conversion-report-YHHSCA2E.js.map → conversion-report-BH4HH2Q3.js.map} +0 -0
  1118. /package/dist/{conversion-upload-command-CTVEOGET.js.map → conversion-upload-command-QWWYCTNV.js.map} +0 -0
  1119. /package/dist/{conversion-writes-MJROE4M7.js.map → conversion-writes-HG2O6JI7.js.map} +0 -0
  1120. /package/dist/{conversions-VBOTADOT.js.map → conversions-DP6ZF57D.js.map} +0 -0
  1121. /package/dist/{conversions-H6GFO3O7.js.map → conversions-XPSN7SOW.js.map} +0 -0
  1122. /package/dist/{countries-D5JPHJ4F.js.map → countries-UXAUGSBR.js.map} +0 -0
  1123. /package/dist/{create-KD4ZMJYX.js.map → create-ENQWVWGB.js.map} +0 -0
  1124. /package/dist/{create-7SL6BAET.js.map → create-NVXJP477.js.map} +0 -0
  1125. /package/dist/{create-TIL4R5M4.js.map → create-XLZYNFKN.js.map} +0 -0
  1126. /package/dist/{creatives-YN2MEJXJ.js.map → creatives-O3444SBT.js.map} +0 -0
  1127. /package/dist/{creatives-5C4PRGFT.js.map → creatives-ONKKGW5T.js.map} +0 -0
  1128. /package/dist/{creatives-CLIW4GMR.js.map → creatives-U6IKIQBT.js.map} +0 -0
  1129. /package/dist/{credentials-JI4GR4OR.js.map → credentials-3UY7RVUL.js.map} +0 -0
  1130. /package/dist/{critique-JIKK245W.js.map → critique-3LMW73QJ.js.map} +0 -0
  1131. /package/dist/{critique-G27U5LAO.js.map → critique-KB32Y4AW.js.map} +0 -0
  1132. /package/dist/{crm-S2GNKTHX.js.map → crm-OX67TBWD.js.map} +0 -0
  1133. /package/dist/{crm-QXZKSL4T.js.map → crm-XXU5XZIQ.js.map} +0 -0
  1134. /package/dist/{crop-KR3LOQBX.js.map → crop-3ZV5BFCA.js.map} +0 -0
  1135. /package/dist/{currency-7YV4AT54.js.map → currency-XP4EMU4M.js.map} +0 -0
  1136. /package/dist/{custom-conversions-YCOWWTQ7.js.map → custom-conversions-TV23XQHW.js.map} +0 -0
  1137. /package/dist/{customers-XTK7G7G5.js.map → customers-EJ7FVCTC.js.map} +0 -0
  1138. /package/dist/{decide-DZG2JUMG.js.map → decide-EGQ3CRHI.js.map} +0 -0
  1139. /package/dist/{delete-LXOTLB3P.js.map → delete-55IHV25V.js.map} +0 -0
  1140. /package/dist/{delete-KLSRJZQG.js.map → delete-GXLPIGTC.js.map} +0 -0
  1141. /package/dist/{delete-OHTGL7ZJ.js.map → delete-MUPTLWHI.js.map} +0 -0
  1142. /package/dist/{delete-TSI264EH.js.map → delete-OW2N4WIA.js.map} +0 -0
  1143. /package/dist/{delete-FIDIBB2H.js.map → delete-R2SEUSLV.js.map} +0 -0
  1144. /package/dist/{delete-YKR5Y7EQ.js.map → delete-ZGBBWFAW.js.map} +0 -0
  1145. /package/dist/{demographics-EFZ4KNRS.js.map → demographics-K6DEWUE5.js.map} +0 -0
  1146. /package/dist/{describe-I7VNACXY.js.map → describe-4O3VCV6L.js.map} +0 -0
  1147. /package/dist/{describe-NAINLKWG.js.map → describe-FCTM53MM.js.map} +0 -0
  1148. /package/dist/{dimensions-K6MDXS4B.js.map → dimensions-AD4VS5AH.js.map} +0 -0
  1149. /package/dist/{discard-DCMPT757.js.map → discard-NZ7FQJEE.js.map} +0 -0
  1150. /package/dist/{discover-NRXKO6CV.js.map → discover-OISU5EJF.js.map} +0 -0
  1151. /package/dist/{discover-E7SVCXZ2.js.map → discover-UQXQUPNO.js.map} +0 -0
  1152. /package/dist/{domain-WDE36COE.js.map → domain-DXBHNZLO.js.map} +0 -0
  1153. /package/dist/{download-5FCLTMLA.js.map → download-IE6XLFHM.js.map} +0 -0
  1154. /package/dist/{draft-BS33PXQV.js.map → draft-DB6KMBCH.js.map} +0 -0
  1155. /package/dist/{draft-NJNAGVVV.js.map → draft-ENA7S4Y7.js.map} +0 -0
  1156. /package/dist/{draft-2SEMUJFJ.js.map → draft-HJBAG3SN.js.map} +0 -0
  1157. /package/dist/{draft-3NGYZTH6.js.map → draft-ICEVLF4E.js.map} +0 -0
  1158. /package/dist/{draft-UNCGJCUN.js.map → draft-MGKJ5RYI.js.map} +0 -0
  1159. /package/dist/{draft-YGDIKVJP.js.map → draft-OBFKQEPK.js.map} +0 -0
  1160. /package/dist/{draft-AUF73NZE.js.map → draft-OOHU6NMA.js.map} +0 -0
  1161. /package/dist/{draft-QSO3DQG6.js.map → draft-S6VPKZYY.js.map} +0 -0
  1162. /package/dist/{env-FKVPPL35.js.map → env-YLOVBOAE.js.map} +0 -0
  1163. /package/dist/{experiment-JF2QTPRV.js.map → experiment-PHFP6IBM.js.map} +0 -0
  1164. /package/dist/{export-3ROTRKFE.js.map → export-R2IMUCQO.js.map} +0 -0
  1165. /package/dist/{extract-VXGXR5RD.js.map → extract-OQP3TSQG.js.map} +0 -0
  1166. /package/dist/{facets-MCBQT67Y.js.map → facets-NUKR7I57.js.map} +0 -0
  1167. /package/dist/{favorites-DI2EY34L.js.map → favorites-NS73FDG5.js.map} +0 -0
  1168. /package/dist/{feed-EH4FENF4.js.map → feed-SQPOB7SP.js.map} +0 -0
  1169. /package/dist/{feedback-O4XFHZHO.js.map → feedback-SQAAAKOQ.js.map} +0 -0
  1170. /package/dist/{feedback-record-4WL5BAVA.js.map → feedback-record-7W7WBHSQ.js.map} +0 -0
  1171. /package/dist/{fetch-V3BFDMZF.js.map → fetch-PQ3NOPIE.js.map} +0 -0
  1172. /package/dist/{fetch-5B762QDP.js.map → fetch-PTSAVQW5.js.map} +0 -0
  1173. /package/dist/{fit-JRHXPGLA.js.map → fit-IITU6UWC.js.map} +0 -0
  1174. /package/dist/{follow-PIEAXZE7.js.map → follow-N3DQZV7M.js.map} +0 -0
  1175. /package/dist/{follow-competitors-7N2TPSLA.js.map → follow-competitors-BZPCBGIB.js.map} +0 -0
  1176. /package/dist/{following-74CI7UC6.js.map → following-KESWTEBR.js.map} +0 -0
  1177. /package/dist/{fonts-OENIDAZ7.js.map → fonts-FG6XMK5A.js.map} +0 -0
  1178. /package/dist/{forecast-Y277VDX6.js.map → forecast-43XBSHJR.js.map} +0 -0
  1179. /package/dist/{forecast-D547E44U.js.map → forecast-MAFZQ4UF.js.map} +0 -0
  1180. /package/dist/{funding-FTWMCGZ7.js.map → funding-HYSCYS62.js.map} +0 -0
  1181. /package/dist/{funnel-5JTVRADR.js.map → funnel-32CNV57L.js.map} +0 -0
  1182. /package/dist/{ga4-T4ZHANT2.js.map → ga4-J2KTNCD4.js.map} +0 -0
  1183. /package/dist/{get-V4BZ4NTK.js.map → get-3P2EQLP3.js.map} +0 -0
  1184. /package/dist/{get-WZVNWFQA.js.map → get-FJB3X44Z.js.map} +0 -0
  1185. /package/dist/{get-6NSZTWA5.js.map → get-GDF5V3RN.js.map} +0 -0
  1186. /package/dist/{get-ABPBK4P3.js.map → get-MBGO4VJD.js.map} +0 -0
  1187. /package/dist/{get-2IKPCXEM.js.map → get-NOKSZPIV.js.map} +0 -0
  1188. /package/dist/{get-4NVK3GGF.js.map → get-W7MKBMQ3.js.map} +0 -0
  1189. /package/dist/{get-NE3EEHN6.js.map → get-WHC4SRYK.js.map} +0 -0
  1190. /package/dist/{gif-O3FLM3CF.js.map → gif-SFYVDLCU.js.map} +0 -0
  1191. /package/dist/{google-Z5UAFS3C.js.map → google-XRAMIES5.js.map} +0 -0
  1192. /package/dist/{google-ads-TNQPMZ4S.js.map → google-ads-N55SE2CB.js.map} +0 -0
  1193. /package/dist/{group-34IDEULM.js.map → group-6RDJTWVN.js.map} +0 -0
  1194. /package/dist/{group-HJMQ5H3L.js.map → group-TZJCKHKS.js.map} +0 -0
  1195. /package/dist/{gsc-LDZKY5FW.js.map → gsc-HD6UFRYM.js.map} +0 -0
  1196. /package/dist/{history-5QUGDDCG.js.map → history-4RWCE7WW.js.map} +0 -0
  1197. /package/dist/{history-FSVEXQPF.js.map → history-IROFQ6LA.js.map} +0 -0
  1198. /package/dist/{hubspot-5ZSIBOGH.js.map → hubspot-75N4AI43.js.map} +0 -0
  1199. /package/dist/{icon-37BBWKJO.js.map → icon-BMCDFGMN.js.map} +0 -0
  1200. /package/dist/{ideas-QHHUO5HO.js.map → ideas-7UQMXLI5.js.map} +0 -0
  1201. /package/dist/{images-LIE3WZWC.js.map → images-OFR3S2U4.js.map} +0 -0
  1202. /package/dist/{improve-6J2UJ4JZ.js.map → improve-P6F2HXYQ.js.map} +0 -0
  1203. /package/dist/{ingest-22PPDMUN.js.map → ingest-HGR7KSG4.js.map} +0 -0
  1204. /package/dist/{ingest-UT2H2KZF.js.map → ingest-XU4WXE4U.js.map} +0 -0
  1205. /package/dist/{inspect-677LAYRX.js.map → inspect-TL2VZBN7.js.map} +0 -0
  1206. /package/dist/{inspiration-LYCDPQEY.js.map → inspiration-7WTS3AVI.js.map} +0 -0
  1207. /package/dist/{intent-EPQQ7ZFJ.js.map → intent-OCZE4O7R.js.map} +0 -0
  1208. /package/dist/{job-ZEI4FC5Y.js.map → job-XMPQ27SJ.js.map} +0 -0
  1209. /package/dist/{job-create-QVTI3TP6.js.map → job-create-HTDQHPEF.js.map} +0 -0
  1210. /package/dist/{job-status-GVL7X6EY.js.map → job-status-L7WUTZ2C.js.map} +0 -0
  1211. /package/dist/{keep-GD5LZFGG.js.map → keep-42SLV4CR.js.map} +0 -0
  1212. /package/dist/{keyword-gap-GDYE6HFV.js.map → keyword-gap-323NE4AK.js.map} +0 -0
  1213. /package/dist/{keyword-metrics-IEEMFOE5.js.map → keyword-metrics-V6DGO7U5.js.map} +0 -0
  1214. /package/dist/{keywords-for-site-Q23TNDPZ.js.map → keywords-for-site-ANSLXBHB.js.map} +0 -0
  1215. /package/dist/{landing-CV23X7CN.js.map → landing-K25GUBLZ.js.map} +0 -0
  1216. /package/dist/{landings-4YBHALDA.js.map → landings-5IYXHA5Z.js.map} +0 -0
  1217. /package/dist/{languages-KRXEHLM4.js.map → languages-SRFGW6Z3.js.map} +0 -0
  1218. /package/dist/{languages-6WNZHQ4U.js.map → languages-US6JUATO.js.map} +0 -0
  1219. /package/dist/{layerize-M6ZRXR7M.js.map → layerize-U672AXED.js.map} +0 -0
  1220. /package/dist/{leads-NV57FPKX.js.map → leads-MXUQISOC.js.map} +0 -0
  1221. /package/dist/{leads-ANHNQVHR.js.map → leads-UJVKPRXX.js.map} +0 -0
  1222. /package/dist/{learn-YZ3XSAV5.js.map → learn-XTEU4K66.js.map} +0 -0
  1223. /package/dist/{lighthouse-DXZIQLLK.js.map → lighthouse-SJ4QNLUS.js.map} +0 -0
  1224. /package/dist/{line-item-writes-WJRNPIUP.js.map → line-item-writes-NURRHJ7P.js.map} +0 -0
  1225. /package/dist/{line-items-V7TBD3ID.js.map → line-items-PC6QWV5J.js.map} +0 -0
  1226. /package/dist/{link-VL5HPDR4.js.map → link-ZSXKCLQD.js.map} +0 -0
  1227. /package/dist/{linkedin-YXAXITWY.js.map → linkedin-EZJJBKY3.js.map} +0 -0
  1228. /package/dist/{list-KEWAXGUG.js.map → list-ECF3RA26.js.map} +0 -0
  1229. /package/dist/{list-LC7BZRD4.js.map → list-GQ65MC2N.js.map} +0 -0
  1230. /package/dist/{list-MEGAZDWZ.js.map → list-K56J7FZW.js.map} +0 -0
  1231. /package/dist/{list-RGMBFJHB.js.map → list-M4Z3WYPM.js.map} +0 -0
  1232. /package/dist/{list-2M3M3ETE.js.map → list-N7ZLO2LE.js.map} +0 -0
  1233. /package/dist/{list-HB4HYMCC.js.map → list-Q5ZZRPHO.js.map} +0 -0
  1234. /package/dist/{list-IZNAL5LS.js.map → list-SXYVDDMU.js.map} +0 -0
  1235. /package/dist/{list-VXNYIVS5.js.map → list-XFIOXFB2.js.map} +0 -0
  1236. /package/dist/{locations-VAIAC2TU.js.map → locations-LZUHWKZY.js.map} +0 -0
  1237. /package/dist/{locations-BPH3DMDQ.js.map → locations-NG4YXIBT.js.map} +0 -0
  1238. /package/dist/{log-ZBKKTCH4.js.map → log-EEBJQ6X2.js.map} +0 -0
  1239. /package/dist/{launches-FOJQPCD2.js.map → logo-4JOWGJ5A.js.map} +0 -0
  1240. /package/dist/{logo-SOCGJLY5.js.map → lookup-7NBZ64TE.js.map} +0 -0
  1241. /package/dist/{mcp-UNMB4DFG.js.map → mcp-DAKGMA2Z.js.map} +0 -0
  1242. /package/dist/{media-OYAN23YG.js.map → media-2SWDJDA6.js.map} +0 -0
  1243. /package/dist/{media-QCWYLIO2.js.map → media-R64YP7T2.js.map} +0 -0
  1244. /package/dist/{media-sources-BQETKYFK.js.map → media-sources-L2X3KRDU.js.map} +0 -0
  1245. /package/dist/{members-NPDLDJS5.js.map → members-22BOEGQS.js.map} +0 -0
  1246. /package/dist/{meta-B5XDM6F6.js.map → meta-RBHF2RG3.js.map} +0 -0
  1247. /package/dist/{metrics-EWFYLBPC.js.map → metrics-IXRQZVSM.js.map} +0 -0
  1248. /package/dist/{models-4K2B7C4S.js.map → models-BDXZ56GI.js.map} +0 -0
  1249. /package/dist/{normalize-MMXC57LC.js.map → normalize-JAE3NVOX.js.map} +0 -0
  1250. /package/dist/{normalize-2OUEDA6D.js.map → normalize-P5Q3F7FU.js.map} +0 -0
  1251. /package/dist/{lookup-MQBDRZZT.js.map → output-ZL62UZHQ.js.map} +0 -0
  1252. /package/dist/{page-EMJESGQZ.js.map → page-FZ7IZ5CV.js.map} +0 -0
  1253. /package/dist/{pages-OMKAYKCF.js.map → pages-SS7TZTHV.js.map} +0 -0
  1254. /package/dist/{output-ZKNCKP7T.js.map → performance-FOOV624A.js.map} +0 -0
  1255. /package/dist/{pinterest-I6JO7LXL.js.map → pinterest-UETS7U7U.js.map} +0 -0
  1256. /package/dist/{pixels-5JBTFWCO.js.map → pixels-LCTMLKGP.js.map} +0 -0
  1257. /package/dist/{pixels-JSSNVLXR.js.map → pixels-MPZYWGFD.js.map} +0 -0
  1258. /package/dist/{plan-KNUKCIS7.js.map → plan-V74EVXTW.js.map} +0 -0
  1259. /package/dist/{preview-TBINZJ2C.js.map → preview-RU54Z4EM.js.map} +0 -0
  1260. /package/dist/{promoted-tweet-writes-NRLYLKDH.js.map → promoted-tweet-writes-FQRFU7PB.js.map} +0 -0
  1261. /package/dist/{promoted-tweets-XNPXTPQX.js.map → promoted-tweets-L2L3V5SF.js.map} +0 -0
  1262. /package/dist/{properties-CTFQ7IK3.js.map → properties-ZUDQH3LE.js.map} +0 -0
  1263. /package/dist/{publish-VTERMZDW.js.map → publish-5XTAHTM4.js.map} +0 -0
  1264. /package/dist/{query-JMVLWKVY.js.map → query-26T7XATH.js.map} +0 -0
  1265. /package/dist/{query-T5IBVQ3B.js.map → query-SHUOHXTO.js.map} +0 -0
  1266. /package/dist/{performance-RRL3KUNU.js.map → query-XISUHMBR.js.map} +0 -0
  1267. /package/dist/{questionnaire-APZ6FMPE.js.map → questionnaire-UG55JLVW.js.map} +0 -0
  1268. /package/dist/{read-W5ZK5G7Q.js.map → read-UYSQAXRV.js.map} +0 -0
  1269. /package/dist/{query-U242DEWX.js.map → reddit-BCB4FT6J.js.map} +0 -0
  1270. /package/dist/{refresh-7LFNDRYA.js.map → refresh-WY5NPNLX.js.map} +0 -0
  1271. /package/dist/{release-ZEHZ7EQX.js.map → release-JBSPPNQE.js.map} +0 -0
  1272. /package/dist/{relevant-pages-ZGR5VJNI.js.map → relevant-pages-OU5H56KY.js.map} +0 -0
  1273. /package/dist/{remove-RFOFNOYU.js.map → remove-2KACTXKP.js.map} +0 -0
  1274. /package/dist/{remove-FB3NBNBG.js.map → remove-M5P7M5JU.js.map} +0 -0
  1275. /package/dist/{reopen-Z6ODLCPE.js.map → reopen-J3VW5766.js.map} +0 -0
  1276. /package/dist/{rerun-TZ6BPGYL.js.map → rerun-5MRYJG6U.js.map} +0 -0
  1277. /package/dist/{research-64G5C2ZQ.js.map → research-4CAA5CA2.js.map} +0 -0
  1278. /package/dist/{research-VQ4DK4BX.js.map → research-7LBTJ2B2.js.map} +0 -0
  1279. /package/dist/{reset-YRQ5DGNF.js.map → reset-DBWWGCXY.js.map} +0 -0
  1280. /package/dist/{reset-F2JQR3OZ.js.map → reset-DJSSXC4Y.js.map} +0 -0
  1281. /package/dist/{resolve-QXKGYHGJ.js.map → resolve-BNRUYS56.js.map} +0 -0
  1282. /package/dist/{retry-YZUECDFN.js.map → retry-TMRIFGVT.js.map} +0 -0
  1283. /package/dist/{retry-SANO53UL.js.map → retry-WRBGLB7O.js.map} +0 -0
  1284. /package/dist/{retry-failed-5XDCVPQA.js.map → retry-failed-NWLH6WHK.js.map} +0 -0
  1285. /package/dist/{reddit-C5CAD24M.js.map → run-TA3DP6QG.js.map} +0 -0
  1286. /package/dist/{run-VRKP6QXJ.js.map → run-VVTLDRRW.js.map} +0 -0
  1287. /package/dist/{scaffold-ad-LHWGQZAC.js.map → scaffold-ad-7DSV6XDB.js.map} +0 -0
  1288. /package/dist/{scaffold-static-ad-EZQAIRCG.js.map → scaffold-static-ad-BEZ37QWN.js.map} +0 -0
  1289. /package/dist/{scaffold-video-XJG7IGOH.js.map → scaffold-video-SPCMTYK3.js.map} +0 -0
  1290. /package/dist/{schedule-RLNIWFNT.js.map → schedule-BQQGYGT7.js.map} +0 -0
  1291. /package/dist/{schedule-4N6JTJJT.js.map → schedule-S547HPUT.js.map} +0 -0
  1292. /package/dist/{schema-ANV3AC5M.js.map → schema-DDEWM5ZX.js.map} +0 -0
  1293. /package/dist/{schema-RNVEYR2U.js.map → schema-SQIP75WG.js.map} +0 -0
  1294. /package/dist/{scrape-VK7RZO4M.js.map → scrape-TI6S2W7I.js.map} +0 -0
  1295. /package/dist/{screenshot-PWUROUXU.js.map → screenshot-XFAYY4WW.js.map} +0 -0
  1296. /package/dist/{run-3VEPILYM.js.map → search-4HIOKYFR.js.map} +0 -0
  1297. /package/dist/{search-3ZW3RRPX.js.map → search-D2IV7KFJ.js.map} +0 -0
  1298. /package/dist/{search-LRY5SYDM.js.map → search-IZPDHRJ4.js.map} +0 -0
  1299. /package/dist/{search-J2VQNY4A.js.map → search-KFDL2IGG.js.map} +0 -0
  1300. /package/dist/{search-BMIFGJLQ.js.map → search-VJBKRD2U.js.map} +0 -0
  1301. /package/dist/{search-copy-AVQESTYJ.js.map → search-copy-QZXCAGK4.js.map} +0 -0
  1302. /package/dist/{seeds-C6JI3WTG.js.map → seeds-VUNZMHZH.js.map} +0 -0
  1303. /package/dist/{select-5ZNRK2MF.js.map → select-U5TPAXGY.js.map} +0 -0
  1304. /package/dist/{sends-DYIE7W5U.js.map → sends-7HWLIOUO.js.map} +0 -0
  1305. /package/dist/{sequences-CQVKVRC4.js.map → sequences-5RAGZE7L.js.map} +0 -0
  1306. /package/dist/{set-prompt-UPX3Z32E.js.map → set-prompt-MHU4WI3Q.js.map} +0 -0
  1307. /package/dist/{setup-links-5BBLPJHT.js.map → setup-links-SPIGXQTY.js.map} +0 -0
  1308. /package/dist/{search-M23XX3N5.js.map → shared-3CGGKICB.js.map} +0 -0
  1309. /package/dist/{site-MK3C44AE.js.map → site-FW6K6L6M.js.map} +0 -0
  1310. /package/dist/{sitemaps-XFLHKP2D.js.map → sitemaps-3WDYQHYR.js.map} +0 -0
  1311. /package/dist/{sites-5JNZWY3A.js.map → sites-G4DQ2Z2X.js.map} +0 -0
  1312. /package/dist/{skills-43P4WK6Y.js.map → skills-PA26HXEP.js.map} +0 -0
  1313. /package/dist/{sources-KS7IVG62.js.map → sources-PMBWG4KO.js.map} +0 -0
  1314. /package/dist/{stale-TYETBSC3.js.map → stale-5IMY6MWC.js.map} +0 -0
  1315. /package/dist/{stats-LLTHL5VR.js.map → stats-Q35I5DRW.js.map} +0 -0
  1316. /package/dist/{status-MGEC456X.js.map → status-62SUXUWW.js.map} +0 -0
  1317. /package/dist/{sticker-B5DJ56YG.js.map → sticker-MC2IAIQB.js.map} +0 -0
  1318. /package/dist/{stock-WXAFJFAC.js.map → stock-B7LKMKUK.js.map} +0 -0
  1319. /package/dist/{studio-2WRZGW5K.js.map → studio-BB2EVW5I.js.map} +0 -0
  1320. /package/dist/{sync-VDPGFUZS.js.map → sync-CLZDZL5F.js.map} +0 -0
  1321. /package/dist/{sync-GCHWLGQG.js.map → sync-YTHNOAAM.js.map} +0 -0
  1322. /package/dist/{shared-2SQRS476.js.map → sync-definition-DYSVT7BJ.js.map} +0 -0
  1323. /package/dist/{tag-manager-HG76EBNX.js.map → tag-manager-EAREWVYR.js.map} +0 -0
  1324. /package/dist/{tags-X2TXKPPZ.js.map → tags-53AG3FYG.js.map} +0 -0
  1325. /package/dist/{tags-ARHISNSY.js.map → tags-7TH7TVR6.js.map} +0 -0
  1326. /package/dist/{tags-DGBDJCH4.js.map → tags-EB4RE3ML.js.map} +0 -0
  1327. /package/dist/{tags-5LN7N55H.js.map → tags-EUEWDTTN.js.map} +0 -0
  1328. /package/dist/{tags-GUAZQFF6.js.map → tags-ICAWBCOR.js.map} +0 -0
  1329. /package/dist/{targeting-constants-GR7RUKE3.js.map → targeting-constants-IFE72XKL.js.map} +0 -0
  1330. /package/dist/{targeting-criteria-LUS4MHBB.js.map → targeting-criteria-WZDGJKOI.js.map} +0 -0
  1331. /package/dist/{targets-B267WA3R.js.map → targets-OKJ6A4YL.js.map} +0 -0
  1332. /package/dist/{testimonials-R2AAWIZO.js.map → testimonials-THHR5JH5.js.map} +0 -0
  1333. /package/dist/{themes-5CH6AYPZ.js.map → themes-ZFRM6AVO.js.map} +0 -0
  1334. /package/dist/{top-companies-PTCHBWQM.js.map → top-companies-63Q475IA.js.map} +0 -0
  1335. /package/dist/{translate-EBNKGIH3.js.map → translate-XKUWIIOS.js.map} +0 -0
  1336. /package/dist/{triggers-OJX6V4IR.js.map → triggers-XLKO2QXQ.js.map} +0 -0
  1337. /package/dist/{tweets-ZWC7YOQ4.js.map → tweets-7EZRFG3Y.js.map} +0 -0
  1338. /package/dist/{unfollow-LBMJXF4E.js.map → unfollow-WBBTVEHE.js.map} +0 -0
  1339. /package/dist/{unlink-RBGMHY65.js.map → unlink-P7KU54YU.js.map} +0 -0
  1340. /package/dist/{unstage-HL7IA2ZX.js.map → unstage-EG7AUE5X.js.map} +0 -0
  1341. /package/dist/{unstage-5AZAD2KF.js.map → unstage-GHXGDOT2.js.map} +0 -0
  1342. /package/dist/{update-RJYVSNAK.js.map → update-7EWDO32L.js.map} +0 -0
  1343. /package/dist/{update-NBP7ULLA.js.map → update-BVYGB4YL.js.map} +0 -0
  1344. /package/dist/{update-34PHEAKR.js.map → update-KVMQOVQK.js.map} +0 -0
  1345. /package/dist/{update-RA3NLNCP.js.map → update-N74F5KXB.js.map} +0 -0
  1346. /package/dist/{upload-BNN7FAYI.js.map → upload-6PYPHPCZ.js.map} +0 -0
  1347. /package/dist/{upload-MPMP3JRS.js.map → upload-NA62W5RS.js.map} +0 -0
  1348. /package/dist/{upscale-TXJFZLUU.js.map → upscale-RXJUBHXN.js.map} +0 -0
  1349. /package/dist/{url-options-QCM32IFK.js.map → url-options-EUDXLDBD.js.map} +0 -0
  1350. /package/dist/{url-params-SLEXR6SY.js.map → url-params-DBJSM2LP.js.map} +0 -0
  1351. /package/dist/{use-SUY57ZJA.js.map → use-MHPNS4V4.js.map} +0 -0
  1352. /package/dist/{validate-IJABVPQ4.js.map → validate-TTAGVGM2.js.map} +0 -0
  1353. /package/dist/{variant-TE6CEHZW.js.map → variant-ZFCWILPG.js.map} +0 -0
  1354. /package/dist/{videos-MWA4765B.js.map → videos-DUG7JYUA.js.map} +0 -0
  1355. /package/dist/{view-EQZB7Z6N.js.map → view-PYCGDGT2.js.map} +0 -0
  1356. /package/dist/{sync-definition-VOLVALMF.js.map → viewer-check-HIMNCZGY.js.map} +0 -0
  1357. /package/dist/{web-GSE64LFI.js.map → web-SDG42OBC.js.map} +0 -0
  1358. /package/dist/{winners-UPM6DFRB.js.map → winners-AI4PVSOI.js.map} +0 -0
  1359. /package/dist/{winning-ads-K6QJT2BF.js.map → winning-ads-KGAYAIPG.js.map} +0 -0
  1360. /package/dist/{write-commands-5HSNHURZ.js.map → write-commands-34L5LJIB.js.map} +0 -0
  1361. /package/dist/{write-commands-BCU5YATY.js.map → write-commands-5TJ3LQ5F.js.map} +0 -0
  1362. /package/dist/{write-commands-MOZHC2RJ.js.map → write-commands-OYMWOFEY.js.map} +0 -0
  1363. /package/dist/{write-commands-YNI6KS2B.js.map → write-commands-R3UCCBUI.js.map} +0 -0
  1364. /package/dist/{x-UNF2SAMI.js.map → x-VNRVGVLI.js.map} +0 -0
@@ -1,423 +0,0 @@
1
- import {
2
- placementFormatNote,
3
- previewFormatForPosition
4
- } from "./chunk-GOJXKIFQ.js";
5
- import {
6
- csvOrJson,
7
- getDateRange,
8
- handleMetaError
9
- } from "./chunk-LHKCZG2R.js";
10
- import {
11
- writeAdsJson,
12
- writeAdsOutput,
13
- writeJsonEnvelope
14
- } from "./chunk-CGOVXSSY.js";
15
- import {
16
- NO_CACHE_ARG
17
- } from "./chunk-LLN7NP3O.js";
18
- import {
19
- apiGet,
20
- apiPost
21
- } from "./chunk-JLCK7K6Y.js";
22
- import "./chunk-F4H6VVPE.js";
23
- import "./chunk-G3UCXCC2.js";
24
- import "./chunk-IWLWY2UD.js";
25
- import "./chunk-YQSBHWOI.js";
26
-
27
- // src/commands/ads/meta/insights.ts
28
- import { defineCommand } from "citty";
29
-
30
- // src/commands/ads/meta/placement-delivery.ts
31
- var MIN_IMPRESSIONS = 20;
32
- var SILENT_FRACTION_OF_REFERENCE = 0.1;
33
- var PLAYING_REFERENCE_RATE = 0.5;
34
- function toNumber(value) {
35
- const n = Number(value);
36
- return Number.isFinite(n) ? n : 0;
37
- }
38
- function sumActionValues(value) {
39
- if (!Array.isArray(value)) return 0;
40
- return value.reduce((total, entry) => {
41
- const item = entry;
42
- return total + toNumber(item?.value);
43
- }, 0);
44
- }
45
- function aggregate(rows) {
46
- const byPlacement = /* @__PURE__ */ new Map();
47
- let totalImpressions = 0;
48
- for (const row of rows) {
49
- const position = row.platform_position;
50
- if (typeof position !== "string" || position.length === 0) continue;
51
- const platform = typeof row.publisher_platform === "string" ? row.publisher_platform : "";
52
- const impressions = toNumber(row.impressions);
53
- totalImpressions += impressions;
54
- const key = `${platform}/${position}`;
55
- const current = byPlacement.get(key) ?? { platform, position, impressions: 0, plays: 0, playRate: 0, share: 0 };
56
- current.impressions += impressions;
57
- current.plays += sumActionValues(row.video_play_actions);
58
- byPlacement.set(key, current);
59
- }
60
- return [...byPlacement.values()].map((placement) => ({
61
- ...placement,
62
- playRate: placement.impressions > 0 ? placement.plays / placement.impressions : 0,
63
- share: totalImpressions > 0 ? placement.impressions / totalImpressions : 0
64
- }));
65
- }
66
- function previewCommand(placement) {
67
- const format = previewFormatForPosition(placement.position, placement.platform);
68
- return format ? `\`baker ads meta preview --creative-id <id> --placement ${placement.position} --platform ${placement.platform}\`` : `no preview format is known for ${placement.position}, so Meta's renderer cannot confirm it \u2014 say the placement is unverified rather than filling the gap`;
69
- }
70
- function isSingleAdQuery(rows) {
71
- const adIds = /* @__PURE__ */ new Set();
72
- for (const row of rows) {
73
- if (typeof row.ad_id !== "string" || row.ad_id.length === 0) return false;
74
- adIds.add(row.ad_id);
75
- }
76
- return adIds.size === 1;
77
- }
78
- function placementDeliveryHints(rows) {
79
- const carriesVideoMetrics = rows.some((row) => Array.isArray(row.video_play_actions));
80
- if (!carriesVideoMetrics || !isSingleAdQuery(rows)) return [];
81
- const placements = aggregate(rows);
82
- const judgeable = placements.filter((p) => p.impressions >= MIN_IMPRESSIONS);
83
- const impressions = judgeable.reduce((total, p) => total + p.impressions, 0);
84
- const reference = impressions > 0 ? judgeable.reduce((total, p) => total + p.plays, 0) / impressions : 0;
85
- if (reference < PLAYING_REFERENCE_RATE) return [];
86
- const silent = judgeable.filter((p) => p.playRate < reference * SILENT_FRACTION_OF_REFERENCE).sort((a, b) => b.impressions - a.impressions);
87
- if (silent.length === 0) {
88
- const worst = [...judgeable].sort((a, b) => a.playRate - b.playRate)[0];
89
- return [
90
- `Checked every placement above ${MIN_IMPRESSIONS} impressions against this ad's own play rate (${(reference * 100).toFixed(0)}%): no placement is failing to play the video${worst ? `, the lowest being ${worst.platform}/${worst.position} at ${(worst.playRate * 100).toFixed(0)}%` : ""}. So placements do not explain a "it shows as a still image" report \u2014 rule out autoplay off or data saver in the viewer's own app, which renders every video as its cover frame account-wide.`
91
- ];
92
- }
93
- const hints = silent.map((placement) => {
94
- const note = placementFormatNote(placement.position);
95
- const documented = note ? ` Meta documents this placement: ${note.note}` : "";
96
- return `${placement.platform}/${placement.position} delivered ${placement.impressions.toLocaleString("en-US")} impressions (${(placement.share * 100).toFixed(1)}% of the total) and ${placement.plays.toLocaleString("en-US")} video plays \u2014 it may not be rendering the video. This is account evidence, not a rule: confirm what Meta renders there with ${previewCommand(placement)} before you say anything about it.${documented}`;
97
- });
98
- const combinedShare = silent.reduce((total, placement) => total + placement.share, 0) * 100;
99
- hints.push(
100
- `Those placements are ${combinedShare.toFixed(1)}% of delivery in this query. State that share before proposing to remove them \u2014 and note that removing placements from a live ad set is a targeting change, which Meta counts as a significant edit that re-enters the learning phase.`
101
- );
102
- return hints;
103
- }
104
-
105
- // src/commands/ads/meta/presets.ts
106
- var INSIGHTS_INTENTS = {
107
- baseline: {
108
- name: "baseline",
109
- description: "Spend, impressions, clicks, CTR, CPC, CPM. The default question: 'how is delivery?'",
110
- fields: ["impressions", "reach", "frequency", "spend", "clicks", "ctr", "cpc", "cpm"]
111
- },
112
- revenue: {
113
- name: "revenue",
114
- description: "Spend, conversions, action_values, purchase_roas. 'How much money are we making?'",
115
- fields: ["spend", "actions", "action_values", "conversions", "conversion_values", "purchase_roas"],
116
- actionBreakdowns: ["action_type"]
117
- },
118
- funnel: {
119
- name: "funnel",
120
- description: "Impression \u2192 click \u2192 landing page \u2192 action. 'Where do users drop off?'",
121
- fields: ["impressions", "clicks", "inline_link_clicks", "outbound_clicks", "actions", "spend"],
122
- actionBreakdowns: ["action_type"]
123
- },
124
- ranking: {
125
- name: "ranking",
126
- description: "Quality, engagement, conversion-rate rankings. 'Which creatives need a refresh?'",
127
- fields: ["impressions", "spend", "ctr", "quality_ranking", "engagement_rate_ranking", "conversion_rate_ranking"]
128
- },
129
- video: {
130
- name: "video",
131
- description: "Watch funnel, thruplay cost. 'How are video creatives holding attention?'",
132
- fields: [
133
- "impressions",
134
- "spend",
135
- "video_play_actions",
136
- "video_p25_watched_actions",
137
- "video_p50_watched_actions",
138
- "video_p75_watched_actions",
139
- "video_p100_watched_actions",
140
- "video_thruplay_watched_actions",
141
- "cost_per_thruplay"
142
- ]
143
- },
144
- identity: {
145
- name: "identity",
146
- description: "Just the names + spend \u2014 for cheap roll-up summaries.",
147
- fields: ["spend", "impressions"]
148
- }
149
- };
150
- var IDENTITY_FIELDS_BY_LEVEL = {
151
- account: ["account_id", "account_name", "account_currency"],
152
- campaign: ["campaign_id", "campaign_name", "objective"],
153
- adset: ["adset_id", "adset_name", "campaign_id", "campaign_name"],
154
- ad: ["ad_id", "ad_name", "adset_id", "adset_name", "campaign_id", "campaign_name"]
155
- };
156
- function composeFields(intent, level) {
157
- const intentFields = INSIGHTS_INTENTS[intent].fields;
158
- const identity = IDENTITY_FIELDS_BY_LEVEL[level];
159
- const seen = /* @__PURE__ */ new Set();
160
- const out = [];
161
- for (const f of [...identity, ...intentFields]) {
162
- if (!seen.has(f)) {
163
- seen.add(f);
164
- out.push(f);
165
- }
166
- }
167
- return out;
168
- }
169
- function getIntent(name) {
170
- return INSIGHTS_INTENTS[name];
171
- }
172
- function listIntents() {
173
- return Object.values(INSIGHTS_INTENTS);
174
- }
175
-
176
- // src/commands/ads/meta/insights.ts
177
- var POLL_INTERVAL_MS = 5e3;
178
- var POLL_MAX_MS = 10 * 6e4;
179
- var DEFAULT_ATTRIBUTION_WINDOWS = ["7d_click", "1d_view"];
180
- var DEFAULT_FILTERING = [{ field: "impressions", operator: "GREATER_THAN", value: 0 }];
181
- function commaSplit(input) {
182
- if (!input) return void 0;
183
- return input.split(",").map((s) => s.trim()).filter(Boolean);
184
- }
185
- function parseFiltering(raw) {
186
- if (!raw) return void 0;
187
- try {
188
- return JSON.parse(raw);
189
- } catch {
190
- handleMetaError(new Error("Invalid --filtering JSON"));
191
- }
192
- }
193
- function pickIntent(name) {
194
- if (!name) return "baseline";
195
- const found = getIntent(name);
196
- if (!found) {
197
- handleMetaError(new Error(`Unknown --intent: ${name}. Use --list-intents to see options.`));
198
- }
199
- return found.name;
200
- }
201
- function pickLevel(args) {
202
- const raw = args.level;
203
- if (!raw) return "account";
204
- if (raw !== "account" && raw !== "campaign" && raw !== "adset" && raw !== "ad") {
205
- handleMetaError(new Error("--level must be one of: account|campaign|adset|ad"));
206
- }
207
- return raw;
208
- }
209
- function shouldAutoAsync(body) {
210
- const breakdownCount = (body.breakdowns ?? []).length;
211
- if (body.level === "ad" && breakdownCount > 0 && body.object.startsWith("act_")) {
212
- return true;
213
- }
214
- if (breakdownCount > 2) {
215
- return true;
216
- }
217
- if (body.since && body.until) {
218
- const days = (Date.parse(body.until) - Date.parse(body.since)) / 864e5;
219
- if (days > 90) {
220
- return true;
221
- }
222
- }
223
- return false;
224
- }
225
- function wantsAsync(asyncFlag, body) {
226
- if (asyncFlag === true) return true;
227
- if (asyncFlag === false) return false;
228
- return shouldAutoAsync(body);
229
- }
230
- function applyDateRange(body, args) {
231
- const range = getDateRange(args);
232
- if (range.datePreset) body.datePreset = range.datePreset;
233
- if (range.since) body.since = range.since;
234
- if (range.until) body.until = range.until;
235
- if (!body.datePreset && !(body.since && body.until)) {
236
- body.datePreset = "last_7d";
237
- }
238
- }
239
- function buildFiltering(args) {
240
- const explicit = parseFiltering(args.filtering);
241
- if (explicit) return explicit;
242
- if (args["include-undelivered"]) return void 0;
243
- return DEFAULT_FILTERING;
244
- }
245
- function buildAttributionWindows(args) {
246
- const explicit = commaSplit(args["attribution-windows"]);
247
- if (explicit) return explicit;
248
- return DEFAULT_ATTRIBUTION_WINDOWS;
249
- }
250
- function buildBody(args) {
251
- const intent = pickIntent(args.intent);
252
- const level = pickLevel(args);
253
- const intentDef = getIntent(intent);
254
- const explicitFields = commaSplit(args.fields);
255
- const fields = explicitFields ?? composeFields(intent, level);
256
- const breakdowns = commaSplit(args.breakdowns);
257
- const actionBreakdowns = commaSplit(args["action-breakdowns"]) ?? intentDef?.actionBreakdowns;
258
- const body = {
259
- object: args.object,
260
- level,
261
- fields,
262
- timeIncrement: args["time-increment"],
263
- breakdowns,
264
- actionBreakdowns,
265
- filtering: buildFiltering(args),
266
- attributionWindows: buildAttributionWindows(args),
267
- useAccountAttributionSetting: Boolean(args["use-account-attribution"]),
268
- useUnifiedAttributionSetting: Boolean(args["use-unified-attribution"]),
269
- limit: args.limit ? Number(args.limit) : 1e3,
270
- skipCache: Boolean(args["no-cache"])
271
- };
272
- applyDateRange(body, args);
273
- return body;
274
- }
275
- async function pollAsync(reportRunId) {
276
- const start = Date.now();
277
- while (Date.now() - start < POLL_MAX_MS) {
278
- const status = await apiGet(
279
- "/api/ads/meta/insights/async/status",
280
- { "report-run-id": reportRunId }
281
- );
282
- if (status.async_status === "Job Completed") return;
283
- if (status.async_status === "Job Failed" || status.async_status === "Job Skipped") {
284
- handleMetaError(new Error(`Async insights job ${status.async_status}`));
285
- }
286
- process.stderr.write(
287
- `Async insights ${status.async_status ?? "queued"} (${Math.round(status.async_percent_completion ?? 0)}%)\u2026
288
- `
289
- );
290
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
291
- }
292
- handleMetaError(new Error("Async insights polling timed out after 10 minutes"));
293
- }
294
- async function runAsync(body) {
295
- const submit = await apiPost("/api/ads/meta/insights/async", body);
296
- process.stderr.write(`Async insights job: ${submit.reportRunId}
297
- `);
298
- await pollAsync(submit.reportRunId);
299
- return apiPost("/api/ads/meta/insights/async/result", {
300
- reportRunId: submit.reportRunId,
301
- fields: body.fields,
302
- limit: body.limit
303
- });
304
- }
305
- function sortRowsBySpendDesc(rows) {
306
- return [...rows].sort((a, b) => {
307
- const sa = Number(a.spend ?? 0);
308
- const sb = Number(b.spend ?? 0);
309
- if (Number.isNaN(sa) || Number.isNaN(sb)) return 0;
310
- return sb - sa;
311
- });
312
- }
313
- var insightsCommand = defineCommand({
314
- meta: {
315
- name: "insights",
316
- description: `Performance reporting \u2014 the main Meta tool for AI agents.
317
-
318
- Smart defaults so the AI doesn't have to remember every flag:
319
- --level account (set --level campaign|adset|ad to drill in)
320
- --intent baseline (or revenue|funnel|ranking|video|identity)
321
- --date-preset last_7d (override with --since/--until)
322
- --attribution-windows 7d_click,1d_view (the only ones still working post Jan 2026)
323
- filter: impressions > 0 (skip undelivered rows; --include-undelivered to keep)
324
- sort: spend descending (when result fits in memory)
325
- auto-async when query is heavy (level=ad + breakdowns, big date ranges, etc.)
326
-
327
- Identity fields (campaign_name, ad_name etc.) are appended automatically based on --level so rows
328
- are self-describing.
329
-
330
- Examples \u2014 common AI questions:
331
- # "How is GreenLeaf doing this week?"
332
- baker ads meta insights --object act_123
333
-
334
- # "Which campaigns are profitable?"
335
- baker ads meta insights --object act_123 --level campaign --intent revenue --date-preset last_28d
336
-
337
- # "Which creatives need a refresh?"
338
- baker ads meta insights --object act_123 --level ad --intent ranking --date-preset last_14d
339
-
340
- # "Where do users drop off the funnel?"
341
- baker ads meta insights --object act_123 --intent funnel
342
-
343
- # "Should we shift budget to Instagram?"
344
- baker ads meta insights --object act_123 --level adset --breakdowns publisher_platform,platform_position
345
-
346
- # Custom field set (escape hatch)
347
- baker ads meta insights --object act_123 --fields impressions,spend,actions
348
-
349
- Async is automatic for heavy queries; pass --async to force it, or --no-async to refuse fallback.`
350
- },
351
- args: {
352
- object: {
353
- type: "string",
354
- description: "Object ID \u2014 act_<id> for account, or a campaign/adset/ad ID"
355
- },
356
- level: { type: "string", description: "account|campaign|adset|ad (default: account)" },
357
- intent: { type: "string", description: "baseline|revenue|funnel|ranking|video|identity (default: baseline)" },
358
- fields: { type: "string", description: "Comma-separated field list (overrides --intent bundle)" },
359
- "list-intents": { type: "boolean", description: "Print available intents and exit" },
360
- "date-preset": { type: "string", description: "Meta date preset (last_7d, last_28d, today, ...)" },
361
- since: { type: "string", description: "Custom start date YYYY-MM-DD" },
362
- until: { type: "string", description: "Custom end date YYYY-MM-DD" },
363
- "time-increment": { type: "string", description: "1 (day) | monthly | all_days" },
364
- breakdowns: { type: "string", description: "Comma-separated breakdowns (e.g. publisher_platform,age)" },
365
- "action-breakdowns": {
366
- type: "string",
367
- description: "Slice the actions[] array (default: action_type for revenue/funnel)"
368
- },
369
- filtering: { type: "string", description: "Override default filter \u2014 JSON array of {field,operator,value}" },
370
- "include-undelivered": { type: "boolean", description: "Keep rows where impressions=0 (off by default)" },
371
- "attribution-windows": {
372
- type: "string",
373
- description: "Override default 7d_click,1d_view (only 1d_view, 1d_click, 7d_click, 28d_click work post Jan 2026)"
374
- },
375
- "use-account-attribution": { type: "boolean", description: "Use account-saved attribution setting" },
376
- "use-unified-attribution": { type: "boolean", description: "Use ad-set unified attribution setting" },
377
- limit: { type: "string", description: "Max rows (default 1000)" },
378
- // Declaring `no-async` too would be a trap: citty resolves it to `async: false`
379
- // and never fills an arg of that name, so the declaration reads as supported
380
- // while nothing consumes it.
381
- async: { type: "boolean", description: "Force the async submit-and-poll path (--no-async refuses it)" },
382
- "no-sort": { type: "boolean", description: "Skip default spend-desc sort" },
383
- "no-cache": NO_CACHE_ARG,
384
- output: { type: "string", description: "Output format", default: "json" }
385
- },
386
- run: async ({ args }) => {
387
- if (args["list-intents"]) {
388
- writeAdsJson({ ok: true, data: listIntents() });
389
- return;
390
- }
391
- if (!args.object) {
392
- writeAdsJson({
393
- ok: false,
394
- error: { code: "VALIDATION_ERROR", message: "Missing required argument: --object" }
395
- });
396
- process.exit(1);
397
- }
398
- const body = buildBody(args);
399
- const fmt = csvOrJson(args);
400
- const wantAsync = wantsAsync(args.async, body);
401
- try {
402
- const rows = wantAsync ? await runAsync(body) : await apiPost("/api/ads/meta/insights", body);
403
- const sorted = args["no-sort"] ? rows : sortRowsBySpendDesc(rows);
404
- if (fmt !== "json") {
405
- writeAdsOutput(sorted, fmt, body.fields);
406
- return;
407
- }
408
- const hints = placementDeliveryHints(sorted);
409
- if (hints.length > 0) {
410
- writeJsonEnvelope({ ok: true, data: sorted, hints });
411
- return;
412
- }
413
- writeAdsJson({ ok: true, data: sorted });
414
- } catch (err) {
415
- handleMetaError(err);
416
- }
417
- }
418
- });
419
- export {
420
- insightsCommand,
421
- wantsAsync
422
- };
423
- //# sourceMappingURL=insights-5IBNZFHT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/meta/insights.ts","../src/commands/ads/meta/placement-delivery.ts","../src/commands/ads/meta/presets.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet, apiPost } from \"../../../client.ts\";\nimport { writeAdsJson, writeAdsOutput, writeJsonEnvelope } from \"../output.ts\";\nimport { placementDeliveryHints } from \"./placement-delivery.ts\";\nimport { composeFields, getIntent, type InsightsIntent, type InsightsLevel, listIntents } from \"./presets.ts\";\nimport { csvOrJson, getDateRange, handleMetaError } from \"./shared.ts\";\n\nconst POLL_INTERVAL_MS = 5_000;\nconst POLL_MAX_MS = 10 * 60_000;\n\n/** Default attribution windows — only these still work as of Jan 2026 (1d_view + 28d_click also valid but rarely used). */\nconst DEFAULT_ATTRIBUTION_WINDOWS = [\"7d_click\", \"1d_view\"];\n\n/** Default filter — strip rows that didn't deliver. Almost always what we want. */\nconst DEFAULT_FILTERING = [{ field: \"impressions\", operator: \"GREATER_THAN\", value: 0 }];\n\nexport interface InsightsBody {\n object: string;\n level: InsightsLevel;\n fields: string[];\n datePreset?: string;\n since?: string;\n until?: string;\n timeIncrement?: string;\n breakdowns?: string[];\n actionBreakdowns?: string[];\n filtering?: Array<{ field: string; operator: string; value: string | number | string[] }>;\n attributionWindows?: string[];\n useAccountAttributionSetting?: boolean;\n useUnifiedAttributionSetting?: boolean;\n limit?: number;\n skipCache?: boolean;\n}\n\nfunction commaSplit(input: string | undefined): string[] | undefined {\n if (!input) return undefined;\n return input\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean);\n}\n\nfunction parseFiltering(raw: string | undefined): InsightsBody[\"filtering\"] {\n if (!raw) return undefined;\n try {\n return JSON.parse(raw) as InsightsBody[\"filtering\"];\n } catch {\n handleMetaError(new Error(\"Invalid --filtering JSON\"));\n }\n}\n\nfunction pickIntent(name: string | undefined): InsightsIntent {\n if (!name) return \"baseline\";\n const found = getIntent(name);\n if (!found) {\n handleMetaError(new Error(`Unknown --intent: ${name}. Use --list-intents to see options.`));\n }\n return found.name;\n}\n\nfunction pickLevel(args: Record<string, unknown>): InsightsLevel {\n const raw = args.level as string | undefined;\n if (!raw) return \"account\";\n if (raw !== \"account\" && raw !== \"campaign\" && raw !== \"adset\" && raw !== \"ad\") {\n handleMetaError(new Error(\"--level must be one of: account|campaign|adset|ad\"));\n }\n return raw;\n}\n\n/**\n * Auto-async heuristic. Heavy queries that would time out as sync go async\n * automatically — the user shouldn't have to think about it.\n *\n * - level=ad with breakdowns\n * - >2 breakdowns at any level\n * - explicit time range > 90 days\n * - level=ad over an account-level object with a wide window\n */\nfunction shouldAutoAsync(body: InsightsBody): boolean {\n const breakdownCount = (body.breakdowns ?? []).length;\n if (body.level === \"ad\" && breakdownCount > 0 && body.object.startsWith(\"act_\")) {\n return true;\n }\n if (breakdownCount > 2) {\n return true;\n }\n if (body.since && body.until) {\n const days = (Date.parse(body.until) - Date.parse(body.since)) / 86_400_000;\n if (days > 90) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Whether to take the async path — three states, not two.\n *\n * citty resolves `--no-async` to `async: false` rather than filling a separate\n * `no-async` arg, so reading `args[\"no-async\"]` (as this did) always saw\n * undefined and the documented refusal never applied: a heavy query went async\n * no matter what the caller asked for.\n */\nexport function wantsAsync(asyncFlag: unknown, body: InsightsBody): boolean {\n if (asyncFlag === true) return true;\n if (asyncFlag === false) return false;\n return shouldAutoAsync(body);\n}\n\nfunction applyDateRange(body: InsightsBody, args: Record<string, unknown>): void {\n const range = getDateRange(args);\n if (range.datePreset) body.datePreset = range.datePreset;\n if (range.since) body.since = range.since;\n if (range.until) body.until = range.until;\n if (!body.datePreset && !(body.since && body.until)) {\n body.datePreset = \"last_7d\";\n }\n}\n\nfunction buildFiltering(args: Record<string, unknown>): InsightsBody[\"filtering\"] {\n const explicit = parseFiltering(args.filtering as string | undefined);\n if (explicit) return explicit;\n if (args[\"include-undelivered\"]) return undefined;\n return DEFAULT_FILTERING;\n}\n\nfunction buildAttributionWindows(args: Record<string, unknown>): string[] | undefined {\n const explicit = commaSplit(args[\"attribution-windows\"] as string | undefined);\n if (explicit) return explicit;\n return DEFAULT_ATTRIBUTION_WINDOWS;\n}\n\nfunction buildBody(args: Record<string, unknown>): InsightsBody {\n const intent = pickIntent(args.intent as string | undefined);\n const level = pickLevel(args);\n const intentDef = getIntent(intent);\n const explicitFields = commaSplit(args.fields as string | undefined);\n const fields = explicitFields ?? composeFields(intent, level);\n const breakdowns = commaSplit(args.breakdowns as string | undefined);\n const actionBreakdowns = commaSplit(args[\"action-breakdowns\"] as string | undefined) ?? intentDef?.actionBreakdowns;\n\n const body: InsightsBody = {\n object: args.object as string,\n level,\n fields,\n timeIncrement: args[\"time-increment\"] as string | undefined,\n breakdowns,\n actionBreakdowns,\n filtering: buildFiltering(args),\n attributionWindows: buildAttributionWindows(args),\n useAccountAttributionSetting: Boolean(args[\"use-account-attribution\"]),\n useUnifiedAttributionSetting: Boolean(args[\"use-unified-attribution\"]),\n limit: args.limit ? Number(args.limit) : 1000,\n skipCache: Boolean(args[\"no-cache\"]),\n };\n applyDateRange(body, args);\n return body;\n}\n\nasync function pollAsync(reportRunId: string): Promise<void> {\n const start = Date.now();\n while (Date.now() - start < POLL_MAX_MS) {\n // The status route is a GET reading `report-run-id` from the query string.\n // Posting to it matched no route at all, so every heavy query died on a\n // bare 404 the moment it went async.\n const status = await apiGet<{ async_status?: string; async_percent_completion?: number }>(\n \"/api/ads/meta/insights/async/status\",\n { \"report-run-id\": reportRunId },\n );\n if (status.async_status === \"Job Completed\") return;\n if (status.async_status === \"Job Failed\" || status.async_status === \"Job Skipped\") {\n handleMetaError(new Error(`Async insights job ${status.async_status}`));\n }\n process.stderr.write(\n `Async insights ${status.async_status ?? \"queued\"} (${Math.round(status.async_percent_completion ?? 0)}%)…\\n`,\n );\n await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));\n }\n handleMetaError(new Error(\"Async insights polling timed out after 10 minutes\"));\n}\n\nasync function runAsync(body: InsightsBody): Promise<Array<Record<string, unknown>>> {\n const submit = await apiPost<{ reportRunId: string }>(\"/api/ads/meta/insights/async\", body);\n process.stderr.write(`Async insights job: ${submit.reportRunId}\\n`);\n await pollAsync(submit.reportRunId);\n return apiPost<Array<Record<string, unknown>>>(\"/api/ads/meta/insights/async/result\", {\n reportRunId: submit.reportRunId,\n fields: body.fields,\n limit: body.limit,\n });\n}\n\n/** Insights rows have nested `actions[]` arrays. Sort by the named action_type's value descending. */\nfunction sortRowsBySpendDesc(rows: Array<Record<string, unknown>>): Array<Record<string, unknown>> {\n return [...rows].sort((a, b) => {\n const sa = Number(a.spend ?? 0);\n const sb = Number(b.spend ?? 0);\n if (Number.isNaN(sa) || Number.isNaN(sb)) return 0;\n return sb - sa;\n });\n}\n\nexport const insightsCommand = defineCommand({\n meta: {\n name: \"insights\",\n description: `Performance reporting — the main Meta tool for AI agents.\n\nSmart defaults so the AI doesn't have to remember every flag:\n --level account (set --level campaign|adset|ad to drill in)\n --intent baseline (or revenue|funnel|ranking|video|identity)\n --date-preset last_7d (override with --since/--until)\n --attribution-windows 7d_click,1d_view (the only ones still working post Jan 2026)\n filter: impressions > 0 (skip undelivered rows; --include-undelivered to keep)\n sort: spend descending (when result fits in memory)\n auto-async when query is heavy (level=ad + breakdowns, big date ranges, etc.)\n\nIdentity fields (campaign_name, ad_name etc.) are appended automatically based on --level so rows\nare self-describing.\n\nExamples — common AI questions:\n # \"How is GreenLeaf doing this week?\"\n baker ads meta insights --object act_123\n\n # \"Which campaigns are profitable?\"\n baker ads meta insights --object act_123 --level campaign --intent revenue --date-preset last_28d\n\n # \"Which creatives need a refresh?\"\n baker ads meta insights --object act_123 --level ad --intent ranking --date-preset last_14d\n\n # \"Where do users drop off the funnel?\"\n baker ads meta insights --object act_123 --intent funnel\n\n # \"Should we shift budget to Instagram?\"\n baker ads meta insights --object act_123 --level adset --breakdowns publisher_platform,platform_position\n\n # Custom field set (escape hatch)\n baker ads meta insights --object act_123 --fields impressions,spend,actions\n\nAsync is automatic for heavy queries; pass --async to force it, or --no-async to refuse fallback.`,\n },\n args: {\n object: {\n type: \"string\",\n description: \"Object ID — act_<id> for account, or a campaign/adset/ad ID\",\n },\n level: { type: \"string\", description: \"account|campaign|adset|ad (default: account)\" },\n intent: { type: \"string\", description: \"baseline|revenue|funnel|ranking|video|identity (default: baseline)\" },\n fields: { type: \"string\", description: \"Comma-separated field list (overrides --intent bundle)\" },\n \"list-intents\": { type: \"boolean\", description: \"Print available intents and exit\" },\n \"date-preset\": { type: \"string\", description: \"Meta date preset (last_7d, last_28d, today, ...)\" },\n since: { type: \"string\", description: \"Custom start date YYYY-MM-DD\" },\n until: { type: \"string\", description: \"Custom end date YYYY-MM-DD\" },\n \"time-increment\": { type: \"string\", description: \"1 (day) | monthly | all_days\" },\n breakdowns: { type: \"string\", description: \"Comma-separated breakdowns (e.g. publisher_platform,age)\" },\n \"action-breakdowns\": {\n type: \"string\",\n description: \"Slice the actions[] array (default: action_type for revenue/funnel)\",\n },\n filtering: { type: \"string\", description: \"Override default filter — JSON array of {field,operator,value}\" },\n \"include-undelivered\": { type: \"boolean\", description: \"Keep rows where impressions=0 (off by default)\" },\n \"attribution-windows\": {\n type: \"string\",\n description: \"Override default 7d_click,1d_view (only 1d_view, 1d_click, 7d_click, 28d_click work post Jan 2026)\",\n },\n \"use-account-attribution\": { type: \"boolean\", description: \"Use account-saved attribution setting\" },\n \"use-unified-attribution\": { type: \"boolean\", description: \"Use ad-set unified attribution setting\" },\n limit: { type: \"string\", description: \"Max rows (default 1000)\" },\n // Declaring `no-async` too would be a trap: citty resolves it to `async: false`\n // and never fills an arg of that name, so the declaration reads as supported\n // while nothing consumes it.\n async: { type: \"boolean\", description: \"Force the async submit-and-poll path (--no-async refuses it)\" },\n \"no-sort\": { type: \"boolean\", description: \"Skip default spend-desc sort\" },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"Output format\", default: \"json\" },\n },\n run: async ({ args }) => {\n if (args[\"list-intents\"]) {\n writeAdsJson({ ok: true, data: listIntents() });\n return;\n }\n\n if (!args.object) {\n writeAdsJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: \"Missing required argument: --object\" },\n });\n process.exit(1);\n }\n\n const body = buildBody(args);\n const fmt = csvOrJson(args);\n const wantAsync = wantsAsync(args.async, body);\n\n try {\n const rows = wantAsync\n ? await runAsync(body)\n : await apiPost<Array<Record<string, unknown>>>(\"/api/ads/meta/insights\", body);\n const sorted = args[\"no-sort\"] ? rows : sortRowsBySpendDesc(rows);\n\n if (fmt !== \"json\") {\n writeAdsOutput(sorted, fmt, body.fields);\n return;\n }\n const hints = placementDeliveryHints(sorted);\n if (hints.length > 0) {\n writeJsonEnvelope({ ok: true, data: sorted, hints });\n return;\n }\n writeAdsJson({ ok: true, data: sorted });\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n","import { placementFormatNote, previewFormatForPosition } from \"@baker/api/ads-meta\";\n\n/**\n * Reads a placement breakdown the way the question \"why does my video show as a\n * still image?\" actually needs to be answered: with this account's own numbers.\n *\n * The failure this replaces is an agent recalling a list of \"image-only\n * placements\" (most of it wrong) and inventing a mechanism Meta does not\n * document. Impressions against video plays, per placement, is the cheap\n * empirical check — it costs one query the agent already ran, and it is\n * account evidence rather than a rule. So the hints below name a suspect and\n * hand over the command that confirms it; they never conclude.\n */\n\n/**\n * Below this, a placement's play rate is arithmetic on too few impressions to\n * carry a claim. Set against a 90%-ish reference rate, seeing no plays in 20\n * impressions is not something chance produces — so this is low enough to reach\n * the long tail where format problems actually live, and the placements it\n * excludes are the ones nobody could have concluded anything from anyway.\n */\nconst MIN_IMPRESSIONS = 20;\n\n/**\n * How far below the ad's own play rate counts as \"this placement is not playing\".\n *\n * Judged against the ad, not against zero. The account this was built from is\n * the reason: it plays at 93% overall, and the one placement carrying a\n * documented format constraint played at 3.85% — 24x worse, and still above any\n * absolute \"under 2%\" bar. An absolute rule cannot see that at any impression\n * threshold; a relative one calibrates itself per creative and per account.\n */\nconst SILENT_FRACTION_OF_REFERENCE = 0.1;\n\n/** Proof the creative plays at all somewhere, so a flagged placement means something. */\nconst PLAYING_REFERENCE_RATE = 0.5;\n\ninterface PlacementDelivery {\n platform: string;\n position: string;\n impressions: number;\n plays: number;\n playRate: number;\n share: number;\n}\n\nfunction toNumber(value: unknown): number {\n const n = Number(value);\n return Number.isFinite(n) ? n : 0;\n}\n\n/** Meta returns action metrics as `[{ action_type, value }]`; the total is what matters here. */\nfunction sumActionValues(value: unknown): number {\n if (!Array.isArray(value)) return 0;\n return value.reduce<number>((total, entry) => {\n const item = entry as { value?: unknown };\n return total + toNumber(item?.value);\n }, 0);\n}\n\nfunction aggregate(rows: Array<Record<string, unknown>>): PlacementDelivery[] {\n const byPlacement = new Map<string, PlacementDelivery>();\n let totalImpressions = 0;\n\n for (const row of rows) {\n const position = row.platform_position;\n if (typeof position !== \"string\" || position.length === 0) continue;\n const platform = typeof row.publisher_platform === \"string\" ? row.publisher_platform : \"\";\n const impressions = toNumber(row.impressions);\n totalImpressions += impressions;\n const key = `${platform}/${position}`;\n const current = byPlacement.get(key) ?? { platform, position, impressions: 0, plays: 0, playRate: 0, share: 0 };\n current.impressions += impressions;\n current.plays += sumActionValues(row.video_play_actions);\n byPlacement.set(key, current);\n }\n\n return [...byPlacement.values()].map((placement) => ({\n ...placement,\n playRate: placement.impressions > 0 ? placement.plays / placement.impressions : 0,\n share: totalImpressions > 0 ? placement.impressions / totalImpressions : 0,\n }));\n}\n\nfunction previewCommand(placement: PlacementDelivery): string {\n const format = previewFormatForPosition(placement.position, placement.platform);\n return format\n ? `\\`baker ads meta preview --creative-id <id> --placement ${placement.position} --platform ${placement.platform}\\``\n : `no preview format is known for ${placement.position}, so Meta's renderer cannot confirm it — say the placement is unverified rather than filling the gap`;\n}\n\n/**\n * The play rate only means something when every row describes the same\n * creative. Aggregating placements across ads puts an image ad's impressions in\n * the same bucket as a video's plays, which reads as \"this placement doesn't\n * render video\" when it only means \"an image ad ran there\" — the exact wrong\n * conclusion this module exists to prevent. So a query that does not pin one ad\n * (`--level ad --object <adId>`) gets no hint rather than a confounded one.\n */\nfunction isSingleAdQuery(rows: Array<Record<string, unknown>>): boolean {\n const adIds = new Set<string>();\n for (const row of rows) {\n if (typeof row.ad_id !== \"string\" || row.ad_id.length === 0) return false;\n adIds.add(row.ad_id);\n }\n return adIds.size === 1;\n}\n\n/**\n * Placements this account delivered into without the video ever playing.\n *\n * Silent unless the query carried video metrics AND the creative demonstrably\n * plays somewhere else: without a playing reference, a zero everywhere means\n * \"not a video query\", not \"the placement is broken\".\n */\nexport function placementDeliveryHints(rows: Array<Record<string, unknown>>): string[] {\n const carriesVideoMetrics = rows.some((row) => Array.isArray(row.video_play_actions));\n if (!carriesVideoMetrics || !isSingleAdQuery(rows)) return [];\n\n const placements = aggregate(rows);\n const judgeable = placements.filter((p) => p.impressions >= MIN_IMPRESSIONS);\n const impressions = judgeable.reduce((total, p) => total + p.impressions, 0);\n const reference = impressions > 0 ? judgeable.reduce((total, p) => total + p.plays, 0) / impressions : 0;\n if (reference < PLAYING_REFERENCE_RATE) return [];\n\n const silent = judgeable\n .filter((p) => p.playRate < reference * SILENT_FRACTION_OF_REFERENCE)\n .sort((a, b) => b.impressions - a.impressions);\n\n // Never go quiet on a video placement query. Silence is what the agent fills\n // in with a remembered rule, and \"every placement plays\" is the answer to\n // \"why does it show as a still image\" far more often than a placement is.\n if (silent.length === 0) {\n const worst = [...judgeable].sort((a, b) => a.playRate - b.playRate)[0];\n return [\n `Checked every placement above ${MIN_IMPRESSIONS} impressions against this ad's own play rate (${(reference * 100).toFixed(0)}%): no placement is failing to play the video${worst ? `, the lowest being ${worst.platform}/${worst.position} at ${(worst.playRate * 100).toFixed(0)}%` : \"\"}. So placements do not explain a \"it shows as a still image\" report — rule out autoplay off or data saver in the viewer's own app, which renders every video as its cover frame account-wide.`,\n ];\n }\n\n const hints = silent.map((placement) => {\n const note = placementFormatNote(placement.position);\n const documented = note ? ` Meta documents this placement: ${note.note}` : \"\";\n return `${placement.platform}/${placement.position} delivered ${placement.impressions.toLocaleString(\"en-US\")} impressions (${(placement.share * 100).toFixed(1)}% of the total) and ${placement.plays.toLocaleString(\"en-US\")} video plays — it may not be rendering the video. This is account evidence, not a rule: confirm what Meta renders there with ${previewCommand(placement)} before you say anything about it.${documented}`;\n });\n\n const combinedShare = silent.reduce((total, placement) => total + placement.share, 0) * 100;\n hints.push(\n `Those placements are ${combinedShare.toFixed(1)}% of delivery in this query. State that share before proposing to remove them — and note that removing placements from a live ad set is a targeting change, which Meta counts as a significant edit that re-enters the learning phase.`,\n );\n return hints;\n}\n","/**\n * Insights field bundles. Picked for AI agent ergonomics: small, focused field\n * lists that answer one specific question without forcing the AI to enumerate\n * Meta's 500+ insights fields.\n *\n * Two-axis design:\n * --intent (field bundle, default: baseline) — what data to ask for\n * --level (object granularity, default: account) — at what granularity\n *\n * Intents are independent of level — pass `--intent ranking --level ad` to flag\n * creatives, or `--intent revenue --level campaign` for ROAS by campaign.\n *\n * Identity fields (campaign_name etc.) are appended automatically based on\n * level so the AI can read rows without joining.\n */\n\nexport type InsightsLevel = \"account\" | \"campaign\" | \"adset\" | \"ad\";\n\nexport type InsightsIntent = \"baseline\" | \"revenue\" | \"funnel\" | \"ranking\" | \"video\" | \"identity\";\n\ninterface IntentDefinition {\n name: InsightsIntent;\n description: string;\n fields: string[];\n /** Action breakdowns to slice the actions[] array — empty if not needed. */\n actionBreakdowns?: string[];\n}\n\nconst INSIGHTS_INTENTS: Record<InsightsIntent, IntentDefinition> = {\n baseline: {\n name: \"baseline\",\n description: \"Spend, impressions, clicks, CTR, CPC, CPM. The default question: 'how is delivery?'\",\n fields: [\"impressions\", \"reach\", \"frequency\", \"spend\", \"clicks\", \"ctr\", \"cpc\", \"cpm\"],\n },\n revenue: {\n name: \"revenue\",\n description: \"Spend, conversions, action_values, purchase_roas. 'How much money are we making?'\",\n fields: [\"spend\", \"actions\", \"action_values\", \"conversions\", \"conversion_values\", \"purchase_roas\"],\n actionBreakdowns: [\"action_type\"],\n },\n funnel: {\n name: \"funnel\",\n description: \"Impression → click → landing page → action. 'Where do users drop off?'\",\n fields: [\"impressions\", \"clicks\", \"inline_link_clicks\", \"outbound_clicks\", \"actions\", \"spend\"],\n actionBreakdowns: [\"action_type\"],\n },\n ranking: {\n name: \"ranking\",\n description: \"Quality, engagement, conversion-rate rankings. 'Which creatives need a refresh?'\",\n fields: [\"impressions\", \"spend\", \"ctr\", \"quality_ranking\", \"engagement_rate_ranking\", \"conversion_rate_ranking\"],\n },\n video: {\n name: \"video\",\n description: \"Watch funnel, thruplay cost. 'How are video creatives holding attention?'\",\n fields: [\n \"impressions\",\n \"spend\",\n \"video_play_actions\",\n \"video_p25_watched_actions\",\n \"video_p50_watched_actions\",\n \"video_p75_watched_actions\",\n \"video_p100_watched_actions\",\n \"video_thruplay_watched_actions\",\n \"cost_per_thruplay\",\n ],\n },\n identity: {\n name: \"identity\",\n description: \"Just the names + spend — for cheap roll-up summaries.\",\n fields: [\"spend\", \"impressions\"],\n },\n};\n\nconst IDENTITY_FIELDS_BY_LEVEL: Record<InsightsLevel, string[]> = {\n account: [\"account_id\", \"account_name\", \"account_currency\"],\n campaign: [\"campaign_id\", \"campaign_name\", \"objective\"],\n adset: [\"adset_id\", \"adset_name\", \"campaign_id\", \"campaign_name\"],\n ad: [\"ad_id\", \"ad_name\", \"adset_id\", \"adset_name\", \"campaign_id\", \"campaign_name\"],\n};\n\n/** Compose final field list: intent metrics + level-specific identity fields, deduplicated. */\nexport function composeFields(intent: InsightsIntent, level: InsightsLevel): string[] {\n const intentFields = INSIGHTS_INTENTS[intent].fields;\n const identity = IDENTITY_FIELDS_BY_LEVEL[level];\n const seen = new Set<string>();\n const out: string[] = [];\n for (const f of [...identity, ...intentFields]) {\n if (!seen.has(f)) {\n seen.add(f);\n out.push(f);\n }\n }\n return out;\n}\n\nexport function getIntent(name: string): IntentDefinition | undefined {\n return INSIGHTS_INTENTS[name as InsightsIntent];\n}\n\nexport function listIntents(): IntentDefinition[] {\n return Object.values(INSIGHTS_INTENTS);\n}\n"],"mappings":"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","names":[]}
@@ -1,122 +0,0 @@
1
- import {
2
- CHATGPT_ADS_GRANULARITIES,
3
- CHATGPT_ADS_LEVELS,
4
- CHATGPT_ADS_METRICS,
5
- CHATGPT_ADS_REFERENCE,
6
- CHATGPT_ADS_SEGMENTS,
7
- chatgptAdsInsightsRequestSchema,
8
- insightsRequestFromArgs,
9
- runChatgptRead
10
- } from "./chunk-YMGZC443.js";
11
- import {
12
- writeJsonEnvelope
13
- } from "./chunk-CGOVXSSY.js";
14
- import {
15
- apiPost
16
- } from "./chunk-JLCK7K6Y.js";
17
- import "./chunk-F4H6VVPE.js";
18
- import "./chunk-G3UCXCC2.js";
19
- import {
20
- registerSchema
21
- } from "./chunk-IWLWY2UD.js";
22
- import "./chunk-YQSBHWOI.js";
23
-
24
- // src/commands/ads/chatgpt/insights.ts
25
- import { defineCommand } from "citty";
26
- var args = {
27
- level: {
28
- type: "string",
29
- description: `What one row is: ${CHATGPT_ADS_LEVELS.join("|")} (default campaign)`,
30
- required: false
31
- },
32
- "campaign-id": { type: "string", description: "Report on one campaign (cmpn_\u2026)", required: false },
33
- "ad-group-id": { type: "string", description: "Report on one ad group (adgrp_\u2026)", required: false },
34
- "ad-id": { type: "string", description: "Report on one ad (ad_\u2026)", required: false },
35
- days: {
36
- type: "string",
37
- description: "Last N complete days, ending the account's yesterday (default 7)",
38
- required: false
39
- },
40
- since: {
41
- type: "string",
42
- description: "First day, YYYY-MM-DD, account timezone (instead of --days)",
43
- required: false
44
- },
45
- until: { type: "string", description: "Last day, inclusive, YYYY-MM-DD", required: false },
46
- granularity: {
47
- type: "string",
48
- description: `${CHATGPT_ADS_GRANULARITIES.join("|")} (default none: one total per row)`,
49
- required: false
50
- },
51
- segment: {
52
- type: "string",
53
- description: `Break rows down by one of ${CHATGPT_ADS_SEGMENTS.join("|")}`,
54
- required: false
55
- },
56
- metrics: {
57
- type: "string",
58
- description: `CSV of ${CHATGPT_ADS_METRICS.join(",")} (default impressions,clicks,spend,ctr,cpc,conversions,cpa)`,
59
- required: false
60
- },
61
- sort: { type: "string", description: "Metric to rank rows by, highest first", required: false },
62
- limit: { type: "string", description: "Rows, 1-2000 (default 200)", required: false }
63
- };
64
- registerSchema({
65
- command: "ads.chatgpt.insights",
66
- description: "Performance of the connected ChatGPT Ads account: impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, attributed sales and ROAS, per account, campaign, ad group or ad, over a window, optionally per day and broken down by country, device, platform or product. Spend and costs are in the account currency; null means not reported, not zero.",
67
- args
68
- });
69
- function insightsHints(report) {
70
- const hints = [];
71
- if (report.rows.length === 0) {
72
- hints.push(
73
- "No delivery in this window. Check `baker ads chatgpt campaigns` for serving issues before concluding the ads do not work."
74
- );
75
- }
76
- if (report.truncated) {
77
- hints.push("More rows matched than --limit allowed. Narrow the report or raise --limit (max 2000).");
78
- }
79
- hints.push(
80
- "Conversions come from ChatGPT Ads' own pixel or Conversions API and take at least a day to appear; the most recent days are still filling in."
81
- );
82
- return hints;
83
- }
84
- var insightsCommand = defineCommand({
85
- meta: {
86
- name: "insights",
87
- description: `How a ChatGPT Ads account performs. Start here for "how are the ChatGPT campaigns doing".
88
-
89
- Examples:
90
- baker ads chatgpt insights # last 7 days, one row per campaign
91
- baker ads chatgpt insights --days 30 --granularity daily --level account
92
- baker ads chatgpt insights --campaign-id cmpn_123 --level ad --sort spend
93
- baker ads chatgpt insights --segment country --metrics spend,clicks,conversions
94
- baker ads chatgpt insights --since 2026-09-01 --until 2026-09-07 --metrics spend,order_created_roas`
95
- },
96
- args,
97
- run: async ({ args: input }) => {
98
- const parsed = chatgptAdsInsightsRequestSchema.safeParse(insightsRequestFromArgs(input));
99
- if (!parsed.success) {
100
- const message = parsed.error.issues[0]?.message ?? "Invalid report request";
101
- writeJsonEnvelope({
102
- ok: false,
103
- error: {
104
- code: "VALIDATION_ERROR",
105
- message,
106
- fix: { action: "retry_with_modified_query", explanation: message },
107
- retryable: false
108
- }
109
- });
110
- process.exit(1);
111
- }
112
- await runChatgptRead(
113
- CHATGPT_ADS_REFERENCE.insights,
114
- () => apiPost("/api/ads/chatgpt/insights", parsed.data),
115
- insightsHints
116
- );
117
- }
118
- });
119
- export {
120
- insightsCommand
121
- };
122
- //# sourceMappingURL=insights-5RPSKKQJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/chatgpt/insights.ts"],"sourcesContent":["import {\n CHATGPT_ADS_GRANULARITIES,\n CHATGPT_ADS_LEVELS,\n CHATGPT_ADS_METRICS,\n CHATGPT_ADS_SEGMENTS,\n type ChatgptAdsInsightsResponse,\n chatgptAdsInsightsRequestSchema,\n} from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { CHATGPT_ADS_REFERENCE, insightsRequestFromArgs, runChatgptRead } from \"./shared.ts\";\n\nconst args = {\n level: {\n type: \"string\",\n description: `What one row is: ${CHATGPT_ADS_LEVELS.join(\"|\")} (default campaign)`,\n required: false,\n },\n \"campaign-id\": { type: \"string\", description: \"Report on one campaign (cmpn_…)\", required: false },\n \"ad-group-id\": { type: \"string\", description: \"Report on one ad group (adgrp_…)\", required: false },\n \"ad-id\": { type: \"string\", description: \"Report on one ad (ad_…)\", required: false },\n days: {\n type: \"string\",\n description: \"Last N complete days, ending the account's yesterday (default 7)\",\n required: false,\n },\n since: {\n type: \"string\",\n description: \"First day, YYYY-MM-DD, account timezone (instead of --days)\",\n required: false,\n },\n until: { type: \"string\", description: \"Last day, inclusive, YYYY-MM-DD\", required: false },\n granularity: {\n type: \"string\",\n description: `${CHATGPT_ADS_GRANULARITIES.join(\"|\")} (default none: one total per row)`,\n required: false,\n },\n segment: {\n type: \"string\",\n description: `Break rows down by one of ${CHATGPT_ADS_SEGMENTS.join(\"|\")}`,\n required: false,\n },\n metrics: {\n type: \"string\",\n description: `CSV of ${CHATGPT_ADS_METRICS.join(\",\")} (default impressions,clicks,spend,ctr,cpc,conversions,cpa)`,\n required: false,\n },\n sort: { type: \"string\", description: \"Metric to rank rows by, highest first\", required: false },\n limit: { type: \"string\", description: \"Rows, 1-2000 (default 200)\", required: false },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.insights\",\n description:\n \"Performance of the connected ChatGPT Ads account: impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, attributed sales and ROAS, per account, campaign, ad group or ad, over a window, optionally per day and broken down by country, device, platform or product. Spend and costs are in the account currency; null means not reported, not zero.\",\n args,\n});\n\nfunction insightsHints(report: ChatgptAdsInsightsResponse): string[] {\n const hints: string[] = [];\n if (report.rows.length === 0) {\n hints.push(\n \"No delivery in this window. Check `baker ads chatgpt campaigns` for serving issues before concluding the ads do not work.\",\n );\n }\n if (report.truncated) {\n hints.push(\"More rows matched than --limit allowed. Narrow the report or raise --limit (max 2000).\");\n }\n hints.push(\n \"Conversions come from ChatGPT Ads' own pixel or Conversions API and take at least a day to appear; the most recent days are still filling in.\",\n );\n return hints;\n}\n\nexport const insightsCommand = defineCommand({\n meta: {\n name: \"insights\",\n description: `How a ChatGPT Ads account performs. Start here for \"how are the ChatGPT campaigns doing\".\n\nExamples:\n baker ads chatgpt insights # last 7 days, one row per campaign\n baker ads chatgpt insights --days 30 --granularity daily --level account\n baker ads chatgpt insights --campaign-id cmpn_123 --level ad --sort spend\n baker ads chatgpt insights --segment country --metrics spend,clicks,conversions\n baker ads chatgpt insights --since 2026-09-01 --until 2026-09-07 --metrics spend,order_created_roas`,\n },\n args,\n run: async ({ args: input }) => {\n const parsed = chatgptAdsInsightsRequestSchema.safeParse(insightsRequestFromArgs(input));\n if (!parsed.success) {\n const message = parsed.error.issues[0]?.message ?? \"Invalid report request\";\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message,\n fix: { action: \"retry_with_modified_query\", explanation: message },\n retryable: false,\n },\n });\n process.exit(1);\n }\n await runChatgptRead(\n CHATGPT_ADS_REFERENCE.insights,\n () => apiPost<ChatgptAdsInsightsResponse>(\"/api/ads/chatgpt/insights\", parsed.data),\n insightsHints,\n );\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAQA,SAAS,qBAAqB;AAM9B,IAAM,OAAO;AAAA,EACX,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa,oBAAoB,mBAAmB,KAAK,GAAG,CAAC;AAAA,IAC7D,UAAU;AAAA,EACZ;AAAA,EACA,eAAe,EAAE,MAAM,UAAU,aAAa,wCAAmC,UAAU,MAAM;AAAA,EACjG,eAAe,EAAE,MAAM,UAAU,aAAa,yCAAoC,UAAU,MAAM;AAAA,EAClG,SAAS,EAAE,MAAM,UAAU,aAAa,gCAA2B,UAAU,MAAM;AAAA,EACnF,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ;AAAA,EACA,OAAO,EAAE,MAAM,UAAU,aAAa,mCAAmC,UAAU,MAAM;AAAA,EACzF,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa,GAAG,0BAA0B,KAAK,GAAG,CAAC;AAAA,IACnD,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa,6BAA6B,qBAAqB,KAAK,GAAG,CAAC;AAAA,IACxE,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa,UAAU,oBAAoB,KAAK,GAAG,CAAC;AAAA,IACpD,UAAU;AAAA,EACZ;AAAA,EACA,MAAM,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,EAC9F,OAAO,EAAE,MAAM,UAAU,aAAa,8BAA8B,UAAU,MAAM;AACtF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF;AACF,CAAC;AAED,SAAS,cAAc,QAA8C;AACnE,QAAM,QAAkB,CAAC;AACzB,MAAI,OAAO,KAAK,WAAW,GAAG;AAC5B,UAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,MAAI,OAAO,WAAW;AACpB,UAAM,KAAK,wFAAwF;AAAA,EACrG;AACA,QAAM;AAAA,IACJ;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQf;AAAA,EACA;AAAA,EACA,KAAK,OAAO,EAAE,MAAM,MAAM,MAAM;AAC9B,UAAM,SAAS,gCAAgC,UAAU,wBAAwB,KAAK,CAAC;AACvF,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,UAAU,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW;AACnD,wBAAkB;AAAA,QAChB,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA,KAAK,EAAE,QAAQ,6BAA6B,aAAa,QAAQ;AAAA,UACjE,WAAW;AAAA,QACb;AAAA,MACF,CAAC;AACD,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,UAAM;AAAA,MACJ,sBAAsB;AAAA,MACtB,MAAM,QAAoC,6BAA6B,OAAO,IAAI;AAAA,MAClF;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}