@koda-sl/baker-cli 0.446.0-dev.c97e2d09a → 0.447.0-dev.f5788a631

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 (431) hide show
  1. package/README.md +2 -2
  2. package/dist/{account-JYAHNWTU.js → account-PCEZQUK7.js} +4 -4
  3. package/dist/{accounts-YQMXWDQL.js → accounts-5AXLYU7P.js} +3 -3
  4. package/dist/{accounts-IOXUP35Y.js → accounts-OSXDZZLY.js} +5 -5
  5. package/dist/{actions-EGCRZ3ZL.js → actions-HM4VVTGW.js} +18 -18
  6. package/dist/{add-ZFWSN3HT.js → add-4J2EF54O.js} +2 -2
  7. package/dist/{add-ID4XAPM5.js → add-VZAY57M4.js} +3 -3
  8. package/dist/{ads-H7GH7A26.js → ads-6UEDYT3O.js} +9 -9
  9. package/dist/{ads-GL2H5TJE.js → ads-NUME2UXH.js} +5 -5
  10. package/dist/{adsets-H7QT42U6.js → adsets-Q5DWGANV.js} +11 -11
  11. package/dist/{analytics-TTBGPXHL.js → analytics-PHU7H5VY.js} +3 -3
  12. package/dist/{analytics-FDEH3HFH.js → analytics-QTR2ZITZ.js} +6 -6
  13. package/dist/{assign-3ZPQAQWD.js → assign-IIAVNATI.js} +3 -3
  14. package/dist/{audience-size-LRAGY3F5.js → audience-size-2L7XMYJL.js} +3 -3
  15. package/dist/{audiences-JACGRBNN.js → audiences-AMRFZRZ7.js} +3 -3
  16. package/dist/{audit-FQARJWOU.js → audit-ZCUFJLUG.js} +3 -3
  17. package/dist/{avatars-JZSFFUC5.js → avatars-OEK3FYKK.js} +4 -4
  18. package/dist/{bid-pricing-4653K7RN.js → bid-pricing-FDW3IY6G.js} +3 -3
  19. package/dist/{brand-PLQUPMXV.js → brand-OXYFSNA5.js} +2 -2
  20. package/dist/{brief-UVMPQB6T.js → brief-TBSXPEXI.js} +12 -12
  21. package/dist/{campaign-groups-UQ6EZQMA.js → campaign-groups-5GCFQT2W.js} +8 -8
  22. package/dist/{campaign-writes-UK3GMOQK.js → campaign-writes-3SJQSCUK.js} +3 -3
  23. package/dist/{campaigns-5JVA6FCV.js → campaigns-7QDDWZ76.js} +5 -5
  24. package/dist/{campaigns-WBEG5QA4.js → campaigns-D6B6Z67Y.js} +8 -8
  25. package/dist/{campaigns-THNNAQNO.js → campaigns-SYEOFKFV.js} +11 -11
  26. package/dist/{canvas-XT6KSCJH.js → canvas-B6DPRQGN.js} +14 -14
  27. package/dist/{capabilities-ELXIQ4R7.js → capabilities-GVHPHH2G.js} +3 -3
  28. package/dist/{catalog-IQEQ5TGQ.js → catalog-TNNG66MH.js} +4 -4
  29. package/dist/{chats-V3KB5FCU.js → chats-54CWM7DL.js} +3 -3
  30. package/dist/{chunk-ZEYFPIKH.js → chunk-3X3446TG.js} +2 -2
  31. package/dist/{chunk-EO7NHHEZ.js → chunk-4SNOWJV7.js} +2 -2
  32. package/dist/{chunk-27NMXSC3.js → chunk-5EEDEVOR.js} +2 -2
  33. package/dist/{chunk-2YJNBTXE.js → chunk-5VC6IK7B.js} +5 -5
  34. package/dist/{chunk-ASVKZQUU.js → chunk-6HJAHLLA.js} +11 -5
  35. package/dist/{chunk-ASVKZQUU.js.map → chunk-6HJAHLLA.js.map} +1 -1
  36. package/dist/{chunk-ZN63N3EP.js → chunk-6TCDQSM7.js} +3 -3
  37. package/dist/{chunk-GT54GEDT.js → chunk-6YYEBLYI.js} +5 -5
  38. package/dist/{chunk-DXB5YV6S.js → chunk-7FVWIZHM.js} +2 -2
  39. package/dist/{chunk-S42CGOGT.js → chunk-7JUUKYKG.js} +2 -2
  40. package/dist/{chunk-XZPREXCE.js → chunk-ACFWVULZ.js} +4 -4
  41. package/dist/chunk-ACFWVULZ.js.map +1 -0
  42. package/dist/{chunk-ML3ZIQ7K.js → chunk-AO5UQQLJ.js} +2 -2
  43. package/dist/{chunk-3U3RUPKR.js → chunk-CKU4WYTF.js} +2 -2
  44. package/dist/{chunk-7LT6UP2W.js → chunk-DE6ANJLU.js} +2 -2
  45. package/dist/{chunk-HIPDMQZ6.js → chunk-DZSIUEGH.js} +2 -2
  46. package/dist/{chunk-65IJ6BDS.js → chunk-E5IFTZJ3.js} +2 -2
  47. package/dist/{chunk-AST5XJKZ.js → chunk-EAHP7L2R.js} +2 -2
  48. package/dist/{chunk-MJABIGKT.js → chunk-EPMN4BK7.js} +2 -2
  49. package/dist/{chunk-2SMGPLIW.js → chunk-F46KAIBS.js} +3 -3
  50. package/dist/{chunk-X5TFU7ET.js → chunk-FGH4Z5K5.js} +2 -2
  51. package/dist/{chunk-7RUYWECB.js → chunk-FYQPB2SS.js} +6 -6
  52. package/dist/{chunk-W33XBKLZ.js → chunk-GTK46DE3.js} +4 -4
  53. package/dist/{chunk-HXTGYOQC.js → chunk-H2QNBOPS.js} +15 -9
  54. package/dist/{chunk-HXTGYOQC.js.map → chunk-H2QNBOPS.js.map} +1 -1
  55. package/dist/{chunk-DIY6QR3E.js → chunk-HDWKLFF5.js} +3 -3
  56. package/dist/{chunk-OTFHEHIU.js → chunk-HRYOZUSK.js} +9 -4
  57. package/dist/chunk-HRYOZUSK.js.map +1 -0
  58. package/dist/{chunk-JSN6LLHX.js → chunk-HYUUH4BE.js} +314 -47
  59. package/dist/chunk-HYUUH4BE.js.map +1 -0
  60. package/dist/{chunk-NEZLPWD4.js → chunk-IH4UQ2OK.js} +13 -10
  61. package/dist/chunk-IH4UQ2OK.js.map +1 -0
  62. package/dist/{chunk-QJE6ZYGI.js → chunk-IKYNOT57.js} +2 -2
  63. package/dist/{chunk-B3AKIYBA.js → chunk-J5IU4OX2.js} +2 -2
  64. package/dist/{chunk-EIP4PYCL.js → chunk-KMEMA7AZ.js} +2 -2
  65. package/dist/{chunk-ENUZU5LQ.js → chunk-KV5BCSUR.js} +3 -3
  66. package/dist/{chunk-FXED3VZK.js → chunk-L27H2R2N.js} +2 -2
  67. package/dist/{chunk-OWK5WYFZ.js → chunk-NK2UFFVH.js} +3 -3
  68. package/dist/{chunk-EZUG6WE2.js → chunk-NSA6HRG6.js} +2 -2
  69. package/dist/{chunk-DQPTUBCB.js → chunk-NTPXZU3V.js} +2 -2
  70. package/dist/{chunk-P3WRQED4.js → chunk-OAQPHP6V.js} +4 -4
  71. package/dist/{chunk-633BRRZO.js → chunk-RB5DB3WN.js} +2 -2
  72. package/dist/{chunk-RRUJQVWA.js → chunk-RCQJHKK5.js} +4 -2
  73. package/dist/{chunk-ZXTW3TXY.js → chunk-SKT3SAHG.js} +3 -3
  74. package/dist/{chunk-GIJT3A5U.js → chunk-T4DD5YMP.js} +3 -3
  75. package/dist/{chunk-OC5IJSIW.js → chunk-V2X3KK52.js} +3 -3
  76. package/dist/{chunk-YY6CIVRY.js → chunk-V5WSJP5A.js} +3 -3
  77. package/dist/{chunk-7H2VLDYU.js → chunk-VJZHVOA4.js} +71 -8
  78. package/dist/chunk-VJZHVOA4.js.map +1 -0
  79. package/dist/{chunk-GZVZ7CQI.js → chunk-WRIC2RPQ.js} +2 -2
  80. package/dist/{chunk-K3PN7TN5.js → chunk-WTOYCUKH.js} +2 -2
  81. package/dist/{chunk-HMEFD2CG.js → chunk-XDNEG2H6.js} +30 -4
  82. package/dist/chunk-XDNEG2H6.js.map +1 -0
  83. package/dist/{chunk-XL3UIAMJ.js → chunk-XV6XCFF7.js} +2 -2
  84. package/dist/{chunk-676WE6CY.js → chunk-YUPRCOEN.js} +2 -2
  85. package/dist/{chunk-MLU6STIN.js → chunk-ZZQXVYUY.js} +2 -2
  86. package/dist/{claim-Y5ZYM3Y3.js → claim-CIASHKMC.js} +3 -3
  87. package/dist/cli.js +27 -27
  88. package/dist/{companies-2R4QXPSF.js → companies-ECVMO24S.js} +3 -3
  89. package/dist/{complete-SG2VVAGA.js → complete-32CPBFIG.js} +3 -3
  90. package/dist/{connect-A3SJQKSE.js → connect-OJSOM6PY.js} +6 -6
  91. package/dist/{conversation-5WIHZLPU.js → conversation-7FHN5ESN.js} +3 -3
  92. package/dist/{conversion-upload-command-JULHGVIR.js → conversion-upload-command-BBUXLFT3.js} +6 -6
  93. package/dist/{conversions-7PGKDZVN.js → conversions-7YJDNZ7Y.js} +7 -7
  94. package/dist/{create-EYSGANKH.js → create-2TBDXHAM.js} +3 -3
  95. package/dist/{create-UVVII4GB.js → create-FE5QLW7V.js} +2 -2
  96. package/dist/{create-5PKVRJUD.js → create-OYT76OMJ.js} +6 -6
  97. package/dist/{create-XOLEMSB2.js → create-ZGRL7YCV.js} +3 -3
  98. package/dist/{creatives-4DRALRUE.js → creatives-5MUTX4DQ.js} +10 -10
  99. package/dist/{creatives-OB77VU5H.js → creatives-IUB57I3T.js} +8 -8
  100. package/dist/{creatives-PSWCNY7U.js → creatives-UEPLNCPN.js} +3 -3
  101. package/dist/{credentials-IVV3T4JD.js → credentials-AETHKP5T.js} +3 -3
  102. package/dist/{critique-NM6GK2KW.js → critique-C53EJDPA.js} +10 -10
  103. package/dist/{critique-MZBGOV3K.js → critique-T7HJ42D4.js} +6 -6
  104. package/dist/{crm-IYAWE47A.js → crm-JP4UOPMN.js} +7 -7
  105. package/dist/{crm-5GCGLHKD.js → crm-KH6XX2TT.js} +4 -4
  106. package/dist/{custom-conversions-6P555U2K.js → custom-conversions-2VLJGPRV.js} +2 -2
  107. package/dist/{customers-L3D3YCTM.js → customers-7I7UY5PS.js} +7 -7
  108. package/dist/{delete-JYPEYYKM.js → delete-6IOUDEWY.js} +3 -3
  109. package/dist/{delete-WMT2GDDN.js → delete-ODFKNHAI.js} +3 -3
  110. package/dist/{delete-E2IGHOBY.js → delete-RAETUVO2.js} +2 -2
  111. package/dist/{demographics-VTOJJK5E.js → demographics-2FTDKPBD.js} +3 -3
  112. package/dist/{discard-62REOO2E.js → discard-ZX5TLFYH.js} +3 -3
  113. package/dist/{domain-7ACHLP2Y.js → domain-TH7KIC2T.js} +3 -3
  114. package/dist/{draft-ZZQ4GGIG.js → draft-CRE2Y24G.js} +3 -3
  115. package/dist/{draft-MAGMH5FJ.js → draft-S2FSQOJN.js} +3 -3
  116. package/dist/{draft-U6CT6LCC.js → draft-SH25PKST.js} +6 -6
  117. package/dist/{draft-FPD6BOUC.js → draft-YHUIFDDR.js} +8 -8
  118. package/dist/engine/index.d.ts +12 -0
  119. package/dist/engine/index.js +3 -3
  120. package/dist/{facets-DZCAWR32.js → facets-6B2U4BSM.js} +3 -3
  121. package/dist/{feedback-X7RG7PRM.js → feedback-QGSAJJVC.js} +2 -2
  122. package/dist/{feedback-record-JFLBXQWA.js → feedback-record-NUAJ6UBL.js} +12 -12
  123. package/dist/{fit-KXHYKIA4.js → fit-FJ5CLQS4.js} +5 -5
  124. package/dist/{flows-Q454EFMN.js → flows-OGGSWWGT.js} +10 -10
  125. package/dist/{fonts-YWGD2B4N.js → fonts-GCJRLEGD.js} +8 -8
  126. package/dist/{forecast-TQNRU5ZY.js → forecast-2AGTFMXH.js} +3 -3
  127. package/dist/{funnel-YVSYSLT4.js → funnel-7U55LNJ4.js} +4 -4
  128. package/dist/{get-7PZP4HJ3.js → get-IRJIHOQK.js} +3 -3
  129. package/dist/{get-756GD6EF.js → get-N7FR6NFX.js} +3 -3
  130. package/dist/{google-KIBLORXX.js → google-NYRI2NDZ.js} +8 -8
  131. package/dist/{history-MECEOLRV.js → history-PSNJAUTW.js} +3 -3
  132. package/dist/{hubspot-KF5J4AEB.js → hubspot-2NHL47R2.js} +7 -7
  133. package/dist/{ideas-AFJ5U7PK.js → ideas-22MRXKT7.js} +7 -7
  134. package/dist/{images-P4JQZJZW.js → images-LXFWEON7.js} +4 -4
  135. package/dist/{ingest-7LRGIUIK.js → ingest-W7VEDEYD.js} +2 -2
  136. package/dist/{ingest-OLPYRECF.js → ingest-ZN3DEZHY.js} +3 -3
  137. package/dist/{inspect-ETUZZCVT.js → inspect-3LBIHMMP.js} +5 -5
  138. package/dist/{keyword-metrics-6K2LQZVQ.js → keyword-metrics-PZXFB4NG.js} +2 -2
  139. package/dist/{landing-NXZYGBVA.js → landing-D7QS42GK.js} +2 -2
  140. package/dist/{leads-7EVHMNUF.js → leads-ARUWPHBM.js} +6 -6
  141. package/dist/{leads-J5Z3K72L.js → leads-E22XFSX2.js} +3 -3
  142. package/dist/{learn-YK2NNAXT.js → learn-Y4KIZNRF.js} +9 -9
  143. package/dist/{line-item-writes-OQKDQBRR.js → line-item-writes-KA5PVKFO.js} +3 -3
  144. package/dist/{line-items-N32SUQW2.js → line-items-3ZFFZCNH.js} +5 -5
  145. package/dist/{link-YOUYN4HW.js → link-AEU6BV75.js} +3 -3
  146. package/dist/{linkedin-UZX3LTGS.js → linkedin-WCB2H5NH.js} +30 -30
  147. package/dist/{list-NEH7CXA4.js → list-OLX7AI3O.js} +3 -3
  148. package/dist/{list-CXB5L7W3.js → list-PAMYQS4X.js} +2 -2
  149. package/dist/{list-5XOP7RXP.js → list-TOUUGHMS.js} +3 -3
  150. package/dist/{log-Y22VMQMW.js → log-UGVWSK7Z.js} +3 -3
  151. package/dist/{make-AYTOHWHD.js → make-3PZLTEXT.js} +19 -19
  152. package/dist/{map-62RLXP7R.js → map-BW4CHSIO.js} +4 -4
  153. package/dist/{mcp-CNDPFOWE.js → mcp-JOXKA5HY.js} +2 -2
  154. package/dist/{media-M7E6V2XU.js → media-53DJRC4N.js} +2 -2
  155. package/dist/{media-sources-KIM7FTIH.js → media-sources-SJZUOMI2.js} +2 -2
  156. package/dist/{members-I5JNM2PJ.js → members-VAX6KAFN.js} +3 -3
  157. package/dist/{meta-EZ4SY25M.js → meta-A7KM6TF5.js} +10 -10
  158. package/dist/{normalize-YALLU2FS.js → normalize-IVQ7I54Z.js} +3 -3
  159. package/dist/{options-OZGAYIXG.js → options-V7C6CU6M.js} +6 -6
  160. package/dist/{performance-FYV43RZU.js → performance-L6RJZPXX.js} +4 -4
  161. package/dist/{promoted-tweet-writes-DV6W6BRF.js → promoted-tweet-writes-DBATH765.js} +3 -3
  162. package/dist/{promoted-tweets-KD4755XT.js → promoted-tweets-AU3XF3JD.js} +3 -3
  163. package/dist/{publish-A6C6AIDN.js → publish-G6DYVT4S.js} +5 -5
  164. package/dist/{reddit-BRHSTRV3.js → reddit-S2S6C4RT.js} +3 -3
  165. package/dist/{refresh-MDM2AGBY.js → refresh-ARJ2SOMY.js} +2 -2
  166. package/dist/{release-HKAOMV22.js → release-3WCBAHPO.js} +3 -3
  167. package/dist/{remove-JDWMPK2C.js → remove-FUAARCSC.js} +2 -2
  168. package/dist/{reopen-3X47UVTN.js → reopen-PZI5H4X2.js} +3 -3
  169. package/dist/{rerun-SMGRCAVF.js → rerun-AUP4XT6T.js} +19 -19
  170. package/dist/{research-L2R3IXZL.js → research-SY3QRGOC.js} +2 -2
  171. package/dist/{research-BLHRRMIJ.js → research-TISR736S.js} +4 -4
  172. package/dist/{reset-MUR2L6KX.js → reset-E6F5NXOI.js} +2 -2
  173. package/dist/{reset-RC25CNM5.js → reset-ZWM7DDD7.js} +2 -2
  174. package/dist/{resolve-GYFMTEKE.js → resolve-I5R5ELMZ.js} +3 -3
  175. package/dist/{retry-WRJ3G5X2.js → retry-7CFZTKWI.js} +2 -2
  176. package/dist/{retry-BZIV5J4F.js → retry-JO3JXXT2.js} +2 -2
  177. package/dist/{run-6JPWF5S6.js → run-JR6SILHL.js} +19 -19
  178. package/dist/{run-L5J2JKMZ.js → run-UKB647DI.js} +3 -3
  179. package/dist/{scaffold-ad-YKS6BZ47.js → scaffold-ad-BYGVU7MT.js} +16 -16
  180. package/dist/{scaffold-static-ad-EPWJHAYS.js → scaffold-static-ad-U57V5UV3.js} +23 -23
  181. package/dist/{scaffold-video-LKLEA4TM.js → scaffold-video-POZTINEV.js} +15 -15
  182. package/dist/{schedule-B3QDOMSR.js → schedule-SOAHLZZF.js} +2 -2
  183. package/dist/{scheduled-agents-OKXW6GYL.js → scheduled-agents-K5WU7SVJ.js} +11 -11
  184. package/dist/{schema-UW772MB2.js → schema-SOPL6GJP.js} +4 -4
  185. package/dist/{search-36WKJO5Z.js → search-5VUDFOHI.js} +2 -2
  186. package/dist/{select-JJTZNNBZ.js → select-T36UH4HL.js} +12 -12
  187. package/dist/{set-prompt-626I74ZW.js → set-prompt-Y4X7GV2Q.js} +11 -11
  188. package/dist/{setup-links-CZ56WG7K.js → setup-links-KFROCISS.js} +3 -3
  189. package/dist/{site-YGY6IGLQ.js → site-MXPKMRQT.js} +4 -4
  190. package/dist/{sources-DPE7HS2L.js → sources-FFHNWVLV.js} +6 -6
  191. package/dist/{sources-LFKRFJ6E.js → sources-MLDLMEDT.js} +6 -6
  192. package/dist/{stale-HZB4L5VZ.js → stale-UXL4X4AD.js} +11 -11
  193. package/dist/{status-TGMY37OX.js → status-M47G5HD4.js} +3 -3
  194. package/dist/{sync-GY3YWXZ4.js → sync-HS7VZJ2H.js} +2 -2
  195. package/dist/{sync-definition-BREENUVW.js → sync-definition-PY6REQ4J.js} +14 -14
  196. package/dist/{tags-BOXRDIP2.js → tags-DIXLYB5P.js} +2 -2
  197. package/dist/{tags-OEQA35YM.js → tags-DYRZTYHD.js} +3 -3
  198. package/dist/{tags-KDCOIXY5.js → tags-MRG56YOE.js} +4 -4
  199. package/dist/{tags-B6FTBKE7.js → tags-WAW6MQAY.js} +3 -3
  200. package/dist/{tags-MBGOC3C5.js → tags-Y4HHJJGE.js} +3 -3
  201. package/dist/{targeting-criteria-OSIGTYIK.js → targeting-criteria-5UUESFWC.js} +3 -3
  202. package/dist/{targets-EZDJE2BR.js → targets-COZPVG52.js} +3 -3
  203. package/dist/{templates-43CM65YU.js → templates-75VFYZ3E.js} +3 -3
  204. package/dist/{testimonials-TGSG33XN.js → testimonials-WJBRWLNW.js} +6 -6
  205. package/dist/{top-companies-AU2Y2JBL.js → top-companies-C2R4FG6H.js} +3 -3
  206. package/dist/{translate-UAQN3UP6.js → translate-RYAJAFV7.js} +17 -17
  207. package/dist/{triggers-KANOVASP.js → triggers-5UHVJPBV.js} +3 -3
  208. package/dist/{unlink-3O34M3RC.js → unlink-PLOOAGM3.js} +3 -3
  209. package/dist/{unstage-IU3X67HQ.js → unstage-JIIOTBTF.js} +3 -3
  210. package/dist/{update-3T2GI5UT.js → update-G6R5ZHUI.js} +3 -3
  211. package/dist/{update-L575JJ26.js → update-QYM6U7LL.js} +3 -3
  212. package/dist/{update-2MSRC7SF.js → update-RCP7F5L5.js} +3 -3
  213. package/dist/{update-4AKUKIHY.js → update-RGVNTA5X.js} +2 -2
  214. package/dist/{upload-YGKEXFZX.js → upload-EEJ34Q3Y.js} +3 -3
  215. package/dist/{url-params-JO6DMUNT.js → url-params-2G5M2B3J.js} +3 -3
  216. package/dist/{validate-C2AJIWOF.js → validate-M33VLUG4.js} +12 -12
  217. package/dist/{videos-73IKG7QH.js → videos-FVVID55J.js} +5 -5
  218. package/dist/{viewer-check-VN2JK2LW.js → viewer-check-2Q3WHSEL.js} +5 -5
  219. package/dist/{winning-ads-UCDDPWFM.js → winning-ads-OSRFHVLV.js} +3 -3
  220. package/dist/{write-commands-WBBS3C5L.js → write-commands-CLJOD2XF.js} +8 -8
  221. package/dist/{write-commands-TAYGTJEZ.js → write-commands-CT74VHH6.js} +6 -6
  222. package/dist/{x-VOG2EPI6.js → x-EBKLJJPJ.js} +6 -6
  223. package/package.json +1 -1
  224. package/dist/chunk-7H2VLDYU.js.map +0 -1
  225. package/dist/chunk-HMEFD2CG.js.map +0 -1
  226. package/dist/chunk-JSN6LLHX.js.map +0 -1
  227. package/dist/chunk-NEZLPWD4.js.map +0 -1
  228. package/dist/chunk-OTFHEHIU.js.map +0 -1
  229. package/dist/chunk-XZPREXCE.js.map +0 -1
  230. /package/dist/{account-JYAHNWTU.js.map → account-PCEZQUK7.js.map} +0 -0
  231. /package/dist/{accounts-YQMXWDQL.js.map → accounts-5AXLYU7P.js.map} +0 -0
  232. /package/dist/{accounts-IOXUP35Y.js.map → accounts-OSXDZZLY.js.map} +0 -0
  233. /package/dist/{actions-EGCRZ3ZL.js.map → actions-HM4VVTGW.js.map} +0 -0
  234. /package/dist/{add-ZFWSN3HT.js.map → add-4J2EF54O.js.map} +0 -0
  235. /package/dist/{add-ID4XAPM5.js.map → add-VZAY57M4.js.map} +0 -0
  236. /package/dist/{ads-H7GH7A26.js.map → ads-6UEDYT3O.js.map} +0 -0
  237. /package/dist/{ads-GL2H5TJE.js.map → ads-NUME2UXH.js.map} +0 -0
  238. /package/dist/{adsets-H7QT42U6.js.map → adsets-Q5DWGANV.js.map} +0 -0
  239. /package/dist/{analytics-TTBGPXHL.js.map → analytics-PHU7H5VY.js.map} +0 -0
  240. /package/dist/{analytics-FDEH3HFH.js.map → analytics-QTR2ZITZ.js.map} +0 -0
  241. /package/dist/{assign-3ZPQAQWD.js.map → assign-IIAVNATI.js.map} +0 -0
  242. /package/dist/{audience-size-LRAGY3F5.js.map → audience-size-2L7XMYJL.js.map} +0 -0
  243. /package/dist/{audiences-JACGRBNN.js.map → audiences-AMRFZRZ7.js.map} +0 -0
  244. /package/dist/{audit-FQARJWOU.js.map → audit-ZCUFJLUG.js.map} +0 -0
  245. /package/dist/{avatars-JZSFFUC5.js.map → avatars-OEK3FYKK.js.map} +0 -0
  246. /package/dist/{bid-pricing-4653K7RN.js.map → bid-pricing-FDW3IY6G.js.map} +0 -0
  247. /package/dist/{brand-PLQUPMXV.js.map → brand-OXYFSNA5.js.map} +0 -0
  248. /package/dist/{brief-UVMPQB6T.js.map → brief-TBSXPEXI.js.map} +0 -0
  249. /package/dist/{campaign-groups-UQ6EZQMA.js.map → campaign-groups-5GCFQT2W.js.map} +0 -0
  250. /package/dist/{campaign-writes-UK3GMOQK.js.map → campaign-writes-3SJQSCUK.js.map} +0 -0
  251. /package/dist/{campaigns-5JVA6FCV.js.map → campaigns-7QDDWZ76.js.map} +0 -0
  252. /package/dist/{campaigns-WBEG5QA4.js.map → campaigns-D6B6Z67Y.js.map} +0 -0
  253. /package/dist/{campaigns-THNNAQNO.js.map → campaigns-SYEOFKFV.js.map} +0 -0
  254. /package/dist/{canvas-XT6KSCJH.js.map → canvas-B6DPRQGN.js.map} +0 -0
  255. /package/dist/{capabilities-ELXIQ4R7.js.map → capabilities-GVHPHH2G.js.map} +0 -0
  256. /package/dist/{catalog-IQEQ5TGQ.js.map → catalog-TNNG66MH.js.map} +0 -0
  257. /package/dist/{chats-V3KB5FCU.js.map → chats-54CWM7DL.js.map} +0 -0
  258. /package/dist/{chunk-ZEYFPIKH.js.map → chunk-3X3446TG.js.map} +0 -0
  259. /package/dist/{chunk-EO7NHHEZ.js.map → chunk-4SNOWJV7.js.map} +0 -0
  260. /package/dist/{chunk-27NMXSC3.js.map → chunk-5EEDEVOR.js.map} +0 -0
  261. /package/dist/{chunk-2YJNBTXE.js.map → chunk-5VC6IK7B.js.map} +0 -0
  262. /package/dist/{chunk-ZN63N3EP.js.map → chunk-6TCDQSM7.js.map} +0 -0
  263. /package/dist/{chunk-GT54GEDT.js.map → chunk-6YYEBLYI.js.map} +0 -0
  264. /package/dist/{chunk-DXB5YV6S.js.map → chunk-7FVWIZHM.js.map} +0 -0
  265. /package/dist/{chunk-S42CGOGT.js.map → chunk-7JUUKYKG.js.map} +0 -0
  266. /package/dist/{chunk-ML3ZIQ7K.js.map → chunk-AO5UQQLJ.js.map} +0 -0
  267. /package/dist/{chunk-3U3RUPKR.js.map → chunk-CKU4WYTF.js.map} +0 -0
  268. /package/dist/{chunk-7LT6UP2W.js.map → chunk-DE6ANJLU.js.map} +0 -0
  269. /package/dist/{chunk-HIPDMQZ6.js.map → chunk-DZSIUEGH.js.map} +0 -0
  270. /package/dist/{chunk-65IJ6BDS.js.map → chunk-E5IFTZJ3.js.map} +0 -0
  271. /package/dist/{chunk-AST5XJKZ.js.map → chunk-EAHP7L2R.js.map} +0 -0
  272. /package/dist/{chunk-MJABIGKT.js.map → chunk-EPMN4BK7.js.map} +0 -0
  273. /package/dist/{chunk-2SMGPLIW.js.map → chunk-F46KAIBS.js.map} +0 -0
  274. /package/dist/{chunk-X5TFU7ET.js.map → chunk-FGH4Z5K5.js.map} +0 -0
  275. /package/dist/{chunk-7RUYWECB.js.map → chunk-FYQPB2SS.js.map} +0 -0
  276. /package/dist/{chunk-W33XBKLZ.js.map → chunk-GTK46DE3.js.map} +0 -0
  277. /package/dist/{chunk-DIY6QR3E.js.map → chunk-HDWKLFF5.js.map} +0 -0
  278. /package/dist/{chunk-QJE6ZYGI.js.map → chunk-IKYNOT57.js.map} +0 -0
  279. /package/dist/{chunk-B3AKIYBA.js.map → chunk-J5IU4OX2.js.map} +0 -0
  280. /package/dist/{chunk-EIP4PYCL.js.map → chunk-KMEMA7AZ.js.map} +0 -0
  281. /package/dist/{chunk-ENUZU5LQ.js.map → chunk-KV5BCSUR.js.map} +0 -0
  282. /package/dist/{chunk-FXED3VZK.js.map → chunk-L27H2R2N.js.map} +0 -0
  283. /package/dist/{chunk-OWK5WYFZ.js.map → chunk-NK2UFFVH.js.map} +0 -0
  284. /package/dist/{chunk-EZUG6WE2.js.map → chunk-NSA6HRG6.js.map} +0 -0
  285. /package/dist/{chunk-DQPTUBCB.js.map → chunk-NTPXZU3V.js.map} +0 -0
  286. /package/dist/{chunk-P3WRQED4.js.map → chunk-OAQPHP6V.js.map} +0 -0
  287. /package/dist/{chunk-633BRRZO.js.map → chunk-RB5DB3WN.js.map} +0 -0
  288. /package/dist/{chunk-RRUJQVWA.js.map → chunk-RCQJHKK5.js.map} +0 -0
  289. /package/dist/{chunk-ZXTW3TXY.js.map → chunk-SKT3SAHG.js.map} +0 -0
  290. /package/dist/{chunk-GIJT3A5U.js.map → chunk-T4DD5YMP.js.map} +0 -0
  291. /package/dist/{chunk-OC5IJSIW.js.map → chunk-V2X3KK52.js.map} +0 -0
  292. /package/dist/{chunk-YY6CIVRY.js.map → chunk-V5WSJP5A.js.map} +0 -0
  293. /package/dist/{chunk-GZVZ7CQI.js.map → chunk-WRIC2RPQ.js.map} +0 -0
  294. /package/dist/{chunk-K3PN7TN5.js.map → chunk-WTOYCUKH.js.map} +0 -0
  295. /package/dist/{chunk-XL3UIAMJ.js.map → chunk-XV6XCFF7.js.map} +0 -0
  296. /package/dist/{chunk-676WE6CY.js.map → chunk-YUPRCOEN.js.map} +0 -0
  297. /package/dist/{chunk-MLU6STIN.js.map → chunk-ZZQXVYUY.js.map} +0 -0
  298. /package/dist/{claim-Y5ZYM3Y3.js.map → claim-CIASHKMC.js.map} +0 -0
  299. /package/dist/{companies-2R4QXPSF.js.map → companies-ECVMO24S.js.map} +0 -0
  300. /package/dist/{complete-SG2VVAGA.js.map → complete-32CPBFIG.js.map} +0 -0
  301. /package/dist/{connect-A3SJQKSE.js.map → connect-OJSOM6PY.js.map} +0 -0
  302. /package/dist/{conversation-5WIHZLPU.js.map → conversation-7FHN5ESN.js.map} +0 -0
  303. /package/dist/{conversion-upload-command-JULHGVIR.js.map → conversion-upload-command-BBUXLFT3.js.map} +0 -0
  304. /package/dist/{conversions-7PGKDZVN.js.map → conversions-7YJDNZ7Y.js.map} +0 -0
  305. /package/dist/{create-EYSGANKH.js.map → create-2TBDXHAM.js.map} +0 -0
  306. /package/dist/{create-UVVII4GB.js.map → create-FE5QLW7V.js.map} +0 -0
  307. /package/dist/{create-5PKVRJUD.js.map → create-OYT76OMJ.js.map} +0 -0
  308. /package/dist/{create-XOLEMSB2.js.map → create-ZGRL7YCV.js.map} +0 -0
  309. /package/dist/{creatives-4DRALRUE.js.map → creatives-5MUTX4DQ.js.map} +0 -0
  310. /package/dist/{creatives-OB77VU5H.js.map → creatives-IUB57I3T.js.map} +0 -0
  311. /package/dist/{creatives-PSWCNY7U.js.map → creatives-UEPLNCPN.js.map} +0 -0
  312. /package/dist/{credentials-IVV3T4JD.js.map → credentials-AETHKP5T.js.map} +0 -0
  313. /package/dist/{critique-NM6GK2KW.js.map → critique-C53EJDPA.js.map} +0 -0
  314. /package/dist/{critique-MZBGOV3K.js.map → critique-T7HJ42D4.js.map} +0 -0
  315. /package/dist/{crm-IYAWE47A.js.map → crm-JP4UOPMN.js.map} +0 -0
  316. /package/dist/{crm-5GCGLHKD.js.map → crm-KH6XX2TT.js.map} +0 -0
  317. /package/dist/{custom-conversions-6P555U2K.js.map → custom-conversions-2VLJGPRV.js.map} +0 -0
  318. /package/dist/{customers-L3D3YCTM.js.map → customers-7I7UY5PS.js.map} +0 -0
  319. /package/dist/{delete-JYPEYYKM.js.map → delete-6IOUDEWY.js.map} +0 -0
  320. /package/dist/{delete-WMT2GDDN.js.map → delete-ODFKNHAI.js.map} +0 -0
  321. /package/dist/{delete-E2IGHOBY.js.map → delete-RAETUVO2.js.map} +0 -0
  322. /package/dist/{demographics-VTOJJK5E.js.map → demographics-2FTDKPBD.js.map} +0 -0
  323. /package/dist/{discard-62REOO2E.js.map → discard-ZX5TLFYH.js.map} +0 -0
  324. /package/dist/{domain-7ACHLP2Y.js.map → domain-TH7KIC2T.js.map} +0 -0
  325. /package/dist/{draft-ZZQ4GGIG.js.map → draft-CRE2Y24G.js.map} +0 -0
  326. /package/dist/{draft-MAGMH5FJ.js.map → draft-S2FSQOJN.js.map} +0 -0
  327. /package/dist/{draft-U6CT6LCC.js.map → draft-SH25PKST.js.map} +0 -0
  328. /package/dist/{draft-FPD6BOUC.js.map → draft-YHUIFDDR.js.map} +0 -0
  329. /package/dist/{facets-DZCAWR32.js.map → facets-6B2U4BSM.js.map} +0 -0
  330. /package/dist/{feedback-X7RG7PRM.js.map → feedback-QGSAJJVC.js.map} +0 -0
  331. /package/dist/{feedback-record-JFLBXQWA.js.map → feedback-record-NUAJ6UBL.js.map} +0 -0
  332. /package/dist/{fit-KXHYKIA4.js.map → fit-FJ5CLQS4.js.map} +0 -0
  333. /package/dist/{flows-Q454EFMN.js.map → flows-OGGSWWGT.js.map} +0 -0
  334. /package/dist/{fonts-YWGD2B4N.js.map → fonts-GCJRLEGD.js.map} +0 -0
  335. /package/dist/{forecast-TQNRU5ZY.js.map → forecast-2AGTFMXH.js.map} +0 -0
  336. /package/dist/{funnel-YVSYSLT4.js.map → funnel-7U55LNJ4.js.map} +0 -0
  337. /package/dist/{get-7PZP4HJ3.js.map → get-IRJIHOQK.js.map} +0 -0
  338. /package/dist/{get-756GD6EF.js.map → get-N7FR6NFX.js.map} +0 -0
  339. /package/dist/{google-KIBLORXX.js.map → google-NYRI2NDZ.js.map} +0 -0
  340. /package/dist/{history-MECEOLRV.js.map → history-PSNJAUTW.js.map} +0 -0
  341. /package/dist/{hubspot-KF5J4AEB.js.map → hubspot-2NHL47R2.js.map} +0 -0
  342. /package/dist/{ideas-AFJ5U7PK.js.map → ideas-22MRXKT7.js.map} +0 -0
  343. /package/dist/{images-P4JQZJZW.js.map → images-LXFWEON7.js.map} +0 -0
  344. /package/dist/{ingest-7LRGIUIK.js.map → ingest-W7VEDEYD.js.map} +0 -0
  345. /package/dist/{ingest-OLPYRECF.js.map → ingest-ZN3DEZHY.js.map} +0 -0
  346. /package/dist/{inspect-ETUZZCVT.js.map → inspect-3LBIHMMP.js.map} +0 -0
  347. /package/dist/{keyword-metrics-6K2LQZVQ.js.map → keyword-metrics-PZXFB4NG.js.map} +0 -0
  348. /package/dist/{landing-NXZYGBVA.js.map → landing-D7QS42GK.js.map} +0 -0
  349. /package/dist/{leads-7EVHMNUF.js.map → leads-ARUWPHBM.js.map} +0 -0
  350. /package/dist/{leads-J5Z3K72L.js.map → leads-E22XFSX2.js.map} +0 -0
  351. /package/dist/{learn-YK2NNAXT.js.map → learn-Y4KIZNRF.js.map} +0 -0
  352. /package/dist/{line-item-writes-OQKDQBRR.js.map → line-item-writes-KA5PVKFO.js.map} +0 -0
  353. /package/dist/{line-items-N32SUQW2.js.map → line-items-3ZFFZCNH.js.map} +0 -0
  354. /package/dist/{link-YOUYN4HW.js.map → link-AEU6BV75.js.map} +0 -0
  355. /package/dist/{linkedin-UZX3LTGS.js.map → linkedin-WCB2H5NH.js.map} +0 -0
  356. /package/dist/{list-NEH7CXA4.js.map → list-OLX7AI3O.js.map} +0 -0
  357. /package/dist/{list-CXB5L7W3.js.map → list-PAMYQS4X.js.map} +0 -0
  358. /package/dist/{list-5XOP7RXP.js.map → list-TOUUGHMS.js.map} +0 -0
  359. /package/dist/{log-Y22VMQMW.js.map → log-UGVWSK7Z.js.map} +0 -0
  360. /package/dist/{make-AYTOHWHD.js.map → make-3PZLTEXT.js.map} +0 -0
  361. /package/dist/{map-62RLXP7R.js.map → map-BW4CHSIO.js.map} +0 -0
  362. /package/dist/{mcp-CNDPFOWE.js.map → mcp-JOXKA5HY.js.map} +0 -0
  363. /package/dist/{media-M7E6V2XU.js.map → media-53DJRC4N.js.map} +0 -0
  364. /package/dist/{media-sources-KIM7FTIH.js.map → media-sources-SJZUOMI2.js.map} +0 -0
  365. /package/dist/{members-I5JNM2PJ.js.map → members-VAX6KAFN.js.map} +0 -0
  366. /package/dist/{meta-EZ4SY25M.js.map → meta-A7KM6TF5.js.map} +0 -0
  367. /package/dist/{normalize-YALLU2FS.js.map → normalize-IVQ7I54Z.js.map} +0 -0
  368. /package/dist/{options-OZGAYIXG.js.map → options-V7C6CU6M.js.map} +0 -0
  369. /package/dist/{performance-FYV43RZU.js.map → performance-L6RJZPXX.js.map} +0 -0
  370. /package/dist/{promoted-tweet-writes-DV6W6BRF.js.map → promoted-tweet-writes-DBATH765.js.map} +0 -0
  371. /package/dist/{promoted-tweets-KD4755XT.js.map → promoted-tweets-AU3XF3JD.js.map} +0 -0
  372. /package/dist/{publish-A6C6AIDN.js.map → publish-G6DYVT4S.js.map} +0 -0
  373. /package/dist/{reddit-BRHSTRV3.js.map → reddit-S2S6C4RT.js.map} +0 -0
  374. /package/dist/{refresh-MDM2AGBY.js.map → refresh-ARJ2SOMY.js.map} +0 -0
  375. /package/dist/{release-HKAOMV22.js.map → release-3WCBAHPO.js.map} +0 -0
  376. /package/dist/{remove-JDWMPK2C.js.map → remove-FUAARCSC.js.map} +0 -0
  377. /package/dist/{reopen-3X47UVTN.js.map → reopen-PZI5H4X2.js.map} +0 -0
  378. /package/dist/{rerun-SMGRCAVF.js.map → rerun-AUP4XT6T.js.map} +0 -0
  379. /package/dist/{research-L2R3IXZL.js.map → research-SY3QRGOC.js.map} +0 -0
  380. /package/dist/{research-BLHRRMIJ.js.map → research-TISR736S.js.map} +0 -0
  381. /package/dist/{reset-MUR2L6KX.js.map → reset-E6F5NXOI.js.map} +0 -0
  382. /package/dist/{reset-RC25CNM5.js.map → reset-ZWM7DDD7.js.map} +0 -0
  383. /package/dist/{resolve-GYFMTEKE.js.map → resolve-I5R5ELMZ.js.map} +0 -0
  384. /package/dist/{retry-WRJ3G5X2.js.map → retry-7CFZTKWI.js.map} +0 -0
  385. /package/dist/{retry-BZIV5J4F.js.map → retry-JO3JXXT2.js.map} +0 -0
  386. /package/dist/{run-6JPWF5S6.js.map → run-JR6SILHL.js.map} +0 -0
  387. /package/dist/{run-L5J2JKMZ.js.map → run-UKB647DI.js.map} +0 -0
  388. /package/dist/{scaffold-ad-YKS6BZ47.js.map → scaffold-ad-BYGVU7MT.js.map} +0 -0
  389. /package/dist/{scaffold-static-ad-EPWJHAYS.js.map → scaffold-static-ad-U57V5UV3.js.map} +0 -0
  390. /package/dist/{scaffold-video-LKLEA4TM.js.map → scaffold-video-POZTINEV.js.map} +0 -0
  391. /package/dist/{schedule-B3QDOMSR.js.map → schedule-SOAHLZZF.js.map} +0 -0
  392. /package/dist/{scheduled-agents-OKXW6GYL.js.map → scheduled-agents-K5WU7SVJ.js.map} +0 -0
  393. /package/dist/{schema-UW772MB2.js.map → schema-SOPL6GJP.js.map} +0 -0
  394. /package/dist/{search-36WKJO5Z.js.map → search-5VUDFOHI.js.map} +0 -0
  395. /package/dist/{select-JJTZNNBZ.js.map → select-T36UH4HL.js.map} +0 -0
  396. /package/dist/{set-prompt-626I74ZW.js.map → set-prompt-Y4X7GV2Q.js.map} +0 -0
  397. /package/dist/{setup-links-CZ56WG7K.js.map → setup-links-KFROCISS.js.map} +0 -0
  398. /package/dist/{site-YGY6IGLQ.js.map → site-MXPKMRQT.js.map} +0 -0
  399. /package/dist/{sources-DPE7HS2L.js.map → sources-FFHNWVLV.js.map} +0 -0
  400. /package/dist/{sources-LFKRFJ6E.js.map → sources-MLDLMEDT.js.map} +0 -0
  401. /package/dist/{stale-HZB4L5VZ.js.map → stale-UXL4X4AD.js.map} +0 -0
  402. /package/dist/{status-TGMY37OX.js.map → status-M47G5HD4.js.map} +0 -0
  403. /package/dist/{sync-GY3YWXZ4.js.map → sync-HS7VZJ2H.js.map} +0 -0
  404. /package/dist/{sync-definition-BREENUVW.js.map → sync-definition-PY6REQ4J.js.map} +0 -0
  405. /package/dist/{tags-BOXRDIP2.js.map → tags-DIXLYB5P.js.map} +0 -0
  406. /package/dist/{tags-OEQA35YM.js.map → tags-DYRZTYHD.js.map} +0 -0
  407. /package/dist/{tags-KDCOIXY5.js.map → tags-MRG56YOE.js.map} +0 -0
  408. /package/dist/{tags-B6FTBKE7.js.map → tags-WAW6MQAY.js.map} +0 -0
  409. /package/dist/{tags-MBGOC3C5.js.map → tags-Y4HHJJGE.js.map} +0 -0
  410. /package/dist/{targeting-criteria-OSIGTYIK.js.map → targeting-criteria-5UUESFWC.js.map} +0 -0
  411. /package/dist/{targets-EZDJE2BR.js.map → targets-COZPVG52.js.map} +0 -0
  412. /package/dist/{templates-43CM65YU.js.map → templates-75VFYZ3E.js.map} +0 -0
  413. /package/dist/{testimonials-TGSG33XN.js.map → testimonials-WJBRWLNW.js.map} +0 -0
  414. /package/dist/{top-companies-AU2Y2JBL.js.map → top-companies-C2R4FG6H.js.map} +0 -0
  415. /package/dist/{translate-UAQN3UP6.js.map → translate-RYAJAFV7.js.map} +0 -0
  416. /package/dist/{triggers-KANOVASP.js.map → triggers-5UHVJPBV.js.map} +0 -0
  417. /package/dist/{unlink-3O34M3RC.js.map → unlink-PLOOAGM3.js.map} +0 -0
  418. /package/dist/{unstage-IU3X67HQ.js.map → unstage-JIIOTBTF.js.map} +0 -0
  419. /package/dist/{update-3T2GI5UT.js.map → update-G6R5ZHUI.js.map} +0 -0
  420. /package/dist/{update-L575JJ26.js.map → update-QYM6U7LL.js.map} +0 -0
  421. /package/dist/{update-2MSRC7SF.js.map → update-RCP7F5L5.js.map} +0 -0
  422. /package/dist/{update-4AKUKIHY.js.map → update-RGVNTA5X.js.map} +0 -0
  423. /package/dist/{upload-YGKEXFZX.js.map → upload-EEJ34Q3Y.js.map} +0 -0
  424. /package/dist/{url-params-JO6DMUNT.js.map → url-params-2G5M2B3J.js.map} +0 -0
  425. /package/dist/{validate-C2AJIWOF.js.map → validate-M33VLUG4.js.map} +0 -0
  426. /package/dist/{videos-73IKG7QH.js.map → videos-FVVID55J.js.map} +0 -0
  427. /package/dist/{viewer-check-VN2JK2LW.js.map → viewer-check-2Q3WHSEL.js.map} +0 -0
  428. /package/dist/{winning-ads-UCDDPWFM.js.map → winning-ads-OSRFHVLV.js.map} +0 -0
  429. /package/dist/{write-commands-WBBS3C5L.js.map → write-commands-CLJOD2XF.js.map} +0 -0
  430. /package/dist/{write-commands-TAYGTJEZ.js.map → write-commands-CT74VHH6.js.map} +0 -0
  431. /package/dist/{x-VOG2EPI6.js.map → x-EBKLJJPJ.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  outputRatioWarningsFor
3
- } from "./chunk-DIY6QR3E.js";
3
+ } from "./chunk-HDWKLFF5.js";
4
4
  import {
5
5
  nodeParamsPreview
6
- } from "./chunk-EZUG6WE2.js";
6
+ } from "./chunk-NSA6HRG6.js";
7
7
  import {
8
8
  waitForSheet
9
9
  } from "./chunk-WN4KX7GE.js";
@@ -19,6 +19,7 @@ import {
19
19
  } from "./chunk-3ACMDRSE.js";
20
20
  import {
21
21
  correctedPicture,
22
+ ingestedNow,
22
23
  isStaticAdCanvas,
23
24
  keepsChosen,
24
25
  pictureRecord,
@@ -30,8 +31,9 @@ import {
30
31
  seriesMembers,
31
32
  seriesRunHints,
32
33
  variantImage,
34
+ versionRun,
33
35
  writeSeriesMemberCanvas
34
- } from "./chunk-7H2VLDYU.js";
36
+ } from "./chunk-VJZHVOA4.js";
35
37
  import {
36
38
  buildFailedRunRecord,
37
39
  buildInitialRunRecord,
@@ -40,7 +42,7 @@ import {
40
42
  finalFiles,
41
43
  finalOutputLabelsFromCanvas,
42
44
  nodeOutputsToRecord
43
- } from "./chunk-XZPREXCE.js";
45
+ } from "./chunk-ACFWVULZ.js";
44
46
  import {
45
47
  clearLegacyDirtyMarker,
46
48
  readRenderState,
@@ -49,17 +51,19 @@ import {
49
51
  recordReviewOutcome,
50
52
  recordSeriesLeadRun,
51
53
  recordSnapshot
52
- } from "./chunk-ZN63N3EP.js";
54
+ } from "./chunk-6TCDQSM7.js";
53
55
  import {
54
56
  BRAND_LOGO_ROLE,
55
57
  CLAIMS_MODEL,
56
58
  CLAIMS_REQUEST,
57
59
  CanvasPrepareError,
60
+ GLOBAL_PROMPT_FILE,
58
61
  PEOPLE_PROMPT_VERSION,
59
62
  REBUILD_FILE,
60
63
  computeSourceSha,
61
64
  exitOnPrepareError,
62
65
  findBrandRoot,
66
+ fixBriefNode,
63
67
  fixStaticAd,
64
68
  formatOfAdaptId,
65
69
  isNativeCanvas,
@@ -75,7 +79,7 @@ import {
75
79
  uncastPeople,
76
80
  wireNamedPeople,
77
81
  wireProofBadges
78
- } from "./chunk-NEZLPWD4.js";
82
+ } from "./chunk-IH4UQ2OK.js";
79
83
  import {
80
84
  ViewerAnswerSchema,
81
85
  describeViewer,
@@ -84,6 +88,7 @@ import {
84
88
  judgeViewerAnswer,
85
89
  liveViewerLookups,
86
90
  marketQuery,
91
+ mayBeCorrection,
87
92
  misreadings,
88
93
  readTurnRenders,
89
94
  recordTurnRender,
@@ -95,25 +100,25 @@ import {
95
100
  viewerCheckBeforeRender,
96
101
  viewerCheckSkip,
97
102
  viewerChecksSpent
98
- } from "./chunk-HXTGYOQC.js";
103
+ } from "./chunk-H2QNBOPS.js";
99
104
  import {
100
105
  holdUnbilledSpend,
101
106
  holdWhenSettled,
102
107
  sendBillingSpend,
103
108
  takeUnbilledSpend
104
- } from "./chunk-K3PN7TN5.js";
109
+ } from "./chunk-WTOYCUKH.js";
105
110
  import {
106
111
  canvasOutputsRoot,
107
112
  describeRewrites,
108
113
  findWorkspaceRoot,
109
114
  localPathParam
110
- } from "./chunk-HIPDMQZ6.js";
115
+ } from "./chunk-DZSIUEGH.js";
111
116
  import {
112
117
  ValidationError,
113
118
  createEngineFromEnv,
114
119
  resolveConcurrency,
115
120
  ulid
116
- } from "./chunk-HMEFD2CG.js";
121
+ } from "./chunk-XDNEG2H6.js";
117
122
  import {
118
123
  BackendClient,
119
124
  LOGO_COMPOSITE_ROLE,
@@ -135,7 +140,7 @@ import {
135
140
  regenerateTargets,
136
141
  rolesById,
137
142
  staticMasterFormat
138
- } from "./chunk-RRUJQVWA.js";
143
+ } from "./chunk-RCQJHKK5.js";
139
144
  import {
140
145
  requireCredentialsFromEnv
141
146
  } from "./chunk-W3B4BHQU.js";
@@ -165,6 +170,7 @@ import {
165
170
  import {
166
171
  GLANCE_CHECK_MODEL,
167
172
  VIEWER_CHECK_MODEL,
173
+ canonicalize,
168
174
  nearestSupportedAspectRatio
169
175
  } from "./chunk-OBDAYP2P.js";
170
176
  import {
@@ -186,13 +192,17 @@ import {
186
192
  describeFailureReason,
187
193
  runFailureCode,
188
194
  sha256Hex
189
- } from "./chunk-OTFHEHIU.js";
195
+ } from "./chunk-HRYOZUSK.js";
196
+ import {
197
+ apiPost
198
+ } from "./chunk-XBOK23HI.js";
190
199
  import {
191
200
  optionalChatId,
192
201
  optionalTurnId
193
202
  } from "./chunk-NAWWC5I3.js";
194
203
 
195
204
  // src/commands/canvas/run.ts
205
+ import { readFile as readFile6 } from "fs/promises";
196
206
  import path7 from "path";
197
207
  import { defineCommand } from "citty";
198
208
 
@@ -690,6 +700,19 @@ async function uploadRunSnapshot(client, opts) {
690
700
  return null;
691
701
  }
692
702
  }
703
+ var MAX_GRAPH_BYTES = 4 * 1024 * 1024;
704
+ async function uploadRunGraph(client, graph, signal) {
705
+ try {
706
+ const bytes = Buffer.from(JSON.stringify(graph));
707
+ if (bytes.length > MAX_GRAPH_BYTES) return null;
708
+ return (await putContentAddressed(client, bytes, "application/json", signal)).url;
709
+ } catch (e) {
710
+ const msg = e instanceof Error ? e.message : String(e);
711
+ process.stderr.write(`[warn] run graph not kept (${msg}) \u2014 a correction from another workspace starts from its picture
712
+ `);
713
+ return null;
714
+ }
715
+ }
693
716
  async function putContentAddressed(client, bytes, mime, signal) {
694
717
  const sha256 = sha256Hex(bytes);
695
718
  const { putUrl, publicUrl } = await client.presignAssetUpload(sha256, mime, signal, "blueprint");
@@ -762,6 +785,171 @@ async function restoreRunSnapshot(manifest, targetDir, opts = {}) {
762
785
  return { canvasPath: path3.resolve(resolvedTarget, manifest.canvas.path), restored, upToDate };
763
786
  }
764
787
 
788
+ // src/engine/scaffold/static-history.ts
789
+ var PICTURE_ROLES = /* @__PURE__ */ new Set([
790
+ STATIC_VARIANT_CALL_ROLE,
791
+ STATIC_VARIANTS_ROLE,
792
+ VARIANT_PREFILTER_ROLE,
793
+ STATIC_PICK_ROLE,
794
+ STATIC_FIX_ROLE,
795
+ SERIES_LEAD_ROLE
796
+ ]);
797
+ var EDIT_ID = /^edit_(\d+)$/;
798
+ function refNode(ref) {
799
+ return typeof ref === "string" ? ref.match(/^\$ref:([a-z][a-z0-9_]*)\./)?.[1] ?? null : null;
800
+ }
801
+ function depsOf(node) {
802
+ const found = [];
803
+ const walk = (v) => {
804
+ if (typeof v === "string") {
805
+ const id = refNode(v);
806
+ if (id) found.push(id);
807
+ } else if (Array.isArray(v)) v.forEach(walk);
808
+ else if (v && typeof v === "object") Object.values(v).forEach(walk);
809
+ };
810
+ walk(node.inputs);
811
+ walk(node.params);
812
+ return found;
813
+ }
814
+ function ancestors(nodes, id) {
815
+ const byId = new Map(nodes.map((n) => [n.id, n]));
816
+ const seen = /* @__PURE__ */ new Set();
817
+ const visit = (at) => {
818
+ const n = byId.get(at);
819
+ if (!n || seen.has(at)) return;
820
+ seen.add(at);
821
+ for (const dep of depsOf(n)) visit(dep);
822
+ };
823
+ visit(id);
824
+ return nodes.filter((n) => seen.has(n.id));
825
+ }
826
+ var isPicture = (n) => PICTURE_ROLES.has(n.tags?.role ?? "");
827
+ function framingPrefilter(nodes, master) {
828
+ const reads = JSON.stringify(master.inputs ?? {});
829
+ return nodes.find((n) => n.tags?.role === VARIANT_PREFILTER_ROLE && reads.includes(`$ref:${n.id}.`));
830
+ }
831
+ function frameNode(prefilter, id, image) {
832
+ if (!prefilter) return null;
833
+ const { judge_model: _judge, judge_prompt: _prompt, ...params } = prefilter.params ?? {};
834
+ return { ...prefilter, id, inputs: { ...prefilter.inputs, images: [image] }, params };
835
+ }
836
+ function variantIndex(outputs, sha) {
837
+ const images = Array.isArray(outputs?.images) ? outputs.images : [];
838
+ const want = sha.trim().toLowerCase();
839
+ if (!/^[0-9a-f]{8,64}$/.test(want)) return null;
840
+ const hits = images.flatMap((img, i) => typeof img?.sha256 === "string" && img.sha256.startsWith(want) ? [i] : []);
841
+ return hits.length === 1 ? hits[0] ?? null : null;
842
+ }
843
+ function variantSources(nodes) {
844
+ const calls = nodes.filter((n) => n.tags?.role === STATIC_VARIANT_CALL_ROLE);
845
+ const ids = new Set(calls.flatMap((call) => ancestors(nodes, call.id).map((n) => n.id)));
846
+ return nodes.filter((n) => ids.has(n.id));
847
+ }
848
+ function variantFiles(canvas) {
849
+ return variantSources(canvas.nodes).flatMap((n) => {
850
+ const { source, path: path8, expect } = n.params ?? {};
851
+ return n.type === "ingest" && source === "path" && typeof path8 === "string" ? [{ id: n.id, path: path8, expect: String(expect ?? "") }] : [];
852
+ });
853
+ }
854
+ function declared(n) {
855
+ const { path: _where, ...params } = n.params ?? {};
856
+ const own = n.type === "ingest" && n.params?.source === "path" ? params : n.params ?? {};
857
+ return canonicalize({ type: n.type, inputs: n.inputs ?? {}, params: own });
858
+ }
859
+ function makesSameVariants(current, version, ingested) {
860
+ const sources = variantSources(current.nodes);
861
+ if (sources.length === 0) return false;
862
+ const was = new Map(version.canvas.nodes.map((n) => [n.id, n]));
863
+ const sameDeclaration = sources.every((n) => {
864
+ const before = was.get(n.id);
865
+ return before !== void 0 && declared(before) === declared(n);
866
+ });
867
+ return sameDeclaration && variantFiles(current).every((file) => {
868
+ const asset = version.outputs[file.id]?.asset;
869
+ return typeof asset?.sha256 === "string" && (ingested[file.id] ?? []).includes(asset.sha256);
870
+ });
871
+ }
872
+ function madeThisRun(grown) {
873
+ const master = grown.canvas.nodes.find((n) => n.tags?.role === STATIC_MASTER_ROLE);
874
+ const head = refNode(master?.inputs?.image);
875
+ const nodes = grown.canvas.nodes.filter((n) => !(n.id in grown.pinned) || n.id === head);
876
+ return { ...grown.canvas, nodes };
877
+ }
878
+ function growFromVersion(current, version, growth) {
879
+ const master = current.nodes.find((n) => n.tags?.role === STATIC_MASTER_ROLE);
880
+ const history = master ? versionHistory(current, version, growth) : null;
881
+ if (!master || !history) return null;
882
+ const { kept, pinned } = history;
883
+ const keptIds = new Set(kept.map((n) => n.id));
884
+ const stage = new Set(
885
+ ancestors(current.nodes, master.id).filter((n) => n.id !== master.id && isPicture(n)).map((n) => n.id)
886
+ );
887
+ const rest = current.nodes.filter((n) => !stage.has(n.id) && !keptIds.has(n.id));
888
+ const top = stepsOnTop({ current, master, kept, rest }, history.picture, growth);
889
+ if (!top) return null;
890
+ const at = rest.findIndex((n) => n.id === master.id);
891
+ const nodes = rest.map((n) => n.id === master.id ? { ...n, inputs: { ...n.inputs, image: top.picture } } : n);
892
+ return {
893
+ canvas: { ...current, nodes: [...nodes.slice(0, at), ...kept, ...top.added, ...nodes.slice(at)] },
894
+ pinned
895
+ };
896
+ }
897
+ function versionHistory(current, version, growth) {
898
+ const was = version.canvas.nodes;
899
+ const image = was.find((n) => n.tags?.role === STATIC_MASTER_ROLE)?.inputs?.image;
900
+ if (typeof image !== "string") return null;
901
+ let picture = image;
902
+ let from = refNode(image) ?? "";
903
+ if (growth.kind === "variant") {
904
+ const variants = was.find((n) => n.tags?.role === STATIC_VARIANTS_ROLE);
905
+ const at = variants ? variantIndex(version.outputs[variants.id], growth.sha256) : null;
906
+ if (!variants || at === null) return null;
907
+ picture = `$ref:${variants.id}.images#${at}`;
908
+ from = variants.id;
909
+ }
910
+ const own = new Set(current.nodes.map((n) => n.id));
911
+ const kept = ancestors(was, from).filter((n) => isPicture(n) || !own.has(n.id));
912
+ const pinned = {};
913
+ for (const n of kept) {
914
+ const outputs = version.outputs[n.id];
915
+ if (!outputs) return null;
916
+ pinned[n.id] = outputs;
917
+ }
918
+ return { kept, pinned, picture };
919
+ }
920
+ function stepsOnTop(at, picture, growth) {
921
+ if (growth.kind === "keep") return { added: [], picture };
922
+ const prefilter = framingPrefilter(at.current.nodes, at.master);
923
+ const step = growth.kind === "edit" ? editStep(at, picture, growth) : chosenStep(picture);
924
+ if (!step) return null;
925
+ const frame2 = frameNode(prefilter, `${step.id}_frame`, `$ref:${step.id}.images#0`);
926
+ return frame2 ? { added: [step, frame2], picture: `$ref:${frame2.id}.image` } : { added: [step], picture: `$ref:${step.id}.images#0` };
927
+ }
928
+ function editStep(at, picture, growth) {
929
+ const n = 1 + Math.max(0, ...at.kept.map((k) => Number(k.id.match(EDIT_ID)?.[1] ?? 0)));
930
+ const template = at.current.nodes.find(
931
+ (v) => v.type === "image_generate" && [STATIC_VARIANT_CALL_ROLE, STATIC_VARIANTS_ROLE].includes(v.tags?.role ?? "")
932
+ );
933
+ if (!template) return null;
934
+ const masterFormat = staticMasterFormat(at.current);
935
+ const brief = fixBriefNode({ nodes: [...at.kept, ...at.rest] }, template, growth.promptJson, {
936
+ instruction: growth.instruction,
937
+ previous: picture,
938
+ ...masterFormat ? { format: masterFormat } : {}
939
+ });
940
+ const { n: _n, ...params } = brief.params ?? {};
941
+ return {
942
+ id: `edit_${n}`,
943
+ type: brief.type,
944
+ ...brief.inputs ? { inputs: brief.inputs } : {},
945
+ params,
946
+ tags: { role: STATIC_FIX_ROLE }
947
+ };
948
+ }
949
+ function chosenStep(picture) {
950
+ return { id: "chosen", type: "collect", inputs: { images: [picture] }, tags: { role: STATIC_PICK_ROLE } };
951
+ }
952
+
765
953
  // src/commands/canvas/named-people-read.ts
766
954
  import { createHash } from "crypto";
767
955
  import { mkdir as mkdir3, readFile as readFile3, writeFile as writeFile3 } from "fs/promises";
@@ -1380,13 +1568,50 @@ function withDeliveredSizes(canvas, last) {
1380
1568
  };
1381
1569
  }
1382
1570
 
1571
+ // src/commands/canvas/shown-version.ts
1572
+ import { z } from "zod";
1573
+ var ShownResponse = z.object({
1574
+ data: z.object({
1575
+ runId: z.string(),
1576
+ sourceSha: z.string().optional(),
1577
+ createdAt: z.number(),
1578
+ canvasSnapshotUrl: z.string().optional()
1579
+ })
1580
+ });
1581
+ var SnapshotFiles = z.object({ files: z.array(z.object({ path: z.string(), url: z.string() })) });
1582
+ var HISTORY = {
1583
+ shown: async (slug) => ShownResponse.parse(await apiPost("/api/creatives/run", { slug })).data,
1584
+ file: async (url) => {
1585
+ const res = await fetch(url);
1586
+ return res.ok ? res.json() : null;
1587
+ }
1588
+ };
1589
+ async function shownVersion(canvasRoot, slug, sources = HISTORY) {
1590
+ const here = await readRenderState(canvasRoot, slug);
1591
+ if (here.rendered) return here;
1592
+ const run = await sources.shown(slug).catch(() => null);
1593
+ if (!run) return here;
1594
+ const prompt = run.canvasSnapshotUrl ? await drawnPrompt(run.canvasSnapshotUrl, sources) : void 0;
1595
+ return {
1596
+ ...here,
1597
+ rendered: { sourceSha: run.sourceSha ?? "", runId: run.runId, at: run.createdAt },
1598
+ ...prompt !== void 0 ? { prompt } : {}
1599
+ };
1600
+ }
1601
+ async function drawnPrompt(manifestUrl, sources) {
1602
+ const manifest = SnapshotFiles.safeParse(await sources.file(manifestUrl).catch(() => null));
1603
+ const entry = manifest.success ? manifest.data.files.find((f) => f.path === GLOBAL_PROMPT_FILE) : void 0;
1604
+ if (!entry) return void 0;
1605
+ return await sources.file(entry.url).catch(() => null) ?? void 0;
1606
+ }
1607
+
1383
1608
  // src/commands/canvas/static-run-review.ts
1384
1609
  import { readFile as readFile4 } from "fs/promises";
1385
1610
  import path6 from "path";
1386
1611
 
1387
1612
  // src/commands/canvas/glance-check.ts
1388
1613
  import sharp from "sharp";
1389
- import { z } from "zod";
1614
+ import { z as z2 } from "zod";
1390
1615
  var GLANCE_REQUIRED = {
1391
1616
  offer: "guess",
1392
1617
  for_whom: "unclear",
@@ -1395,9 +1620,9 @@ var GLANCE_REQUIRED = {
1395
1620
  var GLANCE_WIDTH = 400;
1396
1621
  var GlanceAnswerSchema = ViewerAnswerSchema.extend({
1397
1622
  /** What kind of product or service they take it for (D4). */
1398
- category: z.object({ answer: z.string().default(""), clarity: z.enum(["clear", "guess", "unclear"]).default("unclear") }).default({ answer: "", clarity: "unclear" }),
1399
- stopped: z.string().default(""),
1400
- me: z.enum(["yes", "no", "unsure"]).default("unsure")
1623
+ category: z2.object({ answer: z2.string().default(""), clarity: z2.enum(["clear", "guess", "unclear"]).default("unclear") }).default({ answer: "", clarity: "unclear" }),
1624
+ stopped: z2.string().default(""),
1625
+ me: z2.enum(["yes", "no", "unsure"]).default("unsure")
1401
1626
  });
1402
1627
  function wherePhrase(placements) {
1403
1628
  const fullScreen = placements.length === 0 || placements.some((p) => /automatic|stor|reel/i.test(p));
@@ -1849,10 +2074,10 @@ function variantHints(judge, prefilter) {
1849
2074
  // src/commands/canvas/static-spec-repair.ts
1850
2075
  import { readFile as readFile5, writeFile as writeFile4 } from "fs/promises";
1851
2076
  import sharp2 from "sharp";
1852
- import { z as z2 } from "zod";
1853
- var Answer = z2.object({
1854
- changed: z2.string().min(1),
1855
- set: z2.array(z2.object({ path: z2.string().min(1), value: z2.unknown() }))
2077
+ import { z as z3 } from "zod";
2078
+ var Answer = z3.object({
2079
+ changed: z3.string().min(1),
2080
+ set: z3.array(z3.object({ path: z3.string().min(1), value: z3.unknown() }))
1856
2081
  });
1857
2082
  function withValueAt(root, path8, value) {
1858
2083
  const [key, ...rest] = path8;
@@ -1956,11 +2181,11 @@ var runCommand = defineCommand({
1956
2181
  "run-id": { type: "string", description: "Override run id (also resumes that run, re-attaching its in-flight jobs)" },
1957
2182
  fix: {
1958
2183
  type: "string",
1959
- description: `Static ad only: correct a finished version instead of rendering a new one. One render takes that version as its first reference and changes only what you say here ("the CTA sits in the Stories band: move it up", "'Analitica' is missing its accent"), keeping the picture, layout and every other word; every size is made again from it (each other size re-laid out from it, one request each) and the review follows as usual. The version is the creative's last render, or --from <run_id>.`
2184
+ description: `Static ad only: correct a finished version instead of rendering a new one. One render takes that version as its first reference and changes only what you say here ("the CTA sits in the Stories band: move it up", "'Analitica' is missing its accent"), keeping the picture, layout and every other word. It is added on top of that version: its options, pick and earlier corrections are kept as they were made (free), the edit after them. Every size is made again from it (each other size re-laid out from it, one request each) and the review follows as usual. The version is the creative's last render, or --from <run_id>.`
1960
2185
  },
1961
2186
  from: {
1962
2187
  type: "string",
1963
- description: "With --fix, --use-variant or a --regenerate of sizes only: the run id of the version (default: the creative's last render)"
2188
+ description: "With --fix, --use-variant or a --regenerate of sizes only: the run id of the version (default: the one the creative shows, its last render here, or in a new chat the version chosen, else its newest)"
1964
2189
  },
1965
2190
  "use-variant": {
1966
2191
  type: "string",
@@ -2134,16 +2359,19 @@ async function executeCanvasRun(opts) {
2134
2359
  if (creativeSlug) await clearLegacyDirtyMarker(canvasRoot, creativeSlug);
2135
2360
  const turnId = optionalTurnId();
2136
2361
  const turnCache = opts.cacheDir ?? path7.join(canvasRoot, ".cache");
2137
- if (creativeSlug && (opts.autoFixRound ?? 0) === 0) {
2138
- const refusal = turnRenderRefusal(await readTurnRenders(turnCache), turnId, creativeSlug);
2139
- if (refusal) {
2140
- process.stderr.write(
2141
- `${JSON.stringify({ ok: false, error: { code: refusal.code, message: refusal.message, fix: refusal.fix } }, null, 2)}
2362
+ const refuseTurnRender = async (correction) => {
2363
+ if (!creativeSlug || (opts.autoFixRound ?? 0) > 0) return;
2364
+ const refusal = turnRenderRefusal(await readTurnRenders(turnCache), turnId, creativeSlug, { correction });
2365
+ if (!refusal) return;
2366
+ process.stderr.write(
2367
+ `${JSON.stringify({ ok: false, error: { code: refusal.code, message: refusal.message, fix: refusal.fix } }, null, 2)}
2142
2368
  `
2143
- );
2144
- process.exit(2);
2145
- }
2146
- }
2369
+ );
2370
+ process.exit(2);
2371
+ };
2372
+ const shown = creativeSlug ? await shownVersion(canvasRoot, creativeSlug) : {};
2373
+ const promptOnDisk = await readFile6(path7.join(path7.dirname(filePath), "prompt.json"), "utf8").then((text) => JSON.parse(text)).catch(() => null);
2374
+ await refuseTurnRender(mayBeCorrection(opts, shown.prompt, promptOnDisk));
2147
2375
  const citing = [];
2148
2376
  await wireProofBadges(
2149
2377
  path7.join(path7.dirname(filePath), "prompt.json"),
@@ -2185,7 +2413,6 @@ ${describeRewrites(prepared.rewrites)}
2185
2413
  );
2186
2414
  }
2187
2415
  let parsed = prepared.canvas;
2188
- const shown = creativeSlug ? await readRenderState(canvasRoot, creativeSlug) : {};
2189
2416
  const promptNow = isStaticAdCanvas(parsed) ? await readStaticPromptJson(parsed).catch(() => null) : null;
2190
2417
  const native = isNativeCanvas(parsed);
2191
2418
  if (native && (opts.fix !== void 0 || opts.useVariant !== void 0)) {
@@ -2214,6 +2441,10 @@ ${describeRewrites(prepared.rewrites)}
2214
2441
  `);
2215
2442
  }
2216
2443
  const fixInstruction = opts.fix ?? editInstruction ?? void 0;
2444
+ const requested = opts.regenerate?.split(",").map((id) => id.trim()) ?? [];
2445
+ await refuseTurnRender(
2446
+ fixInstruction !== void 0 || requested.length > 0 && isStaticAdCanvas(parsed) && relaysSizesOnly(parsed, regenerateTargets(parsed, requested).ids)
2447
+ );
2217
2448
  const fromRun = opts.from ?? shown.rendered?.runId;
2218
2449
  const memory = fixMemoryOf(shown, opts.from);
2219
2450
  if (opts.fix !== void 0 && repeatsFailedFix(memory.lastFix, opts.fix)) {
@@ -2235,6 +2466,11 @@ ${describeRewrites(prepared.rewrites)}
2235
2466
  );
2236
2467
  process.exit(2);
2237
2468
  }
2469
+ let grown = null;
2470
+ const growOn = async (from, growth) => {
2471
+ const version = await versionRun(canvasRoot, from);
2472
+ return version ? growFromVersion(parsed, version, growth) : null;
2473
+ };
2238
2474
  if (fixInstruction !== void 0) {
2239
2475
  const instruction = fixInstruction.trim();
2240
2476
  const from = opts.from ?? shown.rendered?.runId;
@@ -2245,7 +2481,8 @@ ${describeRewrites(prepared.rewrites)}
2245
2481
  `);
2246
2482
  process.exit(2);
2247
2483
  }
2248
- parsed = fixStaticAd(parsed, { instruction, previous, promptJson: promptNow });
2484
+ grown = await growOn(from, { kind: "edit", instruction, promptJson: promptNow });
2485
+ parsed = grown ? grown.canvas : fixStaticAd(parsed, { instruction, previous, promptJson: promptNow });
2249
2486
  const labels = finalOutputLabelsFromCanvas(parsed);
2250
2487
  const delivered = await previousDelivered(canvasRoot, from, labels?.nodeId ?? "final", labels?.labels ?? [], {
2251
2488
  prefer: "url"
@@ -2272,36 +2509,62 @@ ${describeRewrites(prepared.rewrites)}
2272
2509
  }
2273
2510
  if (opts.useVariant !== void 0 && opts.fix === void 0) {
2274
2511
  const sha = opts.useVariant.trim();
2275
- const from = opts.from ?? (creativeSlug ? (await readRenderState(canvasRoot, creativeSlug)).rendered?.runId : void 0);
2276
- const url = from && isStaticAdCanvas(parsed) ? await variantImage(canvasRoot, from, sha, void 0, rolesById(parsed)) : null;
2277
- if (!from || !url) {
2512
+ const from = opts.from ?? shown.rendered?.runId;
2513
+ grown = from && isStaticAdCanvas(parsed) ? await growOn(from, { kind: "variant", sha256: sha }) : null;
2514
+ const url = from && !grown && isStaticAdCanvas(parsed) ? await variantImage(canvasRoot, from, sha, void 0, rolesById(parsed)) : null;
2515
+ if (!from || !grown && !url) {
2278
2516
  const message = !isStaticAdCanvas(parsed) ? "--use-variant re-makes the sizes of a static ad; this canvas is not one." : !from ? "--use-variant needs the version the variant belongs to: this creative has no recorded render here. Pass --from <run_id>." : `--use-variant found no variant ${sha} in run ${from}: pass the sha256 \`baker creatives feedback --slug <slug>\` prints, and --from with that version's run.`;
2279
2517
  process.stderr.write(`${JSON.stringify({ ok: false, error: { code: "no_such_variant", message } }, null, 2)}
2280
2518
  `);
2281
2519
  process.exit(2);
2282
2520
  }
2283
- parsed = rederiveFromVariant(parsed, { url });
2521
+ if (grown) parsed = grown.canvas;
2522
+ else if (url) parsed = rederiveFromVariant(parsed, { url });
2284
2523
  process.stdout.write(`[variant] making every size of run ${from} again from the chosen variant ${sha.slice(0, 12)}
2285
2524
  `);
2286
2525
  }
2287
2526
  let relaidFrom;
2288
2527
  if (opts.regenerate !== void 0 && opts.fix === void 0 && opts.useVariant === void 0 && isStaticAdCanvas(parsed)) {
2289
- const requested = opts.regenerate.split(",").map((id) => id.trim());
2290
- const from = opts.from ?? (creativeSlug ? (await readRenderState(canvasRoot, creativeSlug)).rendered?.runId : void 0);
2291
- const url = from && relaysSizesOnly(parsed, regenerateTargets(parsed, requested).ids) ? await correctedPicture(canvasRoot, from) ?? (shown.picture?.redrawn && shown.picture.runId === from ? await previousAdImage(canvasRoot, from, void 0, rolesById(parsed)) : null) : null;
2292
- if (from && url) {
2528
+ const requested2 = opts.regenerate.split(",").map((id) => id.trim());
2529
+ const from = opts.from ?? shown.rendered?.runId;
2530
+ const sizesOnly = relaysSizesOnly(parsed, regenerateTargets(parsed, requested2).ids);
2531
+ grown = from && sizesOnly ? await growOn(from, { kind: "keep" }) : null;
2532
+ const url = from && sizesOnly && !grown ? await correctedPicture(canvasRoot, from) ?? (shown.picture?.redrawn && shown.picture.runId === from ? await previousAdImage(canvasRoot, from, void 0, rolesById(parsed)) : null) : null;
2533
+ if (from && grown) {
2534
+ parsed = grown.canvas;
2535
+ relaidFrom = from;
2536
+ process.stdout.write(`[regenerate] re-laying out from the picture run ${from} shows, kept as it was made
2537
+ `);
2538
+ } else if (from && url) {
2293
2539
  parsed = rederiveFromVariant(parsed, { url });
2294
2540
  relaidFrom = from;
2295
2541
  process.stdout.write(`[regenerate] re-laying out from the picture run ${from} shows (its correction or the person's choice)
2296
2542
  `);
2297
2543
  }
2298
2544
  }
2545
+ const plain = fixInstruction === void 0 && opts.useVariant === void 0 && opts.regenerate === void 0 && (opts.extendSizes?.length ?? 0) === 0;
2546
+ if (plain && fromRun && !native && isStaticAdCanvas(parsed) && !seriesOf(parsed)) {
2547
+ const version = await versionRun(canvasRoot, fromRun);
2548
+ const same = version && makesSameVariants(parsed, version, await ingestedNow(variantFiles(parsed), path7.dirname(filePath)));
2549
+ grown = version && same ? growFromVersion(parsed, version, { kind: "keep" }) : null;
2550
+ if (grown) {
2551
+ parsed = grown.canvas;
2552
+ relaidFrom = fromRun;
2553
+ process.stdout.write(`[version] nothing the variants are made from changed: keeping the picture of run ${fromRun}
2554
+ `);
2555
+ }
2556
+ }
2557
+ if (grown) {
2558
+ const kept = Object.keys(grown.pinned);
2559
+ process.stdout.write(`[version] built on top of the version before: ${kept.join(", ")} kept as they were made (free)
2560
+ `);
2561
+ }
2299
2562
  const canvasText = prepared.text;
2300
2563
  let regenerate;
2301
2564
  if (opts.regenerate !== void 0) {
2302
- const requested = opts.regenerate.split(",").map((id) => id.trim()).filter((id) => id.length > 0);
2565
+ const requested2 = opts.regenerate.split(",").map((id) => id.trim()).filter((id) => id.length > 0);
2303
2566
  const known = new Set(canvasNodeIds(parsed));
2304
- const { ids: resolved, unknown } = regenerateTargets(parsed, requested);
2567
+ const { ids: resolved, unknown } = regenerateTargets(parsed, requested2);
2305
2568
  if (unknown.length > 0) {
2306
2569
  process.stderr.write(
2307
2570
  `${JSON.stringify(
@@ -2479,6 +2742,7 @@ ${describeRewrites(prepared.rewrites)}
2479
2742
  previous: (await readRenderState(canvasRoot, creativeSlug)).snapshot
2480
2743
  }) : null;
2481
2744
  if (snapshot && creativeSlug) await recordSnapshot(canvasRoot, creativeSlug, snapshot);
2745
+ const graphUrl = client && creativeSlug && isStaticAdCanvas(parsed) ? await uploadRunGraph(client, parsed) : null;
2482
2746
  const recordMeta = {
2483
2747
  creativeSlug,
2484
2748
  canvasPath: path7.relative(path7.dirname(canvasRoot), filePath) || void 0,
@@ -2489,6 +2753,7 @@ ${describeRewrites(prepared.rewrites)}
2489
2753
  sourceSha,
2490
2754
  chatId: optionalChatId(),
2491
2755
  canvasSnapshotUrl: snapshot?.url,
2756
+ ...graphUrl ? { graphUrl } : {},
2492
2757
  ...newAsk ? { newAsk: true } : {}
2493
2758
  };
2494
2759
  if (client) {
@@ -2515,7 +2780,8 @@ ${describeRewrites(prepared.rewrites)}
2515
2780
  }
2516
2781
  const frameUrls = [];
2517
2782
  let next = null;
2518
- const readerSpend = holdWhenSettled(cacheDir, (run, outputs) => prefilterSpend(parsed, { [run.node_id]: outputs }, [run]));
2783
+ const madeHere = grown ? madeThisRun({ canvas: parsed, pinned: grown.pinned }) : parsed;
2784
+ const readerSpend = holdWhenSettled(cacheDir, (run, outputs) => prefilterSpend(madeHere, { [run.node_id]: outputs }, [run]));
2519
2785
  const isFrameNode = (id) => parsed.nodes?.find((n) => n.id === id)?.type === "image_generate";
2520
2786
  try {
2521
2787
  const policy = opts.cachePolicy ?? "read_write";
@@ -2526,6 +2792,7 @@ ${describeRewrites(prepared.rewrites)}
2526
2792
  ...stopBeforeKinds(opts.until) ? { stop_before_kinds: stopBeforeKinds(opts.until) } : {},
2527
2793
  concurrency: resolveConcurrency(opts.concurrency, process.env.BAKER_CANVAS_CONCURRENCY),
2528
2794
  regenerate,
2795
+ ...grown ? { pinned: grown.pinned } : {},
2529
2796
  // Always set, because the frame collector has to run whether or not this run is
2530
2797
  // reporting progress to a backend — without it a checkpoint stops with nothing to
2531
2798
  // show, which is the only thing a checkpoint is for.
@@ -2544,7 +2811,7 @@ ${describeRewrites(prepared.rewrites)}
2544
2811
  }
2545
2812
  });
2546
2813
  await clearMarker();
2547
- const beforeRunId = creativeSlug ? (await readRenderState(canvasRoot, creativeSlug)).rendered?.runId : void 0;
2814
+ const beforeRunId = shown.rendered?.runId;
2548
2815
  if (creativeSlug) {
2549
2816
  await recordRendered(canvasRoot, creativeSlug, sourceSha, result.run_id, {
2550
2817
  ...promptNow ? { prompt: promptNow } : {},
@@ -2580,7 +2847,7 @@ ${describeRewrites(prepared.rewrites)}
2580
2847
  sizesOnly: relaidFrom !== void 0 || opts.extendOnly === true || regenerate !== void 0 && relaysSizesOnly(parsed, [...regenerate])
2581
2848
  };
2582
2849
  const staticReview = reviewable ? null : await reviewStaticRun({
2583
- parsed,
2850
+ parsed: madeHere,
2584
2851
  output: result.output,
2585
2852
  outputsByNode: result.outputs_by_node,
2586
2853
  onSpend: (usage) => reviewUsage.push(usage),
@@ -2879,4 +3146,4 @@ export {
2879
3146
  executeCanvasRun,
2880
3147
  buildBackendClient
2881
3148
  };
2882
- //# sourceMappingURL=chunk-JSN6LLHX.js.map
3149
+ //# sourceMappingURL=chunk-HYUUH4BE.js.map