@koda-sl/baker-cli 0.496.0 → 0.497.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 (841) hide show
  1. package/README.md +25 -4
  2. package/dist/account-ZKJFX2GK.js +80 -0
  3. package/dist/account-ZKJFX2GK.js.map +1 -0
  4. package/dist/account-users-SZCYHVBM.js +62 -0
  5. package/dist/account-users-SZCYHVBM.js.map +1 -0
  6. package/dist/accounts-5DFYKYSM.js +78 -0
  7. package/dist/accounts-5DFYKYSM.js.map +1 -0
  8. package/dist/accounts-OGAIQNE6.js +612 -0
  9. package/dist/accounts-OGAIQNE6.js.map +1 -0
  10. package/dist/actions-FMNJSOBA.js +55 -0
  11. package/dist/activecampaign-LYYYH6XD.js +936 -0
  12. package/dist/activecampaign-LYYYH6XD.js.map +1 -0
  13. package/dist/add-AOQLZRPC.js +80 -0
  14. package/dist/add-AOQLZRPC.js.map +1 -0
  15. package/dist/add-HWXEPSZF.js +105 -0
  16. package/dist/add-HWXEPSZF.js.map +1 -0
  17. package/dist/add-VDZPGZF5.js +148 -0
  18. package/dist/add-VDZPGZF5.js.map +1 -0
  19. package/dist/add-YYP3O536.js +303 -0
  20. package/dist/add-YYP3O536.js.map +1 -0
  21. package/dist/ads-OLXSDPD6.js +40 -0
  22. package/dist/advertisers-STYAIX72.js +121 -0
  23. package/dist/advertisers-STYAIX72.js.map +1 -0
  24. package/dist/analytics-6WBK4VFO.js +1977 -0
  25. package/dist/analytics-6WBK4VFO.js.map +1 -0
  26. package/dist/analytics-DHB325DM.js +434 -0
  27. package/dist/analytics-DHB325DM.js.map +1 -0
  28. package/dist/assign-BFXHYTMF.js +78 -0
  29. package/dist/assign-BFXHYTMF.js.map +1 -0
  30. package/dist/audience-size-XWHZV2GH.js +74 -0
  31. package/dist/audience-size-XWHZV2GH.js.map +1 -0
  32. package/dist/audit-IYGRU7LD.js +152 -0
  33. package/dist/audit-IYGRU7LD.js.map +1 -0
  34. package/dist/autocomplete-SDDSJTAF.js +112 -0
  35. package/dist/autocomplete-SDDSJTAF.js.map +1 -0
  36. package/dist/avatars-I4H3NMEJ.js +38 -0
  37. package/dist/bid-pricing-OVYBDRMV.js +101 -0
  38. package/dist/bid-pricing-OVYBDRMV.js.map +1 -0
  39. package/dist/brand-3V7ECY7D.js +22 -0
  40. package/dist/brief-U2W7KMFC.js +539 -0
  41. package/dist/brief-U2W7KMFC.js.map +1 -0
  42. package/dist/campaign-groups-FJHBVUA3.js +97 -0
  43. package/dist/campaign-groups-FJHBVUA3.js.map +1 -0
  44. package/dist/campaign-writes-XKYYMZML.js +166 -0
  45. package/dist/campaign-writes-XKYYMZML.js.map +1 -0
  46. package/dist/campaigns-E5UW4I3X.js +111 -0
  47. package/dist/campaigns-E5UW4I3X.js.map +1 -0
  48. package/dist/campaigns-MCB76NPQ.js +107 -0
  49. package/dist/canvas-JCNKMGCG.js +46 -0
  50. package/dist/capabilities-CLTZCXCZ.js +145 -0
  51. package/dist/capabilities-CLTZCXCZ.js.map +1 -0
  52. package/dist/chatgpt-XFZ42NXC.js +47 -0
  53. package/dist/chats-DTJSBDWO.js +277 -0
  54. package/dist/chats-DTJSBDWO.js.map +1 -0
  55. package/dist/check-CZTS64AW.js +105 -0
  56. package/dist/check-CZTS64AW.js.map +1 -0
  57. package/dist/chunk-2YTBPRRG.js +207 -0
  58. package/dist/chunk-3SNCMEJB.js +97 -0
  59. package/dist/chunk-7QGFO35A.js +23 -0
  60. package/dist/chunk-AV7ALENU.js +191 -0
  61. package/dist/chunk-BRLFQ4VX.js +604 -0
  62. package/dist/chunk-CAZGM2NX.js +92 -0
  63. package/dist/chunk-CAZGM2NX.js.map +1 -0
  64. package/dist/chunk-DJE7UXYT.js +831 -0
  65. package/dist/chunk-EFWXYUSK.js +139 -0
  66. package/dist/chunk-EONSZAZB.js +3868 -0
  67. package/dist/chunk-FALJQCWL.js +661 -0
  68. package/dist/chunk-FALJQCWL.js.map +1 -0
  69. package/dist/chunk-FG3MV2XM.js +89 -0
  70. package/dist/chunk-FKG476GH.js +392 -0
  71. package/dist/chunk-FUGQSIYG.js +297 -0
  72. package/dist/chunk-GZ4A2VYW.js +39 -0
  73. package/dist/chunk-GZ4A2VYW.js.map +1 -0
  74. package/dist/chunk-HPLHAHG5.js +275 -0
  75. package/dist/chunk-I24YT2KG.js +122 -0
  76. package/dist/chunk-IFDZZOUC.js +903 -0
  77. package/dist/chunk-JVVUI55M.js +455 -0
  78. package/dist/chunk-KKSHEPBY.js +363 -0
  79. package/dist/chunk-KQ7RCLGC.js +547 -0
  80. package/dist/chunk-L7WMS5PW.js +172 -0
  81. package/dist/chunk-LBRO4MTL.js +19 -0
  82. package/dist/chunk-LNRPOULW.js +224 -0
  83. package/dist/chunk-LX6WC2XZ.js +942 -0
  84. package/dist/chunk-MMGTJBM6.js +142 -0
  85. package/dist/chunk-NZS3KEQ2.js +97 -0
  86. package/dist/chunk-NZS3KEQ2.js.map +1 -0
  87. package/dist/chunk-O37VU7FG.js +6799 -0
  88. package/dist/chunk-O37VU7FG.js.map +1 -0
  89. package/dist/chunk-OEZYSL3U.js +51 -0
  90. package/dist/chunk-OOVHBMQB.js +103 -0
  91. package/dist/chunk-PTH7VWKK.js +159 -0
  92. package/dist/chunk-PYD6IGW6.js +401 -0
  93. package/dist/chunk-PYD6IGW6.js.map +1 -0
  94. package/dist/chunk-QE2E4EYJ.js +349 -0
  95. package/dist/chunk-QE2E4EYJ.js.map +1 -0
  96. package/dist/chunk-QZF4BVKL.js +66 -0
  97. package/dist/chunk-RITUSBYO.js +61 -0
  98. package/dist/chunk-SSTL3A7Z.js +206 -0
  99. package/dist/chunk-SZNGQ2GF.js +64 -0
  100. package/dist/chunk-SZNGQ2GF.js.map +1 -0
  101. package/dist/chunk-TD4SO6TR.js +169 -0
  102. package/dist/chunk-UZ4RTOFG.js +91 -0
  103. package/dist/chunk-VAX7PFQV.js +592 -0
  104. package/dist/chunk-VDRSZK4P.js +494 -0
  105. package/dist/chunk-VNU2EYD4.js +344 -0
  106. package/dist/chunk-WT4WDIXA.js +156 -0
  107. package/dist/chunk-XEX23CIB.js +160 -0
  108. package/dist/chunk-XXDF25BW.js +8939 -0
  109. package/dist/chunk-YJ3LSFMX.js +249 -0
  110. package/dist/chunk-YVK5RT3B.js +197 -0
  111. package/dist/chunk-YWWRLZUR.js +433 -0
  112. package/dist/chunk-Z4S5BCVZ.js +57 -0
  113. package/dist/chunk-ZYGK7GAK.js +1079 -0
  114. package/dist/claim-TSFPWTQY.js +198 -0
  115. package/dist/claim-TSFPWTQY.js.map +1 -0
  116. package/dist/cli.js +38 -37
  117. package/dist/cli.js.map +1 -1
  118. package/dist/companies-P7FZNJQV.js +196 -0
  119. package/dist/companies-P7FZNJQV.js.map +1 -0
  120. package/dist/complete-SYDIHMD5.js +82 -0
  121. package/dist/complete-SYDIHMD5.js.map +1 -0
  122. package/dist/connect-COS6G45S.js +43 -0
  123. package/dist/conversation-UJOWMJRH.js +94 -0
  124. package/dist/conversation-UJOWMJRH.js.map +1 -0
  125. package/dist/conversions-ONOIEILU.js +138 -0
  126. package/dist/conversions-ONOIEILU.js.map +1 -0
  127. package/dist/create-DPQRYQXK.js +208 -0
  128. package/dist/create-DPQRYQXK.js.map +1 -0
  129. package/dist/create-JD76Z4A4.js +60 -0
  130. package/dist/create-JD76Z4A4.js.map +1 -0
  131. package/dist/create-NOT3HGP2.js +133 -0
  132. package/dist/create-NOT3HGP2.js.map +1 -0
  133. package/dist/create-ZYEB7SHF.js +236 -0
  134. package/dist/create-ZYEB7SHF.js.map +1 -0
  135. package/dist/creatives-LRSELC7Y.js +221 -0
  136. package/dist/creatives-LRSELC7Y.js.map +1 -0
  137. package/dist/creatives-SEQHJD2M.js +58 -0
  138. package/dist/credentials-LHPTUVVA.js +288 -0
  139. package/dist/credentials-LHPTUVVA.js.map +1 -0
  140. package/dist/critique-Q7GSZ5RP.js +1459 -0
  141. package/dist/critique-Q7GSZ5RP.js.map +1 -0
  142. package/dist/critique-RR2XOQCE.js +228 -0
  143. package/dist/critique-RR2XOQCE.js.map +1 -0
  144. package/dist/crm-J7EU32PL.js +319 -0
  145. package/dist/crm-J7EU32PL.js.map +1 -0
  146. package/dist/crm-MC444ZVU.js +225 -0
  147. package/dist/crm-MC444ZVU.js.map +1 -0
  148. package/dist/customers-LMSX33FO.js +57 -0
  149. package/dist/delete-BQBVATMF.js +55 -0
  150. package/dist/delete-BQBVATMF.js.map +1 -0
  151. package/dist/delete-K7A3AUPH.js +65 -0
  152. package/dist/delete-K7A3AUPH.js.map +1 -0
  153. package/dist/delete-VV2ICIHF.js +67 -0
  154. package/dist/delete-VV2ICIHF.js.map +1 -0
  155. package/dist/demographics-7GWUXXS6.js +139 -0
  156. package/dist/demographics-7GWUXXS6.js.map +1 -0
  157. package/dist/discard-3CLZ4DPD.js +67 -0
  158. package/dist/discard-3CLZ4DPD.js.map +1 -0
  159. package/dist/domain-ZS74BSE6.js +99 -0
  160. package/dist/domain-ZS74BSE6.js.map +1 -0
  161. package/dist/draft-J3B33RAZ.js +308 -0
  162. package/dist/draft-J3B33RAZ.js.map +1 -0
  163. package/dist/draft-MZLWVX3D.js +218 -0
  164. package/dist/draft-MZLWVX3D.js.map +1 -0
  165. package/dist/draft-R56PIXCV.js +333 -0
  166. package/dist/draft-R56PIXCV.js.map +1 -0
  167. package/dist/experiment-7RJ5X2LL.js +1397 -0
  168. package/dist/experiments-NOSJJMYI.js +234 -0
  169. package/dist/experiments-NOSJJMYI.js.map +1 -0
  170. package/dist/facets-E6SHYUAI.js +115 -0
  171. package/dist/facets-E6SHYUAI.js.map +1 -0
  172. package/dist/feedback-HXCQBV7S.js +107 -0
  173. package/dist/feedback-HXCQBV7S.js.map +1 -0
  174. package/dist/feedback-record-GXPYXNT6.js +261 -0
  175. package/dist/feedback-record-GXPYXNT6.js.map +1 -0
  176. package/dist/fetch-HMUGSRE4.js +177 -0
  177. package/dist/fetch-HMUGSRE4.js.map +1 -0
  178. package/dist/find-2EPXK5RF.js +134 -0
  179. package/dist/fit-W7UNFZT5.js +63 -0
  180. package/dist/flows-SO5J3M3X.js +248 -0
  181. package/dist/flows-SO5J3M3X.js.map +1 -0
  182. package/dist/fonts-N42UYWTX.js +37 -0
  183. package/dist/forecast-24LGJVLC.js +119 -0
  184. package/dist/forecast-24LGJVLC.js.map +1 -0
  185. package/dist/funnel-NYT36B3C.js +395 -0
  186. package/dist/funnel-NYT36B3C.js.map +1 -0
  187. package/dist/ga4-6EIQC2TG.js +55 -0
  188. package/dist/get-KAGO4EC5.js +80 -0
  189. package/dist/get-KAGO4EC5.js.map +1 -0
  190. package/dist/get-PZX27LQY.js +38 -0
  191. package/dist/get-PZX27LQY.js.map +1 -0
  192. package/dist/get-R5JAFHTH.js +57 -0
  193. package/dist/get-R5JAFHTH.js.map +1 -0
  194. package/dist/google-O5OI6QFU.js +136 -0
  195. package/dist/google-ads-6X4BHGUR.js +196 -0
  196. package/dist/google-ads-6X4BHGUR.js.map +1 -0
  197. package/dist/gsc-BM3T2GDL.js +30 -0
  198. package/dist/history-LGOWYLBE.js +134 -0
  199. package/dist/history-LGOWYLBE.js.map +1 -0
  200. package/dist/hubspot-LJB3ETUT.js +780 -0
  201. package/dist/hubspot-LJB3ETUT.js.map +1 -0
  202. package/dist/icon-B7DG53S5.js +137 -0
  203. package/dist/ideas-DYN2DMFN.js +41 -0
  204. package/dist/images-EQCUXEHF.js +92 -0
  205. package/dist/ingest-B46AY3QU.js +24 -0
  206. package/dist/ingest-T7ZS2R4U.js +108 -0
  207. package/dist/ingest-T7ZS2R4U.js.map +1 -0
  208. package/dist/inspect-BSNGAT2S.js +190 -0
  209. package/dist/inspect-BSNGAT2S.js.map +1 -0
  210. package/dist/inspiration-TCCKM4R7.js +53 -0
  211. package/dist/keyword-metrics-KNTIN4ZK.js +198 -0
  212. package/dist/keyword-metrics-KNTIN4ZK.js.map +1 -0
  213. package/dist/keywords-for-site-S4MXGXWR.js +129 -0
  214. package/dist/keywords-for-site-S4MXGXWR.js.map +1 -0
  215. package/dist/landing-WVPA7NBR.js +28 -0
  216. package/dist/leads-EINV5FK3.js +113 -0
  217. package/dist/leads-EINV5FK3.js.map +1 -0
  218. package/dist/learn-7Z2VR6MS.js +205 -0
  219. package/dist/learn-7Z2VR6MS.js.map +1 -0
  220. package/dist/line-item-writes-Z3TIB5KZ.js +209 -0
  221. package/dist/line-item-writes-Z3TIB5KZ.js.map +1 -0
  222. package/dist/line-items-OEWYOPFP.js +103 -0
  223. package/dist/link-KYHUIPJE.js +65 -0
  224. package/dist/link-KYHUIPJE.js.map +1 -0
  225. package/dist/linkedin-JVB4HXJC.js +1314 -0
  226. package/dist/linkedin-JVB4HXJC.js.map +1 -0
  227. package/dist/list-EORTO73V.js +93 -0
  228. package/dist/list-EORTO73V.js.map +1 -0
  229. package/dist/list-QQVLURKH.js +152 -0
  230. package/dist/list-QQVLURKH.js.map +1 -0
  231. package/dist/list-QWGKRUSM.js +65 -0
  232. package/dist/list-QWGKRUSM.js.map +1 -0
  233. package/dist/list-WRBWQASJ.js +50 -0
  234. package/dist/list-Z6NMNK3T.js +304 -0
  235. package/dist/list-Z6NMNK3T.js.map +1 -0
  236. package/dist/log-RUMKYPYK.js +93 -0
  237. package/dist/log-RUMKYPYK.js.map +1 -0
  238. package/dist/logo-QTSBKP2J.js +18 -0
  239. package/dist/make-IJGCQA7C.js +1354 -0
  240. package/dist/make-IJGCQA7C.js.map +1 -0
  241. package/dist/map-QZHIJFQT.js +434 -0
  242. package/dist/map-QZHIJFQT.js.map +1 -0
  243. package/dist/mcp-ZH2XDV5P.js +715 -0
  244. package/dist/mcp-ZH2XDV5P.js.map +1 -0
  245. package/dist/media-sources-SQ2RPDBO.js +35 -0
  246. package/dist/media-sources-SQ2RPDBO.js.map +1 -0
  247. package/dist/members-4YX7JEZM.js +45 -0
  248. package/dist/members-4YX7JEZM.js.map +1 -0
  249. package/dist/normalize-ABIWLRIT.js +142 -0
  250. package/dist/normalize-ABIWLRIT.js.map +1 -0
  251. package/dist/options-SVCQVTNE.js +123 -0
  252. package/dist/options-SVCQVTNE.js.map +1 -0
  253. package/dist/organization-FNKDC742.js +947 -0
  254. package/dist/organization-FNKDC742.js.map +1 -0
  255. package/dist/performance-HTU5FR2K.js +25 -0
  256. package/dist/posts-3DAPTBH2.js +34 -0
  257. package/dist/posts-3DAPTBH2.js.map +1 -0
  258. package/dist/promoted-tweet-writes-DD3CJNWW.js +181 -0
  259. package/dist/promoted-tweet-writes-DD3CJNWW.js.map +1 -0
  260. package/dist/promoted-tweets-TTWN5OMW.js +119 -0
  261. package/dist/publish-Z62KGDJ2.js +342 -0
  262. package/dist/publish-Z62KGDJ2.js.map +1 -0
  263. package/dist/reddit-6C3PT5CT.js +27 -0
  264. package/dist/refresh-HCQXVFVR.js +95 -0
  265. package/dist/refresh-HCQXVFVR.js.map +1 -0
  266. package/dist/refresh-ZCGH64OZ.js +42 -0
  267. package/dist/refresh-ZCGH64OZ.js.map +1 -0
  268. package/dist/release-FIHW2HCH.js +61 -0
  269. package/dist/release-FIHW2HCH.js.map +1 -0
  270. package/dist/remove-CBR7NVMI.js +51 -0
  271. package/dist/remove-CBR7NVMI.js.map +1 -0
  272. package/dist/remove-PUZP5GWN.js +49 -0
  273. package/dist/remove-PUZP5GWN.js.map +1 -0
  274. package/dist/reopen-EJGLRQWR.js +64 -0
  275. package/dist/reopen-EJGLRQWR.js.map +1 -0
  276. package/dist/rerun-TVBZXASH.js +91 -0
  277. package/dist/rerun-TVBZXASH.js.map +1 -0
  278. package/dist/research-L25D4WHQ.js +263 -0
  279. package/dist/research-L25D4WHQ.js.map +1 -0
  280. package/dist/research-YCMMQVK6.js +62 -0
  281. package/dist/reset-HKKCWKZ7.js +55 -0
  282. package/dist/reset-HKKCWKZ7.js.map +1 -0
  283. package/dist/reset-SRL6I6GP.js +55 -0
  284. package/dist/reset-SRL6I6GP.js.map +1 -0
  285. package/dist/resolve-POMTTAFR.js +122 -0
  286. package/dist/resolve-POMTTAFR.js.map +1 -0
  287. package/dist/retry-MEPTOAV2.js +61 -0
  288. package/dist/retry-MEPTOAV2.js.map +1 -0
  289. package/dist/retry-RNGM3KKA.js +63 -0
  290. package/dist/retry-RNGM3KKA.js.map +1 -0
  291. package/dist/revenue-X4KPTSAM.js +89 -0
  292. package/dist/revenue-X4KPTSAM.js.map +1 -0
  293. package/dist/rules-VK7YA23Q.js +97 -0
  294. package/dist/rules-VK7YA23Q.js.map +1 -0
  295. package/dist/rules-add-VG7AT6EG.js +463 -0
  296. package/dist/rules-add-VG7AT6EG.js.map +1 -0
  297. package/dist/run-DIDQSZU7.js +67 -0
  298. package/dist/run-DIDQSZU7.js.map +1 -0
  299. package/dist/run-SR7DJ7M5.js +66 -0
  300. package/dist/scaffold-ad-46GTFUMP.js +1512 -0
  301. package/dist/scaffold-ad-46GTFUMP.js.map +1 -0
  302. package/dist/scaffold-static-ad-U63V4UHR.js +1006 -0
  303. package/dist/scaffold-static-ad-U63V4UHR.js.map +1 -0
  304. package/dist/scaffold-video-4DNTURH6.js +884 -0
  305. package/dist/scaffold-video-4DNTURH6.js.map +1 -0
  306. package/dist/schedule-JO66N7XO.js +62 -0
  307. package/dist/schedule-JO66N7XO.js.map +1 -0
  308. package/dist/schedule-JZBIX6LH.js +67 -0
  309. package/dist/schedule-JZBIX6LH.js.map +1 -0
  310. package/dist/scheduled-agents-N63EZNY6.js +50 -0
  311. package/dist/schema-B2XANMEY.js +133 -0
  312. package/dist/schema-B2XANMEY.js.map +1 -0
  313. package/dist/schema-C6SGBNA6.js +69 -0
  314. package/dist/search-7GHS3OUZ.js +51 -0
  315. package/dist/search-7GHS3OUZ.js.map +1 -0
  316. package/dist/search-W5HZUJA2.js +175 -0
  317. package/dist/search-W5HZUJA2.js.map +1 -0
  318. package/dist/select-LMGLNFWB.js +102 -0
  319. package/dist/select-LMGLNFWB.js.map +1 -0
  320. package/dist/set-prompt-M5E3UZDM.js +194 -0
  321. package/dist/set-prompt-M5E3UZDM.js.map +1 -0
  322. package/dist/setup-links-ERBQSKAB.js +142 -0
  323. package/dist/setup-links-ERBQSKAB.js.map +1 -0
  324. package/dist/site-PNVFJRYK.js +178 -0
  325. package/dist/site-PNVFJRYK.js.map +1 -0
  326. package/dist/sources-DMZJPLKC.js +455 -0
  327. package/dist/sources-DMZJPLKC.js.map +1 -0
  328. package/dist/sources-HN3GCEDX.js +30 -0
  329. package/dist/stale-VWN25WTL.js +72 -0
  330. package/dist/stale-VWN25WTL.js.map +1 -0
  331. package/dist/stats-CVF6AC7R.js +34 -0
  332. package/dist/status-SF7DTPCJ.js +63 -0
  333. package/dist/status-SF7DTPCJ.js.map +1 -0
  334. package/dist/stock-4LPQ6SM7.js +179 -0
  335. package/dist/studio-NZ6WQ7OE.js +49 -0
  336. package/dist/suggest-WMMEQCUH.js +66 -0
  337. package/dist/suggest-WMMEQCUH.js.map +1 -0
  338. package/dist/sync-F7VNZLWY.js +55 -0
  339. package/dist/sync-F7VNZLWY.js.map +1 -0
  340. package/dist/sync-HVNDPBOD.js +55 -0
  341. package/dist/sync-HVNDPBOD.js.map +1 -0
  342. package/dist/sync-definition-CKEUYKWN.js +65 -0
  343. package/dist/tag-KTQ2FV5C.js +57 -0
  344. package/dist/tag-KTQ2FV5C.js.map +1 -0
  345. package/dist/tag-manager-FLXXLNKP.js +43 -0
  346. package/dist/tags-EUOOSAKN.js +26 -0
  347. package/dist/tags-KOMAP2G5.js +21 -0
  348. package/dist/tags-KOMAP2G5.js.map +1 -0
  349. package/dist/tags-TKXJGTR3.js +21 -0
  350. package/dist/tags-TKXJGTR3.js.map +1 -0
  351. package/dist/tags-VWIPDCUA.js +225 -0
  352. package/dist/tags-VWIPDCUA.js.map +1 -0
  353. package/dist/tags-XAB4HWGW.js +21 -0
  354. package/dist/tags-XAB4HWGW.js.map +1 -0
  355. package/dist/targeting-criteria-HE7K52WN.js +113 -0
  356. package/dist/targets-NA4XPDBF.js +104 -0
  357. package/dist/targets-NA4XPDBF.js.map +1 -0
  358. package/dist/testimonials-3Q5XM7JD.js +32 -0
  359. package/dist/top-companies-TKO4QGPJ.js +109 -0
  360. package/dist/top-companies-TKO4QGPJ.js.map +1 -0
  361. package/dist/translate-YVIZ5T44.js +605 -0
  362. package/dist/translate-YVIZ5T44.js.map +1 -0
  363. package/dist/triggers-QX7VW7UO.js +143 -0
  364. package/dist/triggers-QX7VW7UO.js.map +1 -0
  365. package/dist/unlink-64SRPUNG.js +68 -0
  366. package/dist/unlink-64SRPUNG.js.map +1 -0
  367. package/dist/unstage-5X2MOUMF.js +86 -0
  368. package/dist/unstage-5X2MOUMF.js.map +1 -0
  369. package/dist/update-22ZBHURE.js +81 -0
  370. package/dist/update-22ZBHURE.js.map +1 -0
  371. package/dist/update-2LTPSGWT.js +99 -0
  372. package/dist/update-2LTPSGWT.js.map +1 -0
  373. package/dist/update-DOKS7ATM.js +189 -0
  374. package/dist/update-DOKS7ATM.js.map +1 -0
  375. package/dist/update-FB6X463M.js +64 -0
  376. package/dist/update-FB6X463M.js.map +1 -0
  377. package/dist/update-QIZ7XFAM.js +153 -0
  378. package/dist/update-QIZ7XFAM.js.map +1 -0
  379. package/dist/upload-XJ7TUVIK.js +127 -0
  380. package/dist/upload-XJ7TUVIK.js.map +1 -0
  381. package/dist/url-params-KLQOLNPS.js +99 -0
  382. package/dist/url-params-KLQOLNPS.js.map +1 -0
  383. package/dist/validate-YTBJBG44.js +118 -0
  384. package/dist/validate-YTBJBG44.js.map +1 -0
  385. package/dist/videos-WAPUPJVT.js +39 -0
  386. package/dist/viewer-check-GHQA3UY2.js +81 -0
  387. package/dist/web-6JMWERTT.js +141 -0
  388. package/dist/web-6JMWERTT.js.map +1 -0
  389. package/dist/winning-ads-XCVUAIOU.js +86 -0
  390. package/dist/write-commands-N74CDMQM.js +1493 -0
  391. package/dist/write-commands-N74CDMQM.js.map +1 -0
  392. package/dist/x-SI4KYDEY.js +47 -0
  393. package/package.json +1 -1
  394. package/dist/account-UHNR5KTE.js +0 -79
  395. package/dist/account-UHNR5KTE.js.map +0 -1
  396. package/dist/accounts-KMLXHADA.js +0 -77
  397. package/dist/accounts-KMLXHADA.js.map +0 -1
  398. package/dist/accounts-QDGNTSTV.js +0 -611
  399. package/dist/accounts-QDGNTSTV.js.map +0 -1
  400. package/dist/actions-QL5UD2W4.js +0 -55
  401. package/dist/activecampaign-5OD45ROS.js +0 -935
  402. package/dist/activecampaign-5OD45ROS.js.map +0 -1
  403. package/dist/add-2F7BEVYD.js +0 -105
  404. package/dist/add-2F7BEVYD.js.map +0 -1
  405. package/dist/add-6K6LO7CM.js +0 -104
  406. package/dist/add-6K6LO7CM.js.map +0 -1
  407. package/dist/add-LYDJZDGO.js +0 -302
  408. package/dist/add-LYDJZDGO.js.map +0 -1
  409. package/dist/ads-DHPJFU52.js +0 -40
  410. package/dist/advertisers-23LU7GTV.js +0 -120
  411. package/dist/advertisers-23LU7GTV.js.map +0 -1
  412. package/dist/analytics-HO2SLL4W.js +0 -433
  413. package/dist/analytics-HO2SLL4W.js.map +0 -1
  414. package/dist/analytics-LD3D7ISK.js +0 -1976
  415. package/dist/analytics-LD3D7ISK.js.map +0 -1
  416. package/dist/assign-CLKJKH2B.js +0 -77
  417. package/dist/assign-CLKJKH2B.js.map +0 -1
  418. package/dist/audience-size-NNYYXODL.js +0 -73
  419. package/dist/audience-size-NNYYXODL.js.map +0 -1
  420. package/dist/audit-KB4P2XGS.js +0 -151
  421. package/dist/audit-KB4P2XGS.js.map +0 -1
  422. package/dist/autocomplete-VZD2SMTE.js +0 -111
  423. package/dist/autocomplete-VZD2SMTE.js.map +0 -1
  424. package/dist/avatars-FKOO6VZ2.js +0 -38
  425. package/dist/bid-pricing-6LLXOLLI.js +0 -100
  426. package/dist/bid-pricing-6LLXOLLI.js.map +0 -1
  427. package/dist/brand-NNWHBIAX.js +0 -22
  428. package/dist/brief-CPJQWT6W.js +0 -538
  429. package/dist/brief-CPJQWT6W.js.map +0 -1
  430. package/dist/campaign-groups-YPYNXOWU.js +0 -95
  431. package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
  432. package/dist/campaign-writes-UJ4L2O6G.js +0 -165
  433. package/dist/campaign-writes-UJ4L2O6G.js.map +0 -1
  434. package/dist/campaigns-HLBZRH5A.js +0 -107
  435. package/dist/campaigns-N44ZDGB5.js +0 -109
  436. package/dist/campaigns-N44ZDGB5.js.map +0 -1
  437. package/dist/canvas-D64GLWUO.js +0 -46
  438. package/dist/capabilities-LWXCWMIY.js +0 -144
  439. package/dist/capabilities-LWXCWMIY.js.map +0 -1
  440. package/dist/chatgpt-YI6YNACI.js +0 -47
  441. package/dist/chats-7WGC2CVW.js +0 -276
  442. package/dist/chats-7WGC2CVW.js.map +0 -1
  443. package/dist/check-EH6BXWWL.js +0 -104
  444. package/dist/check-EH6BXWWL.js.map +0 -1
  445. package/dist/chunk-2B772ZEA.js +0 -169
  446. package/dist/chunk-2KRK667G.js +0 -51
  447. package/dist/chunk-2TVXJPGR.js +0 -103
  448. package/dist/chunk-3AMLOCXY.js +0 -392
  449. package/dist/chunk-3B5LPK6D.js +0 -658
  450. package/dist/chunk-3B5LPK6D.js.map +0 -1
  451. package/dist/chunk-3N5A44NQ.js +0 -122
  452. package/dist/chunk-3WAYZQNV.js +0 -61
  453. package/dist/chunk-5A257KJA.js +0 -160
  454. package/dist/chunk-6QGS3RQP.js +0 -363
  455. package/dist/chunk-AFD32O4A.js +0 -494
  456. package/dist/chunk-AW2GKIGS.js +0 -433
  457. package/dist/chunk-CYSBNCPX.js +0 -55
  458. package/dist/chunk-CYSBNCPX.js.map +0 -1
  459. package/dist/chunk-DAO63OOP.js +0 -6352
  460. package/dist/chunk-DAO63OOP.js.map +0 -1
  461. package/dist/chunk-EMQUW6JB.js +0 -942
  462. package/dist/chunk-EW3JEKIV.js +0 -139
  463. package/dist/chunk-FBFWMTOP.js +0 -19
  464. package/dist/chunk-GXDLWBOY.js +0 -73
  465. package/dist/chunk-GXDLWBOY.js.map +0 -1
  466. package/dist/chunk-GXGYTFZA.js +0 -8939
  467. package/dist/chunk-I7J7YQXZ.js +0 -142
  468. package/dist/chunk-IBY44U2M.js +0 -1079
  469. package/dist/chunk-IFXGCI33.js +0 -297
  470. package/dist/chunk-IKLHXGMF.js +0 -91
  471. package/dist/chunk-IYTPWAN3.js +0 -604
  472. package/dist/chunk-J3CWAERS.js +0 -3868
  473. package/dist/chunk-JH2L5CQD.js +0 -206
  474. package/dist/chunk-JUVVCA7B.js +0 -97
  475. package/dist/chunk-MK6XJUCQ.js +0 -197
  476. package/dist/chunk-N3I6ZXR7.js +0 -66
  477. package/dist/chunk-NBO2NSAW.js +0 -592
  478. package/dist/chunk-NEU5QD2C.js +0 -249
  479. package/dist/chunk-NKIBXOHT.js +0 -344
  480. package/dist/chunk-OE3MIV4F.js +0 -547
  481. package/dist/chunk-P2MFWJR3.js +0 -903
  482. package/dist/chunk-PHCIFBP3.js +0 -89
  483. package/dist/chunk-PTUXBO5O.js +0 -224
  484. package/dist/chunk-Q3LXLWZY.js +0 -275
  485. package/dist/chunk-Q5WBTVA7.js +0 -455
  486. package/dist/chunk-RDEAVCMF.js +0 -399
  487. package/dist/chunk-RDEAVCMF.js.map +0 -1
  488. package/dist/chunk-RGMKXNQP.js +0 -23
  489. package/dist/chunk-RZTKCCUL.js +0 -831
  490. package/dist/chunk-TTKBNBQF.js +0 -156
  491. package/dist/chunk-VB3XUR6A.js +0 -207
  492. package/dist/chunk-XCKINS7K.js +0 -57
  493. package/dist/chunk-Y6GKV7CU.js +0 -346
  494. package/dist/chunk-Y6GKV7CU.js.map +0 -1
  495. package/dist/chunk-Z2GQREJY.js +0 -159
  496. package/dist/chunk-ZDAVSTEE.js +0 -172
  497. package/dist/chunk-ZXCSOVS5.js +0 -191
  498. package/dist/claim-SVDCQ2AI.js +0 -197
  499. package/dist/claim-SVDCQ2AI.js.map +0 -1
  500. package/dist/companies-BYMYQK6A.js +0 -195
  501. package/dist/companies-BYMYQK6A.js.map +0 -1
  502. package/dist/complete-NEH3MWRI.js +0 -81
  503. package/dist/complete-NEH3MWRI.js.map +0 -1
  504. package/dist/connect-5PGL7ZOM.js +0 -42
  505. package/dist/conversation-CSOKJXDW.js +0 -93
  506. package/dist/conversation-CSOKJXDW.js.map +0 -1
  507. package/dist/conversions-4JOTTFEH.js +0 -135
  508. package/dist/conversions-4JOTTFEH.js.map +0 -1
  509. package/dist/create-2XYMBULY.js +0 -207
  510. package/dist/create-2XYMBULY.js.map +0 -1
  511. package/dist/create-56PTZABQ.js +0 -235
  512. package/dist/create-56PTZABQ.js.map +0 -1
  513. package/dist/create-D6S6TGWY.js +0 -59
  514. package/dist/create-D6S6TGWY.js.map +0 -1
  515. package/dist/create-SMW4O5PC.js +0 -132
  516. package/dist/create-SMW4O5PC.js.map +0 -1
  517. package/dist/creatives-OO76DAFS.js +0 -58
  518. package/dist/creatives-VJUYWJL6.js +0 -182
  519. package/dist/creatives-VJUYWJL6.js.map +0 -1
  520. package/dist/credentials-2ONYUJW6.js +0 -287
  521. package/dist/credentials-2ONYUJW6.js.map +0 -1
  522. package/dist/critique-NDDFSGPE.js +0 -1458
  523. package/dist/critique-NDDFSGPE.js.map +0 -1
  524. package/dist/critique-YXZVMLZ4.js +0 -227
  525. package/dist/critique-YXZVMLZ4.js.map +0 -1
  526. package/dist/crm-Q6CEP5XV.js +0 -224
  527. package/dist/crm-Q6CEP5XV.js.map +0 -1
  528. package/dist/crm-WRONZYDH.js +0 -318
  529. package/dist/crm-WRONZYDH.js.map +0 -1
  530. package/dist/customers-2EFYSCU2.js +0 -56
  531. package/dist/delete-7WEVC3FS.js +0 -66
  532. package/dist/delete-7WEVC3FS.js.map +0 -1
  533. package/dist/delete-RBWK255M.js +0 -54
  534. package/dist/delete-RBWK255M.js.map +0 -1
  535. package/dist/delete-VN4WWMQF.js +0 -64
  536. package/dist/delete-VN4WWMQF.js.map +0 -1
  537. package/dist/demographics-I5XZ435C.js +0 -138
  538. package/dist/demographics-I5XZ435C.js.map +0 -1
  539. package/dist/discard-XJLIXTNM.js +0 -66
  540. package/dist/discard-XJLIXTNM.js.map +0 -1
  541. package/dist/domain-M7AEGAYI.js +0 -98
  542. package/dist/domain-M7AEGAYI.js.map +0 -1
  543. package/dist/draft-5DQI4W5F.js +0 -306
  544. package/dist/draft-5DQI4W5F.js.map +0 -1
  545. package/dist/draft-7IIYHSY2.js +0 -332
  546. package/dist/draft-7IIYHSY2.js.map +0 -1
  547. package/dist/draft-CN6GKVBF.js +0 -217
  548. package/dist/draft-CN6GKVBF.js.map +0 -1
  549. package/dist/experiment-IDDWRCJ7.js +0 -1397
  550. package/dist/facets-ZLZ6LIHN.js +0 -114
  551. package/dist/facets-ZLZ6LIHN.js.map +0 -1
  552. package/dist/feedback-7LEX2P5Q.js +0 -106
  553. package/dist/feedback-7LEX2P5Q.js.map +0 -1
  554. package/dist/feedback-record-P4JJ63KA.js +0 -260
  555. package/dist/feedback-record-P4JJ63KA.js.map +0 -1
  556. package/dist/fetch-MIVCEHXZ.js +0 -176
  557. package/dist/fetch-MIVCEHXZ.js.map +0 -1
  558. package/dist/find-VHN34MWL.js +0 -134
  559. package/dist/fit-SS6HSZPU.js +0 -62
  560. package/dist/flows-UTIIHDNE.js +0 -247
  561. package/dist/flows-UTIIHDNE.js.map +0 -1
  562. package/dist/fonts-YPNN7ZJP.js +0 -36
  563. package/dist/forecast-OBSHG2GJ.js +0 -118
  564. package/dist/forecast-OBSHG2GJ.js.map +0 -1
  565. package/dist/funnel-A4MXQYBA.js +0 -394
  566. package/dist/funnel-A4MXQYBA.js.map +0 -1
  567. package/dist/ga4-ZPAEF2G2.js +0 -55
  568. package/dist/get-MDAO6I7T.js +0 -56
  569. package/dist/get-MDAO6I7T.js.map +0 -1
  570. package/dist/get-ZB553BSH.js +0 -79
  571. package/dist/get-ZB553BSH.js.map +0 -1
  572. package/dist/google-C3X7O2UO.js +0 -136
  573. package/dist/google-ads-FTWL772L.js +0 -195
  574. package/dist/google-ads-FTWL772L.js.map +0 -1
  575. package/dist/gsc-SDDHGTZK.js +0 -30
  576. package/dist/history-WKJYKDMG.js +0 -133
  577. package/dist/history-WKJYKDMG.js.map +0 -1
  578. package/dist/hubspot-EPHVEPOO.js +0 -779
  579. package/dist/hubspot-EPHVEPOO.js.map +0 -1
  580. package/dist/icon-MYPDC6FM.js +0 -137
  581. package/dist/ideas-3PBH7VEX.js +0 -40
  582. package/dist/images-J35C3WG4.js +0 -92
  583. package/dist/ingest-5QOPUKFE.js +0 -107
  584. package/dist/ingest-5QOPUKFE.js.map +0 -1
  585. package/dist/ingest-OKUYP632.js +0 -23
  586. package/dist/inspect-PMNCP6MV.js +0 -189
  587. package/dist/inspect-PMNCP6MV.js.map +0 -1
  588. package/dist/inspiration-QAL7NS7G.js +0 -53
  589. package/dist/keyword-metrics-R752SJIT.js +0 -197
  590. package/dist/keyword-metrics-R752SJIT.js.map +0 -1
  591. package/dist/keywords-for-site-7UWPJYQF.js +0 -128
  592. package/dist/keywords-for-site-7UWPJYQF.js.map +0 -1
  593. package/dist/landing-CBVIOGJ5.js +0 -28
  594. package/dist/leads-LIJS6Y5W.js +0 -90
  595. package/dist/leads-LIJS6Y5W.js.map +0 -1
  596. package/dist/learn-N6QV7GXA.js +0 -204
  597. package/dist/learn-N6QV7GXA.js.map +0 -1
  598. package/dist/line-item-writes-3WPJXKIL.js +0 -208
  599. package/dist/line-item-writes-3WPJXKIL.js.map +0 -1
  600. package/dist/line-items-ZOFKOGAA.js +0 -103
  601. package/dist/link-DDRQKOUL.js +0 -64
  602. package/dist/link-DDRQKOUL.js.map +0 -1
  603. package/dist/linkedin-UWZCF66X.js +0 -1057
  604. package/dist/linkedin-UWZCF66X.js.map +0 -1
  605. package/dist/list-5PLXVPLB.js +0 -151
  606. package/dist/list-5PLXVPLB.js.map +0 -1
  607. package/dist/list-RC2NX6AX.js +0 -50
  608. package/dist/list-VSJISE7U.js +0 -303
  609. package/dist/list-VSJISE7U.js.map +0 -1
  610. package/dist/list-WTVOBQYX.js +0 -64
  611. package/dist/list-WTVOBQYX.js.map +0 -1
  612. package/dist/log-YKKPROLZ.js +0 -92
  613. package/dist/log-YKKPROLZ.js.map +0 -1
  614. package/dist/logo-WE2UELX6.js +0 -18
  615. package/dist/make-RNOWBLZQ.js +0 -1353
  616. package/dist/make-RNOWBLZQ.js.map +0 -1
  617. package/dist/map-WTDPQLVO.js +0 -433
  618. package/dist/map-WTDPQLVO.js.map +0 -1
  619. package/dist/mcp-XJNSCPP3.js +0 -714
  620. package/dist/mcp-XJNSCPP3.js.map +0 -1
  621. package/dist/media-sources-JGBDDXZ5.js +0 -32
  622. package/dist/media-sources-JGBDDXZ5.js.map +0 -1
  623. package/dist/members-O3BTMRXX.js +0 -44
  624. package/dist/members-O3BTMRXX.js.map +0 -1
  625. package/dist/normalize-R5AYLA2J.js +0 -141
  626. package/dist/normalize-R5AYLA2J.js.map +0 -1
  627. package/dist/options-AILRY7JY.js +0 -122
  628. package/dist/options-AILRY7JY.js.map +0 -1
  629. package/dist/organization-KJJXZLVK.js +0 -946
  630. package/dist/organization-KJJXZLVK.js.map +0 -1
  631. package/dist/performance-7YU4HOGH.js +0 -24
  632. package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
  633. package/dist/promoted-tweet-writes-TNELWPVG.js.map +0 -1
  634. package/dist/promoted-tweets-76WKUFJQ.js +0 -119
  635. package/dist/publish-BKLHCKHB.js +0 -341
  636. package/dist/publish-BKLHCKHB.js.map +0 -1
  637. package/dist/reddit-YK3YUZEI.js +0 -26
  638. package/dist/refresh-WIII7KXB.js +0 -94
  639. package/dist/refresh-WIII7KXB.js.map +0 -1
  640. package/dist/release-ZHXYQI7G.js +0 -60
  641. package/dist/release-ZHXYQI7G.js.map +0 -1
  642. package/dist/remove-NOX4BXWK.js +0 -50
  643. package/dist/remove-NOX4BXWK.js.map +0 -1
  644. package/dist/remove-VLWRCOEZ.js +0 -48
  645. package/dist/remove-VLWRCOEZ.js.map +0 -1
  646. package/dist/reopen-NLWKK5HB.js +0 -63
  647. package/dist/reopen-NLWKK5HB.js.map +0 -1
  648. package/dist/rerun-DZWQNMZQ.js +0 -90
  649. package/dist/rerun-DZWQNMZQ.js.map +0 -1
  650. package/dist/research-Q3P76RHN.js +0 -62
  651. package/dist/research-UDZBCDNX.js +0 -262
  652. package/dist/research-UDZBCDNX.js.map +0 -1
  653. package/dist/reset-5UHFX7QY.js +0 -54
  654. package/dist/reset-5UHFX7QY.js.map +0 -1
  655. package/dist/reset-MTRJQUP7.js +0 -54
  656. package/dist/reset-MTRJQUP7.js.map +0 -1
  657. package/dist/resolve-DA72VT7Q.js +0 -121
  658. package/dist/resolve-DA72VT7Q.js.map +0 -1
  659. package/dist/retry-LQUBX5TK.js +0 -62
  660. package/dist/retry-LQUBX5TK.js.map +0 -1
  661. package/dist/retry-U6F4CS6O.js +0 -60
  662. package/dist/retry-U6F4CS6O.js.map +0 -1
  663. package/dist/rules-VS5PZ7VO.js +0 -96
  664. package/dist/rules-VS5PZ7VO.js.map +0 -1
  665. package/dist/rules-add-LMVZYDXE.js +0 -462
  666. package/dist/rules-add-LMVZYDXE.js.map +0 -1
  667. package/dist/run-6PRA2YSD.js +0 -65
  668. package/dist/run-R6COFNOR.js +0 -66
  669. package/dist/run-R6COFNOR.js.map +0 -1
  670. package/dist/scaffold-ad-3OVJ7VZQ.js +0 -1511
  671. package/dist/scaffold-ad-3OVJ7VZQ.js.map +0 -1
  672. package/dist/scaffold-static-ad-DDRA3Q5I.js +0 -1005
  673. package/dist/scaffold-static-ad-DDRA3Q5I.js.map +0 -1
  674. package/dist/scaffold-video-3JZYFYFU.js +0 -883
  675. package/dist/scaffold-video-3JZYFYFU.js.map +0 -1
  676. package/dist/schedule-BRSYHMKR.js +0 -66
  677. package/dist/schedule-BRSYHMKR.js.map +0 -1
  678. package/dist/schedule-ED2YDUPY.js +0 -61
  679. package/dist/schedule-ED2YDUPY.js.map +0 -1
  680. package/dist/scheduled-agents-5P67MVGX.js +0 -50
  681. package/dist/schema-4XVKERSA.js +0 -132
  682. package/dist/schema-4XVKERSA.js.map +0 -1
  683. package/dist/schema-RRAQW3OS.js +0 -69
  684. package/dist/search-Y2UMIQ57.js +0 -174
  685. package/dist/search-Y2UMIQ57.js.map +0 -1
  686. package/dist/select-OZ4E6VLF.js +0 -101
  687. package/dist/select-OZ4E6VLF.js.map +0 -1
  688. package/dist/set-prompt-O4YAE4CE.js +0 -193
  689. package/dist/set-prompt-O4YAE4CE.js.map +0 -1
  690. package/dist/setup-links-2GJYCV2A.js +0 -141
  691. package/dist/setup-links-2GJYCV2A.js.map +0 -1
  692. package/dist/site-47B6V2UX.js +0 -177
  693. package/dist/site-47B6V2UX.js.map +0 -1
  694. package/dist/sources-DXPZAPQ7.js +0 -454
  695. package/dist/sources-DXPZAPQ7.js.map +0 -1
  696. package/dist/sources-NDXYTASG.js +0 -30
  697. package/dist/stale-VLVBO2L6.js +0 -71
  698. package/dist/stale-VLVBO2L6.js.map +0 -1
  699. package/dist/stats-37OFAMPW.js +0 -34
  700. package/dist/status-4ODD46XY.js +0 -62
  701. package/dist/status-4ODD46XY.js.map +0 -1
  702. package/dist/stock-6R5E7MJX.js +0 -179
  703. package/dist/studio-LEIGL3Q7.js +0 -49
  704. package/dist/sync-EKGEWE53.js +0 -54
  705. package/dist/sync-EKGEWE53.js.map +0 -1
  706. package/dist/sync-TKNVBUDM.js +0 -54
  707. package/dist/sync-TKNVBUDM.js.map +0 -1
  708. package/dist/sync-definition-M5R3H3TP.js +0 -64
  709. package/dist/tag-manager-3Q55PBEW.js +0 -43
  710. package/dist/tags-4N5UUUN6.js +0 -26
  711. package/dist/tags-5NHIAD5A.js +0 -20
  712. package/dist/tags-5NHIAD5A.js.map +0 -1
  713. package/dist/tags-UUKWSWCN.js +0 -20
  714. package/dist/tags-UUKWSWCN.js.map +0 -1
  715. package/dist/tags-VK7B5DJF.js +0 -20
  716. package/dist/tags-VK7B5DJF.js.map +0 -1
  717. package/dist/tags-XAHIB3WA.js +0 -224
  718. package/dist/tags-XAHIB3WA.js.map +0 -1
  719. package/dist/targeting-criteria-AVARWV2G.js +0 -113
  720. package/dist/targets-6RYLQRID.js +0 -103
  721. package/dist/targets-6RYLQRID.js.map +0 -1
  722. package/dist/testimonials-6TF6BOFN.js +0 -32
  723. package/dist/top-companies-45EHRCJD.js +0 -108
  724. package/dist/top-companies-45EHRCJD.js.map +0 -1
  725. package/dist/translate-VHLBACCE.js +0 -604
  726. package/dist/translate-VHLBACCE.js.map +0 -1
  727. package/dist/triggers-ERQONJNO.js +0 -142
  728. package/dist/triggers-ERQONJNO.js.map +0 -1
  729. package/dist/unlink-TPDO6JNF.js +0 -67
  730. package/dist/unlink-TPDO6JNF.js.map +0 -1
  731. package/dist/unstage-YKKQQ7LW.js +0 -85
  732. package/dist/unstage-YKKQQ7LW.js.map +0 -1
  733. package/dist/update-43WU6X7R.js +0 -63
  734. package/dist/update-43WU6X7R.js.map +0 -1
  735. package/dist/update-CAHLAXWO.js +0 -98
  736. package/dist/update-CAHLAXWO.js.map +0 -1
  737. package/dist/update-NGH6YADN.js +0 -152
  738. package/dist/update-NGH6YADN.js.map +0 -1
  739. package/dist/update-SPJIHHLE.js +0 -188
  740. package/dist/update-SPJIHHLE.js.map +0 -1
  741. package/dist/upload-ACESIZIZ.js +0 -126
  742. package/dist/upload-ACESIZIZ.js.map +0 -1
  743. package/dist/url-params-MIXEDBF7.js +0 -98
  744. package/dist/url-params-MIXEDBF7.js.map +0 -1
  745. package/dist/validate-XJJA7ULE.js +0 -117
  746. package/dist/validate-XJJA7ULE.js.map +0 -1
  747. package/dist/videos-LBXPG7WC.js +0 -39
  748. package/dist/viewer-check-7VJ3GUZX.js +0 -80
  749. package/dist/web-EWQJC2SD.js +0 -140
  750. package/dist/web-EWQJC2SD.js.map +0 -1
  751. package/dist/winning-ads-SAOJAKEQ.js +0 -86
  752. package/dist/write-commands-QPDE4GWW.js +0 -1024
  753. package/dist/write-commands-QPDE4GWW.js.map +0 -1
  754. package/dist/x-LXOJPCRF.js +0 -47
  755. /package/dist/{actions-QL5UD2W4.js.map → actions-FMNJSOBA.js.map} +0 -0
  756. /package/dist/{ads-DHPJFU52.js.map → ads-OLXSDPD6.js.map} +0 -0
  757. /package/dist/{avatars-FKOO6VZ2.js.map → avatars-I4H3NMEJ.js.map} +0 -0
  758. /package/dist/{brand-NNWHBIAX.js.map → brand-3V7ECY7D.js.map} +0 -0
  759. /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-MCB76NPQ.js.map} +0 -0
  760. /package/dist/{canvas-D64GLWUO.js.map → canvas-JCNKMGCG.js.map} +0 -0
  761. /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-XFZ42NXC.js.map} +0 -0
  762. /package/dist/{chunk-VB3XUR6A.js.map → chunk-2YTBPRRG.js.map} +0 -0
  763. /package/dist/{chunk-JUVVCA7B.js.map → chunk-3SNCMEJB.js.map} +0 -0
  764. /package/dist/{chunk-RGMKXNQP.js.map → chunk-7QGFO35A.js.map} +0 -0
  765. /package/dist/{chunk-ZXCSOVS5.js.map → chunk-AV7ALENU.js.map} +0 -0
  766. /package/dist/{chunk-IYTPWAN3.js.map → chunk-BRLFQ4VX.js.map} +0 -0
  767. /package/dist/{chunk-RZTKCCUL.js.map → chunk-DJE7UXYT.js.map} +0 -0
  768. /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
  769. /package/dist/{chunk-J3CWAERS.js.map → chunk-EONSZAZB.js.map} +0 -0
  770. /package/dist/{chunk-PHCIFBP3.js.map → chunk-FG3MV2XM.js.map} +0 -0
  771. /package/dist/{chunk-3AMLOCXY.js.map → chunk-FKG476GH.js.map} +0 -0
  772. /package/dist/{chunk-IFXGCI33.js.map → chunk-FUGQSIYG.js.map} +0 -0
  773. /package/dist/{chunk-Q3LXLWZY.js.map → chunk-HPLHAHG5.js.map} +0 -0
  774. /package/dist/{chunk-3N5A44NQ.js.map → chunk-I24YT2KG.js.map} +0 -0
  775. /package/dist/{chunk-P2MFWJR3.js.map → chunk-IFDZZOUC.js.map} +0 -0
  776. /package/dist/{chunk-Q5WBTVA7.js.map → chunk-JVVUI55M.js.map} +0 -0
  777. /package/dist/{chunk-6QGS3RQP.js.map → chunk-KKSHEPBY.js.map} +0 -0
  778. /package/dist/{chunk-OE3MIV4F.js.map → chunk-KQ7RCLGC.js.map} +0 -0
  779. /package/dist/{chunk-ZDAVSTEE.js.map → chunk-L7WMS5PW.js.map} +0 -0
  780. /package/dist/{chunk-FBFWMTOP.js.map → chunk-LBRO4MTL.js.map} +0 -0
  781. /package/dist/{chunk-PTUXBO5O.js.map → chunk-LNRPOULW.js.map} +0 -0
  782. /package/dist/{chunk-EMQUW6JB.js.map → chunk-LX6WC2XZ.js.map} +0 -0
  783. /package/dist/{chunk-I7J7YQXZ.js.map → chunk-MMGTJBM6.js.map} +0 -0
  784. /package/dist/{chunk-2KRK667G.js.map → chunk-OEZYSL3U.js.map} +0 -0
  785. /package/dist/{chunk-2TVXJPGR.js.map → chunk-OOVHBMQB.js.map} +0 -0
  786. /package/dist/{chunk-Z2GQREJY.js.map → chunk-PTH7VWKK.js.map} +0 -0
  787. /package/dist/{chunk-N3I6ZXR7.js.map → chunk-QZF4BVKL.js.map} +0 -0
  788. /package/dist/{chunk-3WAYZQNV.js.map → chunk-RITUSBYO.js.map} +0 -0
  789. /package/dist/{chunk-JH2L5CQD.js.map → chunk-SSTL3A7Z.js.map} +0 -0
  790. /package/dist/{chunk-2B772ZEA.js.map → chunk-TD4SO6TR.js.map} +0 -0
  791. /package/dist/{chunk-IKLHXGMF.js.map → chunk-UZ4RTOFG.js.map} +0 -0
  792. /package/dist/{chunk-NBO2NSAW.js.map → chunk-VAX7PFQV.js.map} +0 -0
  793. /package/dist/{chunk-AFD32O4A.js.map → chunk-VDRSZK4P.js.map} +0 -0
  794. /package/dist/{chunk-NKIBXOHT.js.map → chunk-VNU2EYD4.js.map} +0 -0
  795. /package/dist/{chunk-TTKBNBQF.js.map → chunk-WT4WDIXA.js.map} +0 -0
  796. /package/dist/{chunk-5A257KJA.js.map → chunk-XEX23CIB.js.map} +0 -0
  797. /package/dist/{chunk-GXGYTFZA.js.map → chunk-XXDF25BW.js.map} +0 -0
  798. /package/dist/{chunk-NEU5QD2C.js.map → chunk-YJ3LSFMX.js.map} +0 -0
  799. /package/dist/{chunk-MK6XJUCQ.js.map → chunk-YVK5RT3B.js.map} +0 -0
  800. /package/dist/{chunk-AW2GKIGS.js.map → chunk-YWWRLZUR.js.map} +0 -0
  801. /package/dist/{chunk-XCKINS7K.js.map → chunk-Z4S5BCVZ.js.map} +0 -0
  802. /package/dist/{chunk-IBY44U2M.js.map → chunk-ZYGK7GAK.js.map} +0 -0
  803. /package/dist/{connect-5PGL7ZOM.js.map → connect-COS6G45S.js.map} +0 -0
  804. /package/dist/{creatives-OO76DAFS.js.map → creatives-SEQHJD2M.js.map} +0 -0
  805. /package/dist/{customers-2EFYSCU2.js.map → customers-LMSX33FO.js.map} +0 -0
  806. /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
  807. /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
  808. /package/dist/{fit-SS6HSZPU.js.map → fit-W7UNFZT5.js.map} +0 -0
  809. /package/dist/{fonts-YPNN7ZJP.js.map → fonts-N42UYWTX.js.map} +0 -0
  810. /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
  811. /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
  812. /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
  813. /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
  814. /package/dist/{ideas-3PBH7VEX.js.map → ideas-DYN2DMFN.js.map} +0 -0
  815. /package/dist/{images-J35C3WG4.js.map → images-EQCUXEHF.js.map} +0 -0
  816. /package/dist/{ingest-OKUYP632.js.map → ingest-B46AY3QU.js.map} +0 -0
  817. /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
  818. /package/dist/{landing-CBVIOGJ5.js.map → landing-WVPA7NBR.js.map} +0 -0
  819. /package/dist/{line-items-ZOFKOGAA.js.map → line-items-OEWYOPFP.js.map} +0 -0
  820. /package/dist/{list-RC2NX6AX.js.map → list-WRBWQASJ.js.map} +0 -0
  821. /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
  822. /package/dist/{performance-7YU4HOGH.js.map → performance-HTU5FR2K.js.map} +0 -0
  823. /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-TTWN5OMW.js.map} +0 -0
  824. /package/dist/{reddit-YK3YUZEI.js.map → reddit-6C3PT5CT.js.map} +0 -0
  825. /package/dist/{research-Q3P76RHN.js.map → research-YCMMQVK6.js.map} +0 -0
  826. /package/dist/{run-6PRA2YSD.js.map → run-SR7DJ7M5.js.map} +0 -0
  827. /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-N63EZNY6.js.map} +0 -0
  828. /package/dist/{schema-RRAQW3OS.js.map → schema-C6SGBNA6.js.map} +0 -0
  829. /package/dist/{sources-NDXYTASG.js.map → sources-HN3GCEDX.js.map} +0 -0
  830. /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
  831. /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
  832. /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ6WQ7OE.js.map} +0 -0
  833. /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-CKEUYKWN.js.map} +0 -0
  834. /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
  835. /package/dist/{tags-4N5UUUN6.js.map → tags-EUOOSAKN.js.map} +0 -0
  836. /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-HE7K52WN.js.map} +0 -0
  837. /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-3Q5XM7JD.js.map} +0 -0
  838. /package/dist/{videos-LBXPG7WC.js.map → videos-WAPUPJVT.js.map} +0 -0
  839. /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-GHQA3UY2.js.map} +0 -0
  840. /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-XCVUAIOU.js.map} +0 -0
  841. /package/dist/{x-LXOJPCRF.js.map → x-SI4KYDEY.js.map} +0 -0
@@ -1,341 +0,0 @@
1
- import {
2
- advanceDefinitionStatus,
3
- definitionPathFor
4
- } from "./chunk-3ACMDRSE.js";
5
- import {
6
- defaultVideoApiDeps,
7
- detectVideoContentType,
8
- isVideoFile,
9
- uploadLocalVideo,
10
- videoProcessingTimeoutMs,
11
- waitForPlayableVideo
12
- } from "./chunk-QNJVRI3E.js";
13
- import {
14
- defaultImageApiDeps,
15
- detectImageContentType,
16
- imageProcessingTimeoutMs,
17
- publishImageAsCreative,
18
- uploadImageBytes,
19
- uploadLocalImage,
20
- waitForReadyImage
21
- } from "./chunk-Q5QHNTHA.js";
22
- import {
23
- fetchRunRecord
24
- } from "./chunk-RGMKXNQP.js";
25
- import {
26
- findWorkspaceRoot
27
- } from "./chunk-XRIM7NYV.js";
28
- import {
29
- sha256Hex
30
- } from "./chunk-U7YR5CZL.js";
31
- import "./chunk-VI5YQQ63.js";
32
- import "./chunk-JX7BX2NB.js";
33
- import "./chunk-DAO63OOP.js";
34
- import "./chunk-GXDLWBOY.js";
35
- import "./chunk-GIWHHCD6.js";
36
- import "./chunk-XQIOCIDO.js";
37
- import "./chunk-WTJSMYY2.js";
38
- import {
39
- ApiError
40
- } from "./chunk-6YLNY6CK.js";
41
- import "./chunk-D5NEIESR.js";
42
- import {
43
- optionalChatId
44
- } from "./chunk-57KKVDDR.js";
45
- import {
46
- registerSchema,
47
- writeJson
48
- } from "./chunk-QANGHND7.js";
49
- import "./chunk-YQSBHWOI.js";
50
-
51
- // src/commands/creatives/publish.ts
52
- import { Buffer } from "buffer";
53
- import { defineCommand } from "citty";
54
- var creativeContentTypes = ["image/png", "image/jpeg", "image/webp"];
55
- var creativeVideoContentTypes = ["video/mp4", "video/quicktime", "video/webm"];
56
- var UNSUPPORTED_CREATIVE_FILE = "Unsupported creative file extension. Use PNG, JPG or WebP for an image, MP4, MOV or WebM for a video.";
57
- var DESCRIPTION = `Save a finished creative to Baker Creatives and return a creative reference: a static image (PNG/JPG/WebP) or a finished video render (MP4/MOV/WebM).
58
- Start here:
59
- baker creatives publish ./canvas/r_01K\u2026/final_4x5.png --title "Spring Offer" --slug spring-offer --run-id r_01K\u2026
60
- baker creatives publish --title "Spring Offer" --slug spring-offer --run-id r_01K\u2026 --output 4:5
61
- baker creatives publish ./canvas/r_01K\u2026/final.mp4 --title "Spring Offer Reel" --slug spring-offer --run-id r_01K\u2026
62
- With --run-id and no file, every size the run made is saved to the library as one set, the lead size first, and the lead is the creative's cover (--output picks another cover); \`sizes\` names each size's image id. A video goes to the company's video library first and is saved once it plays (up to 3 minutes); it needs the file and --slug. Choose and save the finished version yourself, including in the turn that rendered it. Saving pins that version without recording user approval or putting an ad live. An image publish marks the creative's _definition.md published.`;
63
- var ARGS = {
64
- file: {
65
- type: "string",
66
- description: "Local creative file: PNG/JPG/WebP image or MP4/MOV/WebM video. Optional for an image with --run-id: the run's saved output is used instead.",
67
- required: false
68
- },
69
- title: { type: "string", description: "Human title for the creative output", required: true },
70
- context: { type: "string", description: "Optional describe context for the image asset", required: false },
71
- sourceReferenceUrl: {
72
- type: "string",
73
- description: "Optional URL of the original reference ad",
74
- required: false
75
- },
76
- slug: {
77
- type: "string",
78
- description: "Creative slug (src/creatives/<slug>/). Attaches the image or video to that creative's row. Required for a video",
79
- required: false
80
- },
81
- runId: {
82
- type: "string",
83
- description: "Canvas run id (r_\u2026) of the finished generation to pin as published",
84
- required: false
85
- },
86
- output: {
87
- type: "string",
88
- description: "With --run-id and no file: which of the run's sizes is the creative's cover, by label (e.g. 9:16), slot, or number (1 = first). Every size is saved either way; default the lead.",
89
- required: false
90
- }
91
- };
92
- registerSchema({ command: "creatives.publish", description: DESCRIPTION, args: ARGS });
93
- var SIZES_HINT = "Each size is its own image: on Meta, stage the 4:5 for Feed and the 9:16 for Stories and Reels (one ad, asset_customization_rules); LinkedIn takes the 1:1.";
94
- function detectCreativeContentType(filePath) {
95
- return detectImageContentType(filePath, {
96
- allowedContentTypes: creativeContentTypes,
97
- unsupportedMessage: UNSUPPORTED_CREATIVE_FILE
98
- });
99
- }
100
- function chatIdFromEnv() {
101
- return optionalChatId();
102
- }
103
- function parseOptionalUrl(value) {
104
- if (value === void 0 || value.trim() === "") {
105
- return void 0;
106
- }
107
- try {
108
- return new URL(value).toString();
109
- } catch {
110
- throw new ApiError("VALIDATION_ERROR", "--source-reference-url must be a valid URL");
111
- }
112
- }
113
- async function downloadBytes(url) {
114
- const res = await fetch(url);
115
- if (!res.ok) throw new ApiError("UNAVAILABLE", `Could not read the run's output (${res.status} ${res.statusText})`);
116
- return Buffer.from(await res.arrayBuffer());
117
- }
118
- function runImages(run) {
119
- if (run.status !== "completed") {
120
- throw new ApiError(
121
- "VALIDATION_ERROR",
122
- `Run ${run.runId} did not finish (${run.status}), so it has no result to publish. Finish the run first, or pass the image file.`
123
- );
124
- }
125
- const finals = run.finalOutputs.filter((o) => typeof o.url === "string");
126
- if (finals.some((o) => !creativeContentTypes.some((t) => t === o.mime))) {
127
- throw new ApiError(
128
- "VALIDATION_ERROR",
129
- `Run ${run.runId} made a video, not a still image. Publish the video file: baker creatives publish ./canvas/${run.runId}/<file>.mp4 --slug <slug> --run-id ${run.runId}.`
130
- );
131
- }
132
- return finals;
133
- }
134
- function describeOutputs(outputs) {
135
- return outputs.map((o, i) => `${i + 1}: ${o.label ?? o.slot}`).join(", ");
136
- }
137
- var MASTER_NODE = "master";
138
- function leadFirst(run, images) {
139
- const master = new Set(
140
- run.nodes.filter((n) => n.nodeId === MASTER_NODE).flatMap((n) => n.outputs.map((o) => o.sha256))
141
- );
142
- const at = images.findIndex((o) => master.has(o.sha256));
143
- return at > 0 ? [images[at], ...images.filter((_, i) => i !== at)] : [...images];
144
- }
145
- function orderedOutputs(run, choice) {
146
- const images = leadFirst(run, runImages(run));
147
- if (images.length === 0) {
148
- throw new ApiError(
149
- "VALIDATION_ERROR",
150
- `Run ${run.runId} has no saved image to publish. Pass the image file instead.`
151
- );
152
- }
153
- if (choice === void 0) return { outputs: images, cover: 0 };
154
- const wanted = choice.trim();
155
- const byNumber = /^\d+$/.test(wanted) ? Number(wanted) - 1 : -1;
156
- const cover = images[byNumber] ? byNumber : images.findIndex((o) => o.label === wanted || o.slot === wanted);
157
- if (cover < 0) {
158
- throw new ApiError("VALIDATION_ERROR", `Run ${run.runId} has no output "${wanted}" (${describeOutputs(images)}).`);
159
- }
160
- return { outputs: images, cover };
161
- }
162
- var EXTENSION = { "image/png": ".png", "image/jpeg": ".jpg", "image/webp": ".webp" };
163
- async function uploadRunOutputs(args, deps) {
164
- const run = await fetchRunRecord(args.runId, deps.post);
165
- if (!run) {
166
- throw new ApiError(
167
- "NOT_FOUND",
168
- `No run "${args.runId}" in this company's run history. Pass the image file instead.`
169
- );
170
- }
171
- const { outputs, cover } = orderedOutputs(run, args.output);
172
- const sizes = [];
173
- for (const [index, chosen] of outputs.entries()) {
174
- const bytes = await (deps.download ?? downloadBytes)(String(chosen.url));
175
- if (sha256Hex(bytes) !== chosen.sha256) {
176
- throw new ApiError(
177
- "VALIDATION_ERROR",
178
- `The saved output of run ${run.runId} does not match its recorded fingerprint`
179
- );
180
- }
181
- const name = (chosen.label ?? chosen.slot).replace(/[^a-z0-9.-]+/gi, "_");
182
- const { imageId } = await uploadImageBytes(
183
- {
184
- bytes,
185
- contentType: chosen.mime,
186
- originalFilename: `${run.runId}-${name}${EXTENSION[chosen.mime] ?? ""}`,
187
- source: "ai_generated",
188
- descriptionContext: args.descriptionContext,
189
- ...outputs.length > 1 ? {
190
- group: {
191
- key: `creative:${args.slug ?? "run"}:${run.runId}`,
192
- kind: "creative_sizes",
193
- index,
194
- size: outputs.length,
195
- title: args.title
196
- }
197
- } : {}
198
- },
199
- deps
200
- );
201
- sizes.push({ format: chosen.label ?? chosen.slot, imageId });
202
- }
203
- return { imageId: sizes[cover]?.imageId ?? "", sizes };
204
- }
205
- async function publishCreative(args, deps = defaultImageApiDeps) {
206
- const title = args.title.trim();
207
- if (!title) {
208
- throw new ApiError("VALIDATION_ERROR", "--title is required");
209
- }
210
- const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);
211
- const descriptionContext = args.context ?? `Static ad creative: ${title}`;
212
- let upload;
213
- if (args.file) {
214
- upload = await uploadLocalImage(
215
- {
216
- file: args.file,
217
- contentType: detectCreativeContentType(args.file),
218
- source: "ai_generated",
219
- descriptionContext
220
- },
221
- deps
222
- );
223
- } else if (args.runId) {
224
- upload = await uploadRunOutputs(
225
- {
226
- runId: args.runId,
227
- output: args.output,
228
- descriptionContext,
229
- ...args.slug ? { slug: args.slug } : {},
230
- title
231
- },
232
- deps
233
- );
234
- } else {
235
- throw new ApiError("VALIDATION_ERROR", "Pass the image file, or --run-id to save the run's own output");
236
- }
237
- await waitForReadyImage(deps, upload.imageId, { timeoutMs: imageProcessingTimeoutMs });
238
- const saved = await publishImageAsCreative(deps, {
239
- imageId: upload.imageId,
240
- title,
241
- sourceReferenceUrl,
242
- slug: args.slug,
243
- runId: args.runId,
244
- // Attribute the publish to the driving chat (injected by the bridge).
245
- chatId: chatIdFromEnv()
246
- });
247
- const result = upload.sizes && upload.sizes.length > 1 ? { ...saved, sizes: upload.sizes } : saved;
248
- if (args.slug && args.runId) {
249
- const cwd = process.cwd();
250
- const root = deps.workspaceRoot ?? findWorkspaceRoot(cwd) ?? cwd;
251
- const status = await advanceDefinitionStatus(definitionPathFor(root, args.slug), "published");
252
- if (status === "updated") return { ...result, definitionStatus: "published" };
253
- }
254
- return result;
255
- }
256
- async function publishVideoCreative(args, deps = defaultVideoApiDeps) {
257
- const title = args.title.trim();
258
- if (!title) {
259
- throw new ApiError("VALIDATION_ERROR", "--title is required");
260
- }
261
- const slug = args.slug?.trim();
262
- if (!slug) {
263
- throw new ApiError(
264
- "VALIDATION_ERROR",
265
- "--slug is required for a video: name the creative (src/creatives/<slug>/) this render belongs to"
266
- );
267
- }
268
- const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);
269
- const contentType = detectVideoContentType(args.file, {
270
- allowedContentTypes: creativeVideoContentTypes,
271
- unsupportedMessage: UNSUPPORTED_CREATIVE_FILE
272
- });
273
- const { videoId } = await uploadLocalVideo(
274
- { file: args.file, contentType, descriptionContext: args.context ?? `Video ad creative: ${title}` },
275
- deps
276
- );
277
- await waitForPlayableVideo(deps, videoId, { timeoutMs: videoProcessingTimeoutMs });
278
- const body = { videoId, title, slug };
279
- if (args.runId) body.runId = args.runId;
280
- if (sourceReferenceUrl) body.sourceReferenceUrl = sourceReferenceUrl;
281
- const chatId = chatIdFromEnv();
282
- if (chatId) body.chatId = chatId;
283
- return deps.post("/api/creatives/publish-video", body);
284
- }
285
- var publishCommand = defineCommand({
286
- meta: { name: "publish", description: DESCRIPTION },
287
- // Checked in `run` rather than by citty, so a missing value answers with the JSON envelope.
288
- args: { ...ARGS, file: { ...ARGS.file, type: "positional" }, title: { ...ARGS.title, required: false } },
289
- run: async ({ args }) => {
290
- try {
291
- const file = args.file;
292
- const title = args.title;
293
- const runId = args.runId;
294
- if (!file && !runId) {
295
- writeJson({
296
- ok: false,
297
- error: {
298
- code: "VALIDATION_ERROR",
299
- message: "Image or video path is required (or --run-id to save the run's own image)"
300
- }
301
- });
302
- process.exit(1);
303
- }
304
- if (!title) {
305
- writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: "--title is required" } });
306
- process.exit(1);
307
- }
308
- const publishArgs = {
309
- file: file || void 0,
310
- title,
311
- context: args.context,
312
- sourceReferenceUrl: args.sourceReferenceUrl,
313
- slug: args.slug,
314
- runId
315
- };
316
- if (file && isVideoFile(file)) {
317
- writeJson(await publishVideoCreative({ ...publishArgs, file }));
318
- return;
319
- }
320
- const data = await publishCreative({
321
- ...publishArgs,
322
- output: args.output
323
- });
324
- writeJson({ ok: true, data, ...data.sizes ? { hints: [SIZES_HINT] } : {} });
325
- } catch (err) {
326
- if (err instanceof ApiError) {
327
- writeJson({ ok: false, error: { code: err.code, message: err.message } });
328
- process.exit(1);
329
- }
330
- writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
331
- process.exit(1);
332
- }
333
- }
334
- });
335
- export {
336
- detectCreativeContentType,
337
- publishCommand,
338
- publishCreative,
339
- publishVideoCreative
340
- };
341
- //# sourceMappingURL=publish-BKLHCKHB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/creatives/publish.ts"],"sourcesContent":["import { Buffer } from \"node:buffer\";\nimport type {\n CreativesPublishVideoRequest,\n CreativesPublishVideoResponse,\n CreativesRunData,\n CreativesRunOutput,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError } from \"../../client.ts\";\nimport { sha256Hex } from \"../../engine/storage/sha256.ts\";\nimport { optionalChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { advanceDefinitionStatus, definitionPathFor } from \"../canvas/definition-status.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { fetchRunRecord } from \"../canvas/run-history.ts\";\nimport {\n defaultImageApiDeps,\n detectImageContentType,\n type ImageApiDeps,\n imageProcessingTimeoutMs,\n publishImageAsCreative,\n uploadImageBytes,\n uploadLocalImage,\n waitForReadyImage,\n} from \"../images/api.ts\";\nimport {\n defaultVideoApiDeps,\n detectVideoContentType,\n isVideoFile,\n uploadLocalVideo,\n type VideoApiDeps,\n videoProcessingTimeoutMs,\n waitForPlayableVideo,\n} from \"../videos/api.ts\";\n\nconst creativeContentTypes = [\"image/png\", \"image/jpeg\", \"image/webp\"] as const;\nconst creativeVideoContentTypes = [\"video/mp4\", \"video/quicktime\", \"video/webm\"] as const;\nconst UNSUPPORTED_CREATIVE_FILE =\n \"Unsupported creative file extension. Use PNG, JPG or WebP for an image, MP4, MOV or WebM for a video.\";\n\ntype CreativeReference = {\n type: \"creative\";\n slug: string;\n creativeId: string;\n title: string;\n asset: {\n kind: \"static_image\";\n imageId: string;\n imageUrl: string;\n storageKey?: string;\n width?: number;\n height?: number;\n aspectRatio?: number;\n };\n imageUrl: string;\n thumbnailUrl: string;\n storageKey?: string;\n sourceReferenceUrl?: string;\n width?: number;\n height?: number;\n aspectRatio?: number;\n};\n\ntype CreativesPublishResult = {\n creativeId: string;\n imageId: string;\n reference: CreativeReference;\n /** Every size the run made, saved to the library as one set, the lead first. */\n sizes?: Array<{ format: string; imageId: string }>;\n /** Set when `src/creatives/<slug>/_definition.md` was moved to `published`. */\n definitionStatus?: \"published\";\n};\n\nconst DESCRIPTION = `Save a finished creative to Baker Creatives and return a creative reference: a static image (PNG/JPG/WebP) or a finished video render (MP4/MOV/WebM).\nStart here:\n baker creatives publish ./canvas/r_01K…/final_4x5.png --title \"Spring Offer\" --slug spring-offer --run-id r_01K…\n baker creatives publish --title \"Spring Offer\" --slug spring-offer --run-id r_01K… --output 4:5\n baker creatives publish ./canvas/r_01K…/final.mp4 --title \"Spring Offer Reel\" --slug spring-offer --run-id r_01K…\nWith --run-id and no file, every size the run made is saved to the library as one set, the lead size first, and the lead is the creative's cover (--output picks another cover); \\`sizes\\` names each size's image id. A video goes to the company's video library first and is saved once it plays (up to 3 minutes); it needs the file and --slug. Choose and save the finished version yourself, including in the turn that rendered it. Saving pins that version without recording user approval or putting an ad live. An image publish marks the creative's _definition.md published.`;\n\nconst ARGS = {\n file: {\n type: \"string\",\n description:\n \"Local creative file: PNG/JPG/WebP image or MP4/MOV/WebM video. Optional for an image with --run-id: the run's saved output is used instead.\",\n required: false,\n },\n title: { type: \"string\", description: \"Human title for the creative output\", required: true },\n context: { type: \"string\", description: \"Optional describe context for the image asset\", required: false },\n sourceReferenceUrl: {\n type: \"string\",\n description: \"Optional URL of the original reference ad\",\n required: false,\n },\n slug: {\n type: \"string\",\n description:\n \"Creative slug (src/creatives/<slug>/). Attaches the image or video to that creative's row. Required for a video\",\n required: false,\n },\n runId: {\n type: \"string\",\n description: \"Canvas run id (r_…) of the finished generation to pin as published\",\n required: false,\n },\n output: {\n type: \"string\",\n description:\n \"With --run-id and no file: which of the run's sizes is the creative's cover, by label (e.g. 9:16), slot, or number (1 = first). Every size is saved either way; default the lead.\",\n required: false,\n },\n} as const;\n\nregisterSchema({ command: \"creatives.publish\", description: DESCRIPTION, args: ARGS });\n\n/** Which saved size goes where, said when a creative was saved in several. */\nconst SIZES_HINT =\n \"Each size is its own image: on Meta, stage the 4:5 for Feed and the 9:16 for Stories and Reels (one ad, asset_customization_rules); LinkedIn takes the 1:1.\";\n\nexport function detectCreativeContentType(filePath: string): string {\n return detectImageContentType(filePath, {\n allowedContentTypes: creativeContentTypes,\n unsupportedMessage: UNSUPPORTED_CREATIVE_FILE,\n });\n}\n\nfunction chatIdFromEnv(): string | undefined {\n // Soft read: publish attribution is best-effort. Direct callers (tests,\n // local one-offs) may run without the full env contract — missing creds\n // already fail loudly at the API call itself.\n return optionalChatId();\n}\n\nfunction parseOptionalUrl(value: string | undefined): string | undefined {\n if (value === undefined || value.trim() === \"\") {\n return undefined;\n }\n\n try {\n return new URL(value).toString();\n } catch {\n throw new ApiError(\"VALIDATION_ERROR\", \"--source-reference-url must be a valid URL\");\n }\n}\n\n/** What publishing needs beyond the image API: fetching a run's output, and where the workspace is. */\nexport type PublishDeps = ImageApiDeps & {\n download?: (url: string) => Promise<Buffer>;\n workspaceRoot?: string;\n};\n\nasync function downloadBytes(url: string): Promise<Buffer> {\n const res = await fetch(url);\n if (!res.ok) throw new ApiError(\"UNAVAILABLE\", `Could not read the run's output (${res.status} ${res.statusText})`);\n return Buffer.from(await res.arrayBuffer());\n}\n\n/**\n * The run's result, when it is still images, in the order the run delivered them. Only the\n * final outputs of a finished run count: the frames and reference sheets its steps made on\n * the way are images too, and publishing one of those would save a stand-in as the creative.\n */\nfunction runImages(run: CreativesRunData): CreativesRunOutput[] {\n if (run.status !== \"completed\") {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `Run ${run.runId} did not finish (${run.status}), so it has no result to publish. Finish the run first, or pass the image file.`,\n );\n }\n const finals = run.finalOutputs.filter((o) => typeof o.url === \"string\");\n if (finals.some((o) => !creativeContentTypes.some((t) => t === o.mime))) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `Run ${run.runId} made a video, not a still image. Publish the video file: baker creatives publish ./canvas/${run.runId}/<file>.mp4 --slug <slug> --run-id ${run.runId}.`,\n );\n }\n return finals;\n}\n\nfunction describeOutputs(outputs: CreativesRunOutput[]): string {\n return outputs.map((o, i) => `${i + 1}: ${o.label ?? o.slot}`).join(\", \");\n}\n\n/** The id a static ad's graph gives the lead size at its delivered pixels (`static_master`). */\nconst MASTER_NODE = \"master\";\n\n/**\n * The run's sizes with its lead first: the one its master made (a static ad's lead size), else the\n * order the run delivered them in. Review, Oct 2026: sizes labelled [\"9:16\", \"4:5\"] made the Stories\n * size the creative's cover. Pure.\n */\nfunction leadFirst(run: CreativesRunData, images: readonly CreativesRunOutput[]): CreativesRunOutput[] {\n const master = new Set(\n run.nodes.filter((n) => n.nodeId === MASTER_NODE).flatMap((n) => n.outputs.map((o) => o.sha256)),\n );\n const at = images.findIndex((o) => master.has(o.sha256));\n return at > 0 ? [images[at] as CreativesRunOutput, ...images.filter((_, i) => i !== at)] : [...images];\n}\n\n/**\n * Every size the run made, lead first, and which is the cover: the lead, or the one `choice` names\n * by label, slot or number.\n */\nfunction orderedOutputs(\n run: CreativesRunData,\n choice: string | undefined,\n): { outputs: CreativesRunOutput[]; cover: number } {\n const images = leadFirst(run, runImages(run));\n if (images.length === 0) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `Run ${run.runId} has no saved image to publish. Pass the image file instead.`,\n );\n }\n if (choice === undefined) return { outputs: images, cover: 0 };\n const wanted = choice.trim();\n const byNumber = /^\\d+$/.test(wanted) ? Number(wanted) - 1 : -1;\n const cover = images[byNumber] ? byNumber : images.findIndex((o) => o.label === wanted || o.slot === wanted);\n if (cover < 0) {\n throw new ApiError(\"VALIDATION_ERROR\", `Run ${run.runId} has no output \"${wanted}\" (${describeOutputs(images)}).`);\n }\n return { outputs: images, cover };\n}\n\nconst EXTENSION: Record<string, string> = { \"image/png\": \".png\", \"image/jpeg\": \".jpg\", \"image/webp\": \".webp\" };\n\n/**\n * Upload every size the run saved, byte for byte, as one set: the versions that were chosen, not\n * whichever local files happen to sit at a path (and it works in a workspace that never had one).\n */\nasync function uploadRunOutputs(\n args: {\n runId: string;\n output: string | undefined;\n descriptionContext: string;\n slug?: string;\n title: string;\n },\n deps: PublishDeps,\n): Promise<{ imageId: string; sizes: Array<{ format: string; imageId: string }> }> {\n const run = await fetchRunRecord(args.runId, deps.post);\n if (!run) {\n throw new ApiError(\n \"NOT_FOUND\",\n `No run \"${args.runId}\" in this company's run history. Pass the image file instead.`,\n );\n }\n const { outputs, cover } = orderedOutputs(run, args.output);\n const sizes: Array<{ format: string; imageId: string }> = [];\n for (const [index, chosen] of outputs.entries()) {\n const bytes = await (deps.download ?? downloadBytes)(String(chosen.url));\n if (sha256Hex(bytes) !== chosen.sha256) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n `The saved output of run ${run.runId} does not match its recorded fingerprint`,\n );\n }\n const name = (chosen.label ?? chosen.slot).replace(/[^a-z0-9.-]+/gi, \"_\");\n const { imageId } = await uploadImageBytes(\n {\n bytes,\n contentType: chosen.mime,\n originalFilename: `${run.runId}-${name}${EXTENSION[chosen.mime] ?? \"\"}`,\n source: \"ai_generated\",\n descriptionContext: args.descriptionContext,\n ...(outputs.length > 1\n ? {\n group: {\n key: `creative:${args.slug ?? \"run\"}:${run.runId}`,\n kind: \"creative_sizes\",\n index,\n size: outputs.length,\n title: args.title,\n },\n }\n : {}),\n },\n deps,\n );\n sizes.push({ format: chosen.label ?? chosen.slot, imageId });\n }\n return { imageId: sizes[cover]?.imageId ?? \"\", sizes };\n}\n\nexport async function publishCreative(\n args: {\n file?: string;\n title: string;\n context?: string;\n sourceReferenceUrl?: string;\n slug?: string;\n runId?: string;\n output?: string;\n },\n deps: PublishDeps = defaultImageApiDeps,\n): Promise<CreativesPublishResult> {\n const title = args.title.trim();\n if (!title) {\n throw new ApiError(\"VALIDATION_ERROR\", \"--title is required\");\n }\n\n const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);\n const descriptionContext = args.context ?? `Static ad creative: ${title}`;\n let upload: { imageId: string; sizes?: Array<{ format: string; imageId: string }> };\n if (args.file) {\n upload = await uploadLocalImage(\n {\n file: args.file,\n contentType: detectCreativeContentType(args.file),\n source: \"ai_generated\",\n descriptionContext,\n },\n deps,\n );\n } else if (args.runId) {\n upload = await uploadRunOutputs(\n {\n runId: args.runId,\n output: args.output,\n descriptionContext,\n ...(args.slug ? { slug: args.slug } : {}),\n title,\n },\n deps,\n );\n } else {\n throw new ApiError(\"VALIDATION_ERROR\", \"Pass the image file, or --run-id to save the run's own output\");\n }\n await waitForReadyImage(deps, upload.imageId, { timeoutMs: imageProcessingTimeoutMs });\n const saved = await publishImageAsCreative(deps, {\n imageId: upload.imageId,\n title,\n sourceReferenceUrl,\n slug: args.slug,\n runId: args.runId,\n // Attribute the publish to the driving chat (injected by the bridge).\n chatId: chatIdFromEnv(),\n });\n const result = upload.sizes && upload.sizes.length > 1 ? { ...saved, sizes: upload.sizes } : saved;\n // The lifecycle field moves with what happened: saving a finished version marks the\n // creative published in its definition, so nobody edits it by hand.\n if (args.slug && args.runId) {\n const cwd = process.cwd();\n const root = deps.workspaceRoot ?? findWorkspaceRoot(cwd) ?? cwd;\n const status = await advanceDefinitionStatus(definitionPathFor(root, args.slug), \"published\");\n if (status === \"updated\") return { ...result, definitionStatus: \"published\" };\n }\n return result;\n}\n\n/**\n * `baker creatives publish <video>`: upload the render to the company's video\n * library, wait until Baker can play it, then save it on the creative. The\n * image path above is untouched by this.\n */\nexport async function publishVideoCreative(\n args: { file: string; title: string; context?: string; sourceReferenceUrl?: string; slug?: string; runId?: string },\n deps: VideoApiDeps = defaultVideoApiDeps,\n): Promise<CreativesPublishVideoResponse> {\n const title = args.title.trim();\n if (!title) {\n throw new ApiError(\"VALIDATION_ERROR\", \"--title is required\");\n }\n const slug = args.slug?.trim();\n if (!slug) {\n throw new ApiError(\n \"VALIDATION_ERROR\",\n \"--slug is required for a video: name the creative (src/creatives/<slug>/) this render belongs to\",\n );\n }\n const sourceReferenceUrl = parseOptionalUrl(args.sourceReferenceUrl);\n const contentType = detectVideoContentType(args.file, {\n allowedContentTypes: creativeVideoContentTypes,\n unsupportedMessage: UNSUPPORTED_CREATIVE_FILE,\n });\n const { videoId } = await uploadLocalVideo(\n { file: args.file, contentType, descriptionContext: args.context ?? `Video ad creative: ${title}` },\n deps,\n );\n await waitForPlayableVideo(deps, videoId, { timeoutMs: videoProcessingTimeoutMs });\n const body: CreativesPublishVideoRequest = { videoId, title, slug };\n if (args.runId) body.runId = args.runId;\n if (sourceReferenceUrl) body.sourceReferenceUrl = sourceReferenceUrl;\n const chatId = chatIdFromEnv();\n if (chatId) body.chatId = chatId;\n return deps.post<CreativesPublishVideoResponse>(\"/api/creatives/publish-video\", body);\n}\n\nexport const publishCommand = defineCommand({\n meta: { name: \"publish\", description: DESCRIPTION },\n // Checked in `run` rather than by citty, so a missing value answers with the JSON envelope.\n args: { ...ARGS, file: { ...ARGS.file, type: \"positional\" }, title: { ...ARGS.title, required: false } },\n run: async ({ args }) => {\n try {\n const file = args.file as string | undefined;\n const title = args.title as string | undefined;\n const runId = args.runId as string | undefined;\n if (!file && !runId) {\n writeJson({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: \"Image or video path is required (or --run-id to save the run's own image)\",\n },\n });\n process.exit(1);\n }\n if (!title) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"--title is required\" } });\n process.exit(1);\n }\n const publishArgs = {\n file: file || undefined,\n title,\n context: args.context as string | undefined,\n sourceReferenceUrl: args.sourceReferenceUrl as string | undefined,\n slug: args.slug as string | undefined,\n runId,\n };\n if (file && isVideoFile(file)) {\n writeJson(await publishVideoCreative({ ...publishArgs, file }));\n return;\n }\n const data = await publishCreative({\n ...publishArgs,\n output: args.output as string | undefined,\n });\n writeJson({ ok: true, data, ...(data.sizes ? { hints: [SIZES_HINT] } : {}) });\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -1,26 +0,0 @@
1
- import {
2
- findSubreddits,
3
- redditCommand,
4
- searchReddit,
5
- subredditsFromArgs
6
- } from "./chunk-IFXGCI33.js";
7
- import "./chunk-JH2L5CQD.js";
8
- import "./chunk-EGPYWJGZ.js";
9
- import "./chunk-ERSX3MKH.js";
10
- import "./chunk-DAO63OOP.js";
11
- import "./chunk-GXDLWBOY.js";
12
- import "./chunk-GIWHHCD6.js";
13
- import "./chunk-XQIOCIDO.js";
14
- import "./chunk-WTJSMYY2.js";
15
- import "./chunk-6YLNY6CK.js";
16
- import "./chunk-D5NEIESR.js";
17
- import "./chunk-57KKVDDR.js";
18
- import "./chunk-QANGHND7.js";
19
- import "./chunk-YQSBHWOI.js";
20
- export {
21
- findSubreddits,
22
- redditCommand,
23
- searchReddit,
24
- subredditsFromArgs
25
- };
26
- //# sourceMappingURL=reddit-YK3YUZEI.js.map
@@ -1,94 +0,0 @@
1
- import {
2
- reportError
3
- } from "./chunk-LK6W5FDV.js";
4
- import {
5
- adLibraryRefreshRequestSchema
6
- } from "./chunk-DAO63OOP.js";
7
- import "./chunk-GXDLWBOY.js";
8
- import "./chunk-GIWHHCD6.js";
9
- import "./chunk-XQIOCIDO.js";
10
- import "./chunk-WTJSMYY2.js";
11
- import {
12
- apiPost
13
- } from "./chunk-6YLNY6CK.js";
14
- import "./chunk-D5NEIESR.js";
15
- import "./chunk-57KKVDDR.js";
16
- import {
17
- registerSchema,
18
- writeJson
19
- } from "./chunk-QANGHND7.js";
20
- import "./chunk-YQSBHWOI.js";
21
-
22
- // src/commands/winning-ads/refresh.ts
23
- import { defineCommand } from "citty";
24
- function refreshEnvelope(data) {
25
- if (data.queued) {
26
- return {
27
- ok: true,
28
- data,
29
- hints: [
30
- "Re-scrape started \u2014 new ads arrive over the next minutes. Check progress with `baker winning-ads following`; carry on with the ads already there meanwhile."
31
- ]
32
- };
33
- }
34
- if (data.collecting) {
35
- return {
36
- ok: true,
37
- data,
38
- hints: [
39
- `${data.label}'s ads are still being collected from the follow or the last refresh, so there is nothing to refresh yet. Check progress with \`baker winning-ads following\` and use what is there meanwhile.`
40
- ]
41
- };
42
- }
43
- if (data.nextAllowedAt !== void 0) {
44
- const next = new Date(data.nextAllowedAt).toISOString();
45
- return {
46
- ok: false,
47
- error: {
48
- code: "RATE_LIMITED",
49
- message: `${data.label} was refreshed less than 6 hours ago.`,
50
- fix: `Use the ads already collected for ${data.label}; it can be refreshed again after ${next}. Do not retry before then.`
51
- }
52
- };
53
- }
54
- return {
55
- ok: true,
56
- data,
57
- hints: ["Nothing new to look for on this brand right now; its ads are already up to date."]
58
- };
59
- }
60
- registerSchema({
61
- command: "winning-ads.refresh",
62
- description: "Re-scrape a brand this company follows so its newest ads land in the library. At most once every 6 hours per brand, and not while its ads are still being collected; it costs a fresh scrape, so use it only when the user wants the latest ads.",
63
- args: {
64
- advertiser: { type: "string", description: "Advertiser id of a followed brand (from `following`)", required: true }
65
- }
66
- });
67
- var refreshCommand = defineCommand({
68
- meta: {
69
- name: "refresh",
70
- description: "Re-scrape a followed brand for its newest ads (at most once every 6 hours). Example: baker winning-ads refresh adv_123"
71
- },
72
- args: {
73
- advertiser: { type: "positional", description: "Advertiser id of a followed brand", required: true }
74
- },
75
- run: async ({ args }) => {
76
- const parsed = adLibraryRefreshRequestSchema.safeParse({ advertiser_id: String(args.advertiser ?? "") });
77
- if (!parsed.success) {
78
- writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message: parsed.error.issues[0]?.message ?? "" } });
79
- process.exit(1);
80
- }
81
- try {
82
- const envelope = refreshEnvelope(await apiPost("/api/ad-library/refresh", parsed.data));
83
- writeJson(envelope);
84
- if (!envelope.ok) process.exit(1);
85
- } catch (err) {
86
- reportError(err);
87
- }
88
- }
89
- });
90
- export {
91
- refreshCommand,
92
- refreshEnvelope
93
- };
94
- //# sourceMappingURL=refresh-WIII7KXB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/winning-ads/refresh.ts"],"sourcesContent":["import { type AdLibraryRefreshResponse, adLibraryRefreshRequestSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { reportError } from \"./shared.ts\";\n\ntype RefreshEnvelope =\n | { ok: true; data: AdLibraryRefreshResponse; hints?: string[] }\n | { ok: false; error: { code: \"RATE_LIMITED\"; message: string; fix: string } };\n\n/**\n * What the agent reads back. A refresh inside the cooldown is a refusal with a\n * `fix` naming when the brand can be refreshed again — never something to retry\n * in a loop, and never a reason to stop: the ads already collected are usable.\n */\nexport function refreshEnvelope(data: AdLibraryRefreshResponse): RefreshEnvelope {\n if (data.queued) {\n return {\n ok: true,\n data,\n hints: [\n \"Re-scrape started — new ads arrive over the next minutes. Check progress with `baker winning-ads following`; carry on with the ads already there meanwhile.\",\n ],\n };\n }\n if (data.collecting) {\n return {\n ok: true,\n data,\n hints: [\n `${data.label}'s ads are still being collected from the follow or the last refresh, so there is nothing to refresh yet. Check progress with \\`baker winning-ads following\\` and use what is there meanwhile.`,\n ],\n };\n }\n if (data.nextAllowedAt !== undefined) {\n const next = new Date(data.nextAllowedAt).toISOString();\n return {\n ok: false,\n error: {\n code: \"RATE_LIMITED\",\n message: `${data.label} was refreshed less than 6 hours ago.`,\n fix: `Use the ads already collected for ${data.label}; it can be refreshed again after ${next}. Do not retry before then.`,\n },\n };\n }\n return {\n ok: true,\n data,\n hints: [\"Nothing new to look for on this brand right now; its ads are already up to date.\"],\n };\n}\n\nregisterSchema({\n command: \"winning-ads.refresh\",\n description:\n \"Re-scrape a brand this company follows so its newest ads land in the library. At most once every 6 hours per brand, and not while its ads are still being collected; it costs a fresh scrape, so use it only when the user wants the latest ads.\",\n args: {\n advertiser: { type: \"string\", description: \"Advertiser id of a followed brand (from `following`)\", required: true },\n },\n});\n\nexport const refreshCommand = defineCommand({\n meta: {\n name: \"refresh\",\n description:\n \"Re-scrape a followed brand for its newest ads (at most once every 6 hours). Example: baker winning-ads refresh adv_123\",\n },\n args: {\n advertiser: { type: \"positional\", description: \"Advertiser id of a followed brand\", required: true },\n },\n run: async ({ args }) => {\n const parsed = adLibraryRefreshRequestSchema.safeParse({ advertiser_id: String(args.advertiser ?? \"\") });\n if (!parsed.success) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: parsed.error.issues[0]?.message ?? \"\" } });\n process.exit(1);\n }\n try {\n const envelope = refreshEnvelope(await apiPost<AdLibraryRefreshResponse>(\"/api/ad-library/refresh\", parsed.data));\n writeJson(envelope);\n if (!envelope.ok) process.exit(1);\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAevB,SAAS,gBAAgB,MAAiD;AAC/E,MAAI,KAAK,QAAQ;AACf,WAAO;AAAA,MACL,IAAI;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,MAAI,KAAK,YAAY;AACnB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,GAAG,KAAK,KAAK;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACA,MAAI,KAAK,kBAAkB,QAAW;AACpC,UAAM,OAAO,IAAI,KAAK,KAAK,aAAa,EAAE,YAAY;AACtD,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,OAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,GAAG,KAAK,KAAK;AAAA,QACtB,KAAK,qCAAqC,KAAK,KAAK,qCAAqC,IAAI;AAAA,MAC/F;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ;AAAA,IACA,OAAO,CAAC,kFAAkF;AAAA,EAC5F;AACF;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,UAAU,aAAa,wDAAwD,UAAU,KAAK;AAAA,EACpH;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACJ,YAAY,EAAE,MAAM,cAAc,aAAa,qCAAqC,UAAU,KAAK;AAAA,EACrG;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,8BAA8B,UAAU,EAAE,eAAe,OAAO,KAAK,cAAc,EAAE,EAAE,CAAC;AACvG,QAAI,CAAC,OAAO,SAAS;AACnB,gBAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,oBAAoB,SAAS,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC;AAC5G,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,QAAI;AACF,YAAM,WAAW,gBAAgB,MAAM,QAAkC,2BAA2B,OAAO,IAAI,CAAC;AAChH,gBAAU,QAAQ;AAClB,UAAI,CAAC,SAAS,GAAI,SAAQ,KAAK,CAAC;AAAA,IAClC,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,60 +0,0 @@
1
- import {
2
- failApi,
3
- failValidation,
4
- writeOk
5
- } from "./chunk-ZDAVSTEE.js";
6
- import "./chunk-DAO63OOP.js";
7
- import "./chunk-GXDLWBOY.js";
8
- import "./chunk-GIWHHCD6.js";
9
- import "./chunk-XQIOCIDO.js";
10
- import "./chunk-WTJSMYY2.js";
11
- import {
12
- apiPost,
13
- validateConvexId
14
- } from "./chunk-6YLNY6CK.js";
15
- import "./chunk-D5NEIESR.js";
16
- import {
17
- requireChatId
18
- } from "./chunk-57KKVDDR.js";
19
- import {
20
- registerSchema
21
- } from "./chunk-QANGHND7.js";
22
- import "./chunk-YQSBHWOI.js";
23
-
24
- // src/commands/actions/release.ts
25
- import { defineCommand } from "citty";
26
- registerSchema({
27
- command: "actions.release",
28
- description: "Release an action you previously claimed (no-op if you don't own the claim).",
29
- args: {
30
- id: { type: "string", description: "Action ID", required: true }
31
- }
32
- });
33
- var releaseCommand = defineCommand({
34
- meta: {
35
- name: "release",
36
- description: "Release a claim you made on an action. Example: baker actions release <action-id>"
37
- },
38
- args: {
39
- id: { type: "positional", description: "Action ID", required: false },
40
- "action-id": { type: "string", description: "Action ID", required: false }
41
- },
42
- run: async ({ args }) => {
43
- try {
44
- const id = args.id || args["action-id"];
45
- if (!id) {
46
- failValidation("Action ID is required.");
47
- }
48
- validateConvexId(id);
49
- const chatId = requireChatId();
50
- await apiPost("/api/actions/release", { actionId: id, chatId });
51
- writeOk();
52
- } catch (err) {
53
- failApi(err);
54
- }
55
- }
56
- });
57
- export {
58
- releaseCommand
59
- };
60
- //# sourceMappingURL=release-ZHXYQI7G.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/actions/release.ts"],"sourcesContent":["import type { ActionsReleaseResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost, validateConvexId } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi, failValidation, writeOk } from \"./shared.ts\";\n\nregisterSchema({\n command: \"actions.release\",\n description: \"Release an action you previously claimed (no-op if you don't own the claim).\",\n args: {\n id: { type: \"string\", description: \"Action ID\", required: true },\n },\n});\n\nexport const releaseCommand = defineCommand({\n meta: {\n name: \"release\",\n description: \"Release a claim you made on an action. Example: baker actions release <action-id>\",\n },\n args: {\n id: { type: \"positional\", description: \"Action ID\", required: false },\n \"action-id\": { type: \"string\", description: \"Action ID\", required: false },\n },\n run: async ({ args }) => {\n try {\n const id = (args.id as string | undefined) || (args[\"action-id\"] as string | undefined);\n if (!id) {\n failValidation(\"Action ID is required.\");\n }\n validateConvexId(id);\n const chatId = requireChatId();\n await apiPost<ActionsReleaseResponse>(\"/api/actions/release\", { actionId: id, chatId });\n writeOk();\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,KAAK;AAAA,EACjE;AACF,CAAC;AAEM,IAAM,iBAAiB,cAAc;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,aAAa,UAAU,MAAM;AAAA,IACpE,aAAa,EAAE,MAAM,UAAU,aAAa,aAAa,UAAU,MAAM;AAAA,EAC3E;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,KAAM,KAAK,MAA8B,KAAK,WAAW;AAC/D,UAAI,CAAC,IAAI;AACP,uBAAe,wBAAwB;AAAA,MACzC;AACA,uBAAiB,EAAE;AACnB,YAAM,SAAS,cAAc;AAC7B,YAAM,QAAgC,wBAAwB,EAAE,UAAU,IAAI,OAAO,CAAC;AACtF,cAAQ;AAAA,IACV,SAAS,KAAK;AACZ,cAAQ,GAAG;AAAA,IACb;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,50 +0,0 @@
1
- import {
2
- reportError,
3
- reportInvalid
4
- } from "./chunk-RVTXDQYC.js";
5
- import {
6
- testimonialSourcesRemoveRequestSchema
7
- } from "./chunk-DAO63OOP.js";
8
- import "./chunk-GXDLWBOY.js";
9
- import "./chunk-GIWHHCD6.js";
10
- import "./chunk-XQIOCIDO.js";
11
- import "./chunk-WTJSMYY2.js";
12
- import {
13
- apiPost
14
- } from "./chunk-6YLNY6CK.js";
15
- import "./chunk-D5NEIESR.js";
16
- import "./chunk-57KKVDDR.js";
17
- import {
18
- registerSchema,
19
- writeJson
20
- } from "./chunk-QANGHND7.js";
21
- import "./chunk-YQSBHWOI.js";
22
-
23
- // src/commands/testimonials/sources/remove.ts
24
- import { defineCommand } from "citty";
25
- registerSchema({
26
- command: "testimonials.sources.remove",
27
- description: "Remove a review source AND every testimonial it imported (and their pictures). Applies immediately and cannot be undone \u2014 only when the user asked for it.",
28
- args: { id: { type: "string", description: "Source id from `testimonials sources list`", required: true } }
29
- });
30
- var removeCommand = defineCommand({
31
- meta: {
32
- name: "remove",
33
- description: "Remove a review source and all its testimonials (cannot be undone).\n\nExample: baker testimonials sources remove <source-id>"
34
- },
35
- args: { id: { type: "positional", description: "Source id from `testimonials sources list`", required: true } },
36
- run: async ({ args }) => {
37
- const parsed = testimonialSourcesRemoveRequestSchema.safeParse({ id: String(args.id ?? "") });
38
- if (!parsed.success) reportInvalid(parsed.error.issues[0]);
39
- try {
40
- const data = await apiPost("/api/testimonials/sources/remove", parsed.data);
41
- writeJson({ ok: true, data });
42
- } catch (err) {
43
- reportError(err);
44
- }
45
- }
46
- });
47
- export {
48
- removeCommand
49
- };
50
- //# sourceMappingURL=remove-NOX4BXWK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/testimonials/sources/remove.ts"],"sourcesContent":["import { type TestimonialSourcesRemoveResponse, testimonialSourcesRemoveRequestSchema } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeJson } from \"../../../output.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { reportError, reportInvalid } from \"./shared.ts\";\n\nregisterSchema({\n command: \"testimonials.sources.remove\",\n description:\n \"Remove a review source AND every testimonial it imported (and their pictures). Applies immediately and cannot be undone — only when the user asked for it.\",\n args: { id: { type: \"string\", description: \"Source id from `testimonials sources list`\", required: true } },\n});\n\nexport const removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description:\n \"Remove a review source and all its testimonials (cannot be undone).\\n\\nExample: baker testimonials sources remove <source-id>\",\n },\n args: { id: { type: \"positional\", description: \"Source id from `testimonials sources list`\", required: true } },\n run: async ({ args }) => {\n const parsed = testimonialSourcesRemoveRequestSchema.safeParse({ id: String(args.id ?? \"\") });\n if (!parsed.success) reportInvalid(parsed.error.issues[0]);\n try {\n const data = await apiPost<TestimonialSourcesRemoveResponse>(\"/api/testimonials/sources/remove\", parsed.data);\n writeJson({ ok: true, data });\n } catch (err) {\n reportError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,aAAa,8CAA8C,UAAU,KAAK,EAAE;AAC5G,CAAC;AAEM,IAAM,gBAAgB,cAAc;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,aAAa,8CAA8C,UAAU,KAAK,EAAE;AAAA,EAC9G,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,sCAAsC,UAAU,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE,EAAE,CAAC;AAC5F,QAAI,CAAC,OAAO,QAAS,eAAc,OAAO,MAAM,OAAO,CAAC,CAAC;AACzD,QAAI;AACF,YAAM,OAAO,MAAM,QAA0C,oCAAoC,OAAO,IAAI;AAC5G,gBAAU,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IAC9B,SAAS,KAAK;AACZ,kBAAY,GAAG;AAAA,IACjB;AAAA,EACF;AACF,CAAC;","names":[]}