@koda-sl/baker-cli 0.473.0 → 0.474.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 (428) hide show
  1. package/README.md +6 -7
  2. package/canvas/avocado-tutorial.json +3 -3
  3. package/canvas/hello-world-overlay.json +1 -1
  4. package/dist/{account-DJN7KX36.js → account-D3OCYORF.js} +4 -4
  5. package/dist/{accounts-PFBK6KT3.js → accounts-5ZMGCGNN.js} +3 -3
  6. package/dist/{accounts-UTABLCS6.js → accounts-ITY2DQPE.js} +5 -5
  7. package/dist/{actions-HYDPRUMY.js → actions-UO3RTZ6D.js} +18 -18
  8. package/dist/{activecampaign-DEFGV2GB.js → activecampaign-362WUJYO.js} +3 -3
  9. package/dist/{add-TM7AYRYC.js → add-CHEKJWPI.js} +3 -3
  10. package/dist/{add-XFCKOO6B.js → add-GYUYYZCG.js} +2 -2
  11. package/dist/{ads-Q3373W6W.js → ads-TBAO5WR7.js} +3 -3
  12. package/dist/{advertisers-CDKZPAWV.js → advertisers-7GS36VBV.js} +3 -3
  13. package/dist/{analytics-TAEPXJUM.js → analytics-MY7ZYOG3.js} +3 -3
  14. package/dist/{analytics-G7CFO4FR.js → analytics-N67Z3HV7.js} +6 -6
  15. package/dist/{animate-ETEHY5A3.js → animate-NVEQOLHK.js} +4 -4
  16. package/dist/{assign-KDOJOTHO.js → assign-LBZCMDXT.js} +3 -3
  17. package/dist/{audience-size-HHCWV6W5.js → audience-size-WRC5QIWK.js} +3 -3
  18. package/dist/{audit-F3WN3SMC.js → audit-IQYXOLJH.js} +3 -3
  19. package/dist/{autocomplete-VWIZFXEE.js → autocomplete-KAP5BNVI.js} +3 -3
  20. package/dist/{avatars-ATZB2WU3.js → avatars-2A3KPBFH.js} +4 -4
  21. package/dist/{bid-pricing-T26VH53W.js → bid-pricing-CRVFXAKV.js} +3 -3
  22. package/dist/{brand-VTAWDOYF.js → brand-7H3K3BLZ.js} +2 -2
  23. package/dist/{brief-6QNLMGJN.js → brief-ETWEZM7X.js} +10 -10
  24. package/dist/{campaign-groups-BCXTDDVS.js → campaign-groups-UB26PTXQ.js} +8 -8
  25. package/dist/{campaign-writes-R2PAOLKC.js → campaign-writes-EJ2HQLJW.js} +3 -3
  26. package/dist/{campaigns-FLRLFDTU.js → campaigns-CR5TRY7D.js} +5 -5
  27. package/dist/{campaigns-TSIN7ZKI.js → campaigns-LWGKR2NJ.js} +11 -11
  28. package/dist/{canvas-CFOSESUM.js → canvas-YC3IWYPU.js} +14 -14
  29. package/dist/{capabilities-MLO5VN6N.js → capabilities-H2EZXTDX.js} +3 -3
  30. package/dist/{catalog-I5CGBNDV.js → catalog-YY33VIDD.js} +6 -6
  31. package/dist/{chats-ZLTD4S7R.js → chats-WQIRRTTU.js} +3 -3
  32. package/dist/{chunk-BMD3HCSI.js → chunk-252QB4IX.js} +2 -2
  33. package/dist/{chunk-CHSNHVYF.js → chunk-2XQ5HU6D.js} +45 -139
  34. package/dist/chunk-2XQ5HU6D.js.map +1 -0
  35. package/dist/{chunk-JOZO5KBH.js → chunk-3RS4M7AR.js} +3 -3
  36. package/dist/{chunk-GQPGUJZ2.js → chunk-3UA4THEF.js} +2 -2
  37. package/dist/{chunk-F23O67JZ.js → chunk-43GJLQAF.js} +3 -3
  38. package/dist/{chunk-RCTVJ4IA.js → chunk-4LI4OHWW.js} +2 -2
  39. package/dist/{chunk-LXLRKZVM.js → chunk-4OVGMUHX.js} +3 -3
  40. package/dist/{chunk-FNMU3CQB.js → chunk-4PBDLDB4.js} +6 -6
  41. package/dist/{chunk-QYNBYV75.js → chunk-4X4CV6BI.js} +5 -5
  42. package/dist/{chunk-QFEZKCQL.js → chunk-52JI7M2P.js} +2 -2
  43. package/dist/{chunk-QOOMJJLC.js → chunk-6DV7P2DK.js} +7 -7
  44. package/dist/{chunk-5Y7IXX43.js → chunk-6WVRYQ4R.js} +3 -3
  45. package/dist/{chunk-WHR7GC6P.js → chunk-ASY5262R.js} +3 -3
  46. package/dist/{chunk-XL5GRMEJ.js → chunk-ASYPIRJR.js} +3 -3
  47. package/dist/{chunk-ILOCP6HB.js → chunk-BKE32DQB.js} +4 -4
  48. package/dist/{chunk-3J3C6OMU.js → chunk-D7KNUZ6Z.js} +2 -2
  49. package/dist/{chunk-GFX3BZRA.js → chunk-EGES6I6D.js} +2 -2
  50. package/dist/{chunk-3BXQSDMJ.js → chunk-EOW25KDV.js} +2 -2
  51. package/dist/{chunk-EU7SLORY.js → chunk-FHY3BM2O.js} +2 -2
  52. package/dist/{chunk-EQER3KJU.js → chunk-FPN4QB5W.js} +2 -2
  53. package/dist/{chunk-QULVXMJM.js → chunk-FR24ODHM.js} +2 -2
  54. package/dist/{chunk-EMR7CW5V.js → chunk-IMH2ZKKC.js} +2 -2
  55. package/dist/{chunk-ARFUXR65.js → chunk-KLXZZZA3.js} +2 -2
  56. package/dist/{chunk-47SKT3VY.js → chunk-LGQUI4TC.js} +4 -4
  57. package/dist/chunk-LGQUI4TC.js.map +1 -0
  58. package/dist/{chunk-WLWHXKRK.js → chunk-LK64CCN4.js} +4 -4
  59. package/dist/{chunk-7PTOGEUN.js → chunk-LPQYVWSA.js} +2 -2
  60. package/dist/{chunk-DZ36ZVP2.js → chunk-LUILGJCT.js} +2 -2
  61. package/dist/{chunk-UCVUZD4S.js → chunk-MZQBL7QU.js} +3 -3
  62. package/dist/{chunk-THE7NP45.js → chunk-NDITGFPZ.js} +13 -19
  63. package/dist/{chunk-THE7NP45.js.map → chunk-NDITGFPZ.js.map} +1 -1
  64. package/dist/{chunk-HCRY2ECL.js → chunk-NQOOLYFJ.js} +3 -3
  65. package/dist/{chunk-EZTEYFBZ.js → chunk-NRVZPS3O.js} +3 -3
  66. package/dist/{chunk-LUONQGPX.js → chunk-OI4ZWKTZ.js} +2 -2
  67. package/dist/{chunk-6USNEQZT.js → chunk-OQS4VZRC.js} +2 -2
  68. package/dist/{chunk-D5JEKHBY.js → chunk-PTKJEIUM.js} +2 -2
  69. package/dist/{chunk-YHTADMBF.js → chunk-QJFSKQGS.js} +2 -2
  70. package/dist/{chunk-DF34WJES.js → chunk-QURG57PA.js} +2 -2
  71. package/dist/{chunk-XABVEMC3.js → chunk-RF5X37JC.js} +9 -5
  72. package/dist/{chunk-XABVEMC3.js.map → chunk-RF5X37JC.js.map} +1 -1
  73. package/dist/{chunk-FAB3BWE2.js → chunk-SFPYLQEY.js} +2 -2
  74. package/dist/{chunk-Y47Y7OB4.js → chunk-SOMG7ZYH.js} +15 -15
  75. package/dist/chunk-SOMG7ZYH.js.map +1 -0
  76. package/dist/{chunk-3YOS7IS2.js → chunk-TMAZYRCW.js} +2 -2
  77. package/dist/{chunk-HQSCJYZO.js → chunk-U6RTBCU7.js} +2 -2
  78. package/dist/{chunk-X34CSP2W.js → chunk-VTK2W2NI.js} +2 -2
  79. package/dist/{chunk-YRERFQ7Z.js → chunk-WAXJ26ML.js} +2 -2
  80. package/dist/{chunk-O7J4OAC7.js → chunk-WJOQ6IEK.js} +7 -9
  81. package/dist/chunk-WJOQ6IEK.js.map +1 -0
  82. package/dist/{chunk-WNRWGIJO.js → chunk-X3NL6GH5.js} +3 -3
  83. package/dist/{chunk-FTFP52EN.js → chunk-XMNESC76.js} +13 -13
  84. package/dist/{claim-FPMBDKVA.js → claim-IHGLDFND.js} +3 -3
  85. package/dist/cli.js +29 -29
  86. package/dist/{companies-YIKSECXA.js → companies-XSRRXZOU.js} +3 -3
  87. package/dist/{complete-BQZ4ET2H.js → complete-VBPGVOLO.js} +3 -3
  88. package/dist/{connect-QTRDC3FE.js → connect-BFZPJLUP.js} +6 -6
  89. package/dist/{conversation-O3Z7GGNO.js → conversation-LWUBJ4RX.js} +3 -3
  90. package/dist/{conversions-J3QJ54OL.js → conversions-VYMJBIIN.js} +7 -7
  91. package/dist/{create-VU2O4KVT.js → create-2V5LUZC4.js} +3 -3
  92. package/dist/{create-QDCSIU77.js → create-6L7F52NE.js} +3 -3
  93. package/dist/{create-7WTHFLAM.js → create-HBY55E3S.js} +2 -2
  94. package/dist/{create-UAYJRFWI.js → create-ZWG3FKF7.js} +3 -3
  95. package/dist/{creatives-4ZAQ4O2Y.js → creatives-D5AXPGZW.js} +10 -10
  96. package/dist/{creatives-FEUNFI3U.js → creatives-RG2BNBKY.js} +8 -8
  97. package/dist/{credentials-AGVQYHHU.js → credentials-VWEWWRSL.js} +3 -3
  98. package/dist/{critique-QNWUTSWL.js → critique-PRL3S6M4.js} +9 -9
  99. package/dist/{critique-I5MZFSAL.js → critique-XIWM7ADA.js} +3 -3
  100. package/dist/{crm-GQZGRNZ2.js → crm-7B27KSDY.js} +4 -4
  101. package/dist/{crm-D7PDFSFN.js → crm-W2TCJH7N.js} +4 -4
  102. package/dist/{customers-KXS2O4GP.js → customers-WICE4TQA.js} +6 -6
  103. package/dist/{delete-T6SU733E.js → delete-6V7K4CSE.js} +3 -3
  104. package/dist/{delete-2DTRGE7P.js → delete-I4JQAL7J.js} +2 -2
  105. package/dist/{delete-3INLUVVV.js → delete-VVEZZVAI.js} +3 -3
  106. package/dist/{demographics-UXTNRK4V.js → demographics-JGS55Y7Y.js} +3 -3
  107. package/dist/{discard-5IHM6IYO.js → discard-3QHT5ZDD.js} +3 -3
  108. package/dist/{domain-JLASSEZ2.js → domain-6TOMLPGX.js} +3 -3
  109. package/dist/{draft-FS46CIAI.js → draft-55OEMU6B.js} +3 -3
  110. package/dist/{draft-ISOKIM5D.js → draft-57MPCPEH.js} +3 -3
  111. package/dist/{draft-GITTIXNR.js → draft-FVKAFQNQ.js} +4 -4
  112. package/dist/engine/index.js +5 -5
  113. package/dist/{facets-OFPMNKXE.js → facets-CIZBB2J7.js} +3 -3
  114. package/dist/{feedback-5BAK33K7.js → feedback-RNDJAENF.js} +2 -2
  115. package/dist/{feedback-record-GUT7HL45.js → feedback-record-BEZ2KYXA.js} +11 -11
  116. package/dist/{fetch-RZOERLD7.js → fetch-QVWVK7SG.js} +3 -3
  117. package/dist/{find-NQGHE5D6.js → find-TFCIL4DX.js} +3 -3
  118. package/dist/{find-NQGHE5D6.js.map → find-TFCIL4DX.js.map} +1 -1
  119. package/dist/{fit-MAFRXGXG.js → fit-VKSQTJ3Q.js} +5 -5
  120. package/dist/{flows-S3LP4EZX.js → flows-53GZXC7T.js} +10 -10
  121. package/dist/{fonts-V74DIISZ.js → fonts-C7VQNBBP.js} +5 -5
  122. package/dist/{forecast-WHRUXF4R.js → forecast-PXNKDHES.js} +3 -3
  123. package/dist/{funnel-K5BGG37Q.js → funnel-2QCXVOU7.js} +4 -4
  124. package/dist/{generate-N3ATPP3Y.js → generate-KVQLIBAX.js} +5 -4
  125. package/dist/generate-KVQLIBAX.js.map +1 -0
  126. package/dist/{get-U3AAESRY.js → get-4A4C6RHU.js} +3 -3
  127. package/dist/{get-IRJ5GTM4.js → get-H47P4JUE.js} +3 -3
  128. package/dist/{google-ads-R6M35N5M.js → google-ads-KKUGTGIE.js} +3 -3
  129. package/dist/{history-AYFOLWXX.js → history-3NJPE4FV.js} +3 -3
  130. package/dist/{hubspot-DNRSCVUV.js → hubspot-OEA4JX4G.js} +7 -7
  131. package/dist/{ideas-UJ3FHOVI.js → ideas-S6CG2PMB.js} +2 -2
  132. package/dist/{images-P6M2DCR4.js → images-GG5KXJDW.js} +6 -6
  133. package/dist/{ingest-GF6T4PVD.js → ingest-FOUH66RD.js} +2 -2
  134. package/dist/{ingest-IU2CP2XA.js → ingest-S7JZJGDE.js} +3 -3
  135. package/dist/{inspect-PUCON7KJ.js → inspect-ZQCBXJ2N.js} +3 -3
  136. package/dist/{keyword-metrics-DRHUF4IR.js → keyword-metrics-QLK6EDBC.js} +3 -3
  137. package/dist/{keywords-for-site-JXUPFSOC.js → keywords-for-site-OY4PKLUE.js} +3 -3
  138. package/dist/{landing-C5OTTI2X.js → landing-E6NCXH7K.js} +2 -2
  139. package/dist/{leads-LKDTIIMP.js → leads-D3AHO7XQ.js} +3 -3
  140. package/dist/{learn-2YYQQZVD.js → learn-LXWL52AQ.js} +7 -7
  141. package/dist/{library-SAHHHIX6.js → library-HC5US7CE.js} +2 -2
  142. package/dist/library-HC5US7CE.js.map +1 -0
  143. package/dist/{line-item-writes-ULQ2KDZM.js → line-item-writes-A7QUYWXJ.js} +3 -3
  144. package/dist/{line-items-JDJ6A2EV.js → line-items-ROLXCQKP.js} +5 -5
  145. package/dist/{link-MVMC2WS2.js → link-SZHHMUSM.js} +3 -3
  146. package/dist/{linkedin-UG4PNBW5.js → linkedin-HHUZVDUW.js} +26 -26
  147. package/dist/{list-PVJVSFZD.js → list-C3FIA2PV.js} +3 -3
  148. package/dist/{list-DZ42AKGO.js → list-W4IOLXD7.js} +3 -3
  149. package/dist/{list-PEDFWQUB.js → list-YHBWJUAT.js} +2 -2
  150. package/dist/{log-P7WUFBOZ.js → log-LKKBBA3T.js} +3 -3
  151. package/dist/{make-CGZTSI6C.js → make-W2ZM7JOW.js} +17 -17
  152. package/dist/{map-4AJCYUYF.js → map-XFG7GC2F.js} +4 -4
  153. package/dist/{mcp-AEZUPY2M.js → mcp-OCJWQY3K.js} +2 -2
  154. package/dist/{media-sources-IIF4ABAZ.js → media-sources-Q6SEZONH.js} +2 -2
  155. package/dist/{members-WQ6L735T.js → members-KFWXT3UL.js} +3 -3
  156. package/dist/{models-SO7GOVCK.js → models-IUO3XGQK.js} +2 -2
  157. package/dist/{normalize-INJILBTT.js → normalize-IPSLN5OI.js} +3 -3
  158. package/dist/{options-ERPX5BZM.js → options-6INS2L6V.js} +6 -6
  159. package/dist/{performance-DPBVNT4D.js → performance-2Q76Z2TS.js} +4 -4
  160. package/dist/{promoted-tweet-writes-FRW3AGJU.js → promoted-tweet-writes-7XXZXA6H.js} +3 -3
  161. package/dist/{promoted-tweets-LTOPCZIG.js → promoted-tweets-3UUR7NDI.js} +3 -3
  162. package/dist/{publish-K6OWATMQ.js → publish-D5NOM6XU.js} +3 -3
  163. package/dist/{reddit-IZLODVTB.js → reddit-CDMIQNIS.js} +4 -4
  164. package/dist/{refresh-KSG7E3QU.js → refresh-2T43VGWP.js} +2 -2
  165. package/dist/{release-OBXNPTMC.js → release-IC5WPJ7A.js} +3 -3
  166. package/dist/{remove-LL32BJPN.js → remove-PMD6XM6M.js} +2 -2
  167. package/dist/{reopen-4CPZ7CP2.js → reopen-2BGJIIBT.js} +3 -3
  168. package/dist/{rerun-LGXKLJHN.js → rerun-UDK6N3RG.js} +18 -18
  169. package/dist/{research-SJYICZEZ.js → research-AFW7CGBX.js} +10 -10
  170. package/dist/{research-WZJE46GK.js → research-T5AXRA4Z.js} +2 -2
  171. package/dist/{reset-J2NSJF6Q.js → reset-BMQDCLA7.js} +2 -2
  172. package/dist/{reset-BYS25T56.js → reset-GSO3GBVX.js} +2 -2
  173. package/dist/{resolve-FWVAXHJQ.js → resolve-7Y2K3WUO.js} +3 -3
  174. package/dist/{retry-YWAF66KC.js → retry-D2W47BZJ.js} +2 -2
  175. package/dist/{retry-JNBCYB66.js → retry-FDDNHU7P.js} +2 -2
  176. package/dist/{run-IHPSZKTX.js → run-DY2WPKLE.js} +18 -18
  177. package/dist/{run-YZSH2WZV.js → run-LEYU3OEI.js} +3 -3
  178. package/dist/{scaffold-ad-F5Z2MTD5.js → scaffold-ad-FBMO4GSP.js} +16 -16
  179. package/dist/{scaffold-static-ad-ZUEY2IHH.js → scaffold-static-ad-XYOBNNUN.js} +22 -22
  180. package/dist/{scaffold-video-KWFZMDHK.js → scaffold-video-TRP2DWVE.js} +14 -14
  181. package/dist/{schedule-B6CYYTTB.js → schedule-VKSWHXQV.js} +2 -2
  182. package/dist/{scheduled-agents-RQK4BPT2.js → scheduled-agents-JTZRNW3A.js} +11 -11
  183. package/dist/{schema-QJTFENBO.js → schema-QDPSENLP.js} +4 -4
  184. package/dist/{search-YSAEEGCP.js → search-SBUFRY7J.js} +2 -2
  185. package/dist/{select-JTMHIOCK.js → select-C3SZQNLH.js} +11 -11
  186. package/dist/{set-prompt-AYTAXQNG.js → set-prompt-KMFZ4HLL.js} +10 -10
  187. package/dist/{setup-links-2OS7DUFY.js → setup-links-BXY52BJD.js} +3 -3
  188. package/dist/{site-6ZTWH3L7.js → site-O336JD7M.js} +4 -4
  189. package/dist/{sources-WE7LZYAY.js → sources-LXSYFM6A.js} +6 -6
  190. package/dist/{sources-264IPVML.js → sources-T767Z2IU.js} +6 -6
  191. package/dist/{stale-GT7XCMZT.js → stale-MCNZSWAL.js} +10 -10
  192. package/dist/{status-64NDHEY5.js → status-PHNKLSD4.js} +3 -3
  193. package/dist/{studio-45PDCQJ4.js → studio-4MF6B456.js} +4 -4
  194. package/dist/{sync-Z22ZU6GK.js → sync-XTC2TG4V.js} +2 -2
  195. package/dist/{sync-definition-52T5D2JA.js → sync-definition-U2DX2YKV.js} +13 -13
  196. package/dist/{tags-MEBR6WOT.js → tags-4ZE5Q74O.js} +4 -4
  197. package/dist/{tags-QETD7MVS.js → tags-O2CVMDP4.js} +3 -3
  198. package/dist/{tags-M4XMZOB6.js → tags-OEXBEHWL.js} +2 -2
  199. package/dist/{tags-6B6UVIIG.js → tags-QHX5U423.js} +3 -3
  200. package/dist/{tags-CFUAM5BJ.js → tags-QI32EATD.js} +3 -3
  201. package/dist/{targeting-criteria-XK23GFQR.js → targeting-criteria-A43TXA26.js} +3 -3
  202. package/dist/{targets-UWAUCHT4.js → targets-CYH5G5ZV.js} +3 -3
  203. package/dist/{templates-CY4HGEQO.js → templates-EE2EQRPG.js} +3 -3
  204. package/dist/{testimonials-2FM4P4K4.js → testimonials-Z24BULND.js} +6 -6
  205. package/dist/{top-companies-BB3P4J42.js → top-companies-P3PESD2C.js} +3 -3
  206. package/dist/{translate-GAZLCGHQ.js → translate-4S2LROLA.js} +15 -15
  207. package/dist/{triggers-MVN4DDAP.js → triggers-HTD2I7WJ.js} +3 -3
  208. package/dist/{unlink-W7XUMZ6U.js → unlink-IWSH6AGV.js} +3 -3
  209. package/dist/{unstage-N2W43SYF.js → unstage-NFAWVGGQ.js} +3 -3
  210. package/dist/{update-XPBVSOEY.js → update-3TZLBJOJ.js} +2 -2
  211. package/dist/{update-G4ZEF73I.js → update-6X5TNW3C.js} +3 -3
  212. package/dist/{update-WI5HY3DX.js → update-AT4SBI3M.js} +3 -3
  213. package/dist/{update-RXLB53IV.js → update-ZODXMV47.js} +3 -3
  214. package/dist/{upload-PGELUEHC.js → upload-O4IIQN4T.js} +3 -3
  215. package/dist/{url-params-E4F4L7IO.js → url-params-DB2BGEUG.js} +3 -3
  216. package/dist/{validate-KG2RSGAR.js → validate-YZRSWDNH.js} +11 -11
  217. package/dist/{videos-HE4SPXEF.js → videos-5ZPIMGV6.js} +5 -5
  218. package/dist/{viewer-check-MPIBLHFL.js → viewer-check-GL2UNAGR.js} +4 -4
  219. package/dist/{web-TIOL6BFU.js → web-7KA2QNC7.js} +3 -3
  220. package/dist/{winning-ads-LBP23L5Q.js → winning-ads-D3AX4DAT.js} +3 -3
  221. package/dist/{write-commands-GQSRA2BA.js → write-commands-V2OGSIUR.js} +4 -4
  222. package/dist/{x-HMLUAACA.js → x-3HM2BET2.js} +6 -6
  223. package/package.json +1 -1
  224. package/dist/chunk-47SKT3VY.js.map +0 -1
  225. package/dist/chunk-CHSNHVYF.js.map +0 -1
  226. package/dist/chunk-O7J4OAC7.js.map +0 -1
  227. package/dist/chunk-Y47Y7OB4.js.map +0 -1
  228. package/dist/generate-N3ATPP3Y.js.map +0 -1
  229. package/dist/library-SAHHHIX6.js.map +0 -1
  230. /package/dist/{account-DJN7KX36.js.map → account-D3OCYORF.js.map} +0 -0
  231. /package/dist/{accounts-PFBK6KT3.js.map → accounts-5ZMGCGNN.js.map} +0 -0
  232. /package/dist/{accounts-UTABLCS6.js.map → accounts-ITY2DQPE.js.map} +0 -0
  233. /package/dist/{actions-HYDPRUMY.js.map → actions-UO3RTZ6D.js.map} +0 -0
  234. /package/dist/{activecampaign-DEFGV2GB.js.map → activecampaign-362WUJYO.js.map} +0 -0
  235. /package/dist/{add-TM7AYRYC.js.map → add-CHEKJWPI.js.map} +0 -0
  236. /package/dist/{add-XFCKOO6B.js.map → add-GYUYYZCG.js.map} +0 -0
  237. /package/dist/{ads-Q3373W6W.js.map → ads-TBAO5WR7.js.map} +0 -0
  238. /package/dist/{advertisers-CDKZPAWV.js.map → advertisers-7GS36VBV.js.map} +0 -0
  239. /package/dist/{analytics-TAEPXJUM.js.map → analytics-MY7ZYOG3.js.map} +0 -0
  240. /package/dist/{analytics-G7CFO4FR.js.map → analytics-N67Z3HV7.js.map} +0 -0
  241. /package/dist/{animate-ETEHY5A3.js.map → animate-NVEQOLHK.js.map} +0 -0
  242. /package/dist/{assign-KDOJOTHO.js.map → assign-LBZCMDXT.js.map} +0 -0
  243. /package/dist/{audience-size-HHCWV6W5.js.map → audience-size-WRC5QIWK.js.map} +0 -0
  244. /package/dist/{audit-F3WN3SMC.js.map → audit-IQYXOLJH.js.map} +0 -0
  245. /package/dist/{autocomplete-VWIZFXEE.js.map → autocomplete-KAP5BNVI.js.map} +0 -0
  246. /package/dist/{avatars-ATZB2WU3.js.map → avatars-2A3KPBFH.js.map} +0 -0
  247. /package/dist/{bid-pricing-T26VH53W.js.map → bid-pricing-CRVFXAKV.js.map} +0 -0
  248. /package/dist/{brand-VTAWDOYF.js.map → brand-7H3K3BLZ.js.map} +0 -0
  249. /package/dist/{brief-6QNLMGJN.js.map → brief-ETWEZM7X.js.map} +0 -0
  250. /package/dist/{campaign-groups-BCXTDDVS.js.map → campaign-groups-UB26PTXQ.js.map} +0 -0
  251. /package/dist/{campaign-writes-R2PAOLKC.js.map → campaign-writes-EJ2HQLJW.js.map} +0 -0
  252. /package/dist/{campaigns-FLRLFDTU.js.map → campaigns-CR5TRY7D.js.map} +0 -0
  253. /package/dist/{campaigns-TSIN7ZKI.js.map → campaigns-LWGKR2NJ.js.map} +0 -0
  254. /package/dist/{canvas-CFOSESUM.js.map → canvas-YC3IWYPU.js.map} +0 -0
  255. /package/dist/{capabilities-MLO5VN6N.js.map → capabilities-H2EZXTDX.js.map} +0 -0
  256. /package/dist/{catalog-I5CGBNDV.js.map → catalog-YY33VIDD.js.map} +0 -0
  257. /package/dist/{chats-ZLTD4S7R.js.map → chats-WQIRRTTU.js.map} +0 -0
  258. /package/dist/{chunk-BMD3HCSI.js.map → chunk-252QB4IX.js.map} +0 -0
  259. /package/dist/{chunk-JOZO5KBH.js.map → chunk-3RS4M7AR.js.map} +0 -0
  260. /package/dist/{chunk-GQPGUJZ2.js.map → chunk-3UA4THEF.js.map} +0 -0
  261. /package/dist/{chunk-F23O67JZ.js.map → chunk-43GJLQAF.js.map} +0 -0
  262. /package/dist/{chunk-RCTVJ4IA.js.map → chunk-4LI4OHWW.js.map} +0 -0
  263. /package/dist/{chunk-LXLRKZVM.js.map → chunk-4OVGMUHX.js.map} +0 -0
  264. /package/dist/{chunk-FNMU3CQB.js.map → chunk-4PBDLDB4.js.map} +0 -0
  265. /package/dist/{chunk-QYNBYV75.js.map → chunk-4X4CV6BI.js.map} +0 -0
  266. /package/dist/{chunk-QFEZKCQL.js.map → chunk-52JI7M2P.js.map} +0 -0
  267. /package/dist/{chunk-QOOMJJLC.js.map → chunk-6DV7P2DK.js.map} +0 -0
  268. /package/dist/{chunk-5Y7IXX43.js.map → chunk-6WVRYQ4R.js.map} +0 -0
  269. /package/dist/{chunk-WHR7GC6P.js.map → chunk-ASY5262R.js.map} +0 -0
  270. /package/dist/{chunk-XL5GRMEJ.js.map → chunk-ASYPIRJR.js.map} +0 -0
  271. /package/dist/{chunk-ILOCP6HB.js.map → chunk-BKE32DQB.js.map} +0 -0
  272. /package/dist/{chunk-3J3C6OMU.js.map → chunk-D7KNUZ6Z.js.map} +0 -0
  273. /package/dist/{chunk-GFX3BZRA.js.map → chunk-EGES6I6D.js.map} +0 -0
  274. /package/dist/{chunk-3BXQSDMJ.js.map → chunk-EOW25KDV.js.map} +0 -0
  275. /package/dist/{chunk-EU7SLORY.js.map → chunk-FHY3BM2O.js.map} +0 -0
  276. /package/dist/{chunk-EQER3KJU.js.map → chunk-FPN4QB5W.js.map} +0 -0
  277. /package/dist/{chunk-QULVXMJM.js.map → chunk-FR24ODHM.js.map} +0 -0
  278. /package/dist/{chunk-EMR7CW5V.js.map → chunk-IMH2ZKKC.js.map} +0 -0
  279. /package/dist/{chunk-ARFUXR65.js.map → chunk-KLXZZZA3.js.map} +0 -0
  280. /package/dist/{chunk-WLWHXKRK.js.map → chunk-LK64CCN4.js.map} +0 -0
  281. /package/dist/{chunk-7PTOGEUN.js.map → chunk-LPQYVWSA.js.map} +0 -0
  282. /package/dist/{chunk-DZ36ZVP2.js.map → chunk-LUILGJCT.js.map} +0 -0
  283. /package/dist/{chunk-UCVUZD4S.js.map → chunk-MZQBL7QU.js.map} +0 -0
  284. /package/dist/{chunk-HCRY2ECL.js.map → chunk-NQOOLYFJ.js.map} +0 -0
  285. /package/dist/{chunk-EZTEYFBZ.js.map → chunk-NRVZPS3O.js.map} +0 -0
  286. /package/dist/{chunk-LUONQGPX.js.map → chunk-OI4ZWKTZ.js.map} +0 -0
  287. /package/dist/{chunk-6USNEQZT.js.map → chunk-OQS4VZRC.js.map} +0 -0
  288. /package/dist/{chunk-D5JEKHBY.js.map → chunk-PTKJEIUM.js.map} +0 -0
  289. /package/dist/{chunk-YHTADMBF.js.map → chunk-QJFSKQGS.js.map} +0 -0
  290. /package/dist/{chunk-DF34WJES.js.map → chunk-QURG57PA.js.map} +0 -0
  291. /package/dist/{chunk-FAB3BWE2.js.map → chunk-SFPYLQEY.js.map} +0 -0
  292. /package/dist/{chunk-3YOS7IS2.js.map → chunk-TMAZYRCW.js.map} +0 -0
  293. /package/dist/{chunk-HQSCJYZO.js.map → chunk-U6RTBCU7.js.map} +0 -0
  294. /package/dist/{chunk-X34CSP2W.js.map → chunk-VTK2W2NI.js.map} +0 -0
  295. /package/dist/{chunk-YRERFQ7Z.js.map → chunk-WAXJ26ML.js.map} +0 -0
  296. /package/dist/{chunk-WNRWGIJO.js.map → chunk-X3NL6GH5.js.map} +0 -0
  297. /package/dist/{chunk-FTFP52EN.js.map → chunk-XMNESC76.js.map} +0 -0
  298. /package/dist/{claim-FPMBDKVA.js.map → claim-IHGLDFND.js.map} +0 -0
  299. /package/dist/{companies-YIKSECXA.js.map → companies-XSRRXZOU.js.map} +0 -0
  300. /package/dist/{complete-BQZ4ET2H.js.map → complete-VBPGVOLO.js.map} +0 -0
  301. /package/dist/{connect-QTRDC3FE.js.map → connect-BFZPJLUP.js.map} +0 -0
  302. /package/dist/{conversation-O3Z7GGNO.js.map → conversation-LWUBJ4RX.js.map} +0 -0
  303. /package/dist/{conversions-J3QJ54OL.js.map → conversions-VYMJBIIN.js.map} +0 -0
  304. /package/dist/{create-VU2O4KVT.js.map → create-2V5LUZC4.js.map} +0 -0
  305. /package/dist/{create-QDCSIU77.js.map → create-6L7F52NE.js.map} +0 -0
  306. /package/dist/{create-7WTHFLAM.js.map → create-HBY55E3S.js.map} +0 -0
  307. /package/dist/{create-UAYJRFWI.js.map → create-ZWG3FKF7.js.map} +0 -0
  308. /package/dist/{creatives-4ZAQ4O2Y.js.map → creatives-D5AXPGZW.js.map} +0 -0
  309. /package/dist/{creatives-FEUNFI3U.js.map → creatives-RG2BNBKY.js.map} +0 -0
  310. /package/dist/{credentials-AGVQYHHU.js.map → credentials-VWEWWRSL.js.map} +0 -0
  311. /package/dist/{critique-QNWUTSWL.js.map → critique-PRL3S6M4.js.map} +0 -0
  312. /package/dist/{critique-I5MZFSAL.js.map → critique-XIWM7ADA.js.map} +0 -0
  313. /package/dist/{crm-GQZGRNZ2.js.map → crm-7B27KSDY.js.map} +0 -0
  314. /package/dist/{crm-D7PDFSFN.js.map → crm-W2TCJH7N.js.map} +0 -0
  315. /package/dist/{customers-KXS2O4GP.js.map → customers-WICE4TQA.js.map} +0 -0
  316. /package/dist/{delete-T6SU733E.js.map → delete-6V7K4CSE.js.map} +0 -0
  317. /package/dist/{delete-2DTRGE7P.js.map → delete-I4JQAL7J.js.map} +0 -0
  318. /package/dist/{delete-3INLUVVV.js.map → delete-VVEZZVAI.js.map} +0 -0
  319. /package/dist/{demographics-UXTNRK4V.js.map → demographics-JGS55Y7Y.js.map} +0 -0
  320. /package/dist/{discard-5IHM6IYO.js.map → discard-3QHT5ZDD.js.map} +0 -0
  321. /package/dist/{domain-JLASSEZ2.js.map → domain-6TOMLPGX.js.map} +0 -0
  322. /package/dist/{draft-FS46CIAI.js.map → draft-55OEMU6B.js.map} +0 -0
  323. /package/dist/{draft-ISOKIM5D.js.map → draft-57MPCPEH.js.map} +0 -0
  324. /package/dist/{draft-GITTIXNR.js.map → draft-FVKAFQNQ.js.map} +0 -0
  325. /package/dist/{facets-OFPMNKXE.js.map → facets-CIZBB2J7.js.map} +0 -0
  326. /package/dist/{feedback-5BAK33K7.js.map → feedback-RNDJAENF.js.map} +0 -0
  327. /package/dist/{feedback-record-GUT7HL45.js.map → feedback-record-BEZ2KYXA.js.map} +0 -0
  328. /package/dist/{fetch-RZOERLD7.js.map → fetch-QVWVK7SG.js.map} +0 -0
  329. /package/dist/{fit-MAFRXGXG.js.map → fit-VKSQTJ3Q.js.map} +0 -0
  330. /package/dist/{flows-S3LP4EZX.js.map → flows-53GZXC7T.js.map} +0 -0
  331. /package/dist/{fonts-V74DIISZ.js.map → fonts-C7VQNBBP.js.map} +0 -0
  332. /package/dist/{forecast-WHRUXF4R.js.map → forecast-PXNKDHES.js.map} +0 -0
  333. /package/dist/{funnel-K5BGG37Q.js.map → funnel-2QCXVOU7.js.map} +0 -0
  334. /package/dist/{get-U3AAESRY.js.map → get-4A4C6RHU.js.map} +0 -0
  335. /package/dist/{get-IRJ5GTM4.js.map → get-H47P4JUE.js.map} +0 -0
  336. /package/dist/{google-ads-R6M35N5M.js.map → google-ads-KKUGTGIE.js.map} +0 -0
  337. /package/dist/{history-AYFOLWXX.js.map → history-3NJPE4FV.js.map} +0 -0
  338. /package/dist/{hubspot-DNRSCVUV.js.map → hubspot-OEA4JX4G.js.map} +0 -0
  339. /package/dist/{ideas-UJ3FHOVI.js.map → ideas-S6CG2PMB.js.map} +0 -0
  340. /package/dist/{images-P6M2DCR4.js.map → images-GG5KXJDW.js.map} +0 -0
  341. /package/dist/{ingest-GF6T4PVD.js.map → ingest-FOUH66RD.js.map} +0 -0
  342. /package/dist/{ingest-IU2CP2XA.js.map → ingest-S7JZJGDE.js.map} +0 -0
  343. /package/dist/{inspect-PUCON7KJ.js.map → inspect-ZQCBXJ2N.js.map} +0 -0
  344. /package/dist/{keyword-metrics-DRHUF4IR.js.map → keyword-metrics-QLK6EDBC.js.map} +0 -0
  345. /package/dist/{keywords-for-site-JXUPFSOC.js.map → keywords-for-site-OY4PKLUE.js.map} +0 -0
  346. /package/dist/{landing-C5OTTI2X.js.map → landing-E6NCXH7K.js.map} +0 -0
  347. /package/dist/{leads-LKDTIIMP.js.map → leads-D3AHO7XQ.js.map} +0 -0
  348. /package/dist/{learn-2YYQQZVD.js.map → learn-LXWL52AQ.js.map} +0 -0
  349. /package/dist/{line-item-writes-ULQ2KDZM.js.map → line-item-writes-A7QUYWXJ.js.map} +0 -0
  350. /package/dist/{line-items-JDJ6A2EV.js.map → line-items-ROLXCQKP.js.map} +0 -0
  351. /package/dist/{link-MVMC2WS2.js.map → link-SZHHMUSM.js.map} +0 -0
  352. /package/dist/{linkedin-UG4PNBW5.js.map → linkedin-HHUZVDUW.js.map} +0 -0
  353. /package/dist/{list-PVJVSFZD.js.map → list-C3FIA2PV.js.map} +0 -0
  354. /package/dist/{list-DZ42AKGO.js.map → list-W4IOLXD7.js.map} +0 -0
  355. /package/dist/{list-PEDFWQUB.js.map → list-YHBWJUAT.js.map} +0 -0
  356. /package/dist/{log-P7WUFBOZ.js.map → log-LKKBBA3T.js.map} +0 -0
  357. /package/dist/{make-CGZTSI6C.js.map → make-W2ZM7JOW.js.map} +0 -0
  358. /package/dist/{map-4AJCYUYF.js.map → map-XFG7GC2F.js.map} +0 -0
  359. /package/dist/{mcp-AEZUPY2M.js.map → mcp-OCJWQY3K.js.map} +0 -0
  360. /package/dist/{media-sources-IIF4ABAZ.js.map → media-sources-Q6SEZONH.js.map} +0 -0
  361. /package/dist/{members-WQ6L735T.js.map → members-KFWXT3UL.js.map} +0 -0
  362. /package/dist/{models-SO7GOVCK.js.map → models-IUO3XGQK.js.map} +0 -0
  363. /package/dist/{normalize-INJILBTT.js.map → normalize-IPSLN5OI.js.map} +0 -0
  364. /package/dist/{options-ERPX5BZM.js.map → options-6INS2L6V.js.map} +0 -0
  365. /package/dist/{performance-DPBVNT4D.js.map → performance-2Q76Z2TS.js.map} +0 -0
  366. /package/dist/{promoted-tweet-writes-FRW3AGJU.js.map → promoted-tweet-writes-7XXZXA6H.js.map} +0 -0
  367. /package/dist/{promoted-tweets-LTOPCZIG.js.map → promoted-tweets-3UUR7NDI.js.map} +0 -0
  368. /package/dist/{publish-K6OWATMQ.js.map → publish-D5NOM6XU.js.map} +0 -0
  369. /package/dist/{reddit-IZLODVTB.js.map → reddit-CDMIQNIS.js.map} +0 -0
  370. /package/dist/{refresh-KSG7E3QU.js.map → refresh-2T43VGWP.js.map} +0 -0
  371. /package/dist/{release-OBXNPTMC.js.map → release-IC5WPJ7A.js.map} +0 -0
  372. /package/dist/{remove-LL32BJPN.js.map → remove-PMD6XM6M.js.map} +0 -0
  373. /package/dist/{reopen-4CPZ7CP2.js.map → reopen-2BGJIIBT.js.map} +0 -0
  374. /package/dist/{rerun-LGXKLJHN.js.map → rerun-UDK6N3RG.js.map} +0 -0
  375. /package/dist/{research-SJYICZEZ.js.map → research-AFW7CGBX.js.map} +0 -0
  376. /package/dist/{research-WZJE46GK.js.map → research-T5AXRA4Z.js.map} +0 -0
  377. /package/dist/{reset-J2NSJF6Q.js.map → reset-BMQDCLA7.js.map} +0 -0
  378. /package/dist/{reset-BYS25T56.js.map → reset-GSO3GBVX.js.map} +0 -0
  379. /package/dist/{resolve-FWVAXHJQ.js.map → resolve-7Y2K3WUO.js.map} +0 -0
  380. /package/dist/{retry-YWAF66KC.js.map → retry-D2W47BZJ.js.map} +0 -0
  381. /package/dist/{retry-JNBCYB66.js.map → retry-FDDNHU7P.js.map} +0 -0
  382. /package/dist/{run-IHPSZKTX.js.map → run-DY2WPKLE.js.map} +0 -0
  383. /package/dist/{run-YZSH2WZV.js.map → run-LEYU3OEI.js.map} +0 -0
  384. /package/dist/{scaffold-ad-F5Z2MTD5.js.map → scaffold-ad-FBMO4GSP.js.map} +0 -0
  385. /package/dist/{scaffold-static-ad-ZUEY2IHH.js.map → scaffold-static-ad-XYOBNNUN.js.map} +0 -0
  386. /package/dist/{scaffold-video-KWFZMDHK.js.map → scaffold-video-TRP2DWVE.js.map} +0 -0
  387. /package/dist/{schedule-B6CYYTTB.js.map → schedule-VKSWHXQV.js.map} +0 -0
  388. /package/dist/{scheduled-agents-RQK4BPT2.js.map → scheduled-agents-JTZRNW3A.js.map} +0 -0
  389. /package/dist/{schema-QJTFENBO.js.map → schema-QDPSENLP.js.map} +0 -0
  390. /package/dist/{search-YSAEEGCP.js.map → search-SBUFRY7J.js.map} +0 -0
  391. /package/dist/{select-JTMHIOCK.js.map → select-C3SZQNLH.js.map} +0 -0
  392. /package/dist/{set-prompt-AYTAXQNG.js.map → set-prompt-KMFZ4HLL.js.map} +0 -0
  393. /package/dist/{setup-links-2OS7DUFY.js.map → setup-links-BXY52BJD.js.map} +0 -0
  394. /package/dist/{site-6ZTWH3L7.js.map → site-O336JD7M.js.map} +0 -0
  395. /package/dist/{sources-WE7LZYAY.js.map → sources-LXSYFM6A.js.map} +0 -0
  396. /package/dist/{sources-264IPVML.js.map → sources-T767Z2IU.js.map} +0 -0
  397. /package/dist/{stale-GT7XCMZT.js.map → stale-MCNZSWAL.js.map} +0 -0
  398. /package/dist/{status-64NDHEY5.js.map → status-PHNKLSD4.js.map} +0 -0
  399. /package/dist/{studio-45PDCQJ4.js.map → studio-4MF6B456.js.map} +0 -0
  400. /package/dist/{sync-Z22ZU6GK.js.map → sync-XTC2TG4V.js.map} +0 -0
  401. /package/dist/{sync-definition-52T5D2JA.js.map → sync-definition-U2DX2YKV.js.map} +0 -0
  402. /package/dist/{tags-MEBR6WOT.js.map → tags-4ZE5Q74O.js.map} +0 -0
  403. /package/dist/{tags-QETD7MVS.js.map → tags-O2CVMDP4.js.map} +0 -0
  404. /package/dist/{tags-M4XMZOB6.js.map → tags-OEXBEHWL.js.map} +0 -0
  405. /package/dist/{tags-6B6UVIIG.js.map → tags-QHX5U423.js.map} +0 -0
  406. /package/dist/{tags-CFUAM5BJ.js.map → tags-QI32EATD.js.map} +0 -0
  407. /package/dist/{targeting-criteria-XK23GFQR.js.map → targeting-criteria-A43TXA26.js.map} +0 -0
  408. /package/dist/{targets-UWAUCHT4.js.map → targets-CYH5G5ZV.js.map} +0 -0
  409. /package/dist/{templates-CY4HGEQO.js.map → templates-EE2EQRPG.js.map} +0 -0
  410. /package/dist/{testimonials-2FM4P4K4.js.map → testimonials-Z24BULND.js.map} +0 -0
  411. /package/dist/{top-companies-BB3P4J42.js.map → top-companies-P3PESD2C.js.map} +0 -0
  412. /package/dist/{translate-GAZLCGHQ.js.map → translate-4S2LROLA.js.map} +0 -0
  413. /package/dist/{triggers-MVN4DDAP.js.map → triggers-HTD2I7WJ.js.map} +0 -0
  414. /package/dist/{unlink-W7XUMZ6U.js.map → unlink-IWSH6AGV.js.map} +0 -0
  415. /package/dist/{unstage-N2W43SYF.js.map → unstage-NFAWVGGQ.js.map} +0 -0
  416. /package/dist/{update-XPBVSOEY.js.map → update-3TZLBJOJ.js.map} +0 -0
  417. /package/dist/{update-G4ZEF73I.js.map → update-6X5TNW3C.js.map} +0 -0
  418. /package/dist/{update-WI5HY3DX.js.map → update-AT4SBI3M.js.map} +0 -0
  419. /package/dist/{update-RXLB53IV.js.map → update-ZODXMV47.js.map} +0 -0
  420. /package/dist/{upload-PGELUEHC.js.map → upload-O4IIQN4T.js.map} +0 -0
  421. /package/dist/{url-params-E4F4L7IO.js.map → url-params-DB2BGEUG.js.map} +0 -0
  422. /package/dist/{validate-KG2RSGAR.js.map → validate-YZRSWDNH.js.map} +0 -0
  423. /package/dist/{videos-HE4SPXEF.js.map → videos-5ZPIMGV6.js.map} +0 -0
  424. /package/dist/{viewer-check-MPIBLHFL.js.map → viewer-check-GL2UNAGR.js.map} +0 -0
  425. /package/dist/{web-TIOL6BFU.js.map → web-7KA2QNC7.js.map} +0 -0
  426. /package/dist/{winning-ads-LBP23L5Q.js.map → winning-ads-D3AX4DAT.js.map} +0 -0
  427. /package/dist/{write-commands-GQSRA2BA.js.map → write-commands-V2OGSIUR.js.map} +0 -0
  428. /package/dist/{x-HMLUAACA.js.map → x-3HM2BET2.js.map} +0 -0
@@ -15,11 +15,11 @@ import {
15
15
  } from "./chunk-JQUPL6IQ.js";
16
16
  import {
17
17
  readAdSpec
18
- } from "./chunk-3J3C6OMU.js";
18
+ } from "./chunk-D7KNUZ6Z.js";
19
19
  import {
20
20
  VIEWER_CHECK_MODEL,
21
21
  canonicalize
22
- } from "./chunk-CHSNHVYF.js";
22
+ } from "./chunk-2XQ5HU6D.js";
23
23
  import {
24
24
  askAboutText
25
25
  } from "./chunk-X3PVW3RM.js";
@@ -814,4 +814,4 @@ export {
814
814
  viewerCheckBeforeRender,
815
815
  viewerCheckCommand
816
816
  };
817
- //# sourceMappingURL=chunk-JOZO5KBH.js.map
817
+ //# sourceMappingURL=chunk-3RS4M7AR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MODEL_REGISTRY,
3
3
  isRegisteredModel
4
- } from "./chunk-CHSNHVYF.js";
4
+ } from "./chunk-2XQ5HU6D.js";
5
5
 
6
6
  // src/commands/canvas/scaffold-common.ts
7
7
  import { access, readFile } from "fs/promises";
@@ -73,4 +73,4 @@ export {
73
73
  fail,
74
74
  fileExists
75
75
  };
76
- //# sourceMappingURL=chunk-GQPGUJZ2.js.map
76
+ //# sourceMappingURL=chunk-3UA4THEF.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  handleLinkedinError,
3
3
  resolveAccountIdArg
4
- } from "./chunk-3YOS7IS2.js";
4
+ } from "./chunk-TMAZYRCW.js";
5
5
  import {
6
6
  adCopyHints,
7
7
  booleanWordPositionalError,
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  LINKEDIN_DRAFT_BATCH_MAX,
18
18
  linkedinDraftOpInputSchema
19
- } from "./chunk-XABVEMC3.js";
19
+ } from "./chunk-RF5X37JC.js";
20
20
  import {
21
21
  apiPost
22
22
  } from "./chunk-JLCK7K6Y.js";
@@ -343,4 +343,4 @@ export {
343
343
  requireTarget,
344
344
  requireTargets
345
345
  };
346
- //# sourceMappingURL=chunk-F23O67JZ.js.map
346
+ //# sourceMappingURL=chunk-43GJLQAF.js.map
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-6DE3EHEF.js";
24
24
  import {
25
25
  videosIngestRequestSchema
26
- } from "./chunk-XABVEMC3.js";
26
+ } from "./chunk-RF5X37JC.js";
27
27
  import {
28
28
  ApiError,
29
29
  apiPost
@@ -360,4 +360,4 @@ export {
360
360
  runVideoIngest,
361
361
  ingestHints
362
362
  };
363
- //# sourceMappingURL=chunk-RCTVJ4IA.js.map
363
+ //# sourceMappingURL=chunk-4LI4OHWW.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  failApi
3
- } from "./chunk-FAB3BWE2.js";
3
+ } from "./chunk-SFPYLQEY.js";
4
4
  import {
5
5
  HUBSPOT_MISSING_GRANT_MARKER,
6
6
  HUBSPOT_NOT_CONNECTED_MESSAGE
7
- } from "./chunk-XABVEMC3.js";
7
+ } from "./chunk-RF5X37JC.js";
8
8
  import {
9
9
  ApiError
10
10
  } from "./chunk-JLCK7K6Y.js";
@@ -48,4 +48,4 @@ export {
48
48
  hubspotRefusal,
49
49
  failNotConnected
50
50
  };
51
- //# sourceMappingURL=chunk-LXLRKZVM.js.map
51
+ //# sourceMappingURL=chunk-4OVGMUHX.js.map
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  nodeParamsPreview
3
- } from "./chunk-EMR7CW5V.js";
3
+ } from "./chunk-IMH2ZKKC.js";
4
4
  import {
5
5
  creativeSlugFromCanvasPath,
6
6
  parseDefinitionSeriesPlace,
7
7
  parseDefinitionSourceFields,
8
8
  parseDefinitionStrategyFields
9
- } from "./chunk-XL5GRMEJ.js";
9
+ } from "./chunk-ASYPIRJR.js";
10
10
  import {
11
11
  prepareCanvas
12
- } from "./chunk-Y47Y7OB4.js";
12
+ } from "./chunk-SOMG7ZYH.js";
13
13
  import {
14
14
  BackendClient
15
- } from "./chunk-THE7NP45.js";
15
+ } from "./chunk-NDITGFPZ.js";
16
16
  import {
17
17
  nodeDependencies
18
- } from "./chunk-O7J4OAC7.js";
18
+ } from "./chunk-WJOQ6IEK.js";
19
19
  import {
20
20
  requireCredentialsFromEnv
21
21
  } from "./chunk-VPBCR6DT.js";
@@ -204,4 +204,4 @@ export {
204
204
  resolveCanvasPath,
205
205
  syncDefinitionCommand
206
206
  };
207
- //# sourceMappingURL=chunk-FNMU3CQB.js.map
207
+ //# sourceMappingURL=chunk-4PBDLDB4.js.map
@@ -4,17 +4,17 @@ import {
4
4
  readSettings,
5
5
  walkNodes,
6
6
  writeFlowTree
7
- } from "./chunk-ARFUXR65.js";
7
+ } from "./chunk-KLXZZZA3.js";
8
8
  import {
9
9
  hubspotRefusal
10
- } from "./chunk-LXLRKZVM.js";
10
+ } from "./chunk-4OVGMUHX.js";
11
11
  import {
12
12
  failApi
13
- } from "./chunk-FAB3BWE2.js";
13
+ } from "./chunk-SFPYLQEY.js";
14
14
  import {
15
15
  FLOW_AGENT_DESTINATION_KINDS,
16
16
  FLOW_PROVIDER_TYPE
17
- } from "./chunk-XABVEMC3.js";
17
+ } from "./chunk-RF5X37JC.js";
18
18
  import {
19
19
  ApiError,
20
20
  apiPost
@@ -544,4 +544,4 @@ export {
544
544
  destinationRefusal,
545
545
  connectCommand
546
546
  };
547
- //# sourceMappingURL=chunk-QYNBYV75.js.map
547
+ //# sourceMappingURL=chunk-4X4CV6BI.js.map
@@ -20,7 +20,7 @@ import {
20
20
  suggestFamilies,
21
21
  unresolvedBrandFamilies,
22
22
  upsertFontFaceCss
23
- } from "./chunk-7PTOGEUN.js";
23
+ } from "./chunk-LPQYVWSA.js";
24
24
  import {
25
25
  registerSchema,
26
26
  writeJson
@@ -491,4 +491,4 @@ export {
491
491
  fontsAdoptCommand,
492
492
  fontsCommand
493
493
  };
494
- //# sourceMappingURL=chunk-QFEZKCQL.js.map
494
+ //# sourceMappingURL=chunk-52JI7M2P.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  finalOutputLabelsFromCanvas,
3
3
  parseDefinitionStrategyFields
4
- } from "./chunk-XL5GRMEJ.js";
4
+ } from "./chunk-ASYPIRJR.js";
5
5
  import {
6
6
  readRenderState
7
- } from "./chunk-EZTEYFBZ.js";
7
+ } from "./chunk-NRVZPS3O.js";
8
8
  import {
9
9
  STATIC_AD_ROLE,
10
10
  formatOfAdaptId,
@@ -12,10 +12,10 @@ import {
12
12
  isSignatureLine,
13
13
  sameTag,
14
14
  seriesMemberAd
15
- } from "./chunk-Y47Y7OB4.js";
15
+ } from "./chunk-SOMG7ZYH.js";
16
16
  import {
17
17
  fetchRunRecord
18
- } from "./chunk-DZ36ZVP2.js";
18
+ } from "./chunk-LUILGJCT.js";
19
19
  import {
20
20
  localPathParam
21
21
  } from "./chunk-JQUPL6IQ.js";
@@ -31,11 +31,11 @@ import {
31
31
  nodesWithRole,
32
32
  relaidPictureRole,
33
33
  rolesById
34
- } from "./chunk-O7J4OAC7.js";
34
+ } from "./chunk-WJOQ6IEK.js";
35
35
  import {
36
36
  isAdSpec,
37
37
  readAdSpec
38
- } from "./chunk-3J3C6OMU.js";
38
+ } from "./chunk-D7KNUZ6Z.js";
39
39
  import {
40
40
  sha256Hex,
41
41
  toModelSafeImage
@@ -506,4 +506,4 @@ export {
506
506
  writeSeriesMemberCanvas,
507
507
  seriesRunHints
508
508
  };
509
- //# sourceMappingURL=chunk-QOOMJJLC.js.map
509
+ //# sourceMappingURL=chunk-6DV7P2DK.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  leadVersion,
3
3
  writeSeriesMemberCanvas
4
- } from "./chunk-QOOMJJLC.js";
4
+ } from "./chunk-6DV7P2DK.js";
5
5
  import {
6
6
  claimNewCreativeInWorkspace,
7
7
  creativeLimitRefusal
@@ -10,7 +10,7 @@ import {
10
10
  definitionFieldsOf,
11
11
  setDefinitionFields,
12
12
  setSpecMessage
13
- } from "./chunk-X34CSP2W.js";
13
+ } from "./chunk-VTK2W2NI.js";
14
14
  import {
15
15
  IDEAS_DIR
16
16
  } from "./chunk-P4UQBJNY.js";
@@ -89,4 +89,4 @@ export {
89
89
  makeSeriesAd,
90
90
  seriesMadeEnvelope
91
91
  };
92
- //# sourceMappingURL=chunk-5Y7IXX43.js.map
92
+ //# sourceMappingURL=chunk-6WVRYQ4R.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  findSubreddits,
3
3
  searchReddit
4
- } from "./chunk-HCRY2ECL.js";
4
+ } from "./chunk-NQOOLYFJ.js";
5
5
  import {
6
6
  holdUnbilledSpend
7
7
  } from "./chunk-KMMVQ2MR.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-JQUPL6IQ.js";
11
11
  import {
12
12
  CUSTOMER_INSIGHTS_MODEL
13
- } from "./chunk-CHSNHVYF.js";
13
+ } from "./chunk-2XQ5HU6D.js";
14
14
  import {
15
15
  askAboutText
16
16
  } from "./chunk-X3PVW3RM.js";
@@ -589,4 +589,4 @@ export {
589
589
  researchCustomers,
590
590
  customersCommand
591
591
  };
592
- //# sourceMappingURL=chunk-WHR7GC6P.js.map
592
+ //# sourceMappingURL=chunk-ASY5262R.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  languageTag
3
- } from "./chunk-Y47Y7OB4.js";
3
+ } from "./chunk-SOMG7ZYH.js";
4
4
  import {
5
5
  parseRefExpr
6
- } from "./chunk-O7J4OAC7.js";
6
+ } from "./chunk-WJOQ6IEK.js";
7
7
  import {
8
8
  AWARENESS_VALUES
9
9
  } from "./chunk-5HYSKH77.js";
@@ -301,4 +301,4 @@ export {
301
301
  buildInitialRunRecord,
302
302
  buildFailedRunRecord
303
303
  };
304
- //# sourceMappingURL=chunk-XL5GRMEJ.js.map
304
+ //# sourceMappingURL=chunk-ASYPIRJR.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  loadCompositionMeta
3
- } from "./chunk-THE7NP45.js";
3
+ } from "./chunk-NDITGFPZ.js";
4
4
  import {
5
5
  parseRefExpr
6
- } from "./chunk-O7J4OAC7.js";
6
+ } from "./chunk-WJOQ6IEK.js";
7
7
  import {
8
8
  resolveAdaptFormats
9
- } from "./chunk-CHSNHVYF.js";
9
+ } from "./chunk-2XQ5HU6D.js";
10
10
 
11
11
  // src/commands/canvas/output-ratio.ts
12
12
  import { readFile } from "fs/promises";
@@ -93,4 +93,4 @@ async function outputRatioWarningsFor(canvas, canvasPath) {
93
93
  export {
94
94
  outputRatioWarningsFor
95
95
  };
96
- //# sourceMappingURL=chunk-ILOCP6HB.js.map
96
+ //# sourceMappingURL=chunk-BKE32DQB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  REFERENCE_SHEET_MODEL
3
- } from "./chunk-CHSNHVYF.js";
3
+ } from "./chunk-2XQ5HU6D.js";
4
4
  import {
5
5
  askJev
6
6
  } from "./chunk-3YNHIJCI.js";
@@ -1827,4 +1827,4 @@ export {
1827
1827
  adSpecFromBlueprint,
1828
1828
  adSpecJsonSchema
1829
1829
  };
1830
- //# sourceMappingURL=chunk-3J3C6OMU.js.map
1830
+ //# sourceMappingURL=chunk-D7KNUZ6Z.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RESEARCH_GOOGLE_ADS_MAX_COPY
3
- } from "./chunk-XABVEMC3.js";
3
+ } from "./chunk-RF5X37JC.js";
4
4
 
5
5
  // src/commands/research/hints.ts
6
6
  var AD_COPY_ROUTE = 'This returns competing domains and their SERP economics \u2014 no ad copy, no headlines, no creative. For a competitor\'s Google ads and their copy: `baker research google-ads <competitor.com> --copy` (Google\'s Ads Transparency Center: every ad, how long it has run, and the text ads\' headline and description). For Meta and LinkedIn: `baker winning-ads advertisers "<brand>"` \u2192 `baker winning-ads search "<brief>" --advertiser-id <id>` \u2192 `baker winning-ads content <adId>` (`primary_text` / `headline` / `cta`, plus the spoken transcript and on-screen text for video). Do not keep querying this command for copy.';
@@ -203,4 +203,4 @@ export {
203
203
  redditPageFix,
204
204
  googleAdsHints
205
205
  };
206
- //# sourceMappingURL=chunk-GFX3BZRA.js.map
206
+ //# sourceMappingURL=chunk-EGES6I6D.js.map
@@ -13,7 +13,7 @@ import {
13
13
  MAX_EVENT_NAME,
14
14
  REJECTION_CODES,
15
15
  STANDARD_EVENT_NAMES
16
- } from "./chunk-XABVEMC3.js";
16
+ } from "./chunk-RF5X37JC.js";
17
17
 
18
18
  // ../api/src/event-ingest/arrivals.ts
19
19
  import { z } from "zod";
@@ -430,4 +430,4 @@ export {
430
430
  eventIngestUrl,
431
431
  ingestBrief
432
432
  };
433
- //# sourceMappingURL=chunk-3BXQSDMJ.js.map
433
+ //# sourceMappingURL=chunk-EOW25KDV.js.map
@@ -9,7 +9,7 @@ import {
9
9
  IMAGE_GENERATE_MODELS,
10
10
  MODEL_REGISTRY,
11
11
  VIDEO_GENERATE_MODELS
12
- } from "./chunk-CHSNHVYF.js";
12
+ } from "./chunk-2XQ5HU6D.js";
13
13
  import {
14
14
  ApiError,
15
15
  apiPost
@@ -95,4 +95,4 @@ export {
95
95
  CLIP_PERSON_GENERATION,
96
96
  resolveLibraryImageIds
97
97
  };
98
- //# sourceMappingURL=chunk-EU7SLORY.js.map
98
+ //# sourceMappingURL=chunk-FHY3BM2O.js.map
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  X_DRAFT_BATCH_MAX,
13
13
  xDraftOpInputSchema
14
- } from "./chunk-XABVEMC3.js";
14
+ } from "./chunk-RF5X37JC.js";
15
15
  import {
16
16
  ApiError,
17
17
  apiPost
@@ -166,4 +166,4 @@ export {
166
166
  requireTarget,
167
167
  requireTargets
168
168
  };
169
- //# sourceMappingURL=chunk-EQER3KJU.js.map
169
+ //# sourceMappingURL=chunk-FPN4QB5W.js.map
@@ -2,7 +2,7 @@ import {
2
2
  SITE_COLLECTION_MODES,
3
3
  SITE_CONSENT_MODES,
4
4
  SITE_HOME_MODES
5
- } from "./chunk-XABVEMC3.js";
5
+ } from "./chunk-RF5X37JC.js";
6
6
  import {
7
7
  ApiError
8
8
  } from "./chunk-JLCK7K6Y.js";
@@ -100,4 +100,4 @@ export {
100
100
  parseSetArgs,
101
101
  failSite
102
102
  };
103
- //# sourceMappingURL=chunk-QULVXMJM.js.map
103
+ //# sourceMappingURL=chunk-FR24ODHM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  REF_PREFIX
3
- } from "./chunk-O7J4OAC7.js";
3
+ } from "./chunk-WJOQ6IEK.js";
4
4
 
5
5
  // src/commands/canvas/node-preview.ts
6
6
  var MAX_PARAMS_PREVIEW_LENGTH = 4e3;
@@ -57,4 +57,4 @@ ${body}` : header || body || compactJson(record);
57
57
  export {
58
58
  nodeParamsPreview
59
59
  };
60
- //# sourceMappingURL=chunk-EMR7CW5V.js.map
60
+ //# sourceMappingURL=chunk-IMH2ZKKC.js.map
@@ -6,7 +6,7 @@ import {
6
6
  FLOW_SECRET_FIELDS,
7
7
  flowCatalogEntry,
8
8
  isFlowOauthSideEffect
9
- } from "./chunk-XABVEMC3.js";
9
+ } from "./chunk-RF5X37JC.js";
10
10
  import {
11
11
  apiPost
12
12
  } from "./chunk-JLCK7K6Y.js";
@@ -272,4 +272,4 @@ export {
272
272
  isUsableStepNameKey,
273
273
  readSettings
274
274
  };
275
- //# sourceMappingURL=chunk-ARFUXR65.js.map
275
+ //# sourceMappingURL=chunk-KLXZZZA3.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-X3PVW3RM.js";
7
7
  import {
8
8
  brandTokensSchema
9
- } from "./chunk-XABVEMC3.js";
9
+ } from "./chunk-RF5X37JC.js";
10
10
 
11
11
  // src/engine/landing/lib/brand-tokens.ts
12
12
  import { readFile as readFile2 } from "fs/promises";
@@ -17,10 +17,10 @@ import { createHash } from "crypto";
17
17
  import { mkdir, readdir, readFile, writeFile } from "fs/promises";
18
18
  import path from "path";
19
19
  import { z } from "zod";
20
- var BRAND_DOC_MODEL = "google/gemini-2.5-flash-lite";
20
+ var BRAND_DOC_MODEL = "google/gemini-3.5-flash-lite";
21
21
  var REQUEST = {
22
22
  provider: { order: ["google-vertex"], allow_fallbacks: false },
23
- temperature: 0,
23
+ seed: 0,
24
24
  response_format: { type: "json_object" }
25
25
  };
26
26
  var PROMPT_VERSION = 2;
@@ -334,4 +334,4 @@ export {
334
334
  brandCommitsAiHue,
335
335
  brandCommitsCream
336
336
  };
337
- //# sourceMappingURL=chunk-47SKT3VY.js.map
337
+ //# sourceMappingURL=chunk-LGQUI4TC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/engine/landing/lib/brand-tokens.ts","../src/engine/brand/brand-doc.ts","../src/engine/landing/lib/color.ts"],"sourcesContent":["/**\n * Landing anti-slop detector — brand allowlist.\n *\n * The client's committed brand is the allowlist: a value that matches a brand\n * token is a decision, not a tell, so the detector downgrades it to advisory\n * (mirrors impeccable's DESIGN.md drift model). The canonical source is\n * `src/brand/tokens.json` (validated with the shared `@baker/api` schema); a\n * workspace that predates it falls back to the legacy scan of the global.css\n * `@theme` block plus the faces and colours BRAND.md says the brand uses, read\n * in any language by the brand reader (`brand/brand-doc.ts`). A value BRAND.md\n * bans is never allowlisted.\n *\n * Empty/TODO brand (a fresh scaffold) → no allowlist, full strictness.\n */\n\nimport { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { brandTokensSchema, type BrandTokens as CanonicalBrandTokens } from \"@baker/api\";\nimport { type BrandDocReading, type ReadBrandDocs, readWorkspaceBrandDoc } from \"../../brand/brand-doc.ts\";\nimport type { ReviewUsage } from \"../../nodes/local/lib/render-review.ts\";\nimport { getHue, hasChroma, isAiPurpleHue, isCreamColor, parseColor, type Rgb } from \"./color.ts\";\n\nexport type BrandTokens = {\n /** Lowercased committed font-family names (e.g. \"inter\", \"geist\"). */\n fonts: Set<string>;\n /** Parsed committed colors. */\n colors: Rgb[];\n /** True once any real token was found — distinguishes \"branded\" from \"blank\". */\n hasTokens: boolean;\n};\n\nconst EMPTY: BrandTokens = { fonts: new Set(), colors: [], hasTokens: false };\n\n/**\n * A token value that is a weight, a length, or a style keyword — never a family.\n *\n * Deliberately narrow, and the same predicate as `isNotAFamily` in the\n * scaffold's `__tooling__/checks/sdk/theme-css.mjs`. \"Anything starting with a\n * digit\" also swallows the real families that are named with digits — SAP's\n * \"72\", the \"3270\" monospace face — and because the scaffold keeps those,\n * dropping them here made `baker brand fonts check` clear a brand the client's\n * verify then rejected. `__tests__/theme-css-contract.test.ts` pins the two.\n */\nexport function isNotAFamily(value: string): boolean {\n return (\n /^[1-9]00$/.test(value) ||\n /^\\d+(?:\\.\\d+)?(?:px|rem|em|%|pt|vw|vh|ch|ex)$/i.test(value) ||\n /^(?:normal|bold|bolder|lighter|italic|oblique|none|auto|inherit|initial|unset)$/i.test(value)\n );\n}\n\n/** Pure parse of the two legacy brand sources: the theme, and what BRAND.md says it uses. */\nexport function parseBrandTokens(globalCss: string, brandDoc?: BrandDocReading | null): BrandTokens {\n const fonts = new Set<string>();\n const colors: Rgb[] = [];\n parseGlobalCss(globalCss, fonts, colors);\n for (const font of brandDoc?.fonts ?? []) if (font.use) fonts.add(font.family.toLowerCase());\n for (const color of brandDoc?.colors ?? []) {\n const parsed = color.use ? parseColor(color.hex) : null;\n if (parsed) colors.push(parsed);\n }\n return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };\n}\n\n/** global.css `@theme` tokens: `--font-*` families and `--color-*` values.\n * Comments are stripped first — a commented-out legacy token is not a\n * commitment, and one stale purple would defang the color rules page-wide.\n *\n * The `--font-` match is anchored with a lookbehind and its value is checked:\n * `--text-h1--font-weight: 700` is a Tailwind v4 sub-property, and reading its\n * `--font-weight: 700` substring as a family called \"700\" put a 3-character\n * numeric string into the committed set — which `brandCommitsFont` then\n * substring-matched against every snippet containing \"700\", silently\n * whitelisting off-brand fonts. Mirrors\n * `apps/scaffold-template/__tooling__/checks/sdk/theme-css.mjs`. */\nfunction parseGlobalCss(rawCss: string, fonts: Set<string>, colors: Rgb[]): void {\n const globalCss = rawCss.replace(/\\/\\*[\\s\\S]*?\\*\\//g, (block) => block.replace(/[^\\n]/g, \" \"));\n for (const m of globalCss.matchAll(/(?<![\\w-])--font-([\\w-]*)\\s*:\\s*([^;]+);/gi)) {\n const slug = m[1] ?? \"\";\n if (slug.includes(\"--\") || /^weight(?:$|[-\\s])/i.test(slug)) continue;\n const first = (m[2] ?? \"\")\n .split(\",\")[0]\n ?.trim()\n .replace(/^['\"]|['\"]$/g, \"\")\n .toLowerCase();\n if (!first || isNotAFamily(first)) continue;\n fonts.add(first);\n }\n for (const m of globalCss.matchAll(\n /--color-[\\w-]*\\s*:\\s*(#[0-9a-f]{3,8}\\b|rgba?\\([^)]+\\)|oklch\\([^)]+\\)|hsla?\\([^)]+\\))/gi,\n )) {\n const c = parseColor(m[1] ?? \"\");\n if (c) colors.push(c);\n }\n}\n\n/** Canonical tokens.json → allowlist shape — exported for tests. */\nexport function brandTokensFromCanonical(tokens: CanonicalBrandTokens): BrandTokens {\n const fonts = new Set<string>(tokens.fonts.map((f) => f.family.toLowerCase()));\n const colors: Rgb[] = [];\n for (const color of tokens.colors) {\n const parsed = parseColor(color.value);\n if (parsed) colors.push(parsed);\n }\n return { fonts, colors, hasTokens: fonts.size > 0 || colors.length > 0 };\n}\n\n/**\n * Load brand tokens from a project root; degrades to empty when absent.\n * `src/brand/tokens.json` (canonical) wins; an absent or invalid file falls\n * back to the legacy global.css/BRAND.md scan — invalid is the drift\n * validator's finding to report, not a reason to run blind here.\n */\nexport async function loadBrandTokens(\n projectRoot: string,\n opts: { readBrandDoc?: ReadBrandDocs; onSpend?: (usage: ReviewUsage) => void } = {},\n): Promise<BrandTokens> {\n const tokensRaw = await safeRead(path.join(projectRoot, \"src\", \"brand\", \"tokens.json\"));\n if (tokensRaw) {\n try {\n const canonical = brandTokensSchema.safeParse(JSON.parse(tokensRaw));\n if (canonical.success) return brandTokensFromCanonical(canonical.data);\n } catch {\n // fall through to the legacy scan\n }\n }\n const globalCss = await safeRead(path.join(projectRoot, \"src\", \"styles\", \"global.css\"));\n const brandDoc = await readWorkspaceBrandDoc(projectRoot, {\n ...(opts.readBrandDoc ? { read: opts.readBrandDoc } : {}),\n ...(opts.onSpend ? { onSpend: opts.onSpend } : {}),\n });\n if (!globalCss && !brandDoc) return EMPTY;\n return parseBrandTokens(globalCss, brandDoc);\n}\n\nasync function safeRead(file: string): Promise<string> {\n try {\n return await readFile(file, \"utf8\");\n } catch {\n return \"\";\n }\n}\n\n/** Does the brand commit this font name (as it appears in a finding snippet)? */\nexport function brandCommitsFont(brand: BrandTokens, snippet: string): boolean {\n if (brand.fonts.size === 0) return false;\n const lower = snippet.toLowerCase();\n for (const f of brand.fonts) if (f.length >= 3 && lower.includes(f)) return true;\n return false;\n}\n\n/** Does the brand commit a purple/indigo hue (so the AI-palette tell is a choice)? */\nexport function brandCommitsAiHue(brand: BrandTokens): boolean {\n return brand.colors.some((c) => hasChroma(c, 40) && isAiPurpleHue(getHue(c)));\n}\n\n/** Does the brand commit a cream ground (so the cream tell is a choice)? */\nexport function brandCommitsCream(brand: BrandTokens): boolean {\n return brand.colors.some((c) => isCreamColor(c));\n}\n","/**\n * What the brand's own documents state about it, read by a text model in whatever language they\n * are written: its name, the words its logo prints, the typefaces and colours it uses and the ones\n * it bans. BRAND.md is prose, and every reader that scraped it with English words got it wrong\n * the moment it was written otherwise: \"nunca uses Inter\" read as a face to use.\n *\n * `src/brand/tokens.json` stays the canonical machine source; this is what the documents add or\n * what a workspace that predates tokens.json has. The model only extracts, pinned to one provider\n * and a seed, and each reading is kept by the documents' content, so the same documents\n * read the same on every run and cost one call per edit. Measured on scripts/brand-doc-evals.\n */\nimport { createHash } from \"node:crypto\";\nimport { mkdir, readdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { z } from \"zod\";\nimport { holdUnbilledSpend } from \"../../commands/canvas/unbilled-spend.ts\";\nimport { askAboutText, type ReviewUsage } from \"../nodes/local/lib/render-review.ts\";\n\n/**\n * Measured 2026-10-11 with scripts/brand-doc-evals: 21/21 on each of nine runs, p50 about 0.65 s\n * (2.5 Flash-Lite, which it replaces: 21/21, 0.5 s). Vertex takes no temperature for this model\n * and AI Studio, which does, fails the key's zero-data-retention guardrail, so the seed pins the draw.\n */\nexport const BRAND_DOC_MODEL = \"google/gemini-3.5-flash-lite\";\nconst REQUEST = {\n provider: { order: [\"google-vertex\"], allow_fallbacks: false },\n seed: 0,\n response_format: { type: \"json_object\" },\n};\nconst PROMPT_VERSION = 2;\nconst TIMEOUT_MS = 30_000;\n/** About 8k tokens of guidelines: a brand document is shorter, and a runaway one is cut. */\nconst BRAND_MD_CHARS = 32_000;\n/** A company profile states its name at the top. */\nconst COMPANY_MD_CHARS = 4_000;\n\nconst Font = z.object({\n family: z.string().trim().min(1).max(60),\n role: z.enum([\"heading\", \"body\", \"any\"]).catch(\"any\"),\n use: z.boolean(),\n});\nconst Color = z.object({\n hex: z\n .string()\n .trim()\n .regex(/^#?[0-9a-fA-F]{6}$/)\n .transform((h) => `#${h.replace(/^#/, \"\").toLowerCase()}`),\n use: z.boolean(),\n});\nconst Reading = z.object({\n name: z.string().trim().min(1).max(80).nullable().catch(null),\n wordmark: z.array(z.string().trim().min(1).max(40)).catch([]),\n logoNames: z.array(z.string().trim().min(1).max(40)).catch([]),\n fonts: z.array(z.unknown()).catch([]),\n colors: z.array(z.unknown()).catch([]),\n});\n\nexport type BrandDocReading = {\n name?: string;\n /** The words the brand's logo prints, as the documents quote them or a logo file names a product. */\n wordmark: string[];\n fonts: Array<z.infer<typeof Font>>;\n colors: Array<z.infer<typeof Color>>;\n};\n\nexport type BrandDocs = { brandMd?: string | null; companyMd?: string | null; logoFiles?: readonly string[] };\n\nfunction brandDocPrompt(docs: BrandDocs): string {\n return [\n \"You read a company's brand guidelines (BRAND.md), the start of its company profile (COMPANY.md) and the file names of its logos. They may be written in any language, or several. Extract only what they state; never invent a value.\",\n \"\",\n \"Return JSON only, in this shape:\",\n '{\"name\": string | null, \"wordmark\": string[], \"logoNames\": string[], \"fonts\": [{\"family\": string, \"role\": \"heading\" | \"body\" | \"any\", \"use\": boolean}], \"colors\": [{\"hex\": \"#rrggbb\", \"use\": boolean}]}',\n \"\",\n '- name: the brand\\'s name exactly as written (\"# Zernio Brand Guidelines\" names Zernio). null when neither document states one, as in an unfilled template (\"# Brand Guidelines\", \"# Company\", TODO).',\n '- wordmark: every word the documents say the logo prints, as they quote it (\"Wordmark: \\\\\"permut\\\\\"\" gives \"permut\"; \\'symbol plus \"Cubbo\" wordmark\\' gives \"Cubbo\"), even when it is also the name. [] when they quote none.',\n '- logoNames: a product or brand name a logo file name carries (\"logo-engage-blue.png\" gives \"Engage\"). Colours, variants, sizes and formats (dark, white, icon, isotype, png) are not names. [] when none.',\n '- fonts: every typeface the guidelines name, by its family name exactly, the banned ones included. role is heading, body, or any when they do not say. use is false when the guidelines ban it, forbid it or say to avoid it or never use it, in any wording or language; true when the brand uses it. Only a named typeface counts: a generic family (sans-serif, serif, monospace, system-ui) or the operating system\\'s own fonts (\"system stack\", \"system fonts\") is not one, so leave it out.',\n \"- colors: every hex colour the guidelines give. use is false when they ban it or say to avoid it, true when it is a brand colour.\",\n \"\",\n \"<brand_md>\",\n (docs.brandMd ?? \"\").slice(0, BRAND_MD_CHARS),\n \"</brand_md>\",\n \"<company_md>\",\n (docs.companyMd ?? \"\").slice(0, COMPANY_MD_CHARS),\n \"</company_md>\",\n \"<logo_files>\",\n (docs.logoFiles ?? []).join(\"\\n\"),\n \"</logo_files>\",\n ].join(\"\\n\");\n}\n\n/** The model's answer as a reading, every entry it got wrong dropped; null when it is not one. Pure. */\nfunction parseBrandDoc(answer: unknown): BrandDocReading | null {\n const parsed = Reading.safeParse(answer);\n if (!parsed.success) return null;\n const fonts = parsed.data.fonts.flatMap((f) => {\n const font = Font.safeParse(f);\n return font.success ? [font.data] : [];\n });\n const colors = parsed.data.colors.flatMap((c) => {\n const color = Color.safeParse(c);\n return color.success ? [color.data] : [];\n });\n return {\n ...(parsed.data.name ? { name: parsed.data.name } : {}),\n wordmark: [...new Set([...parsed.data.wordmark, ...parsed.data.logoNames])],\n fonts,\n colors,\n };\n}\n\n/** Reads the documents with the model, or null when it could not answer. */\nexport type ReadBrandDocs = (docs: BrandDocs) => Promise<BrandDocReading | null>;\n\n/**\n * The real reader: each reading kept in `cacheDir` by the documents, the model and the prompt.\n * Spend goes to `onSpend`, or, without one, waits in `cacheDir` for the workspace's next run\n * record to bill it.\n */\nexport function brandDocReader(cacheDir: string, onSpend?: (usage: ReviewUsage) => void): ReadBrandDocs {\n return async (docs) => {\n const prompt = brandDocPrompt(docs);\n const key = createHash(\"sha256\")\n .update(JSON.stringify([PROMPT_VERSION, BRAND_DOC_MODEL, prompt]))\n .digest(\"hex\");\n const file = path.join(cacheDir, \"brand-doc\", `${key}.json`);\n const cached = parseBrandDoc(await readFile(file, \"utf8\").then(JSON.parse, () => null));\n if (cached) return cached;\n const spent: ReviewUsage[] = [];\n const answer = await askAboutText(BRAND_DOC_MODEL, prompt, (u) => (onSpend ? onSpend(u) : spent.push(u)), {\n timeoutMs: TIMEOUT_MS,\n request: REQUEST,\n }).catch(() => null);\n await holdUnbilledSpend(cacheDir, spent).catch(() => undefined);\n const reading = parseBrandDoc(answer);\n if (reading) {\n await mkdir(path.dirname(file), { recursive: true }).catch(() => undefined);\n await writeFile(file, JSON.stringify(reading), \"utf8\").catch(() => undefined);\n }\n return reading;\n };\n}\n\n/** A file named as the brand's own logo; a partner's or a tool's icon (`python-icon.png`) is not. */\nexport const LOGO_FILE = /logo|lockup|wordmark|isotype|isologo/i;\n\n/** BRAND.md, COMPANY.md and the brand's own logo file names in a workspace. Never throws. */\nasync function workspaceBrandDocs(root: string): Promise<BrandDocs> {\n const read = (rel: string) => readFile(path.join(root, rel), \"utf8\").catch(() => null);\n const logoFiles = ((await readdir(path.join(root, \"src\", \"brand\", \"logos\")).catch(() => [])) as string[])\n .filter((f) => /\\.(png|jpe?g|webp|svg)$/i.test(f) && LOGO_FILE.test(f))\n .sort();\n return { brandMd: await read(\"src/brand/BRAND.md\"), companyMd: await read(\"COMPANY.md\"), logoFiles };\n}\n\n/**\n * What the workspace's brand documents state, read once per edit. Null when there is nothing to\n * read, or no model could read it: every caller then uses what code can read without one.\n */\nexport async function readWorkspaceBrandDoc(\n root: string,\n opts: { read?: ReadBrandDocs; onSpend?: (usage: ReviewUsage) => void } = {},\n): Promise<BrandDocReading | null> {\n const docs = await workspaceBrandDocs(root);\n if (!docs.brandMd?.trim() && !docs.companyMd?.trim()) return null;\n const read = opts.read ?? brandDocReader(path.join(root, \"canvas\", \".cache\"), opts.onSpend);\n return await read(docs).catch(() => null);\n}\n","/**\n * Landing anti-slop detector — color utilities.\n *\n * Ported (with sense) from impeccable's `cli/engine/shared/color.mjs` +\n * `isNeutralAuthoredColor` from `detect-text.mjs`. These parse colors as WRITTEN\n * in authored CSS (hex, named, rgb/hsl/oklch), not just the computed forms a\n * browser emits — because we scan `.astro` source, not a rendered DOM.\n */\n\nexport type Rgb = { r: number; g: number; b: number; a: number };\n\n/** CSS named colors whose channels are equal (achromatic). */\nconst NEUTRAL_COLOR_KEYWORDS = new Set<string>([\n \"transparent\",\n \"currentcolor\",\n \"black\",\n \"white\",\n \"gray\",\n \"grey\",\n \"silver\",\n \"dimgray\",\n \"dimgrey\",\n \"darkgray\",\n \"darkgrey\",\n \"lightgray\",\n \"lightgrey\",\n \"gainsboro\",\n \"whitesmoke\",\n]);\n\nfunction hexChannels(color: string): [number, number, number] | null {\n const long = color.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})(?:[0-9a-f]{2})?$/i);\n if (long)\n return [\n Number.parseInt(long[1] ?? \"0\", 16),\n Number.parseInt(long[2] ?? \"0\", 16),\n Number.parseInt(long[3] ?? \"0\", 16),\n ];\n const short = color.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])(?:[0-9a-f])?$/i);\n if (short) {\n const dup = (s: string | undefined) => Number.parseInt(`${s ?? \"0\"}${s ?? \"0\"}`, 16);\n return [dup(short[1]), dup(short[2]), dup(short[3])];\n }\n return null;\n}\n\n/** Parse any authored hex / rgb() / oklch() color to {r,g,b,a}. Null if unknown. */\nexport function parseColor(raw: string): Rgb | null {\n const c = String(raw || \"\")\n .trim()\n .toLowerCase();\n if (!c || c === \"transparent\") return null;\n const rgb = c.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)(?:[\\s,/]+([\\d.]+%?))?\\s*\\)/i);\n if (rgb) {\n const alpha = rgb[4];\n const a = alpha === undefined ? 1 : alpha.endsWith(\"%\") ? Number.parseFloat(alpha) / 100 : Number.parseFloat(alpha);\n return { r: Number(rgb[1]), g: Number(rgb[2]), b: Number(rgb[3]), a };\n }\n const oklch = parseOklch(c);\n if (oklch) return oklch;\n const hex = hexChannels(c);\n if (hex) return { r: hex[0], g: hex[1], b: hex[2], a: 1 };\n return null;\n}\n\n/** `oklch(L C H)` / `oklch(L% C H / a)` → Rgb, or null when not oklch. */\nfunction parseOklch(c: string): Rgb | null {\n const m = c.match(/oklch\\(\\s*([\\d.]+%?)\\s+([\\d.]+%?)\\s+([\\d.]+)(?:deg)?(?:\\s*\\/\\s*([\\d.]+%?))?\\s*\\)/i);\n if (!m) return null;\n const pct = (s: string, scale: number) =>\n s.endsWith(\"%\") ? (Number.parseFloat(s) / 100) * scale : Number.parseFloat(s);\n const alpha = m[4];\n const a = alpha === undefined ? 1 : pct(alpha, 1);\n return { ...oklchToRgb(pct(m[1] ?? \"0\", 1), pct(m[2] ?? \"0\", 0.4), Number.parseFloat(m[3] ?? \"0\")), a };\n}\n\n/** oklch(L C H) → sRGB via OKLab (Björn Ottosson's reference constants), so\n * Tailwind v4-idiomatic `@theme` colors participate in the brand allowlist. */\nfunction oklchToRgb(L: number, C: number, H: number): { r: number; g: number; b: number } {\n const hRad = (H * Math.PI) / 180;\n const a = C * Math.cos(hRad);\n const b = C * Math.sin(hRad);\n const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3;\n const m = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3;\n const s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3;\n const lin = [\n 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,\n -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,\n -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s,\n ].map((v) => {\n const g = v <= 0.0031308 ? 12.92 * v : 1.055 * Math.sign(v) * Math.abs(v) ** (1 / 2.4) - 0.055;\n return Math.round(Math.max(0, Math.min(1, g)) * 255);\n });\n return { r: lin[0] ?? 0, g: lin[1] ?? 0, b: lin[2] ?? 0 };\n}\n\n/**\n * Neutrality test for colors as written in source CSS. Handles hex and named\n * neutrals directly; for rgb()/hsl()/oklch() etc. uses the channel/component\n * spread. An unrecognized spelling stays chromatic so a real accent is never\n * silently skipped (impeccable's fail-toward-detection default).\n */\nexport function isNeutralAuthoredColor(rawColor: string): boolean {\n const c = String(rawColor || \"\")\n .trim()\n .toLowerCase();\n if (!c) return false;\n if (NEUTRAL_COLOR_KEYWORDS.has(c)) return true;\n if (/^rgba?\\(/i.test(c)) {\n const channels = c.match(/^rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i);\n if (channels) {\n const values = [1, 2, 3].map((i) => Number(channels[i]));\n return Math.max(...values) - Math.min(...values) < 30;\n }\n return false;\n }\n // oklch/lch chroma is the second component; hsl saturation is the second.\n const oklch = c.match(/oklch\\(\\s*[\\d.]+%?\\s+([\\d.-]+)/i);\n if (oklch) return Number.parseFloat(oklch[1] ?? \"0\") < 0.02;\n const lch = c.match(/lch\\(\\s*[\\d.]+%?\\s+([\\d.-]+)/i);\n if (lch) return Number.parseFloat(lch[1] ?? \"0\") < 3;\n const hsl = c.match(/hsla?\\(\\s*[\\d.-]+\\s*,?\\s*([\\d.]+)%/i);\n if (hsl) return Number.parseFloat(hsl[1] ?? \"0\") < 10;\n const channels = hexChannels(c);\n if (channels) return Math.max(...channels) - Math.min(...channels) < 30;\n return false;\n}\n\nexport function hasChroma(c: Rgb | null, threshold = 30): boolean {\n if (!c) return false;\n return Math.max(c.r, c.g, c.b) - Math.min(c.r, c.g, c.b) >= threshold;\n}\n\n/** Hue in degrees (0–360) for an rgb color. */\nexport function getHue(c: Rgb | null): number {\n if (!c) return 0;\n const r = c.r / 255;\n const g = c.g / 255;\n const b = c.b / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (max === min) return 0;\n const d = max - min;\n let h: number;\n if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;\n else if (max === g) h = ((b - r) / d + 2) / 6;\n else h = ((r - g) / d + 4) / 6;\n return Math.round(h * 360);\n}\n\n/** Is this hue in the purple/violet/indigo band the AI-palette rule flags?\n * 225–310 covers everything the detection side bans: Tailwind indigo (~239°),\n * the indigo hero hexes (#667eea 229°, #6366f1 239°), violet (#8b5cf6 258°),\n * and purple (#7c3aed 262°+). Keep in lockstep with `AI_PURPLE_HEXES`. */\nexport function isAiPurpleHue(hue: number): boolean {\n return hue >= 225 && hue <= 310;\n}\n\n/** Is this a warm cream/parchment ground (light, r≥g≥b, small warmth)? */\nexport function isCreamColor(c: Rgb): boolean {\n if (Math.min(c.r, c.g, c.b) < 209) return false;\n if (!(c.r >= c.g && c.g >= c.b)) return false;\n const warmth = c.r - c.b;\n return warmth >= 6 && warmth <= 48;\n}\n"],"mappings":"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","names":["readFile","path","channels","path","readFile"]}
@@ -6,13 +6,13 @@ import {
6
6
  } from "./chunk-JQUPL6IQ.js";
7
7
  import {
8
8
  bytesOf
9
- } from "./chunk-UCVUZD4S.js";
9
+ } from "./chunk-MZQBL7QU.js";
10
10
  import {
11
11
  CONCEPT_CARRY_LEVELS
12
- } from "./chunk-3J3C6OMU.js";
12
+ } from "./chunk-D7KNUZ6Z.js";
13
13
  import {
14
14
  AD_DESCRIBE_MODEL
15
- } from "./chunk-CHSNHVYF.js";
15
+ } from "./chunk-2XQ5HU6D.js";
16
16
  import {
17
17
  askAboutImages
18
18
  } from "./chunk-X3PVW3RM.js";
@@ -471,4 +471,4 @@ export {
471
471
  fitReference,
472
472
  fitCommand
473
473
  };
474
- //# sourceMappingURL=chunk-WLWHXKRK.js.map
474
+ //# sourceMappingURL=chunk-LK64CCN4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseBrandTokens
3
- } from "./chunk-47SKT3VY.js";
3
+ } from "./chunk-LGQUI4TC.js";
4
4
 
5
5
  // src/engine/brand/fonts.ts
6
6
  import { posix } from "path";
@@ -452,4 +452,4 @@ export {
452
452
  stripFontFaceBlocks,
453
453
  upsertFontFaceCss
454
454
  };
455
- //# sourceMappingURL=chunk-7PTOGEUN.js.map
455
+ //# sourceMappingURL=chunk-LPQYVWSA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  creativesRunResponseSchema
3
- } from "./chunk-XABVEMC3.js";
3
+ } from "./chunk-RF5X37JC.js";
4
4
  import {
5
5
  ApiError,
6
6
  apiPost
@@ -20,4 +20,4 @@ async function fetchRunRecord(runId, post = apiPost) {
20
20
  export {
21
21
  fetchRunRecord
22
22
  };
23
- //# sourceMappingURL=chunk-DZ36ZVP2.js.map
23
+ //# sourceMappingURL=chunk-LUILGJCT.js.map
@@ -6,12 +6,12 @@ import {
6
6
  citedPlatforms,
7
7
  jevCitationJudge,
8
8
  namedPlatform
9
- } from "./chunk-3J3C6OMU.js";
9
+ } from "./chunk-D7KNUZ6Z.js";
10
10
  import {
11
11
  AD_PLACEMENTS,
12
12
  TEXT_BOX_READER_MODEL,
13
13
  verticalCover
14
- } from "./chunk-CHSNHVYF.js";
14
+ } from "./chunk-2XQ5HU6D.js";
15
15
  import {
16
16
  FINDING_DEFECTS,
17
17
  FINDING_ELEMENTS,
@@ -1439,4 +1439,4 @@ export {
1439
1439
  checkStaticImage,
1440
1440
  reviewRenderedStatic
1441
1441
  };
1442
- //# sourceMappingURL=chunk-UCVUZD4S.js.map
1442
+ //# sourceMappingURL=chunk-MZQBL7QU.js.map