@koda-sl/baker-cli 0.512.0 → 0.514.0-dev.555f7007e

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 (1156) hide show
  1. package/README.md +20 -3
  2. package/dist/account-QX4G4BJ7.js +82 -0
  3. package/dist/account-QX4G4BJ7.js.map +1 -0
  4. package/dist/account-UFYZS3K6.js +82 -0
  5. package/dist/account-UFYZS3K6.js.map +1 -0
  6. package/dist/account-assets-J5Z4URLQ.js +290 -0
  7. package/dist/account-level-4SBYYHRS.js +611 -0
  8. package/dist/account-level-4SBYYHRS.js.map +1 -0
  9. package/dist/account-reads-FOEVPWDP.js +219 -0
  10. package/dist/account-users-UTIF7MIT.js +64 -0
  11. package/dist/account-users-UTIF7MIT.js.map +1 -0
  12. package/dist/account-writes-QAQXRIEY.js +68 -0
  13. package/dist/account-writes-QAQXRIEY.js.map +1 -0
  14. package/dist/accounts-JK3OAS5U.js +701 -0
  15. package/dist/accounts-JK3OAS5U.js.map +1 -0
  16. package/dist/accounts-OE33CKWD.js +80 -0
  17. package/dist/accounts-OE33CKWD.js.map +1 -0
  18. package/dist/actions-QZDSLFFK.js +55 -0
  19. package/dist/activecampaign-U6TKRR45.js +938 -0
  20. package/dist/activecampaign-U6TKRR45.js.map +1 -0
  21. package/dist/ad-group-writes-XY5JYTKT.js +172 -0
  22. package/dist/ad-group-writes-XY5JYTKT.js.map +1 -0
  23. package/dist/ad-groups-YEO5ZS5U.js +70 -0
  24. package/dist/ad-groups-YEO5ZS5U.js.map +1 -0
  25. package/dist/ad-writes-XRCPK4SP.js +176 -0
  26. package/dist/ad-writes-XRCPK4SP.js.map +1 -0
  27. package/dist/add-2EF7S4NK.js +305 -0
  28. package/dist/add-2EF7S4NK.js.map +1 -0
  29. package/dist/add-YCJ6RXPG.js +107 -0
  30. package/dist/add-YCJ6RXPG.js.map +1 -0
  31. package/dist/ads-AYJAYLFR.js +48 -0
  32. package/dist/ads-H7H7H2CM.js +79 -0
  33. package/dist/ads-H7H7H2CM.js.map +1 -0
  34. package/dist/ads-MAOI7S6V.js +115 -0
  35. package/dist/adsets-QRKICEFD.js +182 -0
  36. package/dist/advertisers-JLSU3G35.js +123 -0
  37. package/dist/advertisers-JLSU3G35.js.map +1 -0
  38. package/dist/analytics-ADIWEM6G.js +2437 -0
  39. package/dist/analytics-ADIWEM6G.js.map +1 -0
  40. package/dist/analytics-XB6FRNVJ.js +447 -0
  41. package/dist/analytics-XB6FRNVJ.js.map +1 -0
  42. package/dist/animate-HRWFVE2N.js +480 -0
  43. package/dist/asset-writes-JLVUAVUZ.js +50 -0
  44. package/dist/assign-IWZ2OPFL.js +80 -0
  45. package/dist/assign-IWZ2OPFL.js.map +1 -0
  46. package/dist/audience-size-P5L6MZ4C.js +76 -0
  47. package/dist/audience-size-P5L6MZ4C.js.map +1 -0
  48. package/dist/audience-writes-CDKQB3SM.js +327 -0
  49. package/dist/audience-writes-CDKQB3SM.js.map +1 -0
  50. package/dist/audiences-CDDI5HR5.js +86 -0
  51. package/dist/audiences-XKERWKKE.js +280 -0
  52. package/dist/audiences-XKERWKKE.js.map +1 -0
  53. package/dist/audit-SEADLC6F.js +154 -0
  54. package/dist/audit-SEADLC6F.js.map +1 -0
  55. package/dist/autocomplete-AJQBJS5R.js +114 -0
  56. package/dist/autocomplete-AJQBJS5R.js.map +1 -0
  57. package/dist/avatars-4HCGWBOL.js +38 -0
  58. package/dist/bid-pricing-NWSUO3VM.js +103 -0
  59. package/dist/bid-pricing-NWSUO3VM.js.map +1 -0
  60. package/dist/brand-C6OB6Q4U.js +22 -0
  61. package/dist/brief-LCWWQ4OC.js +543 -0
  62. package/dist/brief-LCWWQ4OC.js.map +1 -0
  63. package/dist/campaign-groups-PH64UXZJ.js +99 -0
  64. package/dist/campaign-groups-PH64UXZJ.js.map +1 -0
  65. package/dist/campaign-writes-BN3EGDK5.js +168 -0
  66. package/dist/campaign-writes-BN3EGDK5.js.map +1 -0
  67. package/dist/campaign-writes-CLV5ZSUK.js +176 -0
  68. package/dist/campaign-writes-CLV5ZSUK.js.map +1 -0
  69. package/dist/campaigns-5XRY27JZ.js +78 -0
  70. package/dist/campaigns-5XRY27JZ.js.map +1 -0
  71. package/dist/campaigns-HES5MDUG.js +130 -0
  72. package/dist/campaigns-JF4TYYUP.js +113 -0
  73. package/dist/campaigns-JF4TYYUP.js.map +1 -0
  74. package/dist/campaigns-ZYU4BXDP.js +111 -0
  75. package/dist/canvas-AI34UBGU.js +46 -0
  76. package/dist/capabilities-TRHAPTUU.js +147 -0
  77. package/dist/capabilities-TRHAPTUU.js.map +1 -0
  78. package/dist/catalog-ZY3MFT55.js +65 -0
  79. package/dist/catalogs-6XLBWAUS.js +130 -0
  80. package/dist/catalogs-6XLBWAUS.js.map +1 -0
  81. package/dist/catalogs-TGLSJEK5.js +781 -0
  82. package/dist/catalogs-TGLSJEK5.js.map +1 -0
  83. package/dist/changes-OOUVQDBY.js +135 -0
  84. package/dist/chatgpt-NAXIFWXV.js +47 -0
  85. package/dist/chats-I5RHBRS5.js +279 -0
  86. package/dist/chats-I5RHBRS5.js.map +1 -0
  87. package/dist/check-3E64VBUE.js +107 -0
  88. package/dist/check-3E64VBUE.js.map +1 -0
  89. package/dist/chunk-3CHYJYSS.js +319 -0
  90. package/dist/chunk-3G3GC5N4.js +429 -0
  91. package/dist/chunk-3M45PYU7.js +274 -0
  92. package/dist/chunk-3QHXF3QI.js +23 -0
  93. package/dist/chunk-3XPHUMLJ.js +3868 -0
  94. package/dist/chunk-45EERHDB.js +783 -0
  95. package/dist/chunk-4FGTANFK.js +387 -0
  96. package/dist/chunk-4IHWT7PH.js +167 -0
  97. package/dist/chunk-4LF4AYPT.js +846 -0
  98. package/dist/chunk-4UQRXKYJ.js +219 -0
  99. package/dist/chunk-5JJD33Y2.js +455 -0
  100. package/dist/chunk-5K4QYYOJ.js +831 -0
  101. package/dist/chunk-5LJ6E4YU.js +163 -0
  102. package/dist/chunk-5T73MMBL.js +275 -0
  103. package/dist/chunk-64MAHLTK.js +363 -0
  104. package/dist/chunk-6OIKNJ7G.js +26 -0
  105. package/dist/chunk-6ZFSDYWV.js +131 -0
  106. package/dist/chunk-7BUIOP36.js +287 -0
  107. package/dist/chunk-7I6ZVBLM.js +358 -0
  108. package/dist/chunk-7I6ZVBLM.js.map +1 -0
  109. package/dist/chunk-AN4OEQXE.js +122 -0
  110. package/dist/chunk-AULSX5ZA.js +5368 -0
  111. package/dist/chunk-AVYUFJQQ.js +46 -0
  112. package/dist/chunk-B4YF7VQF.js +97 -0
  113. package/dist/chunk-BDOYNGUL.js +98 -0
  114. package/dist/chunk-BJOK7QD4.js +207 -0
  115. package/dist/chunk-CMCGFSUS.js +197 -0
  116. package/dist/chunk-DMJUIUAL.js +676 -0
  117. package/dist/chunk-DUCUOZLS.js +225 -0
  118. package/dist/chunk-EW7JSTRZ.js +24026 -0
  119. package/dist/chunk-EW7JSTRZ.js.map +1 -0
  120. package/dist/chunk-F3CZFUXZ.js +3187 -0
  121. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  122. package/dist/chunk-FJZYOVSW.js +843 -0
  123. package/dist/chunk-FKP4ECJY.js +19 -0
  124. package/dist/chunk-G4FG5EQO.js +110 -0
  125. package/dist/chunk-G4FG5EQO.js.map +1 -0
  126. package/dist/chunk-GAYRBIEF.js +712 -0
  127. package/dist/chunk-GAYRBIEF.js.map +1 -0
  128. package/dist/chunk-GNMEOU46.js +8954 -0
  129. package/dist/chunk-GYKYXWUQ.js +156 -0
  130. package/dist/chunk-GYPLRU4Y.js +297 -0
  131. package/dist/chunk-I43ZEWJQ.js +285 -0
  132. package/dist/chunk-IZABTTW5.js +228 -0
  133. package/dist/chunk-JOE42ZW6.js +2984 -0
  134. package/dist/chunk-JOE42ZW6.js.map +1 -0
  135. package/dist/chunk-K7IE6UYV.js +1646 -0
  136. package/dist/chunk-KH5YHHJV.js +604 -0
  137. package/dist/chunk-KMY7AD3N.js +51 -0
  138. package/dist/chunk-KPCHWDJM.js +8914 -0
  139. package/dist/chunk-KTZCLJ2D.js +148 -0
  140. package/dist/chunk-MKUA54QE.js +638 -0
  141. package/dist/chunk-MTV2RSGY.js +63 -0
  142. package/dist/chunk-MUS2UTWU.js +4254 -0
  143. package/dist/chunk-MUS2UTWU.js.map +1 -0
  144. package/dist/chunk-N2QX57K3.js +392 -0
  145. package/dist/chunk-NB2FU6EZ.js +179 -0
  146. package/dist/chunk-NEYWS2DQ.js +479 -0
  147. package/dist/chunk-NKQWDEB7.js +115 -0
  148. package/dist/chunk-NKQWDEB7.js.map +1 -0
  149. package/dist/chunk-NWF2LRKO.js +188 -0
  150. package/dist/chunk-NZ34KM46.js +7211 -0
  151. package/dist/chunk-NZ34KM46.js.map +1 -0
  152. package/dist/chunk-OTC6UMJ2.js +191 -0
  153. package/dist/chunk-OUY2IAWL.js +224 -0
  154. package/dist/chunk-PJXNCRMR.js +344 -0
  155. package/dist/chunk-PYQ3GF7R.js +91 -0
  156. package/dist/chunk-Q3EIVZAR.js +170 -0
  157. package/dist/chunk-Q3GSVLE5.js +4274 -0
  158. package/dist/chunk-Q3GSVLE5.js.map +1 -0
  159. package/dist/chunk-QDQZ62FL.js +207 -0
  160. package/dist/chunk-QHZE62GP.js +1919 -0
  161. package/dist/chunk-RGR6TSTJ.js +103 -0
  162. package/dist/chunk-SAAXU7QR.js +203 -0
  163. package/dist/chunk-SHTKLRI6.js +66 -0
  164. package/dist/chunk-SIKCVWM3.js +76 -0
  165. package/dist/chunk-SOPVIIUW.js +68 -0
  166. package/dist/chunk-SOPVIIUW.js.map +1 -0
  167. package/dist/chunk-SSXG53CZ.js +89 -0
  168. package/dist/chunk-TBWAM577.js +547 -0
  169. package/dist/chunk-TGPGQTZA.js +169 -0
  170. package/dist/chunk-UMIX2BMM.js +1518 -0
  171. package/dist/chunk-URMAEVZO.js +150 -0
  172. package/dist/chunk-VBO3ZVUU.js +61 -0
  173. package/dist/chunk-VFLYMHTO.js +592 -0
  174. package/dist/chunk-VGYIVXIZ.js +249 -0
  175. package/dist/chunk-VIB7R533.js +57 -0
  176. package/dist/chunk-WLESMH4J.js +45 -0
  177. package/dist/chunk-WVWLPXBO.js +910 -0
  178. package/dist/chunk-XEH5XAP6.js +494 -0
  179. package/dist/chunk-XEOKVL4E.js +142 -0
  180. package/dist/chunk-XOGQJYXH.js +64 -0
  181. package/dist/chunk-XOQNM7I4.js +396 -0
  182. package/dist/chunk-XOQNM7I4.js.map +1 -0
  183. package/dist/chunk-XUXRA7IB.js +942 -0
  184. package/dist/claim-FIK2YTLM.js +200 -0
  185. package/dist/claim-FIK2YTLM.js.map +1 -0
  186. package/dist/cli.js +34 -33
  187. package/dist/cli.js.map +1 -1
  188. package/dist/companies-KMMV6EJW.js +198 -0
  189. package/dist/companies-KMMV6EJW.js.map +1 -0
  190. package/dist/company-B54URPJG.js +308 -0
  191. package/dist/company-B54URPJG.js.map +1 -0
  192. package/dist/complete-PPCWEXS3.js +84 -0
  193. package/dist/complete-PPCWEXS3.js.map +1 -0
  194. package/dist/connect-IAXSZPGA.js +45 -0
  195. package/dist/conversation-KHTZBGX2.js +96 -0
  196. package/dist/conversation-KHTZBGX2.js.map +1 -0
  197. package/dist/conversion-report-U66HW6JM.js +127 -0
  198. package/dist/conversion-report-U66HW6JM.js.map +1 -0
  199. package/dist/conversion-upload-command-IHFKVX2M.js +439 -0
  200. package/dist/conversion-writes-RSGDOAET.js +122 -0
  201. package/dist/conversion-writes-RSGDOAET.js.map +1 -0
  202. package/dist/conversions-BVOL43W4.js +78 -0
  203. package/dist/conversions-BVOL43W4.js.map +1 -0
  204. package/dist/conversions-SUMZAV2T.js +140 -0
  205. package/dist/conversions-SUMZAV2T.js.map +1 -0
  206. package/dist/copy-writes-CIHIFLY6.js +170 -0
  207. package/dist/copy-writes-CIHIFLY6.js.map +1 -0
  208. package/dist/create-732HQL3C.js +210 -0
  209. package/dist/create-732HQL3C.js.map +1 -0
  210. package/dist/create-TFR6R2KF.js +239 -0
  211. package/dist/create-TFR6R2KF.js.map +1 -0
  212. package/dist/create-UC57ULRL.js +62 -0
  213. package/dist/create-UC57ULRL.js.map +1 -0
  214. package/dist/create-UL2OYXOA.js +135 -0
  215. package/dist/create-UL2OYXOA.js.map +1 -0
  216. package/dist/creatives-BB6S2OF6.js +89 -0
  217. package/dist/creatives-BZEVJ6ER.js +58 -0
  218. package/dist/creatives-FU3YELGU.js +223 -0
  219. package/dist/creatives-FU3YELGU.js.map +1 -0
  220. package/dist/credentials-AYV5YQE4.js +290 -0
  221. package/dist/credentials-AYV5YQE4.js.map +1 -0
  222. package/dist/critique-FKIJB72I.js +1451 -0
  223. package/dist/critique-FKIJB72I.js.map +1 -0
  224. package/dist/critique-IQYNDXCN.js +232 -0
  225. package/dist/critique-IQYNDXCN.js.map +1 -0
  226. package/dist/crm-ILQMNJPX.js +323 -0
  227. package/dist/crm-ILQMNJPX.js.map +1 -0
  228. package/dist/crm-MQQRBITZ.js +227 -0
  229. package/dist/crm-MQQRBITZ.js.map +1 -0
  230. package/dist/currency-CGKO5GKH.js +88 -0
  231. package/dist/custom-conversions-HAGG72LF.js +128 -0
  232. package/dist/customers-NKKU6S7G.js +59 -0
  233. package/dist/delete-2TCCNRMH.js +57 -0
  234. package/dist/delete-2TCCNRMH.js.map +1 -0
  235. package/dist/delete-HCZTISBT.js +69 -0
  236. package/dist/delete-HCZTISBT.js.map +1 -0
  237. package/dist/delete-UIKB5ZXS.js +67 -0
  238. package/dist/delete-UIKB5ZXS.js.map +1 -0
  239. package/dist/demographics-ABZODD45.js +141 -0
  240. package/dist/demographics-ABZODD45.js.map +1 -0
  241. package/dist/discard-V3K5PZ4W.js +69 -0
  242. package/dist/discard-V3K5PZ4W.js.map +1 -0
  243. package/dist/discover-VM3O7CQM.js +172 -0
  244. package/dist/domain-A66DHOTQ.js +101 -0
  245. package/dist/domain-A66DHOTQ.js.map +1 -0
  246. package/dist/download-LSAZD5JO.js +172 -0
  247. package/dist/download-LSAZD5JO.js.map +1 -0
  248. package/dist/draft-5UUJC675.js +335 -0
  249. package/dist/draft-5UUJC675.js.map +1 -0
  250. package/dist/draft-BATA5CVI.js +283 -0
  251. package/dist/draft-BATA5CVI.js.map +1 -0
  252. package/dist/draft-CRDBU6LF.js +308 -0
  253. package/dist/draft-P7IDMXWR.js +310 -0
  254. package/dist/draft-P7IDMXWR.js.map +1 -0
  255. package/dist/draft-YBNL4ZZA.js +220 -0
  256. package/dist/draft-YBNL4ZZA.js.map +1 -0
  257. package/dist/engine/index.js +7 -7
  258. package/dist/experiments-MLLTHMMS.js +236 -0
  259. package/dist/experiments-MLLTHMMS.js.map +1 -0
  260. package/dist/facets-KSHR3MBE.js +117 -0
  261. package/dist/facets-KSHR3MBE.js.map +1 -0
  262. package/dist/feedback-4GCPXZSI.js +111 -0
  263. package/dist/feedback-4GCPXZSI.js.map +1 -0
  264. package/dist/feedback-record-VEFHUIUJ.js +265 -0
  265. package/dist/feedback-record-VEFHUIUJ.js.map +1 -0
  266. package/dist/fetch-42QL56JC.js +179 -0
  267. package/dist/fetch-42QL56JC.js.map +1 -0
  268. package/dist/fit-Q5GRVF2O.js +65 -0
  269. package/dist/flows-M3WBZQET.js +250 -0
  270. package/dist/flows-M3WBZQET.js.map +1 -0
  271. package/dist/fonts-GD4YRXQU.js +39 -0
  272. package/dist/forecast-HT46MFL4.js +121 -0
  273. package/dist/forecast-HT46MFL4.js.map +1 -0
  274. package/dist/forecast-ONVS2QAI.js +169 -0
  275. package/dist/funnel-76BAD64Q.js +397 -0
  276. package/dist/funnel-76BAD64Q.js.map +1 -0
  277. package/dist/generate-VBEY3N3L.js +263 -0
  278. package/dist/get-4KFAO475.js +82 -0
  279. package/dist/get-4KFAO475.js.map +1 -0
  280. package/dist/get-QV5NIADE.js +59 -0
  281. package/dist/get-QV5NIADE.js.map +1 -0
  282. package/dist/google-7EZP7I6J.js +3267 -0
  283. package/dist/google-ads-J7WHTJO4.js +198 -0
  284. package/dist/google-ads-J7WHTJO4.js.map +1 -0
  285. package/dist/history-EULKWQUS.js +136 -0
  286. package/dist/history-EULKWQUS.js.map +1 -0
  287. package/dist/history-FEBJHFHJ.js +69 -0
  288. package/dist/history-FEBJHFHJ.js.map +1 -0
  289. package/dist/history-RDVV7KBN.js +102 -0
  290. package/dist/history-RDVV7KBN.js.map +1 -0
  291. package/dist/hubspot-A3RQNMYN.js +782 -0
  292. package/dist/hubspot-A3RQNMYN.js.map +1 -0
  293. package/dist/ideas-WX7EBPSF.js +45 -0
  294. package/dist/images-4AXF4LAC.js +92 -0
  295. package/dist/ingest-AM5YDTRH.js +110 -0
  296. package/dist/ingest-AM5YDTRH.js.map +1 -0
  297. package/dist/ingest-C3M4GUO6.js +26 -0
  298. package/dist/insights-UTCMSWSC.js +132 -0
  299. package/dist/insights-UTCMSWSC.js.map +1 -0
  300. package/dist/insights-XZL2EM53.js +439 -0
  301. package/dist/insights-XZL2EM53.js.map +1 -0
  302. package/dist/inspect-DWCLRZGR.js +192 -0
  303. package/dist/inspect-DWCLRZGR.js.map +1 -0
  304. package/dist/instant-experiences-RM4MLJTL.js +260 -0
  305. package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
  306. package/dist/intent-ZMYMFGB4.js +95 -0
  307. package/dist/keyword-gap-XSJO2R77.js +130 -0
  308. package/dist/keyword-metrics-M46FCTAS.js +200 -0
  309. package/dist/keyword-metrics-M46FCTAS.js.map +1 -0
  310. package/dist/keywords-for-site-XNSLX7EA.js +131 -0
  311. package/dist/keywords-for-site-XNSLX7EA.js.map +1 -0
  312. package/dist/landing-MUNYZQNA.js +28 -0
  313. package/dist/languages-DIQ3OG3E.js +40 -0
  314. package/dist/lead-routes-XBO2GOBL.js +608 -0
  315. package/dist/lead-routes-XBO2GOBL.js.map +1 -0
  316. package/dist/leads-LAATTW5G.js +115 -0
  317. package/dist/leads-LAATTW5G.js.map +1 -0
  318. package/dist/leads-ULYHTG22.js +540 -0
  319. package/dist/leads-ULYHTG22.js.map +1 -0
  320. package/dist/learn-3GLY4G3H.js +207 -0
  321. package/dist/learn-3GLY4G3H.js.map +1 -0
  322. package/dist/line-item-writes-XJTTA3X5.js +211 -0
  323. package/dist/line-item-writes-XJTTA3X5.js.map +1 -0
  324. package/dist/line-items-JR25T2C5.js +107 -0
  325. package/dist/link-7DSLIF3I.js +67 -0
  326. package/dist/link-7DSLIF3I.js.map +1 -0
  327. package/dist/linkedin-W5BJ6HEH.js +1316 -0
  328. package/dist/linkedin-W5BJ6HEH.js.map +1 -0
  329. package/dist/linkedin-person-2ZYSOHYR.js +139 -0
  330. package/dist/linkedin-person-2ZYSOHYR.js.map +1 -0
  331. package/dist/list-3653DIYB.js +67 -0
  332. package/dist/list-3653DIYB.js.map +1 -0
  333. package/dist/list-G66HVYCR.js +306 -0
  334. package/dist/list-G66HVYCR.js.map +1 -0
  335. package/dist/list-Z4M53MS5.js +154 -0
  336. package/dist/list-Z4M53MS5.js.map +1 -0
  337. package/dist/locations-HTVYJSDJ.js +40 -0
  338. package/dist/locations-M2B5XDU4.js +69 -0
  339. package/dist/locations-M2B5XDU4.js.map +1 -0
  340. package/dist/log-2RJU5BOW.js +95 -0
  341. package/dist/log-2RJU5BOW.js.map +1 -0
  342. package/dist/lookup-S5VG7AWH.js +23 -0
  343. package/dist/make-MJ6JMU5T.js +1370 -0
  344. package/dist/make-MJ6JMU5T.js.map +1 -0
  345. package/dist/map-27IPOBY6.js +436 -0
  346. package/dist/map-27IPOBY6.js.map +1 -0
  347. package/dist/mcp-TFQTME4P.js +717 -0
  348. package/dist/mcp-TFQTME4P.js.map +1 -0
  349. package/dist/media-P4T4ZBNS.js +18 -0
  350. package/dist/media-sources-P246GM7W.js +35 -0
  351. package/dist/members-KOKBTUC2.js +47 -0
  352. package/dist/members-KOKBTUC2.js.map +1 -0
  353. package/dist/meta-IPLWNYC7.js +122 -0
  354. package/dist/metrics-WYWUX6Y5.js +152 -0
  355. package/dist/models-HJ7Y55AH.js +155 -0
  356. package/dist/normalize-GXBUNTYJ.js +144 -0
  357. package/dist/normalize-GXBUNTYJ.js.map +1 -0
  358. package/dist/options-MA25RNXF.js +125 -0
  359. package/dist/options-MA25RNXF.js.map +1 -0
  360. package/dist/organization-NLEVNGKQ.js +949 -0
  361. package/dist/organization-NLEVNGKQ.js.map +1 -0
  362. package/dist/page-photos-OQ5QATQH.js +118 -0
  363. package/dist/page-photos-OQ5QATQH.js.map +1 -0
  364. package/dist/performance-34EUP5KL.js +5541 -0
  365. package/dist/performance-34EUP5KL.js.map +1 -0
  366. package/dist/performance-J3DLNI2W.js +27 -0
  367. package/dist/pixels-THEGYRXT.js +62 -0
  368. package/dist/pixels-THEGYRXT.js.map +1 -0
  369. package/dist/plan-7UF76Q6U.js +208 -0
  370. package/dist/plan-7UF76Q6U.js.map +1 -0
  371. package/dist/preview-LRJOQ7LM.js +218 -0
  372. package/dist/preview-LRJOQ7LM.js.map +1 -0
  373. package/dist/promoted-tweet-writes-SBXWKO23.js +183 -0
  374. package/dist/promoted-tweet-writes-SBXWKO23.js.map +1 -0
  375. package/dist/promoted-tweets-W42FNWS7.js +119 -0
  376. package/dist/publish-YG76GOA7.js +344 -0
  377. package/dist/publish-YG76GOA7.js.map +1 -0
  378. package/dist/query-IQICLABN.js +62 -0
  379. package/dist/questionnaire-DWEH5II4.js +94 -0
  380. package/dist/questionnaire-DWEH5II4.js.map +1 -0
  381. package/dist/reddit-X4CERXYF.js +29 -0
  382. package/dist/refresh-A36GA7JN.js +97 -0
  383. package/dist/refresh-A36GA7JN.js.map +1 -0
  384. package/dist/release-3NCMZIDI.js +63 -0
  385. package/dist/release-3NCMZIDI.js.map +1 -0
  386. package/dist/relevant-pages-UDDQOYLD.js +99 -0
  387. package/dist/remove-6LE3XNRG.js +53 -0
  388. package/dist/remove-6LE3XNRG.js.map +1 -0
  389. package/dist/reopen-XLADJ2UU.js +66 -0
  390. package/dist/reopen-XLADJ2UU.js.map +1 -0
  391. package/dist/rerun-QVMFJZA2.js +95 -0
  392. package/dist/rerun-QVMFJZA2.js.map +1 -0
  393. package/dist/research-D5UUJF74.js +72 -0
  394. package/dist/research-QCI5ISUE.js +265 -0
  395. package/dist/research-QCI5ISUE.js.map +1 -0
  396. package/dist/reset-DD37KDXQ.js +57 -0
  397. package/dist/reset-DD37KDXQ.js.map +1 -0
  398. package/dist/reset-FLZPKY2N.js +57 -0
  399. package/dist/reset-FLZPKY2N.js.map +1 -0
  400. package/dist/resolve-KRKIJKT7.js +124 -0
  401. package/dist/resolve-KRKIJKT7.js.map +1 -0
  402. package/dist/retry-ALXYEKFV.js +65 -0
  403. package/dist/retry-ALXYEKFV.js.map +1 -0
  404. package/dist/retry-MIXKW4EW.js +63 -0
  405. package/dist/retry-MIXKW4EW.js.map +1 -0
  406. package/dist/revenue-UBZUTSXN.js +91 -0
  407. package/dist/revenue-UBZUTSXN.js.map +1 -0
  408. package/dist/rule-writes-UAVWT4XS.js +525 -0
  409. package/dist/rule-writes-UAVWT4XS.js.map +1 -0
  410. package/dist/rules-SO6P44B6.js +99 -0
  411. package/dist/rules-SO6P44B6.js.map +1 -0
  412. package/dist/rules-ZVS2MWED.js +217 -0
  413. package/dist/rules-add-XN3BZKFO.js +465 -0
  414. package/dist/rules-add-XN3BZKFO.js.map +1 -0
  415. package/dist/run-K2DOMOAN.js +69 -0
  416. package/dist/run-K2DOMOAN.js.map +1 -0
  417. package/dist/run-T7XAH2W5.js +70 -0
  418. package/dist/scaffold-ad-TWIT7R4U.js +1516 -0
  419. package/dist/scaffold-ad-TWIT7R4U.js.map +1 -0
  420. package/dist/scaffold-static-ad-GPJKOGOI.js +1015 -0
  421. package/dist/scaffold-static-ad-GPJKOGOI.js.map +1 -0
  422. package/dist/scaffold-video-7BQNOJ4S.js +888 -0
  423. package/dist/scaffold-video-7BQNOJ4S.js.map +1 -0
  424. package/dist/schedule-UTRVEWPE.js +64 -0
  425. package/dist/schedule-UTRVEWPE.js.map +1 -0
  426. package/dist/scheduled-agents-ZGCUZ6SB.js +55 -0
  427. package/dist/schema-D6BMZAPB.js +69 -0
  428. package/dist/schema-DSMF6ELE.js +135 -0
  429. package/dist/schema-DSMF6ELE.js.map +1 -0
  430. package/dist/search-2P72GSKY.js +177 -0
  431. package/dist/search-2P72GSKY.js.map +1 -0
  432. package/dist/select-N7VWQ2ZQ.js +106 -0
  433. package/dist/select-N7VWQ2ZQ.js.map +1 -0
  434. package/dist/sends-LAY5C74B.js +349 -0
  435. package/dist/sends-LAY5C74B.js.map +1 -0
  436. package/dist/set-prompt-3N3HMHT6.js +198 -0
  437. package/dist/set-prompt-3N3HMHT6.js.map +1 -0
  438. package/dist/setup-links-I5RFZTS4.js +144 -0
  439. package/dist/setup-links-I5RFZTS4.js.map +1 -0
  440. package/dist/shopify-LXSR37XI.js +3958 -0
  441. package/dist/shopify-LXSR37XI.js.map +1 -0
  442. package/dist/site-AI3BFWRK.js +180 -0
  443. package/dist/site-AI3BFWRK.js.map +1 -0
  444. package/dist/sources-AOF2YDYX.js +457 -0
  445. package/dist/sources-AOF2YDYX.js.map +1 -0
  446. package/dist/sources-DVMJEXEX.js +30 -0
  447. package/dist/stale-P4GGOLIB.js +76 -0
  448. package/dist/stale-P4GGOLIB.js.map +1 -0
  449. package/dist/status-O25MXHU4.js +65 -0
  450. package/dist/status-O25MXHU4.js.map +1 -0
  451. package/dist/studies-EPO2AM4M.js +250 -0
  452. package/dist/studio-5Z4NMA4K.js +49 -0
  453. package/dist/study-writes-7FP443QQ.js +470 -0
  454. package/dist/study-writes-7FP443QQ.js.map +1 -0
  455. package/dist/sync-2AI7LKKN.js +57 -0
  456. package/dist/sync-2AI7LKKN.js.map +1 -0
  457. package/dist/sync-definition-F3CXG6KG.js +69 -0
  458. package/dist/tags-SEZ2CQJM.js +26 -0
  459. package/dist/tags-TJDZXOXS.js +227 -0
  460. package/dist/tags-TJDZXOXS.js.map +1 -0
  461. package/dist/tags-YSC7ZILI.js +23 -0
  462. package/dist/tags-YSC7ZILI.js.map +1 -0
  463. package/dist/tags-Z6EALYOS.js +23 -0
  464. package/dist/tags-Z6EALYOS.js.map +1 -0
  465. package/dist/tags-ZXSVW6XO.js +23 -0
  466. package/dist/tags-ZXSVW6XO.js.map +1 -0
  467. package/dist/targeting-NKZFEZD7.js +762 -0
  468. package/dist/targeting-NKZFEZD7.js.map +1 -0
  469. package/dist/targeting-criteria-AU5CSMAU.js +113 -0
  470. package/dist/targets-IOIH5JYS.js +106 -0
  471. package/dist/targets-IOIH5JYS.js.map +1 -0
  472. package/dist/testimonials-Y6PUV6AL.js +32 -0
  473. package/dist/themes-PGPIAKAO.js +95 -0
  474. package/dist/top-companies-FSITN3ZR.js +111 -0
  475. package/dist/top-companies-FSITN3ZR.js.map +1 -0
  476. package/dist/transcript-CGPX7Y37.js +165 -0
  477. package/dist/transcript-CGPX7Y37.js.map +1 -0
  478. package/dist/translate-QCBMGOKR.js +609 -0
  479. package/dist/translate-QCBMGOKR.js.map +1 -0
  480. package/dist/triggers-MONMZSKT.js +144 -0
  481. package/dist/triggers-MONMZSKT.js.map +1 -0
  482. package/dist/unlink-I7QFQQKO.js +70 -0
  483. package/dist/unlink-I7QFQQKO.js.map +1 -0
  484. package/dist/unstage-JXG5AU5Q.js +88 -0
  485. package/dist/unstage-JXG5AU5Q.js.map +1 -0
  486. package/dist/unstage-ZA3WQBEA.js +96 -0
  487. package/dist/unstage-ZA3WQBEA.js.map +1 -0
  488. package/dist/update-BVZGM54I.js +66 -0
  489. package/dist/update-BVZGM54I.js.map +1 -0
  490. package/dist/update-EI2BHUM2.js +101 -0
  491. package/dist/update-EI2BHUM2.js.map +1 -0
  492. package/dist/update-RZSV4NYP.js +155 -0
  493. package/dist/update-RZSV4NYP.js.map +1 -0
  494. package/dist/update-WLDNOZ5U.js +192 -0
  495. package/dist/update-WLDNOZ5U.js.map +1 -0
  496. package/dist/upload-BP3YEQSF.js +129 -0
  497. package/dist/upload-BP3YEQSF.js.map +1 -0
  498. package/dist/url-options-63DED6CR.js +131 -0
  499. package/dist/url-options-63DED6CR.js.map +1 -0
  500. package/dist/url-params-TRFI2PMD.js +101 -0
  501. package/dist/url-params-TRFI2PMD.js.map +1 -0
  502. package/dist/validate-SNCR25A7.js +122 -0
  503. package/dist/validate-SNCR25A7.js.map +1 -0
  504. package/dist/videos-SVZV5YYC.js +41 -0
  505. package/dist/viewer-check-LUAEGV6H.js +83 -0
  506. package/dist/web-MJQEK7BB.js +143 -0
  507. package/dist/web-MJQEK7BB.js.map +1 -0
  508. package/dist/winning-ads-KNLJHHCO.js +86 -0
  509. package/dist/write-commands-NVCX7IAU.js +1502 -0
  510. package/dist/write-commands-NVCX7IAU.js.map +1 -0
  511. package/dist/write-commands-OGVDWWBV.js +1172 -0
  512. package/dist/write-commands-OGVDWWBV.js.map +1 -0
  513. package/dist/x-ZQNHYIDU.js +47 -0
  514. package/package.json +1 -1
  515. package/dist/account-C635ATVM.js +0 -80
  516. package/dist/account-C635ATVM.js.map +0 -1
  517. package/dist/account-WLQBAQMD.js +0 -80
  518. package/dist/account-WLQBAQMD.js.map +0 -1
  519. package/dist/account-assets-O7IA37RE.js +0 -290
  520. package/dist/account-level-EU7BWCO7.js +0 -609
  521. package/dist/account-level-EU7BWCO7.js.map +0 -1
  522. package/dist/account-reads-SNOWDHHF.js +0 -219
  523. package/dist/account-users-XYYENK6X.js +0 -62
  524. package/dist/account-users-XYYENK6X.js.map +0 -1
  525. package/dist/account-writes-TU3WJRSI.js +0 -66
  526. package/dist/account-writes-TU3WJRSI.js.map +0 -1
  527. package/dist/accounts-A2FBLZ5H.js +0 -78
  528. package/dist/accounts-A2FBLZ5H.js.map +0 -1
  529. package/dist/accounts-V2IZZ5KU.js +0 -699
  530. package/dist/accounts-V2IZZ5KU.js.map +0 -1
  531. package/dist/actions-Y4SULW2E.js +0 -55
  532. package/dist/activecampaign-63XG6CLL.js +0 -936
  533. package/dist/activecampaign-63XG6CLL.js.map +0 -1
  534. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  535. package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
  536. package/dist/ad-groups-33NZD6J3.js +0 -68
  537. package/dist/ad-groups-33NZD6J3.js.map +0 -1
  538. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  539. package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
  540. package/dist/add-FOLFVGQO.js +0 -303
  541. package/dist/add-FOLFVGQO.js.map +0 -1
  542. package/dist/add-RYB4JSYC.js +0 -105
  543. package/dist/add-RYB4JSYC.js.map +0 -1
  544. package/dist/ads-2TVWICGM.js +0 -48
  545. package/dist/ads-KBE5JXCH.js +0 -115
  546. package/dist/ads-X3AM6M7L.js +0 -77
  547. package/dist/ads-X3AM6M7L.js.map +0 -1
  548. package/dist/adsets-YWBJFPAZ.js +0 -182
  549. package/dist/advertisers-IGUMSK5Q.js +0 -121
  550. package/dist/advertisers-IGUMSK5Q.js.map +0 -1
  551. package/dist/analytics-3DKM7J43.js +0 -445
  552. package/dist/analytics-3DKM7J43.js.map +0 -1
  553. package/dist/analytics-R3QDSX2K.js +0 -2435
  554. package/dist/analytics-R3QDSX2K.js.map +0 -1
  555. package/dist/animate-2BMHZ4FM.js +0 -480
  556. package/dist/asset-writes-72DEVXGO.js +0 -48
  557. package/dist/assign-EKCGLNZB.js +0 -78
  558. package/dist/assign-EKCGLNZB.js.map +0 -1
  559. package/dist/audience-size-IKXK32HU.js +0 -74
  560. package/dist/audience-size-IKXK32HU.js.map +0 -1
  561. package/dist/audience-writes-KCHLNFSI.js +0 -325
  562. package/dist/audience-writes-KCHLNFSI.js.map +0 -1
  563. package/dist/audiences-QAH42HIM.js +0 -86
  564. package/dist/audiences-WCDWN64L.js +0 -268
  565. package/dist/audiences-WCDWN64L.js.map +0 -1
  566. package/dist/audit-CY76S4V7.js +0 -152
  567. package/dist/audit-CY76S4V7.js.map +0 -1
  568. package/dist/autocomplete-G2S5HNUS.js +0 -112
  569. package/dist/autocomplete-G2S5HNUS.js.map +0 -1
  570. package/dist/avatars-P4UPNZM4.js +0 -38
  571. package/dist/bid-pricing-AJT4QU2C.js +0 -101
  572. package/dist/bid-pricing-AJT4QU2C.js.map +0 -1
  573. package/dist/brand-HALQWZWB.js +0 -22
  574. package/dist/brief-NW7TGG2Q.js +0 -541
  575. package/dist/brief-NW7TGG2Q.js.map +0 -1
  576. package/dist/campaign-groups-I43KMAJP.js +0 -97
  577. package/dist/campaign-groups-I43KMAJP.js.map +0 -1
  578. package/dist/campaign-writes-DLLPFAGG.js +0 -166
  579. package/dist/campaign-writes-DLLPFAGG.js.map +0 -1
  580. package/dist/campaign-writes-XO74BALZ.js +0 -174
  581. package/dist/campaign-writes-XO74BALZ.js.map +0 -1
  582. package/dist/campaigns-LS65QM6W.js +0 -76
  583. package/dist/campaigns-LS65QM6W.js.map +0 -1
  584. package/dist/campaigns-UIYSYCF3.js +0 -111
  585. package/dist/campaigns-UIYSYCF3.js.map +0 -1
  586. package/dist/campaigns-XZOQ2VTK.js +0 -130
  587. package/dist/campaigns-YMM5TQVO.js +0 -111
  588. package/dist/canvas-IJS7H3VE.js +0 -46
  589. package/dist/capabilities-XMQPM3UL.js +0 -145
  590. package/dist/capabilities-XMQPM3UL.js.map +0 -1
  591. package/dist/catalog-TZLU5NWI.js +0 -65
  592. package/dist/catalogs-JLCSFZYC.js +0 -779
  593. package/dist/catalogs-JLCSFZYC.js.map +0 -1
  594. package/dist/catalogs-T23RKYFC.js +0 -128
  595. package/dist/catalogs-T23RKYFC.js.map +0 -1
  596. package/dist/changes-36C754R4.js +0 -135
  597. package/dist/chatgpt-3WFOPURY.js +0 -47
  598. package/dist/chats-ZI6EYDAF.js +0 -277
  599. package/dist/chats-ZI6EYDAF.js.map +0 -1
  600. package/dist/check-CHJ2OLAU.js +0 -105
  601. package/dist/check-CHJ2OLAU.js.map +0 -1
  602. package/dist/chunk-2TOIY2WN.js +0 -4254
  603. package/dist/chunk-2TOIY2WN.js.map +0 -1
  604. package/dist/chunk-3YJNSUNF.js +0 -131
  605. package/dist/chunk-4GAEB6NK.js +0 -228
  606. package/dist/chunk-5RVQK3SP.js +0 -494
  607. package/dist/chunk-5SRUAGTG.js +0 -547
  608. package/dist/chunk-5XTGG4PV.js +0 -274
  609. package/dist/chunk-6KWEF6HF.js +0 -8914
  610. package/dist/chunk-6Z7Y4KQB.js +0 -275
  611. package/dist/chunk-7HZSORAB.js +0 -843
  612. package/dist/chunk-7J3NZBPV.js +0 -2982
  613. package/dist/chunk-7J3NZBPV.js.map +0 -1
  614. package/dist/chunk-A3IQAONL.js +0 -638
  615. package/dist/chunk-AIRD6T4W.js +0 -169
  616. package/dist/chunk-AQOFQNKQ.js +0 -57
  617. package/dist/chunk-ARUXGKZO.js +0 -91
  618. package/dist/chunk-ASRS37QE.js +0 -710
  619. package/dist/chunk-ASRS37QE.js.map +0 -1
  620. package/dist/chunk-AYPBARKP.js +0 -156
  621. package/dist/chunk-BRLZX3VP.js +0 -207
  622. package/dist/chunk-BTJSGJNQ.js +0 -604
  623. package/dist/chunk-C7QQQVBS.js +0 -51
  624. package/dist/chunk-CCEDZTP7.js +0 -391
  625. package/dist/chunk-CCEDZTP7.js.map +0 -1
  626. package/dist/chunk-D3KLDIPQ.js +0 -45
  627. package/dist/chunk-DUR7PEJI.js +0 -170
  628. package/dist/chunk-EDLZGTGN.js +0 -216
  629. package/dist/chunk-EDLZGTGN.js.map +0 -1
  630. package/dist/chunk-F4YQ5PVR.js +0 -1518
  631. package/dist/chunk-FFFJBNHA.js +0 -63
  632. package/dist/chunk-FFG2OYVV.js +0 -64
  633. package/dist/chunk-FPWQA7TK.js +0 -344
  634. package/dist/chunk-G5Y7OIPL.js +0 -392
  635. package/dist/chunk-GACSA5A6.js +0 -1646
  636. package/dist/chunk-GMHCHHAA.js +0 -19
  637. package/dist/chunk-H4NNQGG6.js +0 -66
  638. package/dist/chunk-HML3VQIW.js +0 -225
  639. package/dist/chunk-HSQRITKG.js +0 -203
  640. package/dist/chunk-I47BEKYK.js +0 -831
  641. package/dist/chunk-JAC6JVCI.js +0 -26
  642. package/dist/chunk-JND6XSGZ.js +0 -7192
  643. package/dist/chunk-JND6XSGZ.js.map +0 -1
  644. package/dist/chunk-KBRJSPIM.js +0 -676
  645. package/dist/chunk-KQTNUDKD.js +0 -97
  646. package/dist/chunk-LRV6M2WB.js +0 -1919
  647. package/dist/chunk-M7HD42M6.js +0 -24017
  648. package/dist/chunk-M7HD42M6.js.map +0 -1
  649. package/dist/chunk-MBSFEVOG.js +0 -163
  650. package/dist/chunk-MCJ5I5LR.js +0 -3187
  651. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  652. package/dist/chunk-MGYC2IRC.js +0 -783
  653. package/dist/chunk-MUXKYSTI.js +0 -297
  654. package/dist/chunk-MVD7QIXI.js +0 -46
  655. package/dist/chunk-MZCTX37B.js +0 -3868
  656. package/dist/chunk-MZPS46OR.js +0 -76
  657. package/dist/chunk-N7M2TWR5.js +0 -592
  658. package/dist/chunk-NDFS3APP.js +0 -319
  659. package/dist/chunk-OBJCNGZL.js +0 -207
  660. package/dist/chunk-OJGYYH6K.js +0 -179
  661. package/dist/chunk-P6BKKUSX.js +0 -142
  662. package/dist/chunk-PLAOK4AK.js +0 -103
  663. package/dist/chunk-PLBITHV6.js +0 -846
  664. package/dist/chunk-PNKIOTCK.js +0 -349
  665. package/dist/chunk-PNKIOTCK.js.map +0 -1
  666. package/dist/chunk-PX3PUDK7.js +0 -167
  667. package/dist/chunk-QBRPM3DQ.js +0 -61
  668. package/dist/chunk-QMDMTZAW.js +0 -224
  669. package/dist/chunk-QW6HL7D6.js +0 -429
  670. package/dist/chunk-R53XMPDO.js +0 -363
  671. package/dist/chunk-RFIUOQLN.js +0 -89
  672. package/dist/chunk-RVEY7BTT.js +0 -8954
  673. package/dist/chunk-SCL7PM6P.js +0 -479
  674. package/dist/chunk-SM7G7RUA.js +0 -910
  675. package/dist/chunk-SVBJ56T7.js +0 -455
  676. package/dist/chunk-SWN6OHXG.js +0 -148
  677. package/dist/chunk-TVAIOC77.js +0 -287
  678. package/dist/chunk-TVTSA4EN.js +0 -188
  679. package/dist/chunk-TX7CQTD4.js +0 -5368
  680. package/dist/chunk-UKSSNYLU.js +0 -98
  681. package/dist/chunk-VIPKDXGU.js +0 -4229
  682. package/dist/chunk-VIPKDXGU.js.map +0 -1
  683. package/dist/chunk-W574NV67.js +0 -191
  684. package/dist/chunk-XGPU2VDU.js +0 -219
  685. package/dist/chunk-XQXZJ5IR.js +0 -249
  686. package/dist/chunk-YMF2RG4Z.js +0 -942
  687. package/dist/chunk-YNYAT2TZ.js +0 -285
  688. package/dist/chunk-Z2DRGXBB.js +0 -197
  689. package/dist/chunk-Z7YMSHRZ.js +0 -23
  690. package/dist/chunk-ZEC46NWW.js +0 -122
  691. package/dist/chunk-ZFC562TP.js +0 -387
  692. package/dist/chunk-ZNRGH4NS.js +0 -150
  693. package/dist/claim-OUYHVGB4.js +0 -198
  694. package/dist/claim-OUYHVGB4.js.map +0 -1
  695. package/dist/companies-XDNSG7ME.js +0 -196
  696. package/dist/companies-XDNSG7ME.js.map +0 -1
  697. package/dist/company-4FAYYPEJ.js +0 -306
  698. package/dist/company-4FAYYPEJ.js.map +0 -1
  699. package/dist/complete-M2PAUMDP.js +0 -82
  700. package/dist/complete-M2PAUMDP.js.map +0 -1
  701. package/dist/connect-PP6Z3F7Y.js +0 -43
  702. package/dist/conversation-B5NPTLFQ.js +0 -94
  703. package/dist/conversation-B5NPTLFQ.js.map +0 -1
  704. package/dist/conversion-report-DKXFHLLX.js +0 -125
  705. package/dist/conversion-report-DKXFHLLX.js.map +0 -1
  706. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  707. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  708. package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
  709. package/dist/conversions-BKVGNNC6.js +0 -76
  710. package/dist/conversions-BKVGNNC6.js.map +0 -1
  711. package/dist/conversions-QRJL6JIO.js +0 -138
  712. package/dist/conversions-QRJL6JIO.js.map +0 -1
  713. package/dist/copy-writes-P4WK6OPM.js +0 -168
  714. package/dist/copy-writes-P4WK6OPM.js.map +0 -1
  715. package/dist/create-4DWCJ2UA.js +0 -208
  716. package/dist/create-4DWCJ2UA.js.map +0 -1
  717. package/dist/create-OYV33CQ6.js +0 -60
  718. package/dist/create-OYV33CQ6.js.map +0 -1
  719. package/dist/create-U6JVIYFY.js +0 -237
  720. package/dist/create-U6JVIYFY.js.map +0 -1
  721. package/dist/create-V4FNRO63.js +0 -133
  722. package/dist/create-V4FNRO63.js.map +0 -1
  723. package/dist/creatives-64FKWEGL.js +0 -221
  724. package/dist/creatives-64FKWEGL.js.map +0 -1
  725. package/dist/creatives-JPKA2RHU.js +0 -89
  726. package/dist/creatives-UJDPD4CI.js +0 -58
  727. package/dist/credentials-EIPEZ2C2.js +0 -288
  728. package/dist/credentials-EIPEZ2C2.js.map +0 -1
  729. package/dist/critique-BADMZAZP.js +0 -230
  730. package/dist/critique-BADMZAZP.js.map +0 -1
  731. package/dist/critique-M3DEVEDA.js +0 -1449
  732. package/dist/critique-M3DEVEDA.js.map +0 -1
  733. package/dist/crm-GIYSLLY7.js +0 -321
  734. package/dist/crm-GIYSLLY7.js.map +0 -1
  735. package/dist/crm-HXKSJRY3.js +0 -225
  736. package/dist/crm-HXKSJRY3.js.map +0 -1
  737. package/dist/currency-R4ORE2U3.js +0 -88
  738. package/dist/custom-conversions-5HJBB5XL.js +0 -128
  739. package/dist/customers-7J3QGSOJ.js +0 -57
  740. package/dist/delete-EDWJQMMV.js +0 -65
  741. package/dist/delete-EDWJQMMV.js.map +0 -1
  742. package/dist/delete-O24CVQMJ.js +0 -67
  743. package/dist/delete-O24CVQMJ.js.map +0 -1
  744. package/dist/delete-QN2OYUCS.js +0 -55
  745. package/dist/delete-QN2OYUCS.js.map +0 -1
  746. package/dist/demographics-MPYYF2OI.js +0 -139
  747. package/dist/demographics-MPYYF2OI.js.map +0 -1
  748. package/dist/discard-FJCFB6SA.js +0 -67
  749. package/dist/discard-FJCFB6SA.js.map +0 -1
  750. package/dist/discover-GSJRZUOC.js +0 -172
  751. package/dist/domain-UILPSEA5.js +0 -99
  752. package/dist/domain-UILPSEA5.js.map +0 -1
  753. package/dist/download-ZMAI7QSG.js +0 -170
  754. package/dist/download-ZMAI7QSG.js.map +0 -1
  755. package/dist/draft-5OQT3APG.js +0 -308
  756. package/dist/draft-5OQT3APG.js.map +0 -1
  757. package/dist/draft-LPVK6YHI.js +0 -281
  758. package/dist/draft-LPVK6YHI.js.map +0 -1
  759. package/dist/draft-MSESA5UE.js +0 -333
  760. package/dist/draft-MSESA5UE.js.map +0 -1
  761. package/dist/draft-WYDMLNYA.js +0 -308
  762. package/dist/draft-XOOSEVY5.js +0 -218
  763. package/dist/draft-XOOSEVY5.js.map +0 -1
  764. package/dist/experiments-PVOQUL47.js +0 -234
  765. package/dist/experiments-PVOQUL47.js.map +0 -1
  766. package/dist/facets-5RW4Z3D3.js +0 -115
  767. package/dist/facets-5RW4Z3D3.js.map +0 -1
  768. package/dist/feedback-GC56R2EJ.js +0 -109
  769. package/dist/feedback-GC56R2EJ.js.map +0 -1
  770. package/dist/feedback-record-JX7ZU6J7.js +0 -263
  771. package/dist/feedback-record-JX7ZU6J7.js.map +0 -1
  772. package/dist/fetch-WUTXAPBL.js +0 -177
  773. package/dist/fetch-WUTXAPBL.js.map +0 -1
  774. package/dist/fit-N7WDGWYZ.js +0 -63
  775. package/dist/flows-ULZACISF.js +0 -248
  776. package/dist/flows-ULZACISF.js.map +0 -1
  777. package/dist/fonts-TTUAP7HS.js +0 -37
  778. package/dist/forecast-4AG5F7YC.js +0 -169
  779. package/dist/forecast-RQJJRN5D.js +0 -119
  780. package/dist/forecast-RQJJRN5D.js.map +0 -1
  781. package/dist/funnel-QPWJIXWK.js +0 -395
  782. package/dist/funnel-QPWJIXWK.js.map +0 -1
  783. package/dist/generate-NWHPM2GQ.js +0 -263
  784. package/dist/get-35D7YHWJ.js +0 -57
  785. package/dist/get-35D7YHWJ.js.map +0 -1
  786. package/dist/get-GIETDPF4.js +0 -80
  787. package/dist/get-GIETDPF4.js.map +0 -1
  788. package/dist/google-NAA4BASO.js +0 -3267
  789. package/dist/google-ads-2IZFZO4C.js +0 -196
  790. package/dist/google-ads-2IZFZO4C.js.map +0 -1
  791. package/dist/history-5MRLNTCI.js +0 -67
  792. package/dist/history-5MRLNTCI.js.map +0 -1
  793. package/dist/history-RPLWWPLQ.js +0 -134
  794. package/dist/history-RPLWWPLQ.js.map +0 -1
  795. package/dist/history-TQYLUYVU.js +0 -100
  796. package/dist/history-TQYLUYVU.js.map +0 -1
  797. package/dist/hubspot-EPK43X4C.js +0 -780
  798. package/dist/hubspot-EPK43X4C.js.map +0 -1
  799. package/dist/ideas-SUXKKZC7.js +0 -43
  800. package/dist/images-VKVZ3DWG.js +0 -92
  801. package/dist/ingest-BBBFT6FZ.js +0 -24
  802. package/dist/ingest-EM2UY42Z.js +0 -108
  803. package/dist/ingest-EM2UY42Z.js.map +0 -1
  804. package/dist/insights-M3CYB22P.js +0 -437
  805. package/dist/insights-M3CYB22P.js.map +0 -1
  806. package/dist/insights-XCT3ONC7.js +0 -130
  807. package/dist/insights-XCT3ONC7.js.map +0 -1
  808. package/dist/inspect-ZPOVOENK.js +0 -190
  809. package/dist/inspect-ZPOVOENK.js.map +0 -1
  810. package/dist/instant-experiences-HT3HB4QZ.js +0 -258
  811. package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
  812. package/dist/intent-NSHW7EJT.js +0 -95
  813. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  814. package/dist/keyword-metrics-7DPR264W.js +0 -198
  815. package/dist/keyword-metrics-7DPR264W.js.map +0 -1
  816. package/dist/keywords-for-site-IXL22UKQ.js +0 -129
  817. package/dist/keywords-for-site-IXL22UKQ.js.map +0 -1
  818. package/dist/landing-KZ4OSHHR.js +0 -28
  819. package/dist/languages-MEFQQBJ2.js +0 -40
  820. package/dist/leads-DNQTRYIR.js +0 -113
  821. package/dist/leads-DNQTRYIR.js.map +0 -1
  822. package/dist/leads-SZOGCQFK.js +0 -538
  823. package/dist/leads-SZOGCQFK.js.map +0 -1
  824. package/dist/learn-Q7WZG7FA.js +0 -205
  825. package/dist/learn-Q7WZG7FA.js.map +0 -1
  826. package/dist/line-item-writes-3K7FT5GO.js +0 -209
  827. package/dist/line-item-writes-3K7FT5GO.js.map +0 -1
  828. package/dist/line-items-G5YJG25N.js +0 -107
  829. package/dist/link-2QVSIZJT.js +0 -65
  830. package/dist/link-2QVSIZJT.js.map +0 -1
  831. package/dist/linkedin-VAFPZNWZ.js +0 -1314
  832. package/dist/linkedin-VAFPZNWZ.js.map +0 -1
  833. package/dist/linkedin-person-EHTYVNZY.js +0 -137
  834. package/dist/linkedin-person-EHTYVNZY.js.map +0 -1
  835. package/dist/list-5TS2VPQZ.js +0 -152
  836. package/dist/list-5TS2VPQZ.js.map +0 -1
  837. package/dist/list-PSSQXQRJ.js +0 -65
  838. package/dist/list-PSSQXQRJ.js.map +0 -1
  839. package/dist/list-UMVIFQ3X.js +0 -304
  840. package/dist/list-UMVIFQ3X.js.map +0 -1
  841. package/dist/locations-RLWAS6AC.js +0 -40
  842. package/dist/locations-UKBOT6SB.js +0 -67
  843. package/dist/locations-UKBOT6SB.js.map +0 -1
  844. package/dist/log-ZZK3QMZB.js +0 -93
  845. package/dist/log-ZZK3QMZB.js.map +0 -1
  846. package/dist/lookup-ZJIP2M4X.js +0 -22
  847. package/dist/make-DB2BDVB3.js +0 -1368
  848. package/dist/make-DB2BDVB3.js.map +0 -1
  849. package/dist/map-UJ23GKRH.js +0 -434
  850. package/dist/map-UJ23GKRH.js.map +0 -1
  851. package/dist/mcp-SS2ALFRJ.js +0 -715
  852. package/dist/mcp-SS2ALFRJ.js.map +0 -1
  853. package/dist/media-ZWN7E777.js +0 -18
  854. package/dist/media-sources-GKSEDSE3.js +0 -35
  855. package/dist/members-KD2XRYPZ.js +0 -45
  856. package/dist/members-KD2XRYPZ.js.map +0 -1
  857. package/dist/meta-EHKXH257.js +0 -122
  858. package/dist/metrics-K6FDCMK7.js +0 -152
  859. package/dist/models-JQEPSPNQ.js +0 -155
  860. package/dist/normalize-ZNTXNX6D.js +0 -142
  861. package/dist/normalize-ZNTXNX6D.js.map +0 -1
  862. package/dist/options-TBIFJF3E.js +0 -123
  863. package/dist/options-TBIFJF3E.js.map +0 -1
  864. package/dist/organization-26J2ZIKM.js +0 -947
  865. package/dist/organization-26J2ZIKM.js.map +0 -1
  866. package/dist/page-photos-HWKQOSCU.js +0 -116
  867. package/dist/page-photos-HWKQOSCU.js.map +0 -1
  868. package/dist/performance-6TPJGM6A.js +0 -25
  869. package/dist/performance-O5BXZGS6.js +0 -5539
  870. package/dist/performance-O5BXZGS6.js.map +0 -1
  871. package/dist/pixels-Z7ZGXAGB.js +0 -60
  872. package/dist/pixels-Z7ZGXAGB.js.map +0 -1
  873. package/dist/plan-TVQSEKYL.js +0 -207
  874. package/dist/plan-TVQSEKYL.js.map +0 -1
  875. package/dist/preview-CWRGDFCP.js +0 -216
  876. package/dist/preview-CWRGDFCP.js.map +0 -1
  877. package/dist/promoted-tweet-writes-SZN74JHY.js +0 -181
  878. package/dist/promoted-tweet-writes-SZN74JHY.js.map +0 -1
  879. package/dist/promoted-tweets-7P4TSQU7.js +0 -119
  880. package/dist/publish-3DUERLGT.js +0 -342
  881. package/dist/publish-3DUERLGT.js.map +0 -1
  882. package/dist/query-QM7MBQD7.js +0 -62
  883. package/dist/questionnaire-LEZJLMAV.js +0 -93
  884. package/dist/questionnaire-LEZJLMAV.js.map +0 -1
  885. package/dist/reddit-SN5CESF4.js +0 -27
  886. package/dist/refresh-2ICQBTK4.js +0 -95
  887. package/dist/refresh-2ICQBTK4.js.map +0 -1
  888. package/dist/release-JSZ4JXYJ.js +0 -61
  889. package/dist/release-JSZ4JXYJ.js.map +0 -1
  890. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  891. package/dist/remove-TFUAVRFM.js +0 -51
  892. package/dist/remove-TFUAVRFM.js.map +0 -1
  893. package/dist/reopen-5T2PE7MU.js +0 -64
  894. package/dist/reopen-5T2PE7MU.js.map +0 -1
  895. package/dist/rerun-EZJ4MLYG.js +0 -93
  896. package/dist/rerun-EZJ4MLYG.js.map +0 -1
  897. package/dist/research-BKYSU2C6.js +0 -263
  898. package/dist/research-BKYSU2C6.js.map +0 -1
  899. package/dist/research-QU63CJB5.js +0 -72
  900. package/dist/reset-DKTKZF7G.js +0 -55
  901. package/dist/reset-DKTKZF7G.js.map +0 -1
  902. package/dist/reset-SXABIVP6.js +0 -55
  903. package/dist/reset-SXABIVP6.js.map +0 -1
  904. package/dist/resolve-L47U2T77.js +0 -122
  905. package/dist/resolve-L47U2T77.js.map +0 -1
  906. package/dist/retry-JEWPK2B5.js +0 -63
  907. package/dist/retry-JEWPK2B5.js.map +0 -1
  908. package/dist/retry-SXFVLT3W.js +0 -61
  909. package/dist/retry-SXFVLT3W.js.map +0 -1
  910. package/dist/revenue-2MAYTXRM.js +0 -89
  911. package/dist/revenue-2MAYTXRM.js.map +0 -1
  912. package/dist/rule-writes-S3RN47OG.js +0 -523
  913. package/dist/rule-writes-S3RN47OG.js.map +0 -1
  914. package/dist/rules-CHWTFASP.js +0 -97
  915. package/dist/rules-CHWTFASP.js.map +0 -1
  916. package/dist/rules-KTJ2ZZ62.js +0 -217
  917. package/dist/rules-add-3M5TALWN.js +0 -463
  918. package/dist/rules-add-3M5TALWN.js.map +0 -1
  919. package/dist/run-2DLA6YO4.js +0 -68
  920. package/dist/run-JCGH2NHD.js +0 -67
  921. package/dist/run-JCGH2NHD.js.map +0 -1
  922. package/dist/scaffold-ad-VEW7JDY7.js +0 -1514
  923. package/dist/scaffold-ad-VEW7JDY7.js.map +0 -1
  924. package/dist/scaffold-static-ad-DYRL7DOS.js +0 -1013
  925. package/dist/scaffold-static-ad-DYRL7DOS.js.map +0 -1
  926. package/dist/scaffold-video-YRAVVKUH.js +0 -886
  927. package/dist/scaffold-video-YRAVVKUH.js.map +0 -1
  928. package/dist/schedule-WYIC6VNW.js +0 -62
  929. package/dist/schedule-WYIC6VNW.js.map +0 -1
  930. package/dist/scheduled-agents-FRBF4EOK.js +0 -55
  931. package/dist/schema-6Y3IXFDC.js +0 -69
  932. package/dist/schema-TC2O3FYY.js +0 -133
  933. package/dist/schema-TC2O3FYY.js.map +0 -1
  934. package/dist/search-VDW242BN.js +0 -175
  935. package/dist/search-VDW242BN.js.map +0 -1
  936. package/dist/select-O5HSSC36.js +0 -104
  937. package/dist/select-O5HSSC36.js.map +0 -1
  938. package/dist/sends-6FI7WELX.js +0 -348
  939. package/dist/sends-6FI7WELX.js.map +0 -1
  940. package/dist/set-prompt-TI7N64PJ.js +0 -196
  941. package/dist/set-prompt-TI7N64PJ.js.map +0 -1
  942. package/dist/setup-links-BM2FTXUZ.js +0 -142
  943. package/dist/setup-links-BM2FTXUZ.js.map +0 -1
  944. package/dist/shopify-FIHG5PYP.js +0 -3956
  945. package/dist/shopify-FIHG5PYP.js.map +0 -1
  946. package/dist/site-S3IGBMVC.js +0 -178
  947. package/dist/site-S3IGBMVC.js.map +0 -1
  948. package/dist/sources-77WLFY4Y.js +0 -30
  949. package/dist/sources-A4B3R5JC.js +0 -455
  950. package/dist/sources-A4B3R5JC.js.map +0 -1
  951. package/dist/stale-YIRCXDOK.js +0 -74
  952. package/dist/stale-YIRCXDOK.js.map +0 -1
  953. package/dist/status-6YNR647D.js +0 -63
  954. package/dist/status-6YNR647D.js.map +0 -1
  955. package/dist/studies-ZOEUY6YP.js +0 -250
  956. package/dist/studio-T5L7UEX6.js +0 -49
  957. package/dist/study-writes-DTGMCNFP.js +0 -468
  958. package/dist/study-writes-DTGMCNFP.js.map +0 -1
  959. package/dist/sync-FFVWHGLE.js +0 -55
  960. package/dist/sync-FFVWHGLE.js.map +0 -1
  961. package/dist/sync-definition-K4XOAG2B.js +0 -67
  962. package/dist/tags-5KIOGEKN.js +0 -21
  963. package/dist/tags-5KIOGEKN.js.map +0 -1
  964. package/dist/tags-BKAN5EAJ.js +0 -21
  965. package/dist/tags-BKAN5EAJ.js.map +0 -1
  966. package/dist/tags-ETOOYQ57.js +0 -26
  967. package/dist/tags-RPNK7TMO.js +0 -225
  968. package/dist/tags-RPNK7TMO.js.map +0 -1
  969. package/dist/tags-UM4QO46J.js +0 -21
  970. package/dist/tags-UM4QO46J.js.map +0 -1
  971. package/dist/targeting-VBQY3HUN.js +0 -760
  972. package/dist/targeting-VBQY3HUN.js.map +0 -1
  973. package/dist/targeting-criteria-L4DYIJZI.js +0 -113
  974. package/dist/targets-S6N7327Q.js +0 -104
  975. package/dist/targets-S6N7327Q.js.map +0 -1
  976. package/dist/testimonials-65N7IYN7.js +0 -32
  977. package/dist/themes-B4LCQUXB.js +0 -95
  978. package/dist/top-companies-SJKND75M.js +0 -109
  979. package/dist/top-companies-SJKND75M.js.map +0 -1
  980. package/dist/transcript-5I7I6DWL.js +0 -163
  981. package/dist/transcript-5I7I6DWL.js.map +0 -1
  982. package/dist/translate-SH6IG5Y7.js +0 -607
  983. package/dist/translate-SH6IG5Y7.js.map +0 -1
  984. package/dist/triggers-YRY3HTYU.js +0 -142
  985. package/dist/triggers-YRY3HTYU.js.map +0 -1
  986. package/dist/unlink-4B4YTQE4.js +0 -68
  987. package/dist/unlink-4B4YTQE4.js.map +0 -1
  988. package/dist/unstage-H5NTDJ6A.js +0 -86
  989. package/dist/unstage-H5NTDJ6A.js.map +0 -1
  990. package/dist/unstage-MDSSPUKV.js +0 -95
  991. package/dist/unstage-MDSSPUKV.js.map +0 -1
  992. package/dist/update-DI52JJGB.js +0 -99
  993. package/dist/update-DI52JJGB.js.map +0 -1
  994. package/dist/update-DMPDLMMV.js +0 -64
  995. package/dist/update-DMPDLMMV.js.map +0 -1
  996. package/dist/update-TUS4PJIG.js +0 -190
  997. package/dist/update-TUS4PJIG.js.map +0 -1
  998. package/dist/update-Z66LMXNS.js +0 -153
  999. package/dist/update-Z66LMXNS.js.map +0 -1
  1000. package/dist/upload-7KQYZ7T7.js +0 -127
  1001. package/dist/upload-7KQYZ7T7.js.map +0 -1
  1002. package/dist/url-options-IHL4OU4C.js +0 -130
  1003. package/dist/url-options-IHL4OU4C.js.map +0 -1
  1004. package/dist/url-params-SDA2MWB5.js +0 -99
  1005. package/dist/url-params-SDA2MWB5.js.map +0 -1
  1006. package/dist/validate-ZABZNCSB.js +0 -120
  1007. package/dist/validate-ZABZNCSB.js.map +0 -1
  1008. package/dist/videos-BKVCCKIH.js +0 -41
  1009. package/dist/viewer-check-B5O7ZY3Q.js +0 -81
  1010. package/dist/web-KN3BTVG4.js +0 -141
  1011. package/dist/web-KN3BTVG4.js.map +0 -1
  1012. package/dist/winning-ads-JIDPISKM.js +0 -86
  1013. package/dist/write-commands-K6M3RTVK.js +0 -1170
  1014. package/dist/write-commands-K6M3RTVK.js.map +0 -1
  1015. package/dist/write-commands-RVHLLLDR.js +0 -1498
  1016. package/dist/write-commands-RVHLLLDR.js.map +0 -1
  1017. package/dist/x-NLGWZCGX.js +0 -47
  1018. /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
  1019. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-FOEVPWDP.js.map} +0 -0
  1020. /package/dist/{actions-Y4SULW2E.js.map → actions-QZDSLFFK.js.map} +0 -0
  1021. /package/dist/{ads-2TVWICGM.js.map → ads-AYJAYLFR.js.map} +0 -0
  1022. /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
  1023. /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
  1024. /package/dist/{animate-2BMHZ4FM.js.map → animate-HRWFVE2N.js.map} +0 -0
  1025. /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
  1026. /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
  1027. /package/dist/{avatars-P4UPNZM4.js.map → avatars-4HCGWBOL.js.map} +0 -0
  1028. /package/dist/{brand-HALQWZWB.js.map → brand-C6OB6Q4U.js.map} +0 -0
  1029. /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
  1030. /package/dist/{campaigns-YMM5TQVO.js.map → campaigns-ZYU4BXDP.js.map} +0 -0
  1031. /package/dist/{canvas-IJS7H3VE.js.map → canvas-AI34UBGU.js.map} +0 -0
  1032. /package/dist/{catalog-TZLU5NWI.js.map → catalog-ZY3MFT55.js.map} +0 -0
  1033. /package/dist/{changes-36C754R4.js.map → changes-OOUVQDBY.js.map} +0 -0
  1034. /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-NAXIFWXV.js.map} +0 -0
  1035. /package/dist/{chunk-NDFS3APP.js.map → chunk-3CHYJYSS.js.map} +0 -0
  1036. /package/dist/{chunk-QW6HL7D6.js.map → chunk-3G3GC5N4.js.map} +0 -0
  1037. /package/dist/{chunk-5XTGG4PV.js.map → chunk-3M45PYU7.js.map} +0 -0
  1038. /package/dist/{chunk-Z7YMSHRZ.js.map → chunk-3QHXF3QI.js.map} +0 -0
  1039. /package/dist/{chunk-MZCTX37B.js.map → chunk-3XPHUMLJ.js.map} +0 -0
  1040. /package/dist/{chunk-MGYC2IRC.js.map → chunk-45EERHDB.js.map} +0 -0
  1041. /package/dist/{chunk-ZFC562TP.js.map → chunk-4FGTANFK.js.map} +0 -0
  1042. /package/dist/{chunk-PX3PUDK7.js.map → chunk-4IHWT7PH.js.map} +0 -0
  1043. /package/dist/{chunk-PLBITHV6.js.map → chunk-4LF4AYPT.js.map} +0 -0
  1044. /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
  1045. /package/dist/{chunk-SVBJ56T7.js.map → chunk-5JJD33Y2.js.map} +0 -0
  1046. /package/dist/{chunk-I47BEKYK.js.map → chunk-5K4QYYOJ.js.map} +0 -0
  1047. /package/dist/{chunk-MBSFEVOG.js.map → chunk-5LJ6E4YU.js.map} +0 -0
  1048. /package/dist/{chunk-6Z7Y4KQB.js.map → chunk-5T73MMBL.js.map} +0 -0
  1049. /package/dist/{chunk-R53XMPDO.js.map → chunk-64MAHLTK.js.map} +0 -0
  1050. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  1051. /package/dist/{chunk-3YJNSUNF.js.map → chunk-6ZFSDYWV.js.map} +0 -0
  1052. /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
  1053. /package/dist/{chunk-ZEC46NWW.js.map → chunk-AN4OEQXE.js.map} +0 -0
  1054. /package/dist/{chunk-TX7CQTD4.js.map → chunk-AULSX5ZA.js.map} +0 -0
  1055. /package/dist/{chunk-MVD7QIXI.js.map → chunk-AVYUFJQQ.js.map} +0 -0
  1056. /package/dist/{chunk-KQTNUDKD.js.map → chunk-B4YF7VQF.js.map} +0 -0
  1057. /package/dist/{chunk-UKSSNYLU.js.map → chunk-BDOYNGUL.js.map} +0 -0
  1058. /package/dist/{chunk-BRLZX3VP.js.map → chunk-BJOK7QD4.js.map} +0 -0
  1059. /package/dist/{chunk-Z2DRGXBB.js.map → chunk-CMCGFSUS.js.map} +0 -0
  1060. /package/dist/{chunk-KBRJSPIM.js.map → chunk-DMJUIUAL.js.map} +0 -0
  1061. /package/dist/{chunk-HML3VQIW.js.map → chunk-DUCUOZLS.js.map} +0 -0
  1062. /package/dist/{chunk-7HZSORAB.js.map → chunk-FJZYOVSW.js.map} +0 -0
  1063. /package/dist/{chunk-GMHCHHAA.js.map → chunk-FKP4ECJY.js.map} +0 -0
  1064. /package/dist/{chunk-RVEY7BTT.js.map → chunk-GNMEOU46.js.map} +0 -0
  1065. /package/dist/{chunk-AYPBARKP.js.map → chunk-GYKYXWUQ.js.map} +0 -0
  1066. /package/dist/{chunk-MUXKYSTI.js.map → chunk-GYPLRU4Y.js.map} +0 -0
  1067. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-I43ZEWJQ.js.map} +0 -0
  1068. /package/dist/{chunk-4GAEB6NK.js.map → chunk-IZABTTW5.js.map} +0 -0
  1069. /package/dist/{chunk-GACSA5A6.js.map → chunk-K7IE6UYV.js.map} +0 -0
  1070. /package/dist/{chunk-BTJSGJNQ.js.map → chunk-KH5YHHJV.js.map} +0 -0
  1071. /package/dist/{chunk-C7QQQVBS.js.map → chunk-KMY7AD3N.js.map} +0 -0
  1072. /package/dist/{chunk-6KWEF6HF.js.map → chunk-KPCHWDJM.js.map} +0 -0
  1073. /package/dist/{chunk-SWN6OHXG.js.map → chunk-KTZCLJ2D.js.map} +0 -0
  1074. /package/dist/{chunk-A3IQAONL.js.map → chunk-MKUA54QE.js.map} +0 -0
  1075. /package/dist/{chunk-FFFJBNHA.js.map → chunk-MTV2RSGY.js.map} +0 -0
  1076. /package/dist/{chunk-G5Y7OIPL.js.map → chunk-N2QX57K3.js.map} +0 -0
  1077. /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
  1078. /package/dist/{chunk-SCL7PM6P.js.map → chunk-NEYWS2DQ.js.map} +0 -0
  1079. /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
  1080. /package/dist/{chunk-W574NV67.js.map → chunk-OTC6UMJ2.js.map} +0 -0
  1081. /package/dist/{chunk-QMDMTZAW.js.map → chunk-OUY2IAWL.js.map} +0 -0
  1082. /package/dist/{chunk-FPWQA7TK.js.map → chunk-PJXNCRMR.js.map} +0 -0
  1083. /package/dist/{chunk-ARUXGKZO.js.map → chunk-PYQ3GF7R.js.map} +0 -0
  1084. /package/dist/{chunk-DUR7PEJI.js.map → chunk-Q3EIVZAR.js.map} +0 -0
  1085. /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
  1086. /package/dist/{chunk-LRV6M2WB.js.map → chunk-QHZE62GP.js.map} +0 -0
  1087. /package/dist/{chunk-PLAOK4AK.js.map → chunk-RGR6TSTJ.js.map} +0 -0
  1088. /package/dist/{chunk-HSQRITKG.js.map → chunk-SAAXU7QR.js.map} +0 -0
  1089. /package/dist/{chunk-H4NNQGG6.js.map → chunk-SHTKLRI6.js.map} +0 -0
  1090. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  1091. /package/dist/{chunk-RFIUOQLN.js.map → chunk-SSXG53CZ.js.map} +0 -0
  1092. /package/dist/{chunk-5SRUAGTG.js.map → chunk-TBWAM577.js.map} +0 -0
  1093. /package/dist/{chunk-AIRD6T4W.js.map → chunk-TGPGQTZA.js.map} +0 -0
  1094. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-UMIX2BMM.js.map} +0 -0
  1095. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-URMAEVZO.js.map} +0 -0
  1096. /package/dist/{chunk-QBRPM3DQ.js.map → chunk-VBO3ZVUU.js.map} +0 -0
  1097. /package/dist/{chunk-N7M2TWR5.js.map → chunk-VFLYMHTO.js.map} +0 -0
  1098. /package/dist/{chunk-XQXZJ5IR.js.map → chunk-VGYIVXIZ.js.map} +0 -0
  1099. /package/dist/{chunk-AQOFQNKQ.js.map → chunk-VIB7R533.js.map} +0 -0
  1100. /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
  1101. /package/dist/{chunk-SM7G7RUA.js.map → chunk-WVWLPXBO.js.map} +0 -0
  1102. /package/dist/{chunk-5RVQK3SP.js.map → chunk-XEH5XAP6.js.map} +0 -0
  1103. /package/dist/{chunk-P6BKKUSX.js.map → chunk-XEOKVL4E.js.map} +0 -0
  1104. /package/dist/{chunk-FFG2OYVV.js.map → chunk-XOGQJYXH.js.map} +0 -0
  1105. /package/dist/{chunk-YMF2RG4Z.js.map → chunk-XUXRA7IB.js.map} +0 -0
  1106. /package/dist/{connect-PP6Z3F7Y.js.map → connect-IAXSZPGA.js.map} +0 -0
  1107. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-IHFKVX2M.js.map} +0 -0
  1108. /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
  1109. /package/dist/{creatives-UJDPD4CI.js.map → creatives-BZEVJ6ER.js.map} +0 -0
  1110. /package/dist/{currency-R4ORE2U3.js.map → currency-CGKO5GKH.js.map} +0 -0
  1111. /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
  1112. /package/dist/{customers-7J3QGSOJ.js.map → customers-NKKU6S7G.js.map} +0 -0
  1113. /package/dist/{discover-GSJRZUOC.js.map → discover-VM3O7CQM.js.map} +0 -0
  1114. /package/dist/{draft-WYDMLNYA.js.map → draft-CRDBU6LF.js.map} +0 -0
  1115. /package/dist/{fit-N7WDGWYZ.js.map → fit-Q5GRVF2O.js.map} +0 -0
  1116. /package/dist/{fonts-TTUAP7HS.js.map → fonts-GD4YRXQU.js.map} +0 -0
  1117. /package/dist/{forecast-4AG5F7YC.js.map → forecast-ONVS2QAI.js.map} +0 -0
  1118. /package/dist/{generate-NWHPM2GQ.js.map → generate-VBEY3N3L.js.map} +0 -0
  1119. /package/dist/{google-NAA4BASO.js.map → google-7EZP7I6J.js.map} +0 -0
  1120. /package/dist/{ideas-SUXKKZC7.js.map → ideas-WX7EBPSF.js.map} +0 -0
  1121. /package/dist/{images-VKVZ3DWG.js.map → images-4AXF4LAC.js.map} +0 -0
  1122. /package/dist/{ingest-BBBFT6FZ.js.map → ingest-C3M4GUO6.js.map} +0 -0
  1123. /package/dist/{intent-NSHW7EJT.js.map → intent-ZMYMFGB4.js.map} +0 -0
  1124. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-XSJO2R77.js.map} +0 -0
  1125. /package/dist/{landing-KZ4OSHHR.js.map → landing-MUNYZQNA.js.map} +0 -0
  1126. /package/dist/{languages-MEFQQBJ2.js.map → languages-DIQ3OG3E.js.map} +0 -0
  1127. /package/dist/{line-items-G5YJG25N.js.map → line-items-JR25T2C5.js.map} +0 -0
  1128. /package/dist/{locations-RLWAS6AC.js.map → locations-HTVYJSDJ.js.map} +0 -0
  1129. /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
  1130. /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
  1131. /package/dist/{media-sources-GKSEDSE3.js.map → media-sources-P246GM7W.js.map} +0 -0
  1132. /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
  1133. /package/dist/{metrics-K6FDCMK7.js.map → metrics-WYWUX6Y5.js.map} +0 -0
  1134. /package/dist/{models-JQEPSPNQ.js.map → models-HJ7Y55AH.js.map} +0 -0
  1135. /package/dist/{performance-6TPJGM6A.js.map → performance-J3DLNI2W.js.map} +0 -0
  1136. /package/dist/{promoted-tweets-7P4TSQU7.js.map → promoted-tweets-W42FNWS7.js.map} +0 -0
  1137. /package/dist/{query-QM7MBQD7.js.map → query-IQICLABN.js.map} +0 -0
  1138. /package/dist/{reddit-SN5CESF4.js.map → reddit-X4CERXYF.js.map} +0 -0
  1139. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-UDDQOYLD.js.map} +0 -0
  1140. /package/dist/{research-QU63CJB5.js.map → research-D5UUJF74.js.map} +0 -0
  1141. /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
  1142. /package/dist/{run-2DLA6YO4.js.map → run-T7XAH2W5.js.map} +0 -0
  1143. /package/dist/{scheduled-agents-FRBF4EOK.js.map → scheduled-agents-ZGCUZ6SB.js.map} +0 -0
  1144. /package/dist/{schema-6Y3IXFDC.js.map → schema-D6BMZAPB.js.map} +0 -0
  1145. /package/dist/{sources-77WLFY4Y.js.map → sources-DVMJEXEX.js.map} +0 -0
  1146. /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
  1147. /package/dist/{studio-T5L7UEX6.js.map → studio-5Z4NMA4K.js.map} +0 -0
  1148. /package/dist/{sync-definition-K4XOAG2B.js.map → sync-definition-F3CXG6KG.js.map} +0 -0
  1149. /package/dist/{tags-ETOOYQ57.js.map → tags-SEZ2CQJM.js.map} +0 -0
  1150. /package/dist/{targeting-criteria-L4DYIJZI.js.map → targeting-criteria-AU5CSMAU.js.map} +0 -0
  1151. /package/dist/{testimonials-65N7IYN7.js.map → testimonials-Y6PUV6AL.js.map} +0 -0
  1152. /package/dist/{themes-B4LCQUXB.js.map → themes-PGPIAKAO.js.map} +0 -0
  1153. /package/dist/{videos-BKVCCKIH.js.map → videos-SVZV5YYC.js.map} +0 -0
  1154. /package/dist/{viewer-check-B5O7ZY3Q.js.map → viewer-check-LUAEGV6H.js.map} +0 -0
  1155. /package/dist/{winning-ads-JIDPISKM.js.map → winning-ads-KNLJHHCO.js.map} +0 -0
  1156. /package/dist/{x-NLGWZCGX.js.map → x-ZQNHYIDU.js.map} +0 -0
@@ -0,0 +1,1370 @@
1
+ import {
2
+ scaffoldDelivery
3
+ } from "./chunk-PYQ3GF7R.js";
4
+ import {
5
+ NO_FIT_HINT,
6
+ conceptFromFit,
7
+ fitReference,
8
+ notADesignReference,
9
+ pictureOf,
10
+ resolveSourcePlatform
11
+ } from "./chunk-KH5YHHJV.js";
12
+ import {
13
+ makeSeriesAd,
14
+ seriesMadeEnvelope
15
+ } from "./chunk-B4YF7VQF.js";
16
+ import "./chunk-XVFZDPEW.js";
17
+ import {
18
+ runBaker
19
+ } from "./chunk-XUXRA7IB.js";
20
+ import "./chunk-4IHWT7PH.js";
21
+ import "./chunk-3QHXF3QI.js";
22
+ import {
23
+ audienceQuery,
24
+ definitionFieldsOf,
25
+ fitBetOf,
26
+ fitsIdea,
27
+ freshReferencesFirst,
28
+ ideaSpec,
29
+ isOwnBrand,
30
+ isTakenReference,
31
+ isVideoIdea,
32
+ missingElements,
33
+ personaWho,
34
+ pooledCandidates,
35
+ rankedForOf,
36
+ referenceSearchesFor,
37
+ referenceWhereOf,
38
+ setDefinitionFields,
39
+ setSpecMessage,
40
+ setSpecViewer,
41
+ unsourcedCopyLines,
42
+ whyUnfit,
43
+ withFitConcept
44
+ } from "./chunk-I43ZEWJQ.js";
45
+ import "./chunk-AN4OEQXE.js";
46
+ import {
47
+ parseDefinitionDelivery,
48
+ parseDefinitionSourceFields,
49
+ platformsNamedIn,
50
+ projectAdaptBriefs,
51
+ projectFormatBriefs,
52
+ projectStaticBriefs,
53
+ recordedShape,
54
+ reroutedOnSpec,
55
+ thinkingOutline,
56
+ withThinking
57
+ } from "./chunk-GNMEOU46.js";
58
+ import {
59
+ liveViewerLookups,
60
+ readPersonas
61
+ } from "./chunk-5K4QYYOJ.js";
62
+ import "./chunk-XEOKVL4E.js";
63
+ import {
64
+ castInventory,
65
+ companyName
66
+ } from "./chunk-SSXG53CZ.js";
67
+ import "./chunk-WHBFXR6F.js";
68
+ import {
69
+ buildSearchBody
70
+ } from "./chunk-TT7RFKUE.js";
71
+ import "./chunk-NNLVFRF6.js";
72
+ import "./chunk-XB63MQ6E.js";
73
+ import {
74
+ storeProductReads
75
+ } from "./chunk-DQVI7GCX.js";
76
+ import "./chunk-EKX37C3T.js";
77
+ import {
78
+ IDEAS_DIR,
79
+ coverageOf,
80
+ readCreativeRecords,
81
+ readIdeas,
82
+ readInsights,
83
+ readKnowledgeCorpus,
84
+ readPersonaIds
85
+ } from "./chunk-KTZCLJ2D.js";
86
+ import {
87
+ avoidOf,
88
+ memeRegister,
89
+ readCompanyReading,
90
+ readCreativeContext
91
+ } from "./chunk-PJXNCRMR.js";
92
+ import {
93
+ checkIdeas,
94
+ sourcesClaims
95
+ } from "./chunk-MKUA54QE.js";
96
+ import "./chunk-5JJD33Y2.js";
97
+ import "./chunk-VGYIVXIZ.js";
98
+ import "./chunk-6ZFSDYWV.js";
99
+ import "./chunk-G6XKD7QE.js";
100
+ import "./chunk-QPESDKZC.js";
101
+ import {
102
+ holdUnbilledSpend
103
+ } from "./chunk-E44NXCTL.js";
104
+ import {
105
+ findWorkspaceRoot
106
+ } from "./chunk-EJGAJHLB.js";
107
+ import "./chunk-AULSX5ZA.js";
108
+ import "./chunk-UMIX2BMM.js";
109
+ import "./chunk-DGCUPJZD.js";
110
+ import "./chunk-AVYUFJQQ.js";
111
+ import {
112
+ SPEC_SHAPES_HINT,
113
+ decisionOf,
114
+ isVital,
115
+ readAdSpec,
116
+ unwrittenProblems
117
+ } from "./chunk-QHZE62GP.js";
118
+ import {
119
+ askAboutImages,
120
+ askAboutText
121
+ } from "./chunk-FJZYOVSW.js";
122
+ import "./chunk-F3CZFUXZ.js";
123
+ import {
124
+ describeMarket,
125
+ marketFromCompanyDoc,
126
+ viewerFromKnowledge
127
+ } from "./chunk-2WZI36D3.js";
128
+ import "./chunk-65Y3RCWP.js";
129
+ import {
130
+ askJevQuestions
131
+ } from "./chunk-LNNTHEL7.js";
132
+ import "./chunk-FOMFU2RX.js";
133
+ import "./chunk-PSGIHSNC.js";
134
+ import "./chunk-PONLPYD7.js";
135
+ import "./chunk-NZ34KM46.js";
136
+ import "./chunk-CAZGM2NX.js";
137
+ import "./chunk-NZS3KEQ2.js";
138
+ import "./chunk-GIWHHCD6.js";
139
+ import "./chunk-SOPVIIUW.js";
140
+ import "./chunk-G4FG5EQO.js";
141
+ import "./chunk-NSBNIPIW.js";
142
+ import "./chunk-MUS2UTWU.js";
143
+ import {
144
+ apiPost
145
+ } from "./chunk-X7VQFLHI.js";
146
+ import "./chunk-LU4HI4KI.js";
147
+ import {
148
+ optionalChatId
149
+ } from "./chunk-LGK7UWBN.js";
150
+ import {
151
+ registerSchema,
152
+ writeJson
153
+ } from "./chunk-Q7US4OOA.js";
154
+ import "./chunk-YQSBHWOI.js";
155
+
156
+ // src/commands/creatives/make.ts
157
+ import { mkdir as mkdir2, mkdtemp, readdir, readFile as readFile2, rm, stat, writeFile as writeFile2 } from "fs/promises";
158
+ import { tmpdir } from "os";
159
+ import path2 from "path";
160
+ import { defineCommand } from "citty";
161
+
162
+ // src/commands/creatives/reference-brief.ts
163
+ import { createHash } from "crypto";
164
+ import { mkdir, readFile, writeFile } from "fs/promises";
165
+ import path from "path";
166
+ import { z } from "zod";
167
+ var text = z.string().transform((s) => s.trim()).pipe(z.string().min(1)).optional().catch(void 0);
168
+ var shortList = (max) => z.array(z.string()).transform(
169
+ (list) => list.map((s) => s.trim()).filter(Boolean).slice(0, max)
170
+ ).catch([]);
171
+ var BriefSchema = z.object({
172
+ category: text,
173
+ industry: text,
174
+ audience: text,
175
+ buyer: z.enum(["consumer", "small_business", "enterprise"]).optional().catch(void 0),
176
+ country: z.string().transform((s) => s.trim().toUpperCase()).pipe(z.union([z.literal("").transform(() => null), z.string().regex(/^[A-Z]{2}$/)])).optional().catch(void 0),
177
+ humour: z.enum(["fits", "risky", "off_brand"]).optional().catch(void 0),
178
+ avoid: shortList(5),
179
+ brands: shortList(4),
180
+ wider: shortList(4),
181
+ shows: shortList(2)
182
+ });
183
+ function parseReferenceBrief(reply) {
184
+ const parsed = BriefSchema.safeParse(reply);
185
+ if (!parsed.success || !parsed.data.category) return null;
186
+ const { category, avoid, brands, wider, shows, ...rest } = parsed.data;
187
+ const known = Object.fromEntries(Object.entries(rest).filter(([, v]) => v !== void 0));
188
+ return { category, ...known, avoid, brands, wider, ...shows.length > 0 ? { shows } : {} };
189
+ }
190
+ var REFERENCE_BRIEF_MODEL = "google/gemini-3.5-flash-lite";
191
+ var REFERENCE_BRIEF_REQUEST = {
192
+ provider: { order: ["google-vertex"], allow_fallbacks: false },
193
+ seed: 0,
194
+ temperature: 0,
195
+ response_format: { type: "json_object" }
196
+ };
197
+ var REFERENCE_BRIEF_TIMEOUT_MS = 2e4;
198
+ var MAX_COMPANY_CHARS = 12e3;
199
+ function referenceBriefPrompt(companyDoc, ad) {
200
+ return `You prepare a search of a library of proven ads (Meta, LinkedIn, TikTok, Google) for the ad below. The library's search reads short English phrases the way it files ads: by what the ad sells, its industry and who it is for.
201
+
202
+ The company (its own notes):
203
+ """
204
+ ${companyDoc.slice(0, MAX_COMPANY_CHARS)}
205
+ """
206
+
207
+ The ad we are making:
208
+ - Says: ${ad.message}
209
+ - For: ${ad.who}${ad.shows ? `
210
+ - Shows first: ${ad.shows}` : ""}
211
+
212
+ Answer only JSON:
213
+ {
214
+ "category": "what THIS ad sells, 2-6 plain English words a library would file it under, no brand names (e.g. 'electrician training course', 'pet health insurance', 'ecommerce customer service AI')",
215
+ "industry": "the broader industry, 1-3 English words (e.g. 'vocational education', 'insurance', 'customer service software')",
216
+ "audience": "who the ad is for and the problem they have, 4-9 plain English words (e.g. 'unemployed adults looking for a stable trade')",
217
+ "wider": ["4 library searches of 2-6 English words that widen from this ad, closest first, for when ads of exactly this product are few. 1: an adjacent product the same buyer weighs (e.g. 'tennis court construction'). 2: the same buyer buying something else (e.g. 'gym and sports club owners'). 3 and 4: the same kind of decision with NO word of this product's category, as other industries sell it (e.g. for a padel-court builder: 'turnkey franchise investment', 'commercial real estate investment'; for an acne serum: 'skincare before and after'). Never brand names"]${ad.shows ? `,
218
+ "shows": ["2 library searches of 6-14 English words for the KIND of picture 'Shows first' describes, the way the library describes an ad's visual: the device and what it contrasts or proves, with no word of this product, no numbers and no brand (e.g. for 'a calendar strip, 9 days green against 31 grey': 'time comparison graphic: the usual long wait against a much shorter one', 'two bars side by side, ours far shorter than the competition'; for 'a phone with missed calls next to a quote': 'phone screen full of missed calls and notifications, the stress of chasing')"]` : ""}
219
+ }`;
220
+ }
221
+ var askBriefModel = (root) => async (prompt) => {
222
+ const spent = [];
223
+ const answer = await askAboutText(REFERENCE_BRIEF_MODEL, prompt, (u) => spent.push(u), {
224
+ timeoutMs: REFERENCE_BRIEF_TIMEOUT_MS,
225
+ request: REFERENCE_BRIEF_REQUEST
226
+ }).catch(() => null);
227
+ await holdUnbilledSpend(path.join(root, "canvas", ".cache"), spent).catch(() => void 0);
228
+ return answer;
229
+ };
230
+ var briefCachePath = (root, key) => path.join(root, "canvas", ".cache", "reference-brief", `${key}.json`);
231
+ async function referenceBriefFor(root, ad, ask = askBriefModel(root)) {
232
+ const companyDoc = await readFile(path.join(root, "COMPANY.md"), "utf8").catch(() => "");
233
+ const [company, own] = await Promise.all([readCompanyReading(root, ask), adBrief(root, companyDoc, ad, ask)]);
234
+ if (!own) return null;
235
+ const {
236
+ sells: _sells,
237
+ category: _category,
238
+ industry,
239
+ memes: _memes,
240
+ memes_why: _why,
241
+ ...facts
242
+ } = company ?? { brands: [] };
243
+ const register = memeRegister(company);
244
+ return {
245
+ ...facts,
246
+ ...register ? { memes: register.memes, ...register.why ? { memesWhy: register.why } : {} } : {},
247
+ ...own,
248
+ ...own.industry ?? industry ? { industry: own.industry ?? industry } : {},
249
+ brands: own.brands.length > 0 ? own.brands : facts.brands
250
+ };
251
+ }
252
+ async function adBrief(root, companyDoc, ad, ask) {
253
+ const prompt = referenceBriefPrompt(companyDoc, ad);
254
+ const file = briefCachePath(root, createHash("sha256").update(prompt).digest("hex").slice(0, 16));
255
+ const cached = await readFile(file, "utf8").then((raw) => parseReferenceBrief(JSON.parse(raw))).catch(() => null);
256
+ if (cached) return cached;
257
+ const brief = parseReferenceBrief(await ask(prompt));
258
+ if (!brief) return null;
259
+ await mkdir(path.dirname(file), { recursive: true });
260
+ await writeFile(file, `${JSON.stringify(brief, null, 2)}
261
+ `, "utf8");
262
+ return brief;
263
+ }
264
+
265
+ // src/commands/creatives/reference-rank.ts
266
+ var BUYERS = {
267
+ consumer: "people buying for themselves",
268
+ small_business: "small businesses buying for work",
269
+ enterprise: "large companies buying for work"
270
+ };
271
+ function memesLine(bet) {
272
+ return bet.memes === "off_brand" ? ` Our brand's voice does not run memes${bet.memesWhy ? ` (${bet.memesWhy})` : ""}: rank meme and reaction-face ads last.` : "";
273
+ }
274
+ function oursText(bet) {
275
+ const sells = `${bet.category}${bet.industry ? ` (${bet.industry})` : ""}`;
276
+ const buyer = bet.buyer ? `, to ${BUYERS[bet.buyer]}` : "";
277
+ const humour = bet.humour === "off_brand" ? " Our brand does not joke in ads." : "";
278
+ const avoid = bet.avoid?.length ? ` Our brand never uses: ${bet.avoid.join(", ")}.` : "";
279
+ const shows = bet.shows ? ` It shows: ${bet.shows}.` : "";
280
+ return `We sell: ${sells}${buyer}. Our ad says: "${bet.message}". It is for: ${bet.who}.${shows}${humour}${memesLine(bet)}${avoid}`;
281
+ }
282
+ function cardText(c) {
283
+ const d = c.dna ?? {};
284
+ const line = (label, value) => value ? `${label}: ${value}` : "";
285
+ return [
286
+ line("Advertiser", c.advertiser),
287
+ line("Industry", [d.industry, d.business_model].filter(Boolean).join(", ")),
288
+ line("Made for", d.target_persona),
289
+ line("Looks like", [d.container ?? c.format, d.visual].filter(Boolean).join(": ")),
290
+ line("Concept", d.creative_concept),
291
+ line("Why it works", d.mechanism)
292
+ ].filter(Boolean).join("\n").slice(0, 1400);
293
+ }
294
+ var QUESTIONS_PER_REQUEST = 60;
295
+ var QUESTIONS = [
296
+ "Was `ad` made for the same kind of buyer as `ours`: a person buying for themselves, or a business buying for work, of a similar size?",
297
+ "Would the viewer `ours` is for feel that `ad` speaks to someone like them, about a problem like theirs?",
298
+ "Could the brand of `ours` run an ad made like `ad` (its look, its tone, its kind of hook) without breaking its own rules or looking out of character?"
299
+ ];
300
+ var SHOWS_QUESTION = "Does `ad` show what `ours` shows (its `It shows:`), or the same kind of picture doing the same job, so that ours could be made in its image?";
301
+ var REMADE_QUESTION = "Remade with the product, people and words of `ours`, would a picture made like `ad` speak to the viewer `ours` is for, about a problem like theirs?";
302
+ function questionsFor(bet) {
303
+ return bet.shows ? [SHOWS_QUESTION, REMADE_QUESTION, QUESTIONS[2] ?? ""] : QUESTIONS;
304
+ }
305
+ async function rankForBet(candidates, bet, askOverride, onSpend) {
306
+ const ask = askOverride ?? ((questions2) => askJevQuestions(questions2, onSpend));
307
+ if (candidates.length < 2) return [...candidates];
308
+ const ours = oursText(bet);
309
+ const asks = questionsFor(bet);
310
+ const questions = candidates.flatMap(
311
+ (c) => asks.map((question) => ({ type: "noul", instructions: { ours, ad: cardText(c), question } }))
312
+ );
313
+ const parts = [];
314
+ for (let start = 0; start < questions.length; start += QUESTIONS_PER_REQUEST) {
315
+ parts.push(questions.slice(start, start + QUESTIONS_PER_REQUEST));
316
+ }
317
+ const replies = await Promise.all(parts.map((part) => ask(part).catch(() => null)));
318
+ if (replies.some((r, i) => !r || r.length !== parts[i]?.length)) return [...candidates];
319
+ const answers = replies.flatMap((r) => r ?? []);
320
+ const scored = candidates.map((c, i) => ({
321
+ c,
322
+ i,
323
+ score: asks.reduce((product, _, k) => {
324
+ const answer = answers[i * asks.length + k];
325
+ return product * (answer && "noul" in answer ? answer.noul : 0.5);
326
+ }, 1)
327
+ }));
328
+ return scored.sort((a, b) => b.score - a.score || a.i - b.i).map((s) => s.c);
329
+ }
330
+
331
+ // src/commands/creatives/reference-pick.ts
332
+ var REFERENCE_PICK_MODEL = "~google/gemini-pro-latest";
333
+ var REFERENCE_PICK_TIMEOUT_MS = 6e4;
334
+ function vitalRead(fit) {
335
+ const vital = (fit.load_bearing ?? []).filter(isVital).map((l) => {
336
+ const ours = decisionOf(l) === "keep" ? "kept as it is" : l.ours?.trim() ? `ours: ${l.ours.trim()}` : "";
337
+ return `${l.job === "stop" ? "stops the scroll with" : "proof:"} ${l.element}${ours ? ` (${ours})` : ""}`;
338
+ });
339
+ return vital.length > 0 ? ` It ${vital.join("; ")}.` : "";
340
+ }
341
+ var TAKE_ELEMENTS = ["hook", "visual", "who_appears", "proof", "layout", "call_to_action"];
342
+ function referencePickPrompt(options, bet) {
343
+ const reads = options.map((o, i) => {
344
+ const wins = Object.values(o.fit.why_it_wins ?? {}).filter(Boolean).join("; ");
345
+ const viewer = o.fit.our_viewer ? ` Our viewer: ${o.fit.our_viewer.stops}, ${o.fit.our_viewer.why}` : "";
346
+ return `${i + 1}. ${o.advertiser ?? "an advertiser"}: wins on ${wins || "(not read)"}.${vitalRead(o.fit)}${viewer}`;
347
+ }).join("\n");
348
+ const avoid = bet.avoid?.length ? ` The brand never uses: ${bet.avoid.join(", ").replace(/\.$/, "")}. Its rules forbid only what they name: "no stock photography" never rules out a meme's reaction face, our own people or our Avatars.` : "";
349
+ const humour = `${bet.humour === "off_brand" ? " The brand does not joke in ads." : ""}${memesLine(bet)}`;
350
+ return `Pick the proven ad our next ad should be built on. Images 1..${options.length} are proven ads of other advertisers, each already checked to be adaptable.
351
+
352
+ We sell: ${bet.category}${bet.industry ? ` (${bet.industry})` : ""}. Our ad says: "${bet.message}". It is for: ${bet.who}.${bet.shows ? ` It shows first: ${bet.shows}; the ad built on wins only if it can show that as strongly as its own picture shows its offer.` : ""}${humour}${avoid}
353
+
354
+ What the check read of each:
355
+ ${reads}
356
+
357
+ Rank them by how likely a version of each, made for us, stops this exact viewer and makes them act: the viewer must see themselves and their problem in it, its winning move must carry our offer as strongly as theirs, and our brand must be able to run it.
358
+
359
+ Then, as a media buyer does, say what our ad takes. Our ad may combine several: the hook of one, the visual of another, the proof of a third. For each element worth taking (${TAKE_ELEMENTS.join(", ")}), the image whose version of it would work best for us, exactly what to take, and why it applies to this viewer. Leave out an element no image does well for us. Then what our ad must not copy from them: a device that misleads or that the platform restricts (a fake newspaper or news page, a fake app notification), dated urgency, another brand's marks, words that hide what is sold; never what stops the scroll or the proof, which ours keeps as named above. A rule forbids only what it names: "no stock photography" never rules out a meme's reaction face, our own people or our Avatars; when a rule of ours is why, quote the rule word for word.
360
+
361
+ Answer only JSON: {"ranking": [image numbers, best first], "why": "one sentence on why the first beats the others", "takes": [{"element": "hook", "from": image number, "what": "...", "applies": "..."}], "avoid": [{"from": image number, "what": "...", "why": "..."}]}`;
362
+ }
363
+ function readPickRanking(reply, count) {
364
+ const ranking = reply?.ranking;
365
+ if (!Array.isArray(ranking)) return null;
366
+ const order = [];
367
+ for (const n of ranking) {
368
+ const index = Number(n) - 1;
369
+ if (Number.isInteger(index) && index >= 0 && index < count && !order.includes(index)) order.push(index);
370
+ }
371
+ if (order.length === 0) return null;
372
+ for (let i = 0; i < count; i++) if (!order.includes(i)) order.push(i);
373
+ return order;
374
+ }
375
+ var text2 = (value) => typeof value === "string" ? value.trim() : "";
376
+ function adOf(from, options) {
377
+ return options[Number(from) - 1]?.adId ?? null;
378
+ }
379
+ function readTakes(reply, options) {
380
+ const takes = reply?.takes;
381
+ if (!Array.isArray(takes)) return [];
382
+ const read = [];
383
+ for (const t of takes) {
384
+ const element = TAKE_ELEMENTS.find((e) => e === t?.element);
385
+ const adId = adOf(t?.from, options);
386
+ if (!element || !adId || !text2(t.what) || read.some((r) => r.element === element)) continue;
387
+ read.push({ element, adId, what: text2(t.what), applies: text2(t.applies) });
388
+ }
389
+ return read;
390
+ }
391
+ function readAvoid(reply, options) {
392
+ const avoid = reply?.avoid;
393
+ if (!Array.isArray(avoid)) return [];
394
+ return avoid.flatMap((a) => {
395
+ const adId = adOf(a?.from, options);
396
+ return adId && text2(a.what) ? [{ adId, what: text2(a.what), why: text2(a.why) }] : [];
397
+ });
398
+ }
399
+ var askPickModel = (onSpend) => (pictures, prompt) => askAboutImages(REFERENCE_PICK_MODEL, pictures, prompt, onSpend, REFERENCE_PICK_TIMEOUT_MS).catch(() => null);
400
+ async function pickAmong(options, bet, ask = askPickModel()) {
401
+ const reply = await ask(
402
+ options.map((o) => o.picture),
403
+ referencePickPrompt(options, bet)
404
+ );
405
+ const order = readPickRanking(reply, options.length);
406
+ if (!order) return null;
407
+ const why = text2(reply.why);
408
+ const takes = readTakes(reply, options);
409
+ const avoid = readAvoid(reply, options);
410
+ return {
411
+ order,
412
+ ...why ? { why } : {},
413
+ ...takes.length > 0 ? { takes } : {},
414
+ ...avoid.length > 0 ? { avoid } : {}
415
+ };
416
+ }
417
+
418
+ // src/commands/creatives/make.ts
419
+ var FITS_TRIED = 6;
420
+ var FITS_AT_ONCE = 3;
421
+ var RANKED_POOL = 24;
422
+ var SEARCH_TIMEOUT_MS = 12e4;
423
+ var REFERENCE_MS = 15e4;
424
+ var DESCRIPTION = `Build one idea from src/creatives/_ideas/ into a creative. For a static it builds on a proven winning ad: it reads what this ad sells and for whom, searches ads of that in its market (the idea's container first, then any), then ads made for the idea's persona, its industry, the idea's message, then the container's strongest winners from any category; leaves out the company's own ads, ranks the rest for this ad's buyer, viewer and brand (a proven ad, or brand, another creative is already built on last, so a batch of ideas builds on different winners), checks which fit us (one whose scroll-stopper or proof cannot be ours is passed over, and the first hint says which and why) and, when several do, compares them side by side, scaffolds the creative on the best-ranked one, records the idea on it and sets the ad's message. The fit says what made that ad win, so what ours carries of it (\`reference.carry\`: whole_ad, layout, hook or angle); its first hint names the ad: tell the person. When no proven ad fits, it starts the ad from the idea itself and says why (never a dead end, never retry with another format). You then write the copy lines and the scene in prompt.json and run it. Takes up to about two and a half minutes: run it in the foreground, once per idea.
425
+
426
+ Where the ad runs decides its sizes (Meta 4:5 + 9:16, LinkedIn 1:1, TikTok 9:16): it is the idea's \`platforms\`, or --platforms from the person's request; nothing saying so is refused, never defaulted to Meta.
427
+
428
+ Start here, with an idea from \`baker creatives ideas\` build_next:
429
+ baker creatives make phone-payroll # static: reference found and checked for you
430
+ baker creatives make phone-payroll --platforms linkedin # where it runs, when the idea does not say
431
+ baker creatives make phone-payroll --adset 120210000000 # written for that ad set's viewer
432
+ baker creatives make phone-payroll --reference 1310524137919413 # your own reference instead
433
+ baker creatives make founder-story --spec beats.json # a video idea: from its beats spec
434
+ baker creatives make phone-payroll --slug phone-payroll-h2 # another hook of the same idea
435
+ baker creatives make tiktok-speed --series zernio-live # another message in the style of a ready ad
436
+ Then: edit src/creatives/<slug>/prompt.json (copy + scene; the message is set), and \`baker canvas run src/creatives/<slug>/<slug>.canvas.json\`.`;
437
+ var ARGS = {
438
+ idea: { type: "positional", required: true, description: "The idea id (src/creatives/_ideas/<idea>.md)" },
439
+ slug: { type: "string", required: false, description: "Creative slug (default: the idea id)" },
440
+ adset: { type: "string", required: false, description: "Meta ad set the ad is for: its viewer and placements" },
441
+ reference: {
442
+ type: "string",
443
+ required: false,
444
+ description: "A library ad id to build on instead of searching (statics)"
445
+ },
446
+ platforms: {
447
+ type: "string",
448
+ required: false,
449
+ description: "Where the ad runs, the main platform first: meta (4:5 + 9:16), linkedin (1:1), tiktok (9:16), google_demandgen, \u2026 Take it from the person's request; default the creative's definition (and the sizes it records), then the idea's `platforms`, then the ad set's (Meta). Nothing saying so is refused, never defaulted."
450
+ },
451
+ formats: {
452
+ type: "string",
453
+ required: false,
454
+ description: "Exactly the sizes to make, when the person asks for others than the platform's (`--platforms linkedin --formats 1:1,4:5`)."
455
+ },
456
+ "reference-platform": {
457
+ type: "string",
458
+ required: false,
459
+ description: "Library platform of --reference: meta|linkedin|tiktok|google (default meta). On google only display ads are built on (a static needs a picture)"
460
+ },
461
+ platform: {
462
+ type: "string",
463
+ required: false,
464
+ description: "Retired: --platforms says where the ad runs; --reference-platform says which library --reference is in."
465
+ },
466
+ spec: {
467
+ type: "string",
468
+ required: false,
469
+ description: "Video ideas: the beats spec for `baker canvas scaffold-ad --spec`"
470
+ },
471
+ series: {
472
+ type: "string",
473
+ required: false,
474
+ description: "Statics: make this idea as another ad of the series led by this creative (its slug): the same design, only its words changed. No reference is searched; seconds. The lead must have a ready version. Then write its words and run the whole series: baker canvas run --series <lead>"
475
+ },
476
+ avatar: {
477
+ type: "string",
478
+ required: false,
479
+ description: "Statics: the Avatar(s) the ad's people are cast as (`@eduard` or `eduard,lucia`; `baker avatars list`). Run make again with it once the definition decides the cast, before prompt.json is written: it rebuilds the canvas on them and keeps the thinking"
480
+ },
481
+ "from-idea": {
482
+ type: "boolean",
483
+ required: false,
484
+ default: false,
485
+ description: "Statics: skip the reference search and start from the idea (what make does by itself when no proven ad fits)"
486
+ }
487
+ };
488
+ registerSchema({ command: "creatives.make", description: DESCRIPTION, args: ARGS });
489
+ function fail(error) {
490
+ writeJson({ ok: false, error });
491
+ process.exit(1);
492
+ }
493
+ async function viewerTemperature(root, adSet, awareness) {
494
+ if (adSet) {
495
+ const read = await liveViewerLookups(root).adSetViewer(adSet).catch(() => null);
496
+ if (read) return read.temperature;
497
+ }
498
+ return viewerFromKnowledge({ personas: [], awareness }).temperature;
499
+ }
500
+ var PASSED_SAID = 3;
501
+ function passedOver(candidates, fits) {
502
+ return candidates.flatMap((candidate, i) => {
503
+ const fit = fits[i];
504
+ if (!fit?.ok || fitsIdea(fit.fit)) return [];
505
+ return [
506
+ {
507
+ adId: String(candidate.ad_id),
508
+ ...candidate.advertiser ? { advertiser: candidate.advertiser } : {},
509
+ why: whyUnfit(fit.fit)
510
+ }
511
+ ];
512
+ }).slice(0, PASSED_SAID);
513
+ }
514
+ function candidatePlatform(c) {
515
+ const resolved = resolveSourcePlatform(typeof c.platform === "string" ? c.platform : void 0);
516
+ return resolved.ok ? resolved.platform : null;
517
+ }
518
+ function buildable(c) {
519
+ const platform = candidatePlatform(c);
520
+ if (!platform || notADesignReference(platform, String(c.ad_id), { format: c.format ?? null })) return [];
521
+ return [{ ...c, platform }];
522
+ }
523
+ function liveReferenceDeps(root, bet, rankedFor, brands = []) {
524
+ return {
525
+ search: async (body) => {
526
+ const ask = () => apiPost("/api/ad-library/winners/search", body, {
527
+ timeoutMs: SEARCH_TIMEOUT_MS
528
+ }).catch(() => null);
529
+ return (await ask() ?? await ask())?.results ?? null;
530
+ },
531
+ fit: (platform, adId) => fitReference(root, platform, adId, bet),
532
+ ...rankedFor ? {
533
+ rank: async (found) => {
534
+ const spent = [];
535
+ try {
536
+ return await rankForBet(
537
+ found.filter((c) => !isOwnBrand(c.advertiser, brands)),
538
+ rankedFor,
539
+ void 0,
540
+ (u) => spent.push(u)
541
+ );
542
+ } finally {
543
+ await holdUnbilledSpend(path2.join(root, "canvas", ".cache"), spent).catch(() => void 0);
544
+ }
545
+ },
546
+ choose: (fitting) => chooseLive(root, fitting, rankedFor)
547
+ } : {}
548
+ };
549
+ }
550
+ async function chooseLive(root, fitting, rankedFor) {
551
+ const options = (await Promise.all(
552
+ fitting.map(async (f) => {
553
+ const picture = await pictureOf(f.candidate.media_url);
554
+ return picture ? [
555
+ {
556
+ adId: f.adId,
557
+ picture,
558
+ fit: f.fit,
559
+ ...f.candidate.advertiser ? { advertiser: f.candidate.advertiser } : {}
560
+ }
561
+ ] : [];
562
+ })
563
+ )).flat();
564
+ if (options.length < 2) return null;
565
+ const spent = [];
566
+ const picked = await pickAmong(
567
+ options,
568
+ rankedFor,
569
+ askPickModel((u) => spent.push(u))
570
+ );
571
+ await holdUnbilledSpend(path2.join(root, "canvas", ".cache"), spent).catch(() => void 0);
572
+ if (!picked) return null;
573
+ const byAd = new Map(fitting.map((f, i) => [f.adId, i]));
574
+ const order = picked.order.flatMap((i) => {
575
+ const at = byAd.get(options[i]?.adId ?? "");
576
+ return at === void 0 ? [] : [at];
577
+ });
578
+ return { ...picked, order };
579
+ }
580
+ async function findCandidates(searches, deps) {
581
+ const results = await Promise.all(searches.map((search) => deps.search(search).catch(() => null)));
582
+ const topics = searches.flatMap((search, i) => search.free_text_query ? [results[i]] : []);
583
+ if (topics.length > 0 && topics.every((found) => found === null)) return "unavailable";
584
+ const pooled = pooledCandidates(
585
+ results.map((found) => (found ?? []).flatMap(buildable)),
586
+ deps.rank ? RANKED_POOL : FITS_TRIED
587
+ );
588
+ const fresh = (found) => deps.taken ? freshReferencesFirst(found, deps.taken) : found;
589
+ if (!deps.rank) return fresh(pooled);
590
+ const ranked = await deps.rank(pooled).catch(() => pooled);
591
+ return fresh(ranked.flatMap(buildable)).slice(0, FITS_TRIED);
592
+ }
593
+ var candidateOf = (c) => ({
594
+ adId: String(c.ad_id),
595
+ platform: c.platform,
596
+ ...c.advertiser_id ? { advertiserId: c.advertiser_id } : {}
597
+ });
598
+ async function pickReference(root, searches, deps = liveReferenceDeps(root), prepare, within) {
599
+ const out = whenAborted(within);
600
+ const found = await Promise.race([findCandidates(searches, deps), out]);
601
+ if (found === "out") return slowReference();
602
+ if (found === "unavailable") return searchUnavailable();
603
+ const candidates = found.slice(0, FITS_TRIED);
604
+ const first = candidates[0];
605
+ const stop = new AbortController();
606
+ const building = first && prepare ? prepare(candidateOf(first), stop.signal) : void 0;
607
+ void building?.catch(() => void 0);
608
+ let settled = false;
609
+ const asked = [];
610
+ const askNext = () => {
611
+ const index = asked.length;
612
+ const candidate = candidates[index];
613
+ if (settled || !candidate) return;
614
+ asked.push(
615
+ askFit(deps, candidate).then((fit) => {
616
+ if (!(fit.ok && fitsIdea(fit.fit))) askNext();
617
+ return fit;
618
+ })
619
+ );
620
+ };
621
+ for (let slot = 0; slot < FITS_AT_ONCE; slot++) askNext();
622
+ const deciding = deps.choose ? chosenFitting(candidates, asked, deps.choose, deps.taken) : firstFitting(candidates, asked);
623
+ const kept = await Promise.race([deciding, out]);
624
+ settled = true;
625
+ if (kept === "out") {
626
+ stop.abort();
627
+ return { ...slowReference(), ...building ? { discarded: building } : {} };
628
+ }
629
+ if (kept.index !== 0) stop.abort();
630
+ const speculated = building ? kept.index === 0 ? { prepared: building } : { discarded: building } : {};
631
+ return { ...kept.picked, ...speculated };
632
+ }
633
+ var askFit = (deps, c) => Promise.resolve().then(() => deps.fit(c.platform, String(c.ad_id))).catch((e) => ({ ok: false, error: { code: "UNAVAILABLE", message: String(e), fix: "" } }));
634
+ var whenAborted = (signal) => new Promise((resolve) => {
635
+ if (signal?.aborted) resolve("out");
636
+ signal?.addEventListener("abort", () => resolve("out"), { once: true });
637
+ });
638
+ function pickedOf(candidate, fit, index, preferred) {
639
+ const layers = fit.why_it_wins;
640
+ return {
641
+ ...candidateOf(candidate),
642
+ why: [layers.disguise, layers.trigger, layers.logic].filter(Boolean).join("; "),
643
+ tried: index + 1,
644
+ fit,
645
+ ...candidate.dna?.container ? { container: candidate.dna.container } : {},
646
+ ...preferred ? { preferred } : {}
647
+ };
648
+ }
649
+ async function firstFitting(candidates, fits) {
650
+ let unchecked = null;
651
+ let checked = 0;
652
+ const lacking = [];
653
+ const answered = [];
654
+ for (const [index, candidate] of candidates.entries()) {
655
+ const fit = await fits[index];
656
+ answered.push(fit);
657
+ if (!fit) continue;
658
+ if (!fit.ok) unchecked = fit.error;
659
+ else checked += 1;
660
+ if (fit.ok && !fitsIdea(fit.fit)) lacking.push(...missingElements(fit.fit));
661
+ if (!(fit.ok && fitsIdea(fit.fit))) continue;
662
+ const passed = passedOver(candidates, answered);
663
+ return { picked: { ...pickedOf(candidate, fit.fit, index), ...passed.length > 0 ? { passed } : {} }, index };
664
+ }
665
+ return { picked: noReference(candidates.length, checked, unchecked, lacking), index: -1 };
666
+ }
667
+ async function allFits(fits) {
668
+ let seen = -1;
669
+ while (seen !== fits.length) {
670
+ seen = fits.length;
671
+ await Promise.all(fits);
672
+ }
673
+ return await Promise.all(fits);
674
+ }
675
+ async function chosenFitting(candidates, fits, choose, taken) {
676
+ const answered = await allFits(fits);
677
+ const fitted = answered.flatMap((fit, index) => {
678
+ const candidate = candidates[index];
679
+ return candidate && fit.ok && fitsIdea(fit.fit) ? [{ index, candidate, fit: fit.fit }] : [];
680
+ });
681
+ const fresh = taken ? fitted.filter((f) => !isTakenReference(f.candidate, taken)) : [];
682
+ const fitting = fresh.length > 0 ? fresh : fitted;
683
+ if (fitting.length < 2) return await firstFitting(candidates, fits);
684
+ const chosen = await choose(
685
+ fitting.map((f) => ({ adId: String(f.candidate.ad_id), candidate: f.candidate, fit: f.fit }))
686
+ ).catch(() => null);
687
+ const kept = chosen && fitting[chosen.order[0] ?? 0] || fitting[0];
688
+ if (!kept) return await firstFitting(candidates, fits);
689
+ const ordered = chosen ? chosen.order.flatMap((i) => fitting[i] ?? []) : fitting;
690
+ const passed = passedOver(candidates, answered);
691
+ return {
692
+ picked: {
693
+ ...pickedOf(kept.candidate, kept.fit, kept.index, chosen?.why),
694
+ board: [kept, ...ordered.filter((f) => f !== kept)].map((f) => boardAdOf(f.candidate)),
695
+ ...chosen?.takes ? { takes: chosen.takes } : {},
696
+ ...chosen?.avoid ? { avoid: chosen.avoid } : {},
697
+ ...passed.length > 0 ? { passed } : {}
698
+ },
699
+ index: kept.index
700
+ };
701
+ }
702
+ var boardAdOf = (c) => ({
703
+ adId: String(c.ad_id),
704
+ ...c.advertiser ? { advertiser: c.advertiser } : {},
705
+ ...c.media_url ? { mediaUrl: c.media_url } : {}
706
+ });
707
+ var lackingText = (lacking) => {
708
+ const named = [...new Set(lacking.map((l) => l.trim()).filter(Boolean))].slice(0, 3);
709
+ return named.length > 0 ? ` (they won on ${named.join(", ")})` : "";
710
+ };
711
+ var searchUnavailable = () => ({
712
+ code: "REFERENCE_SEARCH_UNAVAILABLE",
713
+ message: "The ads library could not search for this ad's category just now.",
714
+ fix: "Run make again in a minute: every ad is built on a proven one. Only when the person asks for an ad without one, pass --from-idea."
715
+ });
716
+ var slowReference = () => ({
717
+ code: "REFERENCE_SLOW",
718
+ message: `Finding and checking a proven ad took longer than ${REFERENCE_MS / 1e3} s.`,
719
+ fix: "Run make again: the searches and checks already made are kept, so it goes further each time. Or pass --reference <adId> for one you looked at (`baker winning-ads search`). Never start the ad from the idea for this."
720
+ });
721
+ function startsFromIdea(failure) {
722
+ return failure.code === "FROM_IDEA" || failure.code === "NO_REFERENCE_FITS";
723
+ }
724
+ function noReference(found, checked, unchecked, lacking = []) {
725
+ if (found > 0 && checked === 0 && unchecked) {
726
+ return {
727
+ code: "FIT_UNAVAILABLE",
728
+ message: `Could not check whether the references fit (${unchecked.message})`,
729
+ fix: "Run make again in a moment. To build now, pass --reference <adId> with one you looked at yourself (`baker winning-ads search`)."
730
+ };
731
+ }
732
+ return {
733
+ code: "NO_REFERENCE_FITS",
734
+ message: found === 0 ? "The library has no proven ad in this idea's format." : `None of the ${found} proven ads checked wins on something this company has, for a viewer who would stop for it${lackingText(lacking)}.`,
735
+ fix: "Nothing to do to go on: the ad starts from the idea. To build on a proven ad instead, pass --reference <adId> for one you looked at (`baker winning-ads search --format static` with what the company sells or who the ad is for). Do not stop the batch: build the other ideas."
736
+ };
737
+ }
738
+ function alreadyWritten(promptJson, slug, draft) {
739
+ if (promptJson === null || promptJson === void 0) return null;
740
+ if (draft !== void 0 && sameJson(promptJson, draft)) return null;
741
+ try {
742
+ if (unwrittenProblems(readAdSpec(promptJson)).length > 0) return null;
743
+ } catch {
744
+ }
745
+ return {
746
+ code: "ALREADY_MADE",
747
+ message: `"${slug}" is already made and its ad is written: building it again would replace that ad with placeholders.`,
748
+ fix: `To change this ad, edit src/creatives/${slug}/prompt.json and run \`baker canvas run\` on it. For another ad of the same idea, run make again with --slug <new-slug>.`
749
+ };
750
+ }
751
+ function sameJson(parsed, text3) {
752
+ try {
753
+ return JSON.stringify(parsed) === JSON.stringify(JSON.parse(text3));
754
+ } catch {
755
+ return false;
756
+ }
757
+ }
758
+ var draftPath = (root, slug) => path2.join(root, "canvas", ".cache", "make-drafts", `${slug}.json`);
759
+ function castRebuild(definition, args) {
760
+ if (!definition || !args.avatar || args.reference || args.fromIdea) return null;
761
+ const { sourceAdId, sourcePlatform } = parseDefinitionSourceFields(definition);
762
+ return sourceAdId ? { adId: sourceAdId, platform: sourcePlatform ?? "meta" } : null;
763
+ }
764
+ function ideaRecast(definition, args) {
765
+ if (!definition || !args.avatar || args.reference || args.fromIdea) return false;
766
+ return !parseDefinitionSourceFields(definition).sourceAdId;
767
+ }
768
+ function castFlags(avatar) {
769
+ const handles = (avatar ?? "").split(/[\s,]+/).map((h) => h.replace(/^@/, "").toLowerCase()).filter(Boolean);
770
+ return handles.length > 0 ? ["--avatar", handles.join(",")] : [];
771
+ }
772
+ var flag = (value) => typeof value === "string" && value ? value : void 0;
773
+ async function loadIdea(root, ideaId) {
774
+ const { ideas, unreadable } = await readIdeas(root);
775
+ const bad = unreadable.find((u) => u.id === ideaId);
776
+ if (bad) {
777
+ fail({
778
+ code: "INVALID_IDEA",
779
+ message: bad.problems.join("; "),
780
+ fix: `Fix ${IDEAS_DIR}/${ideaId}.md, then run make again.`
781
+ });
782
+ }
783
+ const idea = ideas.find((i) => i.id === ideaId);
784
+ if (!idea) {
785
+ fail({
786
+ code: "NOT_FOUND",
787
+ message: `No idea "${ideaId}" in ${IDEAS_DIR}/.`,
788
+ fix: `Ideas on file: ${ideas.map((i) => i.id).join(", ") || "none"}. Write it there first.`
789
+ });
790
+ }
791
+ const [insights, knowledge, personas, creatives, products] = await Promise.all([
792
+ readInsights(root),
793
+ readKnowledgeCorpus(root),
794
+ readPersonaIds(root),
795
+ readCreativeRecords(root),
796
+ storeProductReads([idea.product])
797
+ ]);
798
+ const check = checkIdeas({ ideas, insights, knowledge, personas, products, ...coverageOf(ideas, creatives) }).find(
799
+ (c) => c.id === idea.id
800
+ );
801
+ if (check && check.problems.length > 0) {
802
+ fail({
803
+ code: "IDEA_HAS_PROBLEMS",
804
+ message: check.problems.join("; "),
805
+ fix: "Fix the idea file and run `baker creatives ideas` again."
806
+ });
807
+ }
808
+ const product = idea.product ? products.get(idea.product) : void 0;
809
+ return { idea, check, productRecord: product && "record" in product ? product.record : "" };
810
+ }
811
+ async function scaffoldIdea(root, idea, args, slug, temperature, whereFlags) {
812
+ const viewerFlags = [
813
+ ...args.adset ? ["--target-adset", args.adset] : ["--viewer-temperature", temperature],
814
+ ...whereFlags
815
+ ];
816
+ if (isVideoIdea(idea)) {
817
+ if (!args.spec) {
818
+ fail({
819
+ code: "SPEC_REQUIRED",
820
+ message: `"${idea.id}" is a video idea (${idea.format}): it is built from its beats.`,
821
+ fix: `Write the beats spec (one spoken line plus one shot each; references/video-flow.md), message first, then: baker creatives make ${idea.id} --spec <file>.`
822
+ });
823
+ }
824
+ return {
825
+ scaffold: await runBaker(["canvas", "scaffold-ad", "--spec", args.spec, "--slug", slug, ...viewerFlags]),
826
+ reference: null
827
+ };
828
+ }
829
+ return await scaffoldStatic(root, idea, args, slug, temperature, [...viewerFlags, ...castFlags(args.avatar)]);
830
+ }
831
+ async function checkedByHand(adId, platform, deps) {
832
+ const byHand = handPickedReference(adId, platform);
833
+ if ("code" in byHand) return byHand;
834
+ const fit = await deps.fit(byHand.platform, byHand.adId).catch(() => null);
835
+ if (!fit?.ok) return byHand;
836
+ if (!fitsIdea(fit.fit)) {
837
+ return {
838
+ code: "REFERENCE_UNFIT",
839
+ message: `The proven ad ${adId} does not fit this idea: ${whyUnfit(fit.fit)}.`,
840
+ fix: "Pick another proven ad (`baker winning-ads search`), or run make without --reference to build from the idea."
841
+ };
842
+ }
843
+ const layers = fit.fit.why_it_wins;
844
+ return { ...byHand, why: [layers.disguise, layers.trigger, layers.logic].filter(Boolean).join("; "), fit: fit.fit };
845
+ }
846
+ async function chooseReference(args, deps, pick) {
847
+ if (args.reference) {
848
+ const byHand = await checkedByHand(args.reference, args.referencePlatform, deps);
849
+ if ("code" in byHand) fail(byHand);
850
+ return byHand;
851
+ }
852
+ if (args.fromIdea) return { code: "FROM_IDEA", message: "Asked to start from the idea." };
853
+ return await pick();
854
+ }
855
+ async function referenceTarget(root, idea) {
856
+ const market = marketFromCompanyDoc(await readFile2(path2.join(root, "COMPANY.md"), "utf8").catch(() => ""));
857
+ const personas = await readPersonas(root).catch(() => []);
858
+ const [found, company, context] = await Promise.all([
859
+ referenceBriefFor(root, {
860
+ message: idea.message,
861
+ who: personaWho(idea, personas),
862
+ ...idea.shows ? { shows: idea.shows } : {}
863
+ }),
864
+ readCompanyReading(root),
865
+ readCreativeContext(root, { kind: "static" })
866
+ ]);
867
+ const brief = found && { ...found, avoid: avoidOf(context.rules) };
868
+ const category = company?.category ?? company?.sells;
869
+ const where = referenceWhereOf(brief, {
870
+ ...market && market.country !== "global" ? { country: market.country } : {},
871
+ ...category ? { category } : {},
872
+ audience: audienceQuery(idea, personas)
873
+ });
874
+ return { market, personas, brief, where };
875
+ }
876
+ async function takenReferencesIn(root, slug) {
877
+ const creatives = path2.join(root, "src", "creatives");
878
+ const names = await readdir(creatives).catch(() => []);
879
+ const sources = await Promise.all(
880
+ names.filter((name) => name !== slug && !name.startsWith("_")).map(
881
+ (name) => readFile2(path2.join(creatives, name, "_definition.md"), "utf8").then(
882
+ parseDefinitionSourceFields,
883
+ () => ({})
884
+ )
885
+ )
886
+ );
887
+ return {
888
+ adIds: new Set(sources.flatMap((s) => s.sourceAdId ? [s.sourceAdId] : [])),
889
+ advertiserIds: new Set(sources.flatMap((s) => s.sourceAdvertiserId ? [s.sourceAdvertiserId] : []))
890
+ };
891
+ }
892
+ async function scaffoldStatic(root, idea, args, slug, temperature, viewerFlags) {
893
+ const onReference = (c, signal) => runBaker(
894
+ [
895
+ "canvas",
896
+ "scaffold-static-ad",
897
+ "--source-ad-id",
898
+ c.adId,
899
+ "--source-platform",
900
+ c.platform,
901
+ ...c.advertiserId ? ["--source-advertiser-id", c.advertiserId] : [],
902
+ "--slug",
903
+ slug,
904
+ "--title",
905
+ idea.message.slice(0, 120),
906
+ ...viewerFlags
907
+ ],
908
+ signal
909
+ );
910
+ const dir = path2.join(root, "src", "creatives", slug);
911
+ const fresh = !await stat(dir).catch(() => null);
912
+ const budget = AbortSignal.timeout(REFERENCE_MS);
913
+ const { market, personas, brief, where } = await referenceTarget(root, idea);
914
+ const bet = fitBetOf(
915
+ idea,
916
+ personas,
917
+ await readInsights(root).catch(() => []),
918
+ market ? describeMarket(market) : void 0
919
+ );
920
+ const deps = {
921
+ ...liveReferenceDeps(root, bet, rankedForOf(brief, where, bet), brief?.brands),
922
+ taken: await takenReferencesIn(root, slug)
923
+ };
924
+ const definition = await readFile2(path2.join(dir, "_definition.md"), "utf8").catch(() => null);
925
+ const recast = castRebuild(definition, args);
926
+ const fromIdea = args.fromIdea || ideaRecast(definition, args);
927
+ const reference = await chooseReference({ ...args, fromIdea }, deps, async () => {
928
+ if (recast) {
929
+ const kept = await checkedByHand(recast.adId, recast.platform, deps);
930
+ if ("code" in kept) fail(kept);
931
+ return kept;
932
+ }
933
+ return await pickReference(
934
+ root,
935
+ referenceSearchesFor(idea, temperature, where).map(buildSearchBody),
936
+ deps,
937
+ fresh ? (c, signal) => onReference(c, AbortSignal.any([signal, budget])) : void 0,
938
+ budget
939
+ );
940
+ });
941
+ if ("discarded" in reference && reference.discarded) {
942
+ await reference.discarded.catch(() => void 0);
943
+ await rm(dir, { recursive: true, force: true });
944
+ }
945
+ if ("code" in reference) return await fromIdeaWhenNoneFits(reference, idea, slug, viewerFlags);
946
+ const prepared = "prepared" in reference ? await reference.prepared?.catch(() => null) : null;
947
+ if (prepared?.ok !== true && budget.aborted && !args.reference) {
948
+ await rm(dir, { recursive: true, force: true });
949
+ fail(slowReference());
950
+ }
951
+ const scaffold = prepared?.ok === true ? prepared : await onReference(reference);
952
+ if (scaffold.ok !== true && scaffold.error?.code === "avatar") {
953
+ fail(scaffoldFailure(scaffold));
954
+ }
955
+ const unbuilt = unbuiltReference(scaffold, { adId: reference.adId, byHand: Boolean(args.reference || recast) });
956
+ if (!unbuilt) return await withKeptConcept(dir, slug, scaffold, reference);
957
+ if (fresh) await rm(dir, { recursive: true, force: true });
958
+ return { scaffold: await scaffoldFromIdea(idea, slug, viewerFlags), reference: null, fromIdea: unbuilt };
959
+ }
960
+ async function fromIdeaWhenNoneFits(failure, idea, slug, viewerFlags) {
961
+ if (!startsFromIdea(failure)) fail(failure);
962
+ return { scaffold: await scaffoldFromIdea(idea, slug, viewerFlags), reference: null, fromIdea: failure.message };
963
+ }
964
+ function handPickedReference(adId, platform) {
965
+ const resolved = resolveSourcePlatform(platform);
966
+ if (!resolved.ok) {
967
+ return {
968
+ code: "INVALID_ARGUMENT",
969
+ message: resolved.message.replace("--source-platform", "--platform"),
970
+ fix: "Pass the platform `baker winning-ads search` names beside the ad."
971
+ };
972
+ }
973
+ return { adId, platform: resolved.platform, why: "chosen by hand", tried: 0 };
974
+ }
975
+ function unbuiltReference(scaffold, reference) {
976
+ if (scaffold.ok === true || reference.byHand) return null;
977
+ return `The proven ad ${reference.adId} could not be read to build on.`;
978
+ }
979
+ async function withKeptConcept(dir, slug, scaffold, reference) {
980
+ if (scaffold.ok !== true || !reference.fit) return { scaffold, reference };
981
+ const unseeded = await seedConcept(dir, slug, conceptFromFit(reference.fit, reference.adId));
982
+ return { scaffold, reference, ...unseeded ? { conceptUnseeded: unseeded } : {} };
983
+ }
984
+ async function seedConcept(dir, slug, seeded) {
985
+ const promptPath = path2.join(dir, "prompt.json");
986
+ const canvasPath = path2.join(dir, `${slug}.canvas.json`);
987
+ let prompt;
988
+ try {
989
+ prompt = withFitConcept(await readFile2(promptPath, "utf8"), seeded);
990
+ await writeFile2(promptPath, prompt, "utf8");
991
+ } catch (e) {
992
+ return `prompt.json could not take the proven ad's concept (${e instanceof Error ? e.message : String(e)})`;
993
+ }
994
+ try {
995
+ const spec = JSON.parse(prompt);
996
+ const { canvas, rerouted } = reroutedOnSpec(JSON.parse(await readFile2(canvasPath, "utf8")), spec);
997
+ const briefed = projectStaticBriefs(canvas, spec) + projectAdaptBriefs(canvas, spec) + projectFormatBriefs(canvas, spec);
998
+ if (rerouted || briefed > 0) {
999
+ await writeFile2(canvasPath, `${JSON.stringify(canvas, null, 2)}
1000
+ `, "utf8");
1001
+ }
1002
+ } catch {
1003
+ }
1004
+ return null;
1005
+ }
1006
+ async function scaffoldFromIdea(idea, slug, viewerFlags) {
1007
+ const dir = await mkdtemp(path2.join(tmpdir(), "idea-spec-"));
1008
+ const specPath = path2.join(dir, "prompt.json");
1009
+ await writeFile2(specPath, JSON.stringify(ideaSpec(idea, idea.who.replace(/[-_]/g, " ")), null, 2), "utf8");
1010
+ try {
1011
+ return await runBaker([
1012
+ "canvas",
1013
+ "scaffold-static-ad",
1014
+ "--spec",
1015
+ specPath,
1016
+ "--slug",
1017
+ slug,
1018
+ "--title",
1019
+ idea.message.slice(0, 120),
1020
+ ...viewerFlags
1021
+ ]);
1022
+ } finally {
1023
+ await rm(dir, { recursive: true, force: true });
1024
+ }
1025
+ }
1026
+ function referencePictureUrl(canvas) {
1027
+ const nodes = canvas?.nodes;
1028
+ if (!Array.isArray(nodes)) return null;
1029
+ const original = nodes.find(
1030
+ (n) => n?.id === "original"
1031
+ );
1032
+ const url = original?.params?.url;
1033
+ return typeof url === "string" && /^https?:\/\//.test(url) ? url : null;
1034
+ }
1035
+ async function saveReferencePicture(root, canvasPath, adId) {
1036
+ const url = await readFile2(canvasPath, "utf8").then(
1037
+ (text3) => referencePictureUrl(JSON.parse(text3)),
1038
+ () => null
1039
+ );
1040
+ return url ? await savePicture(root, url, adId) : null;
1041
+ }
1042
+ async function savePicture(root, url, adId) {
1043
+ try {
1044
+ const response = await fetch(url, { signal: AbortSignal.timeout(2e4) });
1045
+ if (!response.ok) return null;
1046
+ const ext = path2.extname(new URL(url).pathname).toLowerCase() || ".jpg";
1047
+ const relative = path2.join("canvas", "references", `${adId}${ext}`);
1048
+ await mkdir2(path2.join(root, "canvas", "references"), { recursive: true });
1049
+ await writeFile2(path2.join(root, relative), Buffer.from(await response.arrayBuffer()));
1050
+ return relative;
1051
+ } catch {
1052
+ return null;
1053
+ }
1054
+ }
1055
+ async function withPictures(root, canvasPath, reference) {
1056
+ const picture = await saveReferencePicture(root, canvasPath, reference.adId);
1057
+ const board = reference.board ? await savedBoard(root, reference.board, reference.adId, picture) : void 0;
1058
+ return { ...reference, ...picture ? { picture } : {}, ...board ? { board } : {} };
1059
+ }
1060
+ async function savedBoard(root, board, keptId, keptPicture) {
1061
+ return await Promise.all(
1062
+ board.map(async ({ adId, advertiser, mediaUrl }) => {
1063
+ const picture = adId === keptId ? keptPicture : mediaUrl ? await savePicture(root, mediaUrl, adId) : null;
1064
+ return { adId, ...advertiser ? { advertiser } : {}, ...picture ? { picture } : {} };
1065
+ })
1066
+ );
1067
+ }
1068
+ async function recordIdea(root, slug, idea, evidence, productRecord, reference) {
1069
+ const dir = path2.join(root, "src", "creatives", slug);
1070
+ const definitionPath = path2.join(dir, "_definition.md");
1071
+ const definition = await readFile2(definitionPath, "utf8").catch(() => null);
1072
+ if (definition !== null) {
1073
+ const recorded = setDefinitionFields(definition, { ...definitionFieldsOf(idea, evidence) });
1074
+ const thinkingReference = reference ? await withPictures(root, path2.join(dir, `${slug}.canvas.json`), reference) : null;
1075
+ const inventory = await castInventory(root, idea.message, await companyName(root));
1076
+ const castRules = (await readCreativeContext(root, { kind: idea.format?.startsWith("video_") ? "video" : "static" })).rules.filter((r) => r.applies === "cast" || r.applies === "picture" || r.applies === "logo").map((r) => ({ id: r.id, strength: r.strength, text: r.text }));
1077
+ const audience = memeRegister(await readCompanyReading(root).catch(() => null));
1078
+ await writeFile2(
1079
+ definitionPath,
1080
+ withThinking(
1081
+ recorded,
1082
+ thinkingOutline({
1083
+ idea,
1084
+ reference: thinkingReference,
1085
+ inventory,
1086
+ rules: castRules,
1087
+ ...audience ? { audience } : {}
1088
+ })
1089
+ ),
1090
+ "utf8"
1091
+ );
1092
+ }
1093
+ const promptPath = path2.join(dir, "prompt.json");
1094
+ const prompt = isVideoIdea(idea) ? null : await readFile2(promptPath, "utf8").catch(() => null);
1095
+ if (prompt !== null) {
1096
+ const personas = await readPersonas(root).catch(() => []);
1097
+ const written = (() => {
1098
+ try {
1099
+ return setSpecViewer(setSpecMessage(prompt, idea.message), idea, personas);
1100
+ } catch {
1101
+ return null;
1102
+ }
1103
+ })();
1104
+ if (written !== null) await writeFile2(promptPath, written, "utf8").catch(() => void 0);
1105
+ }
1106
+ const unsourcedCopy = prompt === null ? [] : await draftedClaims(root, prompt, productRecord);
1107
+ await keepDraft(root, slug, promptPath);
1108
+ if (idea.status === "idea") {
1109
+ const ideaPath = path2.join(root, IDEAS_DIR, `${idea.id}.md`);
1110
+ await writeFile2(ideaPath, setDefinitionFields(await readFile2(ideaPath, "utf8"), { status: "built" }), "utf8");
1111
+ }
1112
+ await runBaker(["canvas", "sync-definition", dir]);
1113
+ return { dir, unsourcedCopy };
1114
+ }
1115
+ async function keepDraft(root, slug, promptPath) {
1116
+ const written = await readFile2(promptPath, "utf8").catch(() => null);
1117
+ if (written === null) return;
1118
+ await mkdir2(path2.dirname(draftPath(root, slug)), { recursive: true });
1119
+ await writeFile2(draftPath(root, slug), written, "utf8");
1120
+ }
1121
+ async function draftedClaims(root, prompt, productRecord) {
1122
+ const [knowledge, insights] = await Promise.all([readKnowledgeCorpus(root), readInsights(root)]);
1123
+ const own = insights.filter(sourcesClaims).map((i) => i.quote);
1124
+ try {
1125
+ return unsourcedCopyLines(prompt, `${knowledge}
1126
+ ${own.join("\n")}
1127
+ ${productRecord}`);
1128
+ } catch {
1129
+ return [];
1130
+ }
1131
+ }
1132
+ function makeArgsOf(args) {
1133
+ const opts = {};
1134
+ for (const key of ["slug", "adset", "reference", "platforms", "formats", "spec", "series", "avatar"]) {
1135
+ const value = flag(args[key]);
1136
+ if (value) opts[key] = value;
1137
+ }
1138
+ const referencePlatform = flag(args["reference-platform"]) ?? (opts.reference ? flag(args.platform) : void 0);
1139
+ if (referencePlatform) opts.referencePlatform = referencePlatform;
1140
+ if (flag(args.platform) && !opts.reference) {
1141
+ return {
1142
+ code: "INVALID_ARGUMENT",
1143
+ message: `--platform ${flag(args.platform)} is ambiguous: it named the library of --reference.`,
1144
+ fix: "--platforms says where the ad runs (baker creatives make <idea> --platforms linkedin); --reference-platform says which library the reference is in."
1145
+ };
1146
+ }
1147
+ if (args["from-idea"] === true) opts.fromIdea = true;
1148
+ return opts;
1149
+ }
1150
+ function deliveryFlags(delivery, args, kind = "static") {
1151
+ const sizes = args.formats && kind === "static" ? ["--formats", args.formats] : [];
1152
+ return ["--platforms", delivery.platforms.join(","), ...sizes];
1153
+ }
1154
+ function scaffoldFailure(scaffold) {
1155
+ const error = scaffold.error ?? {};
1156
+ return {
1157
+ code: error.code ?? "SCAFFOLD_FAILED",
1158
+ message: error.message ?? "The creative could not be scaffolded.",
1159
+ ...error.fix ? { fix: error.fix } : {}
1160
+ };
1161
+ }
1162
+ var CARRY_WORDS = {
1163
+ whole_ad: "the whole ad (its disguise, layout and hook)",
1164
+ layout: "its layout",
1165
+ hook: "its hook",
1166
+ angle: "its angle"
1167
+ };
1168
+ function builtOnHint(reference) {
1169
+ const tell = "Tell the person which proven ad this builds on";
1170
+ const ours = "the words, brand, people and claims stay ours.";
1171
+ if (!reference.fit) {
1172
+ return `Built on proven ad ${reference.adId}, the one chosen for it; no check read what made it win. The canvas shows that ad as \`original\`. ${tell}; ${ours}`;
1173
+ }
1174
+ const carried = CARRY_WORDS[reference.fit.carry ?? "whole_ad"];
1175
+ const why = reference.fit.carry_why ? ` (${reference.fit.carry_why})` : "";
1176
+ const won = reference.why ? ` It won on: ${reference.why}.` : "";
1177
+ const chosen = reference.preferred ? ` Chosen over the other proven ads that fit because ${reference.preferred.replace(/\.$/, "")}.` : "";
1178
+ const passed = (reference.passed ?? []).map(
1179
+ (p) => ` Passed over ${p.advertiser ? `${p.advertiser}'s proven ad` : "proven ad"} ${p.adId}: ${p.why.replace(/\.$/, "")}.`
1180
+ ).join("");
1181
+ const whyNot = passed ? ", and in one line why not the ones passed over" : "";
1182
+ const byHand = reference.tried === 0 ? ", the one chosen for it" : "";
1183
+ return `Built on proven ad ${reference.adId}${byHand}: it carries ${carried}${why}.${won}${chosen}${passed} The canvas shows that ad as \`original\`. ${tell} and what it takes from it${whyNot}; ${ours}`;
1184
+ }
1185
+ var unseededHint = (reference, slug, why) => `${why}, so the render does not see proven ad ${reference.adId} yet. \`baker winning-ads fit ${reference.adId} --platform ${reference.platform} --full\` prints the check already made (free): write its \`read\` into src/creatives/${slug}/prompt.json as \`concept\`, with \`reference_ad_id: "${reference.adId}"\`.`;
1186
+ function thinkFirstHint(made) {
1187
+ const basis = made.reference ? "what the proven ad is and why it won" : "why this bet should work";
1188
+ const board = (made.reference?.board?.length ?? 0) > 1 ? " what to take from which of the proven ads that fit (the hook of one, the proof of another)," : "";
1189
+ const survives = made.reference ? " what of it must survive," : "";
1190
+ const read = made.reference ? "first open the proven ads' pictures the outline names and read .claude/skills/creative-canvas-ads/references/reading-a-winner.md, then " : "";
1191
+ const recast = made.reference ? ` When the cast is an Avatar the canvas was not built with, \`baker creatives make ${made.idea.id}${made.slug === made.idea.id ? "" : ` --slug ${made.slug}`} --avatar <handle>\` rebuilds it on the same proven ad before you write prompt.json.` : "";
1192
+ return `Think first: ${read}answer every question under "Thinking" in src/creatives/${made.slug}/_definition.md before you touch prompt.json (how: .claude/skills/creative-canvas-ads/references/creative-intent.md): ${basis},${board} whether it fits our viewer, our hook, who appears and what of the product shows (decided from what the company has, listed there: its Avatars, real customers, founder, product pictures, logos),${survives} and the plan.${recast} This thinking decides the ad; the run renders nothing while a question is open or the cast is not ours.`;
1193
+ }
1194
+ function writeTheAdHint(made, quote) {
1195
+ const words = `say the message in the customer's words${quote ? ` ("${quote.slice(0, 80)}")` : ""}; keep \`message\` as it is`;
1196
+ if (made.idea.format?.startsWith("video_")) {
1197
+ return `Then write the ad from "The plan": its scene files and prompt.json carry every decision (the render never reads the definition); ${words}.`;
1198
+ }
1199
+ const drafted = made.reference ? " The drafted lines are the reference's: keep one only if the Knowledge says it (badges, ratings and guarantees too)." : "";
1200
+ return `Then write the ad from "The plan" in src/creatives/${made.slug}/prompt.json, every decision in its fields (the render never reads the definition); ${words}.${drafted} Read static-image-flow.md first. Inspect existing Avatars before creating an actor. Keep interfaces native and requested overlays separate. Preserve plausible anatomy, device proportions, scale, perspective and support; reflow text rather than distort it. Honour the requested sizes.`;
1201
+ }
1202
+ function makeEnvelope(made) {
1203
+ const quote = made.check?.quote;
1204
+ return {
1205
+ ok: true,
1206
+ data: {
1207
+ creative: made.slug,
1208
+ idea: made.idea.id,
1209
+ message: made.idea.message,
1210
+ evidence: made.check?.evidence ?? "explore",
1211
+ ...quote ? { customer_quote: quote } : {},
1212
+ ...made.fromIdea ? { built_from: "idea" } : {},
1213
+ ...made.reference ? {
1214
+ reference: {
1215
+ ad_id: made.reference.adId,
1216
+ platform: made.reference.platform,
1217
+ why_it_wins: made.reference.why,
1218
+ ...made.reference.fit?.carry ? { carry: made.reference.fit.carry } : {},
1219
+ ...made.reference.preferred ? { chosen_because: made.reference.preferred } : {}
1220
+ }
1221
+ } : {},
1222
+ viewer: made.viewer,
1223
+ ...made.delivery ? { platforms: made.delivery.platforms, lead: made.delivery.lead } : {},
1224
+ ...made.shape ? { master_shape: made.shape } : {},
1225
+ canvas_path: made.canvasPath
1226
+ },
1227
+ hints: [
1228
+ ...made.reference ? [builtOnHint(made.reference)] : [],
1229
+ ...made.reference && made.conceptUnseeded ? [unseededHint(made.reference, made.slug, made.conceptUnseeded)] : [],
1230
+ ...made.fromIdea ? [
1231
+ `${made.fromIdea} So this ad starts from the idea: write the scene and every line of copy in src/creatives/${made.slug}/prompt.json (a placeholder refuses to run). Tell the person this ad is not built on a proven ad, and why, in plain words.`
1232
+ ] : [],
1233
+ ...made.unsourcedCopy.length > 0 ? [
1234
+ `Rewrite before running: ${made.unsourcedCopy.map((l) => JSON.stringify(l)).join(", ")} claim a figure nothing the company wrote holds (the reference's promise, not ours).`
1235
+ ] : [],
1236
+ thinkFirstHint(made),
1237
+ writeTheAdHint(made, quote),
1238
+ SPEC_SHAPES_HINT,
1239
+ `Then: baker canvas run ${made.canvasPath} (it validates and asks the viewer itself: nothing to run before it).`,
1240
+ // The scaffold's own next steps name a separate validate; the run does it (dev, Oct 2026: five validates before one run).
1241
+ ...made.scaffoldHints.filter((h) => !/canvas (?:validate|viewer-check)/.test(h)).filter((h) => !(made.reference?.fit && h.startsWith(NO_FIT_HINT))).slice(0, 4)
1242
+ ]
1243
+ };
1244
+ }
1245
+ function ideaPlatforms(idea) {
1246
+ if (idea.platforms && idea.platforms.length > 0) return idea.platforms;
1247
+ const named = platformsNamedIn([idea.message, idea.who, idea.why, idea.format].join(" "));
1248
+ return named.length > 0 ? named : void 0;
1249
+ }
1250
+ async function makeDelivery(root, idea, args, slug) {
1251
+ const definition = await readFile2(path2.join(root, "src", "creatives", slug, "_definition.md"), "utf8").catch(
1252
+ () => null
1253
+ );
1254
+ const flags = { platforms: args.platforms, formats: args.formats, "target-adset": args.adset };
1255
+ const resolved = await scaffoldDelivery(flags, definition, ideaPlatforms(idea));
1256
+ const video = isVideoIdea(idea);
1257
+ if (resolved.ok)
1258
+ return { delivery: resolved.delivery, flags: deliveryFlags(resolved.delivery, args, video ? "video" : "static") };
1259
+ if (video && resolved.error.code === "platform_required") return { flags: [] };
1260
+ return fail({ code: resolved.error.code.toUpperCase(), message: resolved.error.message, fix: resolved.error.fix });
1261
+ }
1262
+ async function makeInSeries(root, idea, slug, lead, evidence) {
1263
+ if (isVideoIdea(idea)) {
1264
+ fail({
1265
+ code: "SERIES_STATIC_ONLY",
1266
+ message: `"${idea.id}" is a video idea: a series repeats one static ad with other words.`,
1267
+ fix: `Make it on its own: baker creatives make ${idea.id} --spec <beats file>.`
1268
+ });
1269
+ }
1270
+ const made = await makeSeriesAd(root, idea, slug, lead, evidence, {
1271
+ sync: (dir) => runBaker(["canvas", "sync-definition", dir, "--title"]),
1272
+ chatId: optionalChatId() ?? null
1273
+ });
1274
+ if ("code" in made) fail(made);
1275
+ const leadDefinition = await readFile2(path2.join(root, "src", "creatives", lead, "_definition.md"), "utf8").catch(
1276
+ () => ""
1277
+ );
1278
+ const leadPlatforms = parseDefinitionDelivery(leadDefinition)?.platforms;
1279
+ writeJson(
1280
+ seriesMadeEnvelope(
1281
+ { ...made, canvasPath: path2.relative(root, made.canvasPath), ...leadPlatforms ? { leadPlatforms } : {} },
1282
+ idea
1283
+ )
1284
+ );
1285
+ }
1286
+ var makeCommand = defineCommand({
1287
+ meta: { name: "make", description: DESCRIPTION },
1288
+ args: ARGS,
1289
+ async run({ args }) {
1290
+ const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
1291
+ const opts = makeArgsOf(args);
1292
+ if ("code" in opts) return fail(opts);
1293
+ const { idea, check, productRecord } = await loadIdea(root, String(args.idea));
1294
+ const slug = opts.slug ?? idea.id;
1295
+ const written = await readFile2(path2.join(root, "src", "creatives", slug, "prompt.json"), "utf8").then(
1296
+ (text3) => {
1297
+ try {
1298
+ return JSON.parse(text3);
1299
+ } catch {
1300
+ return {};
1301
+ }
1302
+ },
1303
+ (err) => err.code === "ENOENT" ? null : {}
1304
+ );
1305
+ const draft = await readFile2(draftPath(root, slug), "utf8").catch(() => void 0);
1306
+ const refused = alreadyWritten(written, slug, draft);
1307
+ if (refused) fail(refused);
1308
+ if (opts.series) {
1309
+ await makeInSeries(root, idea, slug, opts.series, check?.evidence ?? "explore");
1310
+ return;
1311
+ }
1312
+ const { delivery, flags } = await makeDelivery(root, idea, opts, slug);
1313
+ const temperature = await viewerTemperature(root, opts.adset, idea.awareness);
1314
+ const { scaffold, reference, fromIdea, conceptUnseeded } = await scaffoldIdea(
1315
+ root,
1316
+ idea,
1317
+ opts,
1318
+ slug,
1319
+ temperature,
1320
+ flags
1321
+ );
1322
+ if (scaffold.ok !== true) fail(scaffoldFailure(scaffold));
1323
+ const { dir, unsourcedCopy } = await recordIdea(
1324
+ root,
1325
+ slug,
1326
+ idea,
1327
+ check?.evidence ?? "explore",
1328
+ productRecord,
1329
+ reference
1330
+ );
1331
+ const canvasPath = String(scaffold.canvas_path ?? path2.join(dir, `${slug}.canvas.json`));
1332
+ const shape = recordedShape(await readFile2(canvasPath, "utf8").then(JSON.parse, () => null));
1333
+ writeJson(
1334
+ makeEnvelope({
1335
+ slug,
1336
+ idea,
1337
+ check,
1338
+ reference,
1339
+ ...fromIdea ? { fromIdea } : {},
1340
+ ...conceptUnseeded ? { conceptUnseeded } : {},
1341
+ viewer: opts.adset ? { adset: opts.adset } : { temperature },
1342
+ canvasPath: path2.relative(root, canvasPath),
1343
+ scaffoldHints: Array.isArray(scaffold.hints) ? scaffold.hints : [],
1344
+ unsourcedCopy,
1345
+ ...delivery ? { delivery } : {},
1346
+ ...shape ? { shape } : {}
1347
+ })
1348
+ );
1349
+ }
1350
+ });
1351
+ export {
1352
+ alreadyWritten,
1353
+ castFlags,
1354
+ castRebuild,
1355
+ checkedByHand,
1356
+ deliveryFlags,
1357
+ handPickedReference,
1358
+ ideaPlatforms,
1359
+ ideaRecast,
1360
+ makeArgsOf,
1361
+ makeCommand,
1362
+ makeEnvelope,
1363
+ noReference,
1364
+ pickReference,
1365
+ referencePictureUrl,
1366
+ seedConcept,
1367
+ startsFromIdea,
1368
+ unbuiltReference
1369
+ };
1370
+ //# sourceMappingURL=make-MJ6JMU5T.js.map