@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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/studio/generate.ts"],"sourcesContent":["import type { StudioGenerateRequest, StudioSkillsResponse, StudioStartResponse } from \"@baker/api\";\nimport { DEFAULT_IMAGE_GENERATE_MODEL, MODEL_REGISTRY, maxInputReferences } from \"@baker/canvas-contract\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiGet, apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { awaitBatch, batchHints, projectBatch, resolveMaxWaitMs, waitingHint } from \"./batch.ts\";\nimport { failStudioCommand } from \"./errors.ts\";\nimport { IMAGE_MODEL_IDS, IMAGE_QUALITIES, IMAGE_SIZES } from \"./modelOptions.ts\";\nimport { type ReferenceLimit, resolveLibraryImageIds } from \"./references.ts\";\n\nconst MODEL_LIST = IMAGE_MODEL_IDS;\n\n/** Images settle in well under a minute each; four in parallel rarely need more. */\nconst DEFAULT_MAX_WAIT_MS = 240_000;\n\nregisterSchema({\n command: \"studio.generate\",\n description:\n \"Start here to make an image. Opens a Studio batch: the images are ingested into the media library as they render and the whole batch shows up in the dashboard Studio for the client, labelled with this conversation. Default model google/gemini-3.1-flash-image — fast, reference editing, extreme aspect ratios. --reference is the biggest quality lever: pass library image ids, local file paths, and/or image URLs to ground the render in real imagery.\",\n args: {\n prompt: {\n type: \"string\",\n description:\n \"What to generate — full art direction, not a keyword. Length caps are per model (Recraft 10,000 characters, gpt-image 32,000, Gemini publishes none) and a --skill or --brand block counts toward them; `baker studio models` has the number.\",\n required: true,\n },\n model: {\n type: \"string\",\n description: `Model (default google/gemini-3.1-flash-image). They accept genuinely different things — check with \\`baker studio models\\` rather than assuming. One of: ${MODEL_LIST.join(\", \")}`,\n required: false,\n enum: MODEL_LIST,\n },\n \"aspect-ratio\": {\n type: \"string\",\n // Snapped, not refused: ask for the ad shape you want and the backend\n // moves it to the nearest one the chosen model renders (gpt-image-2 has no\n // 4:5, so a 4:5 request becomes 3:4 rather than failing).\n description:\n \"Aspect ratio, e.g. 1:1 (default), 16:9, 9:16, 4:5, 3:2 — Gemini flash also does 1:4 / 8:1. Snapped to the nearest shape the chosen model renders, so ask for the ad format you want (4:5 on gpt-image-2 or Recraft becomes 3:4, neither renders it). Must be width:height.\",\n required: false,\n },\n count: { type: \"number\", description: \"Takes to render, 1-8 (default 1)\", required: false, default: 1 },\n avatar: {\n type: \"string\",\n description:\n \"Cast one of the company's avatars by short name (e.g. marta). Grounds the render on their identity sheet and reuses their subject description verbatim — do this instead of passing the sheet through --reference, which skips both and leaves the batch unattributed. `baker avatars list` shows who there is.\",\n required: false,\n },\n reference: {\n type: \"string\",\n description:\n \"Comma-separated visual references, in order: library image ids, local file paths, and/or image URLs. Paths and URLs are added to the media library first, so the reference is reusable and the client can see what grounded the render. How many are allowed is per model — Gemini takes 14, gpt-image 16, Recraft exactly 1.\",\n required: false,\n },\n skill: {\n type: \"string\",\n description: \"Craft direction by id (run `baker studio skills`), e.g. product-pack-shot, ugc-selfie-hook\",\n required: false,\n },\n brand: {\n type: \"boolean\",\n description:\n \"Append the company palette and visual style. Off by default — you are writing the art direction yourself and a brand block appended after it fights what you just specified.\",\n required: false,\n default: false,\n },\n \"image-size\": {\n type: \"string\",\n // No default: left unset the provider picks the pixels from the ratio.\n // gpt-image-2 has no resolution setting at all and REFUSES this flag.\n description: `Output resolution — only on models that have one (gpt-image-2 and Recraft have none and REFUSE this). The tiers differ per model: Lite renders 1K only, Pro 1K-4K, Gemini flash also 0.5K. One of: ${IMAGE_SIZES.join(\", \")}`,\n required: false,\n enum: IMAGE_SIZES,\n },\n quality: {\n type: \"string\",\n description: `Rendering quality — the OpenAI models only; every Gemini tier and Recraft REFUSE it. One of: ${IMAGE_QUALITIES.join(\", \")}`,\n required: false,\n enum: IMAGE_QUALITIES,\n },\n strength: { type: \"number\", description: \"Recraft vector only: vectorization strength 0-1\", required: false },\n \"rgb-colors\": {\n type: \"string\",\n description:\n 'Recraft only: JSON array of [r,g,b] palette triples, each channel a whole number 0-255, e.g. \"[[10,10,10],[255,80,0]]\"',\n required: false,\n },\n \"bg-rgb\": {\n type: \"string\",\n description: 'Recraft only: JSON [r,g,b] background colour, e.g. \"[255,255,255]\"',\n required: false,\n },\n wait: {\n type: \"string\",\n description: \"Pass false to get the batch id back immediately instead of waiting for the takes\",\n required: false,\n default: \"true\",\n },\n \"max-wait\": {\n type: \"number\",\n description: \"Max ms to wait for the takes (default 240000). 0 returns the id immediately.\",\n required: false,\n default: DEFAULT_MAX_WAIT_MS,\n },\n full: { type: \"boolean\", description: \"Include settings, references and attribution\", required: false },\n },\n});\n\nfunction parseJsonArg(raw: string, flag: string): unknown {\n try {\n return JSON.parse(raw);\n } catch {\n throw new ApiError(\"VALIDATION_ERROR\", `--${flag} must be valid JSON (got: ${raw})`);\n }\n}\n\n/**\n * The reference cap of the model this batch will actually use — read from the\n * same registry the backend validates against, so the two cannot disagree.\n * A model with no published cap gets no local gate: inventing a ceiling refuses\n * a render that would have worked, which is the more expensive mistake.\n */\nexport function referenceLimitFor(model: string | undefined): ReferenceLimit | undefined {\n const chosen = model ?? DEFAULT_IMAGE_GENERATE_MODEL;\n const max = maxInputReferences(\"image_generate\", chosen);\n if (max === undefined) return undefined;\n const label = MODEL_REGISTRY.image_generate[chosen]?.label ?? chosen;\n return {\n max,\n refuse: (count) =>\n max === 1\n ? `${label} takes exactly one reference image — you passed ${count}. Pick the one that matters, or switch to a model that reads several.`\n : `${label} takes up to ${max} reference images — you passed ${count}. Drop the weakest ones.`,\n };\n}\n\n/**\n * The model this batch will really run on.\n *\n * A skill carries its own default model, and it wins whenever the caller did not\n * pin one — `--skill brand-icon` alone renders on Recraft, which takes exactly\n * ONE reference where the default Gemini takes fourteen. Gating on the default\n * would let three references upload and then be refused by the backend, naming a\n * model the caller never chose: the precise waste the local check exists to\n * prevent. Only asked when it can change the answer, so the common paths still\n * cost no extra call.\n */\nexport async function effectiveModel(\n pinned: string | undefined,\n skillId: string | undefined,\n fetchSkills: () => Promise<StudioSkillsResponse> = () => apiGet<StudioSkillsResponse>(\"/api/studio/skills\"),\n): Promise<string | undefined> {\n if (pinned || !skillId) return pinned;\n try {\n const { skills } = await fetchSkills();\n return skills.find((skill) => skill.id === skillId)?.defaults.model;\n } catch {\n // An unknown skill or an unreachable list is not this command's failure to\n // report — the backend refuses both with a better message. Fall through to\n // the default cap rather than blocking a render that would have worked.\n return undefined;\n }\n}\n\nexport function buildGenerateBody(args: Record<string, unknown>, prompt: string): StudioGenerateRequest {\n const body: StudioGenerateRequest = { prompt };\n if (args.model) body.model = args.model as StudioGenerateRequest[\"model\"];\n if (args[\"aspect-ratio\"]) body.aspectRatio = args[\"aspect-ratio\"] as string;\n if (args.count !== undefined && args.count !== \"\") body.count = Number(args.count);\n if (args.avatar) body.avatar = args.avatar as string;\n if (args.skill) body.skillId = args.skill as string;\n if (args.brand) body.useBrand = true;\n if (args[\"image-size\"]) body.imageSize = args[\"image-size\"] as string;\n if (args.quality) body.quality = args.quality as StudioGenerateRequest[\"quality\"];\n // `!== undefined`, not truthiness: `--strength 0` is a real value.\n if (args.strength !== undefined && args.strength !== \"\") body.strength = Number(args.strength);\n if (args[\"rgb-colors\"]) {\n body.rgbColors = parseJsonArg(args[\"rgb-colors\"] as string, \"rgb-colors\") as StudioGenerateRequest[\"rgbColors\"];\n }\n if (args[\"bg-rgb\"]) {\n body.backgroundRgbColor = parseJsonArg(\n args[\"bg-rgb\"] as string,\n \"bg-rgb\",\n ) as StudioGenerateRequest[\"backgroundRgbColor\"];\n }\n return body;\n}\n\nexport const generateCommand = defineCommand({\n meta: {\n name: \"generate\",\n description:\n \"Start here to make an image. Renders 1-8 takes of one brief, ingests each into the media library as it lands, and shows the batch in the dashboard Studio next to the ones the client ran.\\n\\nModel choice: google/gemini-3.1-flash-image (default — fast, best at editing a reference and at extreme ratios), google/gemini-3-pro-image (highest fidelity, slower), openai/gpt-image-2 (photoreal and the cleanest in-image text — no --image-size, no 4:5 / 5:4), recraft/recraft-v4.1-pro-vector (vector/flat marks with palette control).\\n\\n--reference is the biggest quality lever there is: a real logo, product shot, Pinterest pin or sandbox screenshot beats any amount of adjectives.\\n\\nExamples:\\n baker studio generate 'matte black bottle on wet marble, hard studio light, 35mm' --aspect-ratio 3:2 --count 3\\n baker studio generate 'this bottle on a sunlit kitchen counter' --reference './src/brand/product.png,https://…/kitchen.jpg'\\n baker studio generate 'founder-style selfie, kitchen background, natural light' --skill ugc-selfie-hook\\n baker studio generate 'flat geometric mascot, brand palette' --model recraft/recraft-v4.1-pro-vector --rgb-colors '[[10,10,10],[255,80,0]]'\",\n },\n args: {\n avatar: {\n type: \"string\",\n description: \"Cast an avatar by short name — grounds the image on their identity sheet\",\n required: false,\n },\n prompt: { type: \"positional\", description: \"What to generate\", required: false },\n model: { type: \"string\", description: \"Model id (default google/gemini-3.1-flash-image)\", required: false },\n \"aspect-ratio\": { type: \"string\", description: \"Aspect ratio (default 1:1)\", required: false },\n count: { type: \"string\", description: \"Takes to render, 1-8 (default 1)\", required: false },\n reference: {\n type: \"string\",\n description: \"Comma-separated library image ids, local file paths, and/or image URLs\",\n required: false,\n },\n skill: { type: \"string\", description: \"Craft direction id (`baker studio skills`)\", required: false },\n brand: { type: \"boolean\", description: \"Append the company palette and style\", required: false },\n \"image-size\": {\n type: \"string\",\n description: `Output resolution, models that have one only: ${IMAGE_SIZES.join(\" | \")}`,\n required: false,\n },\n quality: {\n type: \"string\",\n description: `Rendering quality, models that honour it only: ${IMAGE_QUALITIES.join(\" | \")}`,\n required: false,\n },\n strength: { type: \"string\", description: \"Recraft vectorization strength 0-1\", required: false },\n \"rgb-colors\": { type: \"string\", description: \"Recraft palette JSON\", required: false },\n \"bg-rgb\": { type: \"string\", description: \"Recraft background JSON\", required: false },\n wait: { type: \"string\", description: \"false to return the batch id immediately\", required: false },\n \"max-wait\": { type: \"string\", description: \"Max ms to wait (default 240000, 0 = no wait)\", required: false },\n full: { type: \"boolean\", description: \"Include settings, references and attribution\", required: false },\n },\n run: async ({ args }) => {\n try {\n const prompt = args.prompt as string | undefined;\n if (!prompt) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"A prompt is required\" } });\n process.exit(1);\n }\n\n const body = buildGenerateBody(args, prompt);\n if (args.reference) {\n const model = await effectiveModel(body.model, body.skillId);\n const { imageIds } = await resolveLibraryImageIds(args.reference as string, referenceLimitFor(model));\n if (imageIds.length > 0) body.referenceImageIds = imageIds;\n }\n\n const start = await apiPost<StudioStartResponse>(\"/api/studio/generate\", body);\n const maxWaitMs = resolveMaxWaitMs(args.wait, args[\"max-wait\"], DEFAULT_MAX_WAIT_MS);\n if (maxWaitMs === 0) {\n writeJson({\n ok: true,\n data: start,\n hints: [`Rendering ${start.count} take(s). Read them with \\`baker studio get ${start.generationId}\\`.`],\n });\n return;\n }\n\n const outcome = await awaitBatch(start.generationId, maxWaitMs);\n if (outcome.kind !== \"settled\") {\n writeJson({\n ok: true,\n data: { ...start, status: \"running\" },\n hints: [waitingHint(outcome, start.generationId, maxWaitMs)],\n });\n return;\n }\n\n writeJson({\n ok: true,\n data: projectBatch(outcome.generation, args.full === true),\n hints: batchHints(outcome.generation),\n });\n } catch (error) {\n failStudioCommand(error, { withFix: true });\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/images/library.ts"],"sourcesContent":["import type { ImagesSearchResponse } from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { type OutputFormat, writeJson, writeOutput } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { activeFilterFlags, emptyResultHints } from \"./searchHints.ts\";\n\nregisterSchema({\n command: \"images.library\",\n description: \"Search the company image library. Returns only ready images.\",\n args: {\n query: { type: \"string\", description: \"Search query text\", required: true },\n limit: { type: \"number\", description: \"Maximum results\", required: false, default: 5 },\n \"min-score\": { type: \"number\", description: \"Minimum relevance score (0-1)\", required: false },\n \"aspect-ratio\": {\n type: \"string\",\n description: \"Filter by aspect ratio (1:1, 16:9, 9:16, 2:3, 3:4, 1:2, 2:1, 4:5, 3:2, 4:3)\",\n required: false,\n },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n source: {\n type: \"string\",\n description:\n \"Filter by source (uploaded, pexels, pixabay, brandfetch, google_images, firecrawl, screenshotone, iconify, giphy, …)\",\n required: false,\n },\n \"external-url-host\": {\n type: \"string\",\n description: \"Filter to library rows whose externalUrl host contains this substring\",\n required: false,\n },\n },\n});\n\nexport const libraryCommand = defineCommand({\n meta: {\n name: \"library\",\n description:\n \"Search the company image library (hybrid BM25 + vector + Cohere rerank). Use this BEFORE any external provider.\\n\\nExample: baker images library 'hero banner' --aspect-ratio 16:9 --source magnific\",\n },\n args: {\n query: { type: \"positional\", description: \"Search query text\", required: false },\n limit: { type: \"string\", description: \"Max results (default 5)\", required: false },\n \"min-score\": { type: \"string\", description: \"Minimum relevance score (0-1)\", required: false },\n \"aspect-ratio\": { type: \"string\", description: \"Aspect ratio filter\", required: false },\n tags: { type: \"string\", description: \"Comma-separated tags to filter by\", required: false },\n source: { type: \"string\", description: \"Filter by source\", required: false },\n \"external-url-host\": {\n type: \"string\",\n description: \"Filter library by externalUrl host substring (e.g. competitor.com)\",\n required: false,\n },\n output: { type: \"string\", description: \"Output format: json|files|md\", required: false, default: \"json\" },\n fields: { type: \"string\", description: \"Comma-separated field names to include\", required: false },\n full: { type: \"boolean\", description: \"Include full metadata\", required: false, default: false },\n },\n run: async ({ args }) => {\n try {\n const query = args.query as string | undefined;\n if (!query) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: \"Search query is required\" } });\n process.exit(1);\n }\n const body: Record<string, unknown> = { query };\n if (args.limit) body.limit = Number(args.limit);\n if (args[\"aspect-ratio\"]) body.aspectRatio = args[\"aspect-ratio\"];\n if (args.tags) body.tags = (args.tags as string).split(\",\").filter(Boolean);\n if (args.source) body.source = args.source;\n if (args[\"external-url-host\"]) body.externalUrlHost = args[\"external-url-host\"];\n\n let data = await apiPost<ImagesSearchResponse>(\"/api/images/search\", body);\n const minScore = args[\"min-score\"] ? Number(args[\"min-score\"]) : undefined;\n if (minScore !== undefined) {\n data = data.filter((r) => typeof r.score === \"number\" && r.score >= minScore);\n }\n // The library is step 1 of every sourcing recipe, so an empty result is\n // the most common dead end there is — and it used to steer nowhere.\n // `--min-score` counts as a filter here: it is applied client-side above,\n // so it can empty a result the backend actually returned.\n const hints = emptyResultHints({\n provider: \"library\",\n hitCount: data.length,\n activeFilters: activeFilterFlags(args, [\"aspect-ratio\", \"tags\", \"source\", \"external-url-host\", \"min-score\"]),\n subject: query,\n });\n writeOutput(\n { ok: true, data, ...(hints.length > 0 ? { hints } : {}) },\n (args.output as OutputFormat) || \"json\",\n args.fields ? args.fields.split(\",\") : undefined,\n args.full as boolean,\n );\n } catch (err) {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"INTERNAL_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n }\n },\n});\n"],"mappings":"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","names":[]}