@koda-sl/baker-cli 0.540.0 → 0.541.0-dev.b27330e67

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 (855) hide show
  1. package/README.md +11 -3
  2. package/dist/account-LKIEXMSK.js +82 -0
  3. package/dist/account-T26J6HSJ.js +82 -0
  4. package/dist/account-reads-P2WXB3NZ.js +219 -0
  5. package/dist/account-users-HB5DPMF4.js +64 -0
  6. package/dist/account-writes-QEZQCU46.js +68 -0
  7. package/dist/accounts-7D4O5QMV.js +80 -0
  8. package/dist/accounts-AOVLG52F.js +701 -0
  9. package/dist/actions-CMHAY6P5.js +55 -0
  10. package/dist/activecampaign-U65MB4UD.js +938 -0
  11. package/dist/ad-group-writes-MVQKICSC.js +172 -0
  12. package/dist/ad-groups-5OGD7PJ7.js +70 -0
  13. package/dist/ad-writes-OVD6EESQ.js +176 -0
  14. package/dist/add-AHRTXSBZ.js +107 -0
  15. package/dist/add-HGR6XPCB.js +305 -0
  16. package/dist/ads-BHZLZT3C.js +48 -0
  17. package/dist/ads-SCWCG2YI.js +79 -0
  18. package/dist/advertisers-KJDYCVU7.js +123 -0
  19. package/dist/analytics-2QTC4ZJT.js +2437 -0
  20. package/dist/analytics-RSCTSZPC.js +447 -0
  21. package/dist/animate-HV2QJWVE.js +480 -0
  22. package/dist/assign-RKN3XDEA.js +80 -0
  23. package/dist/audience-size-J5T2SOWX.js +76 -0
  24. package/dist/audiences-6N5B7CA2.js +280 -0
  25. package/dist/audit-O2R2R3BH.js +154 -0
  26. package/dist/autocomplete-7R5TRWE3.js +114 -0
  27. package/dist/avatars-URGC2PRJ.js +38 -0
  28. package/dist/bid-pricing-ZIGIQLKJ.js +103 -0
  29. package/dist/brand-7MLMDFLT.js +22 -0
  30. package/dist/brief-ZWIEUGIJ.js +543 -0
  31. package/dist/campaign-groups-Z6LNJMHY.js +99 -0
  32. package/dist/campaign-writes-EOFSYPW4.js +168 -0
  33. package/dist/campaign-writes-TFRV62VN.js +176 -0
  34. package/dist/campaigns-FHD3KMLV.js +111 -0
  35. package/dist/campaigns-KPUA4GP2.js +78 -0
  36. package/dist/campaigns-SIJKAEFM.js +113 -0
  37. package/dist/canvas-PHUXBTDM.js +46 -0
  38. package/dist/capabilities-MVOMUZVT.js +147 -0
  39. package/dist/catalog-JVBRY2U6.js +66 -0
  40. package/dist/catalogs-QYAAPTMV.js +130 -0
  41. package/dist/changes-2UFWG4T3.js +143 -0
  42. package/dist/chatgpt-KJAUJBRK.js +47 -0
  43. package/dist/chats-ETYNGJ3D.js +449 -0
  44. package/dist/chats-ETYNGJ3D.js.map +1 -0
  45. package/dist/check-G6IGCJKG.js +107 -0
  46. package/dist/chunk-274UO7N7.js +344 -0
  47. package/dist/chunk-27KV27F6.js +169 -0
  48. package/dist/chunk-2OCUXPWT.js +1919 -0
  49. package/dist/chunk-3N7YWOTX.js +438 -0
  50. package/dist/chunk-4L4SG26L.js +429 -0
  51. package/dist/chunk-6OIKNJ7G.js +26 -0
  52. package/dist/chunk-7OLJBIKI.js +494 -0
  53. package/dist/chunk-7XSVJFA3.js +170 -0
  54. package/dist/chunk-AHN5UNQP.js +910 -0
  55. package/dist/chunk-AQBJ3XRD.js +1902 -0
  56. package/dist/chunk-AUO4QNMI.js +148 -0
  57. package/dist/chunk-B5MJXVBP.js +66 -0
  58. package/dist/chunk-B6WOWVAA.js +285 -0
  59. package/dist/chunk-BF32BRMX.js +98 -0
  60. package/dist/chunk-BNO3EFGR.js +4266 -0
  61. package/dist/chunk-BNO3EFGR.js.map +1 -0
  62. package/dist/chunk-CATPBEZ3.js +51 -0
  63. package/dist/chunk-DBLOEIJ2.js +5368 -0
  64. package/dist/chunk-DQIPDAPH.js +274 -0
  65. package/dist/chunk-E4JZV7ZY.js +455 -0
  66. package/dist/chunk-F3CZFUXZ.js +3187 -0
  67. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  68. package/dist/chunk-FPS7WKLY.js +207 -0
  69. package/dist/chunk-FSHIEGAY.js +7725 -0
  70. package/dist/chunk-FY6CMZDG.js +831 -0
  71. package/dist/chunk-GCFC2MNR.js +228 -0
  72. package/dist/chunk-H5P4XNTR.js +1646 -0
  73. package/dist/chunk-H7TJX6MJ.js +19 -0
  74. package/dist/chunk-HMFIOE4P.js +63 -0
  75. package/dist/chunk-HMZ6FUXY.js +61 -0
  76. package/dist/chunk-HN2W55DC.js +156 -0
  77. package/dist/chunk-HPS7HLN4.js +930 -0
  78. package/dist/chunk-HXLCETLB.js +3510 -0
  79. package/dist/chunk-HZQ64QEY.js +479 -0
  80. package/dist/chunk-I62QW2UL.js +197 -0
  81. package/dist/chunk-KAUW3OFC.js +843 -0
  82. package/dist/chunk-KFHW5TCM.js +167 -0
  83. package/dist/chunk-KT2YKHCH.js +319 -0
  84. package/dist/chunk-LFWGMR3F.js +91 -0
  85. package/dist/chunk-LNEUE4BR.js +592 -0
  86. package/dist/chunk-MDBRRR3J.js +191 -0
  87. package/dist/chunk-MHRFRSQ6.js +676 -0
  88. package/dist/chunk-N26ZASAC.js +275 -0
  89. package/dist/chunk-NPGI5DXP.js +89 -0
  90. package/dist/chunk-NQF5U6FX.js +150 -0
  91. package/dist/chunk-NTOCO72A.js +297 -0
  92. package/dist/chunk-OATKGUUI.js +103 -0
  93. package/dist/chunk-P2C6X574.js +163 -0
  94. package/dist/chunk-POI76GQV.js +57 -0
  95. package/dist/chunk-PZ3EFXL7.js +203 -0
  96. package/dist/chunk-QCONJUK6.js +387 -0
  97. package/dist/chunk-RAO7FTMY.js +64 -0
  98. package/dist/chunk-RM5T4MA6.js +783 -0
  99. package/dist/chunk-RRH5QWVS.js +91 -0
  100. package/dist/chunk-SIKCVWM3.js +76 -0
  101. package/dist/chunk-SPBUHC2K.js +224 -0
  102. package/dist/chunk-VAWAFQW3.js +142 -0
  103. package/dist/chunk-VFESCAO4.js +249 -0
  104. package/dist/chunk-VLE433LA.js +547 -0
  105. package/dist/chunk-W2MHGOUZ.js +2209 -0
  106. package/dist/chunk-WM6JHUPY.js +5471 -0
  107. package/dist/chunk-XAHY53IO.js +857 -0
  108. package/dist/chunk-XJ62F6EA.js +392 -0
  109. package/dist/chunk-XMHTLWWE.js +225 -0
  110. package/dist/chunk-XPXHJ6EP.js +24026 -0
  111. package/dist/chunk-XPXHJ6EP.js.map +1 -0
  112. package/dist/chunk-Y3ESEQRI.js +46 -0
  113. package/dist/chunk-YAX5CGUY.js +638 -0
  114. package/dist/chunk-YPYI3YBK.js +377 -0
  115. package/dist/chunk-YXCSJQKQ.js +23 -0
  116. package/dist/chunk-Z6ZYGDCQ.js +8954 -0
  117. package/dist/chunk-ZJOXRK2G.js +1518 -0
  118. package/dist/chunk-ZPHHJPDG.js +131 -0
  119. package/dist/chunk-ZV4K6E3S.js +604 -0
  120. package/dist/claim-VN6RHORQ.js +200 -0
  121. package/dist/cli.js +31 -31
  122. package/dist/companies-UNXZLC4T.js +198 -0
  123. package/dist/company-E7J2I4B5.js +308 -0
  124. package/dist/complete-TI6ME7P2.js +84 -0
  125. package/dist/connect-VYCZ7APH.js +45 -0
  126. package/dist/conversation-AVJMT6NK.js +96 -0
  127. package/dist/conversion-report-GK2FUT2R.js +127 -0
  128. package/dist/conversion-upload-command-Q7LZFFZL.js +439 -0
  129. package/dist/conversion-writes-STESFLTB.js +122 -0
  130. package/dist/conversions-6KDF5AVY.js +140 -0
  131. package/dist/conversions-JBRU7CGB.js +78 -0
  132. package/dist/create-7R5HTOI2.js +135 -0
  133. package/dist/create-BGIE2YTE.js +239 -0
  134. package/dist/create-HI53LEYE.js +62 -0
  135. package/dist/create-YVKJC5IT.js +210 -0
  136. package/dist/creatives-ACU2HGZW.js +223 -0
  137. package/dist/creatives-ISYALGKS.js +58 -0
  138. package/dist/credentials-UCROYYPD.js +290 -0
  139. package/dist/critique-SGEKRORA.js +232 -0
  140. package/dist/critique-SJLBIGD2.js +1451 -0
  141. package/dist/crm-OZ626TTR.js +227 -0
  142. package/dist/crm-X7FX34QY.js +323 -0
  143. package/dist/currency-HB3MFXLJ.js +88 -0
  144. package/dist/customers-I3T6HJD4.js +59 -0
  145. package/dist/delete-24S5ICGH.js +67 -0
  146. package/dist/delete-ICXIKJZF.js +69 -0
  147. package/dist/delete-RWZCVPYV.js +57 -0
  148. package/dist/demographics-PUJKNWCF.js +141 -0
  149. package/dist/discard-4GLM3TVC.js +69 -0
  150. package/dist/discover-DLGO3VW6.js +172 -0
  151. package/dist/domain-A4IVVFI6.js +101 -0
  152. package/dist/download-KIOTQW3Z.js +172 -0
  153. package/dist/draft-4MKYX4VU.js +396 -0
  154. package/dist/draft-6QUGODCB.js +310 -0
  155. package/dist/draft-AMSBOSM2.js +335 -0
  156. package/dist/draft-I7HIRQ6F.js +283 -0
  157. package/dist/draft-IB5A3RFD.js +220 -0
  158. package/dist/engine/index.js +8 -8
  159. package/dist/experiments-NW4GVPAF.js +236 -0
  160. package/dist/facets-SIY7OICY.js +117 -0
  161. package/dist/feedback-LUNPSQEO.js +115 -0
  162. package/dist/feedback-record-ML67WVIX.js +269 -0
  163. package/dist/fetch-T7OO6FDT.js +179 -0
  164. package/dist/fit-63FKT2JJ.js +65 -0
  165. package/dist/flows-RWQSQKUL.js +250 -0
  166. package/dist/fonts-UQ6ISHO3.js +39 -0
  167. package/dist/forecast-AODSMD7S.js +169 -0
  168. package/dist/forecast-JTKQQYMN.js +121 -0
  169. package/dist/funnel-J5IJQPUP.js +397 -0
  170. package/dist/generate-HSDSCKDW.js +263 -0
  171. package/dist/get-VLS22SZR.js +82 -0
  172. package/dist/get-X6TC6UBK.js +59 -0
  173. package/dist/google-FOZYYKNY.js +3267 -0
  174. package/dist/google-ads-HBNPBUR4.js +198 -0
  175. package/dist/history-E25YCUQO.js +153 -0
  176. package/dist/history-SHQVK5I7.js +69 -0
  177. package/dist/history-ZNPAN36E.js +102 -0
  178. package/dist/hubspot-WFJ22XGN.js +782 -0
  179. package/dist/ideas-FCL5SDI4.js +45 -0
  180. package/dist/images-SXBR3MLH.js +92 -0
  181. package/dist/ingest-UJBMV7PZ.js +27 -0
  182. package/dist/ingest-YRWIO6DV.js +123 -0
  183. package/dist/insights-7NC2JFXU.js +658 -0
  184. package/dist/insights-7NC2JFXU.js.map +1 -0
  185. package/dist/insights-UMPXHRKD.js +132 -0
  186. package/dist/inspect-I2CJDQSA.js +192 -0
  187. package/dist/intent-NBP5IDND.js +95 -0
  188. package/dist/keyword-gap-67UJ2LDD.js +130 -0
  189. package/dist/keyword-metrics-U6IWGT4N.js +200 -0
  190. package/dist/keywords-for-site-PXID3WEP.js +131 -0
  191. package/dist/landing-PIQYR6XI.js +28 -0
  192. package/dist/languages-TM7SHGRO.js +40 -0
  193. package/dist/leads-DOFRCD7J.js +115 -0
  194. package/dist/learn-VMNUQL6D.js +207 -0
  195. package/dist/line-item-writes-6MCXCXYM.js +211 -0
  196. package/dist/line-items-X3GEB5P7.js +107 -0
  197. package/dist/link-TX5PWJBH.js +67 -0
  198. package/dist/linkedin-3DYXRHL7.js +1328 -0
  199. package/dist/linkedin-person-TP7DAJST.js +139 -0
  200. package/dist/list-2WFSHJ2I.js +154 -0
  201. package/dist/list-GMMNLVCA.js +306 -0
  202. package/dist/list-I77SLBPO.js +67 -0
  203. package/dist/locations-HAXZUHJP.js +40 -0
  204. package/dist/locations-JFBM4XBL.js +69 -0
  205. package/dist/log-3HSJ3RYY.js +95 -0
  206. package/dist/make-OKIBB4LM.js +1367 -0
  207. package/dist/map-O63QGACI.js +436 -0
  208. package/dist/mcp-GJEZ37AM.js +729 -0
  209. package/dist/media-sources-KE6XXCTY.js +35 -0
  210. package/dist/members-WF453RSC.js +47 -0
  211. package/dist/meta-6IFYEOZL.js +122 -0
  212. package/dist/metrics-XWHE4LYQ.js +152 -0
  213. package/dist/models-3C6BWHEC.js +155 -0
  214. package/dist/normalize-HWMMP6LX.js +144 -0
  215. package/dist/options-XGYNQCQM.js +125 -0
  216. package/dist/organization-X27LDCZU.js +949 -0
  217. package/dist/performance-JLQIJK4V.js +27 -0
  218. package/dist/performance-XYGEV4TX.js +5565 -0
  219. package/dist/pixels-PMPL63ON.js +62 -0
  220. package/dist/promoted-tweet-writes-7DGO5Z2G.js +183 -0
  221. package/dist/promoted-tweets-SPBZXSYI.js +119 -0
  222. package/dist/publish-RRJRO5DC.js +344 -0
  223. package/dist/query-CTQGGPXW.js +62 -0
  224. package/dist/reddit-OCRVXWJC.js +29 -0
  225. package/dist/refresh-M6BXIMQD.js +97 -0
  226. package/dist/release-ZRKZEBEB.js +63 -0
  227. package/dist/relevant-pages-NPUSAV3K.js +99 -0
  228. package/dist/remove-JW3RRNB6.js +53 -0
  229. package/dist/reopen-G6ZE5YNP.js +66 -0
  230. package/dist/rerun-OKOYKQXC.js +96 -0
  231. package/dist/research-DZZBRX4V.js +265 -0
  232. package/dist/research-NLZ34525.js +72 -0
  233. package/dist/reset-ABZVGJE6.js +57 -0
  234. package/dist/reset-JYER2WPC.js +57 -0
  235. package/dist/resolve-EH3ONOYE.js +124 -0
  236. package/dist/retry-LKJWY5BC.js +63 -0
  237. package/dist/retry-VY76DPS5.js +65 -0
  238. package/dist/revenue-7GIOE3TG.js +91 -0
  239. package/dist/rules-NUNJBT6R.js +99 -0
  240. package/dist/rules-add-7FB67IDD.js +465 -0
  241. package/dist/run-3GV2FYWG.js +71 -0
  242. package/dist/run-OVOXZUXN.js +69 -0
  243. package/dist/scaffold-ad-7D5EUDU7.js +1513 -0
  244. package/dist/scaffold-static-ad-TWF2RRM2.js +1011 -0
  245. package/dist/scaffold-video-4P2ONEQV.js +885 -0
  246. package/dist/schedule-XQ725JG6.js +64 -0
  247. package/dist/scheduled-agents-KBSD55GW.js +55 -0
  248. package/dist/schema-WJVWY4IA.js +135 -0
  249. package/dist/search-KQGMLU2Z.js +177 -0
  250. package/dist/select-CLD5MFCK.js +110 -0
  251. package/dist/set-prompt-COD76I6E.js +199 -0
  252. package/dist/setup-links-H5L5CJJN.js +144 -0
  253. package/dist/shopify-M2I65ZB5.js +3958 -0
  254. package/dist/site-AIJK3MNO.js +180 -0
  255. package/dist/sources-JRMCBVLK.js +457 -0
  256. package/dist/sources-YVDTULK6.js +30 -0
  257. package/dist/stale-AVBULN3A.js +90 -0
  258. package/dist/status-RXA4BBXZ.js +65 -0
  259. package/dist/studio-C2UVCTDD.js +49 -0
  260. package/dist/sync-CMYHAJSZ.js +57 -0
  261. package/dist/sync-definition-IKI2NFUO.js +70 -0
  262. package/dist/tags-5IVIDOPC.js +26 -0
  263. package/dist/tags-5L5MV6XZ.js +23 -0
  264. package/dist/tags-LIG4SXDB.js +23 -0
  265. package/dist/tags-LRFFVAZ3.js +227 -0
  266. package/dist/tags-VMMVSG6J.js +23 -0
  267. package/dist/targeting-criteria-AMVFYZ2H.js +113 -0
  268. package/dist/targets-RE24B2LL.js +106 -0
  269. package/dist/testimonials-FWJRO4MB.js +32 -0
  270. package/dist/themes-32CUPT4M.js +95 -0
  271. package/dist/top-companies-6GI6AWGA.js +111 -0
  272. package/dist/transcript-XMWBCLQO.js +165 -0
  273. package/dist/translate-2UYIIMEG.js +603 -0
  274. package/dist/triggers-WCI5DERM.js +144 -0
  275. package/dist/unlink-MM23NOTI.js +70 -0
  276. package/dist/unstage-YQXFED4J.js +88 -0
  277. package/dist/update-3BGBYU5R.js +155 -0
  278. package/dist/update-A53QG3XM.js +66 -0
  279. package/dist/update-S2CJ5FNS.js +192 -0
  280. package/dist/update-VMN5BHTP.js +101 -0
  281. package/dist/upload-VT7NPRAM.js +130 -0
  282. package/dist/url-options-JJIA77MZ.js +131 -0
  283. package/dist/url-params-RFMWR2PZ.js +101 -0
  284. package/dist/validate-KMY5ZVQX.js +125 -0
  285. package/dist/videos-DZT3TMKO.js +41 -0
  286. package/dist/viewer-check-QHXKGGH2.js +83 -0
  287. package/dist/web-HP45GOIL.js +143 -0
  288. package/dist/winning-ads-ZJVGEPZ7.js +86 -0
  289. package/dist/write-commands-YKWSFUO5.js +1525 -0
  290. package/dist/x-V76UQMEM.js +47 -0
  291. package/package.json +1 -1
  292. package/dist/account-JT5DRUNO.js +0 -82
  293. package/dist/account-V5XHQY2D.js +0 -82
  294. package/dist/account-reads-CPL3HLZ5.js +0 -219
  295. package/dist/account-users-AZBPCE3S.js +0 -64
  296. package/dist/account-writes-MFKCVMMV.js +0 -68
  297. package/dist/accounts-CZOZDD5I.js +0 -701
  298. package/dist/accounts-PQZRFWGU.js +0 -80
  299. package/dist/actions-7ELREPKR.js +0 -55
  300. package/dist/activecampaign-VOKDHWP7.js +0 -938
  301. package/dist/ad-group-writes-WFYPFO7R.js +0 -172
  302. package/dist/ad-groups-IPY3TJUX.js +0 -70
  303. package/dist/ad-writes-LDNNN72V.js +0 -176
  304. package/dist/add-NZE6J7AI.js +0 -107
  305. package/dist/add-RMKXE2ZO.js +0 -305
  306. package/dist/ads-NTDJRTEG.js +0 -79
  307. package/dist/ads-SJ6T366Q.js +0 -48
  308. package/dist/advertisers-E27BJ2FV.js +0 -123
  309. package/dist/analytics-PJ7JR4VU.js +0 -447
  310. package/dist/analytics-TBEIK33Y.js +0 -2437
  311. package/dist/animate-CQON6SZE.js +0 -480
  312. package/dist/assign-MTHCAP54.js +0 -80
  313. package/dist/audience-size-AXULID2E.js +0 -76
  314. package/dist/audiences-KRI7E7FY.js +0 -280
  315. package/dist/audit-YQIL6UGM.js +0 -154
  316. package/dist/autocomplete-S2WRGXOM.js +0 -114
  317. package/dist/avatars-H5RIENFM.js +0 -38
  318. package/dist/bid-pricing-5RTQDTK3.js +0 -103
  319. package/dist/brand-YCYKIUIL.js +0 -22
  320. package/dist/brief-AEICFSR7.js +0 -543
  321. package/dist/campaign-groups-PZ4J25O5.js +0 -99
  322. package/dist/campaign-writes-2OSYV72Z.js +0 -168
  323. package/dist/campaign-writes-DAL4EFIV.js +0 -176
  324. package/dist/campaigns-CDPQ2RDY.js +0 -111
  325. package/dist/campaigns-TKQDXU5H.js +0 -78
  326. package/dist/campaigns-XFIW7ODL.js +0 -113
  327. package/dist/canvas-FWG5JGG4.js +0 -46
  328. package/dist/capabilities-Y2UYDZZO.js +0 -147
  329. package/dist/catalog-6CXOEKBI.js +0 -66
  330. package/dist/catalogs-ETVY5OZ5.js +0 -130
  331. package/dist/changes-2P2P4LAU.js +0 -143
  332. package/dist/chatgpt-GINMQJBI.js +0 -47
  333. package/dist/chats-HNOUUEII.js +0 -442
  334. package/dist/chats-HNOUUEII.js.map +0 -1
  335. package/dist/check-UHV27GZU.js +0 -107
  336. package/dist/chunk-24SPBLU4.js +0 -1646
  337. package/dist/chunk-2AJ5UNOF.js +0 -131
  338. package/dist/chunk-2OEECI2R.js +0 -51
  339. package/dist/chunk-2Y3VZILY.js +0 -98
  340. package/dist/chunk-337ZJ3PX.js +0 -377
  341. package/dist/chunk-35T6LCB2.js +0 -197
  342. package/dist/chunk-3RWSYI6N.js +0 -63
  343. package/dist/chunk-3V4R55B4.js +0 -163
  344. package/dist/chunk-3YHOU5IA.js +0 -169
  345. package/dist/chunk-4KGQZHCV.js +0 -224
  346. package/dist/chunk-4PWC4KAK.js +0 -843
  347. package/dist/chunk-5VVXF3OS.js +0 -676
  348. package/dist/chunk-7E4S2NBD.js +0 -170
  349. package/dist/chunk-7Y6CPXM5.js +0 -2209
  350. package/dist/chunk-A4TWHQEF.js +0 -191
  351. package/dist/chunk-AMHVCMBW.js +0 -3510
  352. package/dist/chunk-AUGAC2OT.js +0 -319
  353. package/dist/chunk-BQSDW6FT.js +0 -344
  354. package/dist/chunk-C54JXXV3.js +0 -24026
  355. package/dist/chunk-C54JXXV3.js.map +0 -1
  356. package/dist/chunk-C6CWI43A.js +0 -392
  357. package/dist/chunk-CISJ7CUA.js +0 -207
  358. package/dist/chunk-CKT5SR7F.js +0 -103
  359. package/dist/chunk-CTBDVZ5E.js +0 -274
  360. package/dist/chunk-DR7PLON5.js +0 -1902
  361. package/dist/chunk-EPW33OQJ.js +0 -203
  362. package/dist/chunk-F4QYUDXE.js +0 -91
  363. package/dist/chunk-FKGYEK54.js +0 -387
  364. package/dist/chunk-FSLSISPI.js +0 -46
  365. package/dist/chunk-GT76FWES.js +0 -1919
  366. package/dist/chunk-GTIQUOYC.js +0 -148
  367. package/dist/chunk-GZN2RP7D.js +0 -494
  368. package/dist/chunk-H23Q55DS.js +0 -604
  369. package/dist/chunk-H27R5IVQ.js +0 -64
  370. package/dist/chunk-HDYJ6YVI.js +0 -930
  371. package/dist/chunk-HHQYP6RM.js +0 -783
  372. package/dist/chunk-HOZI7GOT.js +0 -66
  373. package/dist/chunk-IJ5DWALA.js +0 -225
  374. package/dist/chunk-JAC6JVCI.js +0 -26
  375. package/dist/chunk-JEMYDBKC.js +0 -547
  376. package/dist/chunk-KGZXQIM5.js +0 -19
  377. package/dist/chunk-KSECMOHE.js +0 -857
  378. package/dist/chunk-LE33VXJV.js +0 -831
  379. package/dist/chunk-LE6VTYWQ.js +0 -910
  380. package/dist/chunk-MCJ5I5LR.js +0 -3187
  381. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  382. package/dist/chunk-MI3J4O42.js +0 -297
  383. package/dist/chunk-MIOE5IN3.js +0 -479
  384. package/dist/chunk-MMUT4W5L.js +0 -438
  385. package/dist/chunk-MZPS46OR.js +0 -76
  386. package/dist/chunk-N3T4ALXV.js +0 -8954
  387. package/dist/chunk-NGXZQESA.js +0 -5471
  388. package/dist/chunk-NPZ5VWFE.js +0 -592
  389. package/dist/chunk-NQ5O2NCJ.js +0 -5368
  390. package/dist/chunk-OQGE5GSP.js +0 -429
  391. package/dist/chunk-QIZY55Z6.js +0 -89
  392. package/dist/chunk-RD63FPG6.js +0 -150
  393. package/dist/chunk-RW32BYY3.js +0 -1518
  394. package/dist/chunk-RZUXHIRN.js +0 -23
  395. package/dist/chunk-S4PK55OH.js +0 -156
  396. package/dist/chunk-T2JHHSPI.js +0 -142
  397. package/dist/chunk-TFCZOTQ5.js +0 -249
  398. package/dist/chunk-TI4UL56R.js +0 -4266
  399. package/dist/chunk-TI4UL56R.js.map +0 -1
  400. package/dist/chunk-TML65SGQ.js +0 -455
  401. package/dist/chunk-TP6QJATO.js +0 -57
  402. package/dist/chunk-TQDZQT6U.js +0 -167
  403. package/dist/chunk-UIPSSTMA.js +0 -228
  404. package/dist/chunk-UREDSNQS.js +0 -7725
  405. package/dist/chunk-VWKFQ4ZY.js +0 -285
  406. package/dist/chunk-WDPOXO34.js +0 -91
  407. package/dist/chunk-YFIWCMVC.js +0 -638
  408. package/dist/chunk-YFRNONXL.js +0 -275
  409. package/dist/chunk-ZBP735CV.js +0 -61
  410. package/dist/claim-65UCFSNU.js +0 -200
  411. package/dist/companies-PUU5HQPO.js +0 -198
  412. package/dist/company-P64YHCCF.js +0 -308
  413. package/dist/complete-D7LIEFAQ.js +0 -84
  414. package/dist/connect-OJEK3NSN.js +0 -45
  415. package/dist/conversation-S2I75E4X.js +0 -96
  416. package/dist/conversion-report-JNWBTLA5.js +0 -127
  417. package/dist/conversion-upload-command-6OKMSO2T.js +0 -439
  418. package/dist/conversion-writes-2VOWP4RD.js +0 -122
  419. package/dist/conversions-JGIBYLK5.js +0 -78
  420. package/dist/conversions-XQLNBKCS.js +0 -140
  421. package/dist/create-DXRRIN2L.js +0 -210
  422. package/dist/create-UBQF3F43.js +0 -239
  423. package/dist/create-URSL4J7P.js +0 -62
  424. package/dist/create-WTG4PLR7.js +0 -135
  425. package/dist/creatives-KHU3PAMN.js +0 -223
  426. package/dist/creatives-MXMQDNL6.js +0 -58
  427. package/dist/credentials-CMOO7W6D.js +0 -290
  428. package/dist/critique-455CFJQ2.js +0 -1451
  429. package/dist/critique-MABDKWHC.js +0 -232
  430. package/dist/crm-LKQBWL7L.js +0 -227
  431. package/dist/crm-YAFF2LM2.js +0 -323
  432. package/dist/currency-JDAVYMD3.js +0 -88
  433. package/dist/customers-XQJTF7HT.js +0 -59
  434. package/dist/delete-7OTBPZGJ.js +0 -67
  435. package/dist/delete-ROD2G6IL.js +0 -57
  436. package/dist/delete-ZRMD5TG4.js +0 -69
  437. package/dist/demographics-HM2TV4T2.js +0 -141
  438. package/dist/discard-55OBCTIR.js +0 -69
  439. package/dist/discover-VEHKBNCY.js +0 -172
  440. package/dist/domain-226C6VIF.js +0 -101
  441. package/dist/download-UMEQIQKE.js +0 -172
  442. package/dist/draft-DUAFRL2G.js +0 -283
  443. package/dist/draft-MPSQIDMM.js +0 -310
  444. package/dist/draft-S2QTWVIA.js +0 -220
  445. package/dist/draft-TUTXQNHP.js +0 -335
  446. package/dist/draft-V7VGPJK4.js +0 -396
  447. package/dist/experiments-6UHDVVII.js +0 -236
  448. package/dist/facets-BZ5AFGHD.js +0 -117
  449. package/dist/feedback-A5DR3IMR.js +0 -115
  450. package/dist/feedback-record-KABFVNHS.js +0 -269
  451. package/dist/fetch-XNE63FNS.js +0 -179
  452. package/dist/fit-T2D4E52B.js +0 -65
  453. package/dist/flows-P5T4LNJ2.js +0 -250
  454. package/dist/fonts-U3NGQYJN.js +0 -39
  455. package/dist/forecast-TG5RS5DG.js +0 -121
  456. package/dist/forecast-UYBYSH3Y.js +0 -169
  457. package/dist/funnel-D6YXU7C4.js +0 -397
  458. package/dist/generate-QG7GX6WO.js +0 -263
  459. package/dist/get-E4VOTCE6.js +0 -59
  460. package/dist/get-TISXCTDV.js +0 -82
  461. package/dist/google-UQLYCYSX.js +0 -3267
  462. package/dist/google-ads-GBX5YHPT.js +0 -198
  463. package/dist/history-BRWYSJQL.js +0 -153
  464. package/dist/history-M2KVZ2E7.js +0 -102
  465. package/dist/history-XOB23MLX.js +0 -69
  466. package/dist/hubspot-YEZGTOM2.js +0 -782
  467. package/dist/ideas-J6GCTQ6U.js +0 -45
  468. package/dist/images-55KBTRVO.js +0 -92
  469. package/dist/ingest-LKGF5E5V.js +0 -27
  470. package/dist/ingest-QNV3B2ST.js +0 -123
  471. package/dist/insights-7CQJOBWX.js +0 -132
  472. package/dist/insights-UOO6OK3U.js +0 -439
  473. package/dist/insights-UOO6OK3U.js.map +0 -1
  474. package/dist/inspect-WNPQXU4H.js +0 -192
  475. package/dist/intent-P75BDP4H.js +0 -95
  476. package/dist/keyword-gap-54F6CZLM.js +0 -130
  477. package/dist/keyword-metrics-SJLYED7I.js +0 -200
  478. package/dist/keywords-for-site-CY2XUFR4.js +0 -131
  479. package/dist/landing-DZLICA3P.js +0 -28
  480. package/dist/languages-PEGOE365.js +0 -40
  481. package/dist/leads-WBZP37CG.js +0 -115
  482. package/dist/learn-QNOTY4JA.js +0 -207
  483. package/dist/line-item-writes-6RNUOFKK.js +0 -211
  484. package/dist/line-items-YOBU6DYQ.js +0 -107
  485. package/dist/link-7PEVIIUA.js +0 -67
  486. package/dist/linkedin-YYNBLBM3.js +0 -1328
  487. package/dist/linkedin-person-JGQTT54I.js +0 -139
  488. package/dist/list-H2XBHKQK.js +0 -154
  489. package/dist/list-IFVBO2E2.js +0 -306
  490. package/dist/list-N5FHLG2Z.js +0 -67
  491. package/dist/locations-MXWGZIGU.js +0 -69
  492. package/dist/locations-SHYN5J4Q.js +0 -40
  493. package/dist/log-HCWZ6C4R.js +0 -95
  494. package/dist/make-VZKIB23N.js +0 -1367
  495. package/dist/map-RFMJ4AF7.js +0 -436
  496. package/dist/mcp-VRFT3QJW.js +0 -729
  497. package/dist/media-sources-NTZRJGFU.js +0 -35
  498. package/dist/members-EOIF2XN3.js +0 -47
  499. package/dist/meta-MBW5LM5V.js +0 -122
  500. package/dist/metrics-25LYUEB7.js +0 -152
  501. package/dist/models-EU3NO4IY.js +0 -155
  502. package/dist/normalize-UQIZEJHT.js +0 -144
  503. package/dist/options-Y6JI2ZVZ.js +0 -125
  504. package/dist/organization-TO2V7AWX.js +0 -949
  505. package/dist/performance-V26JUNGC.js +0 -27
  506. package/dist/performance-YAUOH75F.js +0 -5565
  507. package/dist/pixels-NLH2PN6Q.js +0 -62
  508. package/dist/promoted-tweet-writes-3SLFZQDA.js +0 -183
  509. package/dist/promoted-tweets-3WRSJYKK.js +0 -119
  510. package/dist/publish-T6ITLSJA.js +0 -344
  511. package/dist/query-SRJXJVDY.js +0 -62
  512. package/dist/reddit-O2TNBMD6.js +0 -29
  513. package/dist/refresh-N726O36Z.js +0 -97
  514. package/dist/release-A5HKTUMV.js +0 -63
  515. package/dist/relevant-pages-VJHTUJMB.js +0 -99
  516. package/dist/remove-BHUYRNRU.js +0 -53
  517. package/dist/reopen-TTDYNANZ.js +0 -66
  518. package/dist/rerun-KFTQ6Y64.js +0 -96
  519. package/dist/research-FISSUVIK.js +0 -72
  520. package/dist/research-YWON4E4H.js +0 -265
  521. package/dist/reset-SSNHRP5C.js +0 -57
  522. package/dist/reset-VTNVCE23.js +0 -57
  523. package/dist/resolve-375FALNN.js +0 -124
  524. package/dist/retry-PNS6RWJ6.js +0 -63
  525. package/dist/retry-TLGYZ6RJ.js +0 -65
  526. package/dist/revenue-6L2AY7L7.js +0 -91
  527. package/dist/rules-F6J4V7PZ.js +0 -99
  528. package/dist/rules-add-7UI5A3MJ.js +0 -465
  529. package/dist/run-B77D2TGX.js +0 -71
  530. package/dist/run-UN4HXEGZ.js +0 -69
  531. package/dist/scaffold-ad-74CEBCRR.js +0 -1513
  532. package/dist/scaffold-static-ad-2IMVWNYB.js +0 -1011
  533. package/dist/scaffold-video-JDCX3BIT.js +0 -885
  534. package/dist/schedule-WK5MRYCJ.js +0 -64
  535. package/dist/scheduled-agents-2NTFBABN.js +0 -55
  536. package/dist/schema-BBC6AARZ.js +0 -135
  537. package/dist/search-KC4QRMU2.js +0 -177
  538. package/dist/select-SZAJR4QY.js +0 -110
  539. package/dist/set-prompt-KHB4JJV2.js +0 -199
  540. package/dist/setup-links-SJVDPNOF.js +0 -144
  541. package/dist/shopify-MODNP6LT.js +0 -3958
  542. package/dist/site-5K73B2MI.js +0 -180
  543. package/dist/sources-2E6EK6YK.js +0 -457
  544. package/dist/sources-S7LAV2EP.js +0 -30
  545. package/dist/stale-3IPYZ7BI.js +0 -90
  546. package/dist/status-6QTJSJN7.js +0 -65
  547. package/dist/studio-4QOFG7MQ.js +0 -49
  548. package/dist/sync-37P7TZQH.js +0 -57
  549. package/dist/sync-definition-CDQCNCU2.js +0 -70
  550. package/dist/tags-2VZUCNNH.js +0 -26
  551. package/dist/tags-CBINFGAN.js +0 -227
  552. package/dist/tags-FVRIF3XS.js +0 -23
  553. package/dist/tags-OB24PQKE.js +0 -23
  554. package/dist/tags-SS7FE52N.js +0 -23
  555. package/dist/targeting-criteria-ECC662DL.js +0 -113
  556. package/dist/targets-GIRHNZ4W.js +0 -106
  557. package/dist/testimonials-IEJ24MH7.js +0 -32
  558. package/dist/themes-JBX6W4SP.js +0 -95
  559. package/dist/top-companies-POSJMWSB.js +0 -111
  560. package/dist/transcript-FCKURXTT.js +0 -165
  561. package/dist/translate-F4B3WEJO.js +0 -603
  562. package/dist/triggers-DRAKT5QB.js +0 -144
  563. package/dist/unlink-OEUJXG64.js +0 -70
  564. package/dist/unstage-F362CYM7.js +0 -88
  565. package/dist/update-4CVNP3B5.js +0 -66
  566. package/dist/update-BAE3BEEW.js +0 -155
  567. package/dist/update-UME7HHOC.js +0 -101
  568. package/dist/update-XOSKQEMK.js +0 -192
  569. package/dist/upload-BABKWQIN.js +0 -130
  570. package/dist/url-options-JSRAMMEM.js +0 -131
  571. package/dist/url-params-ZVIYOHM2.js +0 -101
  572. package/dist/validate-DN44TVXS.js +0 -125
  573. package/dist/videos-OVVH4LC2.js +0 -41
  574. package/dist/viewer-check-SOPRTRNX.js +0 -83
  575. package/dist/web-PLEFETCJ.js +0 -143
  576. package/dist/winning-ads-HIP6PWPL.js +0 -86
  577. package/dist/write-commands-U3JZ6UHG.js +0 -1525
  578. package/dist/x-ROOD4SQH.js +0 -47
  579. /package/dist/{account-JT5DRUNO.js.map → account-LKIEXMSK.js.map} +0 -0
  580. /package/dist/{account-V5XHQY2D.js.map → account-T26J6HSJ.js.map} +0 -0
  581. /package/dist/{account-reads-CPL3HLZ5.js.map → account-reads-P2WXB3NZ.js.map} +0 -0
  582. /package/dist/{account-users-AZBPCE3S.js.map → account-users-HB5DPMF4.js.map} +0 -0
  583. /package/dist/{account-writes-MFKCVMMV.js.map → account-writes-QEZQCU46.js.map} +0 -0
  584. /package/dist/{accounts-PQZRFWGU.js.map → accounts-7D4O5QMV.js.map} +0 -0
  585. /package/dist/{accounts-CZOZDD5I.js.map → accounts-AOVLG52F.js.map} +0 -0
  586. /package/dist/{actions-7ELREPKR.js.map → actions-CMHAY6P5.js.map} +0 -0
  587. /package/dist/{activecampaign-VOKDHWP7.js.map → activecampaign-U65MB4UD.js.map} +0 -0
  588. /package/dist/{ad-group-writes-WFYPFO7R.js.map → ad-group-writes-MVQKICSC.js.map} +0 -0
  589. /package/dist/{ad-groups-IPY3TJUX.js.map → ad-groups-5OGD7PJ7.js.map} +0 -0
  590. /package/dist/{ad-writes-LDNNN72V.js.map → ad-writes-OVD6EESQ.js.map} +0 -0
  591. /package/dist/{add-NZE6J7AI.js.map → add-AHRTXSBZ.js.map} +0 -0
  592. /package/dist/{add-RMKXE2ZO.js.map → add-HGR6XPCB.js.map} +0 -0
  593. /package/dist/{ads-SJ6T366Q.js.map → ads-BHZLZT3C.js.map} +0 -0
  594. /package/dist/{ads-NTDJRTEG.js.map → ads-SCWCG2YI.js.map} +0 -0
  595. /package/dist/{advertisers-E27BJ2FV.js.map → advertisers-KJDYCVU7.js.map} +0 -0
  596. /package/dist/{analytics-TBEIK33Y.js.map → analytics-2QTC4ZJT.js.map} +0 -0
  597. /package/dist/{analytics-PJ7JR4VU.js.map → analytics-RSCTSZPC.js.map} +0 -0
  598. /package/dist/{animate-CQON6SZE.js.map → animate-HV2QJWVE.js.map} +0 -0
  599. /package/dist/{assign-MTHCAP54.js.map → assign-RKN3XDEA.js.map} +0 -0
  600. /package/dist/{audience-size-AXULID2E.js.map → audience-size-J5T2SOWX.js.map} +0 -0
  601. /package/dist/{audiences-KRI7E7FY.js.map → audiences-6N5B7CA2.js.map} +0 -0
  602. /package/dist/{audit-YQIL6UGM.js.map → audit-O2R2R3BH.js.map} +0 -0
  603. /package/dist/{autocomplete-S2WRGXOM.js.map → autocomplete-7R5TRWE3.js.map} +0 -0
  604. /package/dist/{avatars-H5RIENFM.js.map → avatars-URGC2PRJ.js.map} +0 -0
  605. /package/dist/{bid-pricing-5RTQDTK3.js.map → bid-pricing-ZIGIQLKJ.js.map} +0 -0
  606. /package/dist/{brand-YCYKIUIL.js.map → brand-7MLMDFLT.js.map} +0 -0
  607. /package/dist/{brief-AEICFSR7.js.map → brief-ZWIEUGIJ.js.map} +0 -0
  608. /package/dist/{campaign-groups-PZ4J25O5.js.map → campaign-groups-Z6LNJMHY.js.map} +0 -0
  609. /package/dist/{campaign-writes-2OSYV72Z.js.map → campaign-writes-EOFSYPW4.js.map} +0 -0
  610. /package/dist/{campaign-writes-DAL4EFIV.js.map → campaign-writes-TFRV62VN.js.map} +0 -0
  611. /package/dist/{campaigns-CDPQ2RDY.js.map → campaigns-FHD3KMLV.js.map} +0 -0
  612. /package/dist/{campaigns-TKQDXU5H.js.map → campaigns-KPUA4GP2.js.map} +0 -0
  613. /package/dist/{campaigns-XFIW7ODL.js.map → campaigns-SIJKAEFM.js.map} +0 -0
  614. /package/dist/{canvas-FWG5JGG4.js.map → canvas-PHUXBTDM.js.map} +0 -0
  615. /package/dist/{capabilities-Y2UYDZZO.js.map → capabilities-MVOMUZVT.js.map} +0 -0
  616. /package/dist/{catalog-6CXOEKBI.js.map → catalog-JVBRY2U6.js.map} +0 -0
  617. /package/dist/{catalogs-ETVY5OZ5.js.map → catalogs-QYAAPTMV.js.map} +0 -0
  618. /package/dist/{changes-2P2P4LAU.js.map → changes-2UFWG4T3.js.map} +0 -0
  619. /package/dist/{chatgpt-GINMQJBI.js.map → chatgpt-KJAUJBRK.js.map} +0 -0
  620. /package/dist/{check-UHV27GZU.js.map → check-G6IGCJKG.js.map} +0 -0
  621. /package/dist/{chunk-BQSDW6FT.js.map → chunk-274UO7N7.js.map} +0 -0
  622. /package/dist/{chunk-3YHOU5IA.js.map → chunk-27KV27F6.js.map} +0 -0
  623. /package/dist/{chunk-GT76FWES.js.map → chunk-2OCUXPWT.js.map} +0 -0
  624. /package/dist/{chunk-MMUT4W5L.js.map → chunk-3N7YWOTX.js.map} +0 -0
  625. /package/dist/{chunk-OQGE5GSP.js.map → chunk-4L4SG26L.js.map} +0 -0
  626. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  627. /package/dist/{chunk-GZN2RP7D.js.map → chunk-7OLJBIKI.js.map} +0 -0
  628. /package/dist/{chunk-7E4S2NBD.js.map → chunk-7XSVJFA3.js.map} +0 -0
  629. /package/dist/{chunk-LE6VTYWQ.js.map → chunk-AHN5UNQP.js.map} +0 -0
  630. /package/dist/{chunk-DR7PLON5.js.map → chunk-AQBJ3XRD.js.map} +0 -0
  631. /package/dist/{chunk-GTIQUOYC.js.map → chunk-AUO4QNMI.js.map} +0 -0
  632. /package/dist/{chunk-HOZI7GOT.js.map → chunk-B5MJXVBP.js.map} +0 -0
  633. /package/dist/{chunk-VWKFQ4ZY.js.map → chunk-B6WOWVAA.js.map} +0 -0
  634. /package/dist/{chunk-2Y3VZILY.js.map → chunk-BF32BRMX.js.map} +0 -0
  635. /package/dist/{chunk-2OEECI2R.js.map → chunk-CATPBEZ3.js.map} +0 -0
  636. /package/dist/{chunk-NQ5O2NCJ.js.map → chunk-DBLOEIJ2.js.map} +0 -0
  637. /package/dist/{chunk-CTBDVZ5E.js.map → chunk-DQIPDAPH.js.map} +0 -0
  638. /package/dist/{chunk-TML65SGQ.js.map → chunk-E4JZV7ZY.js.map} +0 -0
  639. /package/dist/{chunk-CISJ7CUA.js.map → chunk-FPS7WKLY.js.map} +0 -0
  640. /package/dist/{chunk-UREDSNQS.js.map → chunk-FSHIEGAY.js.map} +0 -0
  641. /package/dist/{chunk-LE33VXJV.js.map → chunk-FY6CMZDG.js.map} +0 -0
  642. /package/dist/{chunk-UIPSSTMA.js.map → chunk-GCFC2MNR.js.map} +0 -0
  643. /package/dist/{chunk-24SPBLU4.js.map → chunk-H5P4XNTR.js.map} +0 -0
  644. /package/dist/{chunk-KGZXQIM5.js.map → chunk-H7TJX6MJ.js.map} +0 -0
  645. /package/dist/{chunk-3RWSYI6N.js.map → chunk-HMFIOE4P.js.map} +0 -0
  646. /package/dist/{chunk-ZBP735CV.js.map → chunk-HMZ6FUXY.js.map} +0 -0
  647. /package/dist/{chunk-S4PK55OH.js.map → chunk-HN2W55DC.js.map} +0 -0
  648. /package/dist/{chunk-HDYJ6YVI.js.map → chunk-HPS7HLN4.js.map} +0 -0
  649. /package/dist/{chunk-AMHVCMBW.js.map → chunk-HXLCETLB.js.map} +0 -0
  650. /package/dist/{chunk-MIOE5IN3.js.map → chunk-HZQ64QEY.js.map} +0 -0
  651. /package/dist/{chunk-35T6LCB2.js.map → chunk-I62QW2UL.js.map} +0 -0
  652. /package/dist/{chunk-4PWC4KAK.js.map → chunk-KAUW3OFC.js.map} +0 -0
  653. /package/dist/{chunk-TQDZQT6U.js.map → chunk-KFHW5TCM.js.map} +0 -0
  654. /package/dist/{chunk-AUGAC2OT.js.map → chunk-KT2YKHCH.js.map} +0 -0
  655. /package/dist/{chunk-F4QYUDXE.js.map → chunk-LFWGMR3F.js.map} +0 -0
  656. /package/dist/{chunk-NPZ5VWFE.js.map → chunk-LNEUE4BR.js.map} +0 -0
  657. /package/dist/{chunk-A4TWHQEF.js.map → chunk-MDBRRR3J.js.map} +0 -0
  658. /package/dist/{chunk-5VVXF3OS.js.map → chunk-MHRFRSQ6.js.map} +0 -0
  659. /package/dist/{chunk-YFRNONXL.js.map → chunk-N26ZASAC.js.map} +0 -0
  660. /package/dist/{chunk-QIZY55Z6.js.map → chunk-NPGI5DXP.js.map} +0 -0
  661. /package/dist/{chunk-RD63FPG6.js.map → chunk-NQF5U6FX.js.map} +0 -0
  662. /package/dist/{chunk-MI3J4O42.js.map → chunk-NTOCO72A.js.map} +0 -0
  663. /package/dist/{chunk-CKT5SR7F.js.map → chunk-OATKGUUI.js.map} +0 -0
  664. /package/dist/{chunk-3V4R55B4.js.map → chunk-P2C6X574.js.map} +0 -0
  665. /package/dist/{chunk-TP6QJATO.js.map → chunk-POI76GQV.js.map} +0 -0
  666. /package/dist/{chunk-EPW33OQJ.js.map → chunk-PZ3EFXL7.js.map} +0 -0
  667. /package/dist/{chunk-FKGYEK54.js.map → chunk-QCONJUK6.js.map} +0 -0
  668. /package/dist/{chunk-H27R5IVQ.js.map → chunk-RAO7FTMY.js.map} +0 -0
  669. /package/dist/{chunk-HHQYP6RM.js.map → chunk-RM5T4MA6.js.map} +0 -0
  670. /package/dist/{chunk-WDPOXO34.js.map → chunk-RRH5QWVS.js.map} +0 -0
  671. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  672. /package/dist/{chunk-4KGQZHCV.js.map → chunk-SPBUHC2K.js.map} +0 -0
  673. /package/dist/{chunk-T2JHHSPI.js.map → chunk-VAWAFQW3.js.map} +0 -0
  674. /package/dist/{chunk-TFCZOTQ5.js.map → chunk-VFESCAO4.js.map} +0 -0
  675. /package/dist/{chunk-JEMYDBKC.js.map → chunk-VLE433LA.js.map} +0 -0
  676. /package/dist/{chunk-7Y6CPXM5.js.map → chunk-W2MHGOUZ.js.map} +0 -0
  677. /package/dist/{chunk-NGXZQESA.js.map → chunk-WM6JHUPY.js.map} +0 -0
  678. /package/dist/{chunk-KSECMOHE.js.map → chunk-XAHY53IO.js.map} +0 -0
  679. /package/dist/{chunk-C6CWI43A.js.map → chunk-XJ62F6EA.js.map} +0 -0
  680. /package/dist/{chunk-IJ5DWALA.js.map → chunk-XMHTLWWE.js.map} +0 -0
  681. /package/dist/{chunk-FSLSISPI.js.map → chunk-Y3ESEQRI.js.map} +0 -0
  682. /package/dist/{chunk-YFIWCMVC.js.map → chunk-YAX5CGUY.js.map} +0 -0
  683. /package/dist/{chunk-337ZJ3PX.js.map → chunk-YPYI3YBK.js.map} +0 -0
  684. /package/dist/{chunk-RZUXHIRN.js.map → chunk-YXCSJQKQ.js.map} +0 -0
  685. /package/dist/{chunk-N3T4ALXV.js.map → chunk-Z6ZYGDCQ.js.map} +0 -0
  686. /package/dist/{chunk-RW32BYY3.js.map → chunk-ZJOXRK2G.js.map} +0 -0
  687. /package/dist/{chunk-2AJ5UNOF.js.map → chunk-ZPHHJPDG.js.map} +0 -0
  688. /package/dist/{chunk-H23Q55DS.js.map → chunk-ZV4K6E3S.js.map} +0 -0
  689. /package/dist/{claim-65UCFSNU.js.map → claim-VN6RHORQ.js.map} +0 -0
  690. /package/dist/{companies-PUU5HQPO.js.map → companies-UNXZLC4T.js.map} +0 -0
  691. /package/dist/{company-P64YHCCF.js.map → company-E7J2I4B5.js.map} +0 -0
  692. /package/dist/{complete-D7LIEFAQ.js.map → complete-TI6ME7P2.js.map} +0 -0
  693. /package/dist/{connect-OJEK3NSN.js.map → connect-VYCZ7APH.js.map} +0 -0
  694. /package/dist/{conversation-S2I75E4X.js.map → conversation-AVJMT6NK.js.map} +0 -0
  695. /package/dist/{conversion-report-JNWBTLA5.js.map → conversion-report-GK2FUT2R.js.map} +0 -0
  696. /package/dist/{conversion-upload-command-6OKMSO2T.js.map → conversion-upload-command-Q7LZFFZL.js.map} +0 -0
  697. /package/dist/{conversion-writes-2VOWP4RD.js.map → conversion-writes-STESFLTB.js.map} +0 -0
  698. /package/dist/{conversions-XQLNBKCS.js.map → conversions-6KDF5AVY.js.map} +0 -0
  699. /package/dist/{conversions-JGIBYLK5.js.map → conversions-JBRU7CGB.js.map} +0 -0
  700. /package/dist/{create-WTG4PLR7.js.map → create-7R5HTOI2.js.map} +0 -0
  701. /package/dist/{create-UBQF3F43.js.map → create-BGIE2YTE.js.map} +0 -0
  702. /package/dist/{create-URSL4J7P.js.map → create-HI53LEYE.js.map} +0 -0
  703. /package/dist/{create-DXRRIN2L.js.map → create-YVKJC5IT.js.map} +0 -0
  704. /package/dist/{creatives-KHU3PAMN.js.map → creatives-ACU2HGZW.js.map} +0 -0
  705. /package/dist/{creatives-MXMQDNL6.js.map → creatives-ISYALGKS.js.map} +0 -0
  706. /package/dist/{credentials-CMOO7W6D.js.map → credentials-UCROYYPD.js.map} +0 -0
  707. /package/dist/{critique-MABDKWHC.js.map → critique-SGEKRORA.js.map} +0 -0
  708. /package/dist/{critique-455CFJQ2.js.map → critique-SJLBIGD2.js.map} +0 -0
  709. /package/dist/{crm-LKQBWL7L.js.map → crm-OZ626TTR.js.map} +0 -0
  710. /package/dist/{crm-YAFF2LM2.js.map → crm-X7FX34QY.js.map} +0 -0
  711. /package/dist/{currency-JDAVYMD3.js.map → currency-HB3MFXLJ.js.map} +0 -0
  712. /package/dist/{customers-XQJTF7HT.js.map → customers-I3T6HJD4.js.map} +0 -0
  713. /package/dist/{delete-7OTBPZGJ.js.map → delete-24S5ICGH.js.map} +0 -0
  714. /package/dist/{delete-ZRMD5TG4.js.map → delete-ICXIKJZF.js.map} +0 -0
  715. /package/dist/{delete-ROD2G6IL.js.map → delete-RWZCVPYV.js.map} +0 -0
  716. /package/dist/{demographics-HM2TV4T2.js.map → demographics-PUJKNWCF.js.map} +0 -0
  717. /package/dist/{discard-55OBCTIR.js.map → discard-4GLM3TVC.js.map} +0 -0
  718. /package/dist/{discover-VEHKBNCY.js.map → discover-DLGO3VW6.js.map} +0 -0
  719. /package/dist/{domain-226C6VIF.js.map → domain-A4IVVFI6.js.map} +0 -0
  720. /package/dist/{download-UMEQIQKE.js.map → download-KIOTQW3Z.js.map} +0 -0
  721. /package/dist/{draft-V7VGPJK4.js.map → draft-4MKYX4VU.js.map} +0 -0
  722. /package/dist/{draft-MPSQIDMM.js.map → draft-6QUGODCB.js.map} +0 -0
  723. /package/dist/{draft-TUTXQNHP.js.map → draft-AMSBOSM2.js.map} +0 -0
  724. /package/dist/{draft-DUAFRL2G.js.map → draft-I7HIRQ6F.js.map} +0 -0
  725. /package/dist/{draft-S2QTWVIA.js.map → draft-IB5A3RFD.js.map} +0 -0
  726. /package/dist/{experiments-6UHDVVII.js.map → experiments-NW4GVPAF.js.map} +0 -0
  727. /package/dist/{facets-BZ5AFGHD.js.map → facets-SIY7OICY.js.map} +0 -0
  728. /package/dist/{feedback-A5DR3IMR.js.map → feedback-LUNPSQEO.js.map} +0 -0
  729. /package/dist/{feedback-record-KABFVNHS.js.map → feedback-record-ML67WVIX.js.map} +0 -0
  730. /package/dist/{fetch-XNE63FNS.js.map → fetch-T7OO6FDT.js.map} +0 -0
  731. /package/dist/{fit-T2D4E52B.js.map → fit-63FKT2JJ.js.map} +0 -0
  732. /package/dist/{flows-P5T4LNJ2.js.map → flows-RWQSQKUL.js.map} +0 -0
  733. /package/dist/{fonts-U3NGQYJN.js.map → fonts-UQ6ISHO3.js.map} +0 -0
  734. /package/dist/{forecast-UYBYSH3Y.js.map → forecast-AODSMD7S.js.map} +0 -0
  735. /package/dist/{forecast-TG5RS5DG.js.map → forecast-JTKQQYMN.js.map} +0 -0
  736. /package/dist/{funnel-D6YXU7C4.js.map → funnel-J5IJQPUP.js.map} +0 -0
  737. /package/dist/{generate-QG7GX6WO.js.map → generate-HSDSCKDW.js.map} +0 -0
  738. /package/dist/{get-TISXCTDV.js.map → get-VLS22SZR.js.map} +0 -0
  739. /package/dist/{get-E4VOTCE6.js.map → get-X6TC6UBK.js.map} +0 -0
  740. /package/dist/{google-UQLYCYSX.js.map → google-FOZYYKNY.js.map} +0 -0
  741. /package/dist/{google-ads-GBX5YHPT.js.map → google-ads-HBNPBUR4.js.map} +0 -0
  742. /package/dist/{history-BRWYSJQL.js.map → history-E25YCUQO.js.map} +0 -0
  743. /package/dist/{history-XOB23MLX.js.map → history-SHQVK5I7.js.map} +0 -0
  744. /package/dist/{history-M2KVZ2E7.js.map → history-ZNPAN36E.js.map} +0 -0
  745. /package/dist/{hubspot-YEZGTOM2.js.map → hubspot-WFJ22XGN.js.map} +0 -0
  746. /package/dist/{ideas-J6GCTQ6U.js.map → ideas-FCL5SDI4.js.map} +0 -0
  747. /package/dist/{images-55KBTRVO.js.map → images-SXBR3MLH.js.map} +0 -0
  748. /package/dist/{ingest-LKGF5E5V.js.map → ingest-UJBMV7PZ.js.map} +0 -0
  749. /package/dist/{ingest-QNV3B2ST.js.map → ingest-YRWIO6DV.js.map} +0 -0
  750. /package/dist/{insights-7CQJOBWX.js.map → insights-UMPXHRKD.js.map} +0 -0
  751. /package/dist/{inspect-WNPQXU4H.js.map → inspect-I2CJDQSA.js.map} +0 -0
  752. /package/dist/{intent-P75BDP4H.js.map → intent-NBP5IDND.js.map} +0 -0
  753. /package/dist/{keyword-gap-54F6CZLM.js.map → keyword-gap-67UJ2LDD.js.map} +0 -0
  754. /package/dist/{keyword-metrics-SJLYED7I.js.map → keyword-metrics-U6IWGT4N.js.map} +0 -0
  755. /package/dist/{keywords-for-site-CY2XUFR4.js.map → keywords-for-site-PXID3WEP.js.map} +0 -0
  756. /package/dist/{landing-DZLICA3P.js.map → landing-PIQYR6XI.js.map} +0 -0
  757. /package/dist/{languages-PEGOE365.js.map → languages-TM7SHGRO.js.map} +0 -0
  758. /package/dist/{leads-WBZP37CG.js.map → leads-DOFRCD7J.js.map} +0 -0
  759. /package/dist/{learn-QNOTY4JA.js.map → learn-VMNUQL6D.js.map} +0 -0
  760. /package/dist/{line-item-writes-6RNUOFKK.js.map → line-item-writes-6MCXCXYM.js.map} +0 -0
  761. /package/dist/{line-items-YOBU6DYQ.js.map → line-items-X3GEB5P7.js.map} +0 -0
  762. /package/dist/{link-7PEVIIUA.js.map → link-TX5PWJBH.js.map} +0 -0
  763. /package/dist/{linkedin-YYNBLBM3.js.map → linkedin-3DYXRHL7.js.map} +0 -0
  764. /package/dist/{linkedin-person-JGQTT54I.js.map → linkedin-person-TP7DAJST.js.map} +0 -0
  765. /package/dist/{list-H2XBHKQK.js.map → list-2WFSHJ2I.js.map} +0 -0
  766. /package/dist/{list-IFVBO2E2.js.map → list-GMMNLVCA.js.map} +0 -0
  767. /package/dist/{list-N5FHLG2Z.js.map → list-I77SLBPO.js.map} +0 -0
  768. /package/dist/{locations-SHYN5J4Q.js.map → locations-HAXZUHJP.js.map} +0 -0
  769. /package/dist/{locations-MXWGZIGU.js.map → locations-JFBM4XBL.js.map} +0 -0
  770. /package/dist/{log-HCWZ6C4R.js.map → log-3HSJ3RYY.js.map} +0 -0
  771. /package/dist/{make-VZKIB23N.js.map → make-OKIBB4LM.js.map} +0 -0
  772. /package/dist/{map-RFMJ4AF7.js.map → map-O63QGACI.js.map} +0 -0
  773. /package/dist/{mcp-VRFT3QJW.js.map → mcp-GJEZ37AM.js.map} +0 -0
  774. /package/dist/{media-sources-NTZRJGFU.js.map → media-sources-KE6XXCTY.js.map} +0 -0
  775. /package/dist/{members-EOIF2XN3.js.map → members-WF453RSC.js.map} +0 -0
  776. /package/dist/{meta-MBW5LM5V.js.map → meta-6IFYEOZL.js.map} +0 -0
  777. /package/dist/{metrics-25LYUEB7.js.map → metrics-XWHE4LYQ.js.map} +0 -0
  778. /package/dist/{models-EU3NO4IY.js.map → models-3C6BWHEC.js.map} +0 -0
  779. /package/dist/{normalize-UQIZEJHT.js.map → normalize-HWMMP6LX.js.map} +0 -0
  780. /package/dist/{options-Y6JI2ZVZ.js.map → options-XGYNQCQM.js.map} +0 -0
  781. /package/dist/{organization-TO2V7AWX.js.map → organization-X27LDCZU.js.map} +0 -0
  782. /package/dist/{performance-V26JUNGC.js.map → performance-JLQIJK4V.js.map} +0 -0
  783. /package/dist/{performance-YAUOH75F.js.map → performance-XYGEV4TX.js.map} +0 -0
  784. /package/dist/{pixels-NLH2PN6Q.js.map → pixels-PMPL63ON.js.map} +0 -0
  785. /package/dist/{promoted-tweet-writes-3SLFZQDA.js.map → promoted-tweet-writes-7DGO5Z2G.js.map} +0 -0
  786. /package/dist/{promoted-tweets-3WRSJYKK.js.map → promoted-tweets-SPBZXSYI.js.map} +0 -0
  787. /package/dist/{publish-T6ITLSJA.js.map → publish-RRJRO5DC.js.map} +0 -0
  788. /package/dist/{query-SRJXJVDY.js.map → query-CTQGGPXW.js.map} +0 -0
  789. /package/dist/{reddit-O2TNBMD6.js.map → reddit-OCRVXWJC.js.map} +0 -0
  790. /package/dist/{refresh-N726O36Z.js.map → refresh-M6BXIMQD.js.map} +0 -0
  791. /package/dist/{release-A5HKTUMV.js.map → release-ZRKZEBEB.js.map} +0 -0
  792. /package/dist/{relevant-pages-VJHTUJMB.js.map → relevant-pages-NPUSAV3K.js.map} +0 -0
  793. /package/dist/{remove-BHUYRNRU.js.map → remove-JW3RRNB6.js.map} +0 -0
  794. /package/dist/{reopen-TTDYNANZ.js.map → reopen-G6ZE5YNP.js.map} +0 -0
  795. /package/dist/{rerun-KFTQ6Y64.js.map → rerun-OKOYKQXC.js.map} +0 -0
  796. /package/dist/{research-YWON4E4H.js.map → research-DZZBRX4V.js.map} +0 -0
  797. /package/dist/{research-FISSUVIK.js.map → research-NLZ34525.js.map} +0 -0
  798. /package/dist/{reset-SSNHRP5C.js.map → reset-ABZVGJE6.js.map} +0 -0
  799. /package/dist/{reset-VTNVCE23.js.map → reset-JYER2WPC.js.map} +0 -0
  800. /package/dist/{resolve-375FALNN.js.map → resolve-EH3ONOYE.js.map} +0 -0
  801. /package/dist/{retry-PNS6RWJ6.js.map → retry-LKJWY5BC.js.map} +0 -0
  802. /package/dist/{retry-TLGYZ6RJ.js.map → retry-VY76DPS5.js.map} +0 -0
  803. /package/dist/{revenue-6L2AY7L7.js.map → revenue-7GIOE3TG.js.map} +0 -0
  804. /package/dist/{rules-F6J4V7PZ.js.map → rules-NUNJBT6R.js.map} +0 -0
  805. /package/dist/{rules-add-7UI5A3MJ.js.map → rules-add-7FB67IDD.js.map} +0 -0
  806. /package/dist/{run-B77D2TGX.js.map → run-3GV2FYWG.js.map} +0 -0
  807. /package/dist/{run-UN4HXEGZ.js.map → run-OVOXZUXN.js.map} +0 -0
  808. /package/dist/{scaffold-ad-74CEBCRR.js.map → scaffold-ad-7D5EUDU7.js.map} +0 -0
  809. /package/dist/{scaffold-static-ad-2IMVWNYB.js.map → scaffold-static-ad-TWF2RRM2.js.map} +0 -0
  810. /package/dist/{scaffold-video-JDCX3BIT.js.map → scaffold-video-4P2ONEQV.js.map} +0 -0
  811. /package/dist/{schedule-WK5MRYCJ.js.map → schedule-XQ725JG6.js.map} +0 -0
  812. /package/dist/{scheduled-agents-2NTFBABN.js.map → scheduled-agents-KBSD55GW.js.map} +0 -0
  813. /package/dist/{schema-BBC6AARZ.js.map → schema-WJVWY4IA.js.map} +0 -0
  814. /package/dist/{search-KC4QRMU2.js.map → search-KQGMLU2Z.js.map} +0 -0
  815. /package/dist/{select-SZAJR4QY.js.map → select-CLD5MFCK.js.map} +0 -0
  816. /package/dist/{set-prompt-KHB4JJV2.js.map → set-prompt-COD76I6E.js.map} +0 -0
  817. /package/dist/{setup-links-SJVDPNOF.js.map → setup-links-H5L5CJJN.js.map} +0 -0
  818. /package/dist/{shopify-MODNP6LT.js.map → shopify-M2I65ZB5.js.map} +0 -0
  819. /package/dist/{site-5K73B2MI.js.map → site-AIJK3MNO.js.map} +0 -0
  820. /package/dist/{sources-2E6EK6YK.js.map → sources-JRMCBVLK.js.map} +0 -0
  821. /package/dist/{sources-S7LAV2EP.js.map → sources-YVDTULK6.js.map} +0 -0
  822. /package/dist/{stale-3IPYZ7BI.js.map → stale-AVBULN3A.js.map} +0 -0
  823. /package/dist/{status-6QTJSJN7.js.map → status-RXA4BBXZ.js.map} +0 -0
  824. /package/dist/{studio-4QOFG7MQ.js.map → studio-C2UVCTDD.js.map} +0 -0
  825. /package/dist/{sync-37P7TZQH.js.map → sync-CMYHAJSZ.js.map} +0 -0
  826. /package/dist/{sync-definition-CDQCNCU2.js.map → sync-definition-IKI2NFUO.js.map} +0 -0
  827. /package/dist/{tags-2VZUCNNH.js.map → tags-5IVIDOPC.js.map} +0 -0
  828. /package/dist/{tags-FVRIF3XS.js.map → tags-5L5MV6XZ.js.map} +0 -0
  829. /package/dist/{tags-SS7FE52N.js.map → tags-LIG4SXDB.js.map} +0 -0
  830. /package/dist/{tags-CBINFGAN.js.map → tags-LRFFVAZ3.js.map} +0 -0
  831. /package/dist/{tags-OB24PQKE.js.map → tags-VMMVSG6J.js.map} +0 -0
  832. /package/dist/{targeting-criteria-ECC662DL.js.map → targeting-criteria-AMVFYZ2H.js.map} +0 -0
  833. /package/dist/{targets-GIRHNZ4W.js.map → targets-RE24B2LL.js.map} +0 -0
  834. /package/dist/{testimonials-IEJ24MH7.js.map → testimonials-FWJRO4MB.js.map} +0 -0
  835. /package/dist/{themes-JBX6W4SP.js.map → themes-32CUPT4M.js.map} +0 -0
  836. /package/dist/{top-companies-POSJMWSB.js.map → top-companies-6GI6AWGA.js.map} +0 -0
  837. /package/dist/{transcript-FCKURXTT.js.map → transcript-XMWBCLQO.js.map} +0 -0
  838. /package/dist/{translate-F4B3WEJO.js.map → translate-2UYIIMEG.js.map} +0 -0
  839. /package/dist/{triggers-DRAKT5QB.js.map → triggers-WCI5DERM.js.map} +0 -0
  840. /package/dist/{unlink-OEUJXG64.js.map → unlink-MM23NOTI.js.map} +0 -0
  841. /package/dist/{unstage-F362CYM7.js.map → unstage-YQXFED4J.js.map} +0 -0
  842. /package/dist/{update-BAE3BEEW.js.map → update-3BGBYU5R.js.map} +0 -0
  843. /package/dist/{update-4CVNP3B5.js.map → update-A53QG3XM.js.map} +0 -0
  844. /package/dist/{update-XOSKQEMK.js.map → update-S2CJ5FNS.js.map} +0 -0
  845. /package/dist/{update-UME7HHOC.js.map → update-VMN5BHTP.js.map} +0 -0
  846. /package/dist/{upload-BABKWQIN.js.map → upload-VT7NPRAM.js.map} +0 -0
  847. /package/dist/{url-options-JSRAMMEM.js.map → url-options-JJIA77MZ.js.map} +0 -0
  848. /package/dist/{url-params-ZVIYOHM2.js.map → url-params-RFMWR2PZ.js.map} +0 -0
  849. /package/dist/{validate-DN44TVXS.js.map → validate-KMY5ZVQX.js.map} +0 -0
  850. /package/dist/{videos-OVVH4LC2.js.map → videos-DZT3TMKO.js.map} +0 -0
  851. /package/dist/{viewer-check-SOPRTRNX.js.map → viewer-check-QHXKGGH2.js.map} +0 -0
  852. /package/dist/{web-PLEFETCJ.js.map → web-HP45GOIL.js.map} +0 -0
  853. /package/dist/{winning-ads-HIP6PWPL.js.map → winning-ads-ZJVGEPZ7.js.map} +0 -0
  854. /package/dist/{write-commands-U3JZ6UHG.js.map → write-commands-YKWSFUO5.js.map} +0 -0
  855. /package/dist/{x-ROOD4SQH.js.map → x-V76UQMEM.js.map} +0 -0
@@ -1,604 +0,0 @@
1
- import {
2
- avatarsOf,
3
- castCompany
4
- } from "./chunk-QIZY55Z6.js";
5
- import {
6
- readAvatars
7
- } from "./chunk-LXV2U4MI.js";
8
- import {
9
- memeRegister,
10
- readCompanyReading,
11
- readCreativeContext
12
- } from "./chunk-BQSDW6FT.js";
13
- import {
14
- holdUnbilledSpend
15
- } from "./chunk-W3PJ7V4W.js";
16
- import {
17
- findWorkspaceRoot
18
- } from "./chunk-CM2LECNX.js";
19
- import {
20
- bytesOf
21
- } from "./chunk-RW32BYY3.js";
22
- import {
23
- CONCEPT_CARRY_LEVELS,
24
- LOAD_BEARING_FIELDS,
25
- decisionOf,
26
- unfitReasons,
27
- withDerivedHave
28
- } from "./chunk-GT76FWES.js";
29
- import {
30
- askAboutImages,
31
- rulesBlock
32
- } from "./chunk-4PWC4KAK.js";
33
- import {
34
- AD_DESCRIBE_MODEL
35
- } from "./chunk-MCJ5I5LR.js";
36
- import {
37
- apiGet
38
- } from "./chunk-C35UMKYG.js";
39
- import {
40
- registerSchema,
41
- writeJson
42
- } from "./chunk-TRXGJZDL.js";
43
-
44
- // src/commands/winning-ads/fit.ts
45
- import { createHash } from "crypto";
46
- import { mkdir, readdir, readFile, writeFile } from "fs/promises";
47
- import path from "path";
48
- import { defineCommand } from "citty";
49
- import sharp from "sharp";
50
- import { z } from "zod";
51
-
52
- // src/commands/canvas/library-reference.ts
53
- var LIBRARY_PLATFORMS = ["meta", "linkedin", "tiktok", "google"];
54
- function resolveSourcePlatform(flag) {
55
- const value = flag?.trim();
56
- if (!value) return { ok: true, platform: "meta" };
57
- if (LIBRARY_PLATFORMS.includes(value)) return { ok: true, platform: value };
58
- return {
59
- ok: false,
60
- message: `--source-platform "${value}" is not a library platform. Use one of: ${LIBRARY_PLATFORMS.join(", ")}.`
61
- };
62
- }
63
- var PICK_A_DESIGN = "To build a static on a proven design, pick a Google display ad or a static from another platform (`baker winning-ads search --format static`); a YouTube ad is a video reference, read with `baker winning-ads content`.";
64
- function notADesignReference(platform, adId, ad) {
65
- if (platform !== "google") return null;
66
- if (ad.format === "text" || ad.google_ad_type === "search") {
67
- return {
68
- code: "NOT_A_DESIGN_REFERENCE",
69
- message: `Google ad ${adId} is a search text ad: a reference for wording, not a design.`,
70
- fix: `Read it with \`baker winning-ads content ${adId} --platform google\` and write our own copy. ${PICK_A_DESIGN}`
71
- };
72
- }
73
- const assembled = ad.google_ad_type === "shopping" ? "a Shopping product listing, which Google builds from a product feed" : ad.google_ad_type === "app" ? "an app-install ad, which Google builds from the app's store page" : null;
74
- if (assembled) {
75
- return {
76
- code: "NOT_A_DESIGN_REFERENCE",
77
- message: `Google ad ${adId} is ${assembled}: there is no design of the advertiser's to build on.`,
78
- fix: PICK_A_DESIGN
79
- };
80
- }
81
- return null;
82
- }
83
- async function fetchLibraryReference(adId, platform) {
84
- const data = await apiGet("/api/ad-library/ad-content", { id: adId, platform });
85
- if (!data?.ad) throw new Error(`the library returned no ad for ${adId} on ${platform}`);
86
- return data.ad;
87
- }
88
- function filled(entries) {
89
- return Object.fromEntries(
90
- Object.entries(entries).filter(([, v]) => v !== null && v !== void 0 && !(Array.isArray(v) && v.length === 0))
91
- );
92
- }
93
- function libraryReferenceBlock(ad, ids) {
94
- const textBlocks = ad.on_screen_text.flatMap(
95
- (o) => o.text ? [{ text: o.text, ...o.role ? { role: o.role } : {}, ...o.position ? { position: o.position } : {} }] : []
96
- );
97
- const advertiser = ad.advertiser ?? void 0;
98
- const advertiserId = ids.advertiserId ?? ad.advertiser_id ?? void 0;
99
- return {
100
- ad_id: ids.adId,
101
- platform: ids.platform,
102
- ...advertiser ? { advertiser } : {},
103
- ...advertiserId ? { advertiser_id: advertiserId } : {},
104
- ...ad.layout.format_pattern ? { format_pattern: ad.layout.format_pattern } : {},
105
- layout: filled({
106
- composition: ad.layout.composition,
107
- focal_subject: ad.layout.focal_subject,
108
- aspect_ratio: ad.layout.aspect_ratio,
109
- background: ad.layout.background,
110
- palette_mood: ad.layout.palette_mood,
111
- colors: ad.layout.colors,
112
- production: ad.layout.production,
113
- aesthetic: ad.layout.aesthetic,
114
- cta_in_image: ad.layout.cta_in_image,
115
- markers: ad.layout.markers
116
- }),
117
- message: filled({
118
- mechanism: ad.message.mechanism,
119
- awareness: ad.message.awareness_stage,
120
- sophistication: ad.message.sophistication,
121
- angle: ad.angle,
122
- hook_archetype: ad.hook_archetype,
123
- pain_points: ad.message.pain_points,
124
- desires: ad.message.desires,
125
- value_props: ad.message.value_props,
126
- objections_handled: ad.message.objections_handled,
127
- proof: ad.message.proof,
128
- risk_reversal: ad.message.risk_reversal
129
- }),
130
- offer: filled({
131
- offer_type: ad.offer.offer_type,
132
- pricing_model: ad.offer.pricing_model,
133
- entry_price: ad.offer.entry_price,
134
- no_credit_card: ad.offer.no_credit_card,
135
- guarantee: ad.offer.guarantee,
136
- guarantee_days: ad.offer.guarantee_days,
137
- urgency: ad.offer.urgency,
138
- bonus: ad.offer.bonus
139
- }),
140
- text_blocks: textBlocks,
141
- copy: filled({ primary_text: ad.primary_text, headline: ad.headline, cta: ad.cta })
142
- };
143
- }
144
- function referenceDescribeContext(reference, agentContext) {
145
- const own = agentContext?.trim() || void 0;
146
- if (!reference) return own;
147
- const facts = [];
148
- if (reference.advertiser) facts.push(`advertiser: ${reference.advertiser}`);
149
- if (reference.format_pattern) facts.push(`container (format_pattern): ${reference.format_pattern}`);
150
- if (typeof reference.layout.composition === "string") facts.push(`composition: ${reference.layout.composition}`);
151
- if (typeof reference.message.mechanism === "string") facts.push(`persuasion mechanism: ${reference.message.mechanism}`);
152
- if (typeof reference.message.awareness === "string") facts.push(`awareness stage: ${reference.message.awareness}`);
153
- if (typeof reference.offer.offer_type === "string") facts.push(`offer: ${reference.offer.offer_type}`);
154
- if (reference.text_blocks.length > 0) {
155
- facts.push(
156
- `text blocks: ${reference.text_blocks.map((b) => `"${b.text}"${b.role ? ` (${b.role})` : ""}`).join("; ")}`
157
- );
158
- }
159
- const library = `The ads library has already read this ad: ${facts.join(". ")}. Your blueprint must agree with it on the container and the mechanism; refine and detail them, never contradict them, and transcribe the text blocks exactly.`;
160
- return own ? `${own}. ${library}` : library;
161
- }
162
- function mergeReferenceIntoBlueprint(blueprint, reference) {
163
- if (!reference || !blueprint || typeof blueprint !== "object" || Array.isArray(blueprint)) return blueprint;
164
- return { ...blueprint, reference };
165
- }
166
-
167
- // src/commands/winning-ads/fit.ts
168
- var Layers = z.object({
169
- disguise: z.string().optional(),
170
- voice: z.string().optional(),
171
- trigger: z.string().optional(),
172
- attention: z.string().optional(),
173
- logic: z.string().optional()
174
- }).strip();
175
- var FitAnswerSchema = z.object({
176
- why_it_wins: Layers.default({}),
177
- load_bearing: z.array(z.preprocess(withDerivedHave, z.object(LOAD_BEARING_FIELDS).strip())).default([]),
178
- verdict: z.enum(["use", "adapt", "reject"]),
179
- transfer_note: z.string().optional(),
180
- brand_presence: z.enum(["native", "standard"]).optional(),
181
- recognition: z.string().optional(),
182
- carry: z.enum(CONCEPT_CARRY_LEVELS).optional(),
183
- carry_why: z.string().optional(),
184
- /** Asked only with a bet: would the viewer of the ad we are making stop for this one. */
185
- our_viewer: z.object({ stops: z.enum(["yes", "maybe", "no"]), why: z.string().default("") }).strip().optional().catch(void 0)
186
- }).refine((fit) => fit.load_bearing.some((l) => l.job === "stop") && fit.load_bearing.some((l) => l.job === "proof"), {
187
- message: "name what stops the scroll (job: stop) and the proof (job: proof) among load_bearing"
188
- }).transform(
189
- (fit) => fit.verdict !== "reject" && fit.load_bearing.some((l) => decisionOf(l) === "impossible") ? { ...fit, verdict: "reject" } : fit
190
- );
191
- function audienceLines(audience) {
192
- return audience?.memes === "off_brand" ? [
193
- `Our brand's voice does not run memes${audience.why ? ` (${audience.why})` : ""}: a meme or a reaction face that does the stop job is impossible for us (decision impossible, rule: our brand's voice does not run memes), and the verdict is reject.`
194
- ] : [];
195
- }
196
- function rejectForAudience(fit, audience) {
197
- const reasons = unfitReasons(fit, audience).filter((r) => r.includes("does not run memes"));
198
- if (reasons.length === 0) return fit;
199
- return { ...fit, verdict: "reject", transfer_note: reasons.join("; ") };
200
- }
201
- function fitKeyOf(bet, audience) {
202
- const parts = [bet ? JSON.stringify(bet) : "", audience ? `memes:${audience.memes}:${audience.why ?? ""}` : ""];
203
- return parts.some(Boolean) ? parts.join("|") : void 0;
204
- }
205
- function castLines(cast) {
206
- const ours = cast.filter((a) => a.castable).map((a) => `@${a.handle} (${a.real ? "a real person" : "made for a role"}: ${a.who})`);
207
- const theirs = cast.filter((a) => !a.castable).map(
208
- (a) => `@${a.handle}: a ${a.relation === "unknown" ? "customer" : a.relation} (${a.who}); only in an ad quoting their own published words, never a reaction face or a model`
209
- );
210
- return [
211
- `The people OUR ads may show: our team's, founder's or a made-for-a-role Avatar${ours.length > 0 ? ` (${ours.join("; ")})` : " (none made yet)"}, unless our rules forbid made-up people.`,
212
- ...theirs.length > 0 ? [
213
- `Avatars of people who are not ours to cast: ${theirs.join("; ")}. A customer's face appears only in a testimonial ad that quotes them.`
214
- ] : ["A customer's face appears only in a testimonial ad that quotes them."]
215
- ];
216
- }
217
- function buildFitPrompt(input) {
218
- const facts = libraryFacts(input.library);
219
- return [
220
- "The image is a winning ad by another advertiser. We want to build an ad for OUR company on its concept: keep why it wins, change everything else to ours.",
221
- ...facts.length > 0 ? [`The ads library read it as: ${facts.join(". ")}.`] : [],
222
- "",
223
- "What OUR company has (its own documents):",
224
- input.knowledge.trim() || "(nothing written down yet)",
225
- ...input.cast ? castLines(input.cast) : [],
226
- ...audienceLines(input.audience),
227
- "",
228
- ...input.bet ? [...betLines(input.bet), ""] : [],
229
- "Answer in English:",
230
- "why_it_wins, in layers, one short phrase each, empty when a layer does nothing: disguise (what the ad pretends to be: a note, a tweet, a newspaper, a chat, a plain ad), voice (who speaks and how: a peer, a founder, a brand), trigger (the emotion or need it pulls: a free gift, fear of a hidden loss, status, curiosity), attention (what stops the scroll), logic (why it convinces: reciprocity, social proof, a comparison, a price anchor).",
231
- 'load_bearing: the 2-5 elements the ad stops working without (never decoration), always these two: what stops the scroll (job "stop": the face or reaction, the joke, the meme people know, the odd photo; when attention names a face, that face is it) and the proof that makes it believed (job "proof": the \u2717/\u2713 checklist, the before and after, the rating, the result shown), then any other its why_it_wins rests on (job "other"). Name each as it shows in the picture ("the two reaction faces of a famous sitcom boss", "the red \u2717 and green \u2713 marks before each line"), never as an idea ("a contrast", "relatable fatigue").',
232
- "Each with: element, job, needs (what it takes to carry it), have (have: we have it as it is; adapt: something of ours can do its job; missing: we have nothing that does), decision (keep: as it is; replace: with something of ours that does the same job, named in ours; impossible: nothing of ours may do its job; a person is never kept as theirs: the advertiser's own people, or a celebrity who is not a meme template, are replaced with one of ours; a famous meme's job is done by a meme our buyer persona knows and relates to, from `baker images meme`, our words on it, whenever our brand's voice runs memes: the proven ad's own template only when it is also the one our persona knows best; a two-panel reaction meme becomes two real templates, top and bottom; never a customer's face: a customer appears only in an ad quoting their own words), ours (what of ours does its job, concretely, one thing of ours, never a choice between two: a meme our buyer persona knows and relates to, from `baker images meme` with our words, our team's, founder's or a made-for-a-role Avatar, the \u2713/\u2717 marks in our colours; never invent an offer, a gift, a price, a review or a customer we do not have), rule (only when one of the company's rules forbids it as it is: that rule, quoted word for word).",
233
- `A rule forbids only what it names: "no stock photography" forbids stock photos, never a meme's reaction face, the company's own people or its Avatars; a rule on logos, buttons or colours says nothing about faces.`,
234
- "verdict: use (it transfers as it is), adapt (it transfers with ours in place of theirs), reject (what stops the scroll, the proof or another load-bearing element is impossible for us: without it our version loses why it wins).",
235
- "transfer_note: one sentence on how the idea becomes ours, or why it cannot.",
236
- "brand_presence: native when the disguise only works without looking like an ad (the logo as the sender's picture, no big button), else standard.",
237
- 'recognition: what kind of product a stranger must take OUR version for in one second, never its format ("a trade course", "a social media API for developers", "a payroll app").',
238
- "carry: what made it a winner, so what OUR ad takes from it: whole_ad (it wins as one piece: its disguise, layout and hook together; ours keeps all three with our words, brand and pictures), layout (its composition or container does the work: ours keeps that arrangement), hook (its opening line or first visual stops the scroll: ours opens on the same pattern in our words), angle (the argument or need it pulls wins, its look is ordinary: ours keeps the argument and looks like ours). carry_why: one sentence on why that level.",
239
- ...input.bet ? [
240
- "our_viewer: would the viewer of the ad we are making stop on THIS ad's move, made ours? stops: yes, maybe or no; why: one sentence naming what in it would or would not reach them (their age, life, market, what they care about). An ad that wins with another audience is no reference for ours."
241
- ] : [],
242
- "",
243
- `Reply with only this JSON: {"why_it_wins":{"disguise":"","voice":"","trigger":"","attention":"","logic":""},"load_bearing":[{"element":"","job":"stop|proof|other","needs":"","have":"have|adapt|missing","decision":"keep|replace|impossible","ours":"","rule":""}],"verdict":"use|adapt|reject","transfer_note":"","brand_presence":"native|standard","recognition":"","carry":"whole_ad|layout|hook|angle","carry_why":""${input.bet ? ',"our_viewer":{"stops":"yes|maybe|no","why":""}' : ""}}`
244
- ].join("\n");
245
- }
246
- function libraryFacts(lib) {
247
- return [
248
- lib.advertiser ? `advertiser: ${lib.advertiser}` : "",
249
- lib.format_pattern ? `container: ${lib.format_pattern}` : "",
250
- lib.mechanism ? `persuasion mechanism: ${lib.mechanism}` : "",
251
- lib.awareness ? `awareness stage: ${lib.awareness}` : "",
252
- lib.offer ? `offer: ${lib.offer}` : "",
253
- lib.winner_category ? `evidence it won: ${lib.winner_category}` : "",
254
- lib.angle ? `angle: ${lib.angle}` : "",
255
- lib.hook_archetype ? `hook: ${lib.hook_archetype}` : "",
256
- lib.composition ? `composition: ${lib.composition}` : "",
257
- lib.text && lib.text.length > 0 ? `its words: ${lib.text.map((t) => `"${t}"`).join("; ")}` : ""
258
- ].filter(Boolean);
259
- }
260
- function betLines(bet) {
261
- return [
262
- "The ad we are making with it:",
263
- `- For: ${bet.who}${bet.market ? `, ${bet.market}` : ""}${bet.awareness ? `; awareness: ${bet.awareness}` : ""}`,
264
- `- It says: ${bet.message}${bet.angle ? ` (angle: ${bet.angle})` : ""}`,
265
- ...bet.shows ? [
266
- `- What it shows first: ${bet.shows}. A reference whose picture cannot be remade to show this does not fit (verdict reject), however good its buyer match.`
267
- ] : [],
268
- ...bet.quotes && bet.quotes.length > 0 ? [`- In our customers' own words: ${bet.quotes.map((q) => `"${q}"`).join("; ")}`] : []
269
- ];
270
- }
271
- function fitHints(fit, adId, platform = "meta", audience) {
272
- const reasons = unfitReasons(fit, audience);
273
- if (fit.verdict === "reject" || reasons.length > 0) {
274
- return [
275
- `Pick another reference: ${reasons.length > 0 ? reasons.join("; ") : "this one wins on something we cannot supply"}, and our version would lose why it won.${fit.transfer_note ? ` ${fit.transfer_note}` : ""} Do not stop or ask the person: check the next candidates (\`baker winning-ads fit <adId> --platform ${platform}\`, about three) and scaffold the first that fits.`
276
- ];
277
- }
278
- const keeps = fit.load_bearing.map((l) => {
279
- const job = l.job === "stop" ? "what stops the scroll" : l.job === "proof" ? "the proof" : `"${l.element}"`;
280
- return decisionOf(l) === "replace" && l.ours?.trim() ? `${job} as "${l.ours.trim()}"` : `"${l.element}"`;
281
- });
282
- return [
283
- `It fits (${fit.verdict}). Scaffold it: \`baker canvas scaffold-static-ad --source-ad-id ${adId} --source-platform ${platform} --slug <slug>\`: prompt.json's \`concept\` is seeded from this fit, and every render keeps ${keeps.join(", ") || "its idea"}.`,
284
- ...fit.brand_presence === "native" ? [
285
- "The concept is a native disguise: the brand shows as the sender (the logo small, as its picture or signature) and there is no big button; prompt.json says `brand_presence: native`."
286
- ] : []
287
- ];
288
- }
289
- var NO_FIT_HINT = "No fit was made of this reference";
290
- function conceptFromFit(fit, adId) {
291
- return {
292
- concept: {
293
- reference_ad_id: adId,
294
- why_it_wins: fit.why_it_wins,
295
- load_bearing: fit.load_bearing,
296
- verdict: fit.verdict,
297
- ...fit.transfer_note ? { transfer_note: fit.transfer_note } : {},
298
- // A fit that names no level (cached before `carry`) is read as the whole ad, and says so.
299
- carry: fit.carry ?? "whole_ad",
300
- ...fit.carry_why ? { carry_why: fit.carry_why } : {}
301
- },
302
- ...fit.brand_presence ? { brand_presence: fit.brand_presence } : {},
303
- ...fit.recognition ? { recognition: fit.recognition } : {}
304
- };
305
- }
306
- var MAX_DOC_CHARS = 6e3;
307
- var MAX_ENTRY_CHARS = 1200;
308
- var KNOWLEDGE_COLLECTIONS = ["offers", "products", "personas", "positioning"];
309
- function readText(file) {
310
- return readFile(file, "utf8").catch(() => null);
311
- }
312
- function brandLines(brand) {
313
- const lines = [
314
- ...brand?.voice ? [`Voice: ${brand.voice}`] : [],
315
- ...brand?.imagery ? [`Pictures: ${brand.imagery}`] : [],
316
- ...brand?.logoUsage ? [`Logo: ${brand.logoUsage}`] : []
317
- ];
318
- return lines.length > 0 ? `The brand:
319
- ${lines.join("\n")}` : "";
320
- }
321
- async function readKnowledge(root, readers) {
322
- const parts = [];
323
- const company = await readText(path.join(root, "COMPANY.md"));
324
- if (company) parts.push(`COMPANY.md:
325
- ${company.slice(0, MAX_DOC_CHARS)}`);
326
- const context = await readCreativeContext(root, { kind: "static" }, readers ? { readers } : {});
327
- const brand = brandLines(context.brand);
328
- if (brand) parts.push(brand);
329
- const rules = rulesBlock(context.rules);
330
- if (rules) parts.push(rules);
331
- for (const collection of KNOWLEDGE_COLLECTIONS) {
332
- const dir = path.join(root, "src", "content", collection);
333
- const files = (await readdir(dir, { recursive: true }).catch(() => [])).filter(
334
- (f) => f.endsWith(".md")
335
- );
336
- for (const file of files.sort().slice(0, 12)) {
337
- const text = await readText(path.join(dir, file));
338
- if (text) parts.push(`${collection}/${file}:
339
- ${text.slice(0, MAX_ENTRY_CHARS)}`);
340
- }
341
- }
342
- return parts.join("\n\n");
343
- }
344
- var ReviewSchema = z.object({
345
- reviewText: z.string(),
346
- sourceType: z.string().optional(),
347
- rating: z.number().optional()
348
- });
349
- function reviewsForFit(data) {
350
- const list = Array.isArray(data) ? data : [];
351
- const lines = list.slice(0, 15).flatMap((item) => {
352
- const review = ReviewSchema.safeParse(item);
353
- if (!review.success || !review.data.reviewText.trim()) return [];
354
- const { reviewText, sourceType, rating } = review.data;
355
- const label = [sourceType, rating !== void 0 ? `${rating}\u2605` : ""].filter(Boolean).join(" ");
356
- return [`- ${label ? `${label} ` : ""}"${reviewText.slice(0, 160)}"`];
357
- });
358
- return lines.length > 0 ? `Reviews we have (${lines.length}):
359
- ${lines.join("\n")}` : "Reviews we have: none on file.";
360
- }
361
- async function readReviews() {
362
- try {
363
- return reviewsForFit(await apiGet("/api/testimonials", { limit: "15" }));
364
- } catch {
365
- return "";
366
- }
367
- }
368
- function fitCachePath(root, platform, adId) {
369
- return path.join(root, "canvas", ".cache", "fit", `${platform}-${adId.replace(/[^a-zA-Z0-9_-]/g, "_")}.json`);
370
- }
371
- function readCachedFit(root, platform, adId) {
372
- return readFitFile(fitCachePath(root, platform, adId));
373
- }
374
- async function readFitFile(file) {
375
- const raw = await readText(file);
376
- if (!raw) return null;
377
- try {
378
- const parsed = FitAnswerSchema.safeParse(JSON.parse(raw));
379
- return parsed.success ? parsed.data : null;
380
- } catch {
381
- return null;
382
- }
383
- }
384
- var DESCRIPTION = "Does a winning ad fit this company? One vision call reads the reference beside what the company has (COMPANY.md, the brand's rules, the offers, products and personas in the Knowledge, its reviews, its Avatars) and says why the ad wins (disguise, voice, trigger, attention, logic), the elements it stops working without (always what stops the scroll, `job: stop`, and its proof, `job: proof`), what our ad does with each (`decision`: keep, replace with `ours`, or impossible, quoting the `rule` that forbids it), and a verdict: use, adapt or reject (a stop or proof that is impossible for us is a reject). Start here before scaffolding a static ad from the library: check about three candidates, scaffold only one that fits. `baker canvas scaffold-static-ad --source-ad-id <adId>` then seeds prompt.json's `concept` from this verdict, and a run refuses a rejected concept. Example: baker winning-ads fit 1310524137919413 --platform meta. Output is compact; --full adds the whole read.";
385
- var ARGS = {
386
- "ad-id": { type: "positional", required: true, description: "The library ad id (from search/winners/feed)." },
387
- platform: {
388
- type: "string",
389
- required: false,
390
- description: `Which platform the ad id is on: ${LIBRARY_PLATFORMS.join("|")} (default meta). The fit reads a still picture: a static ad (on google, a display ad). A video ad, YouTube included, is read with \`content\`; a Google search, Shopping or app ad is refused.`
391
- },
392
- full: {
393
- type: "boolean",
394
- required: false,
395
- default: false,
396
- description: "Add the whole read: every layer, need and note."
397
- }
398
- };
399
- registerSchema({ command: "winning-ads.fit", description: DESCRIPTION, args: ARGS });
400
- async function pictureOf(url) {
401
- if (!url) return null;
402
- try {
403
- const bytes = await bytesOf(url);
404
- return (await sharp(bytes).resize(1024, 1024, { fit: "inside" }).jpeg({ quality: 85 }).toBuffer()).toString(
405
- "base64"
406
- );
407
- } catch {
408
- return null;
409
- }
410
- }
411
- function libraryRead(ad) {
412
- return {
413
- ...ad.advertiser ? { advertiser: ad.advertiser } : {},
414
- ...ad.layout.format_pattern ? { format_pattern: ad.layout.format_pattern } : {},
415
- ...ad.message.mechanism ? { mechanism: ad.message.mechanism } : {},
416
- ...ad.message.awareness_stage ? { awareness: ad.message.awareness_stage } : {},
417
- ...ad.offer.offer_type ? { offer: ad.offer.offer_type } : {},
418
- ...ad.winner_category ? { winner_category: ad.winner_category } : {},
419
- ...ad.angle ? { angle: ad.angle } : {},
420
- ...ad.hook_archetype ? { hook_archetype: ad.hook_archetype } : {},
421
- ...ad.layout.composition ? { composition: ad.layout.composition } : {},
422
- text: ad.on_screen_text.flatMap((o) => o.text ? [o.text] : []).slice(0, 10)
423
- };
424
- }
425
- async function fitOnce(root, platform, adId, ask, bet) {
426
- const betFile = bet ? fitCachePath(root, platform, `${adId}--${betKey(bet)}`) : null;
427
- const cached = betFile ? await readFitFile(betFile) : await readCachedFit(root, platform, adId);
428
- if (cached) return cached;
429
- const fit = await ask();
430
- if (!fit) return null;
431
- const text = `${JSON.stringify(fit, null, 2)}
432
- `;
433
- for (const file of [betFile, fitCachePath(root, platform, adId)]) {
434
- if (!file) continue;
435
- await mkdir(path.dirname(file), { recursive: true });
436
- await writeFile(file, text, "utf8");
437
- }
438
- return fit;
439
- }
440
- function betKey(bet) {
441
- return createHash("sha256").update(bet).digest("hex").slice(0, 16);
442
- }
443
- var FIT_REQUEST = { temperature: 0, seed: 0 };
444
- async function askFit(jpeg, prompt, onSpend) {
445
- for (let attempt = 0; attempt < 2; attempt++) {
446
- const reply = await askAboutImages(
447
- AD_DESCRIBE_MODEL,
448
- [jpeg],
449
- prompt,
450
- onSpend,
451
- void 0,
452
- void 0,
453
- void 0,
454
- attempt === 0 ? FIT_REQUEST : {}
455
- );
456
- const parsed = FitAnswerSchema.safeParse(reply);
457
- if (parsed.success) return parsed.data;
458
- }
459
- return null;
460
- }
461
- async function readFitReference(adId, platform) {
462
- let ad;
463
- try {
464
- ad = await fetchLibraryReference(adId, platform);
465
- } catch (e) {
466
- return {
467
- ok: false,
468
- failure: {
469
- code: "NOT_FOUND",
470
- message: `The library could not return ad ${adId} on ${platform} (${e instanceof Error ? e.message : String(e)}).`,
471
- fix: "Check the ad id and --platform against `baker winning-ads search`."
472
- }
473
- };
474
- }
475
- const refusal = notADesignReference(platform, adId, ad);
476
- if (refusal) return { ok: false, failure: refusal };
477
- if (ad.format === "video") {
478
- return {
479
- ok: false,
480
- failure: {
481
- code: "VIDEO_REFERENCE",
482
- message: `Ad ${adId} is a video: the fit reads still pictures.`,
483
- fix: `Read it with \`baker winning-ads content ${adId} --platform ${platform}\` (transcript, on-screen text, pacing) and build the video with \`baker canvas scaffold-ad\`. For a static, pick a static ad.`
484
- }
485
- };
486
- }
487
- const jpeg = await pictureOf(ad.media_url);
488
- if (!jpeg) {
489
- return {
490
- ok: false,
491
- failure: {
492
- code: "NOT_FOUND",
493
- message: `Ad ${adId} has no picture the fit can read.`,
494
- fix: "Pick a static ad with a picture."
495
- }
496
- };
497
- }
498
- return { ok: true, ad, jpeg };
499
- }
500
- async function fitReference(root, platform, adId, bet) {
501
- let failure = null;
502
- const audience = memeRegister(await readCompanyReading(root).catch(() => null));
503
- const askFor = async () => {
504
- const read = await readFitReference(adId, platform);
505
- if (!read.ok) {
506
- failure = read.failure;
507
- return null;
508
- }
509
- const { ad, jpeg } = read;
510
- const knowledge = [await readKnowledge(root), await readReviews()].filter(Boolean).join("\n\n");
511
- const company = await castCompany(root);
512
- const cast = await readAvatars("/api/avatars", { status: "ready" }).then(
513
- (response) => avatarsOf(response, company),
514
- () => void 0
515
- );
516
- const prompt = buildFitPrompt({
517
- library: libraryRead(ad),
518
- knowledge,
519
- ...bet ? { bet } : {},
520
- ...cast ? { cast } : {},
521
- ...audience ? { audience } : {}
522
- });
523
- const spent = [];
524
- const answer = await askFit(jpeg, prompt, (u) => spent.push(u));
525
- await holdUnbilledSpend(path.join(root, "canvas", ".cache"), spent);
526
- return answer && rejectForAudience(answer, audience);
527
- };
528
- const fit = await fitOnce(root, platform, adId, askFor, bet ? fitKeyOf(bet, audience) : void 0);
529
- if (fit) return { ok: true, fit };
530
- return {
531
- ok: false,
532
- error: failure ?? {
533
- code: "UNAVAILABLE",
534
- message: "The fit model did not answer (no gateway key here, or it failed twice).",
535
- fix: "Run it again, or read the reference yourself with `baker winning-ads content <adId> --full` and write prompt.json's `concept` by hand."
536
- }
537
- };
538
- }
539
- var fitCommand = defineCommand({
540
- meta: { name: "fit", description: DESCRIPTION },
541
- args: ARGS,
542
- async run({ args }) {
543
- const adId = String(args["ad-id"]);
544
- const platformResult = resolveSourcePlatform(args.platform ? String(args.platform) : void 0);
545
- if (!platformResult.ok) {
546
- writeJson({ ok: false, error: { code: "INVALID_ARGUMENT", message: platformResult.message } });
547
- process.exit(1);
548
- }
549
- const platform = platformResult.platform;
550
- const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
551
- const result = await fitReference(root, platform, adId);
552
- if (!result.ok) {
553
- writeJson({ ok: false, error: result.error });
554
- process.exit(1);
555
- }
556
- const fit = result.fit;
557
- const why = [fit.why_it_wins.disguise, fit.why_it_wins.trigger, fit.why_it_wins.logic].filter(Boolean).join("; ");
558
- writeJson({
559
- ok: true,
560
- data: {
561
- ad_id: adId,
562
- verdict: fit.verdict,
563
- why_it_wins: why,
564
- load_bearing: fit.load_bearing.map((l) => ({
565
- element: l.element,
566
- ...l.job ? { job: l.job } : {},
567
- decision: decisionOf(l),
568
- ...l.ours ? { ours: l.ours } : {},
569
- ...l.rule ? { rule: l.rule } : {}
570
- })),
571
- ...fit.brand_presence ? { brand_presence: fit.brand_presence } : {},
572
- ...fit.carry ? { carry: fit.carry } : {},
573
- ...args.full ? { read: fit } : {}
574
- },
575
- hints: fitHints(fit, adId, platform, memeRegister(await readCompanyReading(root).catch(() => null)))
576
- });
577
- }
578
- });
579
-
580
- export {
581
- LIBRARY_PLATFORMS,
582
- resolveSourcePlatform,
583
- notADesignReference,
584
- fetchLibraryReference,
585
- libraryReferenceBlock,
586
- referenceDescribeContext,
587
- mergeReferenceIntoBlueprint,
588
- FitAnswerSchema,
589
- rejectForAudience,
590
- fitKeyOf,
591
- buildFitPrompt,
592
- fitHints,
593
- NO_FIT_HINT,
594
- conceptFromFit,
595
- readKnowledge,
596
- reviewsForFit,
597
- fitCachePath,
598
- readCachedFit,
599
- pictureOf,
600
- fitOnce,
601
- fitReference,
602
- fitCommand
603
- };
604
- //# sourceMappingURL=chunk-H23Q55DS.js.map
@@ -1,64 +0,0 @@
1
- import {
2
- REF_PREFIX
3
- } from "./chunk-NQ5O2NCJ.js";
4
-
5
- // src/commands/canvas/node-preview.ts
6
- var MAX_PARAMS_PREVIEW_LENGTH = 4e3;
7
- var SPEC_KEYS = [
8
- "model",
9
- "format",
10
- "mode",
11
- "aspect_ratio",
12
- "image_size",
13
- "resolution",
14
- "duration",
15
- "subject_type",
16
- "font_size",
17
- "expect",
18
- "source",
19
- "path",
20
- "url"
21
- ];
22
- var BODY_KEYS = ["prompt", "text", "subject_description"];
23
- function scalarField(params, key) {
24
- const value = params[key];
25
- if (typeof value === "number") return String(value);
26
- if (typeof value !== "string") return void 0;
27
- const trimmed = value.trim();
28
- return trimmed && !trimmed.startsWith(REF_PREFIX) ? trimmed : void 0;
29
- }
30
- function compactJson(params) {
31
- try {
32
- const json = JSON.stringify(params);
33
- return json && json !== "{}" ? json : void 0;
34
- } catch {
35
- return void 0;
36
- }
37
- }
38
- function cap(text) {
39
- return text.length > MAX_PARAMS_PREVIEW_LENGTH ? `${text.slice(0, MAX_PARAMS_PREVIEW_LENGTH - 1)}\u2026` : text;
40
- }
41
- function nodeParamsPreview(params, deps) {
42
- const refsLine = deps && deps.length > 0 ? `refs: ${deps.join(", ")}` : void 0;
43
- if (!params || typeof params !== "object") return refsLine;
44
- const own = params;
45
- const nested = (key) => own[key] && typeof own[key] === "object" && !Array.isArray(own[key]) ? own[key] : {};
46
- const record = { ...nested("paint"), ...nested("words"), ...own };
47
- const spec = [];
48
- for (const key of SPEC_KEYS) {
49
- const value = scalarField(record, key);
50
- if (value !== void 0) spec.push(`${key}: ${value}`);
51
- }
52
- if (refsLine) spec.push(refsLine);
53
- const body = BODY_KEYS.map((key) => scalarField(record, key)).find(Boolean);
54
- const header = spec.join("\n");
55
- const composed = header && body ? `${header}
56
-
57
- ${body}` : header || body || compactJson(record);
58
- return composed ? cap(composed) : void 0;
59
- }
60
-
61
- export {
62
- nodeParamsPreview
63
- };
64
- //# sourceMappingURL=chunk-H27R5IVQ.js.map