@koda-sl/baker-cli 0.384.0 → 0.385.0-dev.f7ef4c7e1

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 (964) hide show
  1. package/README.md +1102 -218
  2. package/canvas/tiktok-captions-composition/index.html +5 -6
  3. package/canvas/tiktok-captions-composition/meta.json +5 -0
  4. package/dist/account-4UEZAY5T.js +49 -0
  5. package/dist/account-4UEZAY5T.js.map +1 -0
  6. package/dist/account-G6QK2VXQ.js +79 -0
  7. package/dist/account-G6QK2VXQ.js.map +1 -0
  8. package/dist/account-OINZG6UP.js +80 -0
  9. package/dist/account-OINZG6UP.js.map +1 -0
  10. package/dist/account-reads-ZKKDYHK5.js +218 -0
  11. package/dist/account-reads-ZKKDYHK5.js.map +1 -0
  12. package/dist/account-writes-N4JDIDRB.js +66 -0
  13. package/dist/account-writes-N4JDIDRB.js.map +1 -0
  14. package/dist/accounts-7KRRRVLB.js +611 -0
  15. package/dist/accounts-7KRRRVLB.js.map +1 -0
  16. package/dist/accounts-AEBQFCNH.js +114 -0
  17. package/dist/accounts-AEBQFCNH.js.map +1 -0
  18. package/dist/accounts-CNTOHRQ2.js +77 -0
  19. package/dist/accounts-CNTOHRQ2.js.map +1 -0
  20. package/dist/accounts-HP4BLKK5.js +75 -0
  21. package/dist/accounts-HP4BLKK5.js.map +1 -0
  22. package/dist/accounts-Z4CLGQXJ.js +115 -0
  23. package/dist/accounts-Z4CLGQXJ.js.map +1 -0
  24. package/dist/actions-QO7VQ6UV.js +55 -0
  25. package/dist/actions-QO7VQ6UV.js.map +1 -0
  26. package/dist/active-entities-YB46ADQN.js +103 -0
  27. package/dist/active-entities-YB46ADQN.js.map +1 -0
  28. package/dist/activities-DUAIQJLN.js +74 -0
  29. package/dist/activities-DUAIQJLN.js.map +1 -0
  30. package/dist/ad-group-writes-HL3EZ3BT.js +170 -0
  31. package/dist/ad-group-writes-HL3EZ3BT.js.map +1 -0
  32. package/dist/ad-groups-FGS5JJGN.js +68 -0
  33. package/dist/ad-groups-FGS5JJGN.js.map +1 -0
  34. package/dist/ad-writes-LX4ACUHB.js +174 -0
  35. package/dist/ad-writes-LX4ACUHB.js.map +1 -0
  36. package/dist/add-5CUXNOUM.js +97 -0
  37. package/dist/add-5CUXNOUM.js.map +1 -0
  38. package/dist/add-5JBMJHNW.js +302 -0
  39. package/dist/add-5JBMJHNW.js.map +1 -0
  40. package/dist/add-E66HBIZV.js +105 -0
  41. package/dist/add-E66HBIZV.js.map +1 -0
  42. package/dist/add-O76R2SPE.js +104 -0
  43. package/dist/add-O76R2SPE.js.map +1 -0
  44. package/dist/add-accounts-YME5SCXD.js +91 -0
  45. package/dist/add-accounts-YME5SCXD.js.map +1 -0
  46. package/dist/ads-65R3WMDU.js +128 -0
  47. package/dist/ads-65R3WMDU.js.map +1 -0
  48. package/dist/ads-O63J7BDF.js +113 -0
  49. package/dist/ads-O63J7BDF.js.map +1 -0
  50. package/dist/ads-T5JWNFSA.js +40 -0
  51. package/dist/ads-T5JWNFSA.js.map +1 -0
  52. package/dist/ads-TFZ5PXKS.js +77 -0
  53. package/dist/ads-TFZ5PXKS.js.map +1 -0
  54. package/dist/adsets-Y62JOOTV.js +176 -0
  55. package/dist/adsets-Y62JOOTV.js.map +1 -0
  56. package/dist/advertisers-LJ2HKJ4W.js +125 -0
  57. package/dist/advertisers-LJ2HKJ4W.js.map +1 -0
  58. package/dist/advertisers-WJW5DK3Q.js +120 -0
  59. package/dist/advertisers-WJW5DK3Q.js.map +1 -0
  60. package/dist/analytics-HIOC3TUK.js +1976 -0
  61. package/dist/analytics-HIOC3TUK.js.map +1 -0
  62. package/dist/analytics-U2NLDV2V.js +433 -0
  63. package/dist/analytics-U2NLDV2V.js.map +1 -0
  64. package/dist/animate-E3SKQ6SI.js +480 -0
  65. package/dist/animate-E3SKQ6SI.js.map +1 -0
  66. package/dist/assign-V7EAR7VD.js +77 -0
  67. package/dist/assign-V7EAR7VD.js.map +1 -0
  68. package/dist/audience-size-GS7EDBDP.js +94 -0
  69. package/dist/audience-size-GS7EDBDP.js.map +1 -0
  70. package/dist/audiences-5A6BCWSA.js +268 -0
  71. package/dist/audiences-5A6BCWSA.js.map +1 -0
  72. package/dist/audiences-6QOCASVV.js +78 -0
  73. package/dist/audiences-6QOCASVV.js.map +1 -0
  74. package/dist/audiences-O67NGIP5.js +85 -0
  75. package/dist/audiences-O67NGIP5.js.map +1 -0
  76. package/dist/audit-HWK24VXI.js +88 -0
  77. package/dist/audit-HWK24VXI.js.map +1 -0
  78. package/dist/audit-WMZERUAA.js +151 -0
  79. package/dist/audit-WMZERUAA.js.map +1 -0
  80. package/dist/autocomplete-KQSTLQFS.js +111 -0
  81. package/dist/autocomplete-KQSTLQFS.js.map +1 -0
  82. package/dist/avatars-HAFQZD63.js +38 -0
  83. package/dist/avatars-HAFQZD63.js.map +1 -0
  84. package/dist/bid-pricing-5SORFAPE.js +99 -0
  85. package/dist/bid-pricing-5SORFAPE.js.map +1 -0
  86. package/dist/brand-EBG436YV.js +22 -0
  87. package/dist/brand-EBG436YV.js.map +1 -0
  88. package/dist/brief-AYXXPTHC.js +490 -0
  89. package/dist/brief-AYXXPTHC.js.map +1 -0
  90. package/dist/businesses-65EWTK5E.js +53 -0
  91. package/dist/businesses-65EWTK5E.js.map +1 -0
  92. package/dist/campaign-groups-U7723BBE.js +95 -0
  93. package/dist/campaign-groups-U7723BBE.js.map +1 -0
  94. package/dist/campaign-writes-CXS4KYB5.js +165 -0
  95. package/dist/campaign-writes-CXS4KYB5.js.map +1 -0
  96. package/dist/campaign-writes-M6JLF5AC.js +170 -0
  97. package/dist/campaign-writes-M6JLF5AC.js.map +1 -0
  98. package/dist/campaigns-6SM2ZSIH.js +76 -0
  99. package/dist/campaigns-6SM2ZSIH.js.map +1 -0
  100. package/dist/campaigns-7DWD2A5U.js +109 -0
  101. package/dist/campaigns-7DWD2A5U.js.map +1 -0
  102. package/dist/campaigns-F66OYA6N.js +107 -0
  103. package/dist/campaigns-F66OYA6N.js.map +1 -0
  104. package/dist/campaigns-TD7ZB5DG.js +110 -0
  105. package/dist/campaigns-TD7ZB5DG.js.map +1 -0
  106. package/dist/canvas-3NYM5Y7G.js +46 -0
  107. package/dist/canvas-3NYM5Y7G.js.map +1 -0
  108. package/dist/capabilities-JNFYSGRD.js +144 -0
  109. package/dist/capabilities-JNFYSGRD.js.map +1 -0
  110. package/dist/cards-7HRC4UQQ.js +85 -0
  111. package/dist/cards-7HRC4UQQ.js.map +1 -0
  112. package/dist/catalog-N6MDMIVL.js +64 -0
  113. package/dist/catalog-N6MDMIVL.js.map +1 -0
  114. package/dist/catalogs-PB46L7FH.js +128 -0
  115. package/dist/catalogs-PB46L7FH.js.map +1 -0
  116. package/dist/changes-SASUQK62.js +135 -0
  117. package/dist/changes-SASUQK62.js.map +1 -0
  118. package/dist/chatgpt-JKBSAG25.js +47 -0
  119. package/dist/chatgpt-JKBSAG25.js.map +1 -0
  120. package/dist/chats-TUZANLQH.js +262 -0
  121. package/dist/chats-TUZANLQH.js.map +1 -0
  122. package/dist/chunk-25E6SC3F.js +363 -0
  123. package/dist/chunk-25E6SC3F.js.map +1 -0
  124. package/dist/chunk-2GVXNKAE.js +42 -0
  125. package/dist/chunk-2GVXNKAE.js.map +1 -0
  126. package/dist/{chunk-VLUGGVJL.js → chunk-2UFRHW3T.js} +12 -4
  127. package/dist/chunk-2UFRHW3T.js.map +1 -0
  128. package/dist/chunk-2Y5V23PU.js +29 -0
  129. package/dist/chunk-2Y5V23PU.js.map +1 -0
  130. package/dist/chunk-35NYNRRB.js +111 -0
  131. package/dist/chunk-35NYNRRB.js.map +1 -0
  132. package/dist/chunk-3ACMDRSE.js +39 -0
  133. package/dist/chunk-3ACMDRSE.js.map +1 -0
  134. package/dist/chunk-3M6RNCDD.js +26 -0
  135. package/dist/chunk-3M6RNCDD.js.map +1 -0
  136. package/dist/chunk-3VXQYDJN.js +1743 -0
  137. package/dist/chunk-3VXQYDJN.js.map +1 -0
  138. package/dist/chunk-42DF5DF3.js +304 -0
  139. package/dist/chunk-42DF5DF3.js.map +1 -0
  140. package/dist/chunk-44VXKO65.js +106 -0
  141. package/dist/chunk-44VXKO65.js.map +1 -0
  142. package/dist/chunk-4NZ47VXO.js +137 -0
  143. package/dist/chunk-4NZ47VXO.js.map +1 -0
  144. package/dist/chunk-4X3UR372.js +225 -0
  145. package/dist/chunk-4X3UR372.js.map +1 -0
  146. package/dist/chunk-5FEBUCJU.js +25 -0
  147. package/dist/chunk-5FEBUCJU.js.map +1 -0
  148. package/dist/chunk-5HYSKH77.js +315 -0
  149. package/dist/chunk-5HYSKH77.js.map +1 -0
  150. package/dist/chunk-5LBGFQWF.js +310 -0
  151. package/dist/chunk-5LBGFQWF.js.map +1 -0
  152. package/dist/chunk-5MBPIONY.js +29 -0
  153. package/dist/chunk-5MBPIONY.js.map +1 -0
  154. package/dist/chunk-6YMHGIHP.js +346 -0
  155. package/dist/chunk-6YMHGIHP.js.map +1 -0
  156. package/dist/{chunk-VZEDAFAR.js → chunk-6YYSUISH.js} +47 -8
  157. package/dist/chunk-6YYSUISH.js.map +1 -0
  158. package/dist/chunk-7GNU3P7X.js +175 -0
  159. package/dist/chunk-7GNU3P7X.js.map +1 -0
  160. package/dist/chunk-7OHWEF3I.js +98 -0
  161. package/dist/chunk-7OHWEF3I.js.map +1 -0
  162. package/dist/chunk-7TR3QVWM.js +57 -0
  163. package/dist/chunk-7TR3QVWM.js.map +1 -0
  164. package/dist/chunk-AADVCEL4.js +817 -0
  165. package/dist/chunk-AADVCEL4.js.map +1 -0
  166. package/dist/chunk-AG62YO7C.js +96 -0
  167. package/dist/chunk-AG62YO7C.js.map +1 -0
  168. package/dist/chunk-AIRIT4GF.js +75 -0
  169. package/dist/chunk-AIRIT4GF.js.map +1 -0
  170. package/dist/chunk-AP3TP6VG.js +139 -0
  171. package/dist/chunk-AP3TP6VG.js.map +1 -0
  172. package/dist/chunk-APP475IQ.js +474 -0
  173. package/dist/chunk-APP475IQ.js.map +1 -0
  174. package/dist/chunk-AR7PU7BB.js +76 -0
  175. package/dist/chunk-AR7PU7BB.js.map +1 -0
  176. package/dist/chunk-B4S72KSS.js +172 -0
  177. package/dist/chunk-B4S72KSS.js.map +1 -0
  178. package/dist/chunk-BIPIL4QA.js +486 -0
  179. package/dist/chunk-BIPIL4QA.js.map +1 -0
  180. package/dist/chunk-BPUSL5Y2.js +58 -0
  181. package/dist/chunk-BPUSL5Y2.js.map +1 -0
  182. package/dist/chunk-BR32GHYD.js +65 -0
  183. package/dist/chunk-BR32GHYD.js.map +1 -0
  184. package/dist/chunk-CAMX6OHF.js +3182 -0
  185. package/dist/chunk-CAMX6OHF.js.map +1 -0
  186. package/dist/chunk-CE7RTOX6.js +494 -0
  187. package/dist/chunk-CE7RTOX6.js.map +1 -0
  188. package/dist/{chunk-MF7YA62W.js → chunk-CUL3VB4L.js} +10 -5
  189. package/dist/chunk-CUL3VB4L.js.map +1 -0
  190. package/dist/chunk-CVEY353K.js +66 -0
  191. package/dist/chunk-CVEY353K.js.map +1 -0
  192. package/dist/chunk-CWXADUKL.js +1599 -0
  193. package/dist/chunk-CWXADUKL.js.map +1 -0
  194. package/dist/chunk-D46NOXRY.js +6212 -0
  195. package/dist/chunk-D46NOXRY.js.map +1 -0
  196. package/dist/chunk-D5FY4FAK.js +24 -0
  197. package/dist/chunk-D5FY4FAK.js.map +1 -0
  198. package/dist/chunk-DGCUPJZD.js +39 -0
  199. package/dist/chunk-DGCUPJZD.js.map +1 -0
  200. package/dist/chunk-DNCLWSHO.js +41 -0
  201. package/dist/chunk-DNCLWSHO.js.map +1 -0
  202. package/dist/chunk-DUPURL26.js +97 -0
  203. package/dist/chunk-DUPURL26.js.map +1 -0
  204. package/dist/chunk-DXJYQ5P2.js +625 -0
  205. package/dist/chunk-DXJYQ5P2.js.map +1 -0
  206. package/dist/chunk-E2ZOSNF5.js +96 -0
  207. package/dist/chunk-E2ZOSNF5.js.map +1 -0
  208. package/dist/chunk-E3HYHT7C.js +274 -0
  209. package/dist/chunk-E3HYHT7C.js.map +1 -0
  210. package/dist/chunk-EDLZGTGN.js +216 -0
  211. package/dist/chunk-EDLZGTGN.js.map +1 -0
  212. package/dist/{chunk-XHC4LMK4.js → chunk-EIGXX6KI.js} +16 -8
  213. package/dist/chunk-EIGXX6KI.js.map +1 -0
  214. package/dist/chunk-EPDE7ZRU.js +174 -0
  215. package/dist/chunk-EPDE7ZRU.js.map +1 -0
  216. package/dist/chunk-ERSX3MKH.js +34 -0
  217. package/dist/chunk-ERSX3MKH.js.map +1 -0
  218. package/dist/chunk-F7HRLPR5.js +67 -0
  219. package/dist/chunk-F7HRLPR5.js.map +1 -0
  220. package/dist/chunk-FEG6MN4H.js +84 -0
  221. package/dist/chunk-FEG6MN4H.js.map +1 -0
  222. package/dist/chunk-FKOECEVC.js +126 -0
  223. package/dist/chunk-FKOECEVC.js.map +1 -0
  224. package/dist/chunk-FMGW2NZI.js +106 -0
  225. package/dist/chunk-FMGW2NZI.js.map +1 -0
  226. package/dist/chunk-FPZKKNDK.js +98 -0
  227. package/dist/chunk-FPZKKNDK.js.map +1 -0
  228. package/dist/chunk-G3ZDLPNZ.js +206 -0
  229. package/dist/chunk-G3ZDLPNZ.js.map +1 -0
  230. package/dist/chunk-GIWHHCD6.js +145 -0
  231. package/dist/chunk-GIWHHCD6.js.map +1 -0
  232. package/dist/chunk-GOJXKIFQ.js +1605 -0
  233. package/dist/chunk-GOJXKIFQ.js.map +1 -0
  234. package/dist/chunk-GRQ2AXDX.js +9 -0
  235. package/dist/chunk-GRQ2AXDX.js.map +1 -0
  236. package/dist/chunk-GXDLWBOY.js +73 -0
  237. package/dist/chunk-GXDLWBOY.js.map +1 -0
  238. package/dist/chunk-HAE4WWFQ.js +455 -0
  239. package/dist/chunk-HAE4WWFQ.js.map +1 -0
  240. package/dist/chunk-HEEAC2YG.js +541 -0
  241. package/dist/chunk-HEEAC2YG.js.map +1 -0
  242. package/dist/chunk-I2DNBEV6.js +4227 -0
  243. package/dist/chunk-I2DNBEV6.js.map +1 -0
  244. package/dist/chunk-I4FTS5EE.js +455 -0
  245. package/dist/chunk-I4FTS5EE.js.map +1 -0
  246. package/dist/chunk-IA4KJU7O.js +3151 -0
  247. package/dist/chunk-IA4KJU7O.js.map +1 -0
  248. package/dist/chunk-IELPT4K2.js +74 -0
  249. package/dist/chunk-IELPT4K2.js.map +1 -0
  250. package/dist/chunk-IJMWEO4P.js +57 -0
  251. package/dist/chunk-IJMWEO4P.js.map +1 -0
  252. package/dist/chunk-IVIJJXXT.js +62 -0
  253. package/dist/chunk-IVIJJXXT.js.map +1 -0
  254. package/dist/chunk-JAU6OAFK.js +455 -0
  255. package/dist/chunk-JAU6OAFK.js.map +1 -0
  256. package/dist/chunk-JD3W3ON7.js +188 -0
  257. package/dist/chunk-JD3W3ON7.js.map +1 -0
  258. package/dist/chunk-JLWBK3VC.js +5187 -0
  259. package/dist/chunk-JLWBK3VC.js.map +1 -0
  260. package/dist/chunk-JPK34QPS.js +134 -0
  261. package/dist/chunk-JPK34QPS.js.map +1 -0
  262. package/dist/chunk-JXJD6RC5.js +169 -0
  263. package/dist/chunk-JXJD6RC5.js.map +1 -0
  264. package/dist/chunk-JXMZEOHV.js +333 -0
  265. package/dist/chunk-JXMZEOHV.js.map +1 -0
  266. package/dist/chunk-K6TDB2KV.js +1442 -0
  267. package/dist/chunk-K6TDB2KV.js.map +1 -0
  268. package/dist/chunk-KIGGMKAE.js +66 -0
  269. package/dist/chunk-KIGGMKAE.js.map +1 -0
  270. package/dist/chunk-KKJ4KJCW.js +29 -0
  271. package/dist/chunk-KKJ4KJCW.js.map +1 -0
  272. package/dist/chunk-KONA5PSR.js +55 -0
  273. package/dist/chunk-KONA5PSR.js.map +1 -0
  274. package/dist/chunk-KVHRW7KO.js +60 -0
  275. package/dist/chunk-KVHRW7KO.js.map +1 -0
  276. package/dist/chunk-LA6PPSNA.js +65 -0
  277. package/dist/chunk-LA6PPSNA.js.map +1 -0
  278. package/dist/chunk-LKPJADL2.js +74 -0
  279. package/dist/chunk-LKPJADL2.js.map +1 -0
  280. package/dist/chunk-LM7N7IQR.js +297 -0
  281. package/dist/chunk-LM7N7IQR.js.map +1 -0
  282. package/dist/chunk-LWAEHLKV.js +74 -0
  283. package/dist/chunk-LWAEHLKV.js.map +1 -0
  284. package/dist/chunk-M6UNISGO.js +66 -0
  285. package/dist/chunk-M6UNISGO.js.map +1 -0
  286. package/dist/chunk-MFSIACRB.js +207 -0
  287. package/dist/chunk-MFSIACRB.js.map +1 -0
  288. package/dist/chunk-MIJAGBEP.js +23992 -0
  289. package/dist/chunk-MIJAGBEP.js.map +1 -0
  290. package/dist/chunk-MYTDK3AL.js +2102 -0
  291. package/dist/chunk-MYTDK3AL.js.map +1 -0
  292. package/dist/chunk-MYURCD23.js +6667 -0
  293. package/dist/chunk-MYURCD23.js.map +1 -0
  294. package/dist/chunk-MZQ5DX6S.js +125 -0
  295. package/dist/chunk-MZQ5DX6S.js.map +1 -0
  296. package/dist/chunk-NFSLRRIE.js +77 -0
  297. package/dist/chunk-NFSLRRIE.js.map +1 -0
  298. package/dist/chunk-NMDP7FZP.js +479 -0
  299. package/dist/chunk-NMDP7FZP.js.map +1 -0
  300. package/dist/chunk-NMGELUIA.js +183 -0
  301. package/dist/chunk-NMGELUIA.js.map +1 -0
  302. package/dist/chunk-NOK7MSVJ.js +533 -0
  303. package/dist/chunk-NOK7MSVJ.js.map +1 -0
  304. package/dist/chunk-O2EVJALZ.js +133 -0
  305. package/dist/chunk-O2EVJALZ.js.map +1 -0
  306. package/dist/chunk-OIL6PU5W.js +35 -0
  307. package/dist/chunk-OIL6PU5W.js.map +1 -0
  308. package/dist/chunk-P4NSJS54.js +20 -0
  309. package/dist/chunk-P4NSJS54.js.map +1 -0
  310. package/dist/chunk-P5T7OZKV.js +26 -0
  311. package/dist/chunk-P5T7OZKV.js.map +1 -0
  312. package/dist/chunk-PFBQERWX.js +10 -0
  313. package/dist/chunk-PFBQERWX.js.map +1 -0
  314. package/dist/chunk-PSWVSLJU.js +56 -0
  315. package/dist/chunk-PSWVSLJU.js.map +1 -0
  316. package/dist/chunk-PY2NJ6XZ.js +191 -0
  317. package/dist/chunk-PY2NJ6XZ.js.map +1 -0
  318. package/dist/chunk-PZ4OM2LK.js +45 -0
  319. package/dist/chunk-PZ4OM2LK.js.map +1 -0
  320. package/dist/chunk-Q2EKN7NI.js +1079 -0
  321. package/dist/chunk-Q2EKN7NI.js.map +1 -0
  322. package/dist/chunk-Q6ULQMWG.js +41 -0
  323. package/dist/chunk-Q6ULQMWG.js.map +1 -0
  324. package/dist/chunk-QMLGJ5OW.js +2891 -0
  325. package/dist/chunk-QMLGJ5OW.js.map +1 -0
  326. package/dist/chunk-R7QV5N2S.js +846 -0
  327. package/dist/chunk-R7QV5N2S.js.map +1 -0
  328. package/dist/chunk-RCS4JKUD.js +23 -0
  329. package/dist/chunk-RCS4JKUD.js.map +1 -0
  330. package/dist/chunk-RR3KT2E7.js +665 -0
  331. package/dist/chunk-RR3KT2E7.js.map +1 -0
  332. package/dist/chunk-SEPPFM5S.js +228 -0
  333. package/dist/chunk-SEPPFM5S.js.map +1 -0
  334. package/dist/chunk-SQ7DRYCC.js +150 -0
  335. package/dist/chunk-SQ7DRYCC.js.map +1 -0
  336. package/dist/chunk-SYULM665.js +610 -0
  337. package/dist/chunk-SYULM665.js.map +1 -0
  338. package/dist/chunk-TKT3OHZ6.js +170 -0
  339. package/dist/chunk-TKT3OHZ6.js.map +1 -0
  340. package/dist/chunk-TNOSX3PJ.js +136 -0
  341. package/dist/chunk-TNOSX3PJ.js.map +1 -0
  342. package/dist/chunk-TTVKI54A.js +160 -0
  343. package/dist/chunk-TTVKI54A.js.map +1 -0
  344. package/dist/chunk-U55UZRIB.js +592 -0
  345. package/dist/chunk-U55UZRIB.js.map +1 -0
  346. package/dist/chunk-UI6BKYQD.js +225 -0
  347. package/dist/chunk-UI6BKYQD.js.map +1 -0
  348. package/dist/chunk-UKE4IZSA.js +337 -0
  349. package/dist/chunk-UKE4IZSA.js.map +1 -0
  350. package/dist/chunk-UKLDW4UW.js +46 -0
  351. package/dist/chunk-UKLDW4UW.js.map +1 -0
  352. package/dist/chunk-V6XXXEXZ.js +76 -0
  353. package/dist/chunk-V6XXXEXZ.js.map +1 -0
  354. package/dist/chunk-VCZSZCXY.js +197 -0
  355. package/dist/chunk-VCZSZCXY.js.map +1 -0
  356. package/dist/chunk-VJQWUF66.js +92 -0
  357. package/dist/chunk-VJQWUF66.js.map +1 -0
  358. package/dist/chunk-VSU5R34H.js +76 -0
  359. package/dist/chunk-VSU5R34H.js.map +1 -0
  360. package/dist/chunk-W4SA4CMR.js +296 -0
  361. package/dist/chunk-W4SA4CMR.js.map +1 -0
  362. package/dist/chunk-WFUMNDCE.js +111 -0
  363. package/dist/chunk-WFUMNDCE.js.map +1 -0
  364. package/dist/chunk-WGCGKU3M.js +51 -0
  365. package/dist/chunk-WGCGKU3M.js.map +1 -0
  366. package/dist/chunk-WHWNXLTD.js +166 -0
  367. package/dist/chunk-WHWNXLTD.js.map +1 -0
  368. package/dist/chunk-WN42X2OE.js +509 -0
  369. package/dist/chunk-WN42X2OE.js.map +1 -0
  370. package/dist/chunk-WN4KX7GE.js +25 -0
  371. package/dist/chunk-WN4KX7GE.js.map +1 -0
  372. package/dist/chunk-XIY7P54H.js +84 -0
  373. package/dist/chunk-XIY7P54H.js.map +1 -0
  374. package/dist/chunk-XPLTWUMN.js +103 -0
  375. package/dist/chunk-XPLTWUMN.js.map +1 -0
  376. package/dist/chunk-Y6T5ZKBK.js +19 -0
  377. package/dist/chunk-Y6T5ZKBK.js.map +1 -0
  378. package/dist/chunk-YGGRQXDP.js +382 -0
  379. package/dist/chunk-YGGRQXDP.js.map +1 -0
  380. package/dist/chunk-YMBB4JBD.js +1830 -0
  381. package/dist/chunk-YMBB4JBD.js.map +1 -0
  382. package/dist/chunk-YNWM426O.js +159 -0
  383. package/dist/chunk-YNWM426O.js.map +1 -0
  384. package/dist/chunk-YQSBHWOI.js +41 -0
  385. package/dist/chunk-YTF3IVMF.js +149 -0
  386. package/dist/chunk-YTF3IVMF.js.map +1 -0
  387. package/dist/chunk-Z3ENMCFE.js +94 -0
  388. package/dist/chunk-Z3ENMCFE.js.map +1 -0
  389. package/dist/chunk-Z7MWSXLG.js +94 -0
  390. package/dist/chunk-Z7MWSXLG.js.map +1 -0
  391. package/dist/chunk-ZIXHS6AM.js +42 -0
  392. package/dist/chunk-ZIXHS6AM.js.map +1 -0
  393. package/dist/chunk-ZJ7TQUCU.js +4410 -0
  394. package/dist/chunk-ZJ7TQUCU.js.map +1 -0
  395. package/dist/chunk-ZNQRDLSS.js +52 -0
  396. package/dist/chunk-ZNQRDLSS.js.map +1 -0
  397. package/dist/chunk-ZPGGSXU3.js +275 -0
  398. package/dist/chunk-ZPGGSXU3.js.map +1 -0
  399. package/dist/claim-NXYQZEMC.js +197 -0
  400. package/dist/claim-NXYQZEMC.js.map +1 -0
  401. package/dist/cli.js +104 -69952
  402. package/dist/cli.js.map +1 -1
  403. package/dist/client-EURRWXPW.js +19 -0
  404. package/dist/code-FKQW7V7N.js +76 -0
  405. package/dist/code-FKQW7V7N.js.map +1 -0
  406. package/dist/companies-5ZH47E4H.js +195 -0
  407. package/dist/companies-5ZH47E4H.js.map +1 -0
  408. package/dist/complete-62OQPRHW.js +81 -0
  409. package/dist/complete-62OQPRHW.js.map +1 -0
  410. package/dist/config-OZOHIAOJ.js +88 -0
  411. package/dist/config-OZOHIAOJ.js.map +1 -0
  412. package/dist/connect-6DQFYKGN.js +42 -0
  413. package/dist/content-PCGSX2QU.js +85 -0
  414. package/dist/content-PCGSX2QU.js.map +1 -0
  415. package/dist/conversation-NS7JHTPK.js +93 -0
  416. package/dist/conversation-NS7JHTPK.js.map +1 -0
  417. package/dist/conversion-report-7QSWB2FY.js +125 -0
  418. package/dist/conversion-report-7QSWB2FY.js.map +1 -0
  419. package/dist/conversion-upload-command-XESIAQPU.js +438 -0
  420. package/dist/conversion-upload-command-XESIAQPU.js.map +1 -0
  421. package/dist/conversion-writes-BGOVLBS5.js +120 -0
  422. package/dist/conversion-writes-BGOVLBS5.js.map +1 -0
  423. package/dist/conversions-46MI57VC.js +135 -0
  424. package/dist/conversions-46MI57VC.js.map +1 -0
  425. package/dist/conversions-IYIWW4O7.js +76 -0
  426. package/dist/conversions-IYIWW4O7.js.map +1 -0
  427. package/dist/countries-5OBUVLLD.js +82 -0
  428. package/dist/countries-5OBUVLLD.js.map +1 -0
  429. package/dist/create-BEDPXUB7.js +236 -0
  430. package/dist/create-BEDPXUB7.js.map +1 -0
  431. package/dist/create-LLTMBBGV.js +207 -0
  432. package/dist/create-LLTMBBGV.js.map +1 -0
  433. package/dist/create-VNJ2VH3A.js +59 -0
  434. package/dist/create-VNJ2VH3A.js.map +1 -0
  435. package/dist/create-ZYKG2XOP.js +138 -0
  436. package/dist/create-ZYKG2XOP.js.map +1 -0
  437. package/dist/creatives-2LL66X4E.js +51 -0
  438. package/dist/creatives-2LL66X4E.js.map +1 -0
  439. package/dist/creatives-3MEMSUKJ.js +182 -0
  440. package/dist/creatives-3MEMSUKJ.js.map +1 -0
  441. package/dist/creatives-XI2DGQUZ.js +87 -0
  442. package/dist/creatives-XI2DGQUZ.js.map +1 -0
  443. package/dist/credentials-63PRTM3K.js +287 -0
  444. package/dist/credentials-63PRTM3K.js.map +1 -0
  445. package/dist/critique-IQI7CCTT.js +213 -0
  446. package/dist/critique-IQI7CCTT.js.map +1 -0
  447. package/dist/critique-UV7FPG45.js +1449 -0
  448. package/dist/critique-UV7FPG45.js.map +1 -0
  449. package/dist/crm-OERYUOBS.js +224 -0
  450. package/dist/crm-OERYUOBS.js.map +1 -0
  451. package/dist/crm-VNO3QTQG.js +318 -0
  452. package/dist/crm-VNO3QTQG.js.map +1 -0
  453. package/dist/crop-B52KIQ4O.js +113 -0
  454. package/dist/crop-B52KIQ4O.js.map +1 -0
  455. package/dist/currency-GGWF5DMU.js +88 -0
  456. package/dist/currency-GGWF5DMU.js.map +1 -0
  457. package/dist/custom-conversions-7WDBTC4X.js +125 -0
  458. package/dist/custom-conversions-7WDBTC4X.js.map +1 -0
  459. package/dist/customers-FOPXEGCB.js +56 -0
  460. package/dist/decide-PK7WNSQ2.js +199 -0
  461. package/dist/decide-PK7WNSQ2.js.map +1 -0
  462. package/dist/delete-56LKNEGA.js +71 -0
  463. package/dist/delete-56LKNEGA.js.map +1 -0
  464. package/dist/delete-EZ7HHOOD.js +69 -0
  465. package/dist/delete-EZ7HHOOD.js.map +1 -0
  466. package/dist/delete-JSYM7QKN.js +54 -0
  467. package/dist/delete-JSYM7QKN.js.map +1 -0
  468. package/dist/delete-NOUWBNZM.js +66 -0
  469. package/dist/delete-NOUWBNZM.js.map +1 -0
  470. package/dist/delete-T33AWV63.js +63 -0
  471. package/dist/delete-T33AWV63.js.map +1 -0
  472. package/dist/delete-YSYVFL6W.js +71 -0
  473. package/dist/delete-YSYVFL6W.js.map +1 -0
  474. package/dist/demographics-LQGFUS4F.js +138 -0
  475. package/dist/demographics-LQGFUS4F.js.map +1 -0
  476. package/dist/describe-AAVYIFE3.js +97 -0
  477. package/dist/describe-AAVYIFE3.js.map +1 -0
  478. package/dist/describe-UQFLWVFR.js +97 -0
  479. package/dist/describe-UQFLWVFR.js.map +1 -0
  480. package/dist/dimensions-QDXBG2XC.js +101 -0
  481. package/dist/dimensions-QDXBG2XC.js.map +1 -0
  482. package/dist/discard-V4LQ7ZGA.js +66 -0
  483. package/dist/discard-V4LQ7ZGA.js.map +1 -0
  484. package/dist/discover-6TEBPVNC.js +93 -0
  485. package/dist/discover-6TEBPVNC.js.map +1 -0
  486. package/dist/discover-SBZPB7T2.js +172 -0
  487. package/dist/discover-SBZPB7T2.js.map +1 -0
  488. package/dist/domain-65J2DEDB.js +98 -0
  489. package/dist/domain-65J2DEDB.js.map +1 -0
  490. package/dist/download-LV3GPOWV.js +299 -0
  491. package/dist/download-LV3GPOWV.js.map +1 -0
  492. package/dist/draft-DDFFTZ43.js +233 -0
  493. package/dist/draft-DDFFTZ43.js.map +1 -0
  494. package/dist/draft-FIKJXNIQ.js +281 -0
  495. package/dist/draft-FIKJXNIQ.js.map +1 -0
  496. package/dist/draft-GYGWTMBU.js +307 -0
  497. package/dist/draft-GYGWTMBU.js.map +1 -0
  498. package/dist/draft-KNXVZAZV.js +217 -0
  499. package/dist/draft-KNXVZAZV.js.map +1 -0
  500. package/dist/draft-N4LFPKTA.js +100 -0
  501. package/dist/draft-N4LFPKTA.js.map +1 -0
  502. package/dist/draft-NG2DPL2X.js +306 -0
  503. package/dist/draft-NG2DPL2X.js.map +1 -0
  504. package/dist/draft-QILZ7M7N.js +328 -0
  505. package/dist/draft-QILZ7M7N.js.map +1 -0
  506. package/dist/draft-XPO5RWST.js +103 -0
  507. package/dist/draft-XPO5RWST.js.map +1 -0
  508. package/dist/engine/index.d.ts +213 -127
  509. package/dist/engine/index.js +18 -4
  510. package/dist/{env-4P5HOGNA.js → env-TQ2XS2KY.js} +12 -2
  511. package/dist/env-TQ2XS2KY.js.map +1 -0
  512. package/dist/experiment-FQNKMORZ.js +1397 -0
  513. package/dist/experiment-FQNKMORZ.js.map +1 -0
  514. package/dist/export-4IZQZAPF.js +168 -0
  515. package/dist/export-4IZQZAPF.js.map +1 -0
  516. package/dist/extract-DZMGVQ7D.js +113 -0
  517. package/dist/extract-DZMGVQ7D.js.map +1 -0
  518. package/dist/facets-FAAOFHBF.js +114 -0
  519. package/dist/facets-FAAOFHBF.js.map +1 -0
  520. package/dist/favorites-DD2LNSTG.js +178 -0
  521. package/dist/favorites-DD2LNSTG.js.map +1 -0
  522. package/dist/feed-TUVFNX2U.js +177 -0
  523. package/dist/feed-TUVFNX2U.js.map +1 -0
  524. package/dist/feedback-NWOOZOFW.js +66 -0
  525. package/dist/feedback-NWOOZOFW.js.map +1 -0
  526. package/dist/feedback-record-CFPUKLMY.js +175 -0
  527. package/dist/feedback-record-CFPUKLMY.js.map +1 -0
  528. package/dist/fetch-LEY77E7V.js +176 -0
  529. package/dist/fetch-LEY77E7V.js.map +1 -0
  530. package/dist/fetch-O6UHNXWB.js +139 -0
  531. package/dist/fetch-O6UHNXWB.js.map +1 -0
  532. package/dist/find-4XKIBF4D.js +134 -0
  533. package/dist/find-4XKIBF4D.js.map +1 -0
  534. package/dist/fit-ODVVXV2Q.js +45 -0
  535. package/dist/fit-ODVVXV2Q.js.map +1 -0
  536. package/dist/flows-QKPC63AF.js +247 -0
  537. package/dist/flows-QKPC63AF.js.map +1 -0
  538. package/dist/follow-RCOXTZGY.js +94 -0
  539. package/dist/follow-RCOXTZGY.js.map +1 -0
  540. package/dist/follow-competitors-SQ5XBFTK.js +112 -0
  541. package/dist/follow-competitors-SQ5XBFTK.js.map +1 -0
  542. package/dist/following-VDU3BHC4.js +113 -0
  543. package/dist/following-VDU3BHC4.js.map +1 -0
  544. package/dist/fonts-WM2MJDVJ.js +34 -0
  545. package/dist/fonts-WM2MJDVJ.js.map +1 -0
  546. package/dist/forecast-2GJKBNBM.js +168 -0
  547. package/dist/forecast-2GJKBNBM.js.map +1 -0
  548. package/dist/forecast-7K3TAHDL.js +104 -0
  549. package/dist/forecast-7K3TAHDL.js.map +1 -0
  550. package/dist/funding-HTFVZLLG.js +85 -0
  551. package/dist/funding-HTFVZLLG.js.map +1 -0
  552. package/dist/funnel-CSPK5SPZ.js +394 -0
  553. package/dist/funnel-CSPK5SPZ.js.map +1 -0
  554. package/dist/ga4-2RC4EH7V.js +55 -0
  555. package/dist/ga4-2RC4EH7V.js.map +1 -0
  556. package/dist/generate-TPDOBCKQ.js +262 -0
  557. package/dist/generate-TPDOBCKQ.js.map +1 -0
  558. package/dist/get-4YZ4PI3B.js +56 -0
  559. package/dist/get-4YZ4PI3B.js.map +1 -0
  560. package/dist/get-FH2LIEYL.js +63 -0
  561. package/dist/get-FH2LIEYL.js.map +1 -0
  562. package/dist/get-GZLCDXXW.js +61 -0
  563. package/dist/get-GZLCDXXW.js.map +1 -0
  564. package/dist/get-HFU6ZJPX.js +78 -0
  565. package/dist/get-HFU6ZJPX.js.map +1 -0
  566. package/dist/get-TSPQYEKC.js +59 -0
  567. package/dist/get-TSPQYEKC.js.map +1 -0
  568. package/dist/get-TY3RXYNZ.js +63 -0
  569. package/dist/get-TY3RXYNZ.js.map +1 -0
  570. package/dist/get-VPW33XTN.js +92 -0
  571. package/dist/get-VPW33XTN.js.map +1 -0
  572. package/dist/gif-JFEYPFFI.js +94 -0
  573. package/dist/gif-JFEYPFFI.js.map +1 -0
  574. package/dist/google-R6RD4L6Z.js +136 -0
  575. package/dist/google-R6RD4L6Z.js.map +1 -0
  576. package/dist/google-VPQNRVIB.js +3190 -0
  577. package/dist/google-VPQNRVIB.js.map +1 -0
  578. package/dist/google-ads-WWM5KIRS.js +195 -0
  579. package/dist/google-ads-WWM5KIRS.js.map +1 -0
  580. package/dist/group-7AV6UL26.js +43 -0
  581. package/dist/group-7AV6UL26.js.map +1 -0
  582. package/dist/group-BVQZEZIC.js +43 -0
  583. package/dist/group-BVQZEZIC.js.map +1 -0
  584. package/dist/gsc-SQ42WAQE.js +30 -0
  585. package/dist/gsc-SQ42WAQE.js.map +1 -0
  586. package/dist/history-BNNHFURR.js +67 -0
  587. package/dist/history-BNNHFURR.js.map +1 -0
  588. package/dist/history-KBK5TP65.js +133 -0
  589. package/dist/history-KBK5TP65.js.map +1 -0
  590. package/dist/hubspot-GAAWWVLL.js +779 -0
  591. package/dist/hubspot-GAAWWVLL.js.map +1 -0
  592. package/dist/icon-OYTTSNSL.js +137 -0
  593. package/dist/icon-OYTTSNSL.js.map +1 -0
  594. package/dist/ideas-CELMD3BL.js +32 -0
  595. package/dist/ideas-CELMD3BL.js.map +1 -0
  596. package/dist/images-QHV4ECAP.js +90 -0
  597. package/dist/images-QHV4ECAP.js.map +1 -0
  598. package/dist/improve-W6GZNT2A.js +86 -0
  599. package/dist/improve-W6GZNT2A.js.map +1 -0
  600. package/dist/ingest-SH35YX6X.js +23 -0
  601. package/dist/ingest-SH35YX6X.js.map +1 -0
  602. package/dist/ingest-UWCGJZXV.js +107 -0
  603. package/dist/ingest-UWCGJZXV.js.map +1 -0
  604. package/dist/insights-IW7LGAWU.js +423 -0
  605. package/dist/insights-IW7LGAWU.js.map +1 -0
  606. package/dist/insights-QH54F56A.js +122 -0
  607. package/dist/insights-QH54F56A.js.map +1 -0
  608. package/dist/inspect-6Z6HEMBI.js +189 -0
  609. package/dist/inspect-6Z6HEMBI.js.map +1 -0
  610. package/dist/inspiration-RDQ3Y3N3.js +53 -0
  611. package/dist/inspiration-RDQ3Y3N3.js.map +1 -0
  612. package/dist/intent-5GSSCFZ2.js +95 -0
  613. package/dist/intent-5GSSCFZ2.js.map +1 -0
  614. package/dist/job-URVXJP75.js +202 -0
  615. package/dist/job-URVXJP75.js.map +1 -0
  616. package/dist/job-create-S4SECUVF.js +109 -0
  617. package/dist/job-create-S4SECUVF.js.map +1 -0
  618. package/dist/job-status-253SUCTJ.js +74 -0
  619. package/dist/job-status-253SUCTJ.js.map +1 -0
  620. package/dist/keep-GPSYDIGJ.js +78 -0
  621. package/dist/keep-GPSYDIGJ.js.map +1 -0
  622. package/dist/keyword-gap-NTFDX43B.js +130 -0
  623. package/dist/keyword-gap-NTFDX43B.js.map +1 -0
  624. package/dist/keyword-metrics-NKZRCF4L.js +197 -0
  625. package/dist/keyword-metrics-NKZRCF4L.js.map +1 -0
  626. package/dist/keywords-for-site-NQUPJNUR.js +128 -0
  627. package/dist/keywords-for-site-NQUPJNUR.js.map +1 -0
  628. package/dist/landing-AHNZSZHY.js +28 -0
  629. package/dist/landing-AHNZSZHY.js.map +1 -0
  630. package/dist/landings-NEF4PQL2.js +151 -0
  631. package/dist/landings-NEF4PQL2.js.map +1 -0
  632. package/dist/languages-3RDPPPTE.js +55 -0
  633. package/dist/languages-3RDPPPTE.js.map +1 -0
  634. package/dist/languages-CQX3YOIT.js +40 -0
  635. package/dist/languages-CQX3YOIT.js.map +1 -0
  636. package/dist/launches-GBHLJH5S.js +19 -0
  637. package/dist/launches-GBHLJH5S.js.map +1 -0
  638. package/dist/layerize-Q56C6LFG.js +190 -0
  639. package/dist/layerize-Q56C6LFG.js.map +1 -0
  640. package/dist/leads-5MUVPXA2.js +90 -0
  641. package/dist/leads-5MUVPXA2.js.map +1 -0
  642. package/dist/leads-JHUM6FYR.js +293 -0
  643. package/dist/leads-JHUM6FYR.js.map +1 -0
  644. package/dist/learn-EMV7RWTB.js +203 -0
  645. package/dist/learn-EMV7RWTB.js.map +1 -0
  646. package/dist/library-6VUFHTEK.js +109 -0
  647. package/dist/library-6VUFHTEK.js.map +1 -0
  648. package/dist/lighthouse-57U2GMPV.js +75 -0
  649. package/dist/lighthouse-57U2GMPV.js.map +1 -0
  650. package/dist/line-item-writes-GMIZYHLB.js +208 -0
  651. package/dist/line-item-writes-GMIZYHLB.js.map +1 -0
  652. package/dist/line-items-B5HAC47U.js +103 -0
  653. package/dist/line-items-B5HAC47U.js.map +1 -0
  654. package/dist/link-B6ZJFGFE.js +64 -0
  655. package/dist/link-B6ZJFGFE.js.map +1 -0
  656. package/dist/linkedin-FJ3OUYT2.js +1008 -0
  657. package/dist/linkedin-FJ3OUYT2.js.map +1 -0
  658. package/dist/list-2MBSU4ZX.js +63 -0
  659. package/dist/list-2MBSU4ZX.js.map +1 -0
  660. package/dist/list-EFUPHLG3.js +303 -0
  661. package/dist/list-EFUPHLG3.js.map +1 -0
  662. package/dist/list-G57ZO4PG.js +50 -0
  663. package/dist/list-G57ZO4PG.js.map +1 -0
  664. package/dist/list-JCSWZWDI.js +57 -0
  665. package/dist/list-JCSWZWDI.js.map +1 -0
  666. package/dist/list-QOSPRCH4.js +151 -0
  667. package/dist/list-QOSPRCH4.js.map +1 -0
  668. package/dist/list-RINCJOAC.js +76 -0
  669. package/dist/list-RINCJOAC.js.map +1 -0
  670. package/dist/list-SRNXHS6L.js +51 -0
  671. package/dist/list-SRNXHS6L.js.map +1 -0
  672. package/dist/list-YJSO4M5Q.js +65 -0
  673. package/dist/list-YJSO4M5Q.js.map +1 -0
  674. package/dist/locations-HW2Y5OJO.js +67 -0
  675. package/dist/locations-HW2Y5OJO.js.map +1 -0
  676. package/dist/locations-XOHI3VWI.js +40 -0
  677. package/dist/locations-XOHI3VWI.js.map +1 -0
  678. package/dist/log-SZDYUMM3.js +92 -0
  679. package/dist/log-SZDYUMM3.js.map +1 -0
  680. package/dist/logo-KXTGIYBI.js +18 -0
  681. package/dist/logo-KXTGIYBI.js.map +1 -0
  682. package/dist/lookup-X6O5UNJH.js +22 -0
  683. package/dist/lookup-X6O5UNJH.js.map +1 -0
  684. package/dist/make-SGCBJTRR.js +633 -0
  685. package/dist/make-SGCBJTRR.js.map +1 -0
  686. package/dist/map-ZK46VVL3.js +404 -0
  687. package/dist/map-ZK46VVL3.js.map +1 -0
  688. package/dist/mcp-NCM5TQUG.js +463 -0
  689. package/dist/mcp-NCM5TQUG.js.map +1 -0
  690. package/dist/media-MI4EE7L4.js +89 -0
  691. package/dist/media-MI4EE7L4.js.map +1 -0
  692. package/dist/media-QUTQOBA7.js +15 -0
  693. package/dist/media-QUTQOBA7.js.map +1 -0
  694. package/dist/media-sources-MS3RMQ6A.js +32 -0
  695. package/dist/media-sources-MS3RMQ6A.js.map +1 -0
  696. package/dist/members-IGHLTQKW.js +44 -0
  697. package/dist/members-IGHLTQKW.js.map +1 -0
  698. package/dist/meta-E3JOUOSS.js +69 -0
  699. package/dist/meta-E3JOUOSS.js.map +1 -0
  700. package/dist/metrics-HQ7XJAYQ.js +152 -0
  701. package/dist/metrics-HQ7XJAYQ.js.map +1 -0
  702. package/dist/models-PGX3FBHU.js +155 -0
  703. package/dist/models-PGX3FBHU.js.map +1 -0
  704. package/dist/normalize-FPJ6GSOY.js +806 -0
  705. package/dist/normalize-FPJ6GSOY.js.map +1 -0
  706. package/dist/normalize-LHD5LVFK.js +141 -0
  707. package/dist/normalize-LHD5LVFK.js.map +1 -0
  708. package/dist/options-CPHN3RMO.js +121 -0
  709. package/dist/options-CPHN3RMO.js.map +1 -0
  710. package/dist/output-GQFJ2T5B.js +24 -0
  711. package/dist/output-GQFJ2T5B.js.map +1 -0
  712. package/dist/page-VTTSBC6Y.js +105 -0
  713. package/dist/page-VTTSBC6Y.js.map +1 -0
  714. package/dist/pages-PMZVNVQM.js +66 -0
  715. package/dist/pages-PMZVNVQM.js.map +1 -0
  716. package/dist/performance-ECIJJEFV.js +24 -0
  717. package/dist/performance-ECIJJEFV.js.map +1 -0
  718. package/dist/pinterest-UDNGOWDM.js +96 -0
  719. package/dist/pinterest-UDNGOWDM.js.map +1 -0
  720. package/dist/pixels-OYZDGCH3.js +108 -0
  721. package/dist/pixels-OYZDGCH3.js.map +1 -0
  722. package/dist/pixels-XKGNTCFX.js +60 -0
  723. package/dist/pixels-XKGNTCFX.js.map +1 -0
  724. package/dist/plan-DZS3TVIJ.js +207 -0
  725. package/dist/plan-DZS3TVIJ.js.map +1 -0
  726. package/dist/preview-DR6MXOGI.js +169 -0
  727. package/dist/preview-DR6MXOGI.js.map +1 -0
  728. package/dist/profile-VOVZG44G.js +159 -0
  729. package/dist/profile-VOVZG44G.js.map +1 -0
  730. package/dist/promoted-tweet-writes-UJJI5SQL.js +180 -0
  731. package/dist/promoted-tweet-writes-UJJI5SQL.js.map +1 -0
  732. package/dist/promoted-tweets-O5RCETPX.js +119 -0
  733. package/dist/promoted-tweets-O5RCETPX.js.map +1 -0
  734. package/dist/properties-MKVF7MUK.js +101 -0
  735. package/dist/properties-MKVF7MUK.js.map +1 -0
  736. package/dist/publish-RRYU3NNX.js +322 -0
  737. package/dist/publish-RRYU3NNX.js.map +1 -0
  738. package/dist/query-CNWQ6STR.js +61 -0
  739. package/dist/query-CNWQ6STR.js.map +1 -0
  740. package/dist/query-DBSBZ73C.js +247 -0
  741. package/dist/query-DBSBZ73C.js.map +1 -0
  742. package/dist/query-QK4U4TEL.js +236 -0
  743. package/dist/query-QK4U4TEL.js.map +1 -0
  744. package/dist/questionnaire-OVJWNUVV.js +93 -0
  745. package/dist/questionnaire-OVJWNUVV.js.map +1 -0
  746. package/dist/read-L2QIVJTL.js +141 -0
  747. package/dist/read-L2QIVJTL.js.map +1 -0
  748. package/dist/reddit-K6CKJZRF.js +26 -0
  749. package/dist/reddit-K6CKJZRF.js.map +1 -0
  750. package/dist/refresh-IF4P57JJ.js +94 -0
  751. package/dist/refresh-IF4P57JJ.js.map +1 -0
  752. package/dist/release-H4EL3J6R.js +60 -0
  753. package/dist/release-H4EL3J6R.js.map +1 -0
  754. package/dist/relevant-pages-CRI2NLWG.js +99 -0
  755. package/dist/relevant-pages-CRI2NLWG.js.map +1 -0
  756. package/dist/remove-DKSHQRNS.js +50 -0
  757. package/dist/remove-DKSHQRNS.js.map +1 -0
  758. package/dist/remove-JKSCGKQG.js +48 -0
  759. package/dist/remove-JKSCGKQG.js.map +1 -0
  760. package/dist/reopen-B26V2GEJ.js +63 -0
  761. package/dist/reopen-B26V2GEJ.js.map +1 -0
  762. package/dist/rerun-6WKE4MPY.js +84 -0
  763. package/dist/rerun-6WKE4MPY.js.map +1 -0
  764. package/dist/research-O3IVF3MM.js +62 -0
  765. package/dist/research-O3IVF3MM.js.map +1 -0
  766. package/dist/research-SC7S6IPV.js +262 -0
  767. package/dist/research-SC7S6IPV.js.map +1 -0
  768. package/dist/reset-7HMOB2KE.js +54 -0
  769. package/dist/reset-7HMOB2KE.js.map +1 -0
  770. package/dist/reset-THPEXZDK.js +54 -0
  771. package/dist/reset-THPEXZDK.js.map +1 -0
  772. package/dist/resolve-HX5R52A3.js +121 -0
  773. package/dist/resolve-HX5R52A3.js.map +1 -0
  774. package/dist/retry-4ENRUJOJ.js +62 -0
  775. package/dist/retry-4ENRUJOJ.js.map +1 -0
  776. package/dist/retry-ELIMI7U5.js +60 -0
  777. package/dist/retry-ELIMI7U5.js.map +1 -0
  778. package/dist/retry-failed-2OYMCB55.js +45 -0
  779. package/dist/retry-failed-2OYMCB55.js.map +1 -0
  780. package/dist/run-CY4BAIQI.js +65 -0
  781. package/dist/run-CY4BAIQI.js.map +1 -0
  782. package/dist/run-GXPPPDGI.js +59 -0
  783. package/dist/run-GXPPPDGI.js.map +1 -0
  784. package/dist/scaffold-ad-X6VPBVTB.js +1548 -0
  785. package/dist/scaffold-ad-X6VPBVTB.js.map +1 -0
  786. package/dist/scaffold-static-ad-LKOOZSDP.js +971 -0
  787. package/dist/scaffold-static-ad-LKOOZSDP.js.map +1 -0
  788. package/dist/scaffold-video-NAOIFIM4.js +872 -0
  789. package/dist/scaffold-video-NAOIFIM4.js.map +1 -0
  790. package/dist/schedule-TLYT5UXM.js +66 -0
  791. package/dist/schedule-TLYT5UXM.js.map +1 -0
  792. package/dist/schedule-V654LLZ2.js +61 -0
  793. package/dist/schedule-V654LLZ2.js.map +1 -0
  794. package/dist/scheduled-agents-MJNUZYEK.js +49 -0
  795. package/dist/scheduled-agents-MJNUZYEK.js.map +1 -0
  796. package/dist/schema-DN4WKWUM.js +132 -0
  797. package/dist/schema-DN4WKWUM.js.map +1 -0
  798. package/dist/schema-MZTVCNP4.js +63 -0
  799. package/dist/schema-MZTVCNP4.js.map +1 -0
  800. package/dist/scrape-T3DA7ER7.js +2241 -0
  801. package/dist/scrape-T3DA7ER7.js.map +1 -0
  802. package/dist/screenshot-EIGC6SZB.js +102 -0
  803. package/dist/screenshot-EIGC6SZB.js.map +1 -0
  804. package/dist/search-2SVUDZIX.js +224 -0
  805. package/dist/search-2SVUDZIX.js.map +1 -0
  806. package/dist/search-34NFJ5F6.js +26 -0
  807. package/dist/search-34NFJ5F6.js.map +1 -0
  808. package/dist/search-BWE3OPOY.js +91 -0
  809. package/dist/search-BWE3OPOY.js.map +1 -0
  810. package/dist/search-EYYAOZND.js +92 -0
  811. package/dist/search-EYYAOZND.js.map +1 -0
  812. package/dist/search-EZZMYU4Y.js +174 -0
  813. package/dist/search-EZZMYU4Y.js.map +1 -0
  814. package/dist/search-copy-VKQ2OOBM.js +168 -0
  815. package/dist/search-copy-VKQ2OOBM.js.map +1 -0
  816. package/dist/seeds-HQYSVFIX.js +101 -0
  817. package/dist/seeds-HQYSVFIX.js.map +1 -0
  818. package/dist/select-3SIBANY6.js +94 -0
  819. package/dist/select-3SIBANY6.js.map +1 -0
  820. package/dist/sends-I7VQFE4S.js +309 -0
  821. package/dist/sends-I7VQFE4S.js.map +1 -0
  822. package/dist/sequences-JHSEJJGN.js +146 -0
  823. package/dist/sequences-JHSEJJGN.js.map +1 -0
  824. package/dist/set-prompt-RAG7RJOD.js +185 -0
  825. package/dist/set-prompt-RAG7RJOD.js.map +1 -0
  826. package/dist/setup-links-TNRBFS5Z.js +141 -0
  827. package/dist/setup-links-TNRBFS5Z.js.map +1 -0
  828. package/dist/{shared-J7DQZ2ED.js → shared-AT3FXPAG.js} +8 -6
  829. package/dist/shared-AT3FXPAG.js.map +1 -0
  830. package/dist/shopify-LUETQ5NT.js +3819 -0
  831. package/dist/shopify-LUETQ5NT.js.map +1 -0
  832. package/dist/site-SDL6LF6D.js +177 -0
  833. package/dist/site-SDL6LF6D.js.map +1 -0
  834. package/dist/sitemaps-FG37N5EB.js +87 -0
  835. package/dist/sitemaps-FG37N5EB.js.map +1 -0
  836. package/dist/sites-FIXK4Y3O.js +101 -0
  837. package/dist/sites-FIXK4Y3O.js.map +1 -0
  838. package/dist/skills-OKVCVQVD.js +47 -0
  839. package/dist/skills-OKVCVQVD.js.map +1 -0
  840. package/dist/sources-ISAUZFRN.js +30 -0
  841. package/dist/sources-ISAUZFRN.js.map +1 -0
  842. package/dist/sources-LQTJXAJG.js +421 -0
  843. package/dist/sources-LQTJXAJG.js.map +1 -0
  844. package/dist/stale-2L7NTLC6.js +63 -0
  845. package/dist/stale-2L7NTLC6.js.map +1 -0
  846. package/dist/stats-ZWZ7BAHV.js +34 -0
  847. package/dist/stats-ZWZ7BAHV.js.map +1 -0
  848. package/dist/status-4QBSIHO7.js +62 -0
  849. package/dist/status-4QBSIHO7.js.map +1 -0
  850. package/dist/sticker-FLRZM3BI.js +94 -0
  851. package/dist/sticker-FLRZM3BI.js.map +1 -0
  852. package/dist/stock-2CSMWRWV.js +179 -0
  853. package/dist/stock-2CSMWRWV.js.map +1 -0
  854. package/dist/studio-TTTR6N7D.js +49 -0
  855. package/dist/studio-TTTR6N7D.js.map +1 -0
  856. package/dist/sync-DH7FTPGG.js +54 -0
  857. package/dist/sync-DH7FTPGG.js.map +1 -0
  858. package/dist/sync-G5CS2RYV.js +54 -0
  859. package/dist/sync-G5CS2RYV.js.map +1 -0
  860. package/dist/sync-UADA6M33.js +265 -0
  861. package/dist/sync-UADA6M33.js.map +1 -0
  862. package/dist/sync-definition-ATMMOJ37.js +52 -0
  863. package/dist/sync-definition-ATMMOJ37.js.map +1 -0
  864. package/dist/tag-manager-NK3ZHSJB.js +43 -0
  865. package/dist/tag-manager-NK3ZHSJB.js.map +1 -0
  866. package/dist/tags-4RBZWDHS.js +20 -0
  867. package/dist/tags-4RBZWDHS.js.map +1 -0
  868. package/dist/tags-M7ATU2R7.js +26 -0
  869. package/dist/tags-M7ATU2R7.js.map +1 -0
  870. package/dist/tags-MXJKIBL4.js +20 -0
  871. package/dist/tags-MXJKIBL4.js.map +1 -0
  872. package/dist/tags-YG5EGPBW.js +20 -0
  873. package/dist/tags-YG5EGPBW.js.map +1 -0
  874. package/dist/tags-ZP4O3I2F.js +224 -0
  875. package/dist/tags-ZP4O3I2F.js.map +1 -0
  876. package/dist/targeting-constants-ZGBX3VWU.js +118 -0
  877. package/dist/targeting-constants-ZGBX3VWU.js.map +1 -0
  878. package/dist/targeting-criteria-BTB2RVI4.js +113 -0
  879. package/dist/targeting-criteria-BTB2RVI4.js.map +1 -0
  880. package/dist/targets-DEGJD2N6.js +102 -0
  881. package/dist/targets-DEGJD2N6.js.map +1 -0
  882. package/dist/templates-FZDWQSTV.js +178 -0
  883. package/dist/templates-FZDWQSTV.js.map +1 -0
  884. package/dist/testimonials-TI5EDABS.js +32 -0
  885. package/dist/testimonials-TI5EDABS.js.map +1 -0
  886. package/dist/themes-3RV3HNNE.js +94 -0
  887. package/dist/themes-3RV3HNNE.js.map +1 -0
  888. package/dist/top-companies-OKH7UNKX.js +108 -0
  889. package/dist/top-companies-OKH7UNKX.js.map +1 -0
  890. package/dist/translate-IUQBBVE6.js +598 -0
  891. package/dist/translate-IUQBBVE6.js.map +1 -0
  892. package/dist/triggers-2NWMXQ5P.js +141 -0
  893. package/dist/triggers-2NWMXQ5P.js.map +1 -0
  894. package/dist/tweets-X64YDEAA.js +123 -0
  895. package/dist/tweets-X64YDEAA.js.map +1 -0
  896. package/dist/unfollow-PIONCSBL.js +46 -0
  897. package/dist/unfollow-PIONCSBL.js.map +1 -0
  898. package/dist/unlink-UAPLQMK6.js +67 -0
  899. package/dist/unlink-UAPLQMK6.js.map +1 -0
  900. package/dist/unstage-BJJ5M7MK.js +95 -0
  901. package/dist/unstage-BJJ5M7MK.js.map +1 -0
  902. package/dist/unstage-X2BYGH2S.js +84 -0
  903. package/dist/unstage-X2BYGH2S.js.map +1 -0
  904. package/dist/update-7YK3VSOK.js +142 -0
  905. package/dist/update-7YK3VSOK.js.map +1 -0
  906. package/dist/update-BHG7BTK3.js +155 -0
  907. package/dist/update-BHG7BTK3.js.map +1 -0
  908. package/dist/update-CDJXKEVA.js +63 -0
  909. package/dist/update-CDJXKEVA.js.map +1 -0
  910. package/dist/update-RZXDAMAG.js +98 -0
  911. package/dist/update-RZXDAMAG.js.map +1 -0
  912. package/dist/upload-DSZEXNHH.js +126 -0
  913. package/dist/upload-DSZEXNHH.js.map +1 -0
  914. package/dist/upload-IWFYKD7A.js +150 -0
  915. package/dist/upload-IWFYKD7A.js.map +1 -0
  916. package/dist/upscale-EYCEYRWE.js +109 -0
  917. package/dist/upscale-EYCEYRWE.js.map +1 -0
  918. package/dist/url-options-RA3XISLN.js +130 -0
  919. package/dist/url-options-RA3XISLN.js.map +1 -0
  920. package/dist/url-params-OGZXF6MT.js +98 -0
  921. package/dist/url-params-OGZXF6MT.js.map +1 -0
  922. package/dist/use-E2TA2K6J.js +95 -0
  923. package/dist/use-E2TA2K6J.js.map +1 -0
  924. package/dist/validate-C6HWDI6K.js +88 -0
  925. package/dist/validate-C6HWDI6K.js.map +1 -0
  926. package/dist/variant-ETHB6XUM.js +338 -0
  927. package/dist/variant-ETHB6XUM.js.map +1 -0
  928. package/dist/videos-A2X5AARB.js +39 -0
  929. package/dist/videos-A2X5AARB.js.map +1 -0
  930. package/dist/view-BVEZRRV2.js +121 -0
  931. package/dist/view-BVEZRRV2.js.map +1 -0
  932. package/dist/viewer-check-W4ICSBHO.js +68 -0
  933. package/dist/viewer-check-W4ICSBHO.js.map +1 -0
  934. package/dist/web-GJSFDBBE.js +140 -0
  935. package/dist/web-GJSFDBBE.js.map +1 -0
  936. package/dist/winners-MJDKCGEZ.js +113 -0
  937. package/dist/winners-MJDKCGEZ.js.map +1 -0
  938. package/dist/winning-ads-NNU5MM75.js +84 -0
  939. package/dist/winning-ads-NNU5MM75.js.map +1 -0
  940. package/dist/write-commands-5I5KY6ZS.js +1015 -0
  941. package/dist/write-commands-5I5KY6ZS.js.map +1 -0
  942. package/dist/write-commands-DA6FIFAO.js +737 -0
  943. package/dist/write-commands-DA6FIFAO.js.map +1 -0
  944. package/dist/write-commands-KTPISQRE.js +206 -0
  945. package/dist/write-commands-KTPISQRE.js.map +1 -0
  946. package/dist/write-commands-QBGIWU27.js +713 -0
  947. package/dist/write-commands-QBGIWU27.js.map +1 -0
  948. package/dist/x-VCL5VRXC.js +47 -0
  949. package/dist/x-VCL5VRXC.js.map +1 -0
  950. package/package.json +9 -2
  951. package/dist/chunk-FGHMWBUD.js +0 -9989
  952. package/dist/chunk-FGHMWBUD.js.map +0 -1
  953. package/dist/chunk-HJEMOSPH.js +0 -1292
  954. package/dist/chunk-HJEMOSPH.js.map +0 -1
  955. package/dist/chunk-MF7YA62W.js.map +0 -1
  956. package/dist/chunk-VLUGGVJL.js.map +0 -1
  957. package/dist/chunk-VZEDAFAR.js.map +0 -1
  958. package/dist/chunk-XHC4LMK4.js.map +0 -1
  959. package/dist/client-GR6YL3YX.js +0 -17
  960. package/dist/output-NMQXZF3Z.js +0 -18
  961. /package/dist/{client-GR6YL3YX.js.map → chunk-YQSBHWOI.js.map} +0 -0
  962. /package/dist/{env-4P5HOGNA.js.map → client-EURRWXPW.js.map} +0 -0
  963. /package/dist/{output-NMQXZF3Z.js.map → connect-6DQFYKGN.js.map} +0 -0
  964. /package/dist/{shared-J7DQZ2ED.js.map → customers-FOPXEGCB.js.map} +0 -0
@@ -0,0 +1,103 @@
1
+ import {
2
+ parseXApiError
3
+ } from "./chunk-M6UNISGO.js";
4
+ import {
5
+ resolveXAccountId
6
+ } from "./chunk-FMGW2NZI.js";
7
+ import {
8
+ cacheGet,
9
+ cacheSet,
10
+ writeAdsJson
11
+ } from "./chunk-EIGXX6KI.js";
12
+ import {
13
+ ApiError,
14
+ apiPost
15
+ } from "./chunk-CUL3VB4L.js";
16
+ import "./chunk-6YYSUISH.js";
17
+ import "./chunk-I4FTS5EE.js";
18
+ import {
19
+ registerSchema
20
+ } from "./chunk-MYTDK3AL.js";
21
+ import "./chunk-YQSBHWOI.js";
22
+
23
+ // src/commands/ads/x/active-entities.ts
24
+ import { defineCommand } from "citty";
25
+ registerSchema({
26
+ command: "ads.x.activeEntities",
27
+ description: "List entities (campaigns/line items) that had metric activity within a time range. Use this to narrow which entities to query for stats. Time range max 90 days. Times must be ISO 8601 hour-aligned.",
28
+ args: {
29
+ "account-id": { type: "string", description: "X Ads account ID", required: false },
30
+ entity: { type: "string", description: "CAMPAIGN | LINE_ITEM | PROMOTED_TWEET", required: true },
31
+ "start-time": { type: "string", description: "ISO 8601 hour-aligned start", required: true },
32
+ "end-time": { type: "string", description: "ISO 8601 hour-aligned end", required: true },
33
+ "campaign-ids": { type: "string", description: "CSV of campaign IDs", required: false },
34
+ "line-item-ids": { type: "string", description: "CSV of line item IDs", required: false },
35
+ "funding-instrument-ids": { type: "string", description: "CSV of funding instrument IDs", required: false },
36
+ "no-cache": { type: "boolean", description: "Skip cache", required: false }
37
+ }
38
+ });
39
+ function parseCsv(v) {
40
+ if (typeof v !== "string" || v.length === 0) return void 0;
41
+ const parts = v.split(",").map((s) => s.trim()).filter(Boolean);
42
+ return parts.length > 0 ? parts : void 0;
43
+ }
44
+ var activeEntitiesCommand = defineCommand({
45
+ meta: {
46
+ name: "active-entities",
47
+ description: `List entities with metric activity in a time range.
48
+
49
+ Examples:
50
+ baker ads x active-entities --account-id 18ce53xyz --entity LINE_ITEM \\
51
+ --start-time 2026-04-30T00:00:00Z --end-time 2026-05-07T00:00:00Z`
52
+ },
53
+ args: {
54
+ "account-id": { type: "string", description: "X Ads account ID", required: false },
55
+ entity: { type: "string", description: "CAMPAIGN | LINE_ITEM | PROMOTED_TWEET", required: true },
56
+ "start-time": { type: "string", description: "ISO 8601 hour-aligned start", required: true },
57
+ "end-time": { type: "string", description: "ISO 8601 hour-aligned end", required: true },
58
+ "campaign-ids": { type: "string", description: "CSV of campaign IDs", required: false },
59
+ "line-item-ids": { type: "string", description: "CSV of line item IDs", required: false },
60
+ "funding-instrument-ids": { type: "string", description: "CSV of funding instrument IDs", required: false },
61
+ "no-cache": { type: "boolean", description: "Skip cache", required: false }
62
+ },
63
+ run: async ({ args }) => {
64
+ const accountId = await resolveXAccountId(args);
65
+ const useCache = !args["no-cache"];
66
+ const body = {
67
+ accountId,
68
+ entity: args.entity,
69
+ startTime: args["start-time"],
70
+ endTime: args["end-time"],
71
+ fundingInstrumentIds: parseCsv(args["funding-instrument-ids"]),
72
+ campaignIds: parseCsv(args["campaign-ids"]),
73
+ lineItemIds: parseCsv(args["line-item-ids"]),
74
+ skipCache: !useCache || void 0
75
+ };
76
+ const cacheKey = `active-entities:${JSON.stringify(body)}`;
77
+ if (useCache) {
78
+ const cached = cacheGet("x-account-data", cacheKey);
79
+ if (cached) {
80
+ writeAdsJson({ ok: true, data: cached.data, cached: true });
81
+ return;
82
+ }
83
+ }
84
+ try {
85
+ const data = await apiPost("/api/ads/x/active-entities", body);
86
+ if (useCache) {
87
+ cacheSet("x-account-data", cacheKey, data, 5 * 60 * 1e3);
88
+ }
89
+ writeAdsJson({ ok: true, data });
90
+ } catch (err) {
91
+ if (err instanceof ApiError) {
92
+ writeAdsJson(parseXApiError(err.message, accountId));
93
+ process.exit(1);
94
+ }
95
+ writeAdsJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
96
+ process.exit(1);
97
+ }
98
+ }
99
+ });
100
+ export {
101
+ activeEntitiesCommand
102
+ };
103
+ //# sourceMappingURL=active-entities-YB46ADQN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/x/active-entities.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../../client.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { cacheGet, cacheSet } from \"../cache.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { parseXApiError } from \"./error-parser.ts\";\nimport { resolveXAccountId } from \"./output.ts\";\n\nregisterSchema({\n command: \"ads.x.activeEntities\",\n description:\n \"List entities (campaigns/line items) that had metric activity within a time range. Use this to narrow which entities to query for stats. Time range max 90 days. Times must be ISO 8601 hour-aligned.\",\n args: {\n \"account-id\": { type: \"string\", description: \"X Ads account ID\", required: false },\n entity: { type: \"string\", description: \"CAMPAIGN | LINE_ITEM | PROMOTED_TWEET\", required: true },\n \"start-time\": { type: \"string\", description: \"ISO 8601 hour-aligned start\", required: true },\n \"end-time\": { type: \"string\", description: \"ISO 8601 hour-aligned end\", required: true },\n \"campaign-ids\": { type: \"string\", description: \"CSV of campaign IDs\", required: false },\n \"line-item-ids\": { type: \"string\", description: \"CSV of line item IDs\", required: false },\n \"funding-instrument-ids\": { type: \"string\", description: \"CSV of funding instrument IDs\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Skip cache\", required: false },\n },\n});\n\nfunction parseCsv(v: unknown): string[] | undefined {\n if (typeof v !== \"string\" || v.length === 0) return undefined;\n const parts = v\n .split(\",\")\n .map((s) => s.trim())\n .filter(Boolean);\n return parts.length > 0 ? parts : undefined;\n}\n\nexport const activeEntitiesCommand = defineCommand({\n meta: {\n name: \"active-entities\",\n description: `List entities with metric activity in a time range.\n\nExamples:\n baker ads x active-entities --account-id 18ce53xyz --entity LINE_ITEM \\\\\n --start-time 2026-04-30T00:00:00Z --end-time 2026-05-07T00:00:00Z`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"X Ads account ID\", required: false },\n entity: { type: \"string\", description: \"CAMPAIGN | LINE_ITEM | PROMOTED_TWEET\", required: true },\n \"start-time\": { type: \"string\", description: \"ISO 8601 hour-aligned start\", required: true },\n \"end-time\": { type: \"string\", description: \"ISO 8601 hour-aligned end\", required: true },\n \"campaign-ids\": { type: \"string\", description: \"CSV of campaign IDs\", required: false },\n \"line-item-ids\": { type: \"string\", description: \"CSV of line item IDs\", required: false },\n \"funding-instrument-ids\": { type: \"string\", description: \"CSV of funding instrument IDs\", required: false },\n \"no-cache\": { type: \"boolean\", description: \"Skip cache\", required: false },\n },\n run: async ({ args }) => {\n const accountId = await resolveXAccountId(args);\n const useCache = !args[\"no-cache\"];\n const body = {\n accountId,\n entity: args.entity as string,\n startTime: args[\"start-time\"] as string,\n endTime: args[\"end-time\"] as string,\n fundingInstrumentIds: parseCsv(args[\"funding-instrument-ids\"]),\n campaignIds: parseCsv(args[\"campaign-ids\"]),\n lineItemIds: parseCsv(args[\"line-item-ids\"]),\n skipCache: !useCache || undefined,\n };\n const cacheKey = `active-entities:${JSON.stringify(body)}`;\n if (useCache) {\n const cached = cacheGet<unknown[]>(\"x-account-data\", cacheKey);\n if (cached) {\n writeAdsJson({ ok: true, data: cached.data, cached: true });\n return;\n }\n }\n try {\n const data = await apiPost<unknown[]>(\"/api/ads/x/active-entities\", body);\n if (useCache) {\n cacheSet(\"x-account-data\", cacheKey, data, 5 * 60 * 1000);\n }\n writeAdsJson({ ok: true, data });\n } catch (err) {\n if (err instanceof ApiError) {\n writeAdsJson(parseXApiError(err.message, accountId));\n process.exit(1);\n }\n writeAdsJson({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,74 @@
1
+ import {
2
+ META_LIST_SHAPE_ARGS,
3
+ registerMetaListSchema,
4
+ shapeMetaListRows,
5
+ writeMetaListRows
6
+ } from "./chunk-B4S72KSS.js";
7
+ import {
8
+ csvOrJson,
9
+ handleMetaError,
10
+ resolveAccountIdArg
11
+ } from "./chunk-2UFRHW3T.js";
12
+ import "./chunk-EIGXX6KI.js";
13
+ import {
14
+ NO_CACHE_ARG
15
+ } from "./chunk-ZNQRDLSS.js";
16
+ import "./chunk-KIGGMKAE.js";
17
+ import {
18
+ apiGet
19
+ } from "./chunk-CUL3VB4L.js";
20
+ import "./chunk-6YYSUISH.js";
21
+ import "./chunk-I4FTS5EE.js";
22
+ import "./chunk-MYTDK3AL.js";
23
+ import "./chunk-YQSBHWOI.js";
24
+
25
+ // src/commands/ads/meta/activities.ts
26
+ import { defineCommand } from "citty";
27
+ var listArgs = {
28
+ "account-id": { type: "string", description: "Meta ad account ID" },
29
+ days: { type: "string", description: "Lookback days (default 7)" },
30
+ limit: { type: "string", description: "Max rows" },
31
+ "no-cache": NO_CACHE_ARG,
32
+ ...META_LIST_SHAPE_ARGS
33
+ };
34
+ registerMetaListSchema(
35
+ "activities",
36
+ "Account change log, as a table by default, one row per event: event_time, event_type, actor_name, object_type, object_name, object_id, and change ('old \u2192 new' when the change is a single value). Start here: baker ads meta activities --account-id act_123 --days 2. --fields event_time,object_name,extra_data or --full for the raw change payload; --output json returns the rows in the envelope.",
37
+ listArgs
38
+ );
39
+ var activitiesCommand = defineCommand({
40
+ meta: {
41
+ name: "activities",
42
+ description: `Audit log of recent ad-account changes (created, paused, edited). Default lookback 7 days,
43
+ ~90 day retention server-side.
44
+
45
+ A table by default, one row per event: event_time, event_type, actor_name, object_type,
46
+ object_name, object_id, and change ("old \u2192 new" when the change is a single value: status,
47
+ name, budget, goal). --fields takes dotted paths (extra_data holds the raw change); --full returns
48
+ every field Meta sent; --output json returns the rows as JSON.
49
+
50
+ Examples:
51
+ baker ads meta activities --account-id act_123 --days 14
52
+ baker ads meta activities --account-id act_123 --days 2 --output json
53
+ baker ads meta activities --account-id act_123 --fields event_time,object_name,extra_data`
54
+ },
55
+ args: listArgs,
56
+ run: async ({ args }) => {
57
+ const accountId = resolveAccountIdArg(args);
58
+ try {
59
+ const params = { "account-id": accountId };
60
+ if (args.days) params.days = args.days;
61
+ if (args.limit) params.limit = args.limit;
62
+ if (args["no-cache"]) params["skip-cache"] = "true";
63
+ const data = await apiGet("/api/ads/meta/activities", params);
64
+ const shaped = shapeMetaListRows("activities", data, args);
65
+ writeMetaListRows("activities", shaped, csvOrJson(args));
66
+ } catch (err) {
67
+ handleMetaError(err);
68
+ }
69
+ }
70
+ });
71
+ export {
72
+ activitiesCommand
73
+ };
74
+ //# sourceMappingURL=activities-DUAIQJLN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/activities.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiGet } from \"../../../client.ts\";\nimport { META_LIST_SHAPE_ARGS, registerMetaListSchema, shapeMetaListRows, writeMetaListRows } from \"./list-rows.ts\";\nimport { csvOrJson, handleMetaError, resolveAccountIdArg } from \"./shared.ts\";\n\nconst listArgs = {\n \"account-id\": { type: \"string\", description: \"Meta ad account ID\" },\n days: { type: \"string\", description: \"Lookback days (default 7)\" },\n limit: { type: \"string\", description: \"Max rows\" },\n \"no-cache\": NO_CACHE_ARG,\n ...META_LIST_SHAPE_ARGS,\n} as const;\n\nregisterMetaListSchema(\n \"activities\",\n \"Account change log, as a table by default, one row per event: event_time, event_type, actor_name, object_type, object_name, object_id, and change ('old → new' when the change is a single value). Start here: baker ads meta activities --account-id act_123 --days 2. --fields event_time,object_name,extra_data or --full for the raw change payload; --output json returns the rows in the envelope.\",\n listArgs,\n);\n\nexport const activitiesCommand = defineCommand({\n meta: {\n name: \"activities\",\n description: `Audit log of recent ad-account changes (created, paused, edited). Default lookback 7 days,\n~90 day retention server-side.\n\nA table by default, one row per event: event_time, event_type, actor_name, object_type,\nobject_name, object_id, and change (\"old → new\" when the change is a single value: status,\nname, budget, goal). --fields takes dotted paths (extra_data holds the raw change); --full returns\nevery field Meta sent; --output json returns the rows as JSON.\n\nExamples:\n baker ads meta activities --account-id act_123 --days 14\n baker ads meta activities --account-id act_123 --days 2 --output json\n baker ads meta activities --account-id act_123 --fields event_time,object_name,extra_data`,\n },\n args: listArgs,\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n try {\n const params: Record<string, string> = { \"account-id\": accountId };\n if (args.days) params.days = args.days as string;\n if (args.limit) params.limit = args.limit as string;\n if (args[\"no-cache\"]) params[\"skip-cache\"] = \"true\";\n const data = await apiGet<Array<Record<string, unknown>>>(\"/api/ads/meta/activities\", params);\n const shaped = shapeMetaListRows(\"activities\", data, args);\n writeMetaListRows(\"activities\", shaped, csvOrJson(args));\n } catch (err) {\n handleMetaError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAM9B,IAAM,WAAW;AAAA,EACf,cAAc,EAAE,MAAM,UAAU,aAAa,qBAAqB;AAAA,EAClE,MAAM,EAAE,MAAM,UAAU,aAAa,4BAA4B;AAAA,EACjE,OAAO,EAAE,MAAM,UAAU,aAAa,WAAW;AAAA,EACjD,YAAY;AAAA,EACZ,GAAG;AACL;AAEA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,oBAAoB,cAAc;AAAA,EAC7C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,oBAAoB,IAAI;AAC1C,QAAI;AACF,YAAM,SAAiC,EAAE,cAAc,UAAU;AACjE,UAAI,KAAK,KAAM,QAAO,OAAO,KAAK;AAClC,UAAI,KAAK,MAAO,QAAO,QAAQ,KAAK;AACpC,UAAI,KAAK,UAAU,EAAG,QAAO,YAAY,IAAI;AAC7C,YAAM,OAAO,MAAM,OAAuC,4BAA4B,MAAM;AAC5F,YAAM,SAAS,kBAAkB,cAAc,MAAM,IAAI;AACzD,wBAAkB,cAAc,QAAQ,UAAU,IAAI,CAAC;AAAA,IACzD,SAAS,KAAK;AACZ,sBAAgB,GAAG;AAAA,IACrB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,170 @@
1
+ import {
2
+ clearableArg,
3
+ compact,
4
+ failWriteValidation,
5
+ lowerArg,
6
+ microsFromArg,
7
+ productFiltersArg,
8
+ requireTarget,
9
+ schemaArgs,
10
+ stageChatgptOp,
11
+ statusCommand
12
+ } from "./chunk-E3HYHT7C.js";
13
+ import {
14
+ CHATGPT_ADS_REFERENCE
15
+ } from "./chunk-MIJAGBEP.js";
16
+ import "./chunk-EIGXX6KI.js";
17
+ import "./chunk-CUL3VB4L.js";
18
+ import "./chunk-6YYSUISH.js";
19
+ import "./chunk-I4FTS5EE.js";
20
+ import {
21
+ registerSchema
22
+ } from "./chunk-MYTDK3AL.js";
23
+ import "./chunk-YQSBHWOI.js";
24
+
25
+ // src/commands/ads/chatgpt/ad-group-writes.ts
26
+ import { defineCommand } from "citty";
27
+ var REFERENCE = CHATGPT_ADS_REFERENCE.adGroups;
28
+ var SHARED_ARGS = {
29
+ name: { type: "string", description: "Ad group name (3+ characters)" },
30
+ description: { type: "string", description: "Internal description" },
31
+ "context-hints": {
32
+ type: "string",
33
+ description: "When the ad would be useful, short phrases separated by commas \u2014 or by | when a phrase has a comma. ChatGPT's counterpart to keywords, written in the language of the campaign's countries, as people ask ChatGPT. On update it replaces the whole list; none clears it"
34
+ },
35
+ "bid-strategy": {
36
+ type: "string",
37
+ description: "fixed_bid (default, needs --max-bid) | maximize_clicks | maximize_conversions"
38
+ },
39
+ "max-bid": { type: "string", description: "Bid in account currency, e.g. 2.50 \u2014 fixed_bid only" },
40
+ "tracking-template": {
41
+ type: "string",
42
+ description: "Query string added to this ad group's landing pages, e.g. ad_group_id={ad_group_id} \u2014 none clears"
43
+ },
44
+ "audience-bids": {
45
+ type: "string",
46
+ description: "Raise or lower the fixed bid for people in an audience: audience=multiplier pairs, 0.1 to 10, e.g. caud_123=1.5,caud_456=0.8. Audiences of ~25,000 people only; not in the EEA or Switzerland. On update it replaces them; none clears"
47
+ },
48
+ "product-filters": {
49
+ type: "string",
50
+ description: "Catalog campaigns only: which products it shows \u2014 e.g. brand in Acme; price lte 5000 (preview with `catalogs products`). On update it replaces the set; none shows the whole catalog"
51
+ },
52
+ status: { type: "string", description: "paused (default) | active" }
53
+ };
54
+ var CREATE_ARGS = {
55
+ ...SHARED_ARGS,
56
+ "campaign-id": { type: "string", description: "cmpn_\u2026 or a staged chatgpt_temp_ ref", required: true },
57
+ name: { type: "string", description: "Ad group name (3+ characters)", required: true }
58
+ };
59
+ var UPDATE_ARGS = {
60
+ id: { type: "positional", description: "Ad group id (adgrp_\u2026) or a staged chatgpt_temp_ ref", required: true },
61
+ ...SHARED_ARGS
62
+ };
63
+ function contextHintsArg(value) {
64
+ if (typeof value !== "string" || value.trim() === "") {
65
+ return void 0;
66
+ }
67
+ if (value.trim().toLowerCase() === "none") {
68
+ return [];
69
+ }
70
+ const separator = value.includes("|") ? "|" : ",";
71
+ return value.split(separator).map((hint) => hint.trim()).filter(Boolean);
72
+ }
73
+ function audienceBidsArg(value) {
74
+ if (typeof value !== "string" || value.trim() === "") {
75
+ return void 0;
76
+ }
77
+ if (value.trim().toLowerCase() === "none") {
78
+ return [];
79
+ }
80
+ return value.split(",").map((pair) => pair.trim()).filter(Boolean).map((pair) => {
81
+ const [audienceId = "", multiplier = ""] = pair.split("=").map((part) => part.trim());
82
+ const times = Number(multiplier.replace(",", "."));
83
+ if (!audienceId || !Number.isFinite(times)) {
84
+ failWriteValidation(`"${pair}" is not an audience bid \u2014 write audience=multiplier, e.g. caud_123=1.5`);
85
+ }
86
+ return { audienceId, multiplierMicros: Math.round(times * 1e6) };
87
+ });
88
+ }
89
+ function productSetArg(value) {
90
+ const filters = productFiltersArg(value);
91
+ return filters === void 0 ? void 0 : { filters };
92
+ }
93
+ function sharedPayload(args) {
94
+ return {
95
+ name: args.name,
96
+ description: args.description,
97
+ contextHints: contextHintsArg(args["context-hints"]),
98
+ bidStrategy: lowerArg(args["bid-strategy"]),
99
+ maxBidMicros: microsFromArg(args["max-bid"], "--max-bid"),
100
+ trackingTemplate: clearableArg(args["tracking-template"]),
101
+ productSet: productSetArg(args["product-filters"]),
102
+ audienceBidMultipliers: audienceBidsArg(args["audience-bids"]),
103
+ status: lowerArg(args.status)
104
+ };
105
+ }
106
+ function adGroupCreateOp(args) {
107
+ return { kind: "adGroup.create", payload: compact({ ...sharedPayload(args), campaignId: args["campaign-id"] }) };
108
+ }
109
+ registerSchema({
110
+ command: "ads.chatgpt.ad-groups.create",
111
+ description: "Stage a new ad group under a live campaign (cmpn_\u2026) or one staged in this chat (its chatgpt_temp_ ref). Context hints decide where the ad shows; a fixed bid needs --max-bid.",
112
+ args: schemaArgs(CREATE_ARGS)
113
+ });
114
+ var adGroupsCreateCommand = defineCommand({
115
+ meta: {
116
+ name: "create",
117
+ description: `Stage a new ad group (applies when the chat is published).
118
+
119
+ Examples:
120
+ baker ads chatgpt ad-groups create --campaign-id cmpn_123 --name "Rooftop owners" --context-hints "solar panels for my house,cut my electricity bill" --max-bid 2.50
121
+ baker ads chatgpt ad-groups create --campaign-id chatgpt_temp_ab12 --name "Auto" --bid-strategy maximize_clicks`
122
+ },
123
+ args: CREATE_ARGS,
124
+ run: async ({ args }) => {
125
+ await stageChatgptOp(adGroupCreateOp(args), REFERENCE, (staged) => [
126
+ adGroupNextHint(staged.ref, args["product-filters"] !== void 0)
127
+ ]);
128
+ }
129
+ });
130
+ registerSchema({
131
+ command: "ads.chatgpt.ad-groups.update",
132
+ description: "Stage a change to an ad group \u2014 name, context hints, bid or status. --context-hints replaces the whole list: read the ad group first and pass every hint to keep.",
133
+ args: schemaArgs(UPDATE_ARGS)
134
+ });
135
+ var adGroupsUpdateCommand = defineCommand({
136
+ meta: {
137
+ name: "update",
138
+ description: `Stage a change to an ad group. --context-hints replaces the whole list.
139
+
140
+ Examples:
141
+ baker ads chatgpt ad-groups update adgrp_123 --max-bid 3
142
+ baker ads chatgpt ad-groups update adgrp_123 --context-hints "solar panels,home battery,cut my electricity bill"`
143
+ },
144
+ args: UPDATE_ARGS,
145
+ run: async ({ args }) => {
146
+ await stageChatgptOp(
147
+ { kind: "adGroup.update", target: requireTarget(args, "id"), payload: compact(sharedPayload(args)) },
148
+ REFERENCE
149
+ );
150
+ }
151
+ });
152
+ var adGroupsPauseCommand = statusCommand("adGroup", "pause", REFERENCE);
153
+ var adGroupsResumeCommand = statusCommand("adGroup", "resume", REFERENCE);
154
+ var adGroupsArchiveCommand = statusCommand("adGroup", "archive", REFERENCE);
155
+ function adGroupNextHint(ref, productFilters) {
156
+ const productAd = `baker ads chatgpt ads create-product --ad-group-id ${ref} --name "\u2026"`;
157
+ return productFilters ? `Next, give it its product ad: ${productAd}` : `Next, give it a card: baker ads chatgpt ads create --ad-group-id ${ref} --name "\u2026" --title "\u2026" --body "\u2026" --target-url https://\u2026 --image-url https://\u2026 \u2014 under a catalog campaign, its product ad instead: ${productAd}`;
158
+ }
159
+ export {
160
+ adGroupCreateOp,
161
+ adGroupNextHint,
162
+ adGroupsArchiveCommand,
163
+ adGroupsCreateCommand,
164
+ adGroupsPauseCommand,
165
+ adGroupsResumeCommand,
166
+ adGroupsUpdateCommand,
167
+ audienceBidsArg,
168
+ contextHintsArg
169
+ };
170
+ //# sourceMappingURL=ad-group-writes-HL3EZ3BT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/chatgpt/ad-group-writes.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { CHATGPT_ADS_REFERENCE } from \"./shared.ts\";\nimport {\n clearableArg,\n compact,\n failWriteValidation,\n lowerArg,\n microsFromArg,\n productFiltersArg,\n requireTarget,\n schemaArgs,\n stageChatgptOp,\n statusCommand,\n} from \"./write-shared.ts\";\n\n/**\n * Staged ad group writes. The billing event follows the campaign's objective and\n * is filled in by the backend; an update's bidding is completed from the live\n * ad group, so passing only --max-bid keeps the strategy.\n */\n\nconst REFERENCE = CHATGPT_ADS_REFERENCE.adGroups;\n\nconst SHARED_ARGS = {\n name: { type: \"string\", description: \"Ad group name (3+ characters)\" },\n description: { type: \"string\", description: \"Internal description\" },\n \"context-hints\": {\n type: \"string\",\n description:\n \"When the ad would be useful, short phrases separated by commas — or by | when a phrase has a comma. ChatGPT's counterpart to keywords, written in the language of the campaign's countries, as people ask ChatGPT. On update it replaces the whole list; none clears it\",\n },\n \"bid-strategy\": {\n type: \"string\",\n description: \"fixed_bid (default, needs --max-bid) | maximize_clicks | maximize_conversions\",\n },\n \"max-bid\": { type: \"string\", description: \"Bid in account currency, e.g. 2.50 — fixed_bid only\" },\n \"tracking-template\": {\n type: \"string\",\n description: \"Query string added to this ad group's landing pages, e.g. ad_group_id={ad_group_id} — none clears\",\n },\n \"audience-bids\": {\n type: \"string\",\n description:\n \"Raise or lower the fixed bid for people in an audience: audience=multiplier pairs, 0.1 to 10, e.g. caud_123=1.5,caud_456=0.8. Audiences of ~25,000 people only; not in the EEA or Switzerland. On update it replaces them; none clears\",\n },\n \"product-filters\": {\n type: \"string\",\n description:\n \"Catalog campaigns only: which products it shows — e.g. brand in Acme; price lte 5000 (preview with `catalogs products`). On update it replaces the set; none shows the whole catalog\",\n },\n status: { type: \"string\", description: \"paused (default) | active\" },\n} as const;\n\nconst CREATE_ARGS = {\n ...SHARED_ARGS,\n \"campaign-id\": { type: \"string\", description: \"cmpn_… or a staged chatgpt_temp_ ref\", required: true },\n name: { type: \"string\", description: \"Ad group name (3+ characters)\", required: true },\n} as const;\n\nconst UPDATE_ARGS = {\n id: { type: \"positional\", description: \"Ad group id (adgrp_…) or a staged chatgpt_temp_ ref\", required: true },\n ...SHARED_ARGS,\n} as const;\n\ntype Args = Record<string, unknown>;\n\n/**\n * Hints are plain phrases, which carry commas — so `|` splits them when it is\n * there, commas otherwise. `none` clears the list, which ChatGPT Ads takes as\n * an empty one.\n */\nexport function contextHintsArg(value: unknown): string[] | undefined {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n return undefined;\n }\n if (value.trim().toLowerCase() === \"none\") {\n return [];\n }\n const separator = value.includes(\"|\") ? \"|\" : \",\";\n return value\n .split(separator)\n .map((hint) => hint.trim())\n .filter(Boolean);\n}\n\n/** `caud_1=1.5,caud_2=0.8` as micros; `none` clears the adjustments. */\nexport function audienceBidsArg(value: unknown): Array<{ audienceId: string; multiplierMicros: number }> | undefined {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n return undefined;\n }\n if (value.trim().toLowerCase() === \"none\") {\n return [];\n }\n return value\n .split(\",\")\n .map((pair) => pair.trim())\n .filter(Boolean)\n .map((pair) => {\n const [audienceId = \"\", multiplier = \"\"] = pair.split(\"=\").map((part) => part.trim());\n const times = Number(multiplier.replace(\",\", \".\"));\n if (!audienceId || !Number.isFinite(times)) {\n failWriteValidation(`\"${pair}\" is not an audience bid — write audience=multiplier, e.g. caud_123=1.5`);\n }\n return { audienceId, multiplierMicros: Math.round(times * 1_000_000) };\n });\n}\n\nfunction productSetArg(value: unknown) {\n const filters = productFiltersArg(value);\n return filters === undefined ? undefined : { filters };\n}\n\nfunction sharedPayload(args: Args): Record<string, unknown> {\n return {\n name: args.name,\n description: args.description,\n contextHints: contextHintsArg(args[\"context-hints\"]),\n bidStrategy: lowerArg(args[\"bid-strategy\"]),\n maxBidMicros: microsFromArg(args[\"max-bid\"], \"--max-bid\"),\n trackingTemplate: clearableArg(args[\"tracking-template\"]),\n productSet: productSetArg(args[\"product-filters\"]),\n audienceBidMultipliers: audienceBidsArg(args[\"audience-bids\"]),\n status: lowerArg(args.status),\n };\n}\n\nexport function adGroupCreateOp(args: Args): Record<string, unknown> {\n return { kind: \"adGroup.create\", payload: compact({ ...sharedPayload(args), campaignId: args[\"campaign-id\"] }) };\n}\n\nregisterSchema({\n command: \"ads.chatgpt.ad-groups.create\",\n description:\n \"Stage a new ad group under a live campaign (cmpn_…) or one staged in this chat (its chatgpt_temp_ ref). Context hints decide where the ad shows; a fixed bid needs --max-bid.\",\n args: schemaArgs(CREATE_ARGS),\n});\n\nexport const adGroupsCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a new ad group (applies when the chat is published).\n\nExamples:\n baker ads chatgpt ad-groups create --campaign-id cmpn_123 --name \"Rooftop owners\" --context-hints \"solar panels for my house,cut my electricity bill\" --max-bid 2.50\n baker ads chatgpt ad-groups create --campaign-id chatgpt_temp_ab12 --name \"Auto\" --bid-strategy maximize_clicks`,\n },\n args: CREATE_ARGS,\n run: async ({ args }) => {\n await stageChatgptOp(adGroupCreateOp(args), REFERENCE, (staged) => [\n adGroupNextHint(staged.ref, args[\"product-filters\"] !== undefined),\n ]);\n },\n});\n\nregisterSchema({\n command: \"ads.chatgpt.ad-groups.update\",\n description:\n \"Stage a change to an ad group — name, context hints, bid or status. --context-hints replaces the whole list: read the ad group first and pass every hint to keep.\",\n args: schemaArgs(UPDATE_ARGS),\n});\n\nexport const adGroupsUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Stage a change to an ad group. --context-hints replaces the whole list.\n\nExamples:\n baker ads chatgpt ad-groups update adgrp_123 --max-bid 3\n baker ads chatgpt ad-groups update adgrp_123 --context-hints \"solar panels,home battery,cut my electricity bill\"`,\n },\n args: UPDATE_ARGS,\n run: async ({ args }) => {\n await stageChatgptOp(\n { kind: \"adGroup.update\", target: requireTarget(args, \"id\"), payload: compact(sharedPayload(args)) },\n REFERENCE,\n );\n },\n});\n\nexport const adGroupsPauseCommand = statusCommand(\"adGroup\", \"pause\", REFERENCE);\nexport const adGroupsResumeCommand = statusCommand(\"adGroup\", \"resume\", REFERENCE);\nexport const adGroupsArchiveCommand = statusCommand(\"adGroup\", \"archive\", REFERENCE);\n\n/** What an ad group needs next: a card, or — under a catalog campaign — its one product ad. */\nexport function adGroupNextHint(ref: string, productFilters: boolean): string {\n const productAd = `baker ads chatgpt ads create-product --ad-group-id ${ref} --name \"…\"`;\n return productFilters\n ? `Next, give it its product ad: ${productAd}`\n : `Next, give it a card: baker ads chatgpt ads create --ad-group-id ${ref} --name \"…\" --title \"…\" --body \"…\" --target-url https://… --image-url https://… — under a catalog campaign, its product ad instead: ${productAd}`;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,68 @@
1
+ import {
2
+ CHATGPT_ADS_REFERENCE,
3
+ runChatgptListRead
4
+ } from "./chunk-MIJAGBEP.js";
5
+ import "./chunk-EIGXX6KI.js";
6
+ import "./chunk-CUL3VB4L.js";
7
+ import "./chunk-6YYSUISH.js";
8
+ import "./chunk-I4FTS5EE.js";
9
+ import {
10
+ registerSchema
11
+ } from "./chunk-MYTDK3AL.js";
12
+ import "./chunk-YQSBHWOI.js";
13
+
14
+ // src/commands/ads/chatgpt/ad-groups.ts
15
+ import { defineCommand } from "citty";
16
+ var args = {
17
+ "campaign-id": { type: "string", description: "Only this campaign's ad groups (cmpn_\u2026)", required: false },
18
+ full: { type: "boolean", description: "Return ChatGPT Ads' own ad group objects", required: false }
19
+ };
20
+ registerSchema({
21
+ command: "ads.chatgpt.ad-groups",
22
+ description: "Ad groups in the connected ChatGPT Ads account, or in one campaign: bid strategy, billing event, max bid (currency units), context hints (when the ad should show \u2014 ChatGPT's counterpart to keywords) and serving issues.",
23
+ args
24
+ });
25
+ var adGroupsListCommand = defineCommand({
26
+ meta: {
27
+ name: "list",
28
+ description: "ChatGPT Ads ad groups. Example: baker ads chatgpt ad-groups --campaign-id cmpn_123"
29
+ },
30
+ args,
31
+ run: async ({ args: input }) => {
32
+ const params = {};
33
+ if (input["campaign-id"]) {
34
+ params["campaign-id"] = input["campaign-id"];
35
+ }
36
+ if (input.full) {
37
+ params.full = "true";
38
+ }
39
+ await runChatgptListRead(CHATGPT_ADS_REFERENCE.adGroups, "/api/ads/chatgpt/ad-groups", params);
40
+ }
41
+ });
42
+ var adGroupsCommand = defineCommand({
43
+ meta: {
44
+ name: "ad-groups",
45
+ description: `ChatGPT Ads ad groups: how each one bids and the context hints that decide where it shows \u2014 or stage a change that applies when the chat is published.
46
+
47
+ Examples:
48
+ baker ads chatgpt ad-groups --campaign-id cmpn_123
49
+ baker ads chatgpt ad-groups create --campaign-id cmpn_123 --name "Rooftop owners" --context-hints "solar panels for my house" --max-bid 2.50
50
+ baker ads chatgpt ad-groups update adgrp_123 --max-bid 3
51
+ baker ads chatgpt ad-groups pause adgrp_123`
52
+ },
53
+ subCommands: {
54
+ list: adGroupsListCommand,
55
+ create: () => import("./ad-group-writes-HL3EZ3BT.js").then((m) => m.adGroupsCreateCommand),
56
+ update: () => import("./ad-group-writes-HL3EZ3BT.js").then((m) => m.adGroupsUpdateCommand),
57
+ pause: () => import("./ad-group-writes-HL3EZ3BT.js").then((m) => m.adGroupsPauseCommand),
58
+ resume: () => import("./ad-group-writes-HL3EZ3BT.js").then((m) => m.adGroupsResumeCommand),
59
+ archive: () => import("./ad-group-writes-HL3EZ3BT.js").then((m) => m.adGroupsArchiveCommand)
60
+ },
61
+ // A parent must never declare `run`: citty falls through to it after the matched subcommand.
62
+ args,
63
+ default: "list"
64
+ });
65
+ export {
66
+ adGroupsCommand
67
+ };
68
+ //# sourceMappingURL=ad-groups-FGS5JJGN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/chatgpt/ad-groups.ts"],"sourcesContent":["import type { ChatgptAdsAdGroup } 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 \"campaign-id\": { type: \"string\", description: \"Only this campaign's ad groups (cmpn_…)\", required: false },\n full: { type: \"boolean\", description: \"Return ChatGPT Ads' own ad group objects\", required: false },\n} as const;\n\nregisterSchema({\n command: \"ads.chatgpt.ad-groups\",\n description:\n \"Ad groups in the connected ChatGPT Ads account, or in one campaign: bid strategy, billing event, max bid (currency units), context hints (when the ad should show — ChatGPT's counterpart to keywords) and serving issues.\",\n args,\n});\n\nconst adGroupsListCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"ChatGPT Ads ad groups. Example: baker ads chatgpt ad-groups --campaign-id cmpn_123\",\n },\n args,\n run: async ({ args: input }) => {\n const params: Record<string, string> = {};\n if (input[\"campaign-id\"]) {\n params[\"campaign-id\"] = input[\"campaign-id\"];\n }\n if (input.full) {\n params.full = \"true\";\n }\n await runChatgptListRead<ChatgptAdsAdGroup[]>(CHATGPT_ADS_REFERENCE.adGroups, \"/api/ads/chatgpt/ad-groups\", params);\n },\n});\n\nexport const adGroupsCommand = defineCommand({\n meta: {\n name: \"ad-groups\",\n description: `ChatGPT Ads ad groups: how each one bids and the context hints that decide where it shows — or stage a change that applies when the chat is published.\n\nExamples:\n baker ads chatgpt ad-groups --campaign-id cmpn_123\n baker ads chatgpt ad-groups create --campaign-id cmpn_123 --name \"Rooftop owners\" --context-hints \"solar panels for my house\" --max-bid 2.50\n baker ads chatgpt ad-groups update adgrp_123 --max-bid 3\n baker ads chatgpt ad-groups pause adgrp_123`,\n },\n subCommands: {\n list: adGroupsListCommand,\n create: () => import(\"./ad-group-writes.ts\").then((m) => m.adGroupsCreateCommand),\n update: () => import(\"./ad-group-writes.ts\").then((m) => m.adGroupsUpdateCommand),\n pause: () => import(\"./ad-group-writes.ts\").then((m) => m.adGroupsPauseCommand),\n resume: () => import(\"./ad-group-writes.ts\").then((m) => m.adGroupsResumeCommand),\n archive: () => import(\"./ad-group-writes.ts\").then((m) => m.adGroupsArchiveCommand),\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,gDAA2C,UAAU,MAAM;AAAA,EACzG,MAAM,EAAE,MAAM,WAAW,aAAa,4CAA4C,UAAU,MAAM;AACpG;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF;AACF,CAAC;AAED,IAAM,sBAAsB,cAAc;AAAA,EACxC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA;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,mBAAwC,sBAAsB,UAAU,8BAA8B,MAAM;AAAA,EACpH;AACF,CAAC;AAEM,IAAM,kBAAkB,cAAc;AAAA,EAC3C,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,+BAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAqB;AAAA,IAChF,QAAQ,MAAM,OAAO,+BAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAqB;AAAA,IAChF,OAAO,MAAM,OAAO,+BAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,oBAAoB;AAAA,IAC9E,QAAQ,MAAM,OAAO,+BAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,qBAAqB;AAAA,IAChF,SAAS,MAAM,OAAO,+BAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,sBAAsB;AAAA,EACpF;AAAA;AAAA,EAEA;AAAA,EACA,SAAS;AACX,CAAC;","names":[]}
@@ -0,0 +1,174 @@
1
+ import {
2
+ clearableArg,
3
+ compact,
4
+ cropArg,
5
+ lowerArg,
6
+ requireTarget,
7
+ schemaArgs,
8
+ stageChatgptOp,
9
+ statusCommand
10
+ } from "./chunk-E3HYHT7C.js";
11
+ import {
12
+ CHATGPT_ADS_REFERENCE
13
+ } from "./chunk-MIJAGBEP.js";
14
+ import "./chunk-EIGXX6KI.js";
15
+ import "./chunk-CUL3VB4L.js";
16
+ import "./chunk-6YYSUISH.js";
17
+ import "./chunk-I4FTS5EE.js";
18
+ import {
19
+ registerSchema
20
+ } from "./chunk-MYTDK3AL.js";
21
+ import "./chunk-YQSBHWOI.js";
22
+
23
+ // src/commands/ads/chatgpt/ad-writes.ts
24
+ import { defineCommand } from "citty";
25
+ var REFERENCE = CHATGPT_ADS_REFERENCE.ads;
26
+ var SHARED_ARGS = {
27
+ name: { type: "string", description: "Internal ad name (3+ characters)" },
28
+ title: { type: "string", description: "Card title, 3\u201350 characters" },
29
+ body: { type: "string", description: "Card text, up to 100 characters" },
30
+ "target-url": { type: "string", description: "Landing page, https://" },
31
+ "image-url": {
32
+ type: "string",
33
+ description: "Card image, https:// \u2014 PNG, JPEG, WebP or AVIF; square and 640 \xD7 640 px or larger reads best"
34
+ },
35
+ "image-crop": {
36
+ type: "string",
37
+ description: "The square of the image the card shows, as x,y,width,height shares from 0 to 1, e.g. 0.1,0,0.8,0.8 (default: chosen by ChatGPT Ads)"
38
+ },
39
+ "tracking-template": {
40
+ type: "string",
41
+ description: "Query string added to this card's landing page, e.g. ad_id={ad_id} \u2014 none clears"
42
+ },
43
+ status: { type: "string", description: "paused (default) | active" }
44
+ };
45
+ var CREATE_ARGS = {
46
+ ...SHARED_ARGS,
47
+ "ad-group-id": { type: "string", description: "adgrp_\u2026 or a staged chatgpt_temp_ ref", required: true },
48
+ name: { type: "string", description: "Internal ad name (3+ characters)", required: true },
49
+ title: { type: "string", description: "Card title, 3\u201350 characters", required: true },
50
+ body: { type: "string", description: "Card text, up to 100 characters", required: true },
51
+ "target-url": { type: "string", description: "Landing page, https://", required: true },
52
+ "image-url": { type: "string", description: "Card image, https://, at least 640 \xD7 640 px", required: true }
53
+ };
54
+ var UPDATE_ARGS = {
55
+ id: { type: "positional", description: "Ad id (ad_\u2026) or a staged chatgpt_temp_ ref", required: true },
56
+ ...SHARED_ARGS
57
+ };
58
+ function sharedPayload(args) {
59
+ return {
60
+ name: args.name,
61
+ title: args.title,
62
+ body: args.body,
63
+ targetUrl: args["target-url"],
64
+ imageUrl: args["image-url"],
65
+ imageCrop: cropArg(args["image-crop"], "--image-crop"),
66
+ trackingTemplate: clearableArg(args["tracking-template"]),
67
+ status: lowerArg(args.status)
68
+ };
69
+ }
70
+ function adCreateOp(args) {
71
+ return { kind: "ad.create", payload: compact({ ...sharedPayload(args), adGroupId: args["ad-group-id"] }) };
72
+ }
73
+ registerSchema({
74
+ command: "ads.chatgpt.ads.create",
75
+ description: "Stage a new chat card under a live ad group (adgrp_\u2026) or one staged in this chat. Every new card goes through ChatGPT Ads' review after publish before it serves.",
76
+ args: schemaArgs(CREATE_ARGS)
77
+ });
78
+ var adsCreateCommand = defineCommand({
79
+ meta: {
80
+ name: "create",
81
+ description: `Stage a new chat card (applies when the chat is published).
82
+
83
+ Example:
84
+ baker ads chatgpt ads create --ad-group-id adgrp_123 --name "Card A" --title "Solar from 0 upfront" \\
85
+ --body "Get a quote in two minutes." --target-url https://example.com/solar --image-url https://example.com/card.png`
86
+ },
87
+ args: CREATE_ARGS,
88
+ run: async ({ args }) => {
89
+ await stageChatgptOp(adCreateOp(args), REFERENCE, () => [
90
+ "Review everything staged with `baker ads chatgpt draft`. It applies when the chat is published."
91
+ ]);
92
+ }
93
+ });
94
+ registerSchema({
95
+ command: "ads.chatgpt.ads.update",
96
+ description: "Stage a change to a chat card \u2014 any of title, body, landing page, image, name or status; the rest is kept from the live card. Changing the card sends it back to review.",
97
+ args: schemaArgs(UPDATE_ARGS)
98
+ });
99
+ var adsUpdateCommand = defineCommand({
100
+ meta: {
101
+ name: "update",
102
+ description: `Stage a change to a chat card; what you do not pass is kept.
103
+
104
+ Examples:
105
+ baker ads chatgpt ads update ad_123 --title "Solar with no upfront cost"
106
+ baker ads chatgpt ads update ad_123 --target-url https://example.com/solar-v2`
107
+ },
108
+ args: UPDATE_ARGS,
109
+ run: async ({ args }) => {
110
+ await stageChatgptOp(
111
+ { kind: "ad.update", target: requireTarget(args, "id"), payload: compact(sharedPayload(args)) },
112
+ REFERENCE
113
+ );
114
+ }
115
+ });
116
+ var adsPauseCommand = statusCommand("ad", "pause", REFERENCE);
117
+ var adsResumeCommand = statusCommand("ad", "resume", REFERENCE);
118
+ var adsArchiveCommand = statusCommand("ad", "archive", REFERENCE);
119
+ var PRODUCT_ARGS = {
120
+ "ad-group-id": {
121
+ type: "string",
122
+ description: "adgrp_\u2026 under a catalog campaign, or a staged chatgpt_temp_ ref",
123
+ required: true
124
+ },
125
+ name: { type: "string", description: "Internal ad name (3+ characters)", required: true },
126
+ title: {
127
+ type: "string",
128
+ description: "Title template (default {{product.title}}) \u2014 text with {{brand}}, {{product.title}}, {{product.body}}, {{product.price}}"
129
+ },
130
+ "tracking-template": { type: "string", description: "Query string added to each product's landing page" },
131
+ status: { type: "string", description: "paused (default) | active" }
132
+ };
133
+ function productAdCreateOp(args) {
134
+ return {
135
+ kind: "ad.create",
136
+ payload: compact({
137
+ format: "product_template",
138
+ adGroupId: args["ad-group-id"],
139
+ name: args.name,
140
+ title: args.title,
141
+ trackingTemplate: args["tracking-template"],
142
+ status: lowerArg(args.status)
143
+ })
144
+ };
145
+ }
146
+ registerSchema({
147
+ command: "ads.chatgpt.ads.create-product",
148
+ description: "Stage the product ad of a catalog ad group: one template each product fills with its own title, text, price, image and link. One per ad group.",
149
+ args: schemaArgs(PRODUCT_ARGS)
150
+ });
151
+ var adsCreateProductCommand = defineCommand({
152
+ meta: {
153
+ name: "create-product",
154
+ description: `Stage a product ad for a catalog ad group (applies when the chat is published).
155
+
156
+ Example:
157
+ baker ads chatgpt ads create-product --ad-group-id adgrp_123 --name "Catalog ad" --title "{{brand}}: {{product.title}}"`
158
+ },
159
+ args: PRODUCT_ARGS,
160
+ run: async ({ args }) => {
161
+ await stageChatgptOp(productAdCreateOp(args), REFERENCE);
162
+ }
163
+ });
164
+ export {
165
+ adCreateOp,
166
+ adsArchiveCommand,
167
+ adsCreateCommand,
168
+ adsCreateProductCommand,
169
+ adsPauseCommand,
170
+ adsResumeCommand,
171
+ adsUpdateCommand,
172
+ productAdCreateOp
173
+ };
174
+ //# sourceMappingURL=ad-writes-LX4ACUHB.js.map