@koda-sl/baker-cli 0.513.0 → 0.514.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1077) hide show
  1. package/README.md +2 -2
  2. package/dist/account-D6LEVVWT.js +82 -0
  3. package/dist/account-D6LEVVWT.js.map +1 -0
  4. package/dist/account-SGK3IJ6N.js +82 -0
  5. package/dist/account-SGK3IJ6N.js.map +1 -0
  6. package/dist/account-assets-J5Z4URLQ.js +290 -0
  7. package/dist/account-level-4SBYYHRS.js +611 -0
  8. package/dist/account-level-4SBYYHRS.js.map +1 -0
  9. package/dist/account-reads-2MSUVG46.js +219 -0
  10. package/dist/account-users-MHC7AD6K.js +64 -0
  11. package/dist/account-users-MHC7AD6K.js.map +1 -0
  12. package/dist/account-writes-QQQC54WC.js +68 -0
  13. package/dist/account-writes-QQQC54WC.js.map +1 -0
  14. package/dist/accounts-2O6I7YBN.js +80 -0
  15. package/dist/accounts-2O6I7YBN.js.map +1 -0
  16. package/dist/accounts-QNE5QWBG.js +701 -0
  17. package/dist/accounts-QNE5QWBG.js.map +1 -0
  18. package/dist/actions-D7OWCP36.js +55 -0
  19. package/dist/activecampaign-LBS4M4C4.js +938 -0
  20. package/dist/activecampaign-LBS4M4C4.js.map +1 -0
  21. package/dist/ad-group-writes-CJTTUUIT.js +172 -0
  22. package/dist/ad-group-writes-CJTTUUIT.js.map +1 -0
  23. package/dist/ad-groups-HLGSVH74.js +70 -0
  24. package/dist/ad-groups-HLGSVH74.js.map +1 -0
  25. package/dist/ad-writes-3UE3U7VE.js +176 -0
  26. package/dist/ad-writes-3UE3U7VE.js.map +1 -0
  27. package/dist/add-HFQB2NTU.js +107 -0
  28. package/dist/add-HFQB2NTU.js.map +1 -0
  29. package/dist/add-IUYE5H6A.js +305 -0
  30. package/dist/add-IUYE5H6A.js.map +1 -0
  31. package/dist/ads-HLUJB5SQ.js +48 -0
  32. package/dist/ads-MAOI7S6V.js +115 -0
  33. package/dist/ads-PYNDMHUD.js +79 -0
  34. package/dist/ads-PYNDMHUD.js.map +1 -0
  35. package/dist/adsets-QRKICEFD.js +182 -0
  36. package/dist/advertisers-XXM6POO5.js +123 -0
  37. package/dist/advertisers-XXM6POO5.js.map +1 -0
  38. package/dist/analytics-AULKYNNT.js +447 -0
  39. package/dist/analytics-AULKYNNT.js.map +1 -0
  40. package/dist/analytics-DNDTC643.js +2437 -0
  41. package/dist/analytics-DNDTC643.js.map +1 -0
  42. package/dist/asset-writes-JLVUAVUZ.js +50 -0
  43. package/dist/assign-2GQVQKKO.js +80 -0
  44. package/dist/assign-2GQVQKKO.js.map +1 -0
  45. package/dist/audience-size-C3YHQPZB.js +76 -0
  46. package/dist/audience-size-C3YHQPZB.js.map +1 -0
  47. package/dist/audience-writes-CDKQB3SM.js +327 -0
  48. package/dist/audience-writes-CDKQB3SM.js.map +1 -0
  49. package/dist/audiences-CDDI5HR5.js +86 -0
  50. package/dist/audiences-M3A3QK52.js +280 -0
  51. package/dist/audiences-M3A3QK52.js.map +1 -0
  52. package/dist/audit-FLPJ7GTE.js +154 -0
  53. package/dist/audit-FLPJ7GTE.js.map +1 -0
  54. package/dist/autocomplete-ZYMHHV7E.js +114 -0
  55. package/dist/autocomplete-ZYMHHV7E.js.map +1 -0
  56. package/dist/avatars-WZ2JDMHH.js +38 -0
  57. package/dist/bid-pricing-H3M63PTW.js +103 -0
  58. package/dist/bid-pricing-H3M63PTW.js.map +1 -0
  59. package/dist/brand-IZTTBZII.js +22 -0
  60. package/dist/brief-OPQ7ICOY.js +543 -0
  61. package/dist/brief-OPQ7ICOY.js.map +1 -0
  62. package/dist/campaign-groups-IQSDKOVI.js +99 -0
  63. package/dist/campaign-groups-IQSDKOVI.js.map +1 -0
  64. package/dist/campaign-writes-APAAV4ZU.js +168 -0
  65. package/dist/campaign-writes-APAAV4ZU.js.map +1 -0
  66. package/dist/campaign-writes-BN4PZP4Z.js +176 -0
  67. package/dist/campaign-writes-BN4PZP4Z.js.map +1 -0
  68. package/dist/campaigns-4Y3JQC2U.js +111 -0
  69. package/dist/campaigns-GA34MEN2.js +78 -0
  70. package/dist/campaigns-GA34MEN2.js.map +1 -0
  71. package/dist/campaigns-HES5MDUG.js +130 -0
  72. package/dist/campaigns-K2FVD3XW.js +113 -0
  73. package/dist/campaigns-K2FVD3XW.js.map +1 -0
  74. package/dist/canvas-IQ753Q2O.js +46 -0
  75. package/dist/capabilities-ZITW4RF7.js +147 -0
  76. package/dist/capabilities-ZITW4RF7.js.map +1 -0
  77. package/dist/catalogs-TGLSJEK5.js +781 -0
  78. package/dist/catalogs-TGLSJEK5.js.map +1 -0
  79. package/dist/catalogs-ZR7DECMG.js +130 -0
  80. package/dist/catalogs-ZR7DECMG.js.map +1 -0
  81. package/dist/changes-VWKTM27U.js +135 -0
  82. package/dist/chatgpt-OPOD2WHB.js +47 -0
  83. package/dist/chats-AL2SYBJO.js +279 -0
  84. package/dist/chats-AL2SYBJO.js.map +1 -0
  85. package/dist/check-U2YLRD6H.js +107 -0
  86. package/dist/check-U2YLRD6H.js.map +1 -0
  87. package/dist/chunk-2GYCWRF3.js +170 -0
  88. package/dist/chunk-2L7F7KR4.js +61 -0
  89. package/dist/chunk-44ZRCSR7.js +228 -0
  90. package/dist/chunk-46YLDIQG.js +4254 -0
  91. package/dist/chunk-4EDWXZ3I.js +363 -0
  92. package/dist/chunk-4FFBGR5L.js +66 -0
  93. package/dist/chunk-4UQRXKYJ.js +219 -0
  94. package/dist/chunk-4UZUUSVL.js +592 -0
  95. package/dist/chunk-4XHCEYHI.js +831 -0
  96. package/dist/chunk-4Z6PVR3M.js +479 -0
  97. package/dist/chunk-5Y5FZV2W.js +122 -0
  98. package/dist/chunk-6HJXLGDV.js +392 -0
  99. package/dist/chunk-6S5CWGDA.js +429 -0
  100. package/dist/chunk-6VYROVWO.js +494 -0
  101. package/dist/chunk-7BUIOP36.js +287 -0
  102. package/dist/chunk-AQRXXC6E.js +319 -0
  103. package/dist/chunk-ARBXT73X.js +387 -0
  104. package/dist/chunk-BEZHQIEI.js +97 -0
  105. package/dist/chunk-BFURWHVR.js +547 -0
  106. package/dist/chunk-BX6B25KK.js +358 -0
  107. package/dist/chunk-BX6B25KK.js.map +1 -0
  108. package/dist/chunk-DSCEXBDR.js +676 -0
  109. package/dist/chunk-FLWDFPXE.js +23 -0
  110. package/dist/chunk-FRNBRN2C.js +1646 -0
  111. package/dist/chunk-G4FG5EQO.js +110 -0
  112. package/dist/chunk-G4FG5EQO.js.map +1 -0
  113. package/dist/chunk-GE3VT3CA.js +51 -0
  114. package/dist/chunk-GW2WRZZA.js +24026 -0
  115. package/dist/chunk-GW2WRZZA.js.map +1 -0
  116. package/dist/chunk-HGBJQGO5.js +142 -0
  117. package/dist/chunk-I7AYMJZA.js +783 -0
  118. package/dist/chunk-IRM273C7.js +207 -0
  119. package/dist/chunk-IWKD56AY.js +156 -0
  120. package/dist/chunk-JLAQWMVF.js +3868 -0
  121. package/dist/chunk-JOE42ZW6.js +2984 -0
  122. package/dist/chunk-JOE42ZW6.js.map +1 -0
  123. package/dist/chunk-K6NULQN7.js +57 -0
  124. package/dist/chunk-L2BRAC2J.js +19 -0
  125. package/dist/chunk-LGMI4LSY.js +455 -0
  126. package/dist/chunk-NB2FU6EZ.js +179 -0
  127. package/dist/chunk-NKQWDEB7.js +115 -0
  128. package/dist/chunk-NKQWDEB7.js.map +1 -0
  129. package/dist/chunk-NWF2LRKO.js +188 -0
  130. package/dist/chunk-OG47L5GG.js +275 -0
  131. package/dist/chunk-OR6KVLI5.js +169 -0
  132. package/dist/chunk-PC3FJEZH.js +7211 -0
  133. package/dist/chunk-PC3FJEZH.js.map +1 -0
  134. package/dist/chunk-Q3GSVLE5.js +4274 -0
  135. package/dist/chunk-Q3GSVLE5.js.map +1 -0
  136. package/dist/chunk-QDQZ62FL.js +207 -0
  137. package/dist/chunk-QIOFOD4K.js +344 -0
  138. package/dist/chunk-R2SYF5FC.js +249 -0
  139. package/dist/chunk-RTH2I55B.js +942 -0
  140. package/dist/chunk-S6VFDNSQ.js +63 -0
  141. package/dist/chunk-SG2TDQEE.js +150 -0
  142. package/dist/chunk-SOPVIIUW.js +68 -0
  143. package/dist/chunk-SOPVIIUW.js.map +1 -0
  144. package/dist/chunk-T3P6O2VU.js +89 -0
  145. package/dist/chunk-TXDE2QJ3.js +604 -0
  146. package/dist/chunk-UDIEKCIR.js +203 -0
  147. package/dist/chunk-USCADMM3.js +163 -0
  148. package/dist/chunk-UUGISMNE.js +910 -0
  149. package/dist/chunk-VDPOCAQ2.js +197 -0
  150. package/dist/chunk-VEJ3QX6M.js +103 -0
  151. package/dist/chunk-VFJB7OG6.js +91 -0
  152. package/dist/chunk-VRIPVLE7.js +8954 -0
  153. package/dist/chunk-WFY7KSHB.js +274 -0
  154. package/dist/chunk-WLESMH4J.js +45 -0
  155. package/dist/chunk-XHQYFNNK.js +846 -0
  156. package/dist/chunk-XOQNM7I4.js +396 -0
  157. package/dist/chunk-XOQNM7I4.js.map +1 -0
  158. package/dist/chunk-YILZR3XI.js +224 -0
  159. package/dist/chunk-YJFLXOH4.js +191 -0
  160. package/dist/chunk-YWHZYR6S.js +297 -0
  161. package/dist/claim-GOLUTAJ3.js +200 -0
  162. package/dist/claim-GOLUTAJ3.js.map +1 -0
  163. package/dist/cli.js +30 -30
  164. package/dist/companies-4AJJGTMC.js +198 -0
  165. package/dist/companies-4AJJGTMC.js.map +1 -0
  166. package/dist/company-MOSPLRZJ.js +308 -0
  167. package/dist/company-MOSPLRZJ.js.map +1 -0
  168. package/dist/complete-777BDV45.js +84 -0
  169. package/dist/complete-777BDV45.js.map +1 -0
  170. package/dist/connect-3YY7MF3I.js +45 -0
  171. package/dist/conversation-KROMHDHK.js +96 -0
  172. package/dist/conversation-KROMHDHK.js.map +1 -0
  173. package/dist/conversion-report-JZHI2IHY.js +127 -0
  174. package/dist/conversion-report-JZHI2IHY.js.map +1 -0
  175. package/dist/conversion-upload-command-7RSZ5ZQU.js +439 -0
  176. package/dist/conversion-writes-SNCLQDXQ.js +122 -0
  177. package/dist/conversion-writes-SNCLQDXQ.js.map +1 -0
  178. package/dist/conversions-43EYP2W2.js +140 -0
  179. package/dist/conversions-43EYP2W2.js.map +1 -0
  180. package/dist/conversions-EUOWILCQ.js +78 -0
  181. package/dist/conversions-EUOWILCQ.js.map +1 -0
  182. package/dist/copy-writes-CIHIFLY6.js +170 -0
  183. package/dist/copy-writes-CIHIFLY6.js.map +1 -0
  184. package/dist/create-3WOZO2XT.js +239 -0
  185. package/dist/create-3WOZO2XT.js.map +1 -0
  186. package/dist/create-7IFYLX7P.js +210 -0
  187. package/dist/create-7IFYLX7P.js.map +1 -0
  188. package/dist/create-FOHIQC3E.js +62 -0
  189. package/dist/create-FOHIQC3E.js.map +1 -0
  190. package/dist/create-UWQSQTK6.js +135 -0
  191. package/dist/create-UWQSQTK6.js.map +1 -0
  192. package/dist/creatives-2DR3QHJW.js +58 -0
  193. package/dist/creatives-BB6S2OF6.js +89 -0
  194. package/dist/creatives-KUO67WYA.js +223 -0
  195. package/dist/creatives-KUO67WYA.js.map +1 -0
  196. package/dist/credentials-IP4L37XP.js +290 -0
  197. package/dist/credentials-IP4L37XP.js.map +1 -0
  198. package/dist/critique-LGDNMLBL.js +232 -0
  199. package/dist/critique-LGDNMLBL.js.map +1 -0
  200. package/dist/critique-LJMFAURK.js +1451 -0
  201. package/dist/critique-LJMFAURK.js.map +1 -0
  202. package/dist/crm-BNYW7PF7.js +323 -0
  203. package/dist/crm-BNYW7PF7.js.map +1 -0
  204. package/dist/crm-J53V2QTN.js +227 -0
  205. package/dist/crm-J53V2QTN.js.map +1 -0
  206. package/dist/currency-X7Y6TSLF.js +88 -0
  207. package/dist/custom-conversions-HAGG72LF.js +128 -0
  208. package/dist/customers-663K2OCP.js +59 -0
  209. package/dist/delete-5W3YVA4L.js +67 -0
  210. package/dist/delete-5W3YVA4L.js.map +1 -0
  211. package/dist/delete-6U7E6YUW.js +57 -0
  212. package/dist/delete-6U7E6YUW.js.map +1 -0
  213. package/dist/delete-G4NY6ZG6.js +69 -0
  214. package/dist/delete-G4NY6ZG6.js.map +1 -0
  215. package/dist/demographics-4Y5LTCU4.js +141 -0
  216. package/dist/demographics-4Y5LTCU4.js.map +1 -0
  217. package/dist/discard-RKCZNKMN.js +69 -0
  218. package/dist/discard-RKCZNKMN.js.map +1 -0
  219. package/dist/discover-6DORQWXY.js +172 -0
  220. package/dist/domain-PLA2O4FW.js +101 -0
  221. package/dist/domain-PLA2O4FW.js.map +1 -0
  222. package/dist/download-4EFLVSA4.js +172 -0
  223. package/dist/download-4EFLVSA4.js.map +1 -0
  224. package/dist/draft-4V7W5DV2.js +310 -0
  225. package/dist/draft-4V7W5DV2.js.map +1 -0
  226. package/dist/draft-HY3U2GHU.js +283 -0
  227. package/dist/draft-HY3U2GHU.js.map +1 -0
  228. package/dist/draft-JMNAGW7C.js +220 -0
  229. package/dist/draft-JMNAGW7C.js.map +1 -0
  230. package/dist/draft-R6EKORNS.js +308 -0
  231. package/dist/draft-TRPQCJ4B.js +335 -0
  232. package/dist/draft-TRPQCJ4B.js.map +1 -0
  233. package/dist/experiments-4V242DG2.js +236 -0
  234. package/dist/experiments-4V242DG2.js.map +1 -0
  235. package/dist/facets-WXJ2MCU6.js +117 -0
  236. package/dist/facets-WXJ2MCU6.js.map +1 -0
  237. package/dist/feedback-IRSRPXV6.js +111 -0
  238. package/dist/feedback-IRSRPXV6.js.map +1 -0
  239. package/dist/feedback-record-DT3R4NA3.js +265 -0
  240. package/dist/feedback-record-DT3R4NA3.js.map +1 -0
  241. package/dist/fetch-YLQP5VQL.js +179 -0
  242. package/dist/fetch-YLQP5VQL.js.map +1 -0
  243. package/dist/fit-BEFCY2B4.js +65 -0
  244. package/dist/flows-FDMF3F3P.js +250 -0
  245. package/dist/flows-FDMF3F3P.js.map +1 -0
  246. package/dist/fonts-C6XN5667.js +39 -0
  247. package/dist/forecast-BTPIXEQ5.js +169 -0
  248. package/dist/forecast-ZTXZD3HD.js +121 -0
  249. package/dist/forecast-ZTXZD3HD.js.map +1 -0
  250. package/dist/funnel-7KOEX7YM.js +397 -0
  251. package/dist/funnel-7KOEX7YM.js.map +1 -0
  252. package/dist/get-KBSKPTAV.js +59 -0
  253. package/dist/get-KBSKPTAV.js.map +1 -0
  254. package/dist/get-OSVQVMP6.js +82 -0
  255. package/dist/get-OSVQVMP6.js.map +1 -0
  256. package/dist/google-M6BJ22UL.js +3267 -0
  257. package/dist/google-ads-XCJVAXWF.js +198 -0
  258. package/dist/google-ads-XCJVAXWF.js.map +1 -0
  259. package/dist/history-3NTM5SFN.js +69 -0
  260. package/dist/history-3NTM5SFN.js.map +1 -0
  261. package/dist/history-4TN2A6BL.js +136 -0
  262. package/dist/history-4TN2A6BL.js.map +1 -0
  263. package/dist/history-5IWW2X33.js +102 -0
  264. package/dist/history-5IWW2X33.js.map +1 -0
  265. package/dist/hubspot-HMVSRJQZ.js +782 -0
  266. package/dist/hubspot-HMVSRJQZ.js.map +1 -0
  267. package/dist/ideas-M66FU45H.js +45 -0
  268. package/dist/images-MM5OPUKV.js +92 -0
  269. package/dist/ingest-GU3WEBN3.js +110 -0
  270. package/dist/ingest-GU3WEBN3.js.map +1 -0
  271. package/dist/ingest-KMLYCFF4.js +26 -0
  272. package/dist/insights-CQCWOCIT.js +132 -0
  273. package/dist/insights-CQCWOCIT.js.map +1 -0
  274. package/dist/insights-XZL2EM53.js +439 -0
  275. package/dist/insights-XZL2EM53.js.map +1 -0
  276. package/dist/inspect-4JO2J3D6.js +192 -0
  277. package/dist/inspect-4JO2J3D6.js.map +1 -0
  278. package/dist/instant-experiences-RM4MLJTL.js +260 -0
  279. package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
  280. package/dist/intent-YCQCUCV3.js +95 -0
  281. package/dist/keyword-gap-PUSF7EKY.js +130 -0
  282. package/dist/keyword-metrics-JXBM22ZD.js +200 -0
  283. package/dist/keyword-metrics-JXBM22ZD.js.map +1 -0
  284. package/dist/keywords-for-site-OAYA7KP7.js +131 -0
  285. package/dist/keywords-for-site-OAYA7KP7.js.map +1 -0
  286. package/dist/landing-OZU5RRFV.js +28 -0
  287. package/dist/languages-SLFV73GE.js +40 -0
  288. package/dist/leads-Q7APIJRQ.js +115 -0
  289. package/dist/leads-Q7APIJRQ.js.map +1 -0
  290. package/dist/leads-ULYHTG22.js +540 -0
  291. package/dist/leads-ULYHTG22.js.map +1 -0
  292. package/dist/learn-NBBJRMVZ.js +207 -0
  293. package/dist/learn-NBBJRMVZ.js.map +1 -0
  294. package/dist/line-item-writes-X3L5NQEH.js +211 -0
  295. package/dist/line-item-writes-X3L5NQEH.js.map +1 -0
  296. package/dist/line-items-NJMEPEF5.js +107 -0
  297. package/dist/link-WZSNUQQ2.js +67 -0
  298. package/dist/link-WZSNUQQ2.js.map +1 -0
  299. package/dist/linkedin-55PAID62.js +1316 -0
  300. package/dist/linkedin-55PAID62.js.map +1 -0
  301. package/dist/linkedin-person-MVRI7LLC.js +139 -0
  302. package/dist/linkedin-person-MVRI7LLC.js.map +1 -0
  303. package/dist/list-6S54IAUX.js +67 -0
  304. package/dist/list-6S54IAUX.js.map +1 -0
  305. package/dist/list-QRJ4E3SC.js +154 -0
  306. package/dist/list-QRJ4E3SC.js.map +1 -0
  307. package/dist/list-RZUDFLJN.js +306 -0
  308. package/dist/list-RZUDFLJN.js.map +1 -0
  309. package/dist/locations-T2OMP6QN.js +40 -0
  310. package/dist/locations-W3VOYBWL.js +69 -0
  311. package/dist/locations-W3VOYBWL.js.map +1 -0
  312. package/dist/log-53SAPZZ3.js +95 -0
  313. package/dist/log-53SAPZZ3.js.map +1 -0
  314. package/dist/lookup-S5VG7AWH.js +23 -0
  315. package/dist/make-ZF3YIMKW.js +1370 -0
  316. package/dist/make-ZF3YIMKW.js.map +1 -0
  317. package/dist/map-J37QFJSV.js +436 -0
  318. package/dist/map-J37QFJSV.js.map +1 -0
  319. package/dist/mcp-YRIFPYNU.js +717 -0
  320. package/dist/mcp-YRIFPYNU.js.map +1 -0
  321. package/dist/media-P4T4ZBNS.js +18 -0
  322. package/dist/media-sources-EQI3U4TC.js +35 -0
  323. package/dist/members-GYVMSCKL.js +47 -0
  324. package/dist/members-GYVMSCKL.js.map +1 -0
  325. package/dist/meta-IPLWNYC7.js +122 -0
  326. package/dist/metrics-4YVJHYRI.js +152 -0
  327. package/dist/normalize-MFN3WCH5.js +144 -0
  328. package/dist/normalize-MFN3WCH5.js.map +1 -0
  329. package/dist/options-DLHDHO7H.js +125 -0
  330. package/dist/options-DLHDHO7H.js.map +1 -0
  331. package/dist/organization-C2VOA2SD.js +949 -0
  332. package/dist/organization-C2VOA2SD.js.map +1 -0
  333. package/dist/page-photos-OQ5QATQH.js +118 -0
  334. package/dist/page-photos-OQ5QATQH.js.map +1 -0
  335. package/dist/performance-NIF3CESZ.js +27 -0
  336. package/dist/performance-T6TBVHVU.js +5541 -0
  337. package/dist/performance-T6TBVHVU.js.map +1 -0
  338. package/dist/pixels-LQAJOZIM.js +62 -0
  339. package/dist/pixels-LQAJOZIM.js.map +1 -0
  340. package/dist/plan-7UF76Q6U.js +208 -0
  341. package/dist/plan-7UF76Q6U.js.map +1 -0
  342. package/dist/preview-LRJOQ7LM.js +218 -0
  343. package/dist/preview-LRJOQ7LM.js.map +1 -0
  344. package/dist/promoted-tweet-writes-Y6BBOWDL.js +183 -0
  345. package/dist/promoted-tweet-writes-Y6BBOWDL.js.map +1 -0
  346. package/dist/promoted-tweets-RJT53DRM.js +119 -0
  347. package/dist/publish-IOTMJCCY.js +344 -0
  348. package/dist/publish-IOTMJCCY.js.map +1 -0
  349. package/dist/query-XZMDGRO5.js +62 -0
  350. package/dist/questionnaire-DWEH5II4.js +94 -0
  351. package/dist/questionnaire-DWEH5II4.js.map +1 -0
  352. package/dist/reddit-JIHMAKAQ.js +29 -0
  353. package/dist/refresh-OQZ263CS.js +97 -0
  354. package/dist/refresh-OQZ263CS.js.map +1 -0
  355. package/dist/release-4CHFURO3.js +63 -0
  356. package/dist/release-4CHFURO3.js.map +1 -0
  357. package/dist/relevant-pages-FS7GBVXK.js +99 -0
  358. package/dist/remove-IJQPHPDI.js +53 -0
  359. package/dist/remove-IJQPHPDI.js.map +1 -0
  360. package/dist/reopen-YTLPVKUR.js +66 -0
  361. package/dist/reopen-YTLPVKUR.js.map +1 -0
  362. package/dist/rerun-C7NB7B35.js +95 -0
  363. package/dist/rerun-C7NB7B35.js.map +1 -0
  364. package/dist/research-PNBACCCP.js +72 -0
  365. package/dist/research-TLHNPK3O.js +265 -0
  366. package/dist/research-TLHNPK3O.js.map +1 -0
  367. package/dist/reset-JVLW7HA2.js +57 -0
  368. package/dist/reset-JVLW7HA2.js.map +1 -0
  369. package/dist/reset-Y6FXLAQE.js +57 -0
  370. package/dist/reset-Y6FXLAQE.js.map +1 -0
  371. package/dist/resolve-YLRESES5.js +124 -0
  372. package/dist/resolve-YLRESES5.js.map +1 -0
  373. package/dist/retry-3V3IGDRR.js +65 -0
  374. package/dist/retry-3V3IGDRR.js.map +1 -0
  375. package/dist/retry-AEKQLQMP.js +63 -0
  376. package/dist/retry-AEKQLQMP.js.map +1 -0
  377. package/dist/revenue-E4GQIOUY.js +91 -0
  378. package/dist/revenue-E4GQIOUY.js.map +1 -0
  379. package/dist/rule-writes-UAVWT4XS.js +525 -0
  380. package/dist/rule-writes-UAVWT4XS.js.map +1 -0
  381. package/dist/rules-34BQAWU3.js +99 -0
  382. package/dist/rules-34BQAWU3.js.map +1 -0
  383. package/dist/rules-ZVS2MWED.js +217 -0
  384. package/dist/rules-add-CM5XUYNS.js +465 -0
  385. package/dist/rules-add-CM5XUYNS.js.map +1 -0
  386. package/dist/run-MD64RDHZ.js +69 -0
  387. package/dist/run-MD64RDHZ.js.map +1 -0
  388. package/dist/run-QCNRR3CA.js +70 -0
  389. package/dist/scaffold-ad-NADPY3CB.js +1516 -0
  390. package/dist/scaffold-ad-NADPY3CB.js.map +1 -0
  391. package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
  392. package/dist/scaffold-static-ad-5YEYYVYH.js.map +1 -0
  393. package/dist/scaffold-video-W7DF2CBJ.js +888 -0
  394. package/dist/scaffold-video-W7DF2CBJ.js.map +1 -0
  395. package/dist/schedule-CTRRF6TS.js +64 -0
  396. package/dist/schedule-CTRRF6TS.js.map +1 -0
  397. package/dist/scheduled-agents-OXYAVSIE.js +55 -0
  398. package/dist/schema-BEUYOGSW.js +135 -0
  399. package/dist/schema-BEUYOGSW.js.map +1 -0
  400. package/dist/search-GFJKWPKN.js +177 -0
  401. package/dist/search-GFJKWPKN.js.map +1 -0
  402. package/dist/select-S72CCL57.js +106 -0
  403. package/dist/select-S72CCL57.js.map +1 -0
  404. package/dist/sends-LAY5C74B.js +349 -0
  405. package/dist/sends-LAY5C74B.js.map +1 -0
  406. package/dist/set-prompt-YYFDRXRI.js +198 -0
  407. package/dist/set-prompt-YYFDRXRI.js.map +1 -0
  408. package/dist/setup-links-D4JJLESN.js +144 -0
  409. package/dist/setup-links-D4JJLESN.js.map +1 -0
  410. package/dist/shopify-T4UWFIQC.js +3958 -0
  411. package/dist/shopify-T4UWFIQC.js.map +1 -0
  412. package/dist/site-BBZAUZA3.js +180 -0
  413. package/dist/site-BBZAUZA3.js.map +1 -0
  414. package/dist/sources-BUPV7H7F.js +457 -0
  415. package/dist/sources-BUPV7H7F.js.map +1 -0
  416. package/dist/sources-FLUGHSVP.js +30 -0
  417. package/dist/stale-HP54JS5X.js +76 -0
  418. package/dist/stale-HP54JS5X.js.map +1 -0
  419. package/dist/status-CLSWQFCQ.js +65 -0
  420. package/dist/status-CLSWQFCQ.js.map +1 -0
  421. package/dist/studies-EPO2AM4M.js +250 -0
  422. package/dist/study-writes-7FP443QQ.js +470 -0
  423. package/dist/study-writes-7FP443QQ.js.map +1 -0
  424. package/dist/sync-4YTVVEVC.js +57 -0
  425. package/dist/sync-4YTVVEVC.js.map +1 -0
  426. package/dist/sync-definition-OGQ5XTQE.js +69 -0
  427. package/dist/tags-CZTRQNXV.js +26 -0
  428. package/dist/tags-FDQXWTCQ.js +23 -0
  429. package/dist/tags-FDQXWTCQ.js.map +1 -0
  430. package/dist/tags-R67DKRZ6.js +23 -0
  431. package/dist/tags-R67DKRZ6.js.map +1 -0
  432. package/dist/tags-SA2LU6AW.js +227 -0
  433. package/dist/tags-SA2LU6AW.js.map +1 -0
  434. package/dist/tags-ZOXX6VRE.js +23 -0
  435. package/dist/tags-ZOXX6VRE.js.map +1 -0
  436. package/dist/targeting-NKZFEZD7.js +762 -0
  437. package/dist/targeting-NKZFEZD7.js.map +1 -0
  438. package/dist/targeting-criteria-AQYXVSGN.js +113 -0
  439. package/dist/targets-UUVCEG3F.js +106 -0
  440. package/dist/targets-UUVCEG3F.js.map +1 -0
  441. package/dist/testimonials-G3OCNPBY.js +32 -0
  442. package/dist/themes-FEVYZZCW.js +95 -0
  443. package/dist/top-companies-BQGWKYUK.js +111 -0
  444. package/dist/top-companies-BQGWKYUK.js.map +1 -0
  445. package/dist/transcript-U46AEOEI.js +165 -0
  446. package/dist/transcript-U46AEOEI.js.map +1 -0
  447. package/dist/translate-AS7JVKYM.js +609 -0
  448. package/dist/translate-AS7JVKYM.js.map +1 -0
  449. package/dist/triggers-ECRBPYYF.js +144 -0
  450. package/dist/triggers-ECRBPYYF.js.map +1 -0
  451. package/dist/unlink-VDNCSRJV.js +70 -0
  452. package/dist/unlink-VDNCSRJV.js.map +1 -0
  453. package/dist/unstage-ATDXUYP2.js +88 -0
  454. package/dist/unstage-ATDXUYP2.js.map +1 -0
  455. package/dist/unstage-ZA3WQBEA.js +96 -0
  456. package/dist/unstage-ZA3WQBEA.js.map +1 -0
  457. package/dist/update-FJ6TBV3E.js +101 -0
  458. package/dist/update-FJ6TBV3E.js.map +1 -0
  459. package/dist/update-HDBJCSTI.js +66 -0
  460. package/dist/update-HDBJCSTI.js.map +1 -0
  461. package/dist/update-U43DJRGV.js +155 -0
  462. package/dist/update-U43DJRGV.js.map +1 -0
  463. package/dist/update-Z7TIUBMJ.js +192 -0
  464. package/dist/update-Z7TIUBMJ.js.map +1 -0
  465. package/dist/upload-LXCFSRIU.js +129 -0
  466. package/dist/upload-LXCFSRIU.js.map +1 -0
  467. package/dist/url-options-Z4BQBEMI.js +131 -0
  468. package/dist/url-options-Z4BQBEMI.js.map +1 -0
  469. package/dist/url-params-J7RKP5RB.js +101 -0
  470. package/dist/url-params-J7RKP5RB.js.map +1 -0
  471. package/dist/validate-VR3HEOMJ.js +122 -0
  472. package/dist/validate-VR3HEOMJ.js.map +1 -0
  473. package/dist/videos-36AXDUGZ.js +41 -0
  474. package/dist/viewer-check-6HL4OUQY.js +83 -0
  475. package/dist/web-7BRJRQX7.js +143 -0
  476. package/dist/web-7BRJRQX7.js.map +1 -0
  477. package/dist/winning-ads-GMM5W2O4.js +86 -0
  478. package/dist/write-commands-IM5DPG3R.js +1502 -0
  479. package/dist/write-commands-IM5DPG3R.js.map +1 -0
  480. package/dist/write-commands-OGVDWWBV.js +1172 -0
  481. package/dist/write-commands-OGVDWWBV.js.map +1 -0
  482. package/dist/x-HGFAL3NY.js +47 -0
  483. package/package.json +1 -1
  484. package/dist/account-UUAEQWO3.js +0 -80
  485. package/dist/account-UUAEQWO3.js.map +0 -1
  486. package/dist/account-WLQBAQMD.js +0 -80
  487. package/dist/account-WLQBAQMD.js.map +0 -1
  488. package/dist/account-assets-O7IA37RE.js +0 -290
  489. package/dist/account-level-EU7BWCO7.js +0 -609
  490. package/dist/account-level-EU7BWCO7.js.map +0 -1
  491. package/dist/account-reads-SNOWDHHF.js +0 -219
  492. package/dist/account-users-NV37Z2XJ.js +0 -62
  493. package/dist/account-users-NV37Z2XJ.js.map +0 -1
  494. package/dist/account-writes-TU3WJRSI.js +0 -66
  495. package/dist/account-writes-TU3WJRSI.js.map +0 -1
  496. package/dist/accounts-MZ6SETJJ.js +0 -78
  497. package/dist/accounts-MZ6SETJJ.js.map +0 -1
  498. package/dist/accounts-U7ZBEAY6.js +0 -699
  499. package/dist/accounts-U7ZBEAY6.js.map +0 -1
  500. package/dist/actions-4JYHXRFH.js +0 -55
  501. package/dist/activecampaign-IDBV26HH.js +0 -936
  502. package/dist/activecampaign-IDBV26HH.js.map +0 -1
  503. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  504. package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
  505. package/dist/ad-groups-33NZD6J3.js +0 -68
  506. package/dist/ad-groups-33NZD6J3.js.map +0 -1
  507. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  508. package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
  509. package/dist/add-AF42LQQQ.js +0 -105
  510. package/dist/add-AF42LQQQ.js.map +0 -1
  511. package/dist/add-LJRZYJ7I.js +0 -303
  512. package/dist/add-LJRZYJ7I.js.map +0 -1
  513. package/dist/ads-KBE5JXCH.js +0 -115
  514. package/dist/ads-LXWXOQHX.js +0 -48
  515. package/dist/ads-X3AM6M7L.js +0 -77
  516. package/dist/ads-X3AM6M7L.js.map +0 -1
  517. package/dist/adsets-YWBJFPAZ.js +0 -182
  518. package/dist/advertisers-6FOCN2W3.js +0 -121
  519. package/dist/advertisers-6FOCN2W3.js.map +0 -1
  520. package/dist/analytics-64HBRJJE.js +0 -2435
  521. package/dist/analytics-64HBRJJE.js.map +0 -1
  522. package/dist/analytics-VY5NL2GL.js +0 -445
  523. package/dist/analytics-VY5NL2GL.js.map +0 -1
  524. package/dist/asset-writes-72DEVXGO.js +0 -48
  525. package/dist/assign-N2I2BM67.js +0 -78
  526. package/dist/assign-N2I2BM67.js.map +0 -1
  527. package/dist/audience-size-H5DEZXJN.js +0 -74
  528. package/dist/audience-size-H5DEZXJN.js.map +0 -1
  529. package/dist/audience-writes-KCHLNFSI.js +0 -325
  530. package/dist/audience-writes-KCHLNFSI.js.map +0 -1
  531. package/dist/audiences-QAH42HIM.js +0 -86
  532. package/dist/audiences-WCDWN64L.js +0 -268
  533. package/dist/audiences-WCDWN64L.js.map +0 -1
  534. package/dist/audit-2AAF6AOX.js +0 -152
  535. package/dist/audit-2AAF6AOX.js.map +0 -1
  536. package/dist/autocomplete-3GSKRNCZ.js +0 -112
  537. package/dist/autocomplete-3GSKRNCZ.js.map +0 -1
  538. package/dist/avatars-N6W6HUPP.js +0 -38
  539. package/dist/bid-pricing-IMITXHXN.js +0 -101
  540. package/dist/bid-pricing-IMITXHXN.js.map +0 -1
  541. package/dist/brand-ITWQVZD2.js +0 -22
  542. package/dist/brief-JJNEYPYB.js +0 -541
  543. package/dist/brief-JJNEYPYB.js.map +0 -1
  544. package/dist/campaign-groups-TTQLP32Q.js +0 -97
  545. package/dist/campaign-groups-TTQLP32Q.js.map +0 -1
  546. package/dist/campaign-writes-MAKPHQ3V.js +0 -166
  547. package/dist/campaign-writes-MAKPHQ3V.js.map +0 -1
  548. package/dist/campaign-writes-XO74BALZ.js +0 -174
  549. package/dist/campaign-writes-XO74BALZ.js.map +0 -1
  550. package/dist/campaigns-5BIDXYSR.js +0 -111
  551. package/dist/campaigns-LS65QM6W.js +0 -76
  552. package/dist/campaigns-LS65QM6W.js.map +0 -1
  553. package/dist/campaigns-XZOQ2VTK.js +0 -130
  554. package/dist/campaigns-XZPXCS7I.js +0 -111
  555. package/dist/campaigns-XZPXCS7I.js.map +0 -1
  556. package/dist/canvas-SL3RMOY5.js +0 -46
  557. package/dist/capabilities-LSR5GCE6.js +0 -145
  558. package/dist/capabilities-LSR5GCE6.js.map +0 -1
  559. package/dist/catalogs-JLCSFZYC.js +0 -779
  560. package/dist/catalogs-JLCSFZYC.js.map +0 -1
  561. package/dist/catalogs-T23RKYFC.js +0 -128
  562. package/dist/catalogs-T23RKYFC.js.map +0 -1
  563. package/dist/changes-36C754R4.js +0 -135
  564. package/dist/chatgpt-3WFOPURY.js +0 -47
  565. package/dist/chats-GGYTXNJS.js +0 -277
  566. package/dist/chats-GGYTXNJS.js.map +0 -1
  567. package/dist/check-P7UPBBG7.js +0 -105
  568. package/dist/check-P7UPBBG7.js.map +0 -1
  569. package/dist/chunk-2TOIY2WN.js +0 -4254
  570. package/dist/chunk-4D46PS6J.js +0 -344
  571. package/dist/chunk-4GAEB6NK.js +0 -228
  572. package/dist/chunk-5XTGG4PV.js +0 -274
  573. package/dist/chunk-6JCX3YLM.js +0 -249
  574. package/dist/chunk-7J3NZBPV.js +0 -2982
  575. package/dist/chunk-7J3NZBPV.js.map +0 -1
  576. package/dist/chunk-ALMYGH5U.js +0 -479
  577. package/dist/chunk-AQKRSEBQ.js +0 -103
  578. package/dist/chunk-BL6RTOK3.js +0 -297
  579. package/dist/chunk-C6CBBZBO.js +0 -203
  580. package/dist/chunk-CCEDZTP7.js +0 -391
  581. package/dist/chunk-CCEDZTP7.js.map +0 -1
  582. package/dist/chunk-CKQTJ2LV.js +0 -89
  583. package/dist/chunk-D3KLDIPQ.js +0 -45
  584. package/dist/chunk-DL2UJNJ7.js +0 -8954
  585. package/dist/chunk-DQ54POZN.js +0 -363
  586. package/dist/chunk-EDLZGTGN.js +0 -216
  587. package/dist/chunk-EDLZGTGN.js.map +0 -1
  588. package/dist/chunk-EXSHBYNQ.js +0 -349
  589. package/dist/chunk-EXSHBYNQ.js.map +0 -1
  590. package/dist/chunk-FFFJBNHA.js +0 -63
  591. package/dist/chunk-FKQK22IX.js +0 -51
  592. package/dist/chunk-FLK6QHOY.js +0 -142
  593. package/dist/chunk-GACSA5A6.js +0 -1646
  594. package/dist/chunk-HJKYTNAZ.js +0 -61
  595. package/dist/chunk-INUU3752.js +0 -392
  596. package/dist/chunk-IQHO2ABF.js +0 -197
  597. package/dist/chunk-J3UWMBOP.js +0 -547
  598. package/dist/chunk-JDR3HUEL.js +0 -191
  599. package/dist/chunk-JI77AKT6.js +0 -19
  600. package/dist/chunk-JNURZHZJ.js +0 -942
  601. package/dist/chunk-JSNMKTFM.js +0 -592
  602. package/dist/chunk-K4FLWDEX.js +0 -122
  603. package/dist/chunk-KBRJSPIM.js +0 -676
  604. package/dist/chunk-LAC6YHHX.js +0 -97
  605. package/dist/chunk-M7HD42M6.js +0 -24017
  606. package/dist/chunk-M7HD42M6.js.map +0 -1
  607. package/dist/chunk-MGYC2IRC.js +0 -783
  608. package/dist/chunk-MI4HXE7M.js +0 -23
  609. package/dist/chunk-MJ7RNDD4.js +0 -910
  610. package/dist/chunk-OBJCNGZL.js +0 -207
  611. package/dist/chunk-OJGYYH6K.js +0 -179
  612. package/dist/chunk-OLBLXJNI.js +0 -224
  613. package/dist/chunk-PFTYKINE.js +0 -207
  614. package/dist/chunk-PLBITHV6.js +0 -846
  615. package/dist/chunk-Q6JMMBSQ.js +0 -831
  616. package/dist/chunk-RAQHUMKS.js +0 -169
  617. package/dist/chunk-SA22KXWT.js +0 -163
  618. package/dist/chunk-SIXU5PDF.js +0 -66
  619. package/dist/chunk-SXMK5AEJ.js +0 -494
  620. package/dist/chunk-TTLD66NI.js +0 -319
  621. package/dist/chunk-TVAIOC77.js +0 -287
  622. package/dist/chunk-TVTSA4EN.js +0 -188
  623. package/dist/chunk-V5NHJU3M.js +0 -604
  624. package/dist/chunk-VIPKDXGU.js +0 -4229
  625. package/dist/chunk-VIPKDXGU.js.map +0 -1
  626. package/dist/chunk-W4D7C74B.js +0 -387
  627. package/dist/chunk-WF25CCLD.js +0 -170
  628. package/dist/chunk-WQPUX3BA.js +0 -275
  629. package/dist/chunk-WR3FR3K3.js +0 -156
  630. package/dist/chunk-XDNJC62G.js +0 -91
  631. package/dist/chunk-XE6N4SZI.js +0 -429
  632. package/dist/chunk-XGPU2VDU.js +0 -219
  633. package/dist/chunk-XUJZO7MZ.js +0 -57
  634. package/dist/chunk-Y67LUJBE.js +0 -455
  635. package/dist/chunk-Y7XSDJEA.js +0 -3868
  636. package/dist/chunk-ZNNQK366.js +0 -7198
  637. package/dist/chunk-ZNNQK366.js.map +0 -1
  638. package/dist/chunk-ZNRGH4NS.js +0 -150
  639. package/dist/claim-4KUETSW3.js +0 -198
  640. package/dist/claim-4KUETSW3.js.map +0 -1
  641. package/dist/companies-XFO6WPVT.js +0 -196
  642. package/dist/companies-XFO6WPVT.js.map +0 -1
  643. package/dist/company-OJGISG7K.js +0 -306
  644. package/dist/company-OJGISG7K.js.map +0 -1
  645. package/dist/complete-CXOST5J3.js +0 -82
  646. package/dist/complete-CXOST5J3.js.map +0 -1
  647. package/dist/connect-HPQ32KGV.js +0 -43
  648. package/dist/conversation-D5HKCTDA.js +0 -94
  649. package/dist/conversation-D5HKCTDA.js.map +0 -1
  650. package/dist/conversion-report-DKXFHLLX.js +0 -125
  651. package/dist/conversion-report-DKXFHLLX.js.map +0 -1
  652. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  653. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  654. package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
  655. package/dist/conversions-BKVGNNC6.js +0 -76
  656. package/dist/conversions-BKVGNNC6.js.map +0 -1
  657. package/dist/conversions-SYNDEB6D.js +0 -138
  658. package/dist/conversions-SYNDEB6D.js.map +0 -1
  659. package/dist/copy-writes-P4WK6OPM.js +0 -168
  660. package/dist/copy-writes-P4WK6OPM.js.map +0 -1
  661. package/dist/create-7D4VD4TC.js +0 -208
  662. package/dist/create-7D4VD4TC.js.map +0 -1
  663. package/dist/create-7QDEAWZS.js +0 -133
  664. package/dist/create-7QDEAWZS.js.map +0 -1
  665. package/dist/create-IQSYEC4M.js +0 -60
  666. package/dist/create-IQSYEC4M.js.map +0 -1
  667. package/dist/create-TQSCM7MG.js +0 -237
  668. package/dist/create-TQSCM7MG.js.map +0 -1
  669. package/dist/creatives-JPKA2RHU.js +0 -89
  670. package/dist/creatives-RNOL4F4E.js +0 -58
  671. package/dist/creatives-RXI27T2D.js +0 -221
  672. package/dist/creatives-RXI27T2D.js.map +0 -1
  673. package/dist/credentials-PYW55B52.js +0 -288
  674. package/dist/credentials-PYW55B52.js.map +0 -1
  675. package/dist/critique-2SYHNAW5.js +0 -1449
  676. package/dist/critique-2SYHNAW5.js.map +0 -1
  677. package/dist/critique-72GFZSHA.js +0 -230
  678. package/dist/critique-72GFZSHA.js.map +0 -1
  679. package/dist/crm-EATDSXXB.js +0 -225
  680. package/dist/crm-EATDSXXB.js.map +0 -1
  681. package/dist/crm-XXP3VBYD.js +0 -321
  682. package/dist/crm-XXP3VBYD.js.map +0 -1
  683. package/dist/currency-R4ORE2U3.js +0 -88
  684. package/dist/custom-conversions-5HJBB5XL.js +0 -128
  685. package/dist/customers-OFZTEXST.js +0 -57
  686. package/dist/delete-FGVZIK4R.js +0 -55
  687. package/dist/delete-FGVZIK4R.js.map +0 -1
  688. package/dist/delete-HBZZL4UA.js +0 -67
  689. package/dist/delete-HBZZL4UA.js.map +0 -1
  690. package/dist/delete-JOUXMRIX.js +0 -65
  691. package/dist/delete-JOUXMRIX.js.map +0 -1
  692. package/dist/demographics-SB7NBYOI.js +0 -139
  693. package/dist/demographics-SB7NBYOI.js.map +0 -1
  694. package/dist/discard-YYGIRDII.js +0 -67
  695. package/dist/discard-YYGIRDII.js.map +0 -1
  696. package/dist/discover-GSJRZUOC.js +0 -172
  697. package/dist/domain-3KRAJAUH.js +0 -99
  698. package/dist/domain-3KRAJAUH.js.map +0 -1
  699. package/dist/download-QCBKJ6OR.js +0 -170
  700. package/dist/download-QCBKJ6OR.js.map +0 -1
  701. package/dist/draft-7CGFFZTH.js +0 -333
  702. package/dist/draft-7CGFFZTH.js.map +0 -1
  703. package/dist/draft-BI4NW6AU.js +0 -308
  704. package/dist/draft-BI4NW6AU.js.map +0 -1
  705. package/dist/draft-LPVK6YHI.js +0 -281
  706. package/dist/draft-LPVK6YHI.js.map +0 -1
  707. package/dist/draft-QF5JEUTH.js +0 -218
  708. package/dist/draft-QF5JEUTH.js.map +0 -1
  709. package/dist/draft-WYDMLNYA.js +0 -308
  710. package/dist/experiments-ZCEYRP3H.js +0 -234
  711. package/dist/experiments-ZCEYRP3H.js.map +0 -1
  712. package/dist/facets-G7ZDPI5Q.js +0 -115
  713. package/dist/facets-G7ZDPI5Q.js.map +0 -1
  714. package/dist/feedback-3U3CL2VB.js +0 -109
  715. package/dist/feedback-3U3CL2VB.js.map +0 -1
  716. package/dist/feedback-record-4ZHPENIP.js +0 -263
  717. package/dist/feedback-record-4ZHPENIP.js.map +0 -1
  718. package/dist/fetch-PNVNNWTP.js +0 -177
  719. package/dist/fetch-PNVNNWTP.js.map +0 -1
  720. package/dist/fit-53DGYRFD.js +0 -63
  721. package/dist/flows-JXLQBP5Q.js +0 -248
  722. package/dist/flows-JXLQBP5Q.js.map +0 -1
  723. package/dist/fonts-LFMBUT4R.js +0 -37
  724. package/dist/forecast-4AG5F7YC.js +0 -169
  725. package/dist/forecast-VZAXI74O.js +0 -119
  726. package/dist/forecast-VZAXI74O.js.map +0 -1
  727. package/dist/funnel-EACC35UD.js +0 -395
  728. package/dist/funnel-EACC35UD.js.map +0 -1
  729. package/dist/get-AXBVYGAC.js +0 -57
  730. package/dist/get-AXBVYGAC.js.map +0 -1
  731. package/dist/get-D6A27Q4E.js +0 -80
  732. package/dist/get-D6A27Q4E.js.map +0 -1
  733. package/dist/google-NAA4BASO.js +0 -3267
  734. package/dist/google-ads-OIYUNDXQ.js +0 -196
  735. package/dist/google-ads-OIYUNDXQ.js.map +0 -1
  736. package/dist/history-5MRLNTCI.js +0 -67
  737. package/dist/history-5MRLNTCI.js.map +0 -1
  738. package/dist/history-IDYNIB6R.js +0 -134
  739. package/dist/history-IDYNIB6R.js.map +0 -1
  740. package/dist/history-IOUKN3WD.js +0 -100
  741. package/dist/history-IOUKN3WD.js.map +0 -1
  742. package/dist/hubspot-HL6WGC4G.js +0 -780
  743. package/dist/hubspot-HL6WGC4G.js.map +0 -1
  744. package/dist/ideas-NK3KQHAK.js +0 -43
  745. package/dist/images-2XS3JT7E.js +0 -92
  746. package/dist/ingest-DHXWZZX4.js +0 -24
  747. package/dist/ingest-FGTJRCWK.js +0 -108
  748. package/dist/ingest-FGTJRCWK.js.map +0 -1
  749. package/dist/insights-M3CYB22P.js +0 -437
  750. package/dist/insights-M3CYB22P.js.map +0 -1
  751. package/dist/insights-XCT3ONC7.js +0 -130
  752. package/dist/insights-XCT3ONC7.js.map +0 -1
  753. package/dist/inspect-53GGYRC4.js +0 -190
  754. package/dist/inspect-53GGYRC4.js.map +0 -1
  755. package/dist/instant-experiences-HT3HB4QZ.js +0 -258
  756. package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
  757. package/dist/intent-NSHW7EJT.js +0 -95
  758. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  759. package/dist/keyword-metrics-LWPE3HHW.js +0 -198
  760. package/dist/keyword-metrics-LWPE3HHW.js.map +0 -1
  761. package/dist/keywords-for-site-5K25VJ35.js +0 -129
  762. package/dist/keywords-for-site-5K25VJ35.js.map +0 -1
  763. package/dist/landing-QONUUP3C.js +0 -28
  764. package/dist/languages-MEFQQBJ2.js +0 -40
  765. package/dist/leads-FSSISJGL.js +0 -113
  766. package/dist/leads-FSSISJGL.js.map +0 -1
  767. package/dist/leads-SZOGCQFK.js +0 -538
  768. package/dist/leads-SZOGCQFK.js.map +0 -1
  769. package/dist/learn-FWWJWBDN.js +0 -205
  770. package/dist/learn-FWWJWBDN.js.map +0 -1
  771. package/dist/line-item-writes-A3UQ44NG.js +0 -209
  772. package/dist/line-item-writes-A3UQ44NG.js.map +0 -1
  773. package/dist/line-items-OH426JGT.js +0 -107
  774. package/dist/link-67E4NVEX.js +0 -65
  775. package/dist/link-67E4NVEX.js.map +0 -1
  776. package/dist/linkedin-CT2OSQ2I.js +0 -1314
  777. package/dist/linkedin-CT2OSQ2I.js.map +0 -1
  778. package/dist/linkedin-person-OSNLPLJJ.js +0 -137
  779. package/dist/linkedin-person-OSNLPLJJ.js.map +0 -1
  780. package/dist/list-J4OUXAKN.js +0 -65
  781. package/dist/list-J4OUXAKN.js.map +0 -1
  782. package/dist/list-L2OQK4W3.js +0 -304
  783. package/dist/list-L2OQK4W3.js.map +0 -1
  784. package/dist/list-LHMDAA2D.js +0 -152
  785. package/dist/list-LHMDAA2D.js.map +0 -1
  786. package/dist/locations-RLWAS6AC.js +0 -40
  787. package/dist/locations-UKBOT6SB.js +0 -67
  788. package/dist/locations-UKBOT6SB.js.map +0 -1
  789. package/dist/log-4EIV54V4.js +0 -93
  790. package/dist/log-4EIV54V4.js.map +0 -1
  791. package/dist/lookup-ZJIP2M4X.js +0 -22
  792. package/dist/make-MFU3CSN7.js +0 -1368
  793. package/dist/make-MFU3CSN7.js.map +0 -1
  794. package/dist/map-VWWWMQLK.js +0 -434
  795. package/dist/map-VWWWMQLK.js.map +0 -1
  796. package/dist/mcp-EKLO2VD7.js +0 -715
  797. package/dist/mcp-EKLO2VD7.js.map +0 -1
  798. package/dist/media-ZWN7E777.js +0 -18
  799. package/dist/media-sources-7L622UTF.js +0 -35
  800. package/dist/members-QK5M5NCJ.js +0 -45
  801. package/dist/members-QK5M5NCJ.js.map +0 -1
  802. package/dist/meta-EHKXH257.js +0 -122
  803. package/dist/metrics-K6FDCMK7.js +0 -152
  804. package/dist/normalize-WI4OGKH5.js +0 -142
  805. package/dist/normalize-WI4OGKH5.js.map +0 -1
  806. package/dist/options-FKJ2QXI6.js +0 -123
  807. package/dist/options-FKJ2QXI6.js.map +0 -1
  808. package/dist/organization-7A7MPUDG.js +0 -947
  809. package/dist/organization-7A7MPUDG.js.map +0 -1
  810. package/dist/page-photos-HWKQOSCU.js +0 -116
  811. package/dist/page-photos-HWKQOSCU.js.map +0 -1
  812. package/dist/performance-K4VB6L6Z.js +0 -25
  813. package/dist/performance-LHAL53YO.js +0 -5539
  814. package/dist/performance-LHAL53YO.js.map +0 -1
  815. package/dist/pixels-Z7ZGXAGB.js +0 -60
  816. package/dist/pixels-Z7ZGXAGB.js.map +0 -1
  817. package/dist/plan-TVQSEKYL.js +0 -207
  818. package/dist/plan-TVQSEKYL.js.map +0 -1
  819. package/dist/preview-CWRGDFCP.js +0 -216
  820. package/dist/preview-CWRGDFCP.js.map +0 -1
  821. package/dist/promoted-tweet-writes-V4ZVJOJU.js +0 -181
  822. package/dist/promoted-tweet-writes-V4ZVJOJU.js.map +0 -1
  823. package/dist/promoted-tweets-KPG4IUVD.js +0 -119
  824. package/dist/publish-Y465CVUD.js +0 -342
  825. package/dist/publish-Y465CVUD.js.map +0 -1
  826. package/dist/query-QM7MBQD7.js +0 -62
  827. package/dist/questionnaire-LEZJLMAV.js +0 -93
  828. package/dist/questionnaire-LEZJLMAV.js.map +0 -1
  829. package/dist/reddit-Z7DOVIGR.js +0 -27
  830. package/dist/refresh-A6TW2Z2F.js +0 -95
  831. package/dist/refresh-A6TW2Z2F.js.map +0 -1
  832. package/dist/release-UFESJ4TM.js +0 -61
  833. package/dist/release-UFESJ4TM.js.map +0 -1
  834. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  835. package/dist/remove-YONNYA4G.js +0 -51
  836. package/dist/remove-YONNYA4G.js.map +0 -1
  837. package/dist/reopen-FYJU2IPO.js +0 -64
  838. package/dist/reopen-FYJU2IPO.js.map +0 -1
  839. package/dist/rerun-B5SBG6ZE.js +0 -93
  840. package/dist/rerun-B5SBG6ZE.js.map +0 -1
  841. package/dist/research-HW4EVOZU.js +0 -72
  842. package/dist/research-OV53DIBX.js +0 -263
  843. package/dist/research-OV53DIBX.js.map +0 -1
  844. package/dist/reset-R4SIQXFH.js +0 -55
  845. package/dist/reset-R4SIQXFH.js.map +0 -1
  846. package/dist/reset-X6ODAKYH.js +0 -55
  847. package/dist/reset-X6ODAKYH.js.map +0 -1
  848. package/dist/resolve-DNRJCLCR.js +0 -122
  849. package/dist/resolve-DNRJCLCR.js.map +0 -1
  850. package/dist/retry-D5MKBHUB.js +0 -63
  851. package/dist/retry-D5MKBHUB.js.map +0 -1
  852. package/dist/retry-DVFLE7JY.js +0 -61
  853. package/dist/retry-DVFLE7JY.js.map +0 -1
  854. package/dist/revenue-QGI6XWSK.js +0 -89
  855. package/dist/revenue-QGI6XWSK.js.map +0 -1
  856. package/dist/rule-writes-S3RN47OG.js +0 -523
  857. package/dist/rule-writes-S3RN47OG.js.map +0 -1
  858. package/dist/rules-KTJ2ZZ62.js +0 -217
  859. package/dist/rules-TR6BAC23.js +0 -97
  860. package/dist/rules-TR6BAC23.js.map +0 -1
  861. package/dist/rules-add-T5ZO5RLR.js +0 -463
  862. package/dist/rules-add-T5ZO5RLR.js.map +0 -1
  863. package/dist/run-WZ5IXWA4.js +0 -67
  864. package/dist/run-WZ5IXWA4.js.map +0 -1
  865. package/dist/run-YRR3KOUU.js +0 -68
  866. package/dist/scaffold-ad-DNUCGCIH.js +0 -1514
  867. package/dist/scaffold-ad-DNUCGCIH.js.map +0 -1
  868. package/dist/scaffold-static-ad-VR65EZAG.js +0 -1013
  869. package/dist/scaffold-static-ad-VR65EZAG.js.map +0 -1
  870. package/dist/scaffold-video-JLMKCCWE.js +0 -886
  871. package/dist/scaffold-video-JLMKCCWE.js.map +0 -1
  872. package/dist/schedule-VRHCVBZA.js +0 -62
  873. package/dist/schedule-VRHCVBZA.js.map +0 -1
  874. package/dist/scheduled-agents-DG7FTCUZ.js +0 -55
  875. package/dist/schema-WZKDWF5N.js +0 -133
  876. package/dist/schema-WZKDWF5N.js.map +0 -1
  877. package/dist/search-MN66QIKJ.js +0 -175
  878. package/dist/search-MN66QIKJ.js.map +0 -1
  879. package/dist/select-IPSM2BF2.js +0 -104
  880. package/dist/select-IPSM2BF2.js.map +0 -1
  881. package/dist/sends-6FI7WELX.js +0 -348
  882. package/dist/sends-6FI7WELX.js.map +0 -1
  883. package/dist/set-prompt-N6BD3DME.js +0 -196
  884. package/dist/set-prompt-N6BD3DME.js.map +0 -1
  885. package/dist/setup-links-GTA2AROS.js +0 -142
  886. package/dist/setup-links-GTA2AROS.js.map +0 -1
  887. package/dist/shopify-S4TG6WJH.js +0 -3956
  888. package/dist/shopify-S4TG6WJH.js.map +0 -1
  889. package/dist/site-NY622E3H.js +0 -178
  890. package/dist/site-NY622E3H.js.map +0 -1
  891. package/dist/sources-4F2XO7Z6.js +0 -455
  892. package/dist/sources-4F2XO7Z6.js.map +0 -1
  893. package/dist/sources-562ITR77.js +0 -30
  894. package/dist/stale-JKM6MXJF.js +0 -74
  895. package/dist/stale-JKM6MXJF.js.map +0 -1
  896. package/dist/status-AUWMUDA4.js +0 -63
  897. package/dist/status-AUWMUDA4.js.map +0 -1
  898. package/dist/studies-ZOEUY6YP.js +0 -250
  899. package/dist/study-writes-DTGMCNFP.js +0 -468
  900. package/dist/study-writes-DTGMCNFP.js.map +0 -1
  901. package/dist/sync-76MCGHX4.js +0 -55
  902. package/dist/sync-76MCGHX4.js.map +0 -1
  903. package/dist/sync-definition-NJPT6ABG.js +0 -67
  904. package/dist/tags-5KBOJJ5R.js +0 -26
  905. package/dist/tags-CSMLTHTU.js +0 -21
  906. package/dist/tags-CSMLTHTU.js.map +0 -1
  907. package/dist/tags-IFRZYM3G.js +0 -21
  908. package/dist/tags-IFRZYM3G.js.map +0 -1
  909. package/dist/tags-S44ADJ75.js +0 -21
  910. package/dist/tags-S44ADJ75.js.map +0 -1
  911. package/dist/tags-WR7IY3OT.js +0 -225
  912. package/dist/tags-WR7IY3OT.js.map +0 -1
  913. package/dist/targeting-VBQY3HUN.js +0 -760
  914. package/dist/targeting-VBQY3HUN.js.map +0 -1
  915. package/dist/targeting-criteria-FJWNK53T.js +0 -113
  916. package/dist/targets-2EHMMXD4.js +0 -104
  917. package/dist/targets-2EHMMXD4.js.map +0 -1
  918. package/dist/testimonials-WAPFIGFJ.js +0 -32
  919. package/dist/themes-B4LCQUXB.js +0 -95
  920. package/dist/top-companies-DJ2XQKMW.js +0 -109
  921. package/dist/top-companies-DJ2XQKMW.js.map +0 -1
  922. package/dist/transcript-J3LGOHCM.js +0 -163
  923. package/dist/transcript-J3LGOHCM.js.map +0 -1
  924. package/dist/translate-6RXO4C6Z.js +0 -607
  925. package/dist/translate-6RXO4C6Z.js.map +0 -1
  926. package/dist/triggers-CYXPNHQB.js +0 -142
  927. package/dist/triggers-CYXPNHQB.js.map +0 -1
  928. package/dist/unlink-5FJI7XZB.js +0 -68
  929. package/dist/unlink-5FJI7XZB.js.map +0 -1
  930. package/dist/unstage-54ZE2SZK.js +0 -86
  931. package/dist/unstage-54ZE2SZK.js.map +0 -1
  932. package/dist/unstage-MDSSPUKV.js +0 -95
  933. package/dist/unstage-MDSSPUKV.js.map +0 -1
  934. package/dist/update-BVBFNFMO.js +0 -99
  935. package/dist/update-BVBFNFMO.js.map +0 -1
  936. package/dist/update-GV3T7ZRC.js +0 -190
  937. package/dist/update-GV3T7ZRC.js.map +0 -1
  938. package/dist/update-PUQWUGPJ.js +0 -64
  939. package/dist/update-PUQWUGPJ.js.map +0 -1
  940. package/dist/update-YQBK6C3L.js +0 -153
  941. package/dist/update-YQBK6C3L.js.map +0 -1
  942. package/dist/upload-PXT5JAEV.js +0 -127
  943. package/dist/upload-PXT5JAEV.js.map +0 -1
  944. package/dist/url-options-IHL4OU4C.js +0 -130
  945. package/dist/url-options-IHL4OU4C.js.map +0 -1
  946. package/dist/url-params-IYUI6SFJ.js +0 -99
  947. package/dist/url-params-IYUI6SFJ.js.map +0 -1
  948. package/dist/validate-AD7F7LQ5.js +0 -120
  949. package/dist/validate-AD7F7LQ5.js.map +0 -1
  950. package/dist/videos-ZJCTODEB.js +0 -41
  951. package/dist/viewer-check-GWZNGWCO.js +0 -81
  952. package/dist/web-76CWAZNW.js +0 -141
  953. package/dist/web-76CWAZNW.js.map +0 -1
  954. package/dist/winning-ads-W7GTXTX7.js +0 -86
  955. package/dist/write-commands-K6M3RTVK.js +0 -1170
  956. package/dist/write-commands-K6M3RTVK.js.map +0 -1
  957. package/dist/write-commands-VPU53DLB.js +0 -1498
  958. package/dist/write-commands-VPU53DLB.js.map +0 -1
  959. package/dist/x-V4NNNWRU.js +0 -47
  960. /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
  961. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-2MSUVG46.js.map} +0 -0
  962. /package/dist/{actions-4JYHXRFH.js.map → actions-D7OWCP36.js.map} +0 -0
  963. /package/dist/{ads-LXWXOQHX.js.map → ads-HLUJB5SQ.js.map} +0 -0
  964. /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
  965. /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
  966. /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
  967. /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
  968. /package/dist/{avatars-N6W6HUPP.js.map → avatars-WZ2JDMHH.js.map} +0 -0
  969. /package/dist/{brand-ITWQVZD2.js.map → brand-IZTTBZII.js.map} +0 -0
  970. /package/dist/{campaigns-5BIDXYSR.js.map → campaigns-4Y3JQC2U.js.map} +0 -0
  971. /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
  972. /package/dist/{canvas-SL3RMOY5.js.map → canvas-IQ753Q2O.js.map} +0 -0
  973. /package/dist/{changes-36C754R4.js.map → changes-VWKTM27U.js.map} +0 -0
  974. /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-OPOD2WHB.js.map} +0 -0
  975. /package/dist/{chunk-WF25CCLD.js.map → chunk-2GYCWRF3.js.map} +0 -0
  976. /package/dist/{chunk-HJKYTNAZ.js.map → chunk-2L7F7KR4.js.map} +0 -0
  977. /package/dist/{chunk-4GAEB6NK.js.map → chunk-44ZRCSR7.js.map} +0 -0
  978. /package/dist/{chunk-2TOIY2WN.js.map → chunk-46YLDIQG.js.map} +0 -0
  979. /package/dist/{chunk-DQ54POZN.js.map → chunk-4EDWXZ3I.js.map} +0 -0
  980. /package/dist/{chunk-SIXU5PDF.js.map → chunk-4FFBGR5L.js.map} +0 -0
  981. /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
  982. /package/dist/{chunk-JSNMKTFM.js.map → chunk-4UZUUSVL.js.map} +0 -0
  983. /package/dist/{chunk-Q6JMMBSQ.js.map → chunk-4XHCEYHI.js.map} +0 -0
  984. /package/dist/{chunk-ALMYGH5U.js.map → chunk-4Z6PVR3M.js.map} +0 -0
  985. /package/dist/{chunk-K4FLWDEX.js.map → chunk-5Y5FZV2W.js.map} +0 -0
  986. /package/dist/{chunk-INUU3752.js.map → chunk-6HJXLGDV.js.map} +0 -0
  987. /package/dist/{chunk-XE6N4SZI.js.map → chunk-6S5CWGDA.js.map} +0 -0
  988. /package/dist/{chunk-SXMK5AEJ.js.map → chunk-6VYROVWO.js.map} +0 -0
  989. /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
  990. /package/dist/{chunk-TTLD66NI.js.map → chunk-AQRXXC6E.js.map} +0 -0
  991. /package/dist/{chunk-W4D7C74B.js.map → chunk-ARBXT73X.js.map} +0 -0
  992. /package/dist/{chunk-LAC6YHHX.js.map → chunk-BEZHQIEI.js.map} +0 -0
  993. /package/dist/{chunk-J3UWMBOP.js.map → chunk-BFURWHVR.js.map} +0 -0
  994. /package/dist/{chunk-KBRJSPIM.js.map → chunk-DSCEXBDR.js.map} +0 -0
  995. /package/dist/{chunk-MI4HXE7M.js.map → chunk-FLWDFPXE.js.map} +0 -0
  996. /package/dist/{chunk-GACSA5A6.js.map → chunk-FRNBRN2C.js.map} +0 -0
  997. /package/dist/{chunk-FKQK22IX.js.map → chunk-GE3VT3CA.js.map} +0 -0
  998. /package/dist/{chunk-FLK6QHOY.js.map → chunk-HGBJQGO5.js.map} +0 -0
  999. /package/dist/{chunk-MGYC2IRC.js.map → chunk-I7AYMJZA.js.map} +0 -0
  1000. /package/dist/{chunk-PFTYKINE.js.map → chunk-IRM273C7.js.map} +0 -0
  1001. /package/dist/{chunk-WR3FR3K3.js.map → chunk-IWKD56AY.js.map} +0 -0
  1002. /package/dist/{chunk-Y7XSDJEA.js.map → chunk-JLAQWMVF.js.map} +0 -0
  1003. /package/dist/{chunk-XUJZO7MZ.js.map → chunk-K6NULQN7.js.map} +0 -0
  1004. /package/dist/{chunk-JI77AKT6.js.map → chunk-L2BRAC2J.js.map} +0 -0
  1005. /package/dist/{chunk-Y67LUJBE.js.map → chunk-LGMI4LSY.js.map} +0 -0
  1006. /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
  1007. /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
  1008. /package/dist/{chunk-WQPUX3BA.js.map → chunk-OG47L5GG.js.map} +0 -0
  1009. /package/dist/{chunk-RAQHUMKS.js.map → chunk-OR6KVLI5.js.map} +0 -0
  1010. /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
  1011. /package/dist/{chunk-4D46PS6J.js.map → chunk-QIOFOD4K.js.map} +0 -0
  1012. /package/dist/{chunk-6JCX3YLM.js.map → chunk-R2SYF5FC.js.map} +0 -0
  1013. /package/dist/{chunk-JNURZHZJ.js.map → chunk-RTH2I55B.js.map} +0 -0
  1014. /package/dist/{chunk-FFFJBNHA.js.map → chunk-S6VFDNSQ.js.map} +0 -0
  1015. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-SG2TDQEE.js.map} +0 -0
  1016. /package/dist/{chunk-CKQTJ2LV.js.map → chunk-T3P6O2VU.js.map} +0 -0
  1017. /package/dist/{chunk-V5NHJU3M.js.map → chunk-TXDE2QJ3.js.map} +0 -0
  1018. /package/dist/{chunk-C6CBBZBO.js.map → chunk-UDIEKCIR.js.map} +0 -0
  1019. /package/dist/{chunk-SA22KXWT.js.map → chunk-USCADMM3.js.map} +0 -0
  1020. /package/dist/{chunk-MJ7RNDD4.js.map → chunk-UUGISMNE.js.map} +0 -0
  1021. /package/dist/{chunk-IQHO2ABF.js.map → chunk-VDPOCAQ2.js.map} +0 -0
  1022. /package/dist/{chunk-AQKRSEBQ.js.map → chunk-VEJ3QX6M.js.map} +0 -0
  1023. /package/dist/{chunk-XDNJC62G.js.map → chunk-VFJB7OG6.js.map} +0 -0
  1024. /package/dist/{chunk-DL2UJNJ7.js.map → chunk-VRIPVLE7.js.map} +0 -0
  1025. /package/dist/{chunk-5XTGG4PV.js.map → chunk-WFY7KSHB.js.map} +0 -0
  1026. /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
  1027. /package/dist/{chunk-PLBITHV6.js.map → chunk-XHQYFNNK.js.map} +0 -0
  1028. /package/dist/{chunk-OLBLXJNI.js.map → chunk-YILZR3XI.js.map} +0 -0
  1029. /package/dist/{chunk-JDR3HUEL.js.map → chunk-YJFLXOH4.js.map} +0 -0
  1030. /package/dist/{chunk-BL6RTOK3.js.map → chunk-YWHZYR6S.js.map} +0 -0
  1031. /package/dist/{connect-HPQ32KGV.js.map → connect-3YY7MF3I.js.map} +0 -0
  1032. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-7RSZ5ZQU.js.map} +0 -0
  1033. /package/dist/{creatives-RNOL4F4E.js.map → creatives-2DR3QHJW.js.map} +0 -0
  1034. /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
  1035. /package/dist/{currency-R4ORE2U3.js.map → currency-X7Y6TSLF.js.map} +0 -0
  1036. /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
  1037. /package/dist/{customers-OFZTEXST.js.map → customers-663K2OCP.js.map} +0 -0
  1038. /package/dist/{discover-GSJRZUOC.js.map → discover-6DORQWXY.js.map} +0 -0
  1039. /package/dist/{draft-WYDMLNYA.js.map → draft-R6EKORNS.js.map} +0 -0
  1040. /package/dist/{fit-53DGYRFD.js.map → fit-BEFCY2B4.js.map} +0 -0
  1041. /package/dist/{fonts-LFMBUT4R.js.map → fonts-C6XN5667.js.map} +0 -0
  1042. /package/dist/{forecast-4AG5F7YC.js.map → forecast-BTPIXEQ5.js.map} +0 -0
  1043. /package/dist/{google-NAA4BASO.js.map → google-M6BJ22UL.js.map} +0 -0
  1044. /package/dist/{ideas-NK3KQHAK.js.map → ideas-M66FU45H.js.map} +0 -0
  1045. /package/dist/{images-2XS3JT7E.js.map → images-MM5OPUKV.js.map} +0 -0
  1046. /package/dist/{ingest-DHXWZZX4.js.map → ingest-KMLYCFF4.js.map} +0 -0
  1047. /package/dist/{intent-NSHW7EJT.js.map → intent-YCQCUCV3.js.map} +0 -0
  1048. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
  1049. /package/dist/{landing-QONUUP3C.js.map → landing-OZU5RRFV.js.map} +0 -0
  1050. /package/dist/{languages-MEFQQBJ2.js.map → languages-SLFV73GE.js.map} +0 -0
  1051. /package/dist/{line-items-OH426JGT.js.map → line-items-NJMEPEF5.js.map} +0 -0
  1052. /package/dist/{locations-RLWAS6AC.js.map → locations-T2OMP6QN.js.map} +0 -0
  1053. /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
  1054. /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
  1055. /package/dist/{media-sources-7L622UTF.js.map → media-sources-EQI3U4TC.js.map} +0 -0
  1056. /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
  1057. /package/dist/{metrics-K6FDCMK7.js.map → metrics-4YVJHYRI.js.map} +0 -0
  1058. /package/dist/{performance-K4VB6L6Z.js.map → performance-NIF3CESZ.js.map} +0 -0
  1059. /package/dist/{promoted-tweets-KPG4IUVD.js.map → promoted-tweets-RJT53DRM.js.map} +0 -0
  1060. /package/dist/{query-QM7MBQD7.js.map → query-XZMDGRO5.js.map} +0 -0
  1061. /package/dist/{reddit-Z7DOVIGR.js.map → reddit-JIHMAKAQ.js.map} +0 -0
  1062. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
  1063. /package/dist/{research-HW4EVOZU.js.map → research-PNBACCCP.js.map} +0 -0
  1064. /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
  1065. /package/dist/{run-YRR3KOUU.js.map → run-QCNRR3CA.js.map} +0 -0
  1066. /package/dist/{scheduled-agents-DG7FTCUZ.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
  1067. /package/dist/{sources-562ITR77.js.map → sources-FLUGHSVP.js.map} +0 -0
  1068. /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
  1069. /package/dist/{sync-definition-NJPT6ABG.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
  1070. /package/dist/{tags-5KBOJJ5R.js.map → tags-CZTRQNXV.js.map} +0 -0
  1071. /package/dist/{targeting-criteria-FJWNK53T.js.map → targeting-criteria-AQYXVSGN.js.map} +0 -0
  1072. /package/dist/{testimonials-WAPFIGFJ.js.map → testimonials-G3OCNPBY.js.map} +0 -0
  1073. /package/dist/{themes-B4LCQUXB.js.map → themes-FEVYZZCW.js.map} +0 -0
  1074. /package/dist/{videos-ZJCTODEB.js.map → videos-36AXDUGZ.js.map} +0 -0
  1075. /package/dist/{viewer-check-GWZNGWCO.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
  1076. /package/dist/{winning-ads-W7GTXTX7.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
  1077. /package/dist/{x-V4NNNWRU.js.map → x-HGFAL3NY.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/flows/add.ts"],"sourcesContent":["/**\n * `add-node` and `add-side-effect`: emit a valid skeleton and splice it in.\n *\n * The point is not to save typing — it is that the skeleton is right. A node\n * needs a fresh UUID, an explicit `condition: null`, the correct `nodeData`\n * discriminator, and — for a widget — `form.external: null` rather than an\n * invented resource. A side effect needs `encryptedConfig: null` and no\n * `oauthProviderId` key at all. Every one of those is a rule the flow-builder\n * skill used to spend prose on, and each was a real defect when got wrong.\n *\n * Deliberately scoped to creating the skeleton. Copy, conditions, autofill and\n * the `ai` field stay hand-edited: they are judgement, and a flag-based API for\n * them would be worse than JSON.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { type FlowConfigStatus, flowCatalogEntry, flowCatalogTypes, flowNodeTriggers } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n flowDataPath,\n isUsableStepNameKey,\n readFlowTree,\n requestFlowInputCall,\n stepNameKey,\n walkNodes,\n writeFlowTree,\n} from \"./shared.ts\";\n\ntype AnyRecord = Record<string, unknown>;\n\nfunction unknownType(kind: \"node\" | \"side-effect\", type: string): never {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `No ${kind} type \"${type}\".`,\n fix: `Known types: ${flowCatalogTypes(kind).join(\", \")}. See: baker flows schema ${kind}`,\n },\n });\n process.exit(1);\n}\n\n/** Replace the catalog's `<placeholder>` strings with real values where we have them. */\nfunction concrete(skeleton: AnyRecord, replacements: Record<string, unknown>): AnyRecord {\n return { ...structuredClone(skeleton), ...replacements };\n}\n\n/**\n * Whether this name can be a step in this form, and why not when it cannot.\n *\n * Both answers are about the same fact: the name becomes a constant in the\n * form's generated `_query.ts` (`export const <KEY> = \"<node id>\";`), and\n * `flow-typed.mjs` writes it without checking either that it parses or that no\n * other step already produced it. So both failures land on a generated file\n * rather than on the name that caused them — one as a syntax error, one as\n * `Duplicate flow node name` — and `_query.ts` stops regenerating for the whole\n * form. A name is minted once, here, which makes here the only cheap place to\n * say so.\n *\n * Returns `null` when the name is fine.\n */\nexport function stepNameRefusal(nodes: readonly AnyRecord[], name: string): { message: string; fix: string } | null {\n const key = stepNameKey(name);\n if (!isUsableStepNameKey(key)) {\n return {\n message: `\"${name}\" cannot be a step name: it becomes the constant \\`${key || \"(empty)\"}\\`, which is not a valid identifier.`,\n fix: 'A step name becomes `export const <NAME> = …` in the form\\'s generated code, so it must start with a letter and hold only letters, digits, spaces and dashes. Try \"Your Details\" rather than \"1. Your details\".',\n };\n }\n const clash = nodes.find((node) => typeof node.name === \"string\" && stepNameKey(node.name) === key);\n if (!clash) return null;\n return {\n message: `This form already has a step named \"${clash.name}\", which collides with \"${name}\".`,\n fix: `Both become the constant \\`${key}\\`, and the form's generated code cannot hold it twice. Pick a name that differs by more than case, spacing or punctuation.`,\n };\n}\n\nregisterSchema({\n command: \"flows.add-node\",\n description:\n \"Add a step to a form with a valid skeleton — fresh UUID, explicit condition, correct nodeData discriminator, and form.external:null for a widget. Author its copy and conditions afterwards by editing _data.json.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n type: { type: \"string\", description: \"Node type (see: baker flows schema node)\", required: true },\n name: { type: \"string\", description: \"Step name — unique, Title Case\", required: true },\n parent: { type: \"string\", description: \"Parent node id. Omit to append to the root's children.\", required: false },\n },\n});\n\nexport const addNodeCommand = defineCommand({\n meta: {\n name: \"add-node\",\n description:\n 'Add a step to a form, with the skeleton its type requires. Example: baker flows add-node contact --type customForm --name \"Contact Info\"',\n },\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n type: { type: \"string\", description: \"Node type\", required: true },\n name: { type: \"string\", description: \"Step name — unique, Title Case\", required: true },\n parent: { type: \"string\", description: \"Parent node id (default: the root)\" },\n },\n run: ({ args }) => {\n const slug = String(args.slug);\n const type = String(args.type);\n // Trimmed before anything reads it, because the generator does not trim:\n // ` Contact Info ` becomes the constant `_CONTACT_INFO_`, which is legal,\n // permanent, and not what anyone typed.\n const name = String(args.name).trim();\n const entry = flowCatalogEntry(\"node\", type) ?? unknownType(\"node\", type);\n\n const tree = readFlowTree(slug);\n const nodes = walkNodes(tree);\n\n const refusal = stepNameRefusal(nodes, name);\n if (refusal) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: refusal.message.replace(\"This form\", `\"${slug}\"`),\n fix: refusal.fix,\n },\n });\n process.exit(1);\n }\n\n const parent = args.parent ? nodes.find((node) => node.id === String(args.parent)) : tree;\n if (!parent) {\n writeJson({\n ok: false,\n error: {\n code: \"NOT_FOUND\",\n message: `No node with id \"${args.parent}\" in \"${slug}\".`,\n fix: `Nodes in this form: ${nodes.map((node) => `${node.id} (${node.name})`).join(\", \")}`,\n },\n });\n process.exit(1);\n }\n\n const node = concrete(entry.skeleton, { id: randomUUID(), name });\n if (!Array.isArray(parent.children)) parent.children = [];\n (parent.children as AnyRecord[]).push(node);\n writeFlowTree(slug, tree);\n\n writeJson({\n ok: true,\n data: { slug, nodeId: node.id, type, parentId: parent.id ?? null, path: flowDataPath(slug) },\n hints: [\n `Now fill in this step's \\`ai\\` field and its copy by editing ${flowDataPath(slug)}.`,\n // Said on every step added, because the moment a Form's shape changes\n // is the moment its outcome can move — and a Form nobody named an\n // outcome for reports zero conversions rather than an error.\n `Say what this Form counts before you finish: \\`baker analytics conversions --flow ${slug}\\` lists every ending already spelled as an event key, including this step's. Nothing in _data.json decides it.`,\n ...(entry.owners?.[\"nodeData.form.external\"] === \"request_flow_input\"\n ? [\n `Pick this ${type} step's resource: ${requestFlowInputCall(slug, pendingItem(\"node\", String(node.id), type))}.`,\n ]\n : []),\n ...(entry.gotcha ? [entry.gotcha] : []),\n ],\n });\n },\n});\n\n/**\n * The `triggerId` a side effect on this step has to carry.\n *\n * This is the one field on a side effect that is decided by its STEP rather\n * than by its own type, and getting it wrong is silent in every direction:\n * `fireSideEffects` filters on `triggerId` equality, so a mismatch means the\n * side effect never runs — no error, no log, nothing half-written. Every\n * validator in the repo passes, because the file is valid; it just does nothing.\n *\n * Taking the skeleton's default was that failure. `SIDE_EFFECT_ENVELOPE` carries\n * `customForm.onFormSubmitted`, which is right for a `customForm` step and wrong\n * for the five widget types that raise an id of their own — so the command that\n * exists to emit a skeleton the agent cannot get wrong emitted a dead side\n * effect on any booking or embedded-form step.\n */\nexport type TriggerChoice = { ok: true; triggerId: string } | { ok: false; message: string; fix: string };\n\nexport function resolveTrigger(node: AnyRecord, requested: string | undefined): TriggerChoice {\n const triggers = flowNodeTriggers(node.nodeData);\n const where = `Step \"${String(node.name ?? node.id)}\"${triggers.type ? ` (a ${triggers.type} step)` : \"\"}`;\n const raises = triggers.available.length > 0 ? `It raises: ${triggers.available.join(\", \")}.` : (triggers.why ?? \"\");\n const no = (message: string, fix: string): TriggerChoice => ({ ok: false, message, fix });\n\n // A node type the table does not cover is a table that has fallen behind, not\n // a form that is wrong — so an explicit trigger is taken at its word there.\n // Refusing instead would let a stale table reject a form the engine handles.\n if (!triggers.known) {\n return requested\n ? { ok: true, triggerId: requested }\n : no(`${where} is not a node type this command knows, so --trigger is required.`, triggers.why ?? \"\");\n }\n\n if (requested) {\n return triggers.available.includes(requested)\n ? { ok: true, triggerId: requested }\n : no(\n `${where} never raises \\`${requested}\\`, so a side effect carrying it would be written, pass every check, and never run.`,\n raises,\n );\n }\n\n return triggers.completion\n ? { ok: true, triggerId: triggers.completion }\n : no(`${where} has no trigger a side effect can answer.`, raises);\n}\n\n/**\n * The first `se-{type}-{n}` nobody is using.\n *\n * Counting the same-type side effects instead was wrong whenever the numbering\n * had a gap — a form holding `se-hubspotForm-1` and `se-hubspotForm-3`, or one\n * where `se-meta-1` was deleted and `se-meta-2` left behind. The count then\n * names an id that already exists and the command refuses, which is the one\n * outcome a skeleton-minting command should never produce for a form it can see\n * in full.\n */\nexport function freeSideEffectId(type: string, taken: ReadonlySet<string>): string {\n for (let n = 1; ; n++) {\n const candidate = `se-${type}-${n}`;\n if (!taken.has(candidate)) return candidate;\n }\n}\n\n/**\n * The pixel already reporting this step's moment to the same platform, if any.\n *\n * Only pixel types (those fed a tag ref) can double-count: two emails or two\n * CRMs on one step are a real need.\n */\nexport function sameTrackingSideEffect(node: AnyRecord, type: string, triggerId: string): AnyRecord | null {\n if (flowCatalogEntry(\"side-effect\", type)?.owners?.tagIds !== \"tags\") return null;\n const effects = Array.isArray(node.sideEffects) ? (node.sideEffects as unknown[]) : [];\n for (const raw of effects) {\n const effect = raw as AnyRecord | null;\n if (effect?.type === type && effect.triggerId === triggerId) return effect;\n }\n return null;\n}\n\n/**\n * What a second pixel of one platform on one moment must not repeat.\n *\n * Two chats each wired GA4 `generate_lead` onto one submit and every lead\n * counted twice — but GA4 `sign_up` beside it is a second conversion, and the\n * skeleton added here has no event yet. So this warns instead of refusing;\n * the same event to the same tag is refused by the Form check at verify.\n */\nexport function secondPixelHint(node: AnyRecord, type: string, triggerId: string): string | null {\n const already = sameTrackingSideEffect(node, type, triggerId);\n if (!already) return null;\n const event = typeof already.eventName === \"string\" ? ` with event \"${already.eventName}\"` : \"\";\n return `\"${String(node.name ?? node.id)}\" already reports \\`${triggerId}\\` to ${type} as \"${String(already.id)}\"${event}. Give this one a different event; to change that conversion, edit \"${String(already.id)}\" and delete this one — the same event to the same tag counts every conversion twice.`;\n}\n\n/** The one row `requestFlowInputCall` needs, for an item this command just added unconfigured. */\nfunction pendingItem(\n target: \"node\" | \"sideEffect\",\n nodeId: string,\n kind: string,\n sideEffectId?: string,\n): FlowConfigStatus {\n return {\n target,\n nodeId,\n kind,\n status: `${kind} — not configured`,\n needsInput: true,\n ...(sideEffectId ? { sideEffectId } : {}),\n };\n}\n\nfunction configureHints(slug: string, nodeId: string, id: string, type: string, needsCard: boolean): string[] {\n if (!needsCard) return [];\n return [\n `Configure it: ${requestFlowInputCall(slug, pendingItem(\"sideEffect\", nodeId, type, id))}. Read the destination off that call's result.`,\n ];\n}\n\nregisterSchema({\n command: \"flows.add-side-effect\",\n description:\n \"Add a side effect to a step with a valid skeleton — encryptedConfig:null for a CRM, a tagIds slot for a pixel, and no oauthProviderId key. Then set where it sends with `baker flows connect` (an email: --email/--subject, written by you); only a typed secret goes to request_flow_input.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n node: { type: \"string\", description: \"Id of the step that fires it\", required: true },\n type: { type: \"string\", description: \"Side-effect type (see: baker flows schema side-effect)\", required: true },\n id: { type: \"string\", description: \"Side-effect id. Defaults to se-{type}-{n}.\", required: false },\n trigger: {\n type: \"string\",\n description:\n \"triggerId. Defaults to the moment the step named by --node completes, which is a different id per node type. Pass this only for a non-completion moment (a HubSpot form's onFormReady, a Calendly page view, one of several iframe events); an id the step never raises is refused.\",\n required: false,\n },\n },\n});\n\nexport const addSideEffectCommand = defineCommand({\n meta: {\n name: \"add-side-effect\",\n description:\n \"Add a side effect to a step, with the skeleton its type requires. Example: baker flows add-side-effect contact --node <id> --type googleSpreadsheet\",\n },\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n node: { type: \"string\", description: \"Id of the step that fires it\", required: true },\n type: { type: \"string\", description: \"Side-effect type\", required: true },\n id: { type: \"string\", description: \"Side-effect id (default se-{type}-{n})\" },\n trigger: {\n type: \"string\",\n description: \"triggerId, for a non-completion moment. Default: whatever the step named by --node raises\",\n },\n },\n run: ({ args }) => {\n const slug = String(args.slug);\n const type = String(args.type);\n const entry = flowCatalogEntry(\"side-effect\", type) ?? unknownType(\"side-effect\", type);\n\n const tree = readFlowTree(slug);\n const nodes = walkNodes(tree);\n const node = nodes.find((candidate) => candidate.id === String(args.node));\n if (!node) {\n writeJson({\n ok: false,\n error: {\n code: \"NOT_FOUND\",\n message: `No node with id \"${args.node}\" in \"${slug}\".`,\n fix: `Nodes in this form: ${nodes.map((candidate) => `${candidate.id} (${candidate.name})`).join(\", \")}`,\n },\n });\n process.exit(1);\n }\n\n if (!Array.isArray(node.sideEffects)) node.sideEffects = [];\n const existing = node.sideEffects as AnyRecord[];\n const takenIds = new Set(\n nodes.flatMap((n) => ((n.sideEffects as AnyRecord[] | undefined) ?? []).map((se) => String(se?.id ?? \"\"))),\n );\n const id = args.id ? String(args.id) : freeSideEffectId(type, takenIds);\n\n // Only an id the caller chose can still collide — the generated one is free\n // by construction.\n if (takenIds.has(id)) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: `\"${slug}\" already has a side effect with id \"${id}\".`,\n fix: `Drop --id to be given a free one (${freeSideEffectId(type, takenIds)}), or pick another.`,\n },\n });\n process.exit(1);\n }\n\n const trigger = resolveTrigger(node, args.trigger ? String(args.trigger) : undefined);\n if (!trigger.ok) {\n writeJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: trigger.message, ...(trigger.fix ? { fix: trigger.fix } : {}) },\n });\n process.exit(1);\n }\n const triggerId = trigger.triggerId;\n\n const secondPixel = secondPixelHint(node, type, triggerId);\n\n const sideEffect = concrete(entry.skeleton, { id, triggerId });\n existing.push(sideEffect);\n writeFlowTree(slug, tree);\n\n const needsUser = Object.entries(entry.owners ?? {}).filter(([, owner]) => owner !== \"agent\");\n writeJson({\n ok: true,\n data: { slug, nodeId: node.id, sideEffectId: id, type, triggerId, path: flowDataPath(slug) },\n hints: [\n `Fires on \\`${triggerId}\\` — the moment \"${String(node.name ?? node.id)}\" raises. A side effect only runs when its triggerId is the one its own step raises, so this is set from the step, never from the side-effect type.`,\n // A pixel side effect is the thing most often mistaken for \"setting the\n // conversion\". It tells the ad platform; it tells Baker nothing, and a\n // Form can fire every pixel it has while every Baker report says it\n // converted nobody.\n ...(needsUser.some(([, owner]) => owner === \"tags\")\n ? [\n `This reports the conversion to ${type}. It does NOT make Baker count anything: what Baker counts is a named event, set with \\`baker analytics conversions --flow ${slug}\\`. Do both — they are two different systems asked the same question.`,\n ]\n : []),\n ...(secondPixel ? [secondPixel] : []),\n ...configureHints(\n slug,\n String(node.id),\n id,\n type,\n needsUser.some(([, owner]) => owner === \"request_flow_input\" || owner === \"connect\"),\n ),\n ...(needsUser.some(([, owner]) => owner === \"tags\")\n ? [\n \"Fill `tagIds` with a real ref from `baker tags list`, or stage the tag first with the `tags` skill. Never invent one.\",\n ]\n : []),\n ...(entry.gotcha ? [entry.gotcha] : []),\n ],\n });\n },\n});\n"],"mappings":"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","names":["node"]}
@@ -0,0 +1,48 @@
1
+ import "./chunk-YQSBHWOI.js";
2
+
3
+ // src/commands/ads/index.ts
4
+ import { defineCommand } from "citty";
5
+ var adsCommand = defineCommand({
6
+ meta: {
7
+ name: "ads",
8
+ description: `Ad platform commands. Each platform exposes its own native command surface \u2014 no forced parity.
9
+
10
+ Platforms:
11
+ google \u2014 Google Ads (GAQL queries, keywords, accounts, ad library)
12
+ meta \u2014 Meta Ads (campaigns, adsets, ads, insights, previews)
13
+ linkedin \u2014 LinkedIn Ads (firmographic analytics \u2014 job-title \xD7 company \xD7 industry \xD7 seniority pivots)
14
+ x \u2014 X (Twitter) Ads (campaigns, line items, promoted tweets, analytics)
15
+ chatgpt \u2014 ChatGPT Ads (account, campaigns, ad groups, ads, insights \u2014 read-only)
16
+ terms \u2014 which platform terms an ad account has accepted (customer lists, lead forms, \u2026) and how to accept the rest
17
+
18
+ Across platforms:
19
+ performance \u2014 Baker's stored copy of every connected platform's results, changes and alerts (no platform call). Start here for "how are the ads doing".
20
+
21
+ Examples:
22
+ baker ads performance overview
23
+ baker ads google accounts
24
+ baker ads google query --preset campaign-performance --customer-id 1234567890
25
+ baker ads meta accounts
26
+ baker ads meta campaigns --account-id act_123 --effective-status ACTIVE
27
+ baker ads meta insights --object act_123 --level ad --date-preset last_7d --fields impressions,spend,ctr
28
+ baker ads linkedin accounts
29
+ baker ads x accounts
30
+ baker ads x stats sync --preset campaign-engagement-7d --entity-ids abc,def
31
+ baker ads chatgpt insights --days 30 --granularity daily
32
+ baker ads terms --platform google --account-id 1234567890
33
+ Full guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedin|x|chatgpt|performance|terms)`
34
+ },
35
+ subCommands: {
36
+ google: () => import("./google-M6BJ22UL.js").then((m) => m.googleCommand),
37
+ meta: () => import("./meta-IPLWNYC7.js").then((m) => m.metaCommand),
38
+ linkedin: () => import("./linkedin-55PAID62.js").then((m) => m.linkedinCommand),
39
+ x: () => import("./x-HGFAL3NY.js").then((m) => m.xCommand),
40
+ chatgpt: () => import("./chatgpt-OPOD2WHB.js").then((m) => m.chatgptCommand),
41
+ performance: () => import("./performance-T6TBVHVU.js").then((m) => m.performanceCommand),
42
+ terms: () => import("./terms-O6ODXEOK.js").then((m) => m.termsCommand)
43
+ }
44
+ });
45
+ export {
46
+ adsCommand
47
+ };
48
+ //# sourceMappingURL=ads-HLUJB5SQ.js.map
@@ -0,0 +1,115 @@
1
+ import {
2
+ META_LIST_SHAPE_ARGS,
3
+ registerMetaListSchema,
4
+ shapeMetaListRows,
5
+ writeMetaListRows
6
+ } from "./chunk-KUY26RCF.js";
7
+ import {
8
+ NAME_CONTAINS_ARG,
9
+ csvOrJson,
10
+ handleMetaError,
11
+ resolveAccountIdArg,
12
+ resolveEffectiveStatus,
13
+ statusFilterHints
14
+ } from "./chunk-B2POVFR2.js";
15
+ import "./chunk-Y2JZX6JB.js";
16
+ import "./chunk-ZRP7Y2DM.js";
17
+ import {
18
+ NO_CACHE_ARG
19
+ } from "./chunk-AGBBTTKA.js";
20
+ import "./chunk-65Y3RCWP.js";
21
+ import {
22
+ apiGet
23
+ } from "./chunk-X7VQFLHI.js";
24
+ import "./chunk-LU4HI4KI.js";
25
+ import "./chunk-LGK7UWBN.js";
26
+ import "./chunk-Q7US4OOA.js";
27
+ import "./chunk-YQSBHWOI.js";
28
+
29
+ // src/commands/ads/meta/ads.ts
30
+ import { defineCommand } from "citty";
31
+ var listArgs = {
32
+ "account-id": { type: "string", description: "Meta ad account ID" },
33
+ "adset-id": { type: "string", description: "Filter to one adset" },
34
+ "campaign-id": { type: "string", description: "Filter to one campaign" },
35
+ "effective-status": { type: "string", description: "Comma-separated effective_status filter (overrides default)" },
36
+ "all-statuses": { type: "boolean", description: "Drop the default ACTIVE filter" },
37
+ "name-contains": NAME_CONTAINS_ARG,
38
+ limit: { type: "string", description: "Max rows (default 1000)" },
39
+ "no-cache": NO_CACHE_ARG,
40
+ ...META_LIST_SHAPE_ARGS
41
+ };
42
+ registerMetaListSchema(
43
+ "ads",
44
+ "List ads in a Meta ad account, as a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues (why an ad is WITH_ISSUES), created_time. Start here: baker ads meta ads --adset-id 6123. --fields takes dotted paths (e.g. id,tracking_specs); --full returns every field Meta sent; --output json returns the rows in the envelope.",
45
+ listArgs
46
+ );
47
+ var listCommand = defineCommand({
48
+ meta: {
49
+ name: "list",
50
+ description: "List ads in a Meta ad account. Runs by default when no subcommand is given. Example: baker ads meta ads --account-id act_123"
51
+ },
52
+ args: listArgs,
53
+ run: async ({ args }) => {
54
+ const accountId = resolveAccountIdArg(args);
55
+ const effectiveStatus = resolveEffectiveStatus(args);
56
+ try {
57
+ const params = { "account-id": accountId };
58
+ if (args["adset-id"]) params["adset-id"] = args["adset-id"];
59
+ if (args["campaign-id"]) params["campaign-id"] = args["campaign-id"];
60
+ if (effectiveStatus) params["effective-status"] = effectiveStatus;
61
+ if (args["name-contains"]) params["name-contains"] = args["name-contains"];
62
+ if (args.limit) params.limit = args.limit;
63
+ if (args["no-cache"]) params["skip-cache"] = "true";
64
+ const data = await apiGet("/api/ads/meta/ads", params);
65
+ const shaped = shapeMetaListRows("ads", data, args);
66
+ writeMetaListRows("ads", shaped, csvOrJson(args), statusFilterHints(data, effectiveStatus, "ads"));
67
+ } catch (err) {
68
+ handleMetaError(err);
69
+ }
70
+ }
71
+ });
72
+ var adsListCommand = defineCommand({
73
+ meta: {
74
+ name: "ads",
75
+ description: `List ads in a Meta ad account, or stage writes (create/update/pause/resume/archive/delete/duplicate/copy/retag).
76
+ Defaults to ACTIVE only \u2014 pass --all-statuses to widen. Write subcommands stage ops on this chat's draft.
77
+
78
+ The dashboard shows effective_status (e.g. WITH_ISSUES, PENDING_REVIEW, DISAPPROVED, ADSET_PAUSED), not status.
79
+
80
+ Listings print a table by default: id, name, adset_id, campaign_id, effective_status, creative_id, issues
81
+ (why an ad is WITH_ISSUES), created_time. --fields takes dotted paths (e.g. tracking_specs,
82
+ preview_shareable_link); --full returns every field; --output json returns the rows as JSON.
83
+
84
+ Examples:
85
+ baker ads meta ads --account-id act_123
86
+ baker ads meta ads --adset-id 6123
87
+ baker ads meta ads --account-id act_123 --all-statuses --name-contains octubre --fields id,name,adset_id,creative_id \u2014 find one ad by name
88
+ baker ads meta ads --adset-id 6123 --fields id,name,preview_shareable_link
89
+ baker ads meta ads create --name "Ad 1" --adset meta_temp_as01 --creative meta_temp_cr01
90
+ baker ads meta ads pause 6123 --account-id act_123
91
+ baker ads meta ads retag 6123 --set "utm_medium=paid-social" \u2014 fix tracking on a LIVE ad, keeping everything else`
92
+ },
93
+ subCommands: {
94
+ list: listCommand,
95
+ create: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsCreateCommand),
96
+ update: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsUpdateCommand),
97
+ pause: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsPauseCommand),
98
+ resume: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsResumeCommand),
99
+ archive: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsArchiveCommand),
100
+ delete: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsDeleteCommand),
101
+ duplicate: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsDuplicateCommand),
102
+ copy: () => import("./copy-writes-CIHIFLY6.js").then((m) => m.adsCopyCommand),
103
+ retag: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adsRetagCommand)
104
+ },
105
+ // `args` stays even though the parent has no `run`: citty scans rawArgs for the
106
+ // subcommand name using THIS command's arg defs, so without them `--account-id act_1`
107
+ // would read `act_1` as a subcommand. `default` (not `run`) dispatches the bare
108
+ // invocation — citty falls through to `run` after a subcommand, double-executing it.
109
+ args: listArgs,
110
+ default: "list"
111
+ });
112
+ export {
113
+ adsListCommand
114
+ };
115
+ //# sourceMappingURL=ads-MAOI7S6V.js.map
@@ -0,0 +1,79 @@
1
+ import {
2
+ CHATGPT_ADS_REFERENCE,
3
+ runChatgptListRead
4
+ } from "./chunk-GW2WRZZA.js";
5
+ import "./chunk-ZRP7Y2DM.js";
6
+ import "./chunk-SOPVIIUW.js";
7
+ import "./chunk-G4FG5EQO.js";
8
+ import "./chunk-X7VQFLHI.js";
9
+ import "./chunk-LU4HI4KI.js";
10
+ import "./chunk-LGK7UWBN.js";
11
+ import {
12
+ registerSchema
13
+ } from "./chunk-Q7US4OOA.js";
14
+ import "./chunk-YQSBHWOI.js";
15
+
16
+ // src/commands/ads/chatgpt/ads.ts
17
+ import { defineCommand } from "citty";
18
+ var args = {
19
+ "ad-group-id": { type: "string", description: "Only this ad group's ads (adgrp_\u2026)", required: false },
20
+ full: { type: "boolean", description: "Return ChatGPT Ads' own ad objects", required: false }
21
+ };
22
+ registerSchema({
23
+ command: "ads.chatgpt.ads",
24
+ description: "Ads in the connected ChatGPT Ads account, or in one ad group: the card's title, body, image and destination, its review outcome and reason, and serving issues.",
25
+ args
26
+ });
27
+ function adHints(ads) {
28
+ const rejected = ads.filter((ad) => ad.review === "rejected");
29
+ return rejected.length > 0 ? [
30
+ `${rejected.length} ad(s) were rejected in review; reviewReason says why. Editing the creative sends it back to review.`
31
+ ] : [];
32
+ }
33
+ var adsListCommand = defineCommand({
34
+ meta: { name: "list", description: "ChatGPT Ads chat cards. Example: baker ads chatgpt ads --ad-group-id adgrp_123" },
35
+ args,
36
+ run: async ({ args: input }) => {
37
+ const params = {};
38
+ if (input["ad-group-id"]) {
39
+ params["ad-group-id"] = input["ad-group-id"];
40
+ }
41
+ if (input.full) {
42
+ params.full = "true";
43
+ }
44
+ await runChatgptListRead(
45
+ CHATGPT_ADS_REFERENCE.ads,
46
+ "/api/ads/chatgpt/ads",
47
+ params,
48
+ (ads) => input.full ? [] : adHints(ads)
49
+ );
50
+ }
51
+ });
52
+ var adsCommand = defineCommand({
53
+ meta: {
54
+ name: "ads",
55
+ description: `ChatGPT Ads ads (chat cards): copy, image, destination and review status \u2014 or stage a change that applies when the chat is published.
56
+
57
+ Examples:
58
+ baker ads chatgpt ads --ad-group-id adgrp_123
59
+ baker ads chatgpt ads create --ad-group-id adgrp_123 --name "Card A" --title "\u2026" --body "\u2026" --target-url https://\u2026 --image-url https://\u2026
60
+ baker ads chatgpt ads update ad_123 --title "Solar with no upfront cost"
61
+ baker ads chatgpt ads pause ad_123`
62
+ },
63
+ subCommands: {
64
+ list: adsListCommand,
65
+ create: () => import("./ad-writes-3UE3U7VE.js").then((m) => m.adsCreateCommand),
66
+ update: () => import("./ad-writes-3UE3U7VE.js").then((m) => m.adsUpdateCommand),
67
+ pause: () => import("./ad-writes-3UE3U7VE.js").then((m) => m.adsPauseCommand),
68
+ resume: () => import("./ad-writes-3UE3U7VE.js").then((m) => m.adsResumeCommand),
69
+ archive: () => import("./ad-writes-3UE3U7VE.js").then((m) => m.adsArchiveCommand),
70
+ "create-product": () => import("./ad-writes-3UE3U7VE.js").then((m) => m.adsCreateProductCommand)
71
+ },
72
+ // A parent must never declare `run`: citty falls through to it after the matched subcommand.
73
+ args,
74
+ default: "list"
75
+ });
76
+ export {
77
+ adsCommand
78
+ };
79
+ //# sourceMappingURL=ads-PYNDMHUD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/chatgpt/ads.ts"],"sourcesContent":["import type { ChatgptAdsAd } from \"@baker/api/ads-chatgpt\";\nimport { defineCommand } from \"citty\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { CHATGPT_ADS_REFERENCE, runChatgptListRead } from \"./shared.ts\";\n\nconst args = {\n \"ad-group-id\": { type: \"string\", description: \"Only this ad group's ads (adgrp_…)\", required: false },\n full: { type: \"boolean\", description: \"Return ChatGPT Ads' own ad objects\", required: false },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.ads\",\n description:\n \"Ads in the connected ChatGPT Ads account, or in one ad group: the card's title, body, image and destination, its review outcome and reason, and serving issues.\",\n args,\n});\n\nfunction adHints(ads: ChatgptAdsAd[]): string[] {\n const rejected = ads.filter((ad) => ad.review === \"rejected\");\n return rejected.length > 0\n ? [\n `${rejected.length} ad(s) were rejected in review; reviewReason says why. Editing the creative sends it back to review.`,\n ]\n : [];\n}\n\nconst adsListCommand = defineCommand({\n meta: { name: \"list\", description: \"ChatGPT Ads chat cards. Example: baker ads chatgpt ads --ad-group-id adgrp_123\" },\n args,\n run: async ({ args: input }) => {\n const params: Record<string, string> = {};\n if (input[\"ad-group-id\"]) {\n params[\"ad-group-id\"] = input[\"ad-group-id\"];\n }\n if (input.full) {\n params.full = \"true\";\n }\n await runChatgptListRead<ChatgptAdsAd[]>(CHATGPT_ADS_REFERENCE.ads, \"/api/ads/chatgpt/ads\", params, (ads) =>\n input.full ? [] : adHints(ads),\n );\n },\n});\n\nexport const adsCommand = defineCommand({\n meta: {\n name: \"ads\",\n description: `ChatGPT Ads ads (chat cards): copy, image, destination and review status — or stage a change that applies when the chat is published.\n\nExamples:\n baker ads chatgpt ads --ad-group-id adgrp_123\n baker ads chatgpt ads create --ad-group-id adgrp_123 --name \"Card A\" --title \"…\" --body \"…\" --target-url https://… --image-url https://…\n baker ads chatgpt ads update ad_123 --title \"Solar with no upfront cost\"\n baker ads chatgpt ads pause ad_123`,\n },\n subCommands: {\n list: adsListCommand,\n create: () => import(\"./ad-writes.ts\").then((m) => m.adsCreateCommand),\n update: () => import(\"./ad-writes.ts\").then((m) => m.adsUpdateCommand),\n pause: () => import(\"./ad-writes.ts\").then((m) => m.adsPauseCommand),\n resume: () => import(\"./ad-writes.ts\").then((m) => m.adsResumeCommand),\n archive: () => import(\"./ad-writes.ts\").then((m) => m.adsArchiveCommand),\n \"create-product\": () => import(\"./ad-writes.ts\").then((m) => m.adsCreateProductCommand),\n },\n // A parent must never declare `run`: citty falls through to it after the matched subcommand.\n args,\n default: \"list\",\n});\n"],"mappings":";;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAI9B,IAAM,OAAO;AAAA,EACX,eAAe,EAAE,MAAM,UAAU,aAAa,2CAAsC,UAAU,MAAM;AAAA,EACpG,MAAM,EAAE,MAAM,WAAW,aAAa,sCAAsC,UAAU,MAAM;AAC9F;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF;AACF,CAAC;AAED,SAAS,QAAQ,KAA+B;AAC9C,QAAM,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,WAAW,UAAU;AAC5D,SAAO,SAAS,SAAS,IACrB;AAAA,IACE,GAAG,SAAS,MAAM;AAAA,EACpB,IACA,CAAC;AACP;AAEA,IAAM,iBAAiB,cAAc;AAAA,EACnC,MAAM,EAAE,MAAM,QAAQ,aAAa,iFAAiF;AAAA,EACpH;AAAA,EACA,KAAK,OAAO,EAAE,MAAM,MAAM,MAAM;AAC9B,UAAM,SAAiC,CAAC;AACxC,QAAI,MAAM,aAAa,GAAG;AACxB,aAAO,aAAa,IAAI,MAAM,aAAa;AAAA,IAC7C;AACA,QAAI,MAAM,MAAM;AACd,aAAO,OAAO;AAAA,IAChB;AACA,UAAM;AAAA,MAAmC,sBAAsB;AAAA,MAAK;AAAA,MAAwB;AAAA,MAAQ,CAAC,QACnG,MAAM,OAAO,CAAC,IAAI,QAAQ,GAAG;AAAA,IAC/B;AAAA,EACF;AACF,CAAC;AAEM,IAAM,aAAa,cAAc;AAAA,EACtC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOf;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,QAAQ,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACrE,QAAQ,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACrE,OAAO,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,IACnE,QAAQ,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACrE,SAAS,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB;AAAA,IACvE,kBAAkB,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,uBAAuB;AAAA,EACxF;AAAA;AAAA,EAEA;AAAA,EACA,SAAS;AACX,CAAC;","names":[]}
@@ -0,0 +1,182 @@
1
+ import {
2
+ VIEWER_TABLE_COLUMNS,
3
+ adSetViewerRows,
4
+ audienceNamesOf,
5
+ flattenViewerRows,
6
+ readAudienceNames
7
+ } from "./chunk-G6XKD7QE.js";
8
+ import {
9
+ META_LIST_SHAPE_ARGS,
10
+ budgetUnitHints,
11
+ registerMetaListSchema,
12
+ shapeMetaListRows,
13
+ writeMetaListRows
14
+ } from "./chunk-KUY26RCF.js";
15
+ import {
16
+ NAME_CONTAINS_ARG,
17
+ csvOrJson,
18
+ handleMetaError,
19
+ resolveAccountIdArg,
20
+ resolveEffectiveStatus,
21
+ statusFilterHints
22
+ } from "./chunk-B2POVFR2.js";
23
+ import {
24
+ rememberedJev
25
+ } from "./chunk-QPESDKZC.js";
26
+ import "./chunk-Y2JZX6JB.js";
27
+ import {
28
+ writeAdsOutput
29
+ } from "./chunk-ZRP7Y2DM.js";
30
+ import {
31
+ holdUnbilledSpend
32
+ } from "./chunk-E44NXCTL.js";
33
+ import {
34
+ findWorkspaceRoot
35
+ } from "./chunk-EJGAJHLB.js";
36
+ import {
37
+ NO_CACHE_ARG
38
+ } from "./chunk-AGBBTTKA.js";
39
+ import "./chunk-2WZI36D3.js";
40
+ import "./chunk-65Y3RCWP.js";
41
+ import "./chunk-LNNTHEL7.js";
42
+ import "./chunk-FOMFU2RX.js";
43
+ import "./chunk-PSGIHSNC.js";
44
+ import "./chunk-PONLPYD7.js";
45
+ import {
46
+ apiGet
47
+ } from "./chunk-X7VQFLHI.js";
48
+ import "./chunk-LU4HI4KI.js";
49
+ import "./chunk-LGK7UWBN.js";
50
+ import "./chunk-Q7US4OOA.js";
51
+ import "./chunk-YQSBHWOI.js";
52
+
53
+ // src/commands/ads/meta/adsets.ts
54
+ import path from "path";
55
+ import { defineCommand } from "citty";
56
+ var listArgs = {
57
+ "account-id": { type: "string", description: "Meta ad account ID" },
58
+ "campaign-id": { type: "string", description: "Filter to one campaign" },
59
+ "effective-status": { type: "string", description: "Comma-separated effective_status filter (overrides default)" },
60
+ "all-statuses": { type: "boolean", description: "Drop the default ACTIVE filter" },
61
+ "name-contains": NAME_CONTAINS_ARG,
62
+ limit: { type: "string", description: "Max rows (default 1000)" },
63
+ "no-cache": NO_CACHE_ARG,
64
+ audience: {
65
+ type: "boolean",
66
+ description: "Who each ad set reaches, instead of the compact row: a viewer per ad set \u2014 temperature (cold|warm|hot), what they already know (brand/offer/product), placements, and the reasons, read from its targeting, the account's audiences and the campaign objective. Start here before writing an ad for an ad set: baker ads meta adsets --campaign-id 6123 --audience --output json"
67
+ },
68
+ ...META_LIST_SHAPE_ARGS
69
+ };
70
+ async function readOrEmpty(path2, params, label, hints) {
71
+ try {
72
+ return await apiGet(path2, params);
73
+ } catch (err) {
74
+ const message = err instanceof Error ? err.message : "unknown error";
75
+ hints.push(`Could not read the account's ${label} (${message}); the viewer was read without them.`);
76
+ return [];
77
+ }
78
+ }
79
+ async function writeAdSetViewers(adSets, accountParams, format, hints) {
80
+ const [audiences, campaigns] = await Promise.all([
81
+ readOrEmpty("/api/ads/meta/audiences", accountParams, "audiences", hints),
82
+ readOrEmpty("/api/ads/meta/campaigns", accountParams, "campaigns", hints)
83
+ ]);
84
+ const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
85
+ const cacheDir = path.join(root, "canvas", ".cache");
86
+ const spent = [];
87
+ const readName = await readAudienceNames(
88
+ audienceNamesOf(adSets, audiences),
89
+ rememberedJev(path.join(cacheDir, "audience-names.json"), (u) => spent.push(u))
90
+ );
91
+ await holdUnbilledSpend(cacheDir, spent).catch(() => void 0);
92
+ const rows = adSetViewerRows(adSets, audiences, campaigns, readName);
93
+ if (rows.length > 0) {
94
+ hints.push(
95
+ `Write each ad for the viewer of the ad set it will run in, then record it in the creative's _definition.md: targetAdSet: "<ad set id>" and viewer: { temperature, knows, placements, source }.`
96
+ );
97
+ }
98
+ if (format === "md" || format === "csv") {
99
+ writeAdsOutput(flattenViewerRows(rows), format, [...VIEWER_TABLE_COLUMNS], hints);
100
+ return;
101
+ }
102
+ writeAdsOutput(rows, format, void 0, hints);
103
+ }
104
+ registerMetaListSchema(
105
+ "adsets",
106
+ "List ad sets in a Meta ad account, as a table by default: id, name, campaign_id, effective_status, optimization_goal, billing_event, bid_strategy, budgets, destination_type, is_dynamic_creative, learning_stage, end_time, created_time. Targeting is not in the compact row \u2014 ask for it with --fields id,name,targeting (or --full). --audience replaces the row with who each ad set reaches (a viewer: temperature, what they already know, placements, reasons) \u2014 read it before writing an ad for an ad set. Start here: baker ads meta adsets --campaign-id 6123 --all-statuses. --output json returns the rows in the envelope.",
107
+ listArgs
108
+ );
109
+ var listCommand = defineCommand({
110
+ meta: {
111
+ name: "list",
112
+ description: "List ad sets in a Meta ad account. Runs by default when no subcommand is given. Example: baker ads meta adsets --account-id act_123"
113
+ },
114
+ args: listArgs,
115
+ run: async ({ args }) => {
116
+ const accountId = resolveAccountIdArg(args);
117
+ const effectiveStatus = resolveEffectiveStatus(args);
118
+ try {
119
+ const params = { "account-id": accountId };
120
+ if (args["campaign-id"]) params["campaign-id"] = args["campaign-id"];
121
+ if (effectiveStatus) params["effective-status"] = effectiveStatus;
122
+ if (args["name-contains"]) params["name-contains"] = args["name-contains"];
123
+ if (args.limit) params.limit = args.limit;
124
+ if (args["no-cache"]) params["skip-cache"] = "true";
125
+ const data = await apiGet("/api/ads/meta/adsets", params);
126
+ if (args.audience) {
127
+ const hints = statusFilterHints(data, effectiveStatus, "ad sets");
128
+ const accountParams = { "account-id": accountId };
129
+ if (args["no-cache"]) accountParams["skip-cache"] = "true";
130
+ await writeAdSetViewers(data, accountParams, csvOrJson(args), hints);
131
+ return;
132
+ }
133
+ const shaped = shapeMetaListRows("adsets", data, args);
134
+ writeMetaListRows("adsets", shaped, csvOrJson(args), [
135
+ ...statusFilterHints(data, effectiveStatus, "ad sets"),
136
+ ...budgetUnitHints(data)
137
+ ]);
138
+ } catch (err) {
139
+ handleMetaError(err);
140
+ }
141
+ }
142
+ });
143
+ var adsetsCommand = defineCommand({
144
+ meta: {
145
+ name: "adsets",
146
+ description: `List ad sets in a Meta ad account, or stage writes (create/update/pause/resume/archive/delete/duplicate/copy).
147
+ Defaults to ACTIVE only. Write subcommands stage ops on this chat's draft.
148
+
149
+ Listings print a table by default: id, name, campaign_id, effective_status, optimization_goal, billing_event,
150
+ bid_strategy, budgets, destination_type, is_dynamic_creative, learning_stage, end_time, created_time. Targeting
151
+ is not in the compact row \u2014 ask for it with --fields (dotted paths) or --full. --output json returns the rows as JSON.
152
+
153
+ Examples:
154
+ baker ads meta adsets --account-id act_123
155
+ baker ads meta adsets --campaign-id 6123456789
156
+ baker ads meta adsets --account-id act_123 --all-statuses --name-contains retargeting \u2014 find one ad set by name
157
+ baker ads meta adsets --campaign-id 6123456789 --fields id,name,targeting.geo_locations
158
+ baker ads meta adsets --campaign-id 6123456789 --audience --output json \u2014 who each ad set reaches (viewer per ad set)
159
+ baker ads meta adsets create --campaign meta_temp_ab12 --name "US 25-54" --optimization-goal LINK_CLICKS --billing-event IMPRESSIONS --daily-budget 50 --targeting-file t.json`
160
+ },
161
+ subCommands: {
162
+ list: listCommand,
163
+ create: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adSetsCreateCommand),
164
+ update: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adSetsUpdateCommand),
165
+ pause: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adSetsPauseCommand),
166
+ resume: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adSetsResumeCommand),
167
+ archive: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adSetsArchiveCommand),
168
+ delete: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adSetsDeleteCommand),
169
+ duplicate: () => import("./write-commands-OGVDWWBV.js").then((m) => m.adSetsDuplicateCommand),
170
+ copy: () => import("./copy-writes-CIHIFLY6.js").then((m) => m.adSetsCopyCommand)
171
+ },
172
+ // `args` stays even though the parent has no `run`: citty scans rawArgs for the
173
+ // subcommand name using THIS command's arg defs, so without them `--account-id act_1`
174
+ // would read `act_1` as a subcommand. `default` (not `run`) dispatches the bare
175
+ // invocation — citty falls through to `run` after a subcommand, double-executing it.
176
+ args: listArgs,
177
+ default: "list"
178
+ });
179
+ export {
180
+ adsetsCommand
181
+ };
182
+ //# sourceMappingURL=adsets-QRKICEFD.js.map
@@ -0,0 +1,123 @@
1
+ import {
2
+ advertisersHints
3
+ } from "./chunk-AQRXXC6E.js";
4
+ import {
5
+ RESEARCH_DATA_NOTE,
6
+ handleResearchError,
7
+ writeResearchHints,
8
+ writeResearchJson,
9
+ writeResearchOutput
10
+ } from "./chunk-GSKZ3ZDO.js";
11
+ import {
12
+ buildResearchQueryContext,
13
+ warnDefaults
14
+ } from "./chunk-SG2TDQEE.js";
15
+ import "./chunk-44ZRCSR7.js";
16
+ import "./chunk-PC3FJEZH.js";
17
+ import "./chunk-CAZGM2NX.js";
18
+ import "./chunk-NZS3KEQ2.js";
19
+ import "./chunk-GIWHHCD6.js";
20
+ import "./chunk-SOPVIIUW.js";
21
+ import "./chunk-G4FG5EQO.js";
22
+ import "./chunk-NSBNIPIW.js";
23
+ import "./chunk-46YLDIQG.js";
24
+ import {
25
+ apiPost
26
+ } from "./chunk-X7VQFLHI.js";
27
+ import "./chunk-LU4HI4KI.js";
28
+ import "./chunk-LGK7UWBN.js";
29
+ import {
30
+ registerSchema
31
+ } from "./chunk-Q7US4OOA.js";
32
+ import "./chunk-YQSBHWOI.js";
33
+
34
+ // src/commands/research/advertisers.ts
35
+ import { defineCommand } from "citty";
36
+ registerSchema({
37
+ command: "research.advertisers",
38
+ description: 'Returns a ranked list of domains competing for one keyword in Google, with avg SERP position, relevance rating, estimated traffic value and visibility \u2014 domain economics, not ad copy. Despite the name it returns no headlines, descriptions or creative of any kind; for a competitor\'s actual ad copy use `baker research google-ads <competitor.com> --copy` (Google) or `baker winning-ads content <adId>` (Meta/LinkedIn). Start here: `baker research advertisers "<keyword>" --location <cc> --language <code>` to size up who owns a term. If --location and --language are omitted, defaults to United States (us) and English (en). The response includes a query_context object showing which location/language were used.',
39
+ args: {
40
+ keyword: {
41
+ type: "string",
42
+ description: "Keyword to search (positional). One search term, not a brand or a domain \u2014 this is a SERP query, not an advertiser lookup",
43
+ required: true
44
+ },
45
+ location: {
46
+ type: "string",
47
+ description: "Country code (us, uk, es, de...) or DataForSEO location code. Defaults to us (United States) if omitted \u2014 always set this for non-US markets",
48
+ required: false
49
+ },
50
+ language: {
51
+ type: "string",
52
+ description: "Language code or name (en, es, spanish...). Defaults to en (English) if omitted \u2014 always set this for non-English markets",
53
+ required: false
54
+ },
55
+ limit: { type: "string", description: "Max results (default: 20, max: 100)", required: false },
56
+ "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
57
+ }
58
+ });
59
+ var FIELDS = {
60
+ domain: "Competing domain (no ad copy is returned \u2014 see hints)",
61
+ avg_position: "Average SERP position (1 = top)",
62
+ rating: "Domain relevance rating (0-100)",
63
+ etv: "Estimated traffic value (USD)",
64
+ visibility: "SERP visibility score (0-1)"
65
+ };
66
+ var advertisersCommand = defineCommand({
67
+ meta: {
68
+ name: "advertisers",
69
+ description: `Domains competing for a keyword in Google SERPs, with position, relevance, traffic value and visibility. Returns NO ad copy \u2014 for a competitor's headlines and body copy use \`baker research google-ads <competitor.com> --copy\` (Google) or \`baker winning-ads content <adId>\` (Meta/LinkedIn).
70
+
71
+ Examples:
72
+ baker research advertisers "running shoes"
73
+ baker research advertisers "crm software" --location uk --limit 10
74
+ baker research advertisers "zapatos" --location es --language spanish`
75
+ },
76
+ args: {
77
+ keyword: { type: "positional", description: "Keyword to search", required: true },
78
+ location: { type: "string", description: "Country code or location code (default: us)", required: false },
79
+ language: { type: "string", description: "Language code or name (default: en)", required: false },
80
+ limit: { type: "string", description: "Max results (default: 20, max: 100)", required: false },
81
+ output: { type: "string", description: "Format: json|csv|md|jsonl", required: false, default: "json" },
82
+ "no-cache": { type: "boolean", description: "Skip server cache, hit API directly", required: false }
83
+ },
84
+ run: async ({ args }) => {
85
+ const keyword = args.keyword;
86
+ const location = args.location || void 0;
87
+ const language = args.language || void 0;
88
+ const limit = args.limit ? Number(args.limit) : void 0;
89
+ const skipCache = args["no-cache"] ? true : void 0;
90
+ const queryContext = buildResearchQueryContext(location, language);
91
+ try {
92
+ const data = await apiPost("/api/research/advertisers", {
93
+ keyword,
94
+ location,
95
+ language,
96
+ limit,
97
+ skipCache
98
+ });
99
+ warnDefaults(queryContext);
100
+ const format = args.output || "json";
101
+ const hints = advertisersHints(data.length, queryContext);
102
+ if (format !== "json") {
103
+ writeResearchOutput(data, format);
104
+ writeResearchHints(hints, format);
105
+ return;
106
+ }
107
+ writeResearchJson({
108
+ ok: true,
109
+ data,
110
+ fields: FIELDS,
111
+ note: RESEARCH_DATA_NOTE,
112
+ query_context: queryContext,
113
+ hints
114
+ });
115
+ } catch (err) {
116
+ handleResearchError(err);
117
+ }
118
+ }
119
+ });
120
+ export {
121
+ advertisersCommand
122
+ };
123
+ //# sourceMappingURL=advertisers-XXM6POO5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/research/advertisers.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { buildResearchQueryContext, warnDefaults } from \"../../geo-context.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { advertisersHints } from \"./hints.ts\";\nimport {\n handleResearchError,\n RESEARCH_DATA_NOTE,\n writeResearchHints,\n writeResearchJson,\n writeResearchOutput,\n} from \"./output.ts\";\n\nregisterSchema({\n command: \"research.advertisers\",\n description:\n 'Returns a ranked list of domains competing for one keyword in Google, with avg SERP position, relevance rating, estimated traffic value and visibility — domain economics, not ad copy. Despite the name it returns no headlines, descriptions or creative of any kind; for a competitor\\'s actual ad copy use `baker research google-ads <competitor.com> --copy` (Google) or `baker winning-ads content <adId>` (Meta/LinkedIn). Start here: `baker research advertisers \"<keyword>\" --location <cc> --language <code>` to size up who owns a term. If --location and --language are omitted, defaults to United States (us) and English (en). The response includes a query_context object showing which location/language were used.',\n args: {\n keyword: {\n type: \"string\",\n description:\n \"Keyword to search (positional). One search term, not a brand or a domain — this is a SERP query, not an advertiser lookup\",\n required: true,\n },\n location: {\n type: \"string\",\n description:\n \"Country code (us, uk, es, de...) or DataForSEO location code. Defaults to us (United States) if omitted — always set this for non-US markets\",\n required: false,\n },\n language: {\n type: \"string\",\n description:\n \"Language code or name (en, es, spanish...). Defaults to en (English) if omitted — always set this for non-English markets\",\n required: false,\n },\n limit: { type: \"string\", description: \"Max results (default: 20, max: 100)\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Skip server cache, hit API directly\", required: false },\n },\n});\n\ninterface Advertiser {\n domain: string;\n avg_position: number;\n rating: number;\n etv: number;\n visibility: number;\n}\n\nconst FIELDS: Record<string, string> = {\n domain: \"Competing domain (no ad copy is returned — see hints)\",\n avg_position: \"Average SERP position (1 = top)\",\n rating: \"Domain relevance rating (0-100)\",\n etv: \"Estimated traffic value (USD)\",\n visibility: \"SERP visibility score (0-1)\",\n};\n\nexport const advertisersCommand = defineCommand({\n meta: {\n name: \"advertisers\",\n description: `Domains competing for a keyword in Google SERPs, with position, relevance, traffic value and visibility. Returns NO ad copy — for a competitor's headlines and body copy use \\`baker research google-ads <competitor.com> --copy\\` (Google) or \\`baker winning-ads content <adId>\\` (Meta/LinkedIn).\n\nExamples:\n baker research advertisers \"running shoes\"\n baker research advertisers \"crm software\" --location uk --limit 10\n baker research advertisers \"zapatos\" --location es --language spanish`,\n },\n args: {\n keyword: { type: \"positional\", description: \"Keyword to search\", required: true },\n location: { type: \"string\", description: \"Country code or location code (default: us)\", required: false },\n language: { type: \"string\", description: \"Language code or name (default: en)\", required: false },\n limit: { type: \"string\", description: \"Max results (default: 20, max: 100)\", required: false },\n output: { type: \"string\", description: \"Format: json|csv|md|jsonl\", required: false, default: \"json\" },\n \"no-cache\": { type: \"boolean\", description: \"Skip server cache, hit API directly\", required: false },\n },\n run: async ({ args }) => {\n const keyword = args.keyword as string;\n const location = (args.location as string) || undefined;\n const language = (args.language as string) || undefined;\n const limit = args.limit ? Number(args.limit) : undefined;\n const skipCache = args[\"no-cache\"] ? true : undefined;\n const queryContext = buildResearchQueryContext(location, language);\n\n try {\n const data = await apiPost<Advertiser[]>(\"/api/research/advertisers\", {\n keyword,\n location,\n language,\n limit,\n skipCache,\n });\n\n warnDefaults(queryContext);\n const format = (args.output as string) || \"json\";\n const hints = advertisersHints(data.length, queryContext);\n if (format !== \"json\") {\n writeResearchOutput(data as unknown as Array<Record<string, unknown>>, format);\n writeResearchHints(hints, format);\n return;\n }\n writeResearchJson({\n ok: true,\n data,\n fields: FIELDS,\n note: RESEARCH_DATA_NOTE,\n query_context: queryContext,\n hints,\n });\n } catch (err) {\n handleResearchError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAa9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aACE;AAAA,MACF,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,UAAU,aAAa,uCAAuC,UAAU,MAAM;AAAA,IAC7F,YAAY,EAAE,MAAM,WAAW,aAAa,uCAAuC,UAAU,MAAM;AAAA,EACrG;AACF,CAAC;AAUD,IAAM,SAAiC;AAAA,EACrC,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,YAAY;AACd;AAEO,IAAM,qBAAqB,cAAc;AAAA,EAC9C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMf;AAAA,EACA,MAAM;AAAA,IACJ,SAAS,EAAE,MAAM,cAAc,aAAa,qBAAqB,UAAU,KAAK;AAAA,IAChF,UAAU,EAAE,MAAM,UAAU,aAAa,+CAA+C,UAAU,MAAM;AAAA,IACxG,UAAU,EAAE,MAAM,UAAU,aAAa,uCAAuC,UAAU,MAAM;AAAA,IAChG,OAAO,EAAE,MAAM,UAAU,aAAa,uCAAuC,UAAU,MAAM;AAAA,IAC7F,QAAQ,EAAE,MAAM,UAAU,aAAa,6BAA6B,UAAU,OAAO,SAAS,OAAO;AAAA,IACrG,YAAY,EAAE,MAAM,WAAW,aAAa,uCAAuC,UAAU,MAAM;AAAA,EACrG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,UAAU,KAAK;AACrB,UAAM,WAAY,KAAK,YAAuB;AAC9C,UAAM,WAAY,KAAK,YAAuB;AAC9C,UAAM,QAAQ,KAAK,QAAQ,OAAO,KAAK,KAAK,IAAI;AAChD,UAAM,YAAY,KAAK,UAAU,IAAI,OAAO;AAC5C,UAAM,eAAe,0BAA0B,UAAU,QAAQ;AAEjE,QAAI;AACF,YAAM,OAAO,MAAM,QAAsB,6BAA6B;AAAA,QACpE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,mBAAa,YAAY;AACzB,YAAM,SAAU,KAAK,UAAqB;AAC1C,YAAM,QAAQ,iBAAiB,KAAK,QAAQ,YAAY;AACxD,UAAI,WAAW,QAAQ;AACrB,4BAAoB,MAAmD,MAAM;AAC7E,2BAAmB,OAAO,MAAM;AAChC;AAAA,MACF;AACA,wBAAkB;AAAA,QAChB,IAAI;AAAA,QACJ;AAAA,QACA,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,eAAe;AAAA,QACf;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,0BAAoB,GAAG;AAAA,IACzB;AAAA,EACF;AACF,CAAC;","names":[]}