@koda-sl/baker-cli 0.571.0-dev.6a3439a0a → 0.571.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 (874) hide show
  1. package/README.md +2 -1
  2. package/dist/account-52WDLW4Z.js +82 -0
  3. package/dist/account-7KZ7MHMN.js +82 -0
  4. package/dist/account-reads-CQIJCPCH.js +219 -0
  5. package/dist/account-users-NUI3ILRE.js +64 -0
  6. package/dist/account-writes-3BJSUM2V.js +68 -0
  7. package/dist/accounts-FLKNFDIE.js +713 -0
  8. package/dist/accounts-I2ZLR76R.js +80 -0
  9. package/dist/accounts-ZV4IXOF5.js +119 -0
  10. package/dist/actions-IR47GVZ6.js +55 -0
  11. package/dist/activecampaign-MNJYIWJL.js +938 -0
  12. package/dist/ad-group-writes-KU4QMQZP.js +172 -0
  13. package/dist/ad-groups-NMW2G32A.js +70 -0
  14. package/dist/ad-writes-7NOFTOM4.js +176 -0
  15. package/dist/add-4I25INAO.js +107 -0
  16. package/dist/add-QMTD6EGI.js +305 -0
  17. package/dist/ads-P4Z3MLKS.js +79 -0
  18. package/dist/ads-PWTQC6KV.js +48 -0
  19. package/dist/advertisers-LOIXTTGP.js +123 -0
  20. package/dist/analytics-6AHC3J4L.js +447 -0
  21. package/dist/analytics-NL2KGDLK.js +2437 -0
  22. package/dist/animate-VX7E7KJE.js +480 -0
  23. package/dist/assign-NKHIHVGI.js +80 -0
  24. package/dist/audience-size-WEOM6XIL.js +76 -0
  25. package/dist/audiences-P3SPTAJT.js +280 -0
  26. package/dist/audit-4RIBJ7BR.js +154 -0
  27. package/dist/autocomplete-FMTJDXTL.js +114 -0
  28. package/dist/avatars-LY5SFMWO.js +38 -0
  29. package/dist/bid-pricing-MQ7WLV5U.js +103 -0
  30. package/dist/brand-LR5IXW3W.js +22 -0
  31. package/dist/brief-4DSXIX3F.js +543 -0
  32. package/dist/campaign-groups-EZYLKMO2.js +99 -0
  33. package/dist/campaign-writes-P5XPFTRK.js +176 -0
  34. package/dist/campaign-writes-UMENYMKO.js +168 -0
  35. package/dist/campaigns-PP2DQMJE.js +113 -0
  36. package/dist/campaigns-SWZJVE2T.js +78 -0
  37. package/dist/campaigns-TAFDM242.js +111 -0
  38. package/dist/canvas-RKR3ZB4E.js +46 -0
  39. package/dist/capabilities-45RZ6E6W.js +147 -0
  40. package/dist/catalog-TOHUVBEU.js +66 -0
  41. package/dist/catalogs-V7PTEJBO.js +130 -0
  42. package/dist/changes-5OW3UYMF.js +167 -0
  43. package/dist/chatgpt-JBMYNVJB.js +47 -0
  44. package/dist/chats-VOLBYA3R.js +584 -0
  45. package/dist/check-4DI73QX4.js +107 -0
  46. package/dist/chunk-22RM3UOO.js +63 -0
  47. package/dist/chunk-2N7TB346.js +5368 -0
  48. package/dist/chunk-2N7TB346.js.map +1 -0
  49. package/dist/chunk-2Q7K4F4H.js +7899 -0
  50. package/dist/chunk-2Q7K4F4H.js.map +1 -0
  51. package/dist/chunk-2TS2ITSG.js +392 -0
  52. package/dist/chunk-2YXTXSYG.js +454 -0
  53. package/dist/chunk-2Z6PFHD2.js +91 -0
  54. package/dist/chunk-47VWQ7FQ.js +843 -0
  55. package/dist/chunk-4QFMRL6O.js +455 -0
  56. package/dist/chunk-5OC6VUDZ.js +930 -0
  57. package/dist/chunk-5VXEH72O.js +249 -0
  58. package/dist/chunk-B4BITHOD.js +2235 -0
  59. package/dist/chunk-B4BITHOD.js.map +1 -0
  60. package/dist/chunk-BFAPSFS7.js +1518 -0
  61. package/dist/chunk-BMMXYR7A.js +238 -0
  62. package/dist/chunk-BNEWJXKU.js +638 -0
  63. package/dist/chunk-BXTIG5JL.js +66 -0
  64. package/dist/chunk-C7KV5O5J.js +274 -0
  65. package/dist/chunk-CDPX6WAL.js +207 -0
  66. package/dist/chunk-COOJKEJE.js +312 -0
  67. package/dist/chunk-CTJWMZPL.js +430 -0
  68. package/dist/chunk-D5HD46VV.js +163 -0
  69. package/dist/chunk-EGICPBDY.js +1920 -0
  70. package/dist/chunk-EGICPBDY.js.map +1 -0
  71. package/dist/chunk-EKOMZH2S.js +685 -0
  72. package/dist/chunk-ELC42LJJ.js +8954 -0
  73. package/dist/chunk-ELC42LJJ.js.map +1 -0
  74. package/dist/chunk-G4FU6VC5.js +23 -0
  75. package/dist/chunk-H3RCEM6L.js +61 -0
  76. package/dist/chunk-H7LKYGLJ.js +24026 -0
  77. package/dist/chunk-H7LKYGLJ.js.map +1 -0
  78. package/dist/chunk-HM4NWA72.js +5471 -0
  79. package/dist/chunk-I33FO2ON.js +170 -0
  80. package/dist/chunk-IAE24RKD.js +604 -0
  81. package/dist/chunk-IB6VWG32.js +755 -0
  82. package/dist/chunk-IB6VWG32.js.map +1 -0
  83. package/dist/chunk-IGCS3X4F.js +150 -0
  84. package/dist/chunk-IJ6WA2JW.js +148 -0
  85. package/dist/chunk-ITIUWJGQ.js +131 -0
  86. package/dist/chunk-J4BJLHLQ.js +3510 -0
  87. package/dist/chunk-J4BJLHLQ.js.map +1 -0
  88. package/dist/chunk-JAC6JVCI.js +26 -0
  89. package/dist/chunk-JCDCIQMA.js +479 -0
  90. package/dist/chunk-JGK2FDZW.js +1919 -0
  91. package/dist/chunk-JSOOLOHP.js +468 -0
  92. package/dist/chunk-JT3UUBID.js +142 -0
  93. package/dist/chunk-KUI74TNG.js +169 -0
  94. package/dist/chunk-LAOCXV6Z.js +98 -0
  95. package/dist/chunk-LQACNCAV.js +334 -0
  96. package/dist/chunk-MC5F2L64.js +962 -0
  97. package/dist/chunk-MCJ5I5LR.js +3187 -0
  98. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  99. package/dist/chunk-MKG57P2E.js +783 -0
  100. package/dist/chunk-MZPS46OR.js +76 -0
  101. package/dist/chunk-O2ECZKXP.js +197 -0
  102. package/dist/chunk-OJZKY5UM.js +46 -0
  103. package/dist/chunk-P4UCSXNA.js +156 -0
  104. package/dist/chunk-QLO4RNHU.js +51 -0
  105. package/dist/chunk-QSS34JWZ.js +224 -0
  106. package/dist/chunk-QVHZTCB5.js +1254 -0
  107. package/dist/chunk-RVIBHENP.js +344 -0
  108. package/dist/chunk-TEJOILEY.js +203 -0
  109. package/dist/chunk-TEQEZAJI.js +1320 -0
  110. package/dist/chunk-TNI7CN4L.js +547 -0
  111. package/dist/chunk-TPJ34LXX.js +220 -0
  112. package/dist/chunk-U6AWJIFP.js +225 -0
  113. package/dist/chunk-V5ODOBBI.js +399 -0
  114. package/dist/chunk-VAURJ4QJ.js +89 -0
  115. package/dist/chunk-VAV5CCDD.js +167 -0
  116. package/dist/chunk-VWHUO3AP.js +103 -0
  117. package/dist/chunk-W3TZPHZO.js +285 -0
  118. package/dist/chunk-WZATC4O5.js +297 -0
  119. package/dist/chunk-X25XRSDP.js +57 -0
  120. package/dist/chunk-XGG72YRO.js +91 -0
  121. package/dist/chunk-XHWHBGKX.js +4277 -0
  122. package/dist/chunk-XHWHBGKX.js.map +1 -0
  123. package/dist/chunk-XWAOECD2.js +831 -0
  124. package/dist/chunk-YDALLZNS.js +494 -0
  125. package/dist/chunk-Z3RGBLVJ.js +64 -0
  126. package/dist/chunk-Z5JWFNG4.js +19 -0
  127. package/dist/claim-3UMAFZEM.js +200 -0
  128. package/dist/cli.js +32 -32
  129. package/dist/companies-RL5A26AT.js +198 -0
  130. package/dist/company-DJ44F5C6.js +308 -0
  131. package/dist/complete-PGNIP3LN.js +84 -0
  132. package/dist/connect-ROARWN63.js +45 -0
  133. package/dist/conversation-GDFMJL7X.js +96 -0
  134. package/dist/conversion-report-2FREFML5.js +127 -0
  135. package/dist/conversion-upload-command-JAGV6GMG.js +439 -0
  136. package/dist/conversion-writes-JZIJSQ7T.js +122 -0
  137. package/dist/conversions-2IFWDQKK.js +140 -0
  138. package/dist/conversions-Q5EBTEXA.js +78 -0
  139. package/dist/create-B5DIYK5D.js +218 -0
  140. package/dist/create-BRCSXXFO.js +239 -0
  141. package/dist/create-PXAUL6FF.js +62 -0
  142. package/dist/create-R6CMATVY.js +135 -0
  143. package/dist/creatives-D6O6Z46U.js +229 -0
  144. package/dist/creatives-XNVWQWFF.js +58 -0
  145. package/dist/credentials-CLJO7WWY.js +290 -0
  146. package/dist/critique-MBMKW6SL.js +1451 -0
  147. package/dist/critique-OUJDTVMI.js +232 -0
  148. package/dist/crm-H5ITJ2RC.js +229 -0
  149. package/dist/crm-JJHYRABB.js +323 -0
  150. package/dist/currency-EFDQYW5B.js +88 -0
  151. package/dist/customers-C5YXAVXI.js +65 -0
  152. package/dist/delete-3GYCQK6B.js +57 -0
  153. package/dist/delete-NBUDIGSD.js +69 -0
  154. package/dist/delete-WZ3KVVX5.js +67 -0
  155. package/dist/demographics-O7AJW7DO.js +141 -0
  156. package/dist/discard-RMVZAX2J.js +69 -0
  157. package/dist/discover-BPUUWRBP.js +172 -0
  158. package/dist/domain-J3ZMBOHS.js +101 -0
  159. package/dist/download-ZVOGLTFB.js +172 -0
  160. package/dist/draft-6PJD3MCW.js +374 -0
  161. package/dist/draft-GCOCG4PO.js +315 -0
  162. package/dist/draft-GSDDK6FO.js +614 -0
  163. package/dist/draft-GSDDK6FO.js.map +1 -0
  164. package/dist/draft-TPR3DH5N.js +220 -0
  165. package/dist/draft-ZPGGWU7E.js +332 -0
  166. package/dist/engine/index.js +8 -8
  167. package/dist/experiments-MM4BYHRH.js +236 -0
  168. package/dist/extract-JMY6YRPW.js +143 -0
  169. package/dist/facets-B5AZAU2C.js +117 -0
  170. package/dist/feedback-2EVDGTEN.js +115 -0
  171. package/dist/feedback-4MCMOMVN.js +114 -0
  172. package/dist/feedback-record-DL7UEU2H.js +269 -0
  173. package/dist/fetch-JDNFK476.js +204 -0
  174. package/dist/fit-DKVH5BDW.js +65 -0
  175. package/dist/flows-LURTZICL.js +340 -0
  176. package/dist/fonts-HUXFDDAE.js +39 -0
  177. package/dist/forecast-HMNQZFVL.js +169 -0
  178. package/dist/forecast-UHTW4Y7Q.js +121 -0
  179. package/dist/funnel-QM7WFFMD.js +397 -0
  180. package/dist/generate-KAWRRYTT.js +263 -0
  181. package/dist/get-237TYJZT.js +82 -0
  182. package/dist/get-FWPR2YPC.js +62 -0
  183. package/dist/google-3CAUWNWE.js +3300 -0
  184. package/dist/google-DTSLO3PT.js +163 -0
  185. package/dist/google-ads-RZOQQDQN.js +198 -0
  186. package/dist/history-H7S7XRBX.js +153 -0
  187. package/dist/history-XL52537O.js +102 -0
  188. package/dist/history-YQSYXBJH.js +69 -0
  189. package/dist/hubspot-2DSISSUI.js +814 -0
  190. package/dist/ideas-2XBFQJ56.js +45 -0
  191. package/dist/images-VFRQ32G5.js +92 -0
  192. package/dist/ingest-4RPLN54K.js +28 -0
  193. package/dist/ingest-TPVH44VI.js +131 -0
  194. package/dist/insights-UVCFOB3N.js +132 -0
  195. package/dist/inspect-VD3GVXDU.js +192 -0
  196. package/dist/intent-F5NTOSQC.js +95 -0
  197. package/dist/keyword-gap-EB5QATYN.js +130 -0
  198. package/dist/keyword-metrics-PW2DDIJW.js +200 -0
  199. package/dist/keywords-for-site-JEPABY6E.js +131 -0
  200. package/dist/landing-4N6YSB4L.js +28 -0
  201. package/dist/languages-4S26FJDP.js +40 -0
  202. package/dist/leads-R5OZJQHW.js +115 -0
  203. package/dist/learn-AQ2FRFB7.js +207 -0
  204. package/dist/line-item-writes-LGO7HIJJ.js +211 -0
  205. package/dist/line-items-AAZVKQ7E.js +107 -0
  206. package/dist/link-7IGHVARH.js +67 -0
  207. package/dist/linkedin-UB2CW4KP.js +1344 -0
  208. package/dist/linkedin-person-D6U2ZAUW.js +139 -0
  209. package/dist/list-P44QRX2O.js +154 -0
  210. package/dist/list-UMJACDTQ.js +67 -0
  211. package/dist/list-VZKUHY4Y.js +306 -0
  212. package/dist/locations-UWBQLHXW.js +40 -0
  213. package/dist/locations-WXGOI3VV.js +69 -0
  214. package/dist/log-6ZKMUTYS.js +95 -0
  215. package/dist/make-5CEIJRBC.js +1367 -0
  216. package/dist/map-ZL4MQVJZ.js +445 -0
  217. package/dist/mcp-GSRYLRD4.js +729 -0
  218. package/dist/media-sources-VSPVHLYN.js +35 -0
  219. package/dist/members-L6SXP6GC.js +47 -0
  220. package/dist/metrics-4AFEEDVP.js +152 -0
  221. package/dist/models-2ZEM64H5.js +155 -0
  222. package/dist/normalize-GK7DH7ZP.js +144 -0
  223. package/dist/options-FDAAHG7C.js +125 -0
  224. package/dist/organization-K2FTFAAO.js +949 -0
  225. package/dist/performance-N3UROH7Z.js +5565 -0
  226. package/dist/performance-RG2HR46T.js +27 -0
  227. package/dist/pixels-HEI5WVAO.js +62 -0
  228. package/dist/preview-NVWIEUHF.js +101 -0
  229. package/dist/promoted-tweet-writes-7QZRFDOM.js +183 -0
  230. package/dist/promoted-tweets-V555Y7DN.js +119 -0
  231. package/dist/publish-5KR6YLA6.js +350 -0
  232. package/dist/query-K7MYBRTS.js +62 -0
  233. package/dist/reddit-XPQ7YAJW.js +29 -0
  234. package/dist/refresh-XFHEBSDU.js +97 -0
  235. package/dist/release-3ECEF26P.js +63 -0
  236. package/dist/relevant-pages-XYQKVX3U.js +99 -0
  237. package/dist/remove-OCTUC3RB.js +53 -0
  238. package/dist/reopen-JRI3TYD4.js +66 -0
  239. package/dist/rerun-HWWYCDT2.js +97 -0
  240. package/dist/research-ODPU62BA.js +265 -0
  241. package/dist/research-TG5CBTYP.js +75 -0
  242. package/dist/reset-J2NLNITD.js +57 -0
  243. package/dist/reset-SRU7YJUR.js +57 -0
  244. package/dist/resolve-KHMMUGB2.js +124 -0
  245. package/dist/retry-VLH4AO7F.js +65 -0
  246. package/dist/retry-WP7LWKZF.js +63 -0
  247. package/dist/revenue-EEIS2AV5.js +91 -0
  248. package/dist/rules-TTUGQAEB.js +99 -0
  249. package/dist/rules-add-AIXUAZXG.js +465 -0
  250. package/dist/run-AQTACLY6.js +69 -0
  251. package/dist/run-YA6IWQAJ.js +72 -0
  252. package/dist/scaffold-ad-IYNFJPT7.js +1513 -0
  253. package/dist/scaffold-static-ad-SPYKSAJR.js +1012 -0
  254. package/dist/scaffold-static-ad-SPYKSAJR.js.map +1 -0
  255. package/dist/scaffold-video-BUN27PKS.js +885 -0
  256. package/dist/schedule-EH2MOC5C.js +64 -0
  257. package/dist/scheduled-agents-DTAEP25E.js +55 -0
  258. package/dist/schema-7B4MVVAS.js +135 -0
  259. package/dist/search-ZZWIJRXJ.js +177 -0
  260. package/dist/select-LWZRF7KV.js +110 -0
  261. package/dist/set-prompt-YKDH6FYK.js +199 -0
  262. package/dist/setup-links-OE6PC2YQ.js +144 -0
  263. package/dist/shopify-CCPLZI2H.js +4009 -0
  264. package/dist/site-FW5BBLYG.js +180 -0
  265. package/dist/sources-WPHMWBEK.js +30 -0
  266. package/dist/sources-X77TGJ52.js +457 -0
  267. package/dist/stale-SPCDL73V.js +90 -0
  268. package/dist/status-FLETGJ2A.js +65 -0
  269. package/dist/stock-5AOSQH52.js +212 -0
  270. package/dist/studio-4EV5S7PR.js +49 -0
  271. package/dist/sync-363VKXU3.js +57 -0
  272. package/dist/sync-definition-ZDE5L644.js +70 -0
  273. package/dist/tags-6MN3AWKN.js +23 -0
  274. package/dist/tags-VOKUNEIW.js +227 -0
  275. package/dist/tags-Y6MNMIEA.js +23 -0
  276. package/dist/tags-YHAC3NVY.js +23 -0
  277. package/dist/tags-ZCQMJ5YH.js +26 -0
  278. package/dist/targeting-criteria-ECQFHQF3.js +113 -0
  279. package/dist/targets-U2JHTB5U.js +106 -0
  280. package/dist/testimonials-IDVLMXDT.js +32 -0
  281. package/dist/themes-FW3VWZJE.js +95 -0
  282. package/dist/top-companies-CBI4O3ZB.js +111 -0
  283. package/dist/transcript-IIRFTFRW.js +165 -0
  284. package/dist/translate-N6QW4FZB.js +603 -0
  285. package/dist/triggers-Q3KRAMA3.js +144 -0
  286. package/dist/unlink-7RVQXKAR.js +70 -0
  287. package/dist/unstage-3LPHNZKR.js +88 -0
  288. package/dist/update-AL3LBHGK.js +192 -0
  289. package/dist/update-AWR7EHGA.js +155 -0
  290. package/dist/update-LNSSLZXG.js +66 -0
  291. package/dist/update-YBTFH5MN.js +101 -0
  292. package/dist/upload-45GCGMA5.js +137 -0
  293. package/dist/url-options-AHJPR5VY.js +131 -0
  294. package/dist/url-params-U6ZM4LL2.js +101 -0
  295. package/dist/validate-S325RXPH.js +135 -0
  296. package/dist/videos-NW2UP342.js +41 -0
  297. package/dist/viewer-check-IDXFRRCO.js +83 -0
  298. package/dist/web-VMPKMBKA.js +173 -0
  299. package/dist/winning-ads-7UJXCWFH.js +86 -0
  300. package/dist/write-commands-R42DQEW6.js +1524 -0
  301. package/dist/x-UGTUOCVR.js +47 -0
  302. package/package.json +1 -1
  303. package/dist/account-EXGRZIXS.js +0 -82
  304. package/dist/account-JVDP5ERG.js +0 -82
  305. package/dist/account-reads-Z467VAL4.js +0 -219
  306. package/dist/account-users-342OZALE.js +0 -64
  307. package/dist/account-writes-KEXINJ5D.js +0 -68
  308. package/dist/accounts-QESGQJGZ.js +0 -713
  309. package/dist/accounts-QR6OQ3GC.js +0 -119
  310. package/dist/accounts-UWC2TT6R.js +0 -80
  311. package/dist/actions-NT3HXFFA.js +0 -55
  312. package/dist/activecampaign-EYRHDSXY.js +0 -938
  313. package/dist/ad-group-writes-SVR4RCKB.js +0 -172
  314. package/dist/ad-groups-C726HUXS.js +0 -70
  315. package/dist/ad-writes-RWJIWGEL.js +0 -176
  316. package/dist/add-EPOHDTUO.js +0 -305
  317. package/dist/add-NSW26HIM.js +0 -107
  318. package/dist/ads-3KK7VQPU.js +0 -79
  319. package/dist/ads-EWZGIC4T.js +0 -48
  320. package/dist/advertisers-AHOWL3YL.js +0 -123
  321. package/dist/analytics-7H6NDVUQ.js +0 -447
  322. package/dist/analytics-GFFXCMLV.js +0 -2437
  323. package/dist/animate-GTUI7XX4.js +0 -480
  324. package/dist/assign-SDPPWP3Q.js +0 -80
  325. package/dist/audience-size-LKDDHKED.js +0 -76
  326. package/dist/audiences-6L43K2T2.js +0 -280
  327. package/dist/audit-TSZIQTUB.js +0 -154
  328. package/dist/autocomplete-5BSAOAMZ.js +0 -114
  329. package/dist/avatars-S6RRD7M3.js +0 -38
  330. package/dist/bid-pricing-5KUAINH4.js +0 -103
  331. package/dist/brand-KFK2MQWW.js +0 -22
  332. package/dist/brief-6DV2PKAU.js +0 -543
  333. package/dist/campaign-groups-5RPZPDNW.js +0 -99
  334. package/dist/campaign-writes-FUIGN5OR.js +0 -176
  335. package/dist/campaign-writes-XMYBEVZF.js +0 -168
  336. package/dist/campaigns-5A3IE735.js +0 -111
  337. package/dist/campaigns-JNP3VDZK.js +0 -113
  338. package/dist/campaigns-N2SWSBYT.js +0 -78
  339. package/dist/canvas-CHFNQTLY.js +0 -46
  340. package/dist/capabilities-2W3SRZ2I.js +0 -147
  341. package/dist/catalog-6BER3SF7.js +0 -66
  342. package/dist/catalogs-G5NOKL4L.js +0 -130
  343. package/dist/changes-AS4RVEAL.js +0 -167
  344. package/dist/chatgpt-O6EEAYLF.js +0 -47
  345. package/dist/chats-4JLWMUAC.js +0 -584
  346. package/dist/check-BOKLY5WG.js +0 -107
  347. package/dist/chunk-3KUNRKNV.js +0 -430
  348. package/dist/chunk-3UNMVVSI.js +0 -917
  349. package/dist/chunk-3UNMVVSI.js.map +0 -1
  350. package/dist/chunk-4INBMXUS.js +0 -930
  351. package/dist/chunk-5NMKNHJI.js +0 -46
  352. package/dist/chunk-6D7WTUF3.js +0 -98
  353. package/dist/chunk-6DSPB6YA.js +0 -7904
  354. package/dist/chunk-6DSPB6YA.js.map +0 -1
  355. package/dist/chunk-6FQ7CJEX.js +0 -57
  356. package/dist/chunk-6OIKNJ7G.js +0 -26
  357. package/dist/chunk-6OZDN2FI.js +0 -19
  358. package/dist/chunk-75OGTGC4.js +0 -89
  359. package/dist/chunk-AXLKR3E4.js +0 -66
  360. package/dist/chunk-BEZEZHQ6.js +0 -455
  361. package/dist/chunk-BMK4F4CU.js +0 -169
  362. package/dist/chunk-C52Q3L4C.js +0 -51
  363. package/dist/chunk-CST52ZME.js +0 -142
  364. package/dist/chunk-CUTTTFAU.js +0 -783
  365. package/dist/chunk-D32EWSMB.js +0 -150
  366. package/dist/chunk-DW3H2XQA.js +0 -91
  367. package/dist/chunk-EAA273XW.js +0 -2250
  368. package/dist/chunk-EAA273XW.js.map +0 -1
  369. package/dist/chunk-EM5R3BYC.js +0 -131
  370. package/dist/chunk-EMR5KGNY.js +0 -685
  371. package/dist/chunk-EONUZOJV.js +0 -962
  372. package/dist/chunk-F3CZFUXZ.js +0 -3187
  373. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  374. package/dist/chunk-GRX3JXSR.js +0 -843
  375. package/dist/chunk-H4RHZJ65.js +0 -207
  376. package/dist/chunk-HFIHXIYY.js +0 -547
  377. package/dist/chunk-HOA74TOS.js +0 -249
  378. package/dist/chunk-HQDNDKNR.js +0 -5471
  379. package/dist/chunk-HXSYWXLH.js +0 -709
  380. package/dist/chunk-HXSYWXLH.js.map +0 -1
  381. package/dist/chunk-I3QLWGKS.js +0 -64
  382. package/dist/chunk-IMS53EQU.js +0 -4277
  383. package/dist/chunk-IMS53EQU.js.map +0 -1
  384. package/dist/chunk-J4AWNWKN.js +0 -1919
  385. package/dist/chunk-JAK5VDSG.js +0 -103
  386. package/dist/chunk-JGSEHX2Q.js +0 -3107
  387. package/dist/chunk-JGSEHX2Q.js.map +0 -1
  388. package/dist/chunk-JLAFNORO.js +0 -285
  389. package/dist/chunk-KG5VNPKU.js +0 -91
  390. package/dist/chunk-KJHG2DWS.js +0 -170
  391. package/dist/chunk-LAMSUL26.js +0 -1518
  392. package/dist/chunk-LLTHDEM2.js +0 -479
  393. package/dist/chunk-M5PZ6QQB.js +0 -312
  394. package/dist/chunk-MFGUR5OD.js +0 -334
  395. package/dist/chunk-MZLPOYCC.js +0 -10058
  396. package/dist/chunk-MZLPOYCC.js.map +0 -1
  397. package/dist/chunk-NOCBNING.js +0 -638
  398. package/dist/chunk-NWLK5RPA.js +0 -197
  399. package/dist/chunk-PR5OPERY.js +0 -167
  400. package/dist/chunk-QGAUDVMR.js +0 -148
  401. package/dist/chunk-QRRAMUKV.js +0 -468
  402. package/dist/chunk-QZ4YHQLW.js +0 -63
  403. package/dist/chunk-RGLTITIH.js +0 -494
  404. package/dist/chunk-RIVQ4PQQ.js +0 -225
  405. package/dist/chunk-RLLPY62L.js +0 -163
  406. package/dist/chunk-RQHXWPET.js +0 -61
  407. package/dist/chunk-RULW4627.js +0 -23
  408. package/dist/chunk-S4RCF3YT.js +0 -156
  409. package/dist/chunk-SIKCVWM3.js +0 -76
  410. package/dist/chunk-TCLJRWST.js +0 -831
  411. package/dist/chunk-UVUY6FLV.js +0 -1254
  412. package/dist/chunk-V4HS5JRL.js +0 -1320
  413. package/dist/chunk-WTOBG3YL.js +0 -392
  414. package/dist/chunk-WYMX3F47.js +0 -399
  415. package/dist/chunk-WZXMZFVB.js +0 -238
  416. package/dist/chunk-X5YHMGAT.js +0 -224
  417. package/dist/chunk-X7USE7IA.js +0 -24026
  418. package/dist/chunk-X7USE7IA.js.map +0 -1
  419. package/dist/chunk-XA7JN7YE.js +0 -297
  420. package/dist/chunk-XHAGX4J4.js +0 -604
  421. package/dist/chunk-XY7W6MQN.js +0 -274
  422. package/dist/chunk-YAINUFSC.js +0 -203
  423. package/dist/chunk-Z5BG47PO.js +0 -5752
  424. package/dist/chunk-Z5BG47PO.js.map +0 -1
  425. package/dist/chunk-Z7ICQKC2.js +0 -344
  426. package/dist/chunk-ZBXV2KOQ.js +0 -220
  427. package/dist/chunk-ZMNRSTNV.js +0 -454
  428. package/dist/claim-L4WLCVUL.js +0 -200
  429. package/dist/companies-HW46BRQG.js +0 -198
  430. package/dist/company-KCIDE7SL.js +0 -308
  431. package/dist/complete-JXM25FVW.js +0 -84
  432. package/dist/connect-7TX7AAM5.js +0 -45
  433. package/dist/conversation-YIDUB6GL.js +0 -96
  434. package/dist/conversion-report-33SG7SHU.js +0 -127
  435. package/dist/conversion-upload-command-N3OMLLF2.js +0 -439
  436. package/dist/conversion-writes-XGGTBML5.js +0 -122
  437. package/dist/conversions-F4OZYUCT.js +0 -140
  438. package/dist/conversions-PPP4QK7U.js +0 -78
  439. package/dist/create-6EAKNERA.js +0 -239
  440. package/dist/create-772LZHZR.js +0 -218
  441. package/dist/create-FDNMIVFX.js +0 -62
  442. package/dist/create-X2QM7GA7.js +0 -135
  443. package/dist/creatives-K2AAW6EL.js +0 -58
  444. package/dist/creatives-SNYN4KIM.js +0 -229
  445. package/dist/credentials-KZZVBO42.js +0 -290
  446. package/dist/critique-G5QXRHPF.js +0 -1451
  447. package/dist/critique-PUHOJI7V.js +0 -232
  448. package/dist/crm-4LZZVT4N.js +0 -229
  449. package/dist/crm-M6NXDU5B.js +0 -323
  450. package/dist/currency-HK2ZW2VW.js +0 -88
  451. package/dist/customers-V5NT4W7X.js +0 -65
  452. package/dist/delete-GQIKNO53.js +0 -57
  453. package/dist/delete-LFZIPQEO.js +0 -69
  454. package/dist/delete-YOEI63OT.js +0 -67
  455. package/dist/demographics-CEQ74O74.js +0 -141
  456. package/dist/discard-5GDF3TP3.js +0 -69
  457. package/dist/discover-Q5PAOIQQ.js +0 -172
  458. package/dist/domain-PKOUPHHF.js +0 -101
  459. package/dist/download-2WNTN7JQ.js +0 -172
  460. package/dist/draft-CF4XNJG5.js +0 -578
  461. package/dist/draft-CF4XNJG5.js.map +0 -1
  462. package/dist/draft-F4CVSL2I.js +0 -332
  463. package/dist/draft-L2NXCIYT.js +0 -315
  464. package/dist/draft-RZCTAOI2.js +0 -374
  465. package/dist/draft-UEVBUNKV.js +0 -220
  466. package/dist/experiments-DWC6L72S.js +0 -236
  467. package/dist/extract-6HJXSOZW.js +0 -143
  468. package/dist/facets-TBOXGYJT.js +0 -117
  469. package/dist/feedback-MSMFYAEY.js +0 -114
  470. package/dist/feedback-WAC6S42V.js +0 -115
  471. package/dist/feedback-record-XRQ2R2WD.js +0 -269
  472. package/dist/fetch-LGX7B3IC.js +0 -204
  473. package/dist/fit-RVWPRBNO.js +0 -65
  474. package/dist/flows-LA6EYMLS.js +0 -340
  475. package/dist/fonts-WRC34VSV.js +0 -39
  476. package/dist/forecast-6VHRGBJG.js +0 -121
  477. package/dist/forecast-OVKXBLJB.js +0 -169
  478. package/dist/funnel-U3GQIGND.js +0 -397
  479. package/dist/generate-Y4NJEYIH.js +0 -263
  480. package/dist/get-AHI247JG.js +0 -82
  481. package/dist/get-PF3HGECD.js +0 -62
  482. package/dist/google-BMUJKAUO.js +0 -3300
  483. package/dist/google-ZVAIFXQZ.js +0 -163
  484. package/dist/google-ads-6Z7P3SCD.js +0 -198
  485. package/dist/history-4QUV45ZJ.js +0 -102
  486. package/dist/history-PD7FCTDD.js +0 -153
  487. package/dist/history-VKRYKQ4C.js +0 -69
  488. package/dist/hubspot-WEFAFKVJ.js +0 -814
  489. package/dist/ideas-SMSEXKIA.js +0 -45
  490. package/dist/images-KAT4BPYV.js +0 -92
  491. package/dist/ingest-IHKTSJ4H.js +0 -28
  492. package/dist/ingest-TOHQ6MZA.js +0 -131
  493. package/dist/insights-3IPSEBYW.js +0 -132
  494. package/dist/inspect-5MZBPDYS.js +0 -192
  495. package/dist/intent-ZM4K623V.js +0 -95
  496. package/dist/keyword-gap-FAAF2I6V.js +0 -130
  497. package/dist/keyword-metrics-EXNJRJBY.js +0 -200
  498. package/dist/keywords-for-site-5LW77QWF.js +0 -131
  499. package/dist/landing-ZH4SD3DW.js +0 -28
  500. package/dist/languages-ZGDTERIQ.js +0 -40
  501. package/dist/leads-736RILZN.js +0 -115
  502. package/dist/learn-BESXWXEN.js +0 -207
  503. package/dist/line-item-writes-FA72DHNQ.js +0 -211
  504. package/dist/line-items-XVYE3IYT.js +0 -107
  505. package/dist/link-6FPKFVC3.js +0 -67
  506. package/dist/linkedin-TE6P4RYN.js +0 -1344
  507. package/dist/linkedin-person-TZJ6VEXE.js +0 -139
  508. package/dist/list-4R5EMKUQ.js +0 -154
  509. package/dist/list-MN2FPF3T.js +0 -306
  510. package/dist/list-ORO4WDF4.js +0 -67
  511. package/dist/locations-A65MFB7Q.js +0 -69
  512. package/dist/locations-WN6B3IJK.js +0 -40
  513. package/dist/log-ABBZLPRU.js +0 -95
  514. package/dist/make-QAFKU6WO.js +0 -1367
  515. package/dist/map-52P35OKE.js +0 -445
  516. package/dist/mcp-PZ3VBIF4.js +0 -729
  517. package/dist/media-sources-TT374PLN.js +0 -35
  518. package/dist/members-CF6VG6ZW.js +0 -47
  519. package/dist/metrics-3U3ZO2RF.js +0 -152
  520. package/dist/models-VOSJJFO2.js +0 -155
  521. package/dist/normalize-4LZCLMTQ.js +0 -144
  522. package/dist/options-6IRL7CL6.js +0 -125
  523. package/dist/organization-WMLLJE66.js +0 -949
  524. package/dist/performance-A7CYFBW2.js +0 -5565
  525. package/dist/performance-HYSTXLTS.js +0 -27
  526. package/dist/pixels-U6UA662G.js +0 -62
  527. package/dist/preview-76ZP2QA3.js +0 -101
  528. package/dist/promoted-tweet-writes-I5G4IDL5.js +0 -183
  529. package/dist/promoted-tweets-X5XNO7IT.js +0 -119
  530. package/dist/publish-S2Z4EF4H.js +0 -350
  531. package/dist/query-SAQADBM2.js +0 -62
  532. package/dist/reddit-S2L5WDY7.js +0 -29
  533. package/dist/refresh-K2YTJSH3.js +0 -97
  534. package/dist/release-FX76IIVN.js +0 -63
  535. package/dist/relevant-pages-KTSODNNW.js +0 -99
  536. package/dist/remove-LOVWPLDO.js +0 -53
  537. package/dist/reopen-DXV2Y6Z3.js +0 -66
  538. package/dist/rerun-TFQCRRFK.js +0 -97
  539. package/dist/research-7PGDAKC7.js +0 -265
  540. package/dist/research-HY5PSUCC.js +0 -75
  541. package/dist/reset-MEHUQJA4.js +0 -57
  542. package/dist/reset-Y5VZJRDQ.js +0 -57
  543. package/dist/resolve-FAVABEJW.js +0 -124
  544. package/dist/retry-5IY4MNDW.js +0 -65
  545. package/dist/retry-OMJ3C3AX.js +0 -63
  546. package/dist/revenue-S4KFZCOI.js +0 -91
  547. package/dist/rules-66IGR2KA.js +0 -99
  548. package/dist/rules-add-G7YGOYZJ.js +0 -465
  549. package/dist/run-LJVBH3JS.js +0 -72
  550. package/dist/run-XJBWDWN6.js +0 -69
  551. package/dist/scaffold-ad-GNMCB3QY.js +0 -1513
  552. package/dist/scaffold-static-ad-QIWKWURL.js +0 -1013
  553. package/dist/scaffold-static-ad-QIWKWURL.js.map +0 -1
  554. package/dist/scaffold-video-G6G2NPUF.js +0 -885
  555. package/dist/schedule-OX5XHXLH.js +0 -64
  556. package/dist/scheduled-agents-A5ZFQB5X.js +0 -55
  557. package/dist/schema-NTGHAPR2.js +0 -135
  558. package/dist/search-WCXQBMMM.js +0 -177
  559. package/dist/select-5ZD7FVBT.js +0 -110
  560. package/dist/set-prompt-NGCVMQIQ.js +0 -199
  561. package/dist/setup-links-4HCSF55G.js +0 -144
  562. package/dist/shopify-GDR5WGHH.js +0 -4009
  563. package/dist/site-B7LT6KAO.js +0 -180
  564. package/dist/sources-6DPUEROC.js +0 -30
  565. package/dist/sources-OSUXCLID.js +0 -457
  566. package/dist/stale-YKFKPPOH.js +0 -90
  567. package/dist/status-KIC3P5JV.js +0 -65
  568. package/dist/stock-VWFUFRYV.js +0 -212
  569. package/dist/studio-XLC37YGX.js +0 -49
  570. package/dist/sync-QBW4XH2H.js +0 -57
  571. package/dist/sync-definition-4KMJK46H.js +0 -70
  572. package/dist/tags-4F5UBPYG.js +0 -227
  573. package/dist/tags-4O5FPEEY.js +0 -26
  574. package/dist/tags-7RKKCQ4X.js +0 -23
  575. package/dist/tags-CB4MWI3A.js +0 -23
  576. package/dist/tags-QZJIP4LJ.js +0 -23
  577. package/dist/targeting-criteria-65UU7EYD.js +0 -113
  578. package/dist/targets-T742OPQI.js +0 -106
  579. package/dist/testimonials-HKJJXONO.js +0 -32
  580. package/dist/themes-Q6LVMEMF.js +0 -95
  581. package/dist/top-companies-T6AMU4C6.js +0 -111
  582. package/dist/transcript-DOUYMZAP.js +0 -165
  583. package/dist/translate-WKOXFZTQ.js +0 -603
  584. package/dist/triggers-EYY4GSUL.js +0 -144
  585. package/dist/unlink-JNM4WRZK.js +0 -70
  586. package/dist/unstage-QF4JT5YP.js +0 -88
  587. package/dist/update-6V3RBRIE.js +0 -101
  588. package/dist/update-J4DURR4K.js +0 -192
  589. package/dist/update-J7Y6LZC5.js +0 -155
  590. package/dist/update-MQ4NYIU6.js +0 -66
  591. package/dist/upload-CEIYYPID.js +0 -137
  592. package/dist/url-options-6WC2XQKB.js +0 -131
  593. package/dist/url-params-OVBIP6UA.js +0 -101
  594. package/dist/validate-UHXI2ESE.js +0 -135
  595. package/dist/videos-Z72RXCRB.js +0 -41
  596. package/dist/viewer-check-655BZRML.js +0 -83
  597. package/dist/web-4QN6QB7L.js +0 -173
  598. package/dist/winning-ads-2J2RIOLR.js +0 -86
  599. package/dist/write-commands-V7B4FBMX.js +0 -1524
  600. package/dist/x-7KXNCWTJ.js +0 -47
  601. /package/dist/{account-JVDP5ERG.js.map → account-52WDLW4Z.js.map} +0 -0
  602. /package/dist/{account-EXGRZIXS.js.map → account-7KZ7MHMN.js.map} +0 -0
  603. /package/dist/{account-reads-Z467VAL4.js.map → account-reads-CQIJCPCH.js.map} +0 -0
  604. /package/dist/{account-users-342OZALE.js.map → account-users-NUI3ILRE.js.map} +0 -0
  605. /package/dist/{account-writes-KEXINJ5D.js.map → account-writes-3BJSUM2V.js.map} +0 -0
  606. /package/dist/{accounts-QESGQJGZ.js.map → accounts-FLKNFDIE.js.map} +0 -0
  607. /package/dist/{accounts-UWC2TT6R.js.map → accounts-I2ZLR76R.js.map} +0 -0
  608. /package/dist/{accounts-QR6OQ3GC.js.map → accounts-ZV4IXOF5.js.map} +0 -0
  609. /package/dist/{actions-NT3HXFFA.js.map → actions-IR47GVZ6.js.map} +0 -0
  610. /package/dist/{activecampaign-EYRHDSXY.js.map → activecampaign-MNJYIWJL.js.map} +0 -0
  611. /package/dist/{ad-group-writes-SVR4RCKB.js.map → ad-group-writes-KU4QMQZP.js.map} +0 -0
  612. /package/dist/{ad-groups-C726HUXS.js.map → ad-groups-NMW2G32A.js.map} +0 -0
  613. /package/dist/{ad-writes-RWJIWGEL.js.map → ad-writes-7NOFTOM4.js.map} +0 -0
  614. /package/dist/{add-NSW26HIM.js.map → add-4I25INAO.js.map} +0 -0
  615. /package/dist/{add-EPOHDTUO.js.map → add-QMTD6EGI.js.map} +0 -0
  616. /package/dist/{ads-3KK7VQPU.js.map → ads-P4Z3MLKS.js.map} +0 -0
  617. /package/dist/{ads-EWZGIC4T.js.map → ads-PWTQC6KV.js.map} +0 -0
  618. /package/dist/{advertisers-AHOWL3YL.js.map → advertisers-LOIXTTGP.js.map} +0 -0
  619. /package/dist/{analytics-7H6NDVUQ.js.map → analytics-6AHC3J4L.js.map} +0 -0
  620. /package/dist/{analytics-GFFXCMLV.js.map → analytics-NL2KGDLK.js.map} +0 -0
  621. /package/dist/{animate-GTUI7XX4.js.map → animate-VX7E7KJE.js.map} +0 -0
  622. /package/dist/{assign-SDPPWP3Q.js.map → assign-NKHIHVGI.js.map} +0 -0
  623. /package/dist/{audience-size-LKDDHKED.js.map → audience-size-WEOM6XIL.js.map} +0 -0
  624. /package/dist/{audiences-6L43K2T2.js.map → audiences-P3SPTAJT.js.map} +0 -0
  625. /package/dist/{audit-TSZIQTUB.js.map → audit-4RIBJ7BR.js.map} +0 -0
  626. /package/dist/{autocomplete-5BSAOAMZ.js.map → autocomplete-FMTJDXTL.js.map} +0 -0
  627. /package/dist/{avatars-S6RRD7M3.js.map → avatars-LY5SFMWO.js.map} +0 -0
  628. /package/dist/{bid-pricing-5KUAINH4.js.map → bid-pricing-MQ7WLV5U.js.map} +0 -0
  629. /package/dist/{brand-KFK2MQWW.js.map → brand-LR5IXW3W.js.map} +0 -0
  630. /package/dist/{brief-6DV2PKAU.js.map → brief-4DSXIX3F.js.map} +0 -0
  631. /package/dist/{campaign-groups-5RPZPDNW.js.map → campaign-groups-EZYLKMO2.js.map} +0 -0
  632. /package/dist/{campaign-writes-FUIGN5OR.js.map → campaign-writes-P5XPFTRK.js.map} +0 -0
  633. /package/dist/{campaign-writes-XMYBEVZF.js.map → campaign-writes-UMENYMKO.js.map} +0 -0
  634. /package/dist/{campaigns-JNP3VDZK.js.map → campaigns-PP2DQMJE.js.map} +0 -0
  635. /package/dist/{campaigns-N2SWSBYT.js.map → campaigns-SWZJVE2T.js.map} +0 -0
  636. /package/dist/{campaigns-5A3IE735.js.map → campaigns-TAFDM242.js.map} +0 -0
  637. /package/dist/{canvas-CHFNQTLY.js.map → canvas-RKR3ZB4E.js.map} +0 -0
  638. /package/dist/{capabilities-2W3SRZ2I.js.map → capabilities-45RZ6E6W.js.map} +0 -0
  639. /package/dist/{catalog-6BER3SF7.js.map → catalog-TOHUVBEU.js.map} +0 -0
  640. /package/dist/{catalogs-G5NOKL4L.js.map → catalogs-V7PTEJBO.js.map} +0 -0
  641. /package/dist/{changes-AS4RVEAL.js.map → changes-5OW3UYMF.js.map} +0 -0
  642. /package/dist/{chatgpt-O6EEAYLF.js.map → chatgpt-JBMYNVJB.js.map} +0 -0
  643. /package/dist/{chats-4JLWMUAC.js.map → chats-VOLBYA3R.js.map} +0 -0
  644. /package/dist/{check-BOKLY5WG.js.map → check-4DI73QX4.js.map} +0 -0
  645. /package/dist/{chunk-QZ4YHQLW.js.map → chunk-22RM3UOO.js.map} +0 -0
  646. /package/dist/{chunk-WTOBG3YL.js.map → chunk-2TS2ITSG.js.map} +0 -0
  647. /package/dist/{chunk-ZMNRSTNV.js.map → chunk-2YXTXSYG.js.map} +0 -0
  648. /package/dist/{chunk-KG5VNPKU.js.map → chunk-2Z6PFHD2.js.map} +0 -0
  649. /package/dist/{chunk-GRX3JXSR.js.map → chunk-47VWQ7FQ.js.map} +0 -0
  650. /package/dist/{chunk-BEZEZHQ6.js.map → chunk-4QFMRL6O.js.map} +0 -0
  651. /package/dist/{chunk-4INBMXUS.js.map → chunk-5OC6VUDZ.js.map} +0 -0
  652. /package/dist/{chunk-HOA74TOS.js.map → chunk-5VXEH72O.js.map} +0 -0
  653. /package/dist/{chunk-LAMSUL26.js.map → chunk-BFAPSFS7.js.map} +0 -0
  654. /package/dist/{chunk-WZXMZFVB.js.map → chunk-BMMXYR7A.js.map} +0 -0
  655. /package/dist/{chunk-NOCBNING.js.map → chunk-BNEWJXKU.js.map} +0 -0
  656. /package/dist/{chunk-AXLKR3E4.js.map → chunk-BXTIG5JL.js.map} +0 -0
  657. /package/dist/{chunk-XY7W6MQN.js.map → chunk-C7KV5O5J.js.map} +0 -0
  658. /package/dist/{chunk-H4RHZJ65.js.map → chunk-CDPX6WAL.js.map} +0 -0
  659. /package/dist/{chunk-M5PZ6QQB.js.map → chunk-COOJKEJE.js.map} +0 -0
  660. /package/dist/{chunk-3KUNRKNV.js.map → chunk-CTJWMZPL.js.map} +0 -0
  661. /package/dist/{chunk-RLLPY62L.js.map → chunk-D5HD46VV.js.map} +0 -0
  662. /package/dist/{chunk-EMR5KGNY.js.map → chunk-EKOMZH2S.js.map} +0 -0
  663. /package/dist/{chunk-RULW4627.js.map → chunk-G4FU6VC5.js.map} +0 -0
  664. /package/dist/{chunk-RQHXWPET.js.map → chunk-H3RCEM6L.js.map} +0 -0
  665. /package/dist/{chunk-HQDNDKNR.js.map → chunk-HM4NWA72.js.map} +0 -0
  666. /package/dist/{chunk-KJHG2DWS.js.map → chunk-I33FO2ON.js.map} +0 -0
  667. /package/dist/{chunk-XHAGX4J4.js.map → chunk-IAE24RKD.js.map} +0 -0
  668. /package/dist/{chunk-D32EWSMB.js.map → chunk-IGCS3X4F.js.map} +0 -0
  669. /package/dist/{chunk-QGAUDVMR.js.map → chunk-IJ6WA2JW.js.map} +0 -0
  670. /package/dist/{chunk-EM5R3BYC.js.map → chunk-ITIUWJGQ.js.map} +0 -0
  671. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  672. /package/dist/{chunk-LLTHDEM2.js.map → chunk-JCDCIQMA.js.map} +0 -0
  673. /package/dist/{chunk-J4AWNWKN.js.map → chunk-JGK2FDZW.js.map} +0 -0
  674. /package/dist/{chunk-QRRAMUKV.js.map → chunk-JSOOLOHP.js.map} +0 -0
  675. /package/dist/{chunk-CST52ZME.js.map → chunk-JT3UUBID.js.map} +0 -0
  676. /package/dist/{chunk-BMK4F4CU.js.map → chunk-KUI74TNG.js.map} +0 -0
  677. /package/dist/{chunk-6D7WTUF3.js.map → chunk-LAOCXV6Z.js.map} +0 -0
  678. /package/dist/{chunk-MFGUR5OD.js.map → chunk-LQACNCAV.js.map} +0 -0
  679. /package/dist/{chunk-EONUZOJV.js.map → chunk-MC5F2L64.js.map} +0 -0
  680. /package/dist/{chunk-CUTTTFAU.js.map → chunk-MKG57P2E.js.map} +0 -0
  681. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  682. /package/dist/{chunk-NWLK5RPA.js.map → chunk-O2ECZKXP.js.map} +0 -0
  683. /package/dist/{chunk-5NMKNHJI.js.map → chunk-OJZKY5UM.js.map} +0 -0
  684. /package/dist/{chunk-S4RCF3YT.js.map → chunk-P4UCSXNA.js.map} +0 -0
  685. /package/dist/{chunk-C52Q3L4C.js.map → chunk-QLO4RNHU.js.map} +0 -0
  686. /package/dist/{chunk-X5YHMGAT.js.map → chunk-QSS34JWZ.js.map} +0 -0
  687. /package/dist/{chunk-UVUY6FLV.js.map → chunk-QVHZTCB5.js.map} +0 -0
  688. /package/dist/{chunk-Z7ICQKC2.js.map → chunk-RVIBHENP.js.map} +0 -0
  689. /package/dist/{chunk-YAINUFSC.js.map → chunk-TEJOILEY.js.map} +0 -0
  690. /package/dist/{chunk-V4HS5JRL.js.map → chunk-TEQEZAJI.js.map} +0 -0
  691. /package/dist/{chunk-HFIHXIYY.js.map → chunk-TNI7CN4L.js.map} +0 -0
  692. /package/dist/{chunk-ZBXV2KOQ.js.map → chunk-TPJ34LXX.js.map} +0 -0
  693. /package/dist/{chunk-RIVQ4PQQ.js.map → chunk-U6AWJIFP.js.map} +0 -0
  694. /package/dist/{chunk-WYMX3F47.js.map → chunk-V5ODOBBI.js.map} +0 -0
  695. /package/dist/{chunk-75OGTGC4.js.map → chunk-VAURJ4QJ.js.map} +0 -0
  696. /package/dist/{chunk-PR5OPERY.js.map → chunk-VAV5CCDD.js.map} +0 -0
  697. /package/dist/{chunk-JAK5VDSG.js.map → chunk-VWHUO3AP.js.map} +0 -0
  698. /package/dist/{chunk-JLAFNORO.js.map → chunk-W3TZPHZO.js.map} +0 -0
  699. /package/dist/{chunk-XA7JN7YE.js.map → chunk-WZATC4O5.js.map} +0 -0
  700. /package/dist/{chunk-6FQ7CJEX.js.map → chunk-X25XRSDP.js.map} +0 -0
  701. /package/dist/{chunk-DW3H2XQA.js.map → chunk-XGG72YRO.js.map} +0 -0
  702. /package/dist/{chunk-TCLJRWST.js.map → chunk-XWAOECD2.js.map} +0 -0
  703. /package/dist/{chunk-RGLTITIH.js.map → chunk-YDALLZNS.js.map} +0 -0
  704. /package/dist/{chunk-I3QLWGKS.js.map → chunk-Z3RGBLVJ.js.map} +0 -0
  705. /package/dist/{chunk-6OZDN2FI.js.map → chunk-Z5JWFNG4.js.map} +0 -0
  706. /package/dist/{claim-L4WLCVUL.js.map → claim-3UMAFZEM.js.map} +0 -0
  707. /package/dist/{companies-HW46BRQG.js.map → companies-RL5A26AT.js.map} +0 -0
  708. /package/dist/{company-KCIDE7SL.js.map → company-DJ44F5C6.js.map} +0 -0
  709. /package/dist/{complete-JXM25FVW.js.map → complete-PGNIP3LN.js.map} +0 -0
  710. /package/dist/{connect-7TX7AAM5.js.map → connect-ROARWN63.js.map} +0 -0
  711. /package/dist/{conversation-YIDUB6GL.js.map → conversation-GDFMJL7X.js.map} +0 -0
  712. /package/dist/{conversion-report-33SG7SHU.js.map → conversion-report-2FREFML5.js.map} +0 -0
  713. /package/dist/{conversion-upload-command-N3OMLLF2.js.map → conversion-upload-command-JAGV6GMG.js.map} +0 -0
  714. /package/dist/{conversion-writes-XGGTBML5.js.map → conversion-writes-JZIJSQ7T.js.map} +0 -0
  715. /package/dist/{conversions-F4OZYUCT.js.map → conversions-2IFWDQKK.js.map} +0 -0
  716. /package/dist/{conversions-PPP4QK7U.js.map → conversions-Q5EBTEXA.js.map} +0 -0
  717. /package/dist/{create-772LZHZR.js.map → create-B5DIYK5D.js.map} +0 -0
  718. /package/dist/{create-6EAKNERA.js.map → create-BRCSXXFO.js.map} +0 -0
  719. /package/dist/{create-FDNMIVFX.js.map → create-PXAUL6FF.js.map} +0 -0
  720. /package/dist/{create-X2QM7GA7.js.map → create-R6CMATVY.js.map} +0 -0
  721. /package/dist/{creatives-SNYN4KIM.js.map → creatives-D6O6Z46U.js.map} +0 -0
  722. /package/dist/{creatives-K2AAW6EL.js.map → creatives-XNVWQWFF.js.map} +0 -0
  723. /package/dist/{credentials-KZZVBO42.js.map → credentials-CLJO7WWY.js.map} +0 -0
  724. /package/dist/{critique-G5QXRHPF.js.map → critique-MBMKW6SL.js.map} +0 -0
  725. /package/dist/{critique-PUHOJI7V.js.map → critique-OUJDTVMI.js.map} +0 -0
  726. /package/dist/{crm-4LZZVT4N.js.map → crm-H5ITJ2RC.js.map} +0 -0
  727. /package/dist/{crm-M6NXDU5B.js.map → crm-JJHYRABB.js.map} +0 -0
  728. /package/dist/{currency-HK2ZW2VW.js.map → currency-EFDQYW5B.js.map} +0 -0
  729. /package/dist/{customers-V5NT4W7X.js.map → customers-C5YXAVXI.js.map} +0 -0
  730. /package/dist/{delete-GQIKNO53.js.map → delete-3GYCQK6B.js.map} +0 -0
  731. /package/dist/{delete-LFZIPQEO.js.map → delete-NBUDIGSD.js.map} +0 -0
  732. /package/dist/{delete-YOEI63OT.js.map → delete-WZ3KVVX5.js.map} +0 -0
  733. /package/dist/{demographics-CEQ74O74.js.map → demographics-O7AJW7DO.js.map} +0 -0
  734. /package/dist/{discard-5GDF3TP3.js.map → discard-RMVZAX2J.js.map} +0 -0
  735. /package/dist/{discover-Q5PAOIQQ.js.map → discover-BPUUWRBP.js.map} +0 -0
  736. /package/dist/{domain-PKOUPHHF.js.map → domain-J3ZMBOHS.js.map} +0 -0
  737. /package/dist/{download-2WNTN7JQ.js.map → download-ZVOGLTFB.js.map} +0 -0
  738. /package/dist/{draft-RZCTAOI2.js.map → draft-6PJD3MCW.js.map} +0 -0
  739. /package/dist/{draft-L2NXCIYT.js.map → draft-GCOCG4PO.js.map} +0 -0
  740. /package/dist/{draft-UEVBUNKV.js.map → draft-TPR3DH5N.js.map} +0 -0
  741. /package/dist/{draft-F4CVSL2I.js.map → draft-ZPGGWU7E.js.map} +0 -0
  742. /package/dist/{experiments-DWC6L72S.js.map → experiments-MM4BYHRH.js.map} +0 -0
  743. /package/dist/{extract-6HJXSOZW.js.map → extract-JMY6YRPW.js.map} +0 -0
  744. /package/dist/{facets-TBOXGYJT.js.map → facets-B5AZAU2C.js.map} +0 -0
  745. /package/dist/{feedback-WAC6S42V.js.map → feedback-2EVDGTEN.js.map} +0 -0
  746. /package/dist/{feedback-MSMFYAEY.js.map → feedback-4MCMOMVN.js.map} +0 -0
  747. /package/dist/{feedback-record-XRQ2R2WD.js.map → feedback-record-DL7UEU2H.js.map} +0 -0
  748. /package/dist/{fetch-LGX7B3IC.js.map → fetch-JDNFK476.js.map} +0 -0
  749. /package/dist/{fit-RVWPRBNO.js.map → fit-DKVH5BDW.js.map} +0 -0
  750. /package/dist/{flows-LA6EYMLS.js.map → flows-LURTZICL.js.map} +0 -0
  751. /package/dist/{fonts-WRC34VSV.js.map → fonts-HUXFDDAE.js.map} +0 -0
  752. /package/dist/{forecast-OVKXBLJB.js.map → forecast-HMNQZFVL.js.map} +0 -0
  753. /package/dist/{forecast-6VHRGBJG.js.map → forecast-UHTW4Y7Q.js.map} +0 -0
  754. /package/dist/{funnel-U3GQIGND.js.map → funnel-QM7WFFMD.js.map} +0 -0
  755. /package/dist/{generate-Y4NJEYIH.js.map → generate-KAWRRYTT.js.map} +0 -0
  756. /package/dist/{get-AHI247JG.js.map → get-237TYJZT.js.map} +0 -0
  757. /package/dist/{get-PF3HGECD.js.map → get-FWPR2YPC.js.map} +0 -0
  758. /package/dist/{google-BMUJKAUO.js.map → google-3CAUWNWE.js.map} +0 -0
  759. /package/dist/{google-ZVAIFXQZ.js.map → google-DTSLO3PT.js.map} +0 -0
  760. /package/dist/{google-ads-6Z7P3SCD.js.map → google-ads-RZOQQDQN.js.map} +0 -0
  761. /package/dist/{history-PD7FCTDD.js.map → history-H7S7XRBX.js.map} +0 -0
  762. /package/dist/{history-4QUV45ZJ.js.map → history-XL52537O.js.map} +0 -0
  763. /package/dist/{history-VKRYKQ4C.js.map → history-YQSYXBJH.js.map} +0 -0
  764. /package/dist/{hubspot-WEFAFKVJ.js.map → hubspot-2DSISSUI.js.map} +0 -0
  765. /package/dist/{ideas-SMSEXKIA.js.map → ideas-2XBFQJ56.js.map} +0 -0
  766. /package/dist/{images-KAT4BPYV.js.map → images-VFRQ32G5.js.map} +0 -0
  767. /package/dist/{ingest-IHKTSJ4H.js.map → ingest-4RPLN54K.js.map} +0 -0
  768. /package/dist/{ingest-TOHQ6MZA.js.map → ingest-TPVH44VI.js.map} +0 -0
  769. /package/dist/{insights-3IPSEBYW.js.map → insights-UVCFOB3N.js.map} +0 -0
  770. /package/dist/{inspect-5MZBPDYS.js.map → inspect-VD3GVXDU.js.map} +0 -0
  771. /package/dist/{intent-ZM4K623V.js.map → intent-F5NTOSQC.js.map} +0 -0
  772. /package/dist/{keyword-gap-FAAF2I6V.js.map → keyword-gap-EB5QATYN.js.map} +0 -0
  773. /package/dist/{keyword-metrics-EXNJRJBY.js.map → keyword-metrics-PW2DDIJW.js.map} +0 -0
  774. /package/dist/{keywords-for-site-5LW77QWF.js.map → keywords-for-site-JEPABY6E.js.map} +0 -0
  775. /package/dist/{landing-ZH4SD3DW.js.map → landing-4N6YSB4L.js.map} +0 -0
  776. /package/dist/{languages-ZGDTERIQ.js.map → languages-4S26FJDP.js.map} +0 -0
  777. /package/dist/{leads-736RILZN.js.map → leads-R5OZJQHW.js.map} +0 -0
  778. /package/dist/{learn-BESXWXEN.js.map → learn-AQ2FRFB7.js.map} +0 -0
  779. /package/dist/{line-item-writes-FA72DHNQ.js.map → line-item-writes-LGO7HIJJ.js.map} +0 -0
  780. /package/dist/{line-items-XVYE3IYT.js.map → line-items-AAZVKQ7E.js.map} +0 -0
  781. /package/dist/{link-6FPKFVC3.js.map → link-7IGHVARH.js.map} +0 -0
  782. /package/dist/{linkedin-TE6P4RYN.js.map → linkedin-UB2CW4KP.js.map} +0 -0
  783. /package/dist/{linkedin-person-TZJ6VEXE.js.map → linkedin-person-D6U2ZAUW.js.map} +0 -0
  784. /package/dist/{list-4R5EMKUQ.js.map → list-P44QRX2O.js.map} +0 -0
  785. /package/dist/{list-ORO4WDF4.js.map → list-UMJACDTQ.js.map} +0 -0
  786. /package/dist/{list-MN2FPF3T.js.map → list-VZKUHY4Y.js.map} +0 -0
  787. /package/dist/{locations-WN6B3IJK.js.map → locations-UWBQLHXW.js.map} +0 -0
  788. /package/dist/{locations-A65MFB7Q.js.map → locations-WXGOI3VV.js.map} +0 -0
  789. /package/dist/{log-ABBZLPRU.js.map → log-6ZKMUTYS.js.map} +0 -0
  790. /package/dist/{make-QAFKU6WO.js.map → make-5CEIJRBC.js.map} +0 -0
  791. /package/dist/{map-52P35OKE.js.map → map-ZL4MQVJZ.js.map} +0 -0
  792. /package/dist/{mcp-PZ3VBIF4.js.map → mcp-GSRYLRD4.js.map} +0 -0
  793. /package/dist/{media-sources-TT374PLN.js.map → media-sources-VSPVHLYN.js.map} +0 -0
  794. /package/dist/{members-CF6VG6ZW.js.map → members-L6SXP6GC.js.map} +0 -0
  795. /package/dist/{metrics-3U3ZO2RF.js.map → metrics-4AFEEDVP.js.map} +0 -0
  796. /package/dist/{models-VOSJJFO2.js.map → models-2ZEM64H5.js.map} +0 -0
  797. /package/dist/{normalize-4LZCLMTQ.js.map → normalize-GK7DH7ZP.js.map} +0 -0
  798. /package/dist/{options-6IRL7CL6.js.map → options-FDAAHG7C.js.map} +0 -0
  799. /package/dist/{organization-WMLLJE66.js.map → organization-K2FTFAAO.js.map} +0 -0
  800. /package/dist/{performance-A7CYFBW2.js.map → performance-N3UROH7Z.js.map} +0 -0
  801. /package/dist/{performance-HYSTXLTS.js.map → performance-RG2HR46T.js.map} +0 -0
  802. /package/dist/{pixels-U6UA662G.js.map → pixels-HEI5WVAO.js.map} +0 -0
  803. /package/dist/{preview-76ZP2QA3.js.map → preview-NVWIEUHF.js.map} +0 -0
  804. /package/dist/{promoted-tweet-writes-I5G4IDL5.js.map → promoted-tweet-writes-7QZRFDOM.js.map} +0 -0
  805. /package/dist/{promoted-tweets-X5XNO7IT.js.map → promoted-tweets-V555Y7DN.js.map} +0 -0
  806. /package/dist/{publish-S2Z4EF4H.js.map → publish-5KR6YLA6.js.map} +0 -0
  807. /package/dist/{query-SAQADBM2.js.map → query-K7MYBRTS.js.map} +0 -0
  808. /package/dist/{reddit-S2L5WDY7.js.map → reddit-XPQ7YAJW.js.map} +0 -0
  809. /package/dist/{refresh-K2YTJSH3.js.map → refresh-XFHEBSDU.js.map} +0 -0
  810. /package/dist/{release-FX76IIVN.js.map → release-3ECEF26P.js.map} +0 -0
  811. /package/dist/{relevant-pages-KTSODNNW.js.map → relevant-pages-XYQKVX3U.js.map} +0 -0
  812. /package/dist/{remove-LOVWPLDO.js.map → remove-OCTUC3RB.js.map} +0 -0
  813. /package/dist/{reopen-DXV2Y6Z3.js.map → reopen-JRI3TYD4.js.map} +0 -0
  814. /package/dist/{rerun-TFQCRRFK.js.map → rerun-HWWYCDT2.js.map} +0 -0
  815. /package/dist/{research-7PGDAKC7.js.map → research-ODPU62BA.js.map} +0 -0
  816. /package/dist/{research-HY5PSUCC.js.map → research-TG5CBTYP.js.map} +0 -0
  817. /package/dist/{reset-Y5VZJRDQ.js.map → reset-J2NLNITD.js.map} +0 -0
  818. /package/dist/{reset-MEHUQJA4.js.map → reset-SRU7YJUR.js.map} +0 -0
  819. /package/dist/{resolve-FAVABEJW.js.map → resolve-KHMMUGB2.js.map} +0 -0
  820. /package/dist/{retry-5IY4MNDW.js.map → retry-VLH4AO7F.js.map} +0 -0
  821. /package/dist/{retry-OMJ3C3AX.js.map → retry-WP7LWKZF.js.map} +0 -0
  822. /package/dist/{revenue-S4KFZCOI.js.map → revenue-EEIS2AV5.js.map} +0 -0
  823. /package/dist/{rules-66IGR2KA.js.map → rules-TTUGQAEB.js.map} +0 -0
  824. /package/dist/{rules-add-G7YGOYZJ.js.map → rules-add-AIXUAZXG.js.map} +0 -0
  825. /package/dist/{run-XJBWDWN6.js.map → run-AQTACLY6.js.map} +0 -0
  826. /package/dist/{run-LJVBH3JS.js.map → run-YA6IWQAJ.js.map} +0 -0
  827. /package/dist/{scaffold-ad-GNMCB3QY.js.map → scaffold-ad-IYNFJPT7.js.map} +0 -0
  828. /package/dist/{scaffold-video-G6G2NPUF.js.map → scaffold-video-BUN27PKS.js.map} +0 -0
  829. /package/dist/{schedule-OX5XHXLH.js.map → schedule-EH2MOC5C.js.map} +0 -0
  830. /package/dist/{scheduled-agents-A5ZFQB5X.js.map → scheduled-agents-DTAEP25E.js.map} +0 -0
  831. /package/dist/{schema-NTGHAPR2.js.map → schema-7B4MVVAS.js.map} +0 -0
  832. /package/dist/{search-WCXQBMMM.js.map → search-ZZWIJRXJ.js.map} +0 -0
  833. /package/dist/{select-5ZD7FVBT.js.map → select-LWZRF7KV.js.map} +0 -0
  834. /package/dist/{set-prompt-NGCVMQIQ.js.map → set-prompt-YKDH6FYK.js.map} +0 -0
  835. /package/dist/{setup-links-4HCSF55G.js.map → setup-links-OE6PC2YQ.js.map} +0 -0
  836. /package/dist/{shopify-GDR5WGHH.js.map → shopify-CCPLZI2H.js.map} +0 -0
  837. /package/dist/{site-B7LT6KAO.js.map → site-FW5BBLYG.js.map} +0 -0
  838. /package/dist/{sources-6DPUEROC.js.map → sources-WPHMWBEK.js.map} +0 -0
  839. /package/dist/{sources-OSUXCLID.js.map → sources-X77TGJ52.js.map} +0 -0
  840. /package/dist/{stale-YKFKPPOH.js.map → stale-SPCDL73V.js.map} +0 -0
  841. /package/dist/{status-KIC3P5JV.js.map → status-FLETGJ2A.js.map} +0 -0
  842. /package/dist/{stock-VWFUFRYV.js.map → stock-5AOSQH52.js.map} +0 -0
  843. /package/dist/{studio-XLC37YGX.js.map → studio-4EV5S7PR.js.map} +0 -0
  844. /package/dist/{sync-QBW4XH2H.js.map → sync-363VKXU3.js.map} +0 -0
  845. /package/dist/{sync-definition-4KMJK46H.js.map → sync-definition-ZDE5L644.js.map} +0 -0
  846. /package/dist/{tags-CB4MWI3A.js.map → tags-6MN3AWKN.js.map} +0 -0
  847. /package/dist/{tags-4F5UBPYG.js.map → tags-VOKUNEIW.js.map} +0 -0
  848. /package/dist/{tags-QZJIP4LJ.js.map → tags-Y6MNMIEA.js.map} +0 -0
  849. /package/dist/{tags-7RKKCQ4X.js.map → tags-YHAC3NVY.js.map} +0 -0
  850. /package/dist/{tags-4O5FPEEY.js.map → tags-ZCQMJ5YH.js.map} +0 -0
  851. /package/dist/{targeting-criteria-65UU7EYD.js.map → targeting-criteria-ECQFHQF3.js.map} +0 -0
  852. /package/dist/{targets-T742OPQI.js.map → targets-U2JHTB5U.js.map} +0 -0
  853. /package/dist/{testimonials-HKJJXONO.js.map → testimonials-IDVLMXDT.js.map} +0 -0
  854. /package/dist/{themes-Q6LVMEMF.js.map → themes-FW3VWZJE.js.map} +0 -0
  855. /package/dist/{top-companies-T6AMU4C6.js.map → top-companies-CBI4O3ZB.js.map} +0 -0
  856. /package/dist/{transcript-DOUYMZAP.js.map → transcript-IIRFTFRW.js.map} +0 -0
  857. /package/dist/{translate-WKOXFZTQ.js.map → translate-N6QW4FZB.js.map} +0 -0
  858. /package/dist/{triggers-EYY4GSUL.js.map → triggers-Q3KRAMA3.js.map} +0 -0
  859. /package/dist/{unlink-JNM4WRZK.js.map → unlink-7RVQXKAR.js.map} +0 -0
  860. /package/dist/{unstage-QF4JT5YP.js.map → unstage-3LPHNZKR.js.map} +0 -0
  861. /package/dist/{update-J4DURR4K.js.map → update-AL3LBHGK.js.map} +0 -0
  862. /package/dist/{update-J7Y6LZC5.js.map → update-AWR7EHGA.js.map} +0 -0
  863. /package/dist/{update-MQ4NYIU6.js.map → update-LNSSLZXG.js.map} +0 -0
  864. /package/dist/{update-6V3RBRIE.js.map → update-YBTFH5MN.js.map} +0 -0
  865. /package/dist/{upload-CEIYYPID.js.map → upload-45GCGMA5.js.map} +0 -0
  866. /package/dist/{url-options-6WC2XQKB.js.map → url-options-AHJPR5VY.js.map} +0 -0
  867. /package/dist/{url-params-OVBIP6UA.js.map → url-params-U6ZM4LL2.js.map} +0 -0
  868. /package/dist/{validate-UHXI2ESE.js.map → validate-S325RXPH.js.map} +0 -0
  869. /package/dist/{videos-Z72RXCRB.js.map → videos-NW2UP342.js.map} +0 -0
  870. /package/dist/{viewer-check-655BZRML.js.map → viewer-check-IDXFRRCO.js.map} +0 -0
  871. /package/dist/{web-4QN6QB7L.js.map → web-VMPKMBKA.js.map} +0 -0
  872. /package/dist/{winning-ads-2J2RIOLR.js.map → winning-ads-7UJXCWFH.js.map} +0 -0
  873. /package/dist/{write-commands-V7B4FBMX.js.map → write-commands-R42DQEW6.js.map} +0 -0
  874. /package/dist/{x-7KXNCWTJ.js.map → x-UGTUOCVR.js.map} +0 -0
@@ -1,917 +0,0 @@
1
- import {
2
- finalOutputLabelsFromCanvas
3
- } from "./chunk-PR5OPERY.js";
4
- import {
5
- BRAND_LOGO_ROLE,
6
- CLAIMS_MODEL,
7
- CLAIMS_REQUEST,
8
- PATCHED_WORDS,
9
- PEOPLE_PROMPT_VERSION,
10
- STATIC_AD_ROLE,
11
- UNREAD_WORDS,
12
- carryUnchanged,
13
- deliveredLogoFindings,
14
- formatOfSizeNode,
15
- keptLostHint,
16
- logoPlacementFindings,
17
- peoplePrompt,
18
- plainRunEdit,
19
- prepareCanvas,
20
- readPeople,
21
- uncastPeople,
22
- unsuppliedPlaceholderAssets
23
- } from "./chunk-MZLPOYCC.js";
24
- import {
25
- ViewerAnswerSchema,
26
- describeViewer,
27
- jevReadJudge,
28
- judgeViewerAnswer,
29
- misreadings,
30
- readTurnRenders,
31
- sureEnough,
32
- turnRenderRefusal
33
- } from "./chunk-TCLJRWST.js";
34
- import {
35
- heldRules
36
- } from "./chunk-CST52ZME.js";
37
- import {
38
- readCompanyReading
39
- } from "./chunk-Z7ICQKC2.js";
40
- import {
41
- frontmatterOf
42
- } from "./chunk-NOCBNING.js";
43
- import {
44
- findWorkspaceRoot
45
- } from "./chunk-DGHSXHZR.js";
46
- import {
47
- MISALIGNED,
48
- compareSizes,
49
- sizeDifferenceFinding
50
- } from "./chunk-JGSEHX2Q.js";
51
- import {
52
- LOGO_COMPOSITE_ROLE,
53
- STATIC_ADAPT_FORMAT_ROLE,
54
- STATIC_ADAPT_ROLE,
55
- STATIC_FIX_ROLE,
56
- STATIC_FORMAT_ROLE,
57
- STATIC_LEAD_ROLE,
58
- STATIC_MASTER_ROLE,
59
- STATIC_PICK_ROLE,
60
- STATIC_PLACE_ROLE,
61
- STATIC_PLATE_ROLE,
62
- STATIC_SAFE_FIT_ROLE,
63
- STATIC_SIZE_ROLE,
64
- STATIC_VARIANTS_ROLE,
65
- STATIC_VARIANT_CALL_ROLE,
66
- VARIANT_PREFILTER_ROLE,
67
- castsNobody,
68
- isPlateCanvas,
69
- nodesWithRole,
70
- staticMasterFormat
71
- } from "./chunk-Z5BG47PO.js";
72
- import {
73
- bytesOf,
74
- judgeWinner,
75
- nearIdenticalFindings,
76
- parseJudgeScores,
77
- reviewRenderedStatic,
78
- samePictureSizes,
79
- staticVerdict
80
- } from "./chunk-LAMSUL26.js";
81
- import {
82
- conceptSummary,
83
- nativeChrome,
84
- nativeCopy,
85
- nativeSurfaceName,
86
- readAdSpec,
87
- readInterfaceWords
88
- } from "./chunk-J4AWNWKN.js";
89
- import {
90
- askAboutImages,
91
- askAboutText
92
- } from "./chunk-GRX3JXSR.js";
93
- import {
94
- GLANCE_CHECK_MODEL
95
- } from "./chunk-F3CZFUXZ.js";
96
- import {
97
- describeMarket
98
- } from "./chunk-2WZI36D3.js";
99
- import {
100
- isSourceStale
101
- } from "./chunk-6DSPB6YA.js";
102
-
103
- // src/commands/canvas/static-ad-canvas.ts
104
- function isStaticAdCanvas(parsed) {
105
- const nodes = parsed?.nodes;
106
- if (!Array.isArray(nodes)) return false;
107
- return nodes.some((n) => {
108
- const role = n?.tags?.role;
109
- if (role === STATIC_VARIANTS_ROLE) return true;
110
- return n?.type === "ingest" && (role === STATIC_AD_ROLE || n?.id === "compose_spec");
111
- });
112
- }
113
-
114
- // src/commands/canvas/named-people-read.ts
115
- import { createHash } from "crypto";
116
- import { mkdir, readFile, writeFile } from "fs/promises";
117
- import path from "path";
118
- var PEOPLE_TIMEOUT_MS = 3e4;
119
- function peopleReader(cacheDir, spent) {
120
- const dir = path.join(cacheDir, "named-people");
121
- return async (lines) => {
122
- const said = lines.filter((l) => l.trim());
123
- if (said.length === 0) return [];
124
- const key = createHash("sha256").update(JSON.stringify([PEOPLE_PROMPT_VERSION, CLAIMS_MODEL, said])).digest("hex");
125
- const file = path.join(dir, `${key}.json`);
126
- const cached = await readFile(file, "utf8").then((text) => readPeople(JSON.parse(text), said)).catch(() => null);
127
- if (cached) return cached;
128
- const answer = await askAboutText(CLAIMS_MODEL, peoplePrompt(said), spent, {
129
- timeoutMs: PEOPLE_TIMEOUT_MS,
130
- request: CLAIMS_REQUEST
131
- });
132
- const people = readPeople(answer, said);
133
- if (people) {
134
- await mkdir(dir, { recursive: true });
135
- await writeFile(file, JSON.stringify(answer), "utf8");
136
- }
137
- return people;
138
- };
139
- }
140
-
141
- // src/commands/canvas/static-run-review.ts
142
- import { readFile as readFile2 } from "fs/promises";
143
- import path2 from "path";
144
-
145
- // src/commands/canvas/glance-check.ts
146
- import sharp from "sharp";
147
- import { z } from "zod";
148
- var GLANCE_REQUIRED = {
149
- offer: "guess",
150
- for_whom: "unclear",
151
- next_step: "unclear"
152
- };
153
- var GLANCE_WIDTH = 400;
154
- var GlanceAnswerSchema = ViewerAnswerSchema.extend({
155
- /** What kind of product or service they take it for (D4). */
156
- category: z.object({ answer: z.string().default(""), clarity: z.enum(["clear", "guess", "unclear"]).default("unclear") }).default({ answer: "", clarity: "unclear" }),
157
- stopped: z.string().default(""),
158
- me: z.enum(["yes", "no", "unsure"]).default("unsure")
159
- });
160
- function wherePhrase(placements) {
161
- const fullScreen = placements.length === 0 || placements.some((p) => /automatic|stor|reel/i.test(p));
162
- return fullScreen ? "your Instagram or Facebook feed, Stories or Reels" : "your Instagram or Facebook feed";
163
- }
164
- function knowledge(viewer) {
165
- if (!viewer.knows.includes("brand")) return "You have never heard of the advertiser.";
166
- const offer = viewer.knows.includes("offer") ? " You know roughly what they sell." : "";
167
- return `You have come across the advertiser before.${offer}`;
168
- }
169
- function buildGlancePrompt(input) {
170
- const who = input.market ? `You are ${input.market}. ` : "";
171
- return [
172
- `${who}You are scrolling ${wherePhrase(input.viewer.placements)} on your phone. ${knowledge(input.viewer)}`,
173
- "This ad passes under your thumb and holds you for about three seconds: you take in the picture and read the biggest words, not the small print. The image is shown at the size your phone shows it.",
174
- "Answer as this person, from those three seconds alone. Do not fill gaps with what ads like this usually sell.",
175
- 'For each question give your answer in English and how sure you are: "clear" when the ad says it outright or you already know it; "guess" when you are piecing it together; "unclear" when you cannot tell.',
176
- "offer: what is being sold or offered?",
177
- "for_whom: who is it for?",
178
- "next_step: what would you do next if you wanted it?",
179
- "category: what kind of product or service is this for (a payroll app, a trade course, a phone)?",
180
- 'missing: in one short sentence, what you would need to be told to get it; "" when nothing.',
181
- "stopped: what made you stop on it, or what nearly made you scroll past, in a few words.",
182
- 'me: is this for someone like you? "yes", "no" or "unsure".',
183
- "",
184
- 'Reply with only this JSON: {"offer":{"answer":"","clarity":"clear|guess|unclear"},"for_whom":{"answer":"","clarity":"clear|guess|unclear"},"next_step":{"answer":"","clarity":"clear|guess|unclear"},"category":{"answer":"","clarity":"clear|guess|unclear"},"missing":"","stopped":"","me":"yes|no|unsure"}'
185
- ].join("\n");
186
- }
187
- var QUESTION_WORDS = {
188
- offer: "what is offered",
189
- for_whom: "who it is for",
190
- next_step: "what to do next"
191
- };
192
- function missWords(miss) {
193
- if (miss.question === "presumes") return `it talks to them as a customer already ("${miss.viewerSaid}")`;
194
- const said = miss.viewerSaid.trim() ? `"${miss.viewerSaid.trim()}"` : "nothing";
195
- const what = QUESTION_WORDS[miss.question];
196
- return miss.reason === "misread" ? `${what} (they were sure it is ${said})` : `${what} (they said ${said})`;
197
- }
198
- function glanceFindings(answer, intended, format, viewer, misread = { offer: false, category: false }) {
199
- const verdict = judgeViewerAnswer({ ...answer, presumes: "" }, intended, GLANCE_REQUIRED, misread.offer);
200
- const category = answer.category.answer.trim();
201
- const kind = intended.recognition && category && misread.category ? [
202
- {
203
- severity: "warning",
204
- what: `${format}: At a glance, a stranger took it for "${category}"; it is meant as ${intended.recognition}.`
205
- }
206
- ] : [];
207
- if (verdict.pass) return kind;
208
- const needed = answer.missing.trim() ? ` They needed: ${answer.missing.trim().replace(/[.!]+$/, "")}.` : "";
209
- const missed = verdict.missed.map(missWords).join("; ");
210
- return [
211
- {
212
- severity: "blocking",
213
- what: `${format}: At a glance, ${describeViewer(viewer).replace(/, on .* placements$/, "")} could not tell ${missed}.${needed}`
214
- },
215
- ...kind
216
- ];
217
- }
218
- async function glanceMisreads(answer, intended, judge) {
219
- const sure = sureEnough(answer.offer.clarity, GLANCE_REQUIRED.offer);
220
- const [offer = false, category = false] = await misreadings(
221
- [
222
- { said: sure ? answer.offer.answer : "", meant: intended.offer, sells: intended.sells },
223
- { said: answer.category.answer, meant: intended.recognition }
224
- ],
225
- judge
226
- );
227
- return { offer, category };
228
- }
229
- function gatewayGlanceModel(onSpend) {
230
- return (jpeg, prompt) => askAboutImages(GLANCE_CHECK_MODEL, [jpeg], prompt, onSpend);
231
- }
232
- async function glanceCheck(opts) {
233
- let jpeg;
234
- try {
235
- const bytes = await bytesOf(opts.image);
236
- jpeg = (await sharp(bytes).resize({ width: GLANCE_WIDTH }).jpeg({ quality: 85 }).toBuffer()).toString("base64");
237
- } catch {
238
- return null;
239
- }
240
- const prompt = buildGlancePrompt({ viewer: opts.viewer, ...opts.market ? { market: opts.market } : {} });
241
- for (let attempt = 0; attempt < 2; attempt++) {
242
- const parsed = GlanceAnswerSchema.safeParse(await opts.ask(jpeg, prompt));
243
- if (parsed.success) {
244
- const misread = await glanceMisreads(parsed.data, opts.intended, opts.judge ?? jevReadJudge());
245
- return glanceFindings(parsed.data, opts.intended, opts.format, opts.viewer, misread);
246
- }
247
- }
248
- return null;
249
- }
250
-
251
- // src/commands/canvas/static-run-review.ts
252
- function imagesOf(output) {
253
- const list = Array.isArray(output) ? output : [output];
254
- const images = list.filter((o) => Boolean(o) && typeof o === "object");
255
- return images.length > 0 && images.every((i) => i.kind === "image") ? images : null;
256
- }
257
- function promptPathOf(parsed) {
258
- const nodes = parsed?.nodes;
259
- if (!Array.isArray(nodes)) return null;
260
- const prompt = nodes.find((n) => n?.id === "prompt" && n?.type === "ingest");
261
- const p = prompt?.params;
262
- return p?.source === "path" && p.expect === "json" && typeof p.path === "string" ? p.path : null;
263
- }
264
- function staticReviewTargets(parsed, output) {
265
- const promptPath = promptPathOf(parsed);
266
- const images = imagesOf(output);
267
- if (!promptPath || !images) return null;
268
- const labels = finalOutputLabelsFromCanvas(parsed)?.labels ?? [];
269
- return {
270
- promptPath,
271
- // A local file when the run downloaded it, else its durable URL.
272
- images: images.flatMap((image, i) => {
273
- const source = typeof image.path === "string" ? image.path : typeof image.url === "string" ? image.url : null;
274
- return source ? [{ path: source, format: labels[i] ?? "" }] : [];
275
- })
276
- };
277
- }
278
- function nodesOf(parsed) {
279
- const nodes = parsed?.nodes;
280
- return Array.isArray(nodes) ? nodes : [];
281
- }
282
- var refId = (ref) => typeof ref === "string" ? ref.match(/^\$ref:([a-z][a-z0-9_]*)\./)?.[1] ?? null : null;
283
- var hasRole = (n, role) => n.tags?.role === role;
284
- function variantCount(nodes) {
285
- const calls = nodes.filter((n) => hasRole(n, STATIC_VARIANT_CALL_ROLE)).length;
286
- if (calls > 0) return calls;
287
- const one = nodes.find((n) => hasRole(n, STATIC_VARIANTS_ROLE) && n.type === "image_generate");
288
- if (one) return typeof one.params?.n === "number" ? one.params.n : 1;
289
- if (nodes.some((n) => hasRole(n, STATIC_FIX_ROLE))) return 1;
290
- return nodes.filter((n) => n.type === "image_generate" && /^ad(_[a-z])?$/.test(String(n.id))).length;
291
- }
292
- function staticRunShape(parsed) {
293
- const nodes = nodesOf(parsed);
294
- const renders = nodes.filter((n) => n.type === "image_generate" && typeof n.id === "string");
295
- const candidates = variantCount(nodes);
296
- const logoIds = new Set(nodes.filter((n) => hasRole(n, BRAND_LOGO_ROLE)).map((n) => String(n.id)));
297
- const logo = nodes.some((n) => hasRole(n, LOGO_COMPOSITE_ROLE)) || renders.some((n) => {
298
- const refs = n.inputs?.reference;
299
- return (Array.isArray(refs) ? refs : [refs]).some((r) => logoIds.has(refId(r) ?? ""));
300
- }) || // On one picture each size's words call places the logo file.
301
- nodes.some((n) => n.type === "static_format" && logoIds.has(refId(n.inputs?.logo) ?? ""));
302
- const masterId = nodes.find((n) => hasRole(n, STATIC_MASTER_ROLE))?.id;
303
- const adapt = nodes.find((n) => hasRole(n, STATIC_ADAPT_ROLE));
304
- return {
305
- candidates,
306
- judged: candidates > 1 && nodes.some(
307
- (n) => n.type === "image_select" && (hasRole(n, STATIC_PICK_ROLE) || n.id === "pick") || hasRole(n, VARIANT_PREFILTER_ROLE) && typeof n.params?.judge_model === "string"
308
- ),
309
- relays: masterId !== void 0 ? 0 : Math.max(0, renders.length - candidates),
310
- cuts: nodes.filter((n) => {
311
- const from = refId(n.inputs?.image);
312
- return hasRole(n, STATIC_SIZE_ROLE) && from !== null && from === masterId;
313
- }).length,
314
- relaid: nodes.filter((n) => hasRole(n, STATIC_ADAPT_FORMAT_ROLE)).length,
315
- adapted: Array.isArray(adapt?.params?.formats) ? adapt.params.formats.length : 0,
316
- plates: nodes.some((n) => hasRole(n, STATIC_LEAD_ROLE)) ? nodes.filter((n) => hasRole(n, STATIC_VARIANT_CALL_ROLE)).length : 0,
317
- // The lead the master delivers is the chosen option's own words, replayed: not a size set again.
318
- worded: nodes.filter((n) => hasRole(n, STATIC_FORMAT_ROLE) && n.id !== masterReads(nodes)).length,
319
- logo
320
- };
321
- }
322
- function masterReads(nodes) {
323
- return refId(nodes.find((n) => hasRole(n, STATIC_MASTER_ROLE))?.inputs?.image);
324
- }
325
- function shapeHint(shape, copy) {
326
- const drawn = shape.plates > 0 ? " (a picture each without the ad's words, the lead size's words set on it)" : "";
327
- const variants = `${shape.candidates} variant${shape.candidates === 1 ? "" : "s"} rendered${drawn}${shape.judged ? ", ranked by the checks with a judge on a tie" : ", no judge"}`;
328
- const sizes = [
329
- ...shape.worded > 0 ? [`${shape.worded} size${shape.worded === 1 ? "" : "s"} cut from the chosen picture with ${shape.worded === 1 ? "its" : "their"} words set for ${shape.worded === 1 ? "it" : "them"} (one request each)`] : [],
330
- ...shape.relaid > 0 ? [`${shape.relaid} size${shape.relaid === 1 ? "" : "s"} re-laid out from the chosen picture (one request each)`] : [],
331
- ...shape.cuts > 0 ? [`${shape.cuts} size${shape.cuts === 1 ? "" : "s"} cut from the chosen picture`] : [],
332
- ...shape.adapted > 0 ? [`${shape.adapted} adapted from it`] : [],
333
- ...shape.relays > 0 ? [`${shape.relays} other format${shape.relays === 1 ? "" : "s"} re-laid from the winner`] : []
334
- ];
335
- const text = copy === 0 ? "no copy (the picture is the ad)" : "the copy set by the model and read back word for word";
336
- return `This run: ${variants}${sizes.length > 0 ? `; ${sizes.join("; ")}` : ""}; ${text}; ${shape.logo ? "the brand logo on the ad from its real file" : "no logo"}.`;
337
- }
338
- var PAID_FOR = {
339
- edit: "one edit of the version shown",
340
- sizes: "only the sizes asked for, laid out again",
341
- options: "new options from scratch, every size made from the one chosen"
342
- };
343
- function runCostHint(stats, kind) {
344
- if (!stats) return null;
345
- const cached = stats.cached_nodes > 0 ? ` (${stats.cached_nodes} of ${stats.total_nodes} steps came from the cache, free)` : "";
346
- return `This run cost ${Math.round(stats.total_credits)} credits: ${PAID_FOR[kind]}${cached}.`;
347
- }
348
- async function textOf(ref) {
349
- const r = ref;
350
- try {
351
- if (typeof r?.path === "string") return await readFile2(r.path, "utf8");
352
- if (typeof r?.url === "string") {
353
- const res = await fetch(r.url);
354
- return res.ok ? await res.text() : null;
355
- }
356
- } catch {
357
- return null;
358
- }
359
- return null;
360
- }
361
- function sizeShapeOf(canvas) {
362
- return isPlateCanvas(canvas) ? "plate" : "relayout";
363
- }
364
- function oneSizeFix(shape) {
365
- return shape === "plate" ? "`baker canvas run \u2026 --regenerate format_<size>` (for example `format_9x16`) sets that size's words again on the same picture (one request)" : "`baker canvas run \u2026 --regenerate adapt_<size>` (for example `adapt_9x16`) lays out that size again from the same picture (one request)";
366
- }
367
- function fixHint(shape) {
368
- return `One thing wrong in a version that is otherwise right: \`baker canvas run \u2026 --fix "<what to change>"\` edits that version and changes only that, keeping the picture, the layout and the other words (one render). Wrong or missing words: check the lines in prompt.json \`copy\` are exactly what should be printed, shorten a line the model keeps breaking, and re-run: a change only to copy, positions or colours is made as an edit of the version shown. Wrong picture, colour or subject: edit prompt.json's \`scene\`, \`colors\` or \`references\`. Layout or a logo drawn wrong: say in each line's \`position\` (and \`scene.layout\`) where it sits, by what is around it. A right prompt that rolled badly: \`baker canvas run \u2026 --regenerate static_variants\` renders new options (every size follows from the new pick). One size wrong while the chosen picture is right (words cut or too small, the button small, something drawn twice): ${oneSizeFix(shape)}.`;
369
- }
370
- function verdictHints(verdict, shape = "plate") {
371
- if (verdict === "needs_fixes") {
372
- const cost = shape === "plate" ? "each size's words take one request" : "each re-laid-out size takes one request; a cut is free";
373
- return [
374
- `NOT READY: the finished ad has blocking problems. Do not present it as done, and never ask the person whether to fix them: fix them now, inside this version. A defect in a version that is otherwise right is a \`--fix\`: it edits the chosen picture only, and every size is made from it again (${cost}). The same defect after a fix means the fix does not work: change the spec (prompt.json) or the approach, never the same retry. If it still cannot be fixed, show the person the best version and say in one plain sentence what is left, in their words ("the logo sits where Stories covers it"), without a question; never record your own checks as their feedback.`,
375
- fixHint(shape)
376
- ];
377
- }
378
- if (verdict === "not_reviewed") {
379
- return [
380
- "The finished ad was NOT reviewed: no model gateway key here, or the review model did not answer twice. Look at every word of every format yourself before showing it, or re-run the same command (every node comes from the cache) to review it again."
381
- ];
382
- }
383
- if (verdict === "ready") {
384
- return ["Reviewed every format of the finished ad: every word read back exactly, nothing to fix.", SHOW_IT];
385
- }
386
- return verdict === "ready_with_notes" ? [SHOW_IT] : [];
387
- }
388
- function verdictBrief(verdict, shape = "plate") {
389
- if (verdict === "needs_fixes") {
390
- const size = shape === "plate" ? "format_<size>" : "adapt_<size>";
391
- return [
392
- `NOT READY: fix every blocking finding now, never asking the person: \`--fix "<what to change>"\` for one thing wrong, \`--regenerate ${size}\` for one size. Never present it as done.`
393
- ];
394
- }
395
- if (verdict === "not_reviewed") return verdictHints(verdict, shape);
396
- const show = 'Show it as a Version ("Version 2"), never a run id or a file; never ask which to keep or whether to publish.';
397
- if (verdict === "ready") return [`Reviewed every format: nothing to fix. ${show}`];
398
- return verdict === "ready_with_notes" ? [show] : [];
399
- }
400
- var SHOW_IT = `Show it as a Version ("Version 2"), never a run id or a file, in one line: the idea's message, who it is for, the customer quote it stands on (or that it is an explore bet), and the finding it answers. Name the versions you would run first; never ask which to keep or whether to publish: the person answers in their own time.`;
401
- function allowedSceneWords(spec) {
402
- return [.../* @__PURE__ */ new Set([...spec.scene_text, ...spec.third_party_brands.map((b) => b.name)])];
403
- }
404
- function brandPalette(brand) {
405
- if (!brand) return [];
406
- const named = [brand.ink, brand.accent, brand.cta, brand.ground, ...brand.palette];
407
- return [...new Set(named.filter((hex) => typeof hex === "string"))];
408
- }
409
- function safeAreaPlacements(viewer) {
410
- const named = (viewer?.placements ?? []).filter((p) => p !== "automatic");
411
- return named.length > 0 && named.length === viewer?.placements.length ? named : void 0;
412
- }
413
- function canvasPlacements(parsed) {
414
- const node = nodesWithRole(parsed, VARIANT_PREFILTER_ROLE)[0];
415
- const placements = node?.params?.placements;
416
- return Array.isArray(placements) && placements.length > 0 && placements.every((p) => typeof p === "string") ? placements : void 0;
417
- }
418
- async function reviewStaticRun(opts) {
419
- const targets = staticReviewTargets(opts.parsed, opts.output);
420
- if (!targets) return null;
421
- const prefilterId = nodesWithRole(opts.parsed, VARIANT_PREFILTER_ROLE)[0]?.id;
422
- const tieBreak = prefilterId ? opts.outputsByNode[prefilterId]?.reasoning : void 0;
423
- const pickId = nodesWithRole(opts.parsed, STATIC_PICK_ROLE)[0]?.id ?? "pick";
424
- const reasoning = typeof tieBreak === "string" ? tieBreak : await textOf(opts.outputsByNode[pickId]?.reasoning);
425
- const judge = reasoning ? parseJudgeScores(reasoning) : null;
426
- let copy = [];
427
- let mechanisms = [];
428
- let intended = {};
429
- let expectLogo = false;
430
- let concept = null;
431
- let uncast = [];
432
- let nobody = false;
433
- let brand = opts.brandName;
434
- let lockup = [...opts.lockup ?? []];
435
- let sceneText = [];
436
- let lines = [];
437
- let native;
438
- let palette = [];
439
- try {
440
- const spec = readAdSpec(JSON.parse(await readFile2(targets.promptPath, "utf8")));
441
- copy = spec.copy.map((l) => l.text);
442
- lines = spec.copy.map((l) => ({ text: l.text, lettering: l.lettering, ...l.role ? { role: l.role } : {} }));
443
- if (spec.native) {
444
- copy = nativeCopy(spec.native);
445
- lines = copy.map((text) => ({ text, lettering: "designed" }));
446
- native = nativeSurfaceName(spec.native);
447
- }
448
- palette = spec.native ? [] : brandPalette(spec.brand);
449
- mechanisms = spec.mechanism.map((m) => m.device);
450
- brand = spec.brand?.name ?? opts.brandName;
451
- const sells = (await readCompanyReading(path2.resolve(path2.dirname(targets.promptPath), "../../..")))?.sells;
452
- intended = {
453
- ...spec.message?.trim() ? { offer: spec.message.trim() } : {},
454
- ...spec.viewer?.who.trim() ? { persona: spec.viewer.who.trim() } : {},
455
- ...spec.recognition?.trim() ? { recognition: spec.recognition.trim() } : {},
456
- ...sells ? { sells } : {}
457
- };
458
- lockup = [.../* @__PURE__ */ new Set([...spec.brand?.lockup ?? [], ...lockup])];
459
- sceneText = [
460
- ...allowedSceneWords(spec),
461
- ...spec.native ? nativeChrome(spec.native, spec.viewer?.market?.language, interfaceWordsOf(opts.parsed)) : []
462
- ];
463
- expectLogo = spec.logo && !spec.native && staticRunShape(opts.parsed).logo;
464
- concept = conceptSummary(spec);
465
- const cacheDir = path2.join(findWorkspaceRoot(path2.dirname(targets.promptPath)) ?? path2.dirname(targets.promptPath), "canvas", ".cache");
466
- const people = spec.native ? [] : await peopleReader(cacheDir, (u) => opts.onSpend?.(u))(copy) ?? [];
467
- uncast = uncastPeople(spec, people);
468
- nobody = !spec.native && castsNobody(spec);
469
- } catch {
470
- copy = [];
471
- }
472
- const shape = staticRunShape(opts.parsed);
473
- const placements = canvasPlacements(opts.parsed) ?? safeAreaPlacements(opts.viewer);
474
- const masterFormat = staticMasterFormat(opts.parsed) ?? void 0;
475
- const glancing = opts.glance === false ? Promise.resolve(null) : glanceAtFinished(
476
- targets.images,
477
- opts.viewer ?? STRANGER,
478
- intended,
479
- opts.glance ?? gatewayGlanceModel(opts.onSpend),
480
- opts.onSpend
481
- ).catch(() => null);
482
- const comparing = opts.previous ? nearIdenticalFindings(targets.images, opts.previous).catch(() => []) : Promise.resolve([]);
483
- const leadFormat = masterFormat ?? targets.images[0]?.format ?? "";
484
- const lead = targets.images.find((i) => i.format === leadFormat);
485
- const drawn = native || !lead ? [] : drawnSizes(opts.parsed, targets.images.map((i) => i.format), leadFormat);
486
- const matching = lead && drawn.length > 0 ? compareSizes(
487
- lead,
488
- targets.images.filter((i) => drawn.includes(i.format)),
489
- { ...opts.onSpend ? { onSpend: opts.onSpend } : {} }
490
- ).catch(() => drawn.map((format) => ({ format, compared: false, differences: [] }))) : Promise.resolve([]);
491
- const untouched = opts.settled ? await samePictureSizes(targets.images, opts.settled.images) : [];
492
- const changed = targets.images.filter((i) => !untouched.includes(i.format));
493
- const held = await heldRules(path2.dirname(targets.promptPath)).catch(() => ({ rules: [] }));
494
- const review = await reviewRenderedStatic({
495
- images: changed.length > 0 ? changed : targets.images,
496
- rules: held.rules,
497
- copy,
498
- lines,
499
- palette,
500
- ...placements ? { placements } : {},
501
- ...brand ? { brand } : {},
502
- ...lockup.length > 0 ? { lockup } : {},
503
- ...sceneText.length > 0 ? { sceneText } : {},
504
- ...masterFormat ? { masterFormat } : {},
505
- ...expectLogo ? { expectLogo } : {},
506
- ...concept && concept.mustKeep.length > 0 && referenceSource(opts.parsed) ? { concept: { ...concept, reference: referenceSource(opts.parsed) } } : {},
507
- logo: shape.logo,
508
- ...native ? { native } : {},
509
- ...uncast.length > 0 ? { uncastPeople: uncast } : {},
510
- ...nobody ? { castsNobody: true } : {},
511
- ...native ? { scrolled: scrolledLines(opts.parsed, opts.outputsByNode) } : {},
512
- mechanisms,
513
- ...opts.viewer ? { viewer: describeViewer(opts.viewer) } : {},
514
- onSpend: opts.onSpend
515
- });
516
- const [glanced, compared, matched] = await Promise.all([glancing, comparing, matching]);
517
- const glance = review === null ? null : glanced;
518
- const unchanged = review === null ? [] : compared;
519
- const sized = sizeFactFindings(opts.parsed, opts.outputsByNode);
520
- const logoChecked = expectLogo && review !== null;
521
- const placedLogo = logoChecked ? logoPlacementFindings(opts.parsed, opts.outputsByNode) : [];
522
- const deliveredLogo = logoChecked ? await deliveredLogoFindings(opts.parsed, opts.outputsByNode, changed.length > 0 ? changed : targets.images, [
523
- .../* @__PURE__ */ new Set([...palette, "#FFFFFF", "#000000"])
524
- ]).catch(() => []) : [];
525
- const differing = matched.flatMap((m) => m.differences.length > 0 ? [sizeDifferenceFinding(m.format, m.differences)] : []);
526
- const fresh = review === null ? null : [...review, ...glance ?? [], ...unchanged, ...sized, ...placedLogo, ...deliveredLogo, ...differing];
527
- const reviewed = fresh === null || !opts.settled ? fresh : carryUnchanged(fresh, opts.settled.review, untouched);
528
- const verdict = staticVerdict(reviewed);
529
- const hints = verdictHints(verdict, sizeShapeOf(opts.parsed));
530
- const notes = [];
531
- const note = (hint) => {
532
- hints.push(hint);
533
- notes.push(hint);
534
- };
535
- const lost = keptLostHint(reviewed ?? [], await ideaOf(targets.promptPath));
536
- if (lost) note(lost);
537
- const sizeHints = verdict === "needs_fixes" ? sizeFixHints(opts.parsed, reviewed) : [];
538
- const sizesFirst = sizeHints[0]?.startsWith("Do this first") === true;
539
- if (sizesFirst) hints.push(...sizeHints);
540
- for (const f of reviewed ?? []) hints.push(`${f.severity === "blocking" ? "Must fix" : "Should fix"}: ${f.what}`);
541
- if ((reviewed ?? []).some((f) => f.severity === "blocking" && f.kind?.item === "rule" && f.kind.element === "copy")) {
542
- note(
543
- 'A company rule the words break is yours to rewrite in prompt.json\'s `copy` (no automatic round changes the words); only when the person asked for those words, keep them and add `"waive": [{"rule": "<id>", "why": "<their ask>"}]`.'
544
- );
545
- }
546
- if (review !== null && glance === null && opts.glance !== false) {
547
- note("The finished ad was not shown to a stranger at a glance (the model did not answer): look at the 4:5 at phone size yourself and say what it sells in three seconds.");
548
- }
549
- const unmatched = review === null ? [] : matched.filter((m) => !m.compared).map((m) => m.format);
550
- if (unmatched.length > 0) {
551
- note(
552
- `The ${unmatched.join(" and ")} could not be compared with the ${leadFormat} (the model did not answer): look at them side by side yourself, for the same people and product, shown once, unstretched.`
553
- );
554
- }
555
- if (!sizesFirst) hints.push(...sizeHints);
556
- hints.push(shapeHint(shape, copy.length));
557
- hints.push(...variantHints(judge, prefilterOutcome(opts.parsed, opts.outputsByNode)));
558
- return { review: reviewed, verdict, judge, hints, notes };
559
- }
560
- function scrolledLines(parsed, outputsByNode) {
561
- return Object.fromEntries(
562
- nodesOf(parsed).flatMap((n) => {
563
- const out = typeof n.id === "string" ? outputsByNode[n.id] : void 0;
564
- const format = n.params?.format;
565
- return n.type === "static_native" && typeof format === "string" && Array.isArray(out?.scrolled) ? [[format, out.scrolled.filter((t) => typeof t === "string")]] : [];
566
- })
567
- );
568
- }
569
- async function ideaOf(promptPath) {
570
- const definition = await readFile2(path2.join(path2.dirname(promptPath), "_definition.md"), "utf8").catch(() => "");
571
- const idea = frontmatterOf(definition)?.idea;
572
- return typeof idea === "string" && idea.trim() ? idea.trim() : void 0;
573
- }
574
- function referenceSource(parsed) {
575
- const original = nodesOf(parsed).find((n) => n.id === "original" && n.type === "ingest");
576
- const source = original?.params?.url ?? original?.params?.path;
577
- return typeof source === "string" && !source.includes("[TODO") ? source : null;
578
- }
579
- function interfaceWordsOf(parsed) {
580
- const nodes = parsed?.nodes;
581
- const screen = Array.isArray(nodes) ? nodes.find((n) => n?.type === "static_native") : void 0;
582
- return readInterfaceWords(screen?.params?.interface_words) ?? void 0;
583
- }
584
- var STRANGER = { temperature: "cold", knows: [], placements: ["automatic"], source: "knowledge", reasons: [] };
585
- async function glanceAtFinished(images, viewer, intended, ask, onSpend) {
586
- const shown = images.find((i) => i.format === "4:5") ?? images[0];
587
- if (!shown) return null;
588
- return await glanceCheck({
589
- image: shown.path,
590
- format: shown.format,
591
- viewer,
592
- intended,
593
- ask,
594
- judge: jevReadJudge(onSpend),
595
- ...viewer.market ? { market: describeMarket(viewer.market) } : {}
596
- });
597
- }
598
- function sizeFixHints(parsed, review) {
599
- const cut = new Set(nodesWithRole(parsed, STATIC_FORMAT_ROLE).map((n) => n.id));
600
- const relaid = [...nodesWithRole(parsed, STATIC_ADAPT_FORMAT_ROLE).map((n) => n.id), ...cut];
601
- const blocking = (review ?? []).filter((f) => f.severity === "blocking");
602
- const regenerate = relaid.flatMap((id) => {
603
- const format = formatOfSizeNode(parsed, id);
604
- if (!format || !blocking.some((f) => f.what.startsWith(`${format}:`))) return [];
605
- return [
606
- cut.has(id) ? `The ${format}'s words alone need fixing and the picture is right: \`baker canvas run \u2026 --regenerate ${id}\` sets the ${format}'s words again on the same picture (one request). If the picture itself is wrong, \`--fix\` it instead: every size's words are set again on the corrected picture.` : `The ${format} alone needs fixing and the chosen picture is right: \`baker canvas run \u2026 --regenerate ${id}\` lays out the ${format} again from the same picture (one request). If the chosen picture itself is wrong, \`--fix\` it instead: every size follows.`
607
- ];
608
- });
609
- const relaidFormats = relaid.map((id) => formatOfSizeNode(parsed, id)).filter((f) => Boolean(f));
610
- const sizesOnly = regenerate.length > 0 && blocking.every((f) => relaidFormats.some((format) => f.what.startsWith(`${format}:`)));
611
- const lead = sizesOnly ? regenerate.map((h, i) => i === 0 ? `Do this first, not a --fix: ${h}` : h) : regenerate;
612
- return [...lead, ...safeFitHints(parsed, blocking)];
613
- }
614
- var COVERED = / sits? where .+? covers? (?:it|them) /;
615
- function safeFitHints(parsed, blocking) {
616
- return nodesWithRole(parsed, STATIC_SAFE_FIT_ROLE).flatMap((n) => {
617
- const format = typeof n.params?.format === "string" ? n.params.format : formatOfSlug(n.id.replace(/^safe_/, ""));
618
- if (!blocking.some((f) => f.what.startsWith(`${format}:`) && COVERED.test(f.what))) return [];
619
- return [
620
- `The ${format} was already shrunk and shifted automatically to clear what the app covers; small misses are corrected that way, so this one is too large for it. Change the layout itself (shorter copy, fewer lines, a smaller block of text) rather than a \`--fix\` asking to move it, which moves it only about 1%.`
621
- ];
622
- });
623
- }
624
- var SIZE_FACT_FINDING = {
625
- band_too_far: {
626
- what: (format) => `${format}: the words reach too far past the part of the frame the app leaves clear to be moved inside it; set them inside it.`,
627
- kind: { item: "safe_zone", element: "copy", defect: "other", edges: [] }
628
- },
629
- words_over_face: {
630
- what: (format) => `${format}: the words were set over a face; set them where no face is.`,
631
- kind: { item: "layout", element: "copy", defect: "other", edges: [] }
632
- },
633
- words_misaligned: {
634
- what: (format) => `${format}: ${PATCHED_WORDS}, which shows as a box; set them again on the same picture.`,
635
- kind: { item: "layout", element: "copy", defect: "other", edges: [] }
636
- },
637
- words_not_read: {
638
- what: (format) => `${format}: ${UNREAD_WORDS}, so the picture around them may have been redrawn; set them again on the same picture.`,
639
- kind: { item: "layout", element: "copy", defect: "other", edges: [] }
640
- },
641
- subject_covered: {
642
- what: (format, facts) => `${format}: the words hide ${(facts.covered ?? ["the product"]).join(" and ")}, which the other sizes show; set them where it stays in view.`,
643
- kind: { item: "layout", element: "copy", defect: "other", edges: [] }
644
- },
645
- subject_cut: {
646
- what: (format) => `${format}: no cut of the picture keeps every person and product whole in this size.`,
647
- kind: { item: "picture", element: "picture", defect: "cut", edges: [] }
648
- }
649
- };
650
- function coveredIn(facts) {
651
- if (facts === void 0 || facts === null || typeof facts !== "object") return null;
652
- const covered = facts.covered;
653
- return Array.isArray(covered) ? covered.filter((c) => typeof c === "string") : [];
654
- }
655
- function hiddenEverywhere(sizes, outputsByNode) {
656
- const lists = sizes.map((s) => ({ ...s, covered: coveredIn(outputsByNode[s.id]?.facts) }));
657
- const labels = new Set(
658
- (lists[0]?.covered ?? []).filter((label) => lists.length > 1 && lists.every((s) => s.covered?.includes(label)))
659
- );
660
- const first = lists.find((s) => s.format && s.covered?.some((label) => labels.has(label)));
661
- const notes = first?.format && labels.size > 0 ? [
662
- {
663
- severity: "warning",
664
- what: `${first.format}: the words hide ${[...labels].join(" and ")} in every size; set them where it stays in view if it is what the ad sells.`,
665
- kind: { item: "layout", element: "copy", defect: "other", edges: [] }
666
- }
667
- ] : [];
668
- return { labels, notes };
669
- }
670
- function sizeFactFindings(parsed, outputsByNode) {
671
- const added = paintedAdditions(parsed, outputsByNode);
672
- const sizes = nodesWithRole(parsed, STATIC_FORMAT_ROLE);
673
- const everywhere = hiddenEverywhere(
674
- sizes.map((n) => ({ id: n.id, format: formatOfSizeNode(parsed, n.id) })),
675
- outputsByNode
676
- );
677
- const found = sizes.flatMap((n) => {
678
- const format = formatOfSizeNode(parsed, n.id);
679
- const facts = outputsByNode[n.id]?.facts ?? {};
680
- const shownElsewhere = (coveredIn(facts) ?? []).some((label) => !everywhere.labels.has(label));
681
- const said = typeof facts.reason === "string" && (facts.reason !== "subject_covered" || shownElsewhere) ? SIZE_FACT_FINDING[facts.reason] : void 0;
682
- const patched = facts.reason !== "words_misaligned" && facts.words_mode !== "whole" && typeof facts.residual === "number" && facts.residual > MISALIGNED ? SIZE_FACT_FINDING.words_misaligned : void 0;
683
- const covered = (coveredIn(facts) ?? []).filter((label) => !everywhere.labels.has(label));
684
- const fromPlate = refId(n.inputs?.plate);
685
- const extra = fromPlate ? added.get(fromPlate) : void 0;
686
- if (!format) return [];
687
- return [
688
- ...[said, patched].flatMap(
689
- (f) => f ? [{ severity: "blocking", what: f.what(format, covered.length > 0 ? { covered } : {}), kind: f.kind }] : []
690
- ),
691
- ...extra ? [
692
- {
693
- severity: "blocking",
694
- what: `${format}: the picture painted wider from the chosen one shows ${extra.join(", ")}, which the other sizes do not. It must show the main size's people and product, once each.`,
695
- kind: { item: "sizes", element: "picture", defect: "other", edges: [] }
696
- }
697
- ] : []
698
- ];
699
- });
700
- return [...found, ...everywhere.notes];
701
- }
702
- function paintedAdditions(parsed, outputsByNode) {
703
- return new Map(
704
- nodesWithRole(parsed, STATIC_PLATE_ROLE).flatMap((n) => {
705
- const facts = outputsByNode[n.id]?.facts;
706
- const added = Array.isArray(facts?.added) ? facts.added.filter((a) => typeof a === "string") : [];
707
- return facts?.reason === "subject_added" && added.length > 0 ? [[n.id, added]] : [];
708
- })
709
- );
710
- }
711
- function drawnSizes(parsed, delivered, masterFormat) {
712
- const others = delivered.filter((format) => format && format !== masterFormat);
713
- const cut = nodesWithRole(parsed, STATIC_FORMAT_ROLE);
714
- if (cut.length === 0) return others;
715
- const painted = new Set(nodesWithRole(parsed, STATIC_PLATE_ROLE).map((n) => n.id));
716
- const fromPainted = new Set(
717
- cut.flatMap((n) => {
718
- const plate = refId(n.inputs?.plate);
719
- const format = formatOfSizeNode(parsed, n.id);
720
- return plate && painted.has(plate) && format ? [format] : [];
721
- })
722
- );
723
- return others.filter((format) => fromPainted.has(format));
724
- }
725
- function formatOfSlug(slug) {
726
- return slug.replace("x", ":").replace("_", ".");
727
- }
728
- function prefilterNodeId(parsed) {
729
- return nodesWithRole(parsed, VARIANT_PREFILTER_ROLE)[0]?.id ?? null;
730
- }
731
- function prefilterOutcome(parsed, outputsByNode) {
732
- const id = prefilterNodeId(parsed);
733
- const out = id ? outputsByNode[id] : void 0;
734
- return out && Array.isArray(out.dropped) ? out : null;
735
- }
736
- function prefilterSpend(parsed, outputsByNode, nodeRuns) {
737
- const cached = (id2) => nodeRuns.some((r) => r.node_id === id2 && r.cached);
738
- const id = prefilterNodeId(parsed);
739
- const checks = id && !cached(id) ? prefilterOutcome(parsed, outputsByNode)?.usage ?? [] : [];
740
- const fits = [
741
- ...nodesWithRole(parsed, STATIC_SAFE_FIT_ROLE),
742
- ...nodesWithRole(parsed, STATIC_PLACE_ROLE),
743
- // A size cut from one picture reads its subjects and its words; a widened picture its subjects.
744
- ...nodesWithRole(parsed, STATIC_LEAD_ROLE),
745
- ...nodesWithRole(parsed, STATIC_FORMAT_ROLE),
746
- ...nodesWithRole(parsed, STATIC_PLATE_ROLE),
747
- // The logo's composite reads the size's words for its check.
748
- ...nodesWithRole(parsed, LOGO_COMPOSITE_ROLE)
749
- ].filter((n) => !cached(n.id)).flatMap((n) => {
750
- const usage = outputsByNode[n.id]?.usage;
751
- return Array.isArray(usage) ? usage : [];
752
- });
753
- return [...checks, ...fits];
754
- }
755
- function variantHints(judge, prefilter) {
756
- const hints = [];
757
- const dropped = prefilter?.dropped ?? [];
758
- const kept = Array.isArray(prefilter?.images) ? prefilter.images.length : judge?.length ?? 0;
759
- const total = dropped.length + kept;
760
- if (prefilter?.flagged) {
761
- hints.push(
762
- `Every variant failed the checks; variant ${prefilter.flagged.index + 1} had the fewest problems and was kept: ${prefilter.flagged.reasons.join(" ")}`
763
- );
764
- } else if (dropped.length > 0) {
765
- const list = dropped.map((d) => `variant ${d.index + 1} (${d.reasons.join(" ")})`).join("; ");
766
- hints.push(`${dropped.length} of ${total} variants set aside by the checks before the judge: ${list}.`);
767
- }
768
- const alone = prefilter?.order?.length === 1 && !prefilter.flagged ? prefilter.order[0] : void 0;
769
- if (alone !== void 0 && dropped.length > 0) {
770
- hints.push(
771
- `The checks ranked variant ${alone + 1} best, so no judge was needed; the others stay in this run as options the person can switch to (\`baker canvas run --use-variant\`).`
772
- );
773
- }
774
- const winner = judge ? judgeWinner(judge) : null;
775
- if (judge && winner) {
776
- const gone = new Set(dropped.map((d) => d.index));
777
- const shown = prefilter?.order ?? Array.from({ length: total }, (_, i) => i).filter((i) => !gone.has(i));
778
- const variant = (shown[winner.image - 1] ?? winner.image - 1) + 1;
779
- const why = winner.of === void 0 ? `${winner.total}/${Object.keys(winner.scores).length * 5}` : `first on ${Object.entries(winner.scores).filter(([, beaten]) => beaten === winner.of).map(([criterion]) => criterion.replace(/_/g, " ")).join(", ") || "none of the criteria alone"}`;
780
- hints.push(
781
- `The judge picked variant ${variant} of the ${judge.length} it compared (${why}); the others it compared stay in this run as options the person can switch to (\`baker canvas run --use-variant\`).`
782
- );
783
- }
784
- return hints;
785
- }
786
-
787
- // src/commands/canvas/render-state.ts
788
- import { mkdir as mkdir2, readdir, readFile as readFile3, rm, writeFile as writeFile2 } from "fs/promises";
789
- import path3 from "path";
790
- var RENDER_STATE_DIR = ".rendered";
791
- function statePath(canvasRoot, slug) {
792
- return path3.join(canvasRoot, RENDER_STATE_DIR, `${slug}.json`);
793
- }
794
- async function readRenderState(canvasRoot, slug) {
795
- try {
796
- const parsed = JSON.parse(await readFile3(statePath(canvasRoot, slug), "utf8"));
797
- return parsed && typeof parsed === "object" ? parsed : {};
798
- } catch {
799
- return {};
800
- }
801
- }
802
- async function latestVersion(canvasRoot, slug) {
803
- return (await readRenderState(canvasRoot, slug)).rendered?.runId ?? null;
804
- }
805
- async function updateRenderState(canvasRoot, slug, patch) {
806
- try {
807
- const next = { ...await readRenderState(canvasRoot, slug), ...patch };
808
- await mkdir2(path3.join(canvasRoot, RENDER_STATE_DIR), { recursive: true });
809
- await writeFile2(statePath(canvasRoot, slug), `${JSON.stringify(next, null, 2)}
810
- `, "utf8");
811
- } catch {
812
- }
813
- }
814
- async function recordRenderAttempt(canvasRoot, slug, sourceSha) {
815
- if (!sourceSha) return;
816
- await updateRenderState(canvasRoot, slug, { attempted: { sourceSha, at: Date.now() } });
817
- }
818
- async function recordRendered(canvasRoot, slug, sourceSha, runId, drawn = {}) {
819
- if (!sourceSha) return;
820
- await updateRenderState(canvasRoot, slug, {
821
- rendered: { sourceSha, runId, at: Date.now() },
822
- ...drawn.prompt !== void 0 ? { prompt: drawn.prompt } : {},
823
- ...drawn.anchor ? { anchor: drawn.anchor } : {},
824
- ...drawn.idea ? { idea: drawn.idea } : {},
825
- lastFix: drawn.lastFix,
826
- picture: drawn.picture,
827
- ...drawn.seriesLeadRun ? { seriesLeadRun: drawn.seriesLeadRun } : {}
828
- });
829
- }
830
- async function recordSeen(canvasRoot, slug, seen) {
831
- await updateRenderState(canvasRoot, slug, { seen });
832
- }
833
- async function recordIdeaLines(canvasRoot, slug, idea) {
834
- if ((await readRenderState(canvasRoot, slug)).idea) return;
835
- await updateRenderState(canvasRoot, slug, { idea });
836
- }
837
- async function recordReviewOutcome(canvasRoot, slug, outcome) {
838
- await updateRenderState(canvasRoot, slug, outcome);
839
- }
840
- async function recordSeriesLeadRun(canvasRoot, slug, leadRunId) {
841
- await updateRenderState(canvasRoot, slug, { seriesLeadRun: leadRunId });
842
- }
843
- async function recordSnapshot(canvasRoot, slug, snapshot) {
844
- await updateRenderState(canvasRoot, slug, { snapshot });
845
- }
846
- function isRenderStale(state, currentSourceSha) {
847
- if (!state.rendered) return false;
848
- if (!isSourceStale(currentSourceSha, state.rendered.sourceSha)) return false;
849
- return state.attempted?.sourceSha !== currentSourceSha;
850
- }
851
- async function staleCreatives(workspaceRoot, turnId) {
852
- const creativesDir = path3.join(workspaceRoot, "src", "creatives");
853
- const canvasRoot = path3.join(workspaceRoot, "canvas");
854
- const turnRenders = turnId === void 0 ? void 0 : await readTurnRenders(path3.join(canvasRoot, ".cache"));
855
- let slugs;
856
- try {
857
- slugs = (await readdir(creativesDir, { withFileTypes: true })).filter((d) => d.isDirectory()).map((d) => d.name);
858
- } catch {
859
- return [];
860
- }
861
- const stale = [];
862
- for (const slug of slugs.sort()) {
863
- const state = await readRenderState(canvasRoot, slug);
864
- if (!state.rendered) continue;
865
- const canvasPath = path3.join(creativesDir, slug, `${slug}.canvas.json`);
866
- let prepared;
867
- try {
868
- prepared = await prepareCanvas(canvasPath, { write: false });
869
- } catch {
870
- continue;
871
- }
872
- if (unsuppliedPlaceholderAssets(prepared.fileGraph).length > 0) continue;
873
- const current = prepared.sourceSha;
874
- if (!current || !isRenderStale(state, current)) continue;
875
- const promptOnDisk = await readFile3(path3.join(creativesDir, slug, "prompt.json"), "utf8").then((text) => JSON.parse(text)).catch(() => null);
876
- const promptNow = isStaticAdCanvas(prepared.canvas) ? promptOnDisk : null;
877
- const refusal = turnRenderRefusal(turnRenders, turnId, slug, {
878
- correction: plainRunEdit(prepared.canvas, state.prompt, promptNow) !== null,
879
- shape: sizeShapeOf(prepared.fileGraph)
880
- });
881
- stale.push({
882
- slug,
883
- canvasPath: path3.relative(workspaceRoot, canvasPath).split(path3.sep).join("/"),
884
- renderedRunId: state.rendered.runId,
885
- sourceSha: current,
886
- ...refusal ? { refusedThisTurn: `${refusal.message} ${refusal.fix}` } : {}
887
- });
888
- }
889
- return stale;
890
- }
891
- async function clearLegacyDirtyMarker(canvasRoot, slug) {
892
- await rm(path3.join(canvasRoot, ".dirty", `${slug}.json`), { force: true }).catch(() => void 0);
893
- }
894
-
895
- export {
896
- isStaticAdCanvas,
897
- peopleReader,
898
- staticReviewTargets,
899
- runCostHint,
900
- sizeShapeOf,
901
- oneSizeFix,
902
- verdictBrief,
903
- reviewStaticRun,
904
- prefilterSpend,
905
- readRenderState,
906
- latestVersion,
907
- recordRenderAttempt,
908
- recordRendered,
909
- recordSeen,
910
- recordIdeaLines,
911
- recordReviewOutcome,
912
- recordSeriesLeadRun,
913
- recordSnapshot,
914
- staleCreatives,
915
- clearLegacyDirtyMarker
916
- };
917
- //# sourceMappingURL=chunk-3UNMVVSI.js.map