@koda-sl/baker-cli 0.473.0 → 0.475.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 (454) hide show
  1. package/README.md +7 -39
  2. package/canvas/avocado-tutorial.json +3 -3
  3. package/canvas/hello-world-overlay.json +1 -1
  4. package/dist/{account-DJN7KX36.js → account-QR5LCE74.js} +4 -4
  5. package/dist/{accounts-UTABLCS6.js → accounts-L2SNBNOO.js} +5 -5
  6. package/dist/{accounts-PFBK6KT3.js → accounts-LG4B7NWO.js} +3 -3
  7. package/dist/{actions-HYDPRUMY.js → actions-LMKQCN4E.js} +18 -18
  8. package/dist/{activecampaign-DEFGV2GB.js → activecampaign-RZEJ25GO.js} +3 -3
  9. package/dist/{add-XFCKOO6B.js → add-DDKP3OOS.js} +2 -2
  10. package/dist/{add-TM7AYRYC.js → add-HQERVTGX.js} +3 -3
  11. package/dist/{ads-Q3373W6W.js → ads-WB2X5SYO.js} +6 -6
  12. package/dist/{advertisers-CDKZPAWV.js → advertisers-OEHGT3U2.js} +3 -3
  13. package/dist/{analytics-TAEPXJUM.js → analytics-ILWIWU7C.js} +3 -3
  14. package/dist/{analytics-G7CFO4FR.js → analytics-JYBKFGP4.js} +9 -9
  15. package/dist/{animate-ETEHY5A3.js → animate-NVEQOLHK.js} +4 -4
  16. package/dist/{assign-KDOJOTHO.js → assign-2HJHKJKL.js} +3 -3
  17. package/dist/{audience-size-HHCWV6W5.js → audience-size-W74YHNBX.js} +3 -3
  18. package/dist/{audit-F3WN3SMC.js → audit-76SDQ7C6.js} +3 -3
  19. package/dist/{autocomplete-VWIZFXEE.js → autocomplete-GZ4XVGC4.js} +3 -3
  20. package/dist/{avatars-ATZB2WU3.js → avatars-AILCY4T2.js} +4 -4
  21. package/dist/{bid-pricing-T26VH53W.js → bid-pricing-5435DI5H.js} +3 -3
  22. package/dist/{brand-VTAWDOYF.js → brand-4RWOQ7EN.js} +2 -2
  23. package/dist/{brief-6QNLMGJN.js → brief-2Y6PG6QI.js} +15 -15
  24. package/dist/{campaign-groups-BCXTDDVS.js → campaign-groups-XWQX7PSF.js} +8 -8
  25. package/dist/{campaign-writes-R2PAOLKC.js → campaign-writes-F4LVAD5N.js} +3 -3
  26. package/dist/{campaigns-TSIN7ZKI.js → campaigns-AFWP56ST.js} +11 -11
  27. package/dist/{campaigns-FLRLFDTU.js → campaigns-W7DMOOXW.js} +5 -5
  28. package/dist/{canvas-CFOSESUM.js → canvas-EMWTXDU3.js} +14 -14
  29. package/dist/{capabilities-MLO5VN6N.js → capabilities-7DSVIC2L.js} +3 -3
  30. package/dist/{catalog-I5CGBNDV.js → catalog-YY33VIDD.js} +6 -6
  31. package/dist/{chatgpt-PCGYRPN6.js → chatgpt-33BYXDJP.js} +1 -1
  32. package/dist/{chats-ZLTD4S7R.js → chats-4GAFW3QN.js} +3 -3
  33. package/dist/{chunk-QOOMJJLC.js → chunk-2MTAKAHE.js} +7 -7
  34. package/dist/{chunk-CHSNHVYF.js → chunk-2XQ5HU6D.js} +45 -139
  35. package/dist/chunk-2XQ5HU6D.js.map +1 -0
  36. package/dist/{chunk-7PTOGEUN.js → chunk-2YXY56FK.js} +2 -2
  37. package/dist/{chunk-ARFUXR65.js → chunk-365Z5TYR.js} +2 -2
  38. package/dist/{chunk-JOZO5KBH.js → chunk-3RS4M7AR.js} +3 -3
  39. package/dist/{chunk-GQPGUJZ2.js → chunk-3UA4THEF.js} +2 -2
  40. package/dist/{chunk-YRERFQ7Z.js → chunk-42ESQ4AJ.js} +2 -2
  41. package/dist/{chunk-D5JEKHBY.js → chunk-5H2H77HR.js} +2 -2
  42. package/dist/{chunk-FAB3BWE2.js → chunk-6SOB7QMD.js} +2 -2
  43. package/dist/{chunk-RCTVJ4IA.js → chunk-7JFGOMJN.js} +2 -2
  44. package/dist/{chunk-5Y7IXX43.js → chunk-7YOPIYCL.js} +6 -6
  45. package/dist/{chunk-WHR7GC6P.js → chunk-BCKSBIQ4.js} +3 -3
  46. package/dist/{chunk-ILOCP6HB.js → chunk-BKE32DQB.js} +4 -4
  47. package/dist/{chunk-3BXQSDMJ.js → chunk-CNAPU47I.js} +2 -2
  48. package/dist/{chunk-3J3C6OMU.js → chunk-D7KNUZ6Z.js} +2 -2
  49. package/dist/{chunk-GFX3BZRA.js → chunk-EMDUW6QN.js} +2 -2
  50. package/dist/{chunk-6USNEQZT.js → chunk-FD66LSFW.js} +2 -2
  51. package/dist/{chunk-EU7SLORY.js → chunk-FHY3BM2O.js} +2 -2
  52. package/dist/{chunk-WNRWGIJO.js → chunk-FSZEVFMI.js} +3 -3
  53. package/dist/{chunk-QULVXMJM.js → chunk-H5GLPZ36.js} +2 -2
  54. package/dist/{chunk-EMR7CW5V.js → chunk-IMH2ZKKC.js} +2 -2
  55. package/dist/{chunk-EZTEYFBZ.js → chunk-IPYG4OYK.js} +3 -3
  56. package/dist/{chunk-QYNBYV75.js → chunk-J5BHSJYL.js} +5 -5
  57. package/dist/{chunk-F23O67JZ.js → chunk-JHIVRENV.js} +3 -3
  58. package/dist/{chunk-WLWHXKRK.js → chunk-LK64CCN4.js} +4 -4
  59. package/dist/{chunk-BMD3HCSI.js → chunk-MCDU24JX.js} +2 -2
  60. package/dist/{chunk-XL5GRMEJ.js → chunk-MSKB6I5E.js} +3 -3
  61. package/dist/{chunk-DZ36ZVP2.js → chunk-MU23X3VU.js} +2 -2
  62. package/dist/{chunk-LUONQGPX.js → chunk-MX5TREEM.js} +2 -2
  63. package/dist/{chunk-UCVUZD4S.js → chunk-MZQBL7QU.js} +3 -3
  64. package/dist/{chunk-YHTADMBF.js → chunk-NC3GOGUT.js} +2 -2
  65. package/dist/{chunk-THE7NP45.js → chunk-NDITGFPZ.js} +13 -19
  66. package/dist/{chunk-THE7NP45.js.map → chunk-NDITGFPZ.js.map} +1 -1
  67. package/dist/{chunk-QFEZKCQL.js → chunk-OKHSMDCY.js} +2 -2
  68. package/dist/{chunk-JNRO6KGZ.js → chunk-OLV66PDA.js} +4 -4
  69. package/dist/{chunk-DF34WJES.js → chunk-OW6TNVRC.js} +2 -2
  70. package/dist/{chunk-FNMU3CQB.js → chunk-P4WQG3XS.js} +6 -6
  71. package/dist/{chunk-FTFP52EN.js → chunk-P6SFEIA5.js} +34 -34
  72. package/dist/{chunk-XABVEMC3.js → chunk-PHY3AERY.js} +9 -6
  73. package/dist/{chunk-XABVEMC3.js.map → chunk-PHY3AERY.js.map} +1 -1
  74. package/dist/{chunk-47SKT3VY.js → chunk-RCWEJUSF.js} +4 -4
  75. package/dist/chunk-RCWEJUSF.js.map +1 -0
  76. package/dist/{chunk-LXLRKZVM.js → chunk-RV222F63.js} +3 -3
  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-O7J4OAC7.js → chunk-WJOQ6IEK.js} +7 -9
  80. package/dist/chunk-WJOQ6IEK.js.map +1 -0
  81. package/dist/{chunk-Y47Y7OB4.js → chunk-WOLE67OJ.js} +15 -15
  82. package/dist/chunk-WOLE67OJ.js.map +1 -0
  83. package/dist/{chunk-EQER3KJU.js → chunk-WSD63XGR.js} +2 -2
  84. package/dist/{chunk-HCRY2ECL.js → chunk-YDAEGV42.js} +3 -3
  85. package/dist/{chunk-3YOS7IS2.js → chunk-ZZS6IUOY.js} +2 -2
  86. package/dist/{claim-FPMBDKVA.js → claim-XBVKGN7A.js} +3 -3
  87. package/dist/cli.js +31 -31
  88. package/dist/{companies-YIKSECXA.js → companies-IGDIQ64M.js} +3 -3
  89. package/dist/{complete-BQZ4ET2H.js → complete-CYPVVQWT.js} +3 -3
  90. package/dist/{connect-QTRDC3FE.js → connect-FVP4HT6T.js} +6 -6
  91. package/dist/{conversation-O3Z7GGNO.js → conversation-DDZKRMCI.js} +3 -3
  92. package/dist/{conversions-J3QJ54OL.js → conversions-5S5IMXGM.js} +7 -7
  93. package/dist/{create-VU2O4KVT.js → create-3WWCI3KY.js} +3 -3
  94. package/dist/{create-UAYJRFWI.js → create-GLPBZEQO.js} +3 -3
  95. package/dist/{create-QDCSIU77.js → create-GNVYQPBW.js} +14 -18
  96. package/dist/create-GNVYQPBW.js.map +1 -0
  97. package/dist/{create-7WTHFLAM.js → create-VHZWE4JQ.js} +2 -2
  98. package/dist/{creatives-FEUNFI3U.js → creatives-7VEIUD3G.js} +8 -8
  99. package/dist/{creatives-4ZAQ4O2Y.js → creatives-CW3FDOPI.js} +10 -10
  100. package/dist/{credentials-AGVQYHHU.js → credentials-2QHNU3SD.js} +3 -3
  101. package/dist/{critique-QNWUTSWL.js → critique-HU7ZONQ3.js} +9 -9
  102. package/dist/{critique-I5MZFSAL.js → critique-ZYSNLKNA.js} +3 -3
  103. package/dist/{crm-GQZGRNZ2.js → crm-BD4RK26E.js} +4 -4
  104. package/dist/{crm-D7PDFSFN.js → crm-LYRBIQOO.js} +4 -4
  105. package/dist/{customers-KXS2O4GP.js → customers-MO6ORQAN.js} +6 -6
  106. package/dist/{delete-2DTRGE7P.js → delete-NHN73V54.js} +2 -2
  107. package/dist/{delete-T6SU733E.js → delete-O3ZTHK3M.js} +3 -3
  108. package/dist/{delete-3INLUVVV.js → delete-YY6YJ3A6.js} +3 -3
  109. package/dist/{demographics-UXTNRK4V.js → demographics-YU75YZFO.js} +3 -3
  110. package/dist/{discard-5IHM6IYO.js → discard-DGK7PLWF.js} +3 -3
  111. package/dist/{domain-JLASSEZ2.js → domain-6NZKJW4W.js} +3 -3
  112. package/dist/{draft-GITTIXNR.js → draft-67OFDA53.js} +4 -4
  113. package/dist/{draft-ISOKIM5D.js → draft-RJ5HOJIR.js} +3 -3
  114. package/dist/{draft-FS46CIAI.js → draft-W5BXN7H3.js} +3 -3
  115. package/dist/engine/index.js +5 -5
  116. package/dist/{facets-OFPMNKXE.js → facets-3ZIRFE6P.js} +3 -3
  117. package/dist/{feedback-5BAK33K7.js → feedback-Y7MDEA5O.js} +2 -2
  118. package/dist/{feedback-record-GUT7HL45.js → feedback-record-SLU5RROR.js} +11 -11
  119. package/dist/{fetch-RZOERLD7.js → fetch-LUOENFIX.js} +3 -3
  120. package/dist/{find-NQGHE5D6.js → find-T7XJV535.js} +6 -6
  121. package/dist/{find-NQGHE5D6.js.map → find-T7XJV535.js.map} +1 -1
  122. package/dist/{fit-MAFRXGXG.js → fit-VKSQTJ3Q.js} +5 -5
  123. package/dist/{flows-S3LP4EZX.js → flows-JVU42DAA.js} +10 -10
  124. package/dist/{fonts-V74DIISZ.js → fonts-BTOLDILR.js} +5 -5
  125. package/dist/{forecast-WHRUXF4R.js → forecast-35EBPP2K.js} +3 -3
  126. package/dist/{funnel-K5BGG37Q.js → funnel-YH5LOG65.js} +8 -8
  127. package/dist/{ga4-73HIUKOL.js → ga4-T4ZHANT2.js} +1 -1
  128. package/dist/{generate-N3ATPP3Y.js → generate-KVQLIBAX.js} +5 -4
  129. package/dist/generate-KVQLIBAX.js.map +1 -0
  130. package/dist/{get-U3AAESRY.js → get-GSLIPHMD.js} +3 -3
  131. package/dist/{get-IRJ5GTM4.js → get-QOACNGXP.js} +3 -3
  132. package/dist/{google-TBZQ22PM.js → google-I2Z7QOHV.js} +2 -2
  133. package/dist/{google-TTQZPLUW.js → google-Z5UAFS3C.js} +5 -5
  134. package/dist/{google-ads-R6M35N5M.js → google-ads-E6VNIUEK.js} +3 -3
  135. package/dist/{history-AYFOLWXX.js → history-6TYCUXG2.js} +3 -3
  136. package/dist/{hubspot-DNRSCVUV.js → hubspot-LO7ZJPNO.js} +7 -7
  137. package/dist/{icon-DYSU6Y2X.js → icon-37BBWKJO.js} +4 -4
  138. package/dist/{ideas-UJ3FHOVI.js → ideas-2MSUALCW.js} +2 -2
  139. package/dist/{images-P6M2DCR4.js → images-TZKGJVQ2.js} +10 -10
  140. package/dist/{ingest-IU2CP2XA.js → ingest-3RQSRCO5.js} +3 -3
  141. package/dist/{ingest-GF6T4PVD.js → ingest-65T56KUI.js} +2 -2
  142. package/dist/{inspect-PUCON7KJ.js → inspect-QLFYFQU2.js} +3 -3
  143. package/dist/{inspiration-YJFIFBUO.js → inspiration-LYCDPQEY.js} +1 -1
  144. package/dist/{keyword-metrics-DRHUF4IR.js → keyword-metrics-Y5LWCCUJ.js} +3 -3
  145. package/dist/{keywords-for-site-JXUPFSOC.js → keywords-for-site-HGIX4S4F.js} +3 -3
  146. package/dist/{landing-C5OTTI2X.js → landing-EP23XIYL.js} +3 -3
  147. package/dist/{leads-LKDTIIMP.js → leads-2VKYMGP4.js} +3 -3
  148. package/dist/{learn-2YYQQZVD.js → learn-6W55U4ZG.js} +7 -7
  149. package/dist/{library-SAHHHIX6.js → library-HC5US7CE.js} +2 -2
  150. package/dist/library-HC5US7CE.js.map +1 -0
  151. package/dist/{line-item-writes-ULQ2KDZM.js → line-item-writes-LYWNJWZ2.js} +3 -3
  152. package/dist/{line-items-JDJ6A2EV.js → line-items-Q47IZGAD.js} +5 -5
  153. package/dist/{link-MVMC2WS2.js → link-4CQUXZPK.js} +3 -3
  154. package/dist/{linkedin-UG4PNBW5.js → linkedin-TQCPNOIL.js} +26 -26
  155. package/dist/{list-PEDFWQUB.js → list-3RZZFCIR.js} +2 -2
  156. package/dist/{list-PVJVSFZD.js → list-JHNUOEG6.js} +3 -3
  157. package/dist/{list-DZ42AKGO.js → list-RCOUIFKY.js} +3 -3
  158. package/dist/{log-P7WUFBOZ.js → log-5V5YMZGV.js} +3 -3
  159. package/dist/{logo-2ILQ2ZGH.js → logo-SOCGJLY5.js} +3 -3
  160. package/dist/{make-CGZTSI6C.js → make-M5LD3MX2.js} +22 -22
  161. package/dist/{map-4AJCYUYF.js → map-GD2BT7RO.js} +4 -4
  162. package/dist/{mcp-AEZUPY2M.js → mcp-WFRPWK3W.js} +2 -2
  163. package/dist/{media-sources-IIF4ABAZ.js → media-sources-YQURN7ZH.js} +2 -2
  164. package/dist/{members-WQ6L735T.js → members-4UCL6OKS.js} +3 -3
  165. package/dist/{meta-KUVNWEZ6.js → meta-B5XDM6F6.js} +1 -1
  166. package/dist/{models-SO7GOVCK.js → models-IUO3XGQK.js} +2 -2
  167. package/dist/{normalize-INJILBTT.js → normalize-O6ATWOWP.js} +3 -3
  168. package/dist/{options-ERPX5BZM.js → options-U4PY24PS.js} +6 -6
  169. package/dist/{performance-DPBVNT4D.js → performance-WGCN2XIC.js} +4 -4
  170. package/dist/{promoted-tweet-writes-FRW3AGJU.js → promoted-tweet-writes-YVSGOBAS.js} +3 -3
  171. package/dist/{promoted-tweets-LTOPCZIG.js → promoted-tweets-DQDEHTP4.js} +3 -3
  172. package/dist/{publish-K6OWATMQ.js → publish-I2XOKEHC.js} +3 -3
  173. package/dist/{reddit-IZLODVTB.js → reddit-GYVC7XPJ.js} +4 -4
  174. package/dist/{refresh-KSG7E3QU.js → refresh-XYZ2Q2SN.js} +2 -2
  175. package/dist/{release-OBXNPTMC.js → release-HOSW3VHR.js} +3 -3
  176. package/dist/{remove-LL32BJPN.js → remove-7QYX2OYJ.js} +2 -2
  177. package/dist/{reopen-4CPZ7CP2.js → reopen-HIVOKJOR.js} +3 -3
  178. package/dist/{rerun-LGXKLJHN.js → rerun-U6F4TEPA.js} +20 -20
  179. package/dist/{research-SJYICZEZ.js → research-43V2DWVK.js} +10 -10
  180. package/dist/{research-WZJE46GK.js → research-7TN24S4D.js} +2 -2
  181. package/dist/{reset-J2NSJF6Q.js → reset-B3FAY2EH.js} +2 -2
  182. package/dist/{reset-BYS25T56.js → reset-R5RM7ZTG.js} +2 -2
  183. package/dist/{resolve-FWVAXHJQ.js → resolve-I5YOKTRV.js} +3 -3
  184. package/dist/{retry-JNBCYB66.js → retry-A335Q6HS.js} +2 -2
  185. package/dist/{retry-YWAF66KC.js → retry-R4OWR7IK.js} +2 -2
  186. package/dist/{run-IHPSZKTX.js → run-TNO2VF2U.js} +20 -20
  187. package/dist/{run-YZSH2WZV.js → run-VZGXOWFL.js} +3 -3
  188. package/dist/{scaffold-ad-F5Z2MTD5.js → scaffold-ad-P5U2ZSTW.js} +16 -16
  189. package/dist/{scaffold-static-ad-ZUEY2IHH.js → scaffold-static-ad-YGKJ7TQS.js} +30 -30
  190. package/dist/{scaffold-video-KWFZMDHK.js → scaffold-video-RZ2TB3PI.js} +14 -14
  191. package/dist/{schedule-B6CYYTTB.js → schedule-HKIY6JI2.js} +2 -2
  192. package/dist/{scheduled-agents-RQK4BPT2.js → scheduled-agents-QM5Z3UNW.js} +14 -13
  193. package/dist/scheduled-agents-QM5Z3UNW.js.map +1 -0
  194. package/dist/{schema-QJTFENBO.js → schema-J6AIGXZ7.js} +4 -4
  195. package/dist/{search-YSAEEGCP.js → search-PK4IUZ4C.js} +2 -2
  196. package/dist/{select-JTMHIOCK.js → select-NBRJ6WLY.js} +11 -11
  197. package/dist/{set-prompt-AYTAXQNG.js → set-prompt-VNJ334YW.js} +10 -10
  198. package/dist/{setup-links-2OS7DUFY.js → setup-links-77534G7K.js} +3 -3
  199. package/dist/{site-6ZTWH3L7.js → site-EFQ2QFZX.js} +4 -4
  200. package/dist/{sources-264IPVML.js → sources-JQM4AKNL.js} +6 -6
  201. package/dist/{sources-WE7LZYAY.js → sources-WJ3EZ46E.js} +6 -6
  202. package/dist/{stale-GT7XCMZT.js → stale-Y5HC7BNS.js} +10 -10
  203. package/dist/{stats-OQ7DFNAG.js → stats-LLTHL5VR.js} +1 -1
  204. package/dist/{status-64NDHEY5.js → status-T25VZANV.js} +3 -3
  205. package/dist/{stock-FUGAYZBN.js → stock-WXAFJFAC.js} +5 -5
  206. package/dist/{studio-45PDCQJ4.js → studio-X546AIF2.js} +4 -4
  207. package/dist/{sync-Z22ZU6GK.js → sync-GCVG6QTL.js} +2 -2
  208. package/dist/{sync-definition-52T5D2JA.js → sync-definition-MWHPAMKG.js} +13 -13
  209. package/dist/{tag-manager-4A6JJXVB.js → tag-manager-HG76EBNX.js} +1 -1
  210. package/dist/{tags-QETD7MVS.js → tags-6KXDDSBW.js} +3 -3
  211. package/dist/{tags-6B6UVIIG.js → tags-NFBMGARL.js} +3 -3
  212. package/dist/{tags-CFUAM5BJ.js → tags-SJIXKMQH.js} +3 -3
  213. package/dist/{tags-MEBR6WOT.js → tags-T4OK7QXX.js} +4 -4
  214. package/dist/{tags-M4XMZOB6.js → tags-UE2S4UCB.js} +2 -2
  215. package/dist/{targeting-criteria-XK23GFQR.js → targeting-criteria-NZVF6ZOK.js} +3 -3
  216. package/dist/{targets-UWAUCHT4.js → targets-4II2CNRP.js} +3 -3
  217. package/dist/{testimonials-2FM4P4K4.js → testimonials-NODH7BWK.js} +6 -6
  218. package/dist/{top-companies-BB3P4J42.js → top-companies-MWOOBUSM.js} +3 -3
  219. package/dist/{translate-GAZLCGHQ.js → translate-26KMJSWL.js} +21 -21
  220. package/dist/{triggers-MVN4DDAP.js → triggers-LYPP4FKZ.js} +3 -3
  221. package/dist/{unlink-W7XUMZ6U.js → unlink-OL7UNUYB.js} +3 -3
  222. package/dist/{unstage-N2W43SYF.js → unstage-6GUUIEWL.js} +3 -3
  223. package/dist/{update-RXLB53IV.js → update-2YZVDSWQ.js} +3 -3
  224. package/dist/{update-XPBVSOEY.js → update-HSMB6JMZ.js} +2 -2
  225. package/dist/{update-WI5HY3DX.js → update-PCVBEGSU.js} +3 -3
  226. package/dist/{update-G4ZEF73I.js → update-QWWAXFWH.js} +3 -3
  227. package/dist/{upload-PGELUEHC.js → upload-VBPWOAKD.js} +3 -3
  228. package/dist/{url-params-E4F4L7IO.js → url-params-4AD467SA.js} +3 -3
  229. package/dist/{validate-KG2RSGAR.js → validate-W4QZZFXV.js} +11 -11
  230. package/dist/{videos-HE4SPXEF.js → videos-DJHFHZI5.js} +5 -5
  231. package/dist/{viewer-check-MPIBLHFL.js → viewer-check-GL2UNAGR.js} +4 -4
  232. package/dist/{web-TIOL6BFU.js → web-N4RNU7UH.js} +3 -3
  233. package/dist/{winning-ads-LBP23L5Q.js → winning-ads-SVUUR443.js} +3 -3
  234. package/dist/{write-commands-GQSRA2BA.js → write-commands-WVJJJFBP.js} +4 -4
  235. package/dist/{x-HMLUAACA.js → x-65R63NFK.js} +7 -7
  236. package/package.json +1 -1
  237. package/dist/chunk-47SKT3VY.js.map +0 -1
  238. package/dist/chunk-CHSNHVYF.js.map +0 -1
  239. package/dist/chunk-O7J4OAC7.js.map +0 -1
  240. package/dist/chunk-Y47Y7OB4.js.map +0 -1
  241. package/dist/create-QDCSIU77.js.map +0 -1
  242. package/dist/generate-N3ATPP3Y.js.map +0 -1
  243. package/dist/library-SAHHHIX6.js.map +0 -1
  244. package/dist/scheduled-agents-RQK4BPT2.js.map +0 -1
  245. package/dist/templates-CY4HGEQO.js +0 -178
  246. package/dist/templates-CY4HGEQO.js.map +0 -1
  247. /package/dist/{account-DJN7KX36.js.map → account-QR5LCE74.js.map} +0 -0
  248. /package/dist/{accounts-UTABLCS6.js.map → accounts-L2SNBNOO.js.map} +0 -0
  249. /package/dist/{accounts-PFBK6KT3.js.map → accounts-LG4B7NWO.js.map} +0 -0
  250. /package/dist/{actions-HYDPRUMY.js.map → actions-LMKQCN4E.js.map} +0 -0
  251. /package/dist/{activecampaign-DEFGV2GB.js.map → activecampaign-RZEJ25GO.js.map} +0 -0
  252. /package/dist/{add-XFCKOO6B.js.map → add-DDKP3OOS.js.map} +0 -0
  253. /package/dist/{add-TM7AYRYC.js.map → add-HQERVTGX.js.map} +0 -0
  254. /package/dist/{ads-Q3373W6W.js.map → ads-WB2X5SYO.js.map} +0 -0
  255. /package/dist/{advertisers-CDKZPAWV.js.map → advertisers-OEHGT3U2.js.map} +0 -0
  256. /package/dist/{analytics-TAEPXJUM.js.map → analytics-ILWIWU7C.js.map} +0 -0
  257. /package/dist/{analytics-G7CFO4FR.js.map → analytics-JYBKFGP4.js.map} +0 -0
  258. /package/dist/{animate-ETEHY5A3.js.map → animate-NVEQOLHK.js.map} +0 -0
  259. /package/dist/{assign-KDOJOTHO.js.map → assign-2HJHKJKL.js.map} +0 -0
  260. /package/dist/{audience-size-HHCWV6W5.js.map → audience-size-W74YHNBX.js.map} +0 -0
  261. /package/dist/{audit-F3WN3SMC.js.map → audit-76SDQ7C6.js.map} +0 -0
  262. /package/dist/{autocomplete-VWIZFXEE.js.map → autocomplete-GZ4XVGC4.js.map} +0 -0
  263. /package/dist/{avatars-ATZB2WU3.js.map → avatars-AILCY4T2.js.map} +0 -0
  264. /package/dist/{bid-pricing-T26VH53W.js.map → bid-pricing-5435DI5H.js.map} +0 -0
  265. /package/dist/{brand-VTAWDOYF.js.map → brand-4RWOQ7EN.js.map} +0 -0
  266. /package/dist/{brief-6QNLMGJN.js.map → brief-2Y6PG6QI.js.map} +0 -0
  267. /package/dist/{campaign-groups-BCXTDDVS.js.map → campaign-groups-XWQX7PSF.js.map} +0 -0
  268. /package/dist/{campaign-writes-R2PAOLKC.js.map → campaign-writes-F4LVAD5N.js.map} +0 -0
  269. /package/dist/{campaigns-TSIN7ZKI.js.map → campaigns-AFWP56ST.js.map} +0 -0
  270. /package/dist/{campaigns-FLRLFDTU.js.map → campaigns-W7DMOOXW.js.map} +0 -0
  271. /package/dist/{canvas-CFOSESUM.js.map → canvas-EMWTXDU3.js.map} +0 -0
  272. /package/dist/{capabilities-MLO5VN6N.js.map → capabilities-7DSVIC2L.js.map} +0 -0
  273. /package/dist/{catalog-I5CGBNDV.js.map → catalog-YY33VIDD.js.map} +0 -0
  274. /package/dist/{chatgpt-PCGYRPN6.js.map → chatgpt-33BYXDJP.js.map} +0 -0
  275. /package/dist/{chats-ZLTD4S7R.js.map → chats-4GAFW3QN.js.map} +0 -0
  276. /package/dist/{chunk-QOOMJJLC.js.map → chunk-2MTAKAHE.js.map} +0 -0
  277. /package/dist/{chunk-7PTOGEUN.js.map → chunk-2YXY56FK.js.map} +0 -0
  278. /package/dist/{chunk-ARFUXR65.js.map → chunk-365Z5TYR.js.map} +0 -0
  279. /package/dist/{chunk-JOZO5KBH.js.map → chunk-3RS4M7AR.js.map} +0 -0
  280. /package/dist/{chunk-GQPGUJZ2.js.map → chunk-3UA4THEF.js.map} +0 -0
  281. /package/dist/{chunk-YRERFQ7Z.js.map → chunk-42ESQ4AJ.js.map} +0 -0
  282. /package/dist/{chunk-D5JEKHBY.js.map → chunk-5H2H77HR.js.map} +0 -0
  283. /package/dist/{chunk-FAB3BWE2.js.map → chunk-6SOB7QMD.js.map} +0 -0
  284. /package/dist/{chunk-RCTVJ4IA.js.map → chunk-7JFGOMJN.js.map} +0 -0
  285. /package/dist/{chunk-5Y7IXX43.js.map → chunk-7YOPIYCL.js.map} +0 -0
  286. /package/dist/{chunk-WHR7GC6P.js.map → chunk-BCKSBIQ4.js.map} +0 -0
  287. /package/dist/{chunk-ILOCP6HB.js.map → chunk-BKE32DQB.js.map} +0 -0
  288. /package/dist/{chunk-3BXQSDMJ.js.map → chunk-CNAPU47I.js.map} +0 -0
  289. /package/dist/{chunk-3J3C6OMU.js.map → chunk-D7KNUZ6Z.js.map} +0 -0
  290. /package/dist/{chunk-GFX3BZRA.js.map → chunk-EMDUW6QN.js.map} +0 -0
  291. /package/dist/{chunk-6USNEQZT.js.map → chunk-FD66LSFW.js.map} +0 -0
  292. /package/dist/{chunk-EU7SLORY.js.map → chunk-FHY3BM2O.js.map} +0 -0
  293. /package/dist/{chunk-WNRWGIJO.js.map → chunk-FSZEVFMI.js.map} +0 -0
  294. /package/dist/{chunk-QULVXMJM.js.map → chunk-H5GLPZ36.js.map} +0 -0
  295. /package/dist/{chunk-EMR7CW5V.js.map → chunk-IMH2ZKKC.js.map} +0 -0
  296. /package/dist/{chunk-EZTEYFBZ.js.map → chunk-IPYG4OYK.js.map} +0 -0
  297. /package/dist/{chunk-QYNBYV75.js.map → chunk-J5BHSJYL.js.map} +0 -0
  298. /package/dist/{chunk-F23O67JZ.js.map → chunk-JHIVRENV.js.map} +0 -0
  299. /package/dist/{chunk-WLWHXKRK.js.map → chunk-LK64CCN4.js.map} +0 -0
  300. /package/dist/{chunk-BMD3HCSI.js.map → chunk-MCDU24JX.js.map} +0 -0
  301. /package/dist/{chunk-XL5GRMEJ.js.map → chunk-MSKB6I5E.js.map} +0 -0
  302. /package/dist/{chunk-DZ36ZVP2.js.map → chunk-MU23X3VU.js.map} +0 -0
  303. /package/dist/{chunk-LUONQGPX.js.map → chunk-MX5TREEM.js.map} +0 -0
  304. /package/dist/{chunk-UCVUZD4S.js.map → chunk-MZQBL7QU.js.map} +0 -0
  305. /package/dist/{chunk-YHTADMBF.js.map → chunk-NC3GOGUT.js.map} +0 -0
  306. /package/dist/{chunk-QFEZKCQL.js.map → chunk-OKHSMDCY.js.map} +0 -0
  307. /package/dist/{chunk-JNRO6KGZ.js.map → chunk-OLV66PDA.js.map} +0 -0
  308. /package/dist/{chunk-DF34WJES.js.map → chunk-OW6TNVRC.js.map} +0 -0
  309. /package/dist/{chunk-FNMU3CQB.js.map → chunk-P4WQG3XS.js.map} +0 -0
  310. /package/dist/{chunk-FTFP52EN.js.map → chunk-P6SFEIA5.js.map} +0 -0
  311. /package/dist/{chunk-LXLRKZVM.js.map → chunk-RV222F63.js.map} +0 -0
  312. /package/dist/{chunk-HQSCJYZO.js.map → chunk-U6RTBCU7.js.map} +0 -0
  313. /package/dist/{chunk-X34CSP2W.js.map → chunk-VTK2W2NI.js.map} +0 -0
  314. /package/dist/{chunk-EQER3KJU.js.map → chunk-WSD63XGR.js.map} +0 -0
  315. /package/dist/{chunk-HCRY2ECL.js.map → chunk-YDAEGV42.js.map} +0 -0
  316. /package/dist/{chunk-3YOS7IS2.js.map → chunk-ZZS6IUOY.js.map} +0 -0
  317. /package/dist/{claim-FPMBDKVA.js.map → claim-XBVKGN7A.js.map} +0 -0
  318. /package/dist/{companies-YIKSECXA.js.map → companies-IGDIQ64M.js.map} +0 -0
  319. /package/dist/{complete-BQZ4ET2H.js.map → complete-CYPVVQWT.js.map} +0 -0
  320. /package/dist/{connect-QTRDC3FE.js.map → connect-FVP4HT6T.js.map} +0 -0
  321. /package/dist/{conversation-O3Z7GGNO.js.map → conversation-DDZKRMCI.js.map} +0 -0
  322. /package/dist/{conversions-J3QJ54OL.js.map → conversions-5S5IMXGM.js.map} +0 -0
  323. /package/dist/{create-VU2O4KVT.js.map → create-3WWCI3KY.js.map} +0 -0
  324. /package/dist/{create-UAYJRFWI.js.map → create-GLPBZEQO.js.map} +0 -0
  325. /package/dist/{create-7WTHFLAM.js.map → create-VHZWE4JQ.js.map} +0 -0
  326. /package/dist/{creatives-FEUNFI3U.js.map → creatives-7VEIUD3G.js.map} +0 -0
  327. /package/dist/{creatives-4ZAQ4O2Y.js.map → creatives-CW3FDOPI.js.map} +0 -0
  328. /package/dist/{credentials-AGVQYHHU.js.map → credentials-2QHNU3SD.js.map} +0 -0
  329. /package/dist/{critique-QNWUTSWL.js.map → critique-HU7ZONQ3.js.map} +0 -0
  330. /package/dist/{critique-I5MZFSAL.js.map → critique-ZYSNLKNA.js.map} +0 -0
  331. /package/dist/{crm-GQZGRNZ2.js.map → crm-BD4RK26E.js.map} +0 -0
  332. /package/dist/{crm-D7PDFSFN.js.map → crm-LYRBIQOO.js.map} +0 -0
  333. /package/dist/{customers-KXS2O4GP.js.map → customers-MO6ORQAN.js.map} +0 -0
  334. /package/dist/{delete-2DTRGE7P.js.map → delete-NHN73V54.js.map} +0 -0
  335. /package/dist/{delete-T6SU733E.js.map → delete-O3ZTHK3M.js.map} +0 -0
  336. /package/dist/{delete-3INLUVVV.js.map → delete-YY6YJ3A6.js.map} +0 -0
  337. /package/dist/{demographics-UXTNRK4V.js.map → demographics-YU75YZFO.js.map} +0 -0
  338. /package/dist/{discard-5IHM6IYO.js.map → discard-DGK7PLWF.js.map} +0 -0
  339. /package/dist/{domain-JLASSEZ2.js.map → domain-6NZKJW4W.js.map} +0 -0
  340. /package/dist/{draft-GITTIXNR.js.map → draft-67OFDA53.js.map} +0 -0
  341. /package/dist/{draft-ISOKIM5D.js.map → draft-RJ5HOJIR.js.map} +0 -0
  342. /package/dist/{draft-FS46CIAI.js.map → draft-W5BXN7H3.js.map} +0 -0
  343. /package/dist/{facets-OFPMNKXE.js.map → facets-3ZIRFE6P.js.map} +0 -0
  344. /package/dist/{feedback-5BAK33K7.js.map → feedback-Y7MDEA5O.js.map} +0 -0
  345. /package/dist/{feedback-record-GUT7HL45.js.map → feedback-record-SLU5RROR.js.map} +0 -0
  346. /package/dist/{fetch-RZOERLD7.js.map → fetch-LUOENFIX.js.map} +0 -0
  347. /package/dist/{fit-MAFRXGXG.js.map → fit-VKSQTJ3Q.js.map} +0 -0
  348. /package/dist/{flows-S3LP4EZX.js.map → flows-JVU42DAA.js.map} +0 -0
  349. /package/dist/{fonts-V74DIISZ.js.map → fonts-BTOLDILR.js.map} +0 -0
  350. /package/dist/{forecast-WHRUXF4R.js.map → forecast-35EBPP2K.js.map} +0 -0
  351. /package/dist/{funnel-K5BGG37Q.js.map → funnel-YH5LOG65.js.map} +0 -0
  352. /package/dist/{ga4-73HIUKOL.js.map → ga4-T4ZHANT2.js.map} +0 -0
  353. /package/dist/{get-U3AAESRY.js.map → get-GSLIPHMD.js.map} +0 -0
  354. /package/dist/{get-IRJ5GTM4.js.map → get-QOACNGXP.js.map} +0 -0
  355. /package/dist/{google-TBZQ22PM.js.map → google-I2Z7QOHV.js.map} +0 -0
  356. /package/dist/{google-TTQZPLUW.js.map → google-Z5UAFS3C.js.map} +0 -0
  357. /package/dist/{google-ads-R6M35N5M.js.map → google-ads-E6VNIUEK.js.map} +0 -0
  358. /package/dist/{history-AYFOLWXX.js.map → history-6TYCUXG2.js.map} +0 -0
  359. /package/dist/{hubspot-DNRSCVUV.js.map → hubspot-LO7ZJPNO.js.map} +0 -0
  360. /package/dist/{icon-DYSU6Y2X.js.map → icon-37BBWKJO.js.map} +0 -0
  361. /package/dist/{ideas-UJ3FHOVI.js.map → ideas-2MSUALCW.js.map} +0 -0
  362. /package/dist/{images-P6M2DCR4.js.map → images-TZKGJVQ2.js.map} +0 -0
  363. /package/dist/{ingest-IU2CP2XA.js.map → ingest-3RQSRCO5.js.map} +0 -0
  364. /package/dist/{ingest-GF6T4PVD.js.map → ingest-65T56KUI.js.map} +0 -0
  365. /package/dist/{inspect-PUCON7KJ.js.map → inspect-QLFYFQU2.js.map} +0 -0
  366. /package/dist/{inspiration-YJFIFBUO.js.map → inspiration-LYCDPQEY.js.map} +0 -0
  367. /package/dist/{keyword-metrics-DRHUF4IR.js.map → keyword-metrics-Y5LWCCUJ.js.map} +0 -0
  368. /package/dist/{keywords-for-site-JXUPFSOC.js.map → keywords-for-site-HGIX4S4F.js.map} +0 -0
  369. /package/dist/{landing-C5OTTI2X.js.map → landing-EP23XIYL.js.map} +0 -0
  370. /package/dist/{leads-LKDTIIMP.js.map → leads-2VKYMGP4.js.map} +0 -0
  371. /package/dist/{learn-2YYQQZVD.js.map → learn-6W55U4ZG.js.map} +0 -0
  372. /package/dist/{line-item-writes-ULQ2KDZM.js.map → line-item-writes-LYWNJWZ2.js.map} +0 -0
  373. /package/dist/{line-items-JDJ6A2EV.js.map → line-items-Q47IZGAD.js.map} +0 -0
  374. /package/dist/{link-MVMC2WS2.js.map → link-4CQUXZPK.js.map} +0 -0
  375. /package/dist/{linkedin-UG4PNBW5.js.map → linkedin-TQCPNOIL.js.map} +0 -0
  376. /package/dist/{list-PEDFWQUB.js.map → list-3RZZFCIR.js.map} +0 -0
  377. /package/dist/{list-PVJVSFZD.js.map → list-JHNUOEG6.js.map} +0 -0
  378. /package/dist/{list-DZ42AKGO.js.map → list-RCOUIFKY.js.map} +0 -0
  379. /package/dist/{log-P7WUFBOZ.js.map → log-5V5YMZGV.js.map} +0 -0
  380. /package/dist/{logo-2ILQ2ZGH.js.map → logo-SOCGJLY5.js.map} +0 -0
  381. /package/dist/{make-CGZTSI6C.js.map → make-M5LD3MX2.js.map} +0 -0
  382. /package/dist/{map-4AJCYUYF.js.map → map-GD2BT7RO.js.map} +0 -0
  383. /package/dist/{mcp-AEZUPY2M.js.map → mcp-WFRPWK3W.js.map} +0 -0
  384. /package/dist/{media-sources-IIF4ABAZ.js.map → media-sources-YQURN7ZH.js.map} +0 -0
  385. /package/dist/{members-WQ6L735T.js.map → members-4UCL6OKS.js.map} +0 -0
  386. /package/dist/{meta-KUVNWEZ6.js.map → meta-B5XDM6F6.js.map} +0 -0
  387. /package/dist/{models-SO7GOVCK.js.map → models-IUO3XGQK.js.map} +0 -0
  388. /package/dist/{normalize-INJILBTT.js.map → normalize-O6ATWOWP.js.map} +0 -0
  389. /package/dist/{options-ERPX5BZM.js.map → options-U4PY24PS.js.map} +0 -0
  390. /package/dist/{performance-DPBVNT4D.js.map → performance-WGCN2XIC.js.map} +0 -0
  391. /package/dist/{promoted-tweet-writes-FRW3AGJU.js.map → promoted-tweet-writes-YVSGOBAS.js.map} +0 -0
  392. /package/dist/{promoted-tweets-LTOPCZIG.js.map → promoted-tweets-DQDEHTP4.js.map} +0 -0
  393. /package/dist/{publish-K6OWATMQ.js.map → publish-I2XOKEHC.js.map} +0 -0
  394. /package/dist/{reddit-IZLODVTB.js.map → reddit-GYVC7XPJ.js.map} +0 -0
  395. /package/dist/{refresh-KSG7E3QU.js.map → refresh-XYZ2Q2SN.js.map} +0 -0
  396. /package/dist/{release-OBXNPTMC.js.map → release-HOSW3VHR.js.map} +0 -0
  397. /package/dist/{remove-LL32BJPN.js.map → remove-7QYX2OYJ.js.map} +0 -0
  398. /package/dist/{reopen-4CPZ7CP2.js.map → reopen-HIVOKJOR.js.map} +0 -0
  399. /package/dist/{rerun-LGXKLJHN.js.map → rerun-U6F4TEPA.js.map} +0 -0
  400. /package/dist/{research-SJYICZEZ.js.map → research-43V2DWVK.js.map} +0 -0
  401. /package/dist/{research-WZJE46GK.js.map → research-7TN24S4D.js.map} +0 -0
  402. /package/dist/{reset-J2NSJF6Q.js.map → reset-B3FAY2EH.js.map} +0 -0
  403. /package/dist/{reset-BYS25T56.js.map → reset-R5RM7ZTG.js.map} +0 -0
  404. /package/dist/{resolve-FWVAXHJQ.js.map → resolve-I5YOKTRV.js.map} +0 -0
  405. /package/dist/{retry-JNBCYB66.js.map → retry-A335Q6HS.js.map} +0 -0
  406. /package/dist/{retry-YWAF66KC.js.map → retry-R4OWR7IK.js.map} +0 -0
  407. /package/dist/{run-IHPSZKTX.js.map → run-TNO2VF2U.js.map} +0 -0
  408. /package/dist/{run-YZSH2WZV.js.map → run-VZGXOWFL.js.map} +0 -0
  409. /package/dist/{scaffold-ad-F5Z2MTD5.js.map → scaffold-ad-P5U2ZSTW.js.map} +0 -0
  410. /package/dist/{scaffold-static-ad-ZUEY2IHH.js.map → scaffold-static-ad-YGKJ7TQS.js.map} +0 -0
  411. /package/dist/{scaffold-video-KWFZMDHK.js.map → scaffold-video-RZ2TB3PI.js.map} +0 -0
  412. /package/dist/{schedule-B6CYYTTB.js.map → schedule-HKIY6JI2.js.map} +0 -0
  413. /package/dist/{schema-QJTFENBO.js.map → schema-J6AIGXZ7.js.map} +0 -0
  414. /package/dist/{search-YSAEEGCP.js.map → search-PK4IUZ4C.js.map} +0 -0
  415. /package/dist/{select-JTMHIOCK.js.map → select-NBRJ6WLY.js.map} +0 -0
  416. /package/dist/{set-prompt-AYTAXQNG.js.map → set-prompt-VNJ334YW.js.map} +0 -0
  417. /package/dist/{setup-links-2OS7DUFY.js.map → setup-links-77534G7K.js.map} +0 -0
  418. /package/dist/{site-6ZTWH3L7.js.map → site-EFQ2QFZX.js.map} +0 -0
  419. /package/dist/{sources-264IPVML.js.map → sources-JQM4AKNL.js.map} +0 -0
  420. /package/dist/{sources-WE7LZYAY.js.map → sources-WJ3EZ46E.js.map} +0 -0
  421. /package/dist/{stale-GT7XCMZT.js.map → stale-Y5HC7BNS.js.map} +0 -0
  422. /package/dist/{stats-OQ7DFNAG.js.map → stats-LLTHL5VR.js.map} +0 -0
  423. /package/dist/{status-64NDHEY5.js.map → status-T25VZANV.js.map} +0 -0
  424. /package/dist/{stock-FUGAYZBN.js.map → stock-WXAFJFAC.js.map} +0 -0
  425. /package/dist/{studio-45PDCQJ4.js.map → studio-X546AIF2.js.map} +0 -0
  426. /package/dist/{sync-Z22ZU6GK.js.map → sync-GCVG6QTL.js.map} +0 -0
  427. /package/dist/{sync-definition-52T5D2JA.js.map → sync-definition-MWHPAMKG.js.map} +0 -0
  428. /package/dist/{tag-manager-4A6JJXVB.js.map → tag-manager-HG76EBNX.js.map} +0 -0
  429. /package/dist/{tags-QETD7MVS.js.map → tags-6KXDDSBW.js.map} +0 -0
  430. /package/dist/{tags-6B6UVIIG.js.map → tags-NFBMGARL.js.map} +0 -0
  431. /package/dist/{tags-CFUAM5BJ.js.map → tags-SJIXKMQH.js.map} +0 -0
  432. /package/dist/{tags-MEBR6WOT.js.map → tags-T4OK7QXX.js.map} +0 -0
  433. /package/dist/{tags-M4XMZOB6.js.map → tags-UE2S4UCB.js.map} +0 -0
  434. /package/dist/{targeting-criteria-XK23GFQR.js.map → targeting-criteria-NZVF6ZOK.js.map} +0 -0
  435. /package/dist/{targets-UWAUCHT4.js.map → targets-4II2CNRP.js.map} +0 -0
  436. /package/dist/{testimonials-2FM4P4K4.js.map → testimonials-NODH7BWK.js.map} +0 -0
  437. /package/dist/{top-companies-BB3P4J42.js.map → top-companies-MWOOBUSM.js.map} +0 -0
  438. /package/dist/{translate-GAZLCGHQ.js.map → translate-26KMJSWL.js.map} +0 -0
  439. /package/dist/{triggers-MVN4DDAP.js.map → triggers-LYPP4FKZ.js.map} +0 -0
  440. /package/dist/{unlink-W7XUMZ6U.js.map → unlink-OL7UNUYB.js.map} +0 -0
  441. /package/dist/{unstage-N2W43SYF.js.map → unstage-6GUUIEWL.js.map} +0 -0
  442. /package/dist/{update-RXLB53IV.js.map → update-2YZVDSWQ.js.map} +0 -0
  443. /package/dist/{update-XPBVSOEY.js.map → update-HSMB6JMZ.js.map} +0 -0
  444. /package/dist/{update-WI5HY3DX.js.map → update-PCVBEGSU.js.map} +0 -0
  445. /package/dist/{update-G4ZEF73I.js.map → update-QWWAXFWH.js.map} +0 -0
  446. /package/dist/{upload-PGELUEHC.js.map → upload-VBPWOAKD.js.map} +0 -0
  447. /package/dist/{url-params-E4F4L7IO.js.map → url-params-4AD467SA.js.map} +0 -0
  448. /package/dist/{validate-KG2RSGAR.js.map → validate-W4QZZFXV.js.map} +0 -0
  449. /package/dist/{videos-HE4SPXEF.js.map → videos-DJHFHZI5.js.map} +0 -0
  450. /package/dist/{viewer-check-MPIBLHFL.js.map → viewer-check-GL2UNAGR.js.map} +0 -0
  451. /package/dist/{web-TIOL6BFU.js.map → web-N4RNU7UH.js.map} +0 -0
  452. /package/dist/{winning-ads-LBP23L5Q.js.map → winning-ads-SVUUR443.js.map} +0 -0
  453. /package/dist/{write-commands-GQSRA2BA.js.map → write-commands-WVJJJFBP.js.map} +0 -0
  454. /package/dist/{x-HMLUAACA.js.map → x-65R63NFK.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/scheduled-agents/create.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n AUTO_PUBLISH_ARG,\n buildTriggerBody,\n failApi,\n failValidation,\n NARROWING_ARGS,\n REACTION_ARGS,\n reactionBody,\n refuseAutoPublish,\n SLACK_ARG,\n slackBody,\n TRIGGER_ARG_DESCRIPTION,\n TRIGGER_KIND_LIST,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"scheduled-agents.create\",\n description:\n \"Stage a scheduled agent: a trigger and a prompt. Applies when the chat is published and returns a temp_agent_* ID. Start here: `baker scheduled-agents triggers` lists everything that can start one.\",\n args: {\n name: { type: \"string\", description: \"What a person will call it in the list\", required: true },\n description: { type: \"string\", description: \"One line under the name. Not read by the run.\", required: true },\n prompt: {\n type: \"string\",\n description:\n \"What the run does, in full. This IS the job — nothing else is resolved when it fires. Write it as you would write a message to an agent.\",\n required: true,\n },\n cron: { type: \"string\", description: \"5-field cron expression; implies --trigger time.cron\", required: false },\n \"run-at\": {\n type: \"string\",\n description:\n \"Run once at this ISO UTC timestamp ending in Z; implies --trigger time.once. Must still be in the future — a time that has passed is refused.\",\n required: false,\n },\n trigger: { type: \"string\", description: TRIGGER_ARG_DESCRIPTION, required: false, enum: TRIGGER_KIND_LIST },\n ...NARROWING_ARGS,\n occurrences: {\n type: \"string\",\n description:\n \"Run only on these firings of the trigger, 1-based and comma-separated. `1` is only the first time it ever happens. Omit it to run every time.\",\n required: false,\n },\n ...REACTION_ARGS,\n ...SLACK_ARG,\n timezone: { type: \"string\", description: \"IANA timezone override; defaults to Company Timezone\", required: false },\n disabled: { type: \"boolean\", description: \"Create it switched off\", required: false, default: false },\n template: {\n type: \"string\",\n description:\n \"Start from one of Baker's recipes, by its id from `baker scheduled-agents templates --list`. The recipe's brief is **copied** onto the item, so the person who owns it can read and edit exactly what it will do; anything you pass in --prompt is appended after it. Editing the recipe later does not change an item already built from it.\",\n required: false,\n },\n },\n});\n\nexport const createCommand = defineCommand({\n meta: {\n name: \"create\",\n description:\n 'Stage a scheduled agent. Examples: baker scheduled-agents create --name \"Weekly report\" --description \"...\" --prompt \"...\" --cron \"0 9 * * MON\" | baker scheduled-agents create --name \"Chase a new lead\" --description \"...\" --prompt \"Research {{payload.answers.company}} and draft a reply\" --trigger form.submitted --form quote | baker scheduled-agents create --name \"Big deals\" --description \"...\" --prompt \"...\" --trigger webhook.received --when \"deal.stage = won AND deal.amount > 10000\" --times 3',\n },\n args: {\n name: { type: \"string\", description: \"What a person will call it\", required: false },\n description: { type: \"string\", description: \"One line under the name\", required: false },\n prompt: { type: \"string\", description: \"What the run does, in full\", required: false },\n cron: { type: \"string\", description: \"5-field cron expression\", required: false },\n \"run-at\": { type: \"string\", description: \"ISO UTC timestamp ending in Z, still in the future\", required: false },\n trigger: { type: \"string\", description: `One of: ${TRIGGER_KIND_LIST.join(\", \")}`, required: false },\n ...NARROWING_ARGS,\n occurrences: { type: \"string\", description: \"Only these firings, e.g. 1 or 1,3\", required: false },\n ...REACTION_ARGS,\n ...SLACK_ARG,\n timezone: { type: \"string\", description: \"IANA timezone override\", required: false },\n disabled: { type: \"boolean\", description: \"Create it switched off\", required: false, default: false },\n template: { type: \"string\", description: \"Recipe id to start from\", required: false },\n\n ...AUTO_PUBLISH_ARG,\n },\n run: async ({ args }) => {\n try {\n refuseAutoPublish(args);\n const name = args.name as string | undefined;\n const description = args.description as string | undefined;\n const prompt = args.prompt as string | undefined;\n const template = typeof args.template === \"string\" ? args.template.trim() : \"\";\n if (!name || name.trim().length === 0) {\n failValidation(\"--name is required.\");\n }\n if (!description || description.trim().length === 0) {\n failValidation(\"--description is required.\");\n }\n // A recipe brings its own brief, so `--prompt` is what this company adds to\n // it rather than the whole job. Without one there is nothing to run.\n if (template.length === 0 && (!prompt || prompt.trim().length === 0)) {\n failValidation(\"--prompt is required: it is the whole of what a run does. Or pass --template to copy a brief.\");\n }\n const trigger = buildTriggerBody(args, { required: true });\n const reaction = reactionBody(args);\n const body: Record<string, unknown> = {\n chatId: requireChatId(),\n name,\n description,\n enabled: !args.disabled,\n ...trigger,\n ...(prompt ? { prompt } : {}),\n ...reaction,\n ...slackBody(args),\n ...(template.length > 0 ? { templateId: template } : {}),\n };\n const response = await apiPost<{ ok: true; data: { tempId: string } }>(\"/api/scheduled-agents/create\", body);\n writeJson(response);\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":"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","names":[]}
@@ -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":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/scheduled-agents/index.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\n\nexport const scheduledAgentsCommand = defineCommand({\n meta: {\n name: \"scheduled-agents\",\n description: `Manage Scheduled agents. Subcommands: list, get, triggers, targets, create, update, delete, unstage, run, templates.\n\nA scheduled agent is a **trigger** and a **prompt**, and nothing else. The trigger is the whole of the \"when\" — a time, a cadence, a call-in from another tool, an event arriving, a Form being submitted, an A/B test finishing, a Task closing. The prompt is the whole of the \"what\": when the trigger fires, a Session opens with that prompt and does the job. There is no Task in between.\n\nStart with \\`triggers\\`: a time of day is only the most obvious way to start one, and most of what a marketer actually wants is a reaction to something. Then \\`targets\\` to point it at one thing — this Task, that agent's publish, one competitor — rather than every one.\n\nDrafts: create/update/delete stage changes on BAKER_CHAT_ID and apply when the chat is published; \\`unstage\\` takes one back before then. \\`run\\` fires a published item immediately. \\`get\\` on a published item says who its runs act as and which tools they load (runsAs).\n\nPublishing every run's work unreviewed is the user's switch, on the item — not a flag. Ask them to turn it on after this chat is published.\n\nExamples:\n baker scheduled-agents triggers\n baker scheduled-agents targets --trigger task.claimed --field taskId\n baker scheduled-agents list\n baker scheduled-agents get <id-or-temp_agent_id>\n baker scheduled-agents create --name \"Weekly report\" --description \"...\" --prompt \"...\" --cron \"0 9 * * MON\"\n baker scheduled-agents create --name \"Chase a new lead\" --description \"...\" --prompt \"...\" --trigger form.submitted --form quote\n baker scheduled-agents create --name \"Welcome the first signup\" --description \"...\" --prompt \"...\" --trigger event.received --event signup --occurrences 1\n baker scheduled-agents create --name \"Check the SEO agent's work\" --description \"...\" --prompt \"...\" --trigger session.published --agent <id>\n baker scheduled-agents update <id-or-temp_agent_id> --enabled false\n baker scheduled-agents delete <id-or-temp_agent_id>\n baker scheduled-agents unstage <id-or-temp_agent_id> [--index <n>]\n baker scheduled-agents run <id>\nFull guide: __tooling__/docs/tools/baker/scheduled-agents.md`,\n },\n subCommands: {\n list: () => import(\"./list.ts\").then((m) => m.listCommand),\n get: () => import(\"./get.ts\").then((m) => m.getCommand),\n triggers: () => import(\"./triggers.ts\").then((m) => m.triggersCommand),\n targets: () => import(\"./targets.ts\").then((m) => m.targetsCommand),\n create: () => import(\"./create.ts\").then((m) => m.createCommand),\n update: () => import(\"./update.ts\").then((m) => m.updateCommand),\n delete: () => import(\"./delete.ts\").then((m) => m.deleteCommand),\n unstage: () => import(\"./unstage.ts\").then((m) => m.unstageCommand),\n templates: () => import(\"./templates.ts\").then((m) => m.templatesCommand),\n run: () => import(\"./run.ts\").then((m) => m.runCommand),\n },\n});\n"],"mappings":";;;AAAA,SAAS,qBAAqB;AAEvB,IAAM,yBAAyB,cAAc;AAAA,EAClD,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBf;AAAA,EACA,aAAa;AAAA,IACX,MAAM,MAAM,OAAO,oBAAW,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW;AAAA,IACzD,KAAK,MAAM,OAAO,mBAAU,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;AAAA,IACtD,UAAU,MAAM,OAAO,wBAAe,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe;AAAA,IACrE,SAAS,MAAM,OAAO,uBAAc,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IAClE,QAAQ,MAAM,OAAO,sBAAa,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC/D,QAAQ,MAAM,OAAO,sBAAa,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC/D,QAAQ,MAAM,OAAO,sBAAa,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa;AAAA,IAC/D,SAAS,MAAM,OAAO,uBAAc,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc;AAAA,IAClE,WAAW,MAAM,OAAO,yBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB;AAAA,IACxE,KAAK,MAAM,OAAO,mBAAU,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;AAAA,EACxD;AACF,CAAC;","names":[]}
@@ -1,178 +0,0 @@
1
- import {
2
- failApi,
3
- failValidation
4
- } from "./chunk-DF34WJES.js";
5
- import "./chunk-XABVEMC3.js";
6
- import "./chunk-GXDLWBOY.js";
7
- import "./chunk-GIWHHCD6.js";
8
- import "./chunk-XQIOCIDO.js";
9
- import "./chunk-ML7DLFFY.js";
10
- import {
11
- apiPost
12
- } from "./chunk-JLCK7K6Y.js";
13
- import "./chunk-F4H6VVPE.js";
14
- import {
15
- requireChatId
16
- } from "./chunk-G3UCXCC2.js";
17
- import {
18
- registerSchema,
19
- writeJson
20
- } from "./chunk-IWLWY2UD.js";
21
- import "./chunk-YQSBHWOI.js";
22
-
23
- // src/commands/scheduled-agents/templates.ts
24
- import { readFile } from "fs/promises";
25
- import path from "path";
26
- import { defineCommand } from "citty";
27
- registerSchema({
28
- command: "scheduled-agents.templates",
29
- description: "The recipes available to this company: the ones Baker ships plus the ones they wrote themselves, each with its id, what it produces and how often it is meant to run. Read this before proposing a company's automation, so every recipe you name is one that exists. Also how a company gets a recipe of its own \u2014 save a brief, prove it runs, then publish it.",
30
- args: {
31
- list: {
32
- type: "boolean",
33
- description: "List every recipe available to this company. Example: baker scheduled-agents templates --list",
34
- required: false
35
- },
36
- category: {
37
- type: "string",
38
- description: "Show one group only: ads, site, measurement, market, money, compliance, setup. Omit it when you are deciding what a company should have running \u2014 filtering picks the answer before you have read the options.",
39
- required: false
40
- },
41
- drafts: {
42
- type: "boolean",
43
- description: "Also show this company's own recipes that are still being worked on and cannot be scheduled yet",
44
- required: false
45
- },
46
- save: {
47
- type: "string",
48
- description: "Write a recipe of this company's own, by id (lowercase letters, numbers, hyphens). Needs --name, --tagline, --brief-file (or --brief), --recipe-category and --frequency. Saving does not offer it to anyone: run it first, then --publish.",
49
- required: false
50
- },
51
- name: { type: "string", description: "What a marketer would call it, up to 60 characters", required: false },
52
- tagline: {
53
- type: "string",
54
- description: "What one run produces, in their terms, up to 120 characters \u2014 the line under the name",
55
- required: false
56
- },
57
- brief: { type: "string", description: "The brief, inline. Prefer --brief-file for anything long", required: false },
58
- "brief-file": {
59
- type: "string",
60
- description: "Read the brief from a UTF-8 file. Preferred: it survives quoting, accents and newlines intact",
61
- required: false
62
- },
63
- "recipe-category": {
64
- type: "string",
65
- description: "Which group it belongs in: ads, site, measurement, market, money, compliance, setup",
66
- required: false
67
- },
68
- frequency: { type: "string", description: "How often it is meant to run: daily, weekly, monthly", required: false },
69
- publish: {
70
- type: "string",
71
- description: "Offer a saved recipe among this company's templates (what 'New scheduled agent' offers), by id. Refused unless the brief is complete and names a source this company actually has. Do this only after you have run it and read what it produced.",
72
- required: false
73
- },
74
- delete: {
75
- type: "string",
76
- description: "Remove one of this company's own recipes, by id. Does not touch Baker's own",
77
- required: false
78
- }
79
- }
80
- });
81
- var templatesCommand = defineCommand({
82
- meta: {
83
- name: "templates",
84
- description: `The recipes this company can run \u2014 Baker's own plus theirs, with what each one produces.
85
-
86
- Start here when you are deciding what a company should have running: prefer a recipe we already ship, and only write one of their own when nothing covers the ask.
87
-
88
- Writing one of theirs is three steps, in this order:
89
- 1. baker scheduled-agents templates --save weekly-posthog-check --name "..." --tagline "..." --recipe-category measurement --frequency weekly --brief-file brief.md
90
- 2. schedule it with --template and trigger it, then read what the run produced
91
- 3. baker scheduled-agents templates --publish weekly-posthog-check
92
-
93
- Step 2 is the point. Publishing puts it beside the ones we wrote, where it looks just as trustworthy and runs on their credits \u2014 so it is your job to know it works before anyone can switch it on.
94
-
95
- Examples:
96
- baker scheduled-agents templates --list
97
- baker scheduled-agents templates --list --category measurement
98
- Full guide: __tooling__/docs/tools/baker/scheduled-agents.md`
99
- },
100
- args: {
101
- list: { type: "boolean", description: "List every recipe available to this company", required: false },
102
- category: { type: "string", description: "Show one group only", required: false },
103
- drafts: { type: "boolean", description: "Include their own recipes still being worked on", required: false },
104
- save: { type: "string", description: "Write one of this company's own, by id", required: false },
105
- name: { type: "string", description: "What a marketer would call it", required: false },
106
- tagline: { type: "string", description: "What one run produces", required: false },
107
- brief: { type: "string", description: "The brief, inline", required: false },
108
- "brief-file": { type: "string", description: "Read the brief from a UTF-8 file", required: false },
109
- "recipe-category": { type: "string", description: "Which group it belongs in", required: false },
110
- frequency: { type: "string", description: "How often it is meant to run", required: false },
111
- publish: {
112
- type: "string",
113
- description: "Offer a saved recipe among the company's templates, by id",
114
- required: false
115
- },
116
- delete: { type: "string", description: "Remove one of this company's own, by id", required: false }
117
- },
118
- run: async ({ args }) => {
119
- const flag = (key) => {
120
- const value = args[key];
121
- return typeof value === "string" ? value.trim() : "";
122
- };
123
- try {
124
- const save = flag("save");
125
- const publish = flag("publish");
126
- const remove = flag("delete");
127
- if ([save, publish, remove].filter((id) => id.length > 0).length > 1) {
128
- failValidation("Pass one of --save, --publish or --delete at a time.");
129
- }
130
- if (save.length > 0) {
131
- const briefFile = flag("brief-file");
132
- const brief = briefFile.length > 0 ? await readFile(path.resolve(briefFile), "utf8") : flag("brief");
133
- if (brief.trim().length === 0) {
134
- failValidation("--brief-file (preferred) or --brief is required: the brief is the recipe.");
135
- }
136
- const response2 = await apiPost("/api/marketplace/save", {
137
- chatId: requireChatId(),
138
- slug: save,
139
- name: flag("name"),
140
- category: flag("recipe-category"),
141
- tagline: flag("tagline"),
142
- prompt: brief,
143
- frequency: flag("frequency")
144
- });
145
- writeJson(response2);
146
- return;
147
- }
148
- if (publish.length > 0) {
149
- const response2 = await apiPost("/api/marketplace/publish", {
150
- chatId: requireChatId(),
151
- slug: publish
152
- });
153
- writeJson(response2);
154
- return;
155
- }
156
- if (remove.length > 0) {
157
- const response2 = await apiPost("/api/marketplace/remove", {
158
- chatId: requireChatId(),
159
- slug: remove
160
- });
161
- writeJson(response2);
162
- return;
163
- }
164
- const category = flag("category");
165
- const response = await apiPost("/api/marketplace/list", {
166
- ...category.length > 0 ? { category } : {},
167
- ...args.drafts === true ? { drafts: true } : {}
168
- });
169
- writeJson(response);
170
- } catch (err) {
171
- failApi(err);
172
- }
173
- }
174
- });
175
- export {
176
- templatesCommand
177
- };
178
- //# sourceMappingURL=templates-CY4HGEQO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/scheduled-agents/templates.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type {\n MarketplaceListResponse,\n MarketplacePublishResponse,\n MarketplaceRemoveResponse,\n MarketplaceSaveResponse,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { requireChatId } from \"../../env.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { failApi, failValidation } from \"./shared.ts\";\n\nregisterSchema({\n command: \"scheduled-agents.templates\",\n description:\n \"The recipes available to this company: the ones Baker ships plus the ones they wrote themselves, each with its id, what it produces and how often it is meant to run. Read this before proposing a company's automation, so every recipe you name is one that exists. Also how a company gets a recipe of its own — save a brief, prove it runs, then publish it.\",\n args: {\n list: {\n type: \"boolean\",\n description: \"List every recipe available to this company. Example: baker scheduled-agents templates --list\",\n required: false,\n },\n category: {\n type: \"string\",\n description:\n \"Show one group only: ads, site, measurement, market, money, compliance, setup. Omit it when you are deciding what a company should have running — filtering picks the answer before you have read the options.\",\n required: false,\n },\n drafts: {\n type: \"boolean\",\n description: \"Also show this company's own recipes that are still being worked on and cannot be scheduled yet\",\n required: false,\n },\n save: {\n type: \"string\",\n description:\n \"Write a recipe of this company's own, by id (lowercase letters, numbers, hyphens). Needs --name, --tagline, --brief-file (or --brief), --recipe-category and --frequency. Saving does not offer it to anyone: run it first, then --publish.\",\n required: false,\n },\n name: { type: \"string\", description: \"What a marketer would call it, up to 60 characters\", required: false },\n tagline: {\n type: \"string\",\n description: \"What one run produces, in their terms, up to 120 characters — the line under the name\",\n required: false,\n },\n brief: { type: \"string\", description: \"The brief, inline. Prefer --brief-file for anything long\", required: false },\n \"brief-file\": {\n type: \"string\",\n description: \"Read the brief from a UTF-8 file. Preferred: it survives quoting, accents and newlines intact\",\n required: false,\n },\n \"recipe-category\": {\n type: \"string\",\n description: \"Which group it belongs in: ads, site, measurement, market, money, compliance, setup\",\n required: false,\n },\n frequency: { type: \"string\", description: \"How often it is meant to run: daily, weekly, monthly\", required: false },\n publish: {\n type: \"string\",\n description:\n \"Offer a saved recipe among this company's templates (what 'New scheduled agent' offers), by id. Refused unless the brief is complete and names a source this company actually has. Do this only after you have run it and read what it produced.\",\n required: false,\n },\n delete: {\n type: \"string\",\n description: \"Remove one of this company's own recipes, by id. Does not touch Baker's own\",\n required: false,\n },\n },\n});\n\n/**\n * The marketplace: reading it, and writing a company's own.\n *\n * A recipe is a brief with the thinking already done — everything a Scheduled\n * item needs except the trigger, which the company picks when they import it. Baker's own are maintained by us and improve for everyone running them;\n * a company's own is theirs, and this is where it comes from.\n *\n * The order matters and is not negotiable: **ours first**. A company writes its\n * own only when nothing we ship covers what they asked for, and a recipe of\n * theirs can never take one of our ids.\n *\n * Nothing here switches anything on. A recipe becomes a job through\n * `scheduled-agents create --template <id>`, staged for the company like every\n * other change.\n */\nexport const templatesCommand = defineCommand({\n meta: {\n name: \"templates\",\n description: `The recipes this company can run — Baker's own plus theirs, with what each one produces.\n\nStart here when you are deciding what a company should have running: prefer a recipe we already ship, and only write one of their own when nothing covers the ask.\n\nWriting one of theirs is three steps, in this order:\n 1. baker scheduled-agents templates --save weekly-posthog-check --name \"...\" --tagline \"...\" --recipe-category measurement --frequency weekly --brief-file brief.md\n 2. schedule it with --template and trigger it, then read what the run produced\n 3. baker scheduled-agents templates --publish weekly-posthog-check\n\nStep 2 is the point. Publishing puts it beside the ones we wrote, where it looks just as trustworthy and runs on their credits — so it is your job to know it works before anyone can switch it on.\n\nExamples:\n baker scheduled-agents templates --list\n baker scheduled-agents templates --list --category measurement\nFull guide: __tooling__/docs/tools/baker/scheduled-agents.md`,\n },\n args: {\n list: { type: \"boolean\", description: \"List every recipe available to this company\", required: false },\n category: { type: \"string\", description: \"Show one group only\", required: false },\n drafts: { type: \"boolean\", description: \"Include their own recipes still being worked on\", required: false },\n save: { type: \"string\", description: \"Write one of this company's own, by id\", required: false },\n name: { type: \"string\", description: \"What a marketer would call it\", required: false },\n tagline: { type: \"string\", description: \"What one run produces\", required: false },\n brief: { type: \"string\", description: \"The brief, inline\", required: false },\n \"brief-file\": { type: \"string\", description: \"Read the brief from a UTF-8 file\", required: false },\n \"recipe-category\": { type: \"string\", description: \"Which group it belongs in\", required: false },\n frequency: { type: \"string\", description: \"How often it is meant to run\", required: false },\n publish: {\n type: \"string\",\n description: \"Offer a saved recipe among the company's templates, by id\",\n required: false,\n },\n delete: { type: \"string\", description: \"Remove one of this company's own, by id\", required: false },\n },\n run: async ({ args }) => {\n const flag = (key: string): string => {\n const value = args[key];\n return typeof value === \"string\" ? value.trim() : \"\";\n };\n try {\n const save = flag(\"save\");\n const publish = flag(\"publish\");\n const remove = flag(\"delete\");\n if ([save, publish, remove].filter((id) => id.length > 0).length > 1) {\n failValidation(\"Pass one of --save, --publish or --delete at a time.\");\n }\n\n if (save.length > 0) {\n const briefFile = flag(\"brief-file\");\n const brief = briefFile.length > 0 ? await readFile(path.resolve(briefFile), \"utf8\") : flag(\"brief\");\n if (brief.trim().length === 0) {\n failValidation(\"--brief-file (preferred) or --brief is required: the brief is the recipe.\");\n }\n const response = await apiPost<{ ok: true; data: MarketplaceSaveResponse }>(\"/api/marketplace/save\", {\n chatId: requireChatId(),\n slug: save,\n name: flag(\"name\"),\n category: flag(\"recipe-category\"),\n tagline: flag(\"tagline\"),\n prompt: brief,\n frequency: flag(\"frequency\"),\n });\n writeJson(response);\n return;\n }\n\n if (publish.length > 0) {\n const response = await apiPost<{ ok: true; data: MarketplacePublishResponse }>(\"/api/marketplace/publish\", {\n chatId: requireChatId(),\n slug: publish,\n });\n writeJson(response);\n return;\n }\n\n if (remove.length > 0) {\n const response = await apiPost<{ ok: true; data: MarketplaceRemoveResponse }>(\"/api/marketplace/remove\", {\n chatId: requireChatId(),\n slug: remove,\n });\n writeJson(response);\n return;\n }\n\n // No branch on `--list`: listing is all this command does without a write\n // flag, so the bare command answering the same question is a kindness\n // rather than a missing check.\n const category = flag(\"category\");\n const response = await apiPost<{ ok: true; data: MarketplaceListResponse }>(\"/api/marketplace/list\", {\n ...(category.length > 0 ? { category } : {}),\n ...(args.drafts === true ? { drafts: true } : {}),\n });\n writeJson(response);\n } catch (err) {\n failApi(err);\n }\n },\n});\n"],"mappings":"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","names":["response"]}