@koda-sl/baker-cli 0.515.0-dev.957976bb7 → 0.516.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1112) hide show
  1. package/README.md +1 -19
  2. package/dist/account-BA3IO3AN.js +139 -0
  3. package/dist/account-LVJFHDA3.js +82 -0
  4. package/dist/account-PTJ6OK6Z.js +82 -0
  5. package/dist/account-assets-T3VVNBUG.js +290 -0
  6. package/dist/account-level-MPFWRPEK.js +611 -0
  7. package/dist/account-reads-5CXFLJ5Q.js +219 -0
  8. package/dist/account-users-B7DCJEFD.js +64 -0
  9. package/dist/account-writes-W5EOTS7P.js +68 -0
  10. package/dist/accounts-4R3MBNJG.js +76 -0
  11. package/dist/accounts-5WF7VE7J.js +115 -0
  12. package/dist/accounts-IQTEH4BX.js +701 -0
  13. package/dist/accounts-SV7JZUCC.js +80 -0
  14. package/dist/accounts-VPWCLF6X.js +114 -0
  15. package/dist/actions-D7OWCP36.js +55 -0
  16. package/dist/active-entities-WDPW7652.js +103 -0
  17. package/dist/activecampaign-LBS4M4C4.js +938 -0
  18. package/dist/activities-WGPHYSFU.js +75 -0
  19. package/dist/ad-group-writes-JL56DPC4.js +172 -0
  20. package/dist/ad-groups-62JPLIK3.js +70 -0
  21. package/dist/ad-writes-WSKLRGB7.js +176 -0
  22. package/dist/add-HFQB2NTU.js +107 -0
  23. package/dist/add-IUYE5H6A.js +305 -0
  24. package/dist/ads-F7AUJWK7.js +115 -0
  25. package/dist/ads-JFI56MZL.js +79 -0
  26. package/dist/ads-WCLT2RRR.js +48 -0
  27. package/dist/adsets-XH2ULWPM.js +182 -0
  28. package/dist/advertisers-XXM6POO5.js +123 -0
  29. package/dist/analytics-MJT6DS3L.js +447 -0
  30. package/dist/analytics-W7EUOI2Q.js +2437 -0
  31. package/dist/animate-2BMHZ4FM.js +480 -0
  32. package/dist/asset-writes-4X3AJQ4Q.js +50 -0
  33. package/dist/assign-2GQVQKKO.js +80 -0
  34. package/dist/audience-size-VHXBNNIB.js +76 -0
  35. package/dist/audience-writes-TXWPDJ2F.js +327 -0
  36. package/dist/audiences-B2LFKWIS.js +280 -0
  37. package/dist/audiences-MBBXWEOI.js +86 -0
  38. package/dist/audiences-YUG5JLL4.js +85 -0
  39. package/dist/audit-VT2WSZWM.js +154 -0
  40. package/dist/audit-WFXS5ELM.js +88 -0
  41. package/dist/autocomplete-ZYMHHV7E.js +114 -0
  42. package/dist/avatars-WZ2JDMHH.js +38 -0
  43. package/dist/bid-pricing-5F3GBSAI.js +103 -0
  44. package/dist/brand-IZTTBZII.js +22 -0
  45. package/dist/brief-OPQ7ICOY.js +543 -0
  46. package/dist/businesses-24JNY46Z.js +54 -0
  47. package/dist/campaign-groups-BDCDTMBF.js +99 -0
  48. package/dist/campaign-writes-73H7G3JM.js +168 -0
  49. package/dist/campaign-writes-FNVOHONL.js +176 -0
  50. package/dist/campaigns-FUDZUVHN.js +78 -0
  51. package/dist/campaigns-J65Q4WAZ.js +113 -0
  52. package/dist/campaigns-KXYGSH27.js +130 -0
  53. package/dist/campaigns-U5FQ2VWL.js +111 -0
  54. package/dist/canvas-IQ753Q2O.js +46 -0
  55. package/dist/capabilities-ZITW4RF7.js +147 -0
  56. package/dist/cards-NSNAFTEB.js +85 -0
  57. package/dist/catalog-TZLU5NWI.js +65 -0
  58. package/dist/catalogs-OWQGGCIO.js +130 -0
  59. package/dist/catalogs-VZYAATUR.js +781 -0
  60. package/dist/changes-RDWMNSTK.js +135 -0
  61. package/dist/chatgpt-27NEJVGF.js +47 -0
  62. package/dist/chats-AL2SYBJO.js +279 -0
  63. package/dist/check-U2YLRD6H.js +107 -0
  64. package/dist/chunk-2F4DELSV.js +200 -0
  65. package/dist/chunk-2GYCWRF3.js +170 -0
  66. package/dist/chunk-2L7F7KR4.js +61 -0
  67. package/dist/chunk-3YJNSUNF.js +131 -0
  68. package/dist/chunk-44ZRCSR7.js +228 -0
  69. package/dist/chunk-46YLDIQG.js +4254 -0
  70. package/dist/chunk-46YLDIQG.js.map +1 -0
  71. package/dist/chunk-4EDWXZ3I.js +363 -0
  72. package/dist/chunk-4FFBGR5L.js +66 -0
  73. package/dist/chunk-4UZUUSVL.js +592 -0
  74. package/dist/chunk-4XHCEYHI.js +831 -0
  75. package/dist/chunk-4Z6PVR3M.js +479 -0
  76. package/dist/chunk-5Y5FZV2W.js +122 -0
  77. package/dist/chunk-6DPSWLGY.js +324 -0
  78. package/dist/chunk-6DPSWLGY.js.map +1 -0
  79. package/dist/chunk-6HJXLGDV.js +392 -0
  80. package/dist/chunk-6KWEF6HF.js +8914 -0
  81. package/dist/chunk-6S5CWGDA.js +429 -0
  82. package/dist/chunk-6VYROVWO.js +494 -0
  83. package/dist/chunk-7HZSORAB.js +843 -0
  84. package/dist/chunk-A3IQAONL.js +638 -0
  85. package/dist/chunk-AQRXXC6E.js +319 -0
  86. package/dist/chunk-ARBXT73X.js +387 -0
  87. package/dist/chunk-ASRS37QE.js +710 -0
  88. package/dist/chunk-ASRS37QE.js.map +1 -0
  89. package/dist/chunk-BEZHQIEI.js +97 -0
  90. package/dist/chunk-BFURWHVR.js +547 -0
  91. package/dist/chunk-EZSPVWLQ.js +169 -0
  92. package/dist/chunk-F4YQ5PVR.js +1518 -0
  93. package/dist/chunk-FCHZ5TNG.js +26 -0
  94. package/dist/chunk-FFG2OYVV.js +64 -0
  95. package/dist/chunk-FLWDFPXE.js +23 -0
  96. package/dist/chunk-FQMEX3GX.js +846 -0
  97. package/dist/chunk-GE3VT3CA.js +51 -0
  98. package/dist/chunk-GGK2CX6B.js +24026 -0
  99. package/dist/chunk-GGK2CX6B.js.map +1 -0
  100. package/dist/chunk-GHZ6HP2X.js +358 -0
  101. package/dist/chunk-HCQJYI6X.js +74 -0
  102. package/dist/chunk-HGBJQGO5.js +142 -0
  103. package/dist/chunk-HHVWV5BJ.js +191 -0
  104. package/dist/chunk-HML3VQIW.js +225 -0
  105. package/dist/chunk-I3WGTSDY.js +76 -0
  106. package/dist/chunk-I7AYMJZA.js +783 -0
  107. package/dist/chunk-IDSDJHRS.js +106 -0
  108. package/dist/chunk-ILPHIYAL.js +207 -0
  109. package/dist/chunk-IWKD56AY.js +156 -0
  110. package/dist/chunk-JAC6JVCI.js +26 -0
  111. package/dist/chunk-JLAQWMVF.js +3868 -0
  112. package/dist/chunk-K6NULQN7.js +57 -0
  113. package/dist/chunk-L2BRAC2J.js +19 -0
  114. package/dist/chunk-LGMI4LSY.js +455 -0
  115. package/dist/chunk-LNODLR7W.js +149 -0
  116. package/dist/chunk-LQ2BRGMX.js +274 -0
  117. package/dist/chunk-LRV6M2WB.js +1919 -0
  118. package/dist/chunk-M7QZSEHF.js +175 -0
  119. package/dist/chunk-MCJ5I5LR.js +3187 -0
  120. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  121. package/dist/chunk-MVD7QIXI.js +46 -0
  122. package/dist/chunk-MZPS46OR.js +76 -0
  123. package/dist/chunk-NFII3MTG.js +207 -0
  124. package/dist/chunk-OG47L5GG.js +275 -0
  125. package/dist/chunk-PC3FJEZH.js +7211 -0
  126. package/dist/chunk-PX3PUDK7.js +167 -0
  127. package/dist/chunk-QIOFOD4K.js +344 -0
  128. package/dist/chunk-R2SYF5FC.js +249 -0
  129. package/dist/chunk-RTH2I55B.js +942 -0
  130. package/dist/chunk-S6VFDNSQ.js +63 -0
  131. package/dist/chunk-SG2TDQEE.js +150 -0
  132. package/dist/chunk-SWN6OHXG.js +148 -0
  133. package/dist/chunk-T3P6O2VU.js +89 -0
  134. package/dist/chunk-TU5LQUJM.js +74 -0
  135. package/dist/chunk-TU7DWSTW.js +69 -0
  136. package/dist/chunk-TX7CQTD4.js +5368 -0
  137. package/dist/chunk-TXDE2QJ3.js +604 -0
  138. package/dist/chunk-TYXZ2SRW.js +287 -0
  139. package/dist/chunk-UDIEKCIR.js +203 -0
  140. package/dist/chunk-UKSSNYLU.js +98 -0
  141. package/dist/chunk-UQHHGT67.js +676 -0
  142. package/dist/chunk-USCADMM3.js +163 -0
  143. package/dist/chunk-UUGISMNE.js +910 -0
  144. package/dist/chunk-VDPOCAQ2.js +197 -0
  145. package/dist/chunk-VEJ3QX6M.js +103 -0
  146. package/dist/chunk-VFJB7OG6.js +91 -0
  147. package/dist/chunk-VPABGAN4.js +188 -0
  148. package/dist/chunk-VRIPVLE7.js +8954 -0
  149. package/dist/chunk-YILZR3XI.js +224 -0
  150. package/dist/chunk-YJFLXOH4.js +191 -0
  151. package/dist/chunk-YNYAT2TZ.js +285 -0
  152. package/dist/chunk-YWHZYR6S.js +297 -0
  153. package/dist/chunk-Z35KUMBW.js +219 -0
  154. package/dist/chunk-Z7I2ZFXS.js +1646 -0
  155. package/dist/claim-GOLUTAJ3.js +200 -0
  156. package/dist/cli.js +37 -38
  157. package/dist/cli.js.map +1 -1
  158. package/dist/companies-CSN7DPYW.js +198 -0
  159. package/dist/company-MOSPLRZJ.js +308 -0
  160. package/dist/complete-777BDV45.js +84 -0
  161. package/dist/config-55WGRLY3.js +88 -0
  162. package/dist/connect-3YY7MF3I.js +45 -0
  163. package/dist/conversation-6K2TNYBQ.js +96 -0
  164. package/dist/conversion-report-WYYB3BK2.js +127 -0
  165. package/dist/conversion-upload-command-VM2P57K6.js +439 -0
  166. package/dist/conversion-writes-DHOPMA7X.js +122 -0
  167. package/dist/conversions-KWY7BNDN.js +78 -0
  168. package/dist/conversions-MLRK35ZV.js +140 -0
  169. package/dist/copy-writes-E3V5TUVU.js +170 -0
  170. package/dist/create-3WOZO2XT.js +239 -0
  171. package/dist/create-7IFYLX7P.js +210 -0
  172. package/dist/create-FOHIQC3E.js +62 -0
  173. package/dist/create-UWQSQTK6.js +135 -0
  174. package/dist/creatives-2DR3QHJW.js +58 -0
  175. package/dist/creatives-DUR5Z5AN.js +89 -0
  176. package/dist/creatives-KN3MT533.js +223 -0
  177. package/dist/credentials-IP4L37XP.js +290 -0
  178. package/dist/critique-LGDNMLBL.js +232 -0
  179. package/dist/critique-LJMFAURK.js +1451 -0
  180. package/dist/crm-BNYW7PF7.js +323 -0
  181. package/dist/crm-DMADHALO.js +227 -0
  182. package/dist/currency-X4KEACEP.js +88 -0
  183. package/dist/custom-conversions-OIA5Y2GX.js +128 -0
  184. package/dist/customers-663K2OCP.js +59 -0
  185. package/dist/delete-5W3YVA4L.js +67 -0
  186. package/dist/delete-6U7E6YUW.js +57 -0
  187. package/dist/delete-G4NY6ZG6.js +69 -0
  188. package/dist/demographics-UZ7BCQ7K.js +141 -0
  189. package/dist/discard-RKCZNKMN.js +69 -0
  190. package/dist/discover-2W42JB56.js +172 -0
  191. package/dist/domain-PLA2O4FW.js +101 -0
  192. package/dist/download-4EFLVSA4.js +172 -0
  193. package/dist/draft-2ZX73IRO.js +238 -0
  194. package/dist/draft-6XMZYSMR.js +283 -0
  195. package/dist/draft-CKLIIWXZ.js +308 -0
  196. package/dist/draft-IUEULQDT.js +310 -0
  197. package/dist/draft-JMNAGW7C.js +220 -0
  198. package/dist/draft-L5Q6KEER.js +100 -0
  199. package/dist/draft-MJRMZGMP.js +103 -0
  200. package/dist/draft-WPMVLRME.js +335 -0
  201. package/dist/engine/index.js +7 -7
  202. package/dist/experiment-3VRHCQN5.js +1397 -0
  203. package/dist/experiments-S4TSXCK6.js +236 -0
  204. package/dist/facets-D3JG7OSO.js +117 -0
  205. package/dist/feedback-IRSRPXV6.js +111 -0
  206. package/dist/feedback-record-DT3R4NA3.js +265 -0
  207. package/dist/fetch-YLQP5VQL.js +179 -0
  208. package/dist/fit-BEFCY2B4.js +65 -0
  209. package/dist/flows-FDMF3F3P.js +250 -0
  210. package/dist/fonts-C6XN5667.js +39 -0
  211. package/dist/forecast-4YHMKO54.js +121 -0
  212. package/dist/forecast-LYN6ZGQC.js +169 -0
  213. package/dist/funding-TCEPQXRQ.js +85 -0
  214. package/dist/funnel-CQIT3F23.js +397 -0
  215. package/dist/ga4-JE3HS36B.js +55 -0
  216. package/dist/generate-NWHPM2GQ.js +263 -0
  217. package/dist/get-KBSKPTAV.js +59 -0
  218. package/dist/get-OSVQVMP6.js +82 -0
  219. package/dist/google-24FDG4C4.js +3267 -0
  220. package/dist/google-ads-XCJVAXWF.js +198 -0
  221. package/dist/gsc-RMVOYIM3.js +30 -0
  222. package/dist/history-4TN2A6BL.js +136 -0
  223. package/dist/history-5IWW2X33.js +102 -0
  224. package/dist/history-GIXIG276.js +69 -0
  225. package/dist/hubspot-5WB7TQBG.js +782 -0
  226. package/dist/ideas-M66FU45H.js +45 -0
  227. package/dist/images-MM5OPUKV.js +92 -0
  228. package/dist/ingest-GU3WEBN3.js +110 -0
  229. package/dist/ingest-KMLYCFF4.js +26 -0
  230. package/dist/insights-HATH3IC6.js +439 -0
  231. package/dist/insights-VKPIVJMK.js +132 -0
  232. package/dist/inspect-4JO2J3D6.js +192 -0
  233. package/dist/instant-experiences-A2SIQNB5.js +260 -0
  234. package/dist/intent-YCQCUCV3.js +95 -0
  235. package/dist/job-SM2OQ2LO.js +202 -0
  236. package/dist/job-create-ECZHPVKH.js +109 -0
  237. package/dist/job-status-QSYDKIIV.js +74 -0
  238. package/dist/keyword-gap-PUSF7EKY.js +130 -0
  239. package/dist/keyword-metrics-JXBM22ZD.js +200 -0
  240. package/dist/keywords-for-site-OAYA7KP7.js +131 -0
  241. package/dist/landing-OZU5RRFV.js +28 -0
  242. package/dist/languages-Q5SKO4AM.js +40 -0
  243. package/dist/leads-QAYS7AJO.js +540 -0
  244. package/dist/leads-VOSFVNUK.js +115 -0
  245. package/dist/learn-NBBJRMVZ.js +207 -0
  246. package/dist/line-item-writes-VBBB3TRS.js +211 -0
  247. package/dist/line-items-2V5FY33R.js +107 -0
  248. package/dist/link-WZSNUQQ2.js +67 -0
  249. package/dist/linkedin-CDFCOHKI.js +1316 -0
  250. package/dist/linkedin-person-MVRI7LLC.js +139 -0
  251. package/dist/list-6S54IAUX.js +67 -0
  252. package/dist/list-QRJ4E3SC.js +154 -0
  253. package/dist/list-RZUDFLJN.js +306 -0
  254. package/dist/locations-RFTE42OS.js +69 -0
  255. package/dist/locations-VQYREHYI.js +40 -0
  256. package/dist/log-53SAPZZ3.js +95 -0
  257. package/dist/lookup-MELV3RUL.js +23 -0
  258. package/dist/make-ZF3YIMKW.js +1370 -0
  259. package/dist/map-J37QFJSV.js +436 -0
  260. package/dist/mcp-B7WSZQFD.js +729 -0
  261. package/dist/mcp-B7WSZQFD.js.map +1 -0
  262. package/dist/media-BPI2VE6A.js +89 -0
  263. package/dist/media-EEWZZU3P.js +18 -0
  264. package/dist/media-sources-EQI3U4TC.js +35 -0
  265. package/dist/members-GYVMSCKL.js +47 -0
  266. package/dist/meta-SMJUQP37.js +122 -0
  267. package/dist/metrics-EMAP7ESR.js +152 -0
  268. package/dist/models-JQEPSPNQ.js +155 -0
  269. package/dist/normalize-MFN3WCH5.js +144 -0
  270. package/dist/options-DLHDHO7H.js +125 -0
  271. package/dist/organization-C2VOA2SD.js +949 -0
  272. package/dist/output-4QBQEM4C.js +24 -0
  273. package/dist/page-photos-HRKPDQBM.js +118 -0
  274. package/dist/pages-DTQWQUKP.js +67 -0
  275. package/dist/performance-KSSD473N.js +5556 -0
  276. package/dist/performance-KSSD473N.js.map +1 -0
  277. package/dist/performance-NIF3CESZ.js +27 -0
  278. package/dist/pixels-2BKADWE6.js +109 -0
  279. package/dist/pixels-F6BZNTDD.js +62 -0
  280. package/dist/plan-A6VC3ZO7.js +208 -0
  281. package/dist/preview-GGIGXPJW.js +218 -0
  282. package/dist/promoted-tweet-writes-WU2SKKZF.js +183 -0
  283. package/dist/promoted-tweets-653Q5AC6.js +119 -0
  284. package/dist/properties-VWKO3AAK.js +101 -0
  285. package/dist/publish-IOTMJCCY.js +344 -0
  286. package/dist/query-CXIOL7WI.js +62 -0
  287. package/dist/query-OOP63DJF.js +236 -0
  288. package/dist/query-RBZFAIDK.js +247 -0
  289. package/dist/questionnaire-7SHYRTMJ.js +94 -0
  290. package/dist/read-GOULD7YL.js +141 -0
  291. package/dist/reddit-JIHMAKAQ.js +29 -0
  292. package/dist/refresh-OQZ263CS.js +97 -0
  293. package/dist/release-4CHFURO3.js +63 -0
  294. package/dist/relevant-pages-FS7GBVXK.js +99 -0
  295. package/dist/remove-IJQPHPDI.js +53 -0
  296. package/dist/reopen-YTLPVKUR.js +66 -0
  297. package/dist/rerun-C7NB7B35.js +95 -0
  298. package/dist/research-PNBACCCP.js +72 -0
  299. package/dist/research-TLHNPK3O.js +265 -0
  300. package/dist/reset-JVLW7HA2.js +57 -0
  301. package/dist/reset-Y6FXLAQE.js +57 -0
  302. package/dist/resolve-RCFAYPWR.js +124 -0
  303. package/dist/retry-3V3IGDRR.js +65 -0
  304. package/dist/retry-AEKQLQMP.js +63 -0
  305. package/dist/revenue-3R6JLYCQ.js +91 -0
  306. package/dist/rule-writes-K4P3XBJW.js +525 -0
  307. package/dist/rules-34BQAWU3.js +99 -0
  308. package/dist/rules-HY7S2YTD.js +217 -0
  309. package/dist/rules-add-CM5XUYNS.js +465 -0
  310. package/dist/run-MD64RDHZ.js +69 -0
  311. package/dist/run-QCNRR3CA.js +70 -0
  312. package/dist/scaffold-ad-NADPY3CB.js +1516 -0
  313. package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
  314. package/dist/scaffold-video-W7DF2CBJ.js +888 -0
  315. package/dist/schedule-CTRRF6TS.js +64 -0
  316. package/dist/scheduled-agents-OXYAVSIE.js +55 -0
  317. package/dist/schema-6Y3IXFDC.js +69 -0
  318. package/dist/schema-BEUYOGSW.js +135 -0
  319. package/dist/search-GFJKWPKN.js +177 -0
  320. package/dist/select-S72CCL57.js +106 -0
  321. package/dist/sends-WBYTALR7.js +349 -0
  322. package/dist/set-prompt-YYFDRXRI.js +198 -0
  323. package/dist/setup-links-D4JJLESN.js +144 -0
  324. package/dist/shared-CGEJI2RB.js +32 -0
  325. package/dist/shopify-DQWEYPDX.js +3958 -0
  326. package/dist/site-BBZAUZA3.js +180 -0
  327. package/dist/sitemaps-5SP7PVQ6.js +87 -0
  328. package/dist/sites-YZDPHBST.js +101 -0
  329. package/dist/sources-7FIBHL6A.js +457 -0
  330. package/dist/sources-FLUGHSVP.js +30 -0
  331. package/dist/stale-HP54JS5X.js +76 -0
  332. package/dist/stats-EGGNFTKI.js +34 -0
  333. package/dist/status-CLSWQFCQ.js +65 -0
  334. package/dist/studies-6VUUOMZD.js +250 -0
  335. package/dist/studio-T5L7UEX6.js +49 -0
  336. package/dist/study-writes-IR7RSSTK.js +470 -0
  337. package/dist/sync-4YTVVEVC.js +57 -0
  338. package/dist/sync-SCM6JGJP.js +279 -0
  339. package/dist/sync-definition-OGQ5XTQE.js +69 -0
  340. package/dist/tag-manager-REKD4WGU.js +43 -0
  341. package/dist/tags-CZTRQNXV.js +26 -0
  342. package/dist/tags-FDQXWTCQ.js +23 -0
  343. package/dist/tags-R67DKRZ6.js +23 -0
  344. package/dist/tags-SA2LU6AW.js +227 -0
  345. package/dist/tags-ZOXX6VRE.js +23 -0
  346. package/dist/targeting-BQUD54MF.js +762 -0
  347. package/dist/targeting-constants-MRQB4N5I.js +118 -0
  348. package/dist/targeting-criteria-HSAESZIR.js +113 -0
  349. package/dist/targets-UUVCEG3F.js +106 -0
  350. package/dist/terms-D2KAFHKJ.js +102 -0
  351. package/dist/testimonials-G3OCNPBY.js +32 -0
  352. package/dist/themes-X56KIX3Z.js +95 -0
  353. package/dist/top-companies-2RLNCSVS.js +111 -0
  354. package/dist/transcript-U46AEOEI.js +165 -0
  355. package/dist/translate-AS7JVKYM.js +609 -0
  356. package/dist/triggers-ECRBPYYF.js +144 -0
  357. package/dist/tweets-JN6ARKF6.js +123 -0
  358. package/dist/unlink-VDNCSRJV.js +70 -0
  359. package/dist/unstage-5C27F2LZ.js +96 -0
  360. package/dist/unstage-ATDXUYP2.js +88 -0
  361. package/dist/update-FJ6TBV3E.js +101 -0
  362. package/dist/update-HDBJCSTI.js +66 -0
  363. package/dist/update-U43DJRGV.js +155 -0
  364. package/dist/update-Z7TIUBMJ.js +192 -0
  365. package/dist/upload-LXCFSRIU.js +129 -0
  366. package/dist/url-options-C543MY7L.js +131 -0
  367. package/dist/url-params-TEFCXQ5N.js +101 -0
  368. package/dist/validate-VR3HEOMJ.js +122 -0
  369. package/dist/videos-36AXDUGZ.js +41 -0
  370. package/dist/viewer-check-6HL4OUQY.js +83 -0
  371. package/dist/web-7BRJRQX7.js +143 -0
  372. package/dist/winning-ads-GMM5W2O4.js +86 -0
  373. package/dist/write-commands-B25W4FP5.js +713 -0
  374. package/dist/write-commands-DO2YUOMG.js +1502 -0
  375. package/dist/write-commands-GNNEUVDW.js +206 -0
  376. package/dist/write-commands-NXJQQ62W.js +1172 -0
  377. package/dist/x-JNR5SO6F.js +47 -0
  378. package/package.json +1 -1
  379. package/dist/account-QX4G4BJ7.js +0 -82
  380. package/dist/account-UFYZS3K6.js +0 -82
  381. package/dist/account-ZY655BIU.js +0 -139
  382. package/dist/account-assets-J5Z4URLQ.js +0 -290
  383. package/dist/account-level-4SBYYHRS.js +0 -611
  384. package/dist/account-reads-FOEVPWDP.js +0 -219
  385. package/dist/account-users-UTIF7MIT.js +0 -64
  386. package/dist/account-writes-QAQXRIEY.js +0 -68
  387. package/dist/accounts-FT2SRKMD.js +0 -76
  388. package/dist/accounts-JK3OAS5U.js +0 -701
  389. package/dist/accounts-K5XLEO6W.js +0 -114
  390. package/dist/accounts-OE33CKWD.js +0 -80
  391. package/dist/accounts-SNB65ZEW.js +0 -115
  392. package/dist/actions-QZDSLFFK.js +0 -55
  393. package/dist/active-entities-3BAPHE4P.js +0 -103
  394. package/dist/activecampaign-U6TKRR45.js +0 -938
  395. package/dist/activities-LKLPORDI.js +0 -75
  396. package/dist/ad-group-writes-XY5JYTKT.js +0 -172
  397. package/dist/ad-groups-YEO5ZS5U.js +0 -70
  398. package/dist/ad-writes-XRCPK4SP.js +0 -176
  399. package/dist/add-2EF7S4NK.js +0 -305
  400. package/dist/add-YCJ6RXPG.js +0 -107
  401. package/dist/ads-AYJAYLFR.js +0 -48
  402. package/dist/ads-H7H7H2CM.js +0 -79
  403. package/dist/ads-MAOI7S6V.js +0 -115
  404. package/dist/adsets-QRKICEFD.js +0 -182
  405. package/dist/advertisers-JLSU3G35.js +0 -123
  406. package/dist/analytics-ADIWEM6G.js +0 -2437
  407. package/dist/analytics-XB6FRNVJ.js +0 -447
  408. package/dist/animate-HRWFVE2N.js +0 -480
  409. package/dist/asset-writes-JLVUAVUZ.js +0 -50
  410. package/dist/assign-IWZ2OPFL.js +0 -80
  411. package/dist/audience-size-P5L6MZ4C.js +0 -76
  412. package/dist/audience-writes-CDKQB3SM.js +0 -327
  413. package/dist/audiences-34IQKOGS.js +0 -85
  414. package/dist/audiences-CDDI5HR5.js +0 -86
  415. package/dist/audiences-XKERWKKE.js +0 -280
  416. package/dist/audit-7ED6CUTQ.js +0 -88
  417. package/dist/audit-SEADLC6F.js +0 -154
  418. package/dist/autocomplete-AJQBJS5R.js +0 -114
  419. package/dist/avatars-4HCGWBOL.js +0 -38
  420. package/dist/bid-pricing-NWSUO3VM.js +0 -103
  421. package/dist/brand-C6OB6Q4U.js +0 -22
  422. package/dist/brief-LCWWQ4OC.js +0 -543
  423. package/dist/businesses-MGP2YCEU.js +0 -54
  424. package/dist/campaign-groups-PH64UXZJ.js +0 -99
  425. package/dist/campaign-writes-BN3EGDK5.js +0 -168
  426. package/dist/campaign-writes-CLV5ZSUK.js +0 -176
  427. package/dist/campaigns-5XRY27JZ.js +0 -78
  428. package/dist/campaigns-HES5MDUG.js +0 -130
  429. package/dist/campaigns-JF4TYYUP.js +0 -113
  430. package/dist/campaigns-ZYU4BXDP.js +0 -111
  431. package/dist/canvas-AI34UBGU.js +0 -46
  432. package/dist/capabilities-TRHAPTUU.js +0 -147
  433. package/dist/cards-A7GQVC7B.js +0 -85
  434. package/dist/catalog-ZY3MFT55.js +0 -65
  435. package/dist/catalogs-6XLBWAUS.js +0 -130
  436. package/dist/catalogs-TGLSJEK5.js +0 -781
  437. package/dist/changes-OOUVQDBY.js +0 -135
  438. package/dist/chatgpt-NAXIFWXV.js +0 -47
  439. package/dist/chats-I5RHBRS5.js +0 -279
  440. package/dist/check-3E64VBUE.js +0 -107
  441. package/dist/chunk-3CHYJYSS.js +0 -319
  442. package/dist/chunk-3G3GC5N4.js +0 -429
  443. package/dist/chunk-3GAR4AZK.js +0 -149
  444. package/dist/chunk-3M45PYU7.js +0 -274
  445. package/dist/chunk-3QHXF3QI.js +0 -23
  446. package/dist/chunk-3XPHUMLJ.js +0 -3868
  447. package/dist/chunk-45EERHDB.js +0 -783
  448. package/dist/chunk-4FGTANFK.js +0 -387
  449. package/dist/chunk-4IHWT7PH.js +0 -167
  450. package/dist/chunk-4LF4AYPT.js +0 -846
  451. package/dist/chunk-4UQRXKYJ.js +0 -219
  452. package/dist/chunk-5JJD33Y2.js +0 -455
  453. package/dist/chunk-5K4QYYOJ.js +0 -831
  454. package/dist/chunk-5LJ6E4YU.js +0 -163
  455. package/dist/chunk-5T73MMBL.js +0 -275
  456. package/dist/chunk-64MAHLTK.js +0 -363
  457. package/dist/chunk-6OIKNJ7G.js +0 -26
  458. package/dist/chunk-6ZFSDYWV.js +0 -131
  459. package/dist/chunk-7BUIOP36.js +0 -287
  460. package/dist/chunk-7I6ZVBLM.js +0 -358
  461. package/dist/chunk-7NF73SCB.js +0 -106
  462. package/dist/chunk-AN4OEQXE.js +0 -122
  463. package/dist/chunk-AULSX5ZA.js +0 -5368
  464. package/dist/chunk-AVYUFJQQ.js +0 -46
  465. package/dist/chunk-B2POVFR2.js +0 -175
  466. package/dist/chunk-B4YF7VQF.js +0 -97
  467. package/dist/chunk-BDOYNGUL.js +0 -98
  468. package/dist/chunk-BJOK7QD4.js +0 -207
  469. package/dist/chunk-CMCGFSUS.js +0 -197
  470. package/dist/chunk-DM3Q6F5F.js +0 -26
  471. package/dist/chunk-DMJUIUAL.js +0 -676
  472. package/dist/chunk-DUCUOZLS.js +0 -225
  473. package/dist/chunk-EW7JSTRZ.js +0 -24026
  474. package/dist/chunk-EW7JSTRZ.js.map +0 -1
  475. package/dist/chunk-F3CZFUXZ.js +0 -3187
  476. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  477. package/dist/chunk-FJZYOVSW.js +0 -843
  478. package/dist/chunk-FKP4ECJY.js +0 -19
  479. package/dist/chunk-GAYRBIEF.js +0 -712
  480. package/dist/chunk-GAYRBIEF.js.map +0 -1
  481. package/dist/chunk-GNMEOU46.js +0 -8954
  482. package/dist/chunk-GU5MXV2Y.js +0 -191
  483. package/dist/chunk-GYKYXWUQ.js +0 -156
  484. package/dist/chunk-GYPLRU4Y.js +0 -297
  485. package/dist/chunk-HGUYC5K6.js +0 -76
  486. package/dist/chunk-HMIROUFV.js +0 -74
  487. package/dist/chunk-I43ZEWJQ.js +0 -285
  488. package/dist/chunk-IZABTTW5.js +0 -228
  489. package/dist/chunk-K7IE6UYV.js +0 -1646
  490. package/dist/chunk-KH5YHHJV.js +0 -604
  491. package/dist/chunk-KMY7AD3N.js +0 -51
  492. package/dist/chunk-KPCHWDJM.js +0 -8914
  493. package/dist/chunk-KTZCLJ2D.js +0 -148
  494. package/dist/chunk-KUY26RCF.js +0 -200
  495. package/dist/chunk-MKUA54QE.js +0 -638
  496. package/dist/chunk-MTV2RSGY.js +0 -63
  497. package/dist/chunk-MUS2UTWU.js +0 -4254
  498. package/dist/chunk-MUS2UTWU.js.map +0 -1
  499. package/dist/chunk-N2QX57K3.js +0 -392
  500. package/dist/chunk-NEYWS2DQ.js +0 -479
  501. package/dist/chunk-NWF2LRKO.js +0 -188
  502. package/dist/chunk-NZ34KM46.js +0 -7211
  503. package/dist/chunk-OTC6UMJ2.js +0 -191
  504. package/dist/chunk-OUY2IAWL.js +0 -224
  505. package/dist/chunk-PJXNCRMR.js +0 -344
  506. package/dist/chunk-PYQ3GF7R.js +0 -91
  507. package/dist/chunk-Q3EIVZAR.js +0 -170
  508. package/dist/chunk-QDQZ62FL.js +0 -207
  509. package/dist/chunk-QHZE62GP.js +0 -1919
  510. package/dist/chunk-RCJKABOS.js +0 -74
  511. package/dist/chunk-RGR6TSTJ.js +0 -103
  512. package/dist/chunk-SAAXU7QR.js +0 -203
  513. package/dist/chunk-SHTKLRI6.js +0 -66
  514. package/dist/chunk-SIKCVWM3.js +0 -76
  515. package/dist/chunk-SSXG53CZ.js +0 -89
  516. package/dist/chunk-TBWAM577.js +0 -547
  517. package/dist/chunk-TGPGQTZA.js +0 -169
  518. package/dist/chunk-TLQOMWLQ.js +0 -69
  519. package/dist/chunk-UMIX2BMM.js +0 -1518
  520. package/dist/chunk-URMAEVZO.js +0 -150
  521. package/dist/chunk-VBO3ZVUU.js +0 -61
  522. package/dist/chunk-VFLYMHTO.js +0 -592
  523. package/dist/chunk-VGYIVXIZ.js +0 -249
  524. package/dist/chunk-VIB7R533.js +0 -57
  525. package/dist/chunk-WVWLPXBO.js +0 -910
  526. package/dist/chunk-XEH5XAP6.js +0 -494
  527. package/dist/chunk-XEOKVL4E.js +0 -142
  528. package/dist/chunk-XOGQJYXH.js +0 -64
  529. package/dist/chunk-XUXRA7IB.js +0 -942
  530. package/dist/chunk-ZRP7Y2DM.js +0 -320
  531. package/dist/chunk-ZRP7Y2DM.js.map +0 -1
  532. package/dist/claim-FIK2YTLM.js +0 -200
  533. package/dist/companies-KMMV6EJW.js +0 -198
  534. package/dist/company-B54URPJG.js +0 -308
  535. package/dist/complete-PPCWEXS3.js +0 -84
  536. package/dist/config-SMVIY6RW.js +0 -88
  537. package/dist/connect-IAXSZPGA.js +0 -45
  538. package/dist/conversation-KHTZBGX2.js +0 -96
  539. package/dist/conversion-report-U66HW6JM.js +0 -127
  540. package/dist/conversion-upload-command-IHFKVX2M.js +0 -439
  541. package/dist/conversion-writes-RSGDOAET.js +0 -122
  542. package/dist/conversions-BVOL43W4.js +0 -78
  543. package/dist/conversions-SUMZAV2T.js +0 -140
  544. package/dist/copy-writes-CIHIFLY6.js +0 -170
  545. package/dist/create-732HQL3C.js +0 -210
  546. package/dist/create-TFR6R2KF.js +0 -239
  547. package/dist/create-UC57ULRL.js +0 -62
  548. package/dist/create-UL2OYXOA.js +0 -135
  549. package/dist/creatives-BB6S2OF6.js +0 -89
  550. package/dist/creatives-BZEVJ6ER.js +0 -58
  551. package/dist/creatives-FU3YELGU.js +0 -223
  552. package/dist/credentials-AYV5YQE4.js +0 -290
  553. package/dist/critique-FKIJB72I.js +0 -1451
  554. package/dist/critique-IQYNDXCN.js +0 -232
  555. package/dist/crm-ILQMNJPX.js +0 -323
  556. package/dist/crm-MQQRBITZ.js +0 -227
  557. package/dist/currency-CGKO5GKH.js +0 -88
  558. package/dist/custom-conversions-HAGG72LF.js +0 -128
  559. package/dist/customers-NKKU6S7G.js +0 -59
  560. package/dist/delete-2TCCNRMH.js +0 -57
  561. package/dist/delete-HCZTISBT.js +0 -69
  562. package/dist/delete-UIKB5ZXS.js +0 -67
  563. package/dist/demographics-ABZODD45.js +0 -141
  564. package/dist/discard-V3K5PZ4W.js +0 -69
  565. package/dist/discover-VM3O7CQM.js +0 -172
  566. package/dist/domain-A66DHOTQ.js +0 -101
  567. package/dist/download-LSAZD5JO.js +0 -172
  568. package/dist/draft-5UUJC675.js +0 -335
  569. package/dist/draft-BATA5CVI.js +0 -283
  570. package/dist/draft-CRDBU6LF.js +0 -308
  571. package/dist/draft-DJIYEMZU.js +0 -103
  572. package/dist/draft-P7IDMXWR.js +0 -310
  573. package/dist/draft-RIR2V6A2.js +0 -238
  574. package/dist/draft-YBNL4ZZA.js +0 -220
  575. package/dist/draft-ZCL7FVBH.js +0 -100
  576. package/dist/experiment-I5CRLOVN.js +0 -1397
  577. package/dist/experiments-MLLTHMMS.js +0 -236
  578. package/dist/facets-KSHR3MBE.js +0 -117
  579. package/dist/feedback-4GCPXZSI.js +0 -111
  580. package/dist/feedback-record-VEFHUIUJ.js +0 -265
  581. package/dist/fetch-42QL56JC.js +0 -179
  582. package/dist/fit-Q5GRVF2O.js +0 -65
  583. package/dist/flows-M3WBZQET.js +0 -250
  584. package/dist/fonts-GD4YRXQU.js +0 -39
  585. package/dist/forecast-HT46MFL4.js +0 -121
  586. package/dist/forecast-ONVS2QAI.js +0 -169
  587. package/dist/funding-5W4LX6DU.js +0 -85
  588. package/dist/funnel-76BAD64Q.js +0 -397
  589. package/dist/ga4-BWVCDVIR.js +0 -55
  590. package/dist/generate-VBEY3N3L.js +0 -263
  591. package/dist/get-4KFAO475.js +0 -82
  592. package/dist/get-QV5NIADE.js +0 -59
  593. package/dist/google-7EZP7I6J.js +0 -3267
  594. package/dist/google-ads-J7WHTJO4.js +0 -198
  595. package/dist/gsc-2MPE4N32.js +0 -30
  596. package/dist/history-EULKWQUS.js +0 -136
  597. package/dist/history-FEBJHFHJ.js +0 -69
  598. package/dist/history-RDVV7KBN.js +0 -102
  599. package/dist/hubspot-A3RQNMYN.js +0 -782
  600. package/dist/ideas-WX7EBPSF.js +0 -45
  601. package/dist/images-4AXF4LAC.js +0 -92
  602. package/dist/ingest-AM5YDTRH.js +0 -110
  603. package/dist/ingest-C3M4GUO6.js +0 -26
  604. package/dist/insights-UTCMSWSC.js +0 -132
  605. package/dist/insights-XZL2EM53.js +0 -439
  606. package/dist/inspect-DWCLRZGR.js +0 -192
  607. package/dist/instant-experiences-RM4MLJTL.js +0 -260
  608. package/dist/intent-ZMYMFGB4.js +0 -95
  609. package/dist/job-DRFCQ27M.js +0 -202
  610. package/dist/job-create-2EC25Y3J.js +0 -109
  611. package/dist/job-status-UNVZRPIA.js +0 -74
  612. package/dist/keyword-gap-XSJO2R77.js +0 -130
  613. package/dist/keyword-metrics-M46FCTAS.js +0 -200
  614. package/dist/keywords-for-site-XNSLX7EA.js +0 -131
  615. package/dist/landing-MUNYZQNA.js +0 -28
  616. package/dist/languages-DIQ3OG3E.js +0 -40
  617. package/dist/lead-routes-B4FBXNEC.js +0 -639
  618. package/dist/lead-routes-B4FBXNEC.js.map +0 -1
  619. package/dist/leads-LAATTW5G.js +0 -115
  620. package/dist/leads-ULYHTG22.js +0 -540
  621. package/dist/learn-3GLY4G3H.js +0 -207
  622. package/dist/line-item-writes-XJTTA3X5.js +0 -211
  623. package/dist/line-items-JR25T2C5.js +0 -107
  624. package/dist/link-7DSLIF3I.js +0 -67
  625. package/dist/linkedin-W5BJ6HEH.js +0 -1316
  626. package/dist/linkedin-person-2ZYSOHYR.js +0 -139
  627. package/dist/list-3653DIYB.js +0 -67
  628. package/dist/list-G66HVYCR.js +0 -306
  629. package/dist/list-Z4M53MS5.js +0 -154
  630. package/dist/locations-HTVYJSDJ.js +0 -40
  631. package/dist/locations-M2B5XDU4.js +0 -69
  632. package/dist/log-2RJU5BOW.js +0 -95
  633. package/dist/lookup-S5VG7AWH.js +0 -23
  634. package/dist/make-MJ6JMU5T.js +0 -1370
  635. package/dist/map-27IPOBY6.js +0 -436
  636. package/dist/mcp-TFQTME4P.js +0 -717
  637. package/dist/mcp-TFQTME4P.js.map +0 -1
  638. package/dist/media-P4T4ZBNS.js +0 -18
  639. package/dist/media-XCTZJIW4.js +0 -89
  640. package/dist/media-sources-P246GM7W.js +0 -35
  641. package/dist/members-KOKBTUC2.js +0 -47
  642. package/dist/meta-IPLWNYC7.js +0 -122
  643. package/dist/metrics-WYWUX6Y5.js +0 -152
  644. package/dist/models-HJ7Y55AH.js +0 -155
  645. package/dist/normalize-GXBUNTYJ.js +0 -144
  646. package/dist/options-MA25RNXF.js +0 -125
  647. package/dist/organization-NLEVNGKQ.js +0 -949
  648. package/dist/output-WTEPRUPE.js +0 -24
  649. package/dist/page-photos-OQ5QATQH.js +0 -118
  650. package/dist/pages-J6AF5NDU.js +0 -67
  651. package/dist/performance-34EUP5KL.js +0 -5541
  652. package/dist/performance-34EUP5KL.js.map +0 -1
  653. package/dist/performance-J3DLNI2W.js +0 -27
  654. package/dist/pixels-THEGYRXT.js +0 -62
  655. package/dist/pixels-ZZTB6NWF.js +0 -109
  656. package/dist/plan-7UF76Q6U.js +0 -208
  657. package/dist/preview-LRJOQ7LM.js +0 -218
  658. package/dist/promoted-tweet-writes-SBXWKO23.js +0 -183
  659. package/dist/promoted-tweets-W42FNWS7.js +0 -119
  660. package/dist/properties-RBLJCVSG.js +0 -101
  661. package/dist/publish-YG76GOA7.js +0 -344
  662. package/dist/query-BJJYUGQZ.js +0 -247
  663. package/dist/query-IQICLABN.js +0 -62
  664. package/dist/query-KQ675KJZ.js +0 -236
  665. package/dist/questionnaire-DWEH5II4.js +0 -94
  666. package/dist/read-QME7JYVF.js +0 -141
  667. package/dist/reddit-X4CERXYF.js +0 -29
  668. package/dist/refresh-A36GA7JN.js +0 -97
  669. package/dist/release-3NCMZIDI.js +0 -63
  670. package/dist/relevant-pages-UDDQOYLD.js +0 -99
  671. package/dist/remove-6LE3XNRG.js +0 -53
  672. package/dist/reopen-XLADJ2UU.js +0 -66
  673. package/dist/rerun-QVMFJZA2.js +0 -95
  674. package/dist/research-D5UUJF74.js +0 -72
  675. package/dist/research-QCI5ISUE.js +0 -265
  676. package/dist/reset-DD37KDXQ.js +0 -57
  677. package/dist/reset-FLZPKY2N.js +0 -57
  678. package/dist/resolve-KRKIJKT7.js +0 -124
  679. package/dist/retry-ALXYEKFV.js +0 -65
  680. package/dist/retry-MIXKW4EW.js +0 -63
  681. package/dist/revenue-UBZUTSXN.js +0 -91
  682. package/dist/rule-writes-UAVWT4XS.js +0 -525
  683. package/dist/rules-SO6P44B6.js +0 -99
  684. package/dist/rules-ZVS2MWED.js +0 -217
  685. package/dist/rules-add-XN3BZKFO.js +0 -465
  686. package/dist/run-K2DOMOAN.js +0 -69
  687. package/dist/run-T7XAH2W5.js +0 -70
  688. package/dist/scaffold-ad-TWIT7R4U.js +0 -1516
  689. package/dist/scaffold-static-ad-GPJKOGOI.js +0 -1015
  690. package/dist/scaffold-video-7BQNOJ4S.js +0 -888
  691. package/dist/schedule-UTRVEWPE.js +0 -64
  692. package/dist/scheduled-agents-ZGCUZ6SB.js +0 -55
  693. package/dist/schema-D6BMZAPB.js +0 -69
  694. package/dist/schema-DSMF6ELE.js +0 -135
  695. package/dist/search-2P72GSKY.js +0 -177
  696. package/dist/select-N7VWQ2ZQ.js +0 -106
  697. package/dist/sends-LAY5C74B.js +0 -349
  698. package/dist/set-prompt-3N3HMHT6.js +0 -198
  699. package/dist/setup-links-I5RFZTS4.js +0 -144
  700. package/dist/shared-ZFULUOPQ.js +0 -32
  701. package/dist/shopify-LXSR37XI.js +0 -3958
  702. package/dist/site-AI3BFWRK.js +0 -180
  703. package/dist/sitemaps-F3HYH5ZP.js +0 -87
  704. package/dist/sites-JSMF72BY.js +0 -101
  705. package/dist/sources-AOF2YDYX.js +0 -457
  706. package/dist/sources-DVMJEXEX.js +0 -30
  707. package/dist/stale-P4GGOLIB.js +0 -76
  708. package/dist/stats-QP4LFQZJ.js +0 -34
  709. package/dist/status-O25MXHU4.js +0 -65
  710. package/dist/studies-EPO2AM4M.js +0 -250
  711. package/dist/studio-5Z4NMA4K.js +0 -49
  712. package/dist/study-writes-7FP443QQ.js +0 -470
  713. package/dist/sync-2AI7LKKN.js +0 -57
  714. package/dist/sync-PHH65JFS.js +0 -279
  715. package/dist/sync-definition-F3CXG6KG.js +0 -69
  716. package/dist/tag-manager-F7PVTDBB.js +0 -43
  717. package/dist/tags-SEZ2CQJM.js +0 -26
  718. package/dist/tags-TJDZXOXS.js +0 -227
  719. package/dist/tags-YSC7ZILI.js +0 -23
  720. package/dist/tags-Z6EALYOS.js +0 -23
  721. package/dist/tags-ZXSVW6XO.js +0 -23
  722. package/dist/targeting-NKZFEZD7.js +0 -762
  723. package/dist/targeting-constants-236ES5HE.js +0 -118
  724. package/dist/targeting-criteria-AU5CSMAU.js +0 -113
  725. package/dist/targets-IOIH5JYS.js +0 -106
  726. package/dist/terms-O6ODXEOK.js +0 -102
  727. package/dist/testimonials-Y6PUV6AL.js +0 -32
  728. package/dist/themes-PGPIAKAO.js +0 -95
  729. package/dist/top-companies-FSITN3ZR.js +0 -111
  730. package/dist/transcript-CGPX7Y37.js +0 -165
  731. package/dist/translate-QCBMGOKR.js +0 -609
  732. package/dist/triggers-MONMZSKT.js +0 -144
  733. package/dist/tweets-IUINLOXF.js +0 -123
  734. package/dist/unlink-I7QFQQKO.js +0 -70
  735. package/dist/unstage-JXG5AU5Q.js +0 -88
  736. package/dist/unstage-ZA3WQBEA.js +0 -96
  737. package/dist/update-BVZGM54I.js +0 -66
  738. package/dist/update-EI2BHUM2.js +0 -101
  739. package/dist/update-RZSV4NYP.js +0 -155
  740. package/dist/update-WLDNOZ5U.js +0 -192
  741. package/dist/upload-BP3YEQSF.js +0 -129
  742. package/dist/url-options-63DED6CR.js +0 -131
  743. package/dist/url-params-TRFI2PMD.js +0 -101
  744. package/dist/validate-SNCR25A7.js +0 -122
  745. package/dist/videos-SVZV5YYC.js +0 -41
  746. package/dist/viewer-check-LUAEGV6H.js +0 -83
  747. package/dist/web-MJQEK7BB.js +0 -143
  748. package/dist/winning-ads-KNLJHHCO.js +0 -86
  749. package/dist/write-commands-5J47ZNO4.js +0 -206
  750. package/dist/write-commands-NVCX7IAU.js +0 -1502
  751. package/dist/write-commands-OGVDWWBV.js +0 -1172
  752. package/dist/write-commands-OTWH6BKZ.js +0 -713
  753. package/dist/x-ZQNHYIDU.js +0 -47
  754. /package/dist/{account-ZY655BIU.js.map → account-BA3IO3AN.js.map} +0 -0
  755. /package/dist/{account-UFYZS3K6.js.map → account-LVJFHDA3.js.map} +0 -0
  756. /package/dist/{account-QX4G4BJ7.js.map → account-PTJ6OK6Z.js.map} +0 -0
  757. /package/dist/{account-assets-J5Z4URLQ.js.map → account-assets-T3VVNBUG.js.map} +0 -0
  758. /package/dist/{account-level-4SBYYHRS.js.map → account-level-MPFWRPEK.js.map} +0 -0
  759. /package/dist/{account-reads-FOEVPWDP.js.map → account-reads-5CXFLJ5Q.js.map} +0 -0
  760. /package/dist/{account-users-UTIF7MIT.js.map → account-users-B7DCJEFD.js.map} +0 -0
  761. /package/dist/{account-writes-QAQXRIEY.js.map → account-writes-W5EOTS7P.js.map} +0 -0
  762. /package/dist/{accounts-FT2SRKMD.js.map → accounts-4R3MBNJG.js.map} +0 -0
  763. /package/dist/{accounts-SNB65ZEW.js.map → accounts-5WF7VE7J.js.map} +0 -0
  764. /package/dist/{accounts-JK3OAS5U.js.map → accounts-IQTEH4BX.js.map} +0 -0
  765. /package/dist/{accounts-OE33CKWD.js.map → accounts-SV7JZUCC.js.map} +0 -0
  766. /package/dist/{accounts-K5XLEO6W.js.map → accounts-VPWCLF6X.js.map} +0 -0
  767. /package/dist/{actions-QZDSLFFK.js.map → actions-D7OWCP36.js.map} +0 -0
  768. /package/dist/{active-entities-3BAPHE4P.js.map → active-entities-WDPW7652.js.map} +0 -0
  769. /package/dist/{activecampaign-U6TKRR45.js.map → activecampaign-LBS4M4C4.js.map} +0 -0
  770. /package/dist/{activities-LKLPORDI.js.map → activities-WGPHYSFU.js.map} +0 -0
  771. /package/dist/{ad-group-writes-XY5JYTKT.js.map → ad-group-writes-JL56DPC4.js.map} +0 -0
  772. /package/dist/{ad-groups-YEO5ZS5U.js.map → ad-groups-62JPLIK3.js.map} +0 -0
  773. /package/dist/{ad-writes-XRCPK4SP.js.map → ad-writes-WSKLRGB7.js.map} +0 -0
  774. /package/dist/{add-YCJ6RXPG.js.map → add-HFQB2NTU.js.map} +0 -0
  775. /package/dist/{add-2EF7S4NK.js.map → add-IUYE5H6A.js.map} +0 -0
  776. /package/dist/{ads-MAOI7S6V.js.map → ads-F7AUJWK7.js.map} +0 -0
  777. /package/dist/{ads-H7H7H2CM.js.map → ads-JFI56MZL.js.map} +0 -0
  778. /package/dist/{ads-AYJAYLFR.js.map → ads-WCLT2RRR.js.map} +0 -0
  779. /package/dist/{adsets-QRKICEFD.js.map → adsets-XH2ULWPM.js.map} +0 -0
  780. /package/dist/{advertisers-JLSU3G35.js.map → advertisers-XXM6POO5.js.map} +0 -0
  781. /package/dist/{analytics-XB6FRNVJ.js.map → analytics-MJT6DS3L.js.map} +0 -0
  782. /package/dist/{analytics-ADIWEM6G.js.map → analytics-W7EUOI2Q.js.map} +0 -0
  783. /package/dist/{animate-HRWFVE2N.js.map → animate-2BMHZ4FM.js.map} +0 -0
  784. /package/dist/{asset-writes-JLVUAVUZ.js.map → asset-writes-4X3AJQ4Q.js.map} +0 -0
  785. /package/dist/{assign-IWZ2OPFL.js.map → assign-2GQVQKKO.js.map} +0 -0
  786. /package/dist/{audience-size-P5L6MZ4C.js.map → audience-size-VHXBNNIB.js.map} +0 -0
  787. /package/dist/{audience-writes-CDKQB3SM.js.map → audience-writes-TXWPDJ2F.js.map} +0 -0
  788. /package/dist/{audiences-XKERWKKE.js.map → audiences-B2LFKWIS.js.map} +0 -0
  789. /package/dist/{audiences-CDDI5HR5.js.map → audiences-MBBXWEOI.js.map} +0 -0
  790. /package/dist/{audiences-34IQKOGS.js.map → audiences-YUG5JLL4.js.map} +0 -0
  791. /package/dist/{audit-SEADLC6F.js.map → audit-VT2WSZWM.js.map} +0 -0
  792. /package/dist/{audit-7ED6CUTQ.js.map → audit-WFXS5ELM.js.map} +0 -0
  793. /package/dist/{autocomplete-AJQBJS5R.js.map → autocomplete-ZYMHHV7E.js.map} +0 -0
  794. /package/dist/{avatars-4HCGWBOL.js.map → avatars-WZ2JDMHH.js.map} +0 -0
  795. /package/dist/{bid-pricing-NWSUO3VM.js.map → bid-pricing-5F3GBSAI.js.map} +0 -0
  796. /package/dist/{brand-C6OB6Q4U.js.map → brand-IZTTBZII.js.map} +0 -0
  797. /package/dist/{brief-LCWWQ4OC.js.map → brief-OPQ7ICOY.js.map} +0 -0
  798. /package/dist/{businesses-MGP2YCEU.js.map → businesses-24JNY46Z.js.map} +0 -0
  799. /package/dist/{campaign-groups-PH64UXZJ.js.map → campaign-groups-BDCDTMBF.js.map} +0 -0
  800. /package/dist/{campaign-writes-BN3EGDK5.js.map → campaign-writes-73H7G3JM.js.map} +0 -0
  801. /package/dist/{campaign-writes-CLV5ZSUK.js.map → campaign-writes-FNVOHONL.js.map} +0 -0
  802. /package/dist/{campaigns-5XRY27JZ.js.map → campaigns-FUDZUVHN.js.map} +0 -0
  803. /package/dist/{campaigns-JF4TYYUP.js.map → campaigns-J65Q4WAZ.js.map} +0 -0
  804. /package/dist/{campaigns-HES5MDUG.js.map → campaigns-KXYGSH27.js.map} +0 -0
  805. /package/dist/{campaigns-ZYU4BXDP.js.map → campaigns-U5FQ2VWL.js.map} +0 -0
  806. /package/dist/{canvas-AI34UBGU.js.map → canvas-IQ753Q2O.js.map} +0 -0
  807. /package/dist/{capabilities-TRHAPTUU.js.map → capabilities-ZITW4RF7.js.map} +0 -0
  808. /package/dist/{cards-A7GQVC7B.js.map → cards-NSNAFTEB.js.map} +0 -0
  809. /package/dist/{catalog-ZY3MFT55.js.map → catalog-TZLU5NWI.js.map} +0 -0
  810. /package/dist/{catalogs-6XLBWAUS.js.map → catalogs-OWQGGCIO.js.map} +0 -0
  811. /package/dist/{catalogs-TGLSJEK5.js.map → catalogs-VZYAATUR.js.map} +0 -0
  812. /package/dist/{changes-OOUVQDBY.js.map → changes-RDWMNSTK.js.map} +0 -0
  813. /package/dist/{chatgpt-NAXIFWXV.js.map → chatgpt-27NEJVGF.js.map} +0 -0
  814. /package/dist/{chats-I5RHBRS5.js.map → chats-AL2SYBJO.js.map} +0 -0
  815. /package/dist/{check-3E64VBUE.js.map → check-U2YLRD6H.js.map} +0 -0
  816. /package/dist/{chunk-KUY26RCF.js.map → chunk-2F4DELSV.js.map} +0 -0
  817. /package/dist/{chunk-Q3EIVZAR.js.map → chunk-2GYCWRF3.js.map} +0 -0
  818. /package/dist/{chunk-VBO3ZVUU.js.map → chunk-2L7F7KR4.js.map} +0 -0
  819. /package/dist/{chunk-6ZFSDYWV.js.map → chunk-3YJNSUNF.js.map} +0 -0
  820. /package/dist/{chunk-IZABTTW5.js.map → chunk-44ZRCSR7.js.map} +0 -0
  821. /package/dist/{chunk-64MAHLTK.js.map → chunk-4EDWXZ3I.js.map} +0 -0
  822. /package/dist/{chunk-SHTKLRI6.js.map → chunk-4FFBGR5L.js.map} +0 -0
  823. /package/dist/{chunk-VFLYMHTO.js.map → chunk-4UZUUSVL.js.map} +0 -0
  824. /package/dist/{chunk-5K4QYYOJ.js.map → chunk-4XHCEYHI.js.map} +0 -0
  825. /package/dist/{chunk-NEYWS2DQ.js.map → chunk-4Z6PVR3M.js.map} +0 -0
  826. /package/dist/{chunk-AN4OEQXE.js.map → chunk-5Y5FZV2W.js.map} +0 -0
  827. /package/dist/{chunk-N2QX57K3.js.map → chunk-6HJXLGDV.js.map} +0 -0
  828. /package/dist/{chunk-KPCHWDJM.js.map → chunk-6KWEF6HF.js.map} +0 -0
  829. /package/dist/{chunk-3G3GC5N4.js.map → chunk-6S5CWGDA.js.map} +0 -0
  830. /package/dist/{chunk-XEH5XAP6.js.map → chunk-6VYROVWO.js.map} +0 -0
  831. /package/dist/{chunk-FJZYOVSW.js.map → chunk-7HZSORAB.js.map} +0 -0
  832. /package/dist/{chunk-MKUA54QE.js.map → chunk-A3IQAONL.js.map} +0 -0
  833. /package/dist/{chunk-3CHYJYSS.js.map → chunk-AQRXXC6E.js.map} +0 -0
  834. /package/dist/{chunk-4FGTANFK.js.map → chunk-ARBXT73X.js.map} +0 -0
  835. /package/dist/{chunk-B4YF7VQF.js.map → chunk-BEZHQIEI.js.map} +0 -0
  836. /package/dist/{chunk-TBWAM577.js.map → chunk-BFURWHVR.js.map} +0 -0
  837. /package/dist/{chunk-TGPGQTZA.js.map → chunk-EZSPVWLQ.js.map} +0 -0
  838. /package/dist/{chunk-UMIX2BMM.js.map → chunk-F4YQ5PVR.js.map} +0 -0
  839. /package/dist/{chunk-DM3Q6F5F.js.map → chunk-FCHZ5TNG.js.map} +0 -0
  840. /package/dist/{chunk-XOGQJYXH.js.map → chunk-FFG2OYVV.js.map} +0 -0
  841. /package/dist/{chunk-3QHXF3QI.js.map → chunk-FLWDFPXE.js.map} +0 -0
  842. /package/dist/{chunk-4LF4AYPT.js.map → chunk-FQMEX3GX.js.map} +0 -0
  843. /package/dist/{chunk-KMY7AD3N.js.map → chunk-GE3VT3CA.js.map} +0 -0
  844. /package/dist/{chunk-7I6ZVBLM.js.map → chunk-GHZ6HP2X.js.map} +0 -0
  845. /package/dist/{chunk-HMIROUFV.js.map → chunk-HCQJYI6X.js.map} +0 -0
  846. /package/dist/{chunk-XEOKVL4E.js.map → chunk-HGBJQGO5.js.map} +0 -0
  847. /package/dist/{chunk-GU5MXV2Y.js.map → chunk-HHVWV5BJ.js.map} +0 -0
  848. /package/dist/{chunk-DUCUOZLS.js.map → chunk-HML3VQIW.js.map} +0 -0
  849. /package/dist/{chunk-HGUYC5K6.js.map → chunk-I3WGTSDY.js.map} +0 -0
  850. /package/dist/{chunk-45EERHDB.js.map → chunk-I7AYMJZA.js.map} +0 -0
  851. /package/dist/{chunk-7NF73SCB.js.map → chunk-IDSDJHRS.js.map} +0 -0
  852. /package/dist/{chunk-QDQZ62FL.js.map → chunk-ILPHIYAL.js.map} +0 -0
  853. /package/dist/{chunk-GYKYXWUQ.js.map → chunk-IWKD56AY.js.map} +0 -0
  854. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  855. /package/dist/{chunk-3XPHUMLJ.js.map → chunk-JLAQWMVF.js.map} +0 -0
  856. /package/dist/{chunk-VIB7R533.js.map → chunk-K6NULQN7.js.map} +0 -0
  857. /package/dist/{chunk-FKP4ECJY.js.map → chunk-L2BRAC2J.js.map} +0 -0
  858. /package/dist/{chunk-5JJD33Y2.js.map → chunk-LGMI4LSY.js.map} +0 -0
  859. /package/dist/{chunk-3GAR4AZK.js.map → chunk-LNODLR7W.js.map} +0 -0
  860. /package/dist/{chunk-3M45PYU7.js.map → chunk-LQ2BRGMX.js.map} +0 -0
  861. /package/dist/{chunk-QHZE62GP.js.map → chunk-LRV6M2WB.js.map} +0 -0
  862. /package/dist/{chunk-B2POVFR2.js.map → chunk-M7QZSEHF.js.map} +0 -0
  863. /package/dist/{chunk-AVYUFJQQ.js.map → chunk-MVD7QIXI.js.map} +0 -0
  864. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  865. /package/dist/{chunk-BJOK7QD4.js.map → chunk-NFII3MTG.js.map} +0 -0
  866. /package/dist/{chunk-5T73MMBL.js.map → chunk-OG47L5GG.js.map} +0 -0
  867. /package/dist/{chunk-NZ34KM46.js.map → chunk-PC3FJEZH.js.map} +0 -0
  868. /package/dist/{chunk-4IHWT7PH.js.map → chunk-PX3PUDK7.js.map} +0 -0
  869. /package/dist/{chunk-PJXNCRMR.js.map → chunk-QIOFOD4K.js.map} +0 -0
  870. /package/dist/{chunk-VGYIVXIZ.js.map → chunk-R2SYF5FC.js.map} +0 -0
  871. /package/dist/{chunk-XUXRA7IB.js.map → chunk-RTH2I55B.js.map} +0 -0
  872. /package/dist/{chunk-MTV2RSGY.js.map → chunk-S6VFDNSQ.js.map} +0 -0
  873. /package/dist/{chunk-URMAEVZO.js.map → chunk-SG2TDQEE.js.map} +0 -0
  874. /package/dist/{chunk-KTZCLJ2D.js.map → chunk-SWN6OHXG.js.map} +0 -0
  875. /package/dist/{chunk-SSXG53CZ.js.map → chunk-T3P6O2VU.js.map} +0 -0
  876. /package/dist/{chunk-RCJKABOS.js.map → chunk-TU5LQUJM.js.map} +0 -0
  877. /package/dist/{chunk-TLQOMWLQ.js.map → chunk-TU7DWSTW.js.map} +0 -0
  878. /package/dist/{chunk-AULSX5ZA.js.map → chunk-TX7CQTD4.js.map} +0 -0
  879. /package/dist/{chunk-KH5YHHJV.js.map → chunk-TXDE2QJ3.js.map} +0 -0
  880. /package/dist/{chunk-7BUIOP36.js.map → chunk-TYXZ2SRW.js.map} +0 -0
  881. /package/dist/{chunk-SAAXU7QR.js.map → chunk-UDIEKCIR.js.map} +0 -0
  882. /package/dist/{chunk-BDOYNGUL.js.map → chunk-UKSSNYLU.js.map} +0 -0
  883. /package/dist/{chunk-DMJUIUAL.js.map → chunk-UQHHGT67.js.map} +0 -0
  884. /package/dist/{chunk-5LJ6E4YU.js.map → chunk-USCADMM3.js.map} +0 -0
  885. /package/dist/{chunk-WVWLPXBO.js.map → chunk-UUGISMNE.js.map} +0 -0
  886. /package/dist/{chunk-CMCGFSUS.js.map → chunk-VDPOCAQ2.js.map} +0 -0
  887. /package/dist/{chunk-RGR6TSTJ.js.map → chunk-VEJ3QX6M.js.map} +0 -0
  888. /package/dist/{chunk-PYQ3GF7R.js.map → chunk-VFJB7OG6.js.map} +0 -0
  889. /package/dist/{chunk-NWF2LRKO.js.map → chunk-VPABGAN4.js.map} +0 -0
  890. /package/dist/{chunk-GNMEOU46.js.map → chunk-VRIPVLE7.js.map} +0 -0
  891. /package/dist/{chunk-OUY2IAWL.js.map → chunk-YILZR3XI.js.map} +0 -0
  892. /package/dist/{chunk-OTC6UMJ2.js.map → chunk-YJFLXOH4.js.map} +0 -0
  893. /package/dist/{chunk-I43ZEWJQ.js.map → chunk-YNYAT2TZ.js.map} +0 -0
  894. /package/dist/{chunk-GYPLRU4Y.js.map → chunk-YWHZYR6S.js.map} +0 -0
  895. /package/dist/{chunk-4UQRXKYJ.js.map → chunk-Z35KUMBW.js.map} +0 -0
  896. /package/dist/{chunk-K7IE6UYV.js.map → chunk-Z7I2ZFXS.js.map} +0 -0
  897. /package/dist/{claim-FIK2YTLM.js.map → claim-GOLUTAJ3.js.map} +0 -0
  898. /package/dist/{companies-KMMV6EJW.js.map → companies-CSN7DPYW.js.map} +0 -0
  899. /package/dist/{company-B54URPJG.js.map → company-MOSPLRZJ.js.map} +0 -0
  900. /package/dist/{complete-PPCWEXS3.js.map → complete-777BDV45.js.map} +0 -0
  901. /package/dist/{config-SMVIY6RW.js.map → config-55WGRLY3.js.map} +0 -0
  902. /package/dist/{connect-IAXSZPGA.js.map → connect-3YY7MF3I.js.map} +0 -0
  903. /package/dist/{conversation-KHTZBGX2.js.map → conversation-6K2TNYBQ.js.map} +0 -0
  904. /package/dist/{conversion-report-U66HW6JM.js.map → conversion-report-WYYB3BK2.js.map} +0 -0
  905. /package/dist/{conversion-upload-command-IHFKVX2M.js.map → conversion-upload-command-VM2P57K6.js.map} +0 -0
  906. /package/dist/{conversion-writes-RSGDOAET.js.map → conversion-writes-DHOPMA7X.js.map} +0 -0
  907. /package/dist/{conversions-BVOL43W4.js.map → conversions-KWY7BNDN.js.map} +0 -0
  908. /package/dist/{conversions-SUMZAV2T.js.map → conversions-MLRK35ZV.js.map} +0 -0
  909. /package/dist/{copy-writes-CIHIFLY6.js.map → copy-writes-E3V5TUVU.js.map} +0 -0
  910. /package/dist/{create-TFR6R2KF.js.map → create-3WOZO2XT.js.map} +0 -0
  911. /package/dist/{create-732HQL3C.js.map → create-7IFYLX7P.js.map} +0 -0
  912. /package/dist/{create-UC57ULRL.js.map → create-FOHIQC3E.js.map} +0 -0
  913. /package/dist/{create-UL2OYXOA.js.map → create-UWQSQTK6.js.map} +0 -0
  914. /package/dist/{creatives-BZEVJ6ER.js.map → creatives-2DR3QHJW.js.map} +0 -0
  915. /package/dist/{creatives-BB6S2OF6.js.map → creatives-DUR5Z5AN.js.map} +0 -0
  916. /package/dist/{creatives-FU3YELGU.js.map → creatives-KN3MT533.js.map} +0 -0
  917. /package/dist/{credentials-AYV5YQE4.js.map → credentials-IP4L37XP.js.map} +0 -0
  918. /package/dist/{critique-IQYNDXCN.js.map → critique-LGDNMLBL.js.map} +0 -0
  919. /package/dist/{critique-FKIJB72I.js.map → critique-LJMFAURK.js.map} +0 -0
  920. /package/dist/{crm-ILQMNJPX.js.map → crm-BNYW7PF7.js.map} +0 -0
  921. /package/dist/{crm-MQQRBITZ.js.map → crm-DMADHALO.js.map} +0 -0
  922. /package/dist/{currency-CGKO5GKH.js.map → currency-X4KEACEP.js.map} +0 -0
  923. /package/dist/{custom-conversions-HAGG72LF.js.map → custom-conversions-OIA5Y2GX.js.map} +0 -0
  924. /package/dist/{customers-NKKU6S7G.js.map → customers-663K2OCP.js.map} +0 -0
  925. /package/dist/{delete-UIKB5ZXS.js.map → delete-5W3YVA4L.js.map} +0 -0
  926. /package/dist/{delete-2TCCNRMH.js.map → delete-6U7E6YUW.js.map} +0 -0
  927. /package/dist/{delete-HCZTISBT.js.map → delete-G4NY6ZG6.js.map} +0 -0
  928. /package/dist/{demographics-ABZODD45.js.map → demographics-UZ7BCQ7K.js.map} +0 -0
  929. /package/dist/{discard-V3K5PZ4W.js.map → discard-RKCZNKMN.js.map} +0 -0
  930. /package/dist/{discover-VM3O7CQM.js.map → discover-2W42JB56.js.map} +0 -0
  931. /package/dist/{domain-A66DHOTQ.js.map → domain-PLA2O4FW.js.map} +0 -0
  932. /package/dist/{download-LSAZD5JO.js.map → download-4EFLVSA4.js.map} +0 -0
  933. /package/dist/{draft-RIR2V6A2.js.map → draft-2ZX73IRO.js.map} +0 -0
  934. /package/dist/{draft-BATA5CVI.js.map → draft-6XMZYSMR.js.map} +0 -0
  935. /package/dist/{draft-CRDBU6LF.js.map → draft-CKLIIWXZ.js.map} +0 -0
  936. /package/dist/{draft-P7IDMXWR.js.map → draft-IUEULQDT.js.map} +0 -0
  937. /package/dist/{draft-YBNL4ZZA.js.map → draft-JMNAGW7C.js.map} +0 -0
  938. /package/dist/{draft-ZCL7FVBH.js.map → draft-L5Q6KEER.js.map} +0 -0
  939. /package/dist/{draft-DJIYEMZU.js.map → draft-MJRMZGMP.js.map} +0 -0
  940. /package/dist/{draft-5UUJC675.js.map → draft-WPMVLRME.js.map} +0 -0
  941. /package/dist/{experiment-I5CRLOVN.js.map → experiment-3VRHCQN5.js.map} +0 -0
  942. /package/dist/{experiments-MLLTHMMS.js.map → experiments-S4TSXCK6.js.map} +0 -0
  943. /package/dist/{facets-KSHR3MBE.js.map → facets-D3JG7OSO.js.map} +0 -0
  944. /package/dist/{feedback-4GCPXZSI.js.map → feedback-IRSRPXV6.js.map} +0 -0
  945. /package/dist/{feedback-record-VEFHUIUJ.js.map → feedback-record-DT3R4NA3.js.map} +0 -0
  946. /package/dist/{fetch-42QL56JC.js.map → fetch-YLQP5VQL.js.map} +0 -0
  947. /package/dist/{fit-Q5GRVF2O.js.map → fit-BEFCY2B4.js.map} +0 -0
  948. /package/dist/{flows-M3WBZQET.js.map → flows-FDMF3F3P.js.map} +0 -0
  949. /package/dist/{fonts-GD4YRXQU.js.map → fonts-C6XN5667.js.map} +0 -0
  950. /package/dist/{forecast-HT46MFL4.js.map → forecast-4YHMKO54.js.map} +0 -0
  951. /package/dist/{forecast-ONVS2QAI.js.map → forecast-LYN6ZGQC.js.map} +0 -0
  952. /package/dist/{funding-5W4LX6DU.js.map → funding-TCEPQXRQ.js.map} +0 -0
  953. /package/dist/{funnel-76BAD64Q.js.map → funnel-CQIT3F23.js.map} +0 -0
  954. /package/dist/{ga4-BWVCDVIR.js.map → ga4-JE3HS36B.js.map} +0 -0
  955. /package/dist/{generate-VBEY3N3L.js.map → generate-NWHPM2GQ.js.map} +0 -0
  956. /package/dist/{get-QV5NIADE.js.map → get-KBSKPTAV.js.map} +0 -0
  957. /package/dist/{get-4KFAO475.js.map → get-OSVQVMP6.js.map} +0 -0
  958. /package/dist/{google-7EZP7I6J.js.map → google-24FDG4C4.js.map} +0 -0
  959. /package/dist/{google-ads-J7WHTJO4.js.map → google-ads-XCJVAXWF.js.map} +0 -0
  960. /package/dist/{gsc-2MPE4N32.js.map → gsc-RMVOYIM3.js.map} +0 -0
  961. /package/dist/{history-EULKWQUS.js.map → history-4TN2A6BL.js.map} +0 -0
  962. /package/dist/{history-RDVV7KBN.js.map → history-5IWW2X33.js.map} +0 -0
  963. /package/dist/{history-FEBJHFHJ.js.map → history-GIXIG276.js.map} +0 -0
  964. /package/dist/{hubspot-A3RQNMYN.js.map → hubspot-5WB7TQBG.js.map} +0 -0
  965. /package/dist/{ideas-WX7EBPSF.js.map → ideas-M66FU45H.js.map} +0 -0
  966. /package/dist/{images-4AXF4LAC.js.map → images-MM5OPUKV.js.map} +0 -0
  967. /package/dist/{ingest-AM5YDTRH.js.map → ingest-GU3WEBN3.js.map} +0 -0
  968. /package/dist/{ingest-C3M4GUO6.js.map → ingest-KMLYCFF4.js.map} +0 -0
  969. /package/dist/{insights-XZL2EM53.js.map → insights-HATH3IC6.js.map} +0 -0
  970. /package/dist/{insights-UTCMSWSC.js.map → insights-VKPIVJMK.js.map} +0 -0
  971. /package/dist/{inspect-DWCLRZGR.js.map → inspect-4JO2J3D6.js.map} +0 -0
  972. /package/dist/{instant-experiences-RM4MLJTL.js.map → instant-experiences-A2SIQNB5.js.map} +0 -0
  973. /package/dist/{intent-ZMYMFGB4.js.map → intent-YCQCUCV3.js.map} +0 -0
  974. /package/dist/{job-DRFCQ27M.js.map → job-SM2OQ2LO.js.map} +0 -0
  975. /package/dist/{job-create-2EC25Y3J.js.map → job-create-ECZHPVKH.js.map} +0 -0
  976. /package/dist/{job-status-UNVZRPIA.js.map → job-status-QSYDKIIV.js.map} +0 -0
  977. /package/dist/{keyword-gap-XSJO2R77.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
  978. /package/dist/{keyword-metrics-M46FCTAS.js.map → keyword-metrics-JXBM22ZD.js.map} +0 -0
  979. /package/dist/{keywords-for-site-XNSLX7EA.js.map → keywords-for-site-OAYA7KP7.js.map} +0 -0
  980. /package/dist/{landing-MUNYZQNA.js.map → landing-OZU5RRFV.js.map} +0 -0
  981. /package/dist/{languages-DIQ3OG3E.js.map → languages-Q5SKO4AM.js.map} +0 -0
  982. /package/dist/{leads-ULYHTG22.js.map → leads-QAYS7AJO.js.map} +0 -0
  983. /package/dist/{leads-LAATTW5G.js.map → leads-VOSFVNUK.js.map} +0 -0
  984. /package/dist/{learn-3GLY4G3H.js.map → learn-NBBJRMVZ.js.map} +0 -0
  985. /package/dist/{line-item-writes-XJTTA3X5.js.map → line-item-writes-VBBB3TRS.js.map} +0 -0
  986. /package/dist/{line-items-JR25T2C5.js.map → line-items-2V5FY33R.js.map} +0 -0
  987. /package/dist/{link-7DSLIF3I.js.map → link-WZSNUQQ2.js.map} +0 -0
  988. /package/dist/{linkedin-W5BJ6HEH.js.map → linkedin-CDFCOHKI.js.map} +0 -0
  989. /package/dist/{linkedin-person-2ZYSOHYR.js.map → linkedin-person-MVRI7LLC.js.map} +0 -0
  990. /package/dist/{list-3653DIYB.js.map → list-6S54IAUX.js.map} +0 -0
  991. /package/dist/{list-Z4M53MS5.js.map → list-QRJ4E3SC.js.map} +0 -0
  992. /package/dist/{list-G66HVYCR.js.map → list-RZUDFLJN.js.map} +0 -0
  993. /package/dist/{locations-M2B5XDU4.js.map → locations-RFTE42OS.js.map} +0 -0
  994. /package/dist/{locations-HTVYJSDJ.js.map → locations-VQYREHYI.js.map} +0 -0
  995. /package/dist/{log-2RJU5BOW.js.map → log-53SAPZZ3.js.map} +0 -0
  996. /package/dist/{lookup-S5VG7AWH.js.map → lookup-MELV3RUL.js.map} +0 -0
  997. /package/dist/{make-MJ6JMU5T.js.map → make-ZF3YIMKW.js.map} +0 -0
  998. /package/dist/{map-27IPOBY6.js.map → map-J37QFJSV.js.map} +0 -0
  999. /package/dist/{media-XCTZJIW4.js.map → media-BPI2VE6A.js.map} +0 -0
  1000. /package/dist/{media-P4T4ZBNS.js.map → media-EEWZZU3P.js.map} +0 -0
  1001. /package/dist/{media-sources-P246GM7W.js.map → media-sources-EQI3U4TC.js.map} +0 -0
  1002. /package/dist/{members-KOKBTUC2.js.map → members-GYVMSCKL.js.map} +0 -0
  1003. /package/dist/{meta-IPLWNYC7.js.map → meta-SMJUQP37.js.map} +0 -0
  1004. /package/dist/{metrics-WYWUX6Y5.js.map → metrics-EMAP7ESR.js.map} +0 -0
  1005. /package/dist/{models-HJ7Y55AH.js.map → models-JQEPSPNQ.js.map} +0 -0
  1006. /package/dist/{normalize-GXBUNTYJ.js.map → normalize-MFN3WCH5.js.map} +0 -0
  1007. /package/dist/{options-MA25RNXF.js.map → options-DLHDHO7H.js.map} +0 -0
  1008. /package/dist/{organization-NLEVNGKQ.js.map → organization-C2VOA2SD.js.map} +0 -0
  1009. /package/dist/{output-WTEPRUPE.js.map → output-4QBQEM4C.js.map} +0 -0
  1010. /package/dist/{page-photos-OQ5QATQH.js.map → page-photos-HRKPDQBM.js.map} +0 -0
  1011. /package/dist/{pages-J6AF5NDU.js.map → pages-DTQWQUKP.js.map} +0 -0
  1012. /package/dist/{performance-J3DLNI2W.js.map → performance-NIF3CESZ.js.map} +0 -0
  1013. /package/dist/{pixels-ZZTB6NWF.js.map → pixels-2BKADWE6.js.map} +0 -0
  1014. /package/dist/{pixels-THEGYRXT.js.map → pixels-F6BZNTDD.js.map} +0 -0
  1015. /package/dist/{plan-7UF76Q6U.js.map → plan-A6VC3ZO7.js.map} +0 -0
  1016. /package/dist/{preview-LRJOQ7LM.js.map → preview-GGIGXPJW.js.map} +0 -0
  1017. /package/dist/{promoted-tweet-writes-SBXWKO23.js.map → promoted-tweet-writes-WU2SKKZF.js.map} +0 -0
  1018. /package/dist/{promoted-tweets-W42FNWS7.js.map → promoted-tweets-653Q5AC6.js.map} +0 -0
  1019. /package/dist/{properties-RBLJCVSG.js.map → properties-VWKO3AAK.js.map} +0 -0
  1020. /package/dist/{publish-YG76GOA7.js.map → publish-IOTMJCCY.js.map} +0 -0
  1021. /package/dist/{query-IQICLABN.js.map → query-CXIOL7WI.js.map} +0 -0
  1022. /package/dist/{query-KQ675KJZ.js.map → query-OOP63DJF.js.map} +0 -0
  1023. /package/dist/{query-BJJYUGQZ.js.map → query-RBZFAIDK.js.map} +0 -0
  1024. /package/dist/{questionnaire-DWEH5II4.js.map → questionnaire-7SHYRTMJ.js.map} +0 -0
  1025. /package/dist/{read-QME7JYVF.js.map → read-GOULD7YL.js.map} +0 -0
  1026. /package/dist/{reddit-X4CERXYF.js.map → reddit-JIHMAKAQ.js.map} +0 -0
  1027. /package/dist/{refresh-A36GA7JN.js.map → refresh-OQZ263CS.js.map} +0 -0
  1028. /package/dist/{release-3NCMZIDI.js.map → release-4CHFURO3.js.map} +0 -0
  1029. /package/dist/{relevant-pages-UDDQOYLD.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
  1030. /package/dist/{remove-6LE3XNRG.js.map → remove-IJQPHPDI.js.map} +0 -0
  1031. /package/dist/{reopen-XLADJ2UU.js.map → reopen-YTLPVKUR.js.map} +0 -0
  1032. /package/dist/{rerun-QVMFJZA2.js.map → rerun-C7NB7B35.js.map} +0 -0
  1033. /package/dist/{research-D5UUJF74.js.map → research-PNBACCCP.js.map} +0 -0
  1034. /package/dist/{research-QCI5ISUE.js.map → research-TLHNPK3O.js.map} +0 -0
  1035. /package/dist/{reset-FLZPKY2N.js.map → reset-JVLW7HA2.js.map} +0 -0
  1036. /package/dist/{reset-DD37KDXQ.js.map → reset-Y6FXLAQE.js.map} +0 -0
  1037. /package/dist/{resolve-KRKIJKT7.js.map → resolve-RCFAYPWR.js.map} +0 -0
  1038. /package/dist/{retry-ALXYEKFV.js.map → retry-3V3IGDRR.js.map} +0 -0
  1039. /package/dist/{retry-MIXKW4EW.js.map → retry-AEKQLQMP.js.map} +0 -0
  1040. /package/dist/{revenue-UBZUTSXN.js.map → revenue-3R6JLYCQ.js.map} +0 -0
  1041. /package/dist/{rule-writes-UAVWT4XS.js.map → rule-writes-K4P3XBJW.js.map} +0 -0
  1042. /package/dist/{rules-SO6P44B6.js.map → rules-34BQAWU3.js.map} +0 -0
  1043. /package/dist/{rules-ZVS2MWED.js.map → rules-HY7S2YTD.js.map} +0 -0
  1044. /package/dist/{rules-add-XN3BZKFO.js.map → rules-add-CM5XUYNS.js.map} +0 -0
  1045. /package/dist/{run-K2DOMOAN.js.map → run-MD64RDHZ.js.map} +0 -0
  1046. /package/dist/{run-T7XAH2W5.js.map → run-QCNRR3CA.js.map} +0 -0
  1047. /package/dist/{scaffold-ad-TWIT7R4U.js.map → scaffold-ad-NADPY3CB.js.map} +0 -0
  1048. /package/dist/{scaffold-static-ad-GPJKOGOI.js.map → scaffold-static-ad-5YEYYVYH.js.map} +0 -0
  1049. /package/dist/{scaffold-video-7BQNOJ4S.js.map → scaffold-video-W7DF2CBJ.js.map} +0 -0
  1050. /package/dist/{schedule-UTRVEWPE.js.map → schedule-CTRRF6TS.js.map} +0 -0
  1051. /package/dist/{scheduled-agents-ZGCUZ6SB.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
  1052. /package/dist/{schema-D6BMZAPB.js.map → schema-6Y3IXFDC.js.map} +0 -0
  1053. /package/dist/{schema-DSMF6ELE.js.map → schema-BEUYOGSW.js.map} +0 -0
  1054. /package/dist/{search-2P72GSKY.js.map → search-GFJKWPKN.js.map} +0 -0
  1055. /package/dist/{select-N7VWQ2ZQ.js.map → select-S72CCL57.js.map} +0 -0
  1056. /package/dist/{sends-LAY5C74B.js.map → sends-WBYTALR7.js.map} +0 -0
  1057. /package/dist/{set-prompt-3N3HMHT6.js.map → set-prompt-YYFDRXRI.js.map} +0 -0
  1058. /package/dist/{setup-links-I5RFZTS4.js.map → setup-links-D4JJLESN.js.map} +0 -0
  1059. /package/dist/{shared-ZFULUOPQ.js.map → shared-CGEJI2RB.js.map} +0 -0
  1060. /package/dist/{shopify-LXSR37XI.js.map → shopify-DQWEYPDX.js.map} +0 -0
  1061. /package/dist/{site-AI3BFWRK.js.map → site-BBZAUZA3.js.map} +0 -0
  1062. /package/dist/{sitemaps-F3HYH5ZP.js.map → sitemaps-5SP7PVQ6.js.map} +0 -0
  1063. /package/dist/{sites-JSMF72BY.js.map → sites-YZDPHBST.js.map} +0 -0
  1064. /package/dist/{sources-AOF2YDYX.js.map → sources-7FIBHL6A.js.map} +0 -0
  1065. /package/dist/{sources-DVMJEXEX.js.map → sources-FLUGHSVP.js.map} +0 -0
  1066. /package/dist/{stale-P4GGOLIB.js.map → stale-HP54JS5X.js.map} +0 -0
  1067. /package/dist/{stats-QP4LFQZJ.js.map → stats-EGGNFTKI.js.map} +0 -0
  1068. /package/dist/{status-O25MXHU4.js.map → status-CLSWQFCQ.js.map} +0 -0
  1069. /package/dist/{studies-EPO2AM4M.js.map → studies-6VUUOMZD.js.map} +0 -0
  1070. /package/dist/{studio-5Z4NMA4K.js.map → studio-T5L7UEX6.js.map} +0 -0
  1071. /package/dist/{study-writes-7FP443QQ.js.map → study-writes-IR7RSSTK.js.map} +0 -0
  1072. /package/dist/{sync-2AI7LKKN.js.map → sync-4YTVVEVC.js.map} +0 -0
  1073. /package/dist/{sync-PHH65JFS.js.map → sync-SCM6JGJP.js.map} +0 -0
  1074. /package/dist/{sync-definition-F3CXG6KG.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
  1075. /package/dist/{tag-manager-F7PVTDBB.js.map → tag-manager-REKD4WGU.js.map} +0 -0
  1076. /package/dist/{tags-SEZ2CQJM.js.map → tags-CZTRQNXV.js.map} +0 -0
  1077. /package/dist/{tags-ZXSVW6XO.js.map → tags-FDQXWTCQ.js.map} +0 -0
  1078. /package/dist/{tags-YSC7ZILI.js.map → tags-R67DKRZ6.js.map} +0 -0
  1079. /package/dist/{tags-TJDZXOXS.js.map → tags-SA2LU6AW.js.map} +0 -0
  1080. /package/dist/{tags-Z6EALYOS.js.map → tags-ZOXX6VRE.js.map} +0 -0
  1081. /package/dist/{targeting-NKZFEZD7.js.map → targeting-BQUD54MF.js.map} +0 -0
  1082. /package/dist/{targeting-constants-236ES5HE.js.map → targeting-constants-MRQB4N5I.js.map} +0 -0
  1083. /package/dist/{targeting-criteria-AU5CSMAU.js.map → targeting-criteria-HSAESZIR.js.map} +0 -0
  1084. /package/dist/{targets-IOIH5JYS.js.map → targets-UUVCEG3F.js.map} +0 -0
  1085. /package/dist/{terms-O6ODXEOK.js.map → terms-D2KAFHKJ.js.map} +0 -0
  1086. /package/dist/{testimonials-Y6PUV6AL.js.map → testimonials-G3OCNPBY.js.map} +0 -0
  1087. /package/dist/{themes-PGPIAKAO.js.map → themes-X56KIX3Z.js.map} +0 -0
  1088. /package/dist/{top-companies-FSITN3ZR.js.map → top-companies-2RLNCSVS.js.map} +0 -0
  1089. /package/dist/{transcript-CGPX7Y37.js.map → transcript-U46AEOEI.js.map} +0 -0
  1090. /package/dist/{translate-QCBMGOKR.js.map → translate-AS7JVKYM.js.map} +0 -0
  1091. /package/dist/{triggers-MONMZSKT.js.map → triggers-ECRBPYYF.js.map} +0 -0
  1092. /package/dist/{tweets-IUINLOXF.js.map → tweets-JN6ARKF6.js.map} +0 -0
  1093. /package/dist/{unlink-I7QFQQKO.js.map → unlink-VDNCSRJV.js.map} +0 -0
  1094. /package/dist/{unstage-ZA3WQBEA.js.map → unstage-5C27F2LZ.js.map} +0 -0
  1095. /package/dist/{unstage-JXG5AU5Q.js.map → unstage-ATDXUYP2.js.map} +0 -0
  1096. /package/dist/{update-EI2BHUM2.js.map → update-FJ6TBV3E.js.map} +0 -0
  1097. /package/dist/{update-BVZGM54I.js.map → update-HDBJCSTI.js.map} +0 -0
  1098. /package/dist/{update-RZSV4NYP.js.map → update-U43DJRGV.js.map} +0 -0
  1099. /package/dist/{update-WLDNOZ5U.js.map → update-Z7TIUBMJ.js.map} +0 -0
  1100. /package/dist/{upload-BP3YEQSF.js.map → upload-LXCFSRIU.js.map} +0 -0
  1101. /package/dist/{url-options-63DED6CR.js.map → url-options-C543MY7L.js.map} +0 -0
  1102. /package/dist/{url-params-TRFI2PMD.js.map → url-params-TEFCXQ5N.js.map} +0 -0
  1103. /package/dist/{validate-SNCR25A7.js.map → validate-VR3HEOMJ.js.map} +0 -0
  1104. /package/dist/{videos-SVZV5YYC.js.map → videos-36AXDUGZ.js.map} +0 -0
  1105. /package/dist/{viewer-check-LUAEGV6H.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
  1106. /package/dist/{web-MJQEK7BB.js.map → web-7BRJRQX7.js.map} +0 -0
  1107. /package/dist/{winning-ads-KNLJHHCO.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
  1108. /package/dist/{write-commands-OTWH6BKZ.js.map → write-commands-B25W4FP5.js.map} +0 -0
  1109. /package/dist/{write-commands-NVCX7IAU.js.map → write-commands-DO2YUOMG.js.map} +0 -0
  1110. /package/dist/{write-commands-5J47ZNO4.js.map → write-commands-GNNEUVDW.js.map} +0 -0
  1111. /package/dist/{write-commands-OGVDWWBV.js.map → write-commands-NXJQQ62W.js.map} +0 -0
  1112. /package/dist/{x-ZQNHYIDU.js.map → x-JNR5SO6F.js.map} +0 -0
@@ -0,0 +1,1015 @@
1
+ import {
2
+ withClientLogo
3
+ } from "./chunk-HML3VQIW.js";
4
+ import {
5
+ isValidScaffoldSlug,
6
+ resolveCastAvatars,
7
+ resolveScaffoldStaticAdPaths
8
+ } from "./chunk-YSPCWJCO.js";
9
+ import {
10
+ fail,
11
+ fileExists,
12
+ loadAssetText,
13
+ parseElements,
14
+ resolveModel
15
+ } from "./chunk-MZPS46OR.js";
16
+ import {
17
+ readDefinitionPlatforms,
18
+ syncCreativeDefinitionBestEffort
19
+ } from "./chunk-YILZR3XI.js";
20
+ import {
21
+ buildBackendClient
22
+ } from "./chunk-JLAQWMVF.js";
23
+ import "./chunk-FFG2OYVV.js";
24
+ import "./chunk-YJFLXOH4.js";
25
+ import "./chunk-WN4KX7GE.js";
26
+ import "./chunk-KMMQLWNC.js";
27
+ import "./chunk-IVIJJXXT.js";
28
+ import "./chunk-ESQX7SRQ.js";
29
+ import "./chunk-Q6ULQMWG.js";
30
+ import "./chunk-KKJ4KJCW.js";
31
+ import "./chunk-3ACMDRSE.js";
32
+ import {
33
+ deliveryDefinitionFields,
34
+ deliveryNote,
35
+ namesDelivery,
36
+ scaffoldDelivery
37
+ } from "./chunk-VFJB7OG6.js";
38
+ import {
39
+ LIBRARY_PLATFORMS,
40
+ NO_FIT_HINT,
41
+ conceptFromFit,
42
+ fetchLibraryReference,
43
+ fitHints,
44
+ libraryReferenceBlock,
45
+ mergeReferenceIntoBlueprint,
46
+ notADesignReference,
47
+ readCachedFit,
48
+ referenceDescribeContext,
49
+ resolveSourcePlatform
50
+ } from "./chunk-TXDE2QJ3.js";
51
+ import {
52
+ enforceNewCreativeLimit
53
+ } from "./chunk-XVFZDPEW.js";
54
+ import "./chunk-RTH2I55B.js";
55
+ import "./chunk-PX3PUDK7.js";
56
+ import "./chunk-FLWDFPXE.js";
57
+ import "./chunk-5Y5FZV2W.js";
58
+ import {
59
+ brandBlock,
60
+ brandHeadlineFont,
61
+ buildCreativeDefinition,
62
+ castAvatarsOnStaticElements,
63
+ castOnIdeaSpec,
64
+ computeSourceSha,
65
+ describeBlueprintIntent,
66
+ findBrandRoot,
67
+ parseDefinitionViewerFields,
68
+ pickImageModel,
69
+ readLogoFile,
70
+ readNamedTypefaces,
71
+ readStaticBrandKit,
72
+ rebasedDefinition,
73
+ recordedShape,
74
+ resolveFormatList,
75
+ scaffoldStaticAd,
76
+ setDefinitionDelivery,
77
+ setDefinitionViewer,
78
+ staticAdReport,
79
+ staticAdSpec,
80
+ staticAvatarsNotCast,
81
+ titleFromSlug,
82
+ webFontUrl
83
+ } from "./chunk-VRIPVLE7.js";
84
+ import {
85
+ describeViewer,
86
+ liveViewerLookups,
87
+ resolveViewer
88
+ } from "./chunk-4XHCEYHI.js";
89
+ import "./chunk-HGBJQGO5.js";
90
+ import "./chunk-T3P6O2VU.js";
91
+ import "./chunk-WHBFXR6F.js";
92
+ import "./chunk-DQVI7GCX.js";
93
+ import "./chunk-EKX37C3T.js";
94
+ import "./chunk-SWN6OHXG.js";
95
+ import "./chunk-QIOFOD4K.js";
96
+ import "./chunk-A3IQAONL.js";
97
+ import {
98
+ fetchJson,
99
+ lookupGoogleCss
100
+ } from "./chunk-6VYROVWO.js";
101
+ import "./chunk-LGMI4LSY.js";
102
+ import "./chunk-R2SYF5FC.js";
103
+ import "./chunk-3YJNSUNF.js";
104
+ import "./chunk-G6XKD7QE.js";
105
+ import "./chunk-QPESDKZC.js";
106
+ import "./chunk-E44NXCTL.js";
107
+ import {
108
+ findWorkspaceRoot,
109
+ resolveRelativeCanvasPaths
110
+ } from "./chunk-EJGAJHLB.js";
111
+ import {
112
+ ValidationError,
113
+ createEngineFromEnv,
114
+ defaultRegistry,
115
+ validateCanvasDeep
116
+ } from "./chunk-6KWEF6HF.js";
117
+ import "./chunk-TX7CQTD4.js";
118
+ import "./chunk-F4YQ5PVR.js";
119
+ import "./chunk-DGCUPJZD.js";
120
+ import "./chunk-MVD7QIXI.js";
121
+ import {
122
+ conceptClassOf,
123
+ conceptProblems,
124
+ readAdSpec
125
+ } from "./chunk-LRV6M2WB.js";
126
+ import "./chunk-7HZSORAB.js";
127
+ import {
128
+ AD_DESCRIBE_FOCUS,
129
+ AD_DESCRIBE_MODEL,
130
+ AD_PLATFORM_LEAD,
131
+ AD_SELECT_PROMPT,
132
+ AD_SELECT_SYSTEM,
133
+ BLUEPRINT_ANALYSIS_MODEL
134
+ } from "./chunk-MCJ5I5LR.js";
135
+ import {
136
+ VIEWER_KNOWS_VALUES,
137
+ VIEWER_TEMPERATURE_VALUES,
138
+ marketFromCompanyDoc
139
+ } from "./chunk-2WZI36D3.js";
140
+ import "./chunk-65Y3RCWP.js";
141
+ import "./chunk-LNNTHEL7.js";
142
+ import {
143
+ sha256Hex,
144
+ toModelSafeImage
145
+ } from "./chunk-FOMFU2RX.js";
146
+ import "./chunk-PSGIHSNC.js";
147
+ import {
148
+ MAX_REMOTE_IMAGE_BYTES,
149
+ fetchExternalBytes
150
+ } from "./chunk-PONLPYD7.js";
151
+ import "./chunk-PC3FJEZH.js";
152
+ import "./chunk-CAZGM2NX.js";
153
+ import "./chunk-NZS3KEQ2.js";
154
+ import "./chunk-GIWHHCD6.js";
155
+ import "./chunk-SOPVIIUW.js";
156
+ import "./chunk-G4FG5EQO.js";
157
+ import "./chunk-NSBNIPIW.js";
158
+ import "./chunk-46YLDIQG.js";
159
+ import {
160
+ apiPost
161
+ } from "./chunk-X7VQFLHI.js";
162
+ import "./chunk-LU4HI4KI.js";
163
+ import "./chunk-LGK7UWBN.js";
164
+ import {
165
+ referenceReadResponseSchema,
166
+ registerSchema
167
+ } from "./chunk-Q7US4OOA.js";
168
+ import "./chunk-YQSBHWOI.js";
169
+
170
+ // src/commands/canvas/scaffold-static-ad.ts
171
+ import { mkdir, readFile, writeFile } from "fs/promises";
172
+ import path from "path";
173
+ import { defineCommand } from "citty";
174
+
175
+ // src/commands/canvas/scaffold-viewer.ts
176
+ function flagText(value) {
177
+ const text = typeof value === "string" || typeof value === "number" ? String(value).trim() : "";
178
+ return text || void 0;
179
+ }
180
+ function narrows(placements) {
181
+ return placements.some((placement) => placement !== "automatic");
182
+ }
183
+ function flagList(value) {
184
+ const list = (flagText(value) ?? "").split(",").map((item) => item.trim()).filter(Boolean);
185
+ return list.length > 0 ? list : void 0;
186
+ }
187
+ var isTemperature = (value) => VIEWER_TEMPERATURE_VALUES.includes(value);
188
+ var isKnows = (value) => VIEWER_KNOWS_VALUES.includes(value);
189
+ function viewerFields(flags) {
190
+ const temperature = flagText(flags["viewer-temperature"]);
191
+ if (temperature !== void 0 && !isTemperature(temperature)) {
192
+ return { ok: false, message: `--viewer-temperature must be one of ${VIEWER_TEMPERATURE_VALUES.join(", ")}` };
193
+ }
194
+ const knows = flagList(flags["viewer-knows"]);
195
+ if (knows && !knows.every(isKnows)) {
196
+ return { ok: false, message: `--viewer-knows takes ${VIEWER_KNOWS_VALUES.join(", ")}` };
197
+ }
198
+ const placements = flagList(flags["viewer-placements"]);
199
+ return {
200
+ ok: true,
201
+ fields: {
202
+ ...temperature ? { temperature } : {},
203
+ ...knows ? { knows: knows.filter(isKnows) } : {},
204
+ ...placements ? { placements } : {}
205
+ }
206
+ };
207
+ }
208
+ function givenViewer(fields) {
209
+ if (!fields.temperature) return void 0;
210
+ return {
211
+ temperature: fields.temperature,
212
+ knows: fields.knows ?? [],
213
+ placements: fields.placements ?? ["automatic"],
214
+ source: "knowledge",
215
+ reasons: ["No ad set was read: this viewer was given when the ad was scaffolded, from the Knowledge."]
216
+ };
217
+ }
218
+ var FIELD_WORDS = {
219
+ temperature: "Temperature",
220
+ knows: "What they know",
221
+ placements: "Placements"
222
+ };
223
+ function correctedViewer(read, fields) {
224
+ const stated = Object.keys(FIELD_WORDS).filter((key) => fields[key] !== void 0);
225
+ if (stated.length === 0) return read;
226
+ return {
227
+ ...read,
228
+ ...fields,
229
+ reasons: [...read.reasons, ...stated.map((key) => `${FIELD_WORDS[key]} given when the ad was scaffolded.`)]
230
+ };
231
+ }
232
+ var EVERY_PLACEMENT = "so the sizes keep clear of every placement";
233
+ async function readAdSet(adSetId, adSetViewer, notes) {
234
+ try {
235
+ const viewer = await adSetViewer(adSetId);
236
+ if (viewer) return viewer;
237
+ notes.push(`Ad set ${adSetId} is not in any connected Meta ad account, ${EVERY_PLACEMENT}.`);
238
+ } catch (e) {
239
+ notes.push(`Could not read ad set ${adSetId} (${e instanceof Error ? e.message : String(e)}), ${EVERY_PLACEMENT}.`);
240
+ }
241
+ return void 0;
242
+ }
243
+ async function recordedViewer(definition, adSetViewer) {
244
+ const { targetAdSet, viewer: recorded } = parseDefinitionViewerFields(definition);
245
+ if (!targetAdSet && recorded === void 0) return { ok: true, record: false, notes: [] };
246
+ const resolved = await resolveViewer({ recorded, targetAdSet }, { adSetViewer, personas: async () => [] });
247
+ const viewer = resolved.from === "recorded" || resolved.from === "ad_set" ? resolved.viewer : void 0;
248
+ return outcome(targetAdSet, viewer, false, resolved.notes);
249
+ }
250
+ function outcome(targetAdSet, viewer, record, notes) {
251
+ return {
252
+ ok: true,
253
+ ...targetAdSet ? { targetAdSet } : {},
254
+ ...viewer ? { viewer } : {},
255
+ record,
256
+ ...viewer && narrows(viewer.placements) ? { adPlacements: viewer.placements } : {},
257
+ notes
258
+ };
259
+ }
260
+ async function scaffoldViewer(flags, existingDefinition, adSetViewer) {
261
+ const targetAdSet = flagText(flags["target-adset"]);
262
+ const given = viewerFields(flags);
263
+ if (!given.ok) return given;
264
+ const { fields } = given;
265
+ if (!targetAdSet && !fields.temperature && (fields.knows || fields.placements)) {
266
+ return {
267
+ ok: false,
268
+ message: "--viewer-knows and --viewer-placements describe a viewer: pass --viewer-temperature too"
269
+ };
270
+ }
271
+ if (!targetAdSet && !fields.temperature && existingDefinition !== null) {
272
+ return await recordedViewer(existingDefinition, adSetViewer);
273
+ }
274
+ const notes = [];
275
+ const read = targetAdSet ? await readAdSet(targetAdSet, adSetViewer, notes) : void 0;
276
+ const viewer = read ? correctedViewer(read, fields) : givenViewer(fields);
277
+ return outcome(targetAdSet, viewer, targetAdSet !== void 0 || viewer !== void 0, notes);
278
+ }
279
+
280
+ // src/commands/canvas/scaffold-static-ad.ts
281
+ function toCanvasRelative(canvasDir, file) {
282
+ const rel = path.relative(canvasDir, file).split(path.sep).join("/");
283
+ return rel.startsWith(".") ? rel : `./${rel}`;
284
+ }
285
+ async function uploadSourceAsReference(source, isUrl, client) {
286
+ let bytes;
287
+ if (isUrl) {
288
+ try {
289
+ ({ buffer: bytes } = await fetchExternalBytes(source, { maxBytes: MAX_REMOTE_IMAGE_BYTES }));
290
+ } catch (e) {
291
+ throw new Error(`failed to download source image (${e instanceof Error ? e.message : String(e)})`);
292
+ }
293
+ } else {
294
+ bytes = await readFile(source);
295
+ }
296
+ const safe = await toModelSafeImage(bytes);
297
+ const sha256 = sha256Hex(safe.bytes);
298
+ const { putUrl, publicUrl } = await client.presignAssetUpload(sha256, safe.mime, void 0, "source");
299
+ const putRes = await fetch(putUrl, {
300
+ method: "PUT",
301
+ body: new Uint8Array(safe.bytes),
302
+ headers: { "Content-Type": safe.mime }
303
+ });
304
+ if (!putRes.ok) throw new Error(`source upload failed (${putRes.status})`);
305
+ return publicUrl;
306
+ }
307
+ async function brandFace(root, kit, toCanvas) {
308
+ const font = await brandHeadlineFont({
309
+ file: kit.headlineFont,
310
+ named: await readNamedTypefaces(root),
311
+ resolveUrl: (family, weight) => webFontUrl(family, weight, { lookupGoogleCss, fetchJson })
312
+ });
313
+ if (!font) return null;
314
+ return "path" in font.slot ? { ...font, slot: { path: toCanvas(font.slot.path) } } : font;
315
+ }
316
+ function staticTextNote(report) {
317
+ if (report.text_forward) {
318
+ return "The reference pictures nothing but copy, so this ad is its words on the brand's colours: keep prompt.json's `references` empty unless the concept wants a picture.";
319
+ }
320
+ const face = report.font ? `in ${report.font}, shown to it as a specimen` : "in the face `brand.typeface` names (the brand has no font file)";
321
+ return `The copy is set by the image model: every line of \`copy\` in prompt.json, exactly as written, once. A line marked \`"lettering": "designed"\` is set ${face}; a line marked \`"in_scene"\` is lettered on the object it names (\`on\`), the way \`look\` says. Edit the copy in prompt.json; every run compiles the render prompts from it again and the review reads every word back against it.`;
322
+ }
323
+ function staticFormatsNote(report, genModel, delivery) {
324
+ const set = delivery ? ` ${deliveryNote(delivery, report.format_plan.master.renderRatio)}` : "";
325
+ const banners = report.banners.length > 0 ? ` The fixed banners ${report.banners.join(", ")} are not made from the picture: make them apart, from the delivered sizes, before staging a display campaign.` : "";
326
+ const plan = report.format_plan;
327
+ const made = {
328
+ master: (format) => `${format} is the chosen picture (rendered at ${plan.master.renderRatio})`,
329
+ relayout: (format) => `${format} is the chosen ad re-laid out for that frame by the image model (one billed request): the same words, people, product and logo, re-scaled for the frame, inside its safe area`,
330
+ crop: (format) => `${format} is cut from it, every word kept inside its safe area (free)`,
331
+ adapt: (format) => `${format} is adapted from it by the reframe model (one billed request)`
332
+ };
333
+ const how = plan.sizes.map((f) => made[f.from]?.(f.format) ?? f.format).join("; ");
334
+ const again = plan.sizes.some((s) => s.from === "relayout") ? "" : " No size is rendered again.";
335
+ return `Delivers ${report.output_formats.join(", ")}, each at its exact size, all from one picture (${genModel}): ${how}.${again}${set}${banners}`;
336
+ }
337
+ function viewerOutput(who) {
338
+ return {
339
+ ...who.targetAdSet ? { target_adset: who.targetAdSet } : {},
340
+ ...who.viewer ? {
341
+ viewer: {
342
+ temperature: who.viewer.temperature,
343
+ knows: who.viewer.knows,
344
+ placements: who.viewer.placements,
345
+ source: who.viewer.source
346
+ }
347
+ } : {}
348
+ };
349
+ }
350
+ function viewerNote(who) {
351
+ if (!who.viewer) {
352
+ return "Nobody said who sees this ad: pass --target-adset <id> (or, with no ad account, --viewer-temperature from the Knowledge) so the sizes keep clear of its placements and every run checks the ad against that viewer. Until then it is checked against a cold stranger.";
353
+ }
354
+ const sizes = who.adPlacements ? `the sizes keep clear of ${who.adPlacements.join(", ")}` : "the sizes keep clear of every placement (Advantage+)";
355
+ return `Made for ${describeViewer(who.viewer)}: write prompt.json's \`viewer\` for them, ${sizes}, and every run checks the ad against this viewer before it spends.`;
356
+ }
357
+ function resolveModels(args) {
358
+ return {
359
+ describeModel: resolveModel("image_describe", args["describe-model"], AD_DESCRIBE_MODEL),
360
+ selectModel: resolveModel("text_generate", args["select-model"], BLUEPRINT_ANALYSIS_MODEL),
361
+ // The render model: `--gen-model`, else the router's model for the concept (decided once
362
+ // the blueprint is read, `renderModelFor`). Resolved here only so a bad override fails for free.
363
+ genModel: args["gen-model"] ? resolveModel("image_generate", args["gen-model"], String(args["gen-model"])) : void 0
364
+ };
365
+ }
366
+ async function deliveryOrFail(args, definitionText, isCreative) {
367
+ if (!isCreative && !namesDelivery(args)) return void 0;
368
+ const resolved = await scaffoldDelivery(args, definitionText);
369
+ if (!resolved.ok) return fail(resolved.error.code, resolved.error.message, resolved.error.fix);
370
+ return resolved.delivery;
371
+ }
372
+ function deliveryOutput(delivery) {
373
+ return delivery ? { platforms: delivery.platforms, lead: delivery.lead, platform_source: delivery.source } : {};
374
+ }
375
+ async function validateScaffoldedStaticAd(canvas, canvasDir) {
376
+ const validation = await validateCanvasDeep(resolveRelativeCanvasPaths(canvas, canvasDir), defaultRegistry());
377
+ if (validation.ok) return { blocking: [], hints: [], estimatedCredits: validation.estimatedCredits };
378
+ const overCap = validation.issues.filter((i) => i.code === "PROMPT_OVER_MODEL_LIMIT");
379
+ return {
380
+ blocking: validation.issues.filter((i) => i.code !== "PROMPT_OVER_MODEL_LIMIT"),
381
+ hints: overCap.map((i) => `${i.code}: ${i.message} Trim prompt.json, then \`baker canvas validate\`.`)
382
+ };
383
+ }
384
+ function buildDescribeCanvas(imageSource, imageIsUrl, describeModel, selectModel, context) {
385
+ const originalParams = imageIsUrl ? { source: "url", url: imageSource, expect: "image" } : { source: "path", path: imageSource, expect: "image" };
386
+ return {
387
+ schema: "baker-canvas/1",
388
+ metadata: { name: "static-ad describe pass" },
389
+ nodes: [
390
+ { id: "original", type: "ingest", params: originalParams },
391
+ {
392
+ id: "describe",
393
+ type: "image_describe",
394
+ inputs: { image: "$ref:original.asset" },
395
+ params: { model: describeModel, max_tokens: 9e3, ...context ? { context } : {}, focus: AD_DESCRIBE_FOCUS }
396
+ },
397
+ {
398
+ id: "select",
399
+ type: "text_generate",
400
+ inputs: { blueprint: "$ref:describe.description" },
401
+ params: {
402
+ model: selectModel,
403
+ max_tokens: 4e3,
404
+ temperature: 0,
405
+ response_format: "json_object",
406
+ system: AD_SELECT_SYSTEM,
407
+ prompt: AD_SELECT_PROMPT
408
+ }
409
+ }
410
+ ]
411
+ // No declared output: runVisionPasses reads both node outputs after the run.
412
+ };
413
+ }
414
+ async function runVisionPasses(canvas) {
415
+ const engine = createEngineFromEnv({ log: (line) => process.stderr.write(`${line}
416
+ `) });
417
+ let outputsByNode;
418
+ let creditsSpent;
419
+ try {
420
+ const result = await engine.run(canvas, {});
421
+ outputsByNode = result.outputs_by_node;
422
+ creditsSpent = result.stats?.total_credits;
423
+ } catch (e) {
424
+ if (e instanceof ValidationError) return fail("validation", JSON.stringify(e.issues));
425
+ return fail("describe", e instanceof Error ? e.message : String(e));
426
+ }
427
+ try {
428
+ const blueprint = JSON.parse(await loadAssetText(outputsByNode.describe?.description, "describe output"));
429
+ const elements = parseElements(await loadAssetText(outputsByNode.select?.text, "selection output"));
430
+ return { blueprint, elements, creditsSpent };
431
+ } catch (e) {
432
+ return fail("read_outputs", e instanceof Error ? e.message : String(e));
433
+ }
434
+ }
435
+ function noFitNote(reference) {
436
+ return `${NO_FIT_HINT}: \`baker winning-ads fit ${reference.ad_id} --platform ${reference.platform}\` says what it wins on and what we have for it, and re-scaffolding seeds prompt.json's \`concept\` from it.`;
437
+ }
438
+ function sharesLibraryRead(args, fromLibrary) {
439
+ return fromLibrary && !args.file && !args.context && !args["describe-model"] && !args["select-model"];
440
+ }
441
+ async function sharedLibraryRead(reference) {
442
+ try {
443
+ const read = referenceReadResponseSchema.parse(
444
+ await apiPost(
445
+ "/api/ad-library/reference-read",
446
+ { ad_id: reference.ad_id, platform: reference.platform },
447
+ { timeoutMs: 24e4 }
448
+ )
449
+ );
450
+ process.stderr.write(`[read ] ${read.reused ? "the library's read of this ad, already made" : "read this ad for the library"}
451
+ `);
452
+ return {
453
+ blueprint: read.blueprint,
454
+ elements: parseElements(JSON.stringify({ elements: read.elements })),
455
+ creditsSpent: read.credits_charged
456
+ };
457
+ } catch (e) {
458
+ process.stderr.write(`[read ] the library's read is unavailable (${e instanceof Error ? e.message : String(e)}); reading the picture here
459
+ `);
460
+ return null;
461
+ }
462
+ }
463
+ var SOURCE_AD_ID_DESCRIPTION = "The winners-library ad this creative adapts (the `ad_id` from `baker winning-ads search`). The library's read of that ad (container, layout, colours, text blocks with their roles, persuasion mechanism, offer) is fetched and written into prompt.json as `reference`, the describe pass is told it so the two reads agree, and the source is recorded on the creative from this scaffold on. With it, the image is optional: the library's picture is used when none is given. Pass it whenever the reference came from the library.";
464
+ var PLATFORMS_DESCRIPTION = `Where the ad runs, the main platform first. Start here: --platforms meta (4:5 + 9:16), --platforms linkedin (1:1), --platforms linkedin,meta (1:1 first, then 4:5 + 9:16). Take it from the person's request, the idea or the ad set; required for a creative, never defaulted. Every size the platforms need is delivered, the platform's own size designed first, each kept clear of its placement's interface; a placement id names one placement alone (meta_stories: 9:16 only). Platforms: ${Object.entries(AD_PLATFORM_LEAD).map(([p, lead]) => `${p} (${lead})`).join(", ")}. Fixed banner sizes (728x90\u2026) are listed, not made.`;
465
+ var FORMATS_DESCRIPTION = "Exactly the sizes to deliver, when the person asks for others than the platform's (e.g. `--platforms linkedin --formats 1:1,4:5`). A size the platform never shows is refused; leaving out one it needs is honoured with a warning naming the placements that get a cropped picture.";
466
+ var RETIRED_PLATFORM_DESCRIPTION = "Retired: use --platforms. Still read (meta|google|linkedin|tiktok|youtube|x) and mapped onto --platforms.";
467
+ var RETIRED_PLACEMENTS_DESCRIPTION = "Retired: use --platforms (meta_feed_stories \u2192 meta, meta_all \u2192 meta,meta_right_column). `none` is refused: name the placement instead (--platforms meta_stories).";
468
+ var SOURCE_PLATFORM_DESCRIPTION = `Which platform the library ad is on: ${LIBRARY_PLATFORMS.join("|")} (default meta).`;
469
+ var TARGET_ADSET_DESCRIPTION = "The Meta ad set this ad will run in (an id from `baker ads meta adsets`). Who it reaches is read off its targeting, as `baker ads meta adsets --audience` reads it, and recorded in _definition.md as `targetAdSet` and `viewer`; the sizes and the render brief keep clear of its placements, and every run checks the ad against that viewer. Free, read before anything is billed. Start here whenever the ad is for a known ad set.";
470
+ var VIEWER_TEMPERATURE_DESCRIPTION = "With no ad set to read (no ad account, or not decided yet): how warm the viewer is, from the Knowledge (personas, funnel): cold (never heard of the brand), warm (knows the brand), hot (a customer). Recorded as `viewer` with `source: knowledge`. With --target-adset it corrects the temperature read off the ad set.";
471
+ var VIEWER_KNOWS_DESCRIPTION = "What the viewer already knows, comma-separated from brand,offer,product (e.g. `brand,offer`). Needs --viewer-temperature or --target-adset.";
472
+ var VIEWER_PLACEMENTS_DESCRIPTION = "Where the viewer meets the ad, comma-separated Meta placements (e.g. `instagram_feed,facebook_feed`, `instagram_stories`); default automatic (Advantage+, Reels included). The sizes keep clear of these placements' interface. Needs --viewer-temperature or --target-adset.";
473
+ var OPERATOR = "Operator only, agents never need it.";
474
+ var SCAFFOLD_SHAPES = ["plate", "relayout"];
475
+ function masterShapeArg(value) {
476
+ if (value === void 0) return void 0;
477
+ const shape = SCAFFOLD_SHAPES.find((s) => s === String(value));
478
+ return shape ?? null;
479
+ }
480
+ var SOURCE_ADVERTISER_ID_DESCRIPTION = "The library advertiser id of the reference (the `advertiser_id` beside the ad in search results). Defaults to the one the library returns for the ad.";
481
+ registerSchema({
482
+ command: "canvas.scaffold-static-ad",
483
+ description: "Turn a reference image into a runnable static-ad canvas: billed image_describe + element-selection passes, then a canvas on which the image model renders the finished ad from prompt.json. Start here for a static ad adapted from a winning ad: pass `--source-ad-id <ad_id> --source-platform <platform>` from the search result, so the library's structured read grounds the describe pass (and so prompt.json) and the source is recorded on the creative; the image may then be omitted. Use `--avatar <handle>` by default whenever the ad needs a person: inspect `baker avatars list`, choose a ready actor who fits the buyer, or create one with explicit identity and setting. Description-only casting remains available when explicitly requested.",
484
+ args: {
485
+ file: {
486
+ type: "positional",
487
+ required: false,
488
+ description: "Path or http(s) URL to the reference image. Optional with --source-ad-id: the library's picture is used."
489
+ },
490
+ "source-ad-id": { type: "string", required: false, description: SOURCE_AD_ID_DESCRIPTION },
491
+ spec: {
492
+ type: "string",
493
+ required: false,
494
+ description: "Start from an ad spec (a prompt.json) instead of a reference picture: no describe pass, no source. `baker creatives make` writes one from an idea when no proven ad fits. Needs --slug."
495
+ },
496
+ "source-platform": {
497
+ type: "string",
498
+ required: false,
499
+ description: SOURCE_PLATFORM_DESCRIPTION,
500
+ enum: [...LIBRARY_PLATFORMS]
501
+ },
502
+ "source-advertiser-id": { type: "string", required: false, description: SOURCE_ADVERTISER_ID_DESCRIPTION },
503
+ context: {
504
+ type: "string",
505
+ required: false,
506
+ description: "Known provenance (advertiser, category, market, their brand palette) to ground the describe pass"
507
+ },
508
+ slug: {
509
+ type: "string",
510
+ required: false,
511
+ description: "Creative slug: writes src/creatives/<slug>/<slug>.canvas.json, prompt.json and _definition.md"
512
+ },
513
+ title: { type: "string", required: false, description: "Creative title for _definition.md (default: title-cased slug)" },
514
+ platform: { type: "string", required: false, description: RETIRED_PLATFORM_DESCRIPTION },
515
+ advertiser: {
516
+ type: "string",
517
+ required: false,
518
+ description: "Source advertiser name for _definition.md (default: the library ad's advertiser when --source-ad-id is given)"
519
+ },
520
+ placements: { type: "string", required: false, description: RETIRED_PLACEMENTS_DESCRIPTION },
521
+ platforms: { type: "string", required: false, description: PLATFORMS_DESCRIPTION },
522
+ formats: { type: "string", required: false, description: FORMATS_DESCRIPTION },
523
+ aspect: {
524
+ type: "string",
525
+ required: false,
526
+ description: "Retired: adds this size when the platforms show it (never narrows). For an ad-hoc canvas with no platform, its one size."
527
+ },
528
+ "target-adset": { type: "string", required: false, description: TARGET_ADSET_DESCRIPTION },
529
+ "viewer-temperature": {
530
+ type: "string",
531
+ required: false,
532
+ description: VIEWER_TEMPERATURE_DESCRIPTION,
533
+ enum: [...VIEWER_TEMPERATURE_VALUES]
534
+ },
535
+ "viewer-knows": { type: "string", required: false, description: VIEWER_KNOWS_DESCRIPTION },
536
+ "viewer-placements": { type: "string", required: false, description: VIEWER_PLACEMENTS_DESCRIPTION },
537
+ takes: {
538
+ type: "string",
539
+ required: false,
540
+ description: "Variants of the finished ad rendered (one request each) and judged, 1-3 (default 3). 1 skips the judge."
541
+ },
542
+ avatar: {
543
+ type: "string",
544
+ required: false,
545
+ description: "Cast company avatars as the ad's people, comma-separated in detection order (`marta` or `marta,joan`)"
546
+ },
547
+ out: { type: "string", required: false, description: "Output canvas path (default <image-dir>/static-ad.canvas.json)" },
548
+ "describe-model": { type: "string", required: false, description: "Override the image_describe model id" },
549
+ "select-model": { type: "string", required: false, description: "Override the element-selection text_generate model id" },
550
+ "gen-model": { type: "string", required: false, description: "Override the image_generate model id" }
551
+ }
552
+ });
553
+ async function lookupReference(args) {
554
+ const adId = args["source-ad-id"] ? String(args["source-ad-id"]).trim() : "";
555
+ if (!adId) return { status: "none" };
556
+ const platformResult = resolveSourcePlatform(args["source-platform"] ? String(args["source-platform"]) : void 0);
557
+ if (!platformResult.ok) return fail("invalid_source_platform", platformResult.message);
558
+ const platform = platformResult.platform;
559
+ const advertiserId = args["source-advertiser-id"] ? String(args["source-advertiser-id"]).trim() : void 0;
560
+ try {
561
+ const ad = await fetchLibraryReference(adId, platform);
562
+ const refusal = notADesignReference(platform, adId, ad);
563
+ if (refusal) return { status: "refused", refusal };
564
+ return {
565
+ status: "grounded",
566
+ reference: libraryReferenceBlock(ad, { adId, platform, advertiserId }),
567
+ mediaUrl: ad.media_url ?? void 0
568
+ };
569
+ } catch (e) {
570
+ return { status: "unavailable", adId, platform, message: e instanceof Error ? e.message : String(e) };
571
+ }
572
+ }
573
+ async function scaffoldFromSpec(args, slug) {
574
+ if (!slug) return fail("missing_slug", "--spec needs --slug: an ad started from a spec is a creative.");
575
+ const specPath = path.resolve(process.cwd(), String(args.spec));
576
+ let started;
577
+ try {
578
+ started = readAdSpec(JSON.parse(await readFile(specPath, "utf8")));
579
+ } catch (e) {
580
+ return fail("invalid_spec", `${specPath} is not an ad spec: ${e instanceof Error ? e.message : String(e)}`);
581
+ }
582
+ const outPath = path.join(process.cwd(), "src", "creatives", slug, `${slug}.canvas.json`);
583
+ const dir = path.dirname(outPath);
584
+ const blueprintPath = path.join(dir, "prompt.json");
585
+ const definitionPath = path.join(dir, "_definition.md");
586
+ const existingDefinition = await fileExists(definitionPath) ? await readFile(definitionPath, "utf8") : null;
587
+ const delivery = await deliveryOrFail(args, existingDefinition, true);
588
+ await enforceNewCreativeLimit(slug, outPath);
589
+ const who = await scaffoldViewer(args, existingDefinition, liveViewerLookups(process.cwd()).adSetViewer);
590
+ if (!who.ok) return fail("invalid_viewer", who.message);
591
+ const avatars = await resolveCastAvatars(args.avatar);
592
+ if ("error" in avatars) return fail("avatar", avatars.error);
593
+ const persona = existingDefinition?.match(/^persona:\s*"?([^"\n]+)"?\s*$/m)?.[1] ?? started.viewer?.who;
594
+ const cast = castOnIdeaSpec(started, avatars.avatars, persona);
595
+ await mkdir(dir, { recursive: true });
596
+ const workspaceRoot = await findBrandRoot(dir) ?? process.cwd();
597
+ const found = await withClientLogo(workspaceRoot, await readStaticBrandKit(workspaceRoot), () => readStaticBrandKit(workspaceRoot));
598
+ const kit = found.kit;
599
+ const market = who.viewer?.market ?? marketFromCompanyDoc(await readFile(path.join(workspaceRoot, "COMPANY.md"), "utf8").catch(() => null));
600
+ const brand = brandBlock(kit);
601
+ const font = await brandFace(workspaceRoot, kit, (file) => toCanvasRelative(dir, file));
602
+ const genModel = pickImageModel(conceptClassOf(cast.spec), "generate");
603
+ const masterShape = masterShapeArg(args["master-shape"]);
604
+ if (masterShape === null) return fail("invalid_master_shape", `--master-shape is ${SCAFFOLD_SHAPES.join(" or ")}`);
605
+ const logo = await placedLogo(kit.logo, (file) => toCanvasRelative(dir, file));
606
+ const opts = {
607
+ genModel,
608
+ blueprintPath: "./prompt.json",
609
+ ...masterShape ? { masterShape } : {},
610
+ ...delivery ? { delivery } : {},
611
+ ...who.adPlacements ? { adPlacements: who.adPlacements } : {},
612
+ brand: { logoPath: kit.logo ? toCanvasRelative(dir, kit.logo) : void 0, ...logo.brand, ...font ? { font } : {} },
613
+ ...logo.opts
614
+ };
615
+ const report = staticAdReport({}, cast.elements, { ...opts, spec: cast.spec });
616
+ const spec = {
617
+ ...cast.spec,
618
+ ...brand ? { brand: { ...brand, ...cast.spec.brand } } : {},
619
+ formats: report.output_formats,
620
+ logo: Boolean(kit.logo),
621
+ ...market ? { viewer: { ...cast.spec.viewer ?? { who: "the people this ad is for" }, market } } : {}
622
+ };
623
+ await writeFile(blueprintPath, `${JSON.stringify(spec, null, 2)}
624
+ `, "utf8");
625
+ const canvas = scaffoldStaticAd({}, cast.elements, { ...opts, spec });
626
+ const validation = await validateScaffoldedStaticAd(canvas, dir);
627
+ if (validation.blocking.length > 0) return fail("validation", validation.blocking.map((i) => i.message).join("; "));
628
+ await writeFile(outPath, `${JSON.stringify(canvas, null, 2)}
629
+ `, "utf8");
630
+ const title = args.title ? String(args.title) : titleFromSlug(slug);
631
+ const recorded = who.record ? { targetAdSet: who.targetAdSet, viewer: who.viewer } : {};
632
+ const where = delivery ? deliveryDefinitionFields(delivery) : void 0;
633
+ if (existingDefinition === null) {
634
+ const formats = resolveFormatList(report.output_formats);
635
+ await writeFile(definitionPath, buildCreativeDefinition({ title, kind: "static", ...where, formats, ...recorded }), "utf8");
636
+ } else if (where) {
637
+ await writeFile(definitionPath, setDefinitionDelivery(existingDefinition, where), "utf8");
638
+ }
639
+ await syncCreativeDefinitionBestEffort({
640
+ slug,
641
+ title,
642
+ ...where ? { platform: where.platform } : {},
643
+ ...await readDefinitionPlatforms(outPath),
644
+ formats: resolveFormatList(report.output_formats),
645
+ canvas,
646
+ sourceSha: await computeSourceSha(outPath)
647
+ });
648
+ process.stdout.write(
649
+ `${JSON.stringify(
650
+ {
651
+ ok: true,
652
+ canvas_path: outPath,
653
+ prompt_path: blueprintPath,
654
+ definition_path: definitionPath,
655
+ output: canvas.output,
656
+ hints: [...who.notes, ...delivery?.notes ?? [], ...found.hint ? [found.hint] : [], ...validation.hints],
657
+ ...viewerOutput(who),
658
+ ...deliveryOutput(delivery),
659
+ output_formats: report.output_formats,
660
+ master_shape: report.master_shape,
661
+ stats: { total_nodes: canvas.nodes.length, describe_credits_spent: 0, run_estimated_credits: validation.estimatedCredits }
662
+ },
663
+ null,
664
+ 2
665
+ )}
666
+ `
667
+ );
668
+ }
669
+ var scaffoldStaticAdCommand = defineCommand({
670
+ meta: {
671
+ name: "scaffold-static-ad",
672
+ description: "Turn a source/inspiration image into a runnable static-ad canvas. Runs billed passes \u2014 image_describe (read into prompt.json, the ad spec you rewrite) and an AI selection of the image's MAIN identity elements \u2014 then scaffolds a canvas on which the image model renders the FINISHED ad: up to three variants, one request each, from a brief compiled from prompt.json, the copy quoted verbatim, the brand's typeface shown as a specimen and the logo from src/brand/logos/ as a reference (only when prompt.json has \"logo\": true). A prefilter drops variants whose words or placement fail the checks, and a judge compares the rest pairwise against the brief; the chosen picture is delivered at the platform's lead size (4:5 on Meta, 1:1 on LinkedIn) and every other placement format is that ad re-laid out for its own frame by one image request, with the chosen picture as the reference: the same words, people, product and logo, re-scaled for the frame, never cut or shrunk onto a background. The run reads every word back and refuses to call the ad ready when one is off. No copy means the picture is the ad. Where the ad runs decides its sizes: pass --platforms (meta \u2192 4:5 + 9:16, linkedin \u2192 1:1, tiktok \u2192 9:16), from the person's request; a creative with none is refused. Edit prompt.json and drop the real assets, then `baker canvas run` it. A person is cast from a suitable company Avatar by default: pass `--avatar <handle>` (`baker avatars list`), or create one with explicit identity and buyer setting. A description-only one-off remains available when explicitly requested. Never cast a stranger from a searched photo. A reference from the library: pass `--source-ad-id <ad_id> --source-platform <platform>` so its structured read grounds the describe pass and the source is recorded on the creative."
673
+ },
674
+ args: {
675
+ file: {
676
+ type: "positional",
677
+ required: false,
678
+ description: "Path or http(s) URL to the source/inspiration image (optional with --source-ad-id)"
679
+ },
680
+ "source-ad-id": { type: "string", description: SOURCE_AD_ID_DESCRIPTION },
681
+ spec: {
682
+ type: "string",
683
+ description: "Start from an ad spec (a prompt.json) instead of a reference picture: no describe pass, no source. `baker creatives make` writes one from an idea when no proven ad fits. Needs --slug."
684
+ },
685
+ "source-platform": { type: "string", description: SOURCE_PLATFORM_DESCRIPTION },
686
+ "source-advertiser-id": { type: "string", description: SOURCE_ADVERTISER_ID_DESCRIPTION },
687
+ context: { type: "string", description: "Known provenance (advertiser, category, market) to ground the describe" },
688
+ out: { type: "string", description: "Output canvas path (default <image-dir>/static-ad.canvas.json)" },
689
+ slug: {
690
+ type: "string",
691
+ description: "Creative slug \u2014 writes the canvas to src/creatives/<slug>/<slug>.canvas.json (repo convention)"
692
+ },
693
+ title: { type: "string", description: "Creative title for _definition.md (default: title-cased slug)" },
694
+ platform: { type: "string", description: RETIRED_PLATFORM_DESCRIPTION },
695
+ advertiser: {
696
+ type: "string",
697
+ description: "Source advertiser recorded in _definition.md (default: the library ad's advertiser)"
698
+ },
699
+ "describe-model": { type: "string", description: "Override the image_describe model id" },
700
+ "select-model": { type: "string", description: "Override the text_generate model id for element selection" },
701
+ "gen-model": { type: "string", description: "Override the image_generate model id" },
702
+ aspect: {
703
+ type: "string",
704
+ description: "Retired: adds this size when the platforms show it (never narrows). For an ad-hoc canvas with no platform, its one size."
705
+ },
706
+ "target-adset": { type: "string", description: TARGET_ADSET_DESCRIPTION },
707
+ "viewer-temperature": { type: "string", description: VIEWER_TEMPERATURE_DESCRIPTION },
708
+ "viewer-knows": { type: "string", description: VIEWER_KNOWS_DESCRIPTION },
709
+ "viewer-placements": { type: "string", description: VIEWER_PLACEMENTS_DESCRIPTION },
710
+ placements: { type: "string", description: RETIRED_PLACEMENTS_DESCRIPTION },
711
+ platforms: { type: "string", description: PLATFORMS_DESCRIPTION },
712
+ formats: { type: "string", description: FORMATS_DESCRIPTION },
713
+ takes: {
714
+ type: "string",
715
+ description: "Variants of the finished ad to render (one request each) and judge, 1-3 (default 3). 1 skips the judge."
716
+ },
717
+ "master-shape": {
718
+ type: "string",
719
+ description: `${OPERATOR} How the sizes are made: plate (each variant's picture drawn without the ad's words, every size cut from the chosen one and its words set for it) or relayout (each size re-laid out from the chosen ad). Default: routed by the ad's kind, plate for a photo-led ad and relayout for a designed, chat, screenshot or interface one (the output's master_shape says why). On an existing creative, plate moves it onto one picture, keeping its approved size.`
720
+ },
721
+ avatar: {
722
+ type: "string",
723
+ description: "Cast company avatars as the ad's people \u2014 preferred whenever an ad needs an actor, including a single ad. Choose a ready avatar who fits the buyer, or create one with explicit identity and setting. One handle, or several comma-separated in the order the people were detected (`--avatar marta` / `--avatar marta,joan`). Each person slot grounds on that avatar's identity sheet and prompt.json describes them in the avatar's own words, so the ad shows the company's cast instead of the source ad's. `baker avatars list` shows who there is; checked before anything is billed."
724
+ }
725
+ },
726
+ async run({ args }) {
727
+ const slug = args.slug ? String(args.slug) : void 0;
728
+ if (slug && !isValidScaffoldSlug(slug)) {
729
+ process.stderr.write(
730
+ `${JSON.stringify({ ok: false, error: { code: "invalid_slug", message: "--slug must be lowercase kebab (a-z, 0-9, hyphens), max 100 chars" } }, null, 2)}
731
+ `
732
+ );
733
+ process.exit(2);
734
+ }
735
+ if (args.spec) return scaffoldFromSpec(args, slug);
736
+ const lookup = await lookupReference(args);
737
+ if (lookup.status === "refused") return fail("not_a_design_reference", lookup.refusal.message, lookup.refusal.fix);
738
+ if (lookup.status === "unavailable") {
739
+ process.stderr.write(
740
+ `[warn] winners-library ad ${lookup.adId} (${lookup.platform}) could not be read (${lookup.message}); scaffolding without its structured read
741
+ `
742
+ );
743
+ }
744
+ const reference = lookup.status === "grounded" ? lookup.reference : void 0;
745
+ const fileArg = args.file ? String(args.file) : void 0;
746
+ const sourceFile = fileArg ?? (lookup.status === "grounded" ? lookup.mediaUrl : void 0);
747
+ if (!sourceFile) {
748
+ if (lookup.status === "none") return fail("missing_source", "Pass the reference image, or --source-ad-id <ad_id> to use a library ad.");
749
+ if (lookup.status === "unavailable") return fail("source_unavailable", `No image given and the library ad could not be read (${lookup.message}).`);
750
+ return fail("source_unavailable", `The library holds no picture for ad ${reference?.ad_id}; pass the image.`);
751
+ }
752
+ const { imageIsUrl, imageSource, outPath, blueprintPath, definitionPath, referencesDir } = resolveScaffoldStaticAdPaths(sourceFile, args.out ? String(args.out) : void 0, process.cwd(), slug);
753
+ if (slug) await enforceNewCreativeLimit(slug, outPath);
754
+ const existingDefinition = definitionPath && await fileExists(definitionPath) ? await readFile(definitionPath, "utf8") : null;
755
+ const delivery = await deliveryOrFail(args, existingDefinition, definitionPath !== null);
756
+ const who = await scaffoldViewer(args, existingDefinition, liveViewerLookups(process.cwd()).adSetViewer);
757
+ if (!who.ok) return fail("invalid_viewer", who.message);
758
+ const fitRoot = findWorkspaceRoot(process.cwd()) ?? process.cwd();
759
+ const fit = reference || lookup.status === "unavailable" ? await readCachedFit(fitRoot, reference?.platform ?? (lookup.status === "unavailable" ? lookup.platform : "meta"), reference?.ad_id ?? (lookup.status === "unavailable" ? lookup.adId : "")) : null;
760
+ const fitProblems = fit ? fitHints(fit, reference?.ad_id ?? "").filter((h) => h.startsWith("Pick another reference")) : [];
761
+ if (fitProblems.length > 0) return fail("concept_does_not_fit", fitProblems.join(" "));
762
+ await mkdir(path.dirname(outPath), { recursive: true });
763
+ let models;
764
+ try {
765
+ models = resolveModels(args);
766
+ } catch (e) {
767
+ return fail("unknown_model", e instanceof Error ? e.message : String(e));
768
+ }
769
+ const { describeModel, selectModel } = models;
770
+ const cast = await resolveCastAvatars(args.avatar);
771
+ if ("error" in cast) return fail("avatar", cast.error);
772
+ let durableSourceUrl;
773
+ if (referencesDir) {
774
+ const client = buildBackendClient();
775
+ if (client) {
776
+ try {
777
+ durableSourceUrl = await uploadSourceAsReference(imageSource, imageIsUrl, client);
778
+ } catch (e) {
779
+ return fail("source_unavailable", e instanceof Error ? e.message : String(e));
780
+ }
781
+ }
782
+ }
783
+ const describeCanvas = buildDescribeCanvas(
784
+ durableSourceUrl ?? imageSource,
785
+ durableSourceUrl !== void 0 || imageIsUrl,
786
+ describeModel,
787
+ selectModel,
788
+ referenceDescribeContext(reference, args.context ? String(args.context) : void 0)
789
+ );
790
+ const shared = reference && sharesLibraryRead(args, lookup.status === "grounded") ? await sharedLibraryRead(reference) : null;
791
+ const vision = shared ?? await runVisionPasses(describeCanvas);
792
+ const { creditsSpent } = vision;
793
+ const blueprint = mergeReferenceIntoBlueprint(vision.blueprint, reference);
794
+ const persona = existingDefinition?.match(/^persona:\s*"?([^"\n]+)"?\s*$/m)?.[1];
795
+ const elements = castAvatarsOnStaticElements(vision.elements, cast.avatars, persona);
796
+ const uncast = staticAvatarsNotCast(elements, cast.handles);
797
+ const canvasDir = path.dirname(outPath);
798
+ const workspaceRoot = await findBrandRoot(canvasDir) ?? process.cwd();
799
+ const found = await withClientLogo(workspaceRoot, await readStaticBrandKit(workspaceRoot), () => readStaticBrandKit(workspaceRoot));
800
+ const kit = found.kit;
801
+ const market = who.viewer?.market ?? marketFromCompanyDoc(await readFile(path.join(workspaceRoot, "COMPANY.md"), "utf8").catch(() => null));
802
+ const brand = brandBlock(kit);
803
+ let canvasImagePath = imageSource;
804
+ let canvasImageIsUrl = imageIsUrl;
805
+ let canvasBlueprintPath = blueprintPath;
806
+ if (referencesDir) {
807
+ canvasBlueprintPath = "./prompt.json";
808
+ if (durableSourceUrl) {
809
+ canvasImagePath = durableSourceUrl;
810
+ canvasImageIsUrl = true;
811
+ }
812
+ }
813
+ const where = delivery ? deliveryDefinitionFields(delivery) : void 0;
814
+ const relative = (file) => file ? toCanvasRelative(canvasDir, file) : void 0;
815
+ const takes = args.takes !== void 0 ? Number.parseInt(String(args.takes), 10) : void 0;
816
+ if (takes !== void 0 && !(takes >= 1 && takes <= 3)) return fail("invalid_takes", "--takes must be 1, 2 or 3");
817
+ const masterShape = masterShapeArg(args["master-shape"]);
818
+ if (masterShape === null) return fail("invalid_master_shape", `--master-shape is ${SCAFFOLD_SHAPES.join(" or ")}`);
819
+ const font = await brandFace(workspaceRoot, kit, (file) => toCanvasRelative(canvasDir, file));
820
+ const logo = await placedLogo(kit.logo, (file) => toCanvasRelative(canvasDir, file));
821
+ const genModel = models.genModel ?? pickImageModel(conceptClassOf(staticAdSpec(blueprint, elements)), "generate");
822
+ const opts = {
823
+ genModel,
824
+ imagePath: canvasImagePath,
825
+ imageIsUrl: canvasImageIsUrl,
826
+ blueprintPath: canvasBlueprintPath,
827
+ aspectRatio: args.aspect ? String(args.aspect) : void 0,
828
+ ...delivery ? { delivery } : {},
829
+ ...who.adPlacements ? { adPlacements: who.adPlacements } : {},
830
+ brand: { logoPath: relative(kit.logo), ...logo.brand, ...font ? { font } : {} },
831
+ ...logo.opts,
832
+ takes,
833
+ ...masterShape ? { masterShape } : {}
834
+ };
835
+ let canvas;
836
+ let report;
837
+ let conceptNotes = [];
838
+ try {
839
+ report = staticAdReport(blueprint, elements, { ...opts, spec: staticAdSpec(blueprint, elements, { logo: Boolean(kit.logo) }) });
840
+ const spec = staticAdSpec(blueprint, elements, {
841
+ brand,
842
+ formats: report.output_formats,
843
+ logo: Boolean(kit.logo),
844
+ ...fit ? { fit: conceptFromFit(fit, reference?.ad_id ?? "") } : {},
845
+ ...market ? { market } : {}
846
+ });
847
+ await writeFile(blueprintPath, `${JSON.stringify(spec, null, 2)}
848
+ `, "utf8");
849
+ conceptNotes = conceptProblems(spec).map(
850
+ (p) => `CONCEPT: ${p} Then \`baker canvas run\`; until then it refuses to render.`
851
+ );
852
+ if (!fit && reference) {
853
+ conceptNotes.push(noFitNote(reference));
854
+ }
855
+ canvas = scaffoldStaticAd(blueprint, elements, { ...opts, spec });
856
+ } catch (e) {
857
+ return fail("scaffold", e instanceof Error ? e.message : String(e));
858
+ }
859
+ const validation = await validateScaffoldedStaticAd(canvas, path.dirname(outPath));
860
+ if (validation.blocking.length > 0) {
861
+ process.stderr.write(
862
+ `${JSON.stringify({ ok: false, error: { code: "validation", issues: validation.blocking } }, null, 2)}
863
+ `
864
+ );
865
+ process.exit(2);
866
+ }
867
+ await writeFile(outPath, `${JSON.stringify(canvas, null, 2)}
868
+ `, "utf8");
869
+ const sourceFields = reference ? {
870
+ sourceAdId: reference.ad_id,
871
+ sourcePlatform: reference.platform,
872
+ ...reference.advertiser_id ? { sourceAdvertiserId: reference.advertiser_id } : {}
873
+ } : lookup.status === "unavailable" ? {
874
+ sourceAdId: lookup.adId,
875
+ sourcePlatform: lookup.platform,
876
+ ...args["source-advertiser-id"] ? { sourceAdvertiserId: String(args["source-advertiser-id"]).trim() } : {}
877
+ } : {};
878
+ const recorded = who.record ? { targetAdSet: who.targetAdSet, viewer: who.viewer } : {};
879
+ const sourceAdvertiser = args.advertiser ? String(args.advertiser) : reference?.advertiser;
880
+ const sourceReferenceUrl = durableSourceUrl ?? (imageIsUrl ? imageSource : void 0);
881
+ const rebased = existingDefinition !== null && sourceFields.sourceAdId && sourceFields.sourcePlatform ? rebasedDefinition(existingDefinition, {
882
+ ...sourceFields,
883
+ sourceAdId: sourceFields.sourceAdId,
884
+ sourcePlatform: sourceFields.sourcePlatform,
885
+ ...sourceAdvertiser ? { sourceAdvertiser } : {},
886
+ ...sourceReferenceUrl ? { sourceReferenceUrl } : {}
887
+ }) : existingDefinition;
888
+ if (definitionPath && rebased !== null && (who.record || where || rebased !== existingDefinition)) {
889
+ const viewed = who.record ? setDefinitionViewer(rebased, recorded) : rebased;
890
+ await writeFile(definitionPath, where ? setDefinitionDelivery(viewed, where) : viewed, "utf8");
891
+ }
892
+ if (definitionPath && existingDefinition === null) {
893
+ await writeFile(
894
+ definitionPath,
895
+ buildCreativeDefinition({
896
+ title: args.title ? String(args.title) : titleFromSlug(slug ?? ""),
897
+ kind: "static",
898
+ ...where,
899
+ formats: resolveFormatList(report.output_formats),
900
+ sourceReferenceUrl: durableSourceUrl ?? (imageIsUrl ? imageSource : void 0),
901
+ sourceAdvertiser: args.advertiser ? String(args.advertiser) : reference?.advertiser ?? (args.context ? String(args.context) : void 0),
902
+ ...sourceFields,
903
+ sourceKind: "image",
904
+ ...recorded,
905
+ description: describeBlueprintIntent(blueprint)
906
+ }),
907
+ "utf8"
908
+ );
909
+ }
910
+ if (slug) {
911
+ await syncCreativeDefinitionBestEffort({
912
+ slug,
913
+ title: args.title ? String(args.title) : titleFromSlug(slug),
914
+ ...where ? { platform: where.platform } : {},
915
+ ...await readDefinitionPlatforms(outPath),
916
+ formats: resolveFormatList(report.output_formats),
917
+ sourceReferenceUrl: durableSourceUrl ?? (imageIsUrl ? imageSource : void 0),
918
+ ...sourceFields,
919
+ canvas,
920
+ sourceSha: await computeSourceSha(outPath)
921
+ });
922
+ }
923
+ const hints = [
924
+ ...who.notes,
925
+ ...delivery?.notes ?? [],
926
+ ...lookup.status === "unavailable" ? [
927
+ `REFERENCE NOT READ: the winners library could not return ad ${lookup.adId} (${lookup.message}). prompt.json is read from the picture alone and has no \`reference\` block; the source ids are still recorded. Check the ad id and platform, or continue from the picture.`
928
+ ] : [],
929
+ ...uncast.length ? [
930
+ `NOT CAST: ${uncast.map((h) => `\`${h}\``).join(", ")} \u2014 the element selection found fewer people than avatars passed, so ${uncast.length === 1 ? "this avatar plays" : "these avatars play"} nobody in this ad. Tell the user who is cast and who is not.`
931
+ ] : [],
932
+ ...found.hint ? [found.hint] : [],
933
+ ...validation.hints,
934
+ ...conceptNotes,
935
+ ...report.describe_gaps.map(
936
+ (gap) => gap === "winning_mechanisms" ? "The describe pass named no winning mechanism. Look at the source ad, add a `mechanism` entry to prompt.json ({ device, why_it_works }) and rebuild that device for our brand; a rewrite without it keeps the look and loses what made the ad work." : "The describe pass recorded no typefaces. The designed lines are set in the brand's font when one loads (src/brand/fonts/, tokens.json or BRAND.md); with none, name our face in prompt.json's `brand.typeface` (for example \"a heavy geometric sans\"), or they are set in a plain sans."
937
+ )
938
+ ];
939
+ process.stdout.write(
940
+ `${JSON.stringify(
941
+ {
942
+ ok: true,
943
+ canvas_path: outPath,
944
+ prompt_path: blueprintPath,
945
+ definition_path: definitionPath ?? void 0,
946
+ source_reference: durableSourceUrl ?? void 0,
947
+ ...reference ? {
948
+ reference: {
949
+ ad_id: reference.ad_id,
950
+ platform: reference.platform,
951
+ advertiser_id: reference.advertiser_id,
952
+ format_pattern: reference.format_pattern,
953
+ mechanism: reference.message.mechanism
954
+ }
955
+ } : {},
956
+ output: canvas.output,
957
+ ...hints.length ? { hints } : {},
958
+ models: { describe: describeModel, select: selectModel, gen: opts.genModel },
959
+ aspect_ratio: report.aspect_ratio,
960
+ ...deliveryOutput(delivery),
961
+ ...viewerOutput(who),
962
+ output_formats: report.output_formats,
963
+ // As the canvas records it: its spec carries the fit's concept, which the report's does not.
964
+ master_shape: recordedShape(canvas) ?? report.master_shape,
965
+ stats: {
966
+ total_nodes: canvas.nodes.length,
967
+ describe_credits_spent: creditsSpent,
968
+ run_estimated_credits: validation.estimatedCredits
969
+ },
970
+ checklist: {
971
+ edit_prompt: `Edit ${path.basename(blueprintPath)}: it is the ad spec, read from your image, to rewrite into the ad you want. \`viewer\` (who sees it and what they already know), \`message\` (the one thing it tells them), \`copy\` (each line, \`in_scene\` or \`designed\`), \`scene\`, \`references\` (one picture each, by role), \`colors\` (each tied to an object, from the brand) and an optional \`direction\`. You never write a model prompt: every render prompt is compiled from this file and shown on its node.${reference ? " Its `reference` block is the library's read of the source ad (container, layout, mechanism, offer, text blocks): keep it as the account of why the ad won, and rebuild it for our brand." : ""}`,
972
+ mechanism: report.winning_mechanisms,
973
+ rebuild_the_mechanism: "`mechanism` is WHY the source ad works. Rebuild each device for our brand in prompt.json's copy and scene (a rhyme stays a rhyme in our words, a before/after stays a before/after of our product); never copy the source's literal copy.",
974
+ assets_to_supply: report.elements,
975
+ summary: report.summary,
976
+ text: staticTextNote(report),
977
+ font: report.font,
978
+ in_scene_text: report.in_scene_text,
979
+ logo: report.logo.why,
980
+ takes: report.takes === 1 ? "1 finished ad is rendered and used as it is (no judge)." : `${report.takes} variants of the finished ad are rendered, one request each on its own direction. A prefilter drops any whose words or placement fail the checks, and the judge compares the rest pairwise against the brief (words, picture, space, one idea, the brief itself, brand); the winner becomes the ad and the others stay in the run as options the person can switch to (\`baker canvas run --use-variant\`).`,
981
+ pictures: "The reference's own people, products, animals and badges are not slots to fill: they are the source's world. Cast a person from a suitable ready company Avatar by default (--avatar <handle>); create one from the buyer context if none fits. A description-only one-off is available when explicitly requested; never use a stranger's found photo. To show our own product or another picture, add it to prompt.json's `references` with its `image` (a path from this folder, or a URL): every run wires it.",
982
+ formats: staticFormatsNote(report, opts.genModel, delivery),
983
+ viewer: viewerNote(who),
984
+ note: `Populate as you go: for each [TODO] ingest slot, source its real asset and wire it into the slot right away, one at a time. The logo is optional and never a slot to fill: it is given to the model only when prompt.json has \`"logo": true\` and src/brand/logos/ has the real file; never fetch or draw a stand-in. When every slot is filled, \`baker canvas validate\` then \`baker canvas run\`. Running generates billed images: it is not free.`
985
+ }
986
+ },
987
+ null,
988
+ 2
989
+ )}
990
+ `
991
+ );
992
+ }
993
+ });
994
+ async function placedLogo(file, relative) {
995
+ if (!file) return { brand: {}, opts: {} };
996
+ const read = await readLogoFile(file);
997
+ if (!read) return { brand: {}, opts: { logoComposite: false } };
998
+ return {
999
+ brand: {
1000
+ logoAspect: read.aspect,
1001
+ ...read.colourways.length > 0 ? { logoColourways: read.colourways.map(relative) } : {}
1002
+ },
1003
+ opts: {}
1004
+ };
1005
+ }
1006
+ export {
1007
+ buildDescribeCanvas,
1008
+ lookupReference,
1009
+ noFitNote,
1010
+ scaffoldStaticAdCommand,
1011
+ sharesLibraryRead,
1012
+ uploadSourceAsReference,
1013
+ validateScaffoldedStaticAd
1014
+ };
1015
+ //# sourceMappingURL=scaffold-static-ad-5YEYYVYH.js.map