mastra 1.0.0-beta.14 → 1.0.0-beta.16

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 (1023) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/chunk-F5PXC644.js +2077 -0
  3. package/dist/chunk-F5PXC644.js.map +1 -0
  4. package/dist/commands/create/create.js +1 -1
  5. package/dist/commands/create/utils.d.ts.map +1 -1
  6. package/dist/commands/init/utils.d.ts.map +1 -1
  7. package/dist/index.js +9 -9
  8. package/dist/index.js.map +1 -1
  9. package/dist/services/service.deps.d.ts.map +1 -1
  10. package/dist/studio/assets/abap-CErE10Cp.js +1 -0
  11. package/dist/studio/assets/abnf-Be5u3AD4.js +1 -0
  12. package/dist/studio/assets/actionscript-BJWOuK_3.js +1 -0
  13. package/dist/studio/assets/ada-CipCCPG8.js +1 -0
  14. package/dist/studio/assets/agda-BOeywCKU.js +1 -0
  15. package/dist/studio/assets/al-CabGPRtr.js +1 -0
  16. package/dist/studio/assets/antlr4-BH1x7qDi.js +1 -0
  17. package/dist/studio/assets/apacheconf-BSfqY87l.js +1 -0
  18. package/dist/studio/assets/apex-C87OeXbm.js +1 -0
  19. package/dist/studio/assets/apl-SITgf_aC.js +1 -0
  20. package/dist/studio/assets/applescript-B3csYozt.js +1 -0
  21. package/dist/studio/assets/aql-D-OS4oN-.js +1 -0
  22. package/dist/studio/assets/arduino-DGtCfhzg.js +1 -0
  23. package/dist/studio/assets/arff-CLiCC5ob.js +1 -0
  24. package/dist/studio/assets/asciidoc-BICKHnYp.js +1 -0
  25. package/dist/studio/assets/asm6502-FB32btP-.js +1 -0
  26. package/dist/studio/assets/asmatmel-CqGxnHpv.js +1 -0
  27. package/dist/studio/assets/aspnet-DroX19H2.js +1 -0
  28. package/dist/studio/assets/autohotkey-MQHJxU2H.js +1 -0
  29. package/dist/studio/assets/autoit-CFMYAly2.js +1 -0
  30. package/dist/studio/assets/avisynth-CD7jqU7Z.js +1 -0
  31. package/dist/studio/assets/avro-idl-CLRBbBDt.js +1 -0
  32. package/dist/studio/assets/bash-E2x-jWlf.js +1 -0
  33. package/dist/studio/assets/basic-B8Vs-eYi.js +1 -0
  34. package/dist/studio/assets/batch-B1w8-fca.js +1 -0
  35. package/dist/studio/assets/bbcode-DNij92IQ.js +1 -0
  36. package/dist/studio/assets/bicep---jg7rI9.js +1 -0
  37. package/dist/studio/assets/birb-CwaW4bDl.js +1 -0
  38. package/dist/studio/assets/bison-D18q6QXf.js +1 -0
  39. package/dist/studio/assets/bnf-ou53thyG.js +1 -0
  40. package/dist/studio/assets/brainfuck-DLzCCtsS.js +1 -0
  41. package/dist/studio/assets/brightscript-CAYxd5FB.js +1 -0
  42. package/dist/studio/assets/bro-Ca_WB1P3.js +1 -0
  43. package/dist/studio/assets/bsl-CIA6wXv1.js +1 -0
  44. package/dist/studio/assets/c-CXhAHrWK.js +1 -0
  45. package/dist/studio/assets/cfscript-CW-IjO2P.js +1 -0
  46. package/dist/studio/assets/chaiscript-M-KUJle_.js +1 -0
  47. package/dist/studio/assets/chunk-55VPMN3N-BuLK6rn1-DMb8ebdN.js +1 -0
  48. package/dist/studio/assets/chunk-55VPMN3N-De6uaMt_.js +1 -0
  49. package/dist/studio/assets/cil-ardUox1-.js +1 -0
  50. package/dist/studio/assets/clike-BTTRGqqV.js +1 -0
  51. package/dist/studio/assets/clojure-CtS8pndg.js +1 -0
  52. package/dist/studio/assets/cmake-DcO1HjFA.js +1 -0
  53. package/dist/studio/assets/cobol-CR5wvxUb.js +1 -0
  54. package/dist/studio/assets/coffeescript-BQrq47kF.js +1 -0
  55. package/dist/studio/assets/concurnas-CXNcBPwI.js +1 -0
  56. package/dist/studio/assets/coq-BL23HIkp.js +1 -0
  57. package/dist/studio/assets/core-BuYD0VMl.js +1 -0
  58. package/dist/studio/assets/cpp-yfq9k_HL.js +1 -0
  59. package/dist/studio/assets/crystal-B86QSxfa.js +1 -0
  60. package/dist/studio/assets/csharp-CXH-h_2E.js +1 -0
  61. package/dist/studio/assets/cshtml-Dh8TtT25.js +1 -0
  62. package/dist/studio/assets/csp-BLZNTbJF.js +1 -0
  63. package/dist/studio/assets/css-B6K5S24Z.js +1 -0
  64. package/dist/studio/assets/css-extras-BVV3tMVO.js +1 -0
  65. package/dist/studio/assets/csv-BKPRn2cZ.js +1 -0
  66. package/dist/studio/assets/cypher-CbmTGFU6.js +1 -0
  67. package/dist/studio/assets/d-DF6U6dsE.js +1 -0
  68. package/dist/studio/assets/dart-BhERWRI9.js +1 -0
  69. package/dist/studio/assets/dataweave-BP0uB4Ow.js +1 -0
  70. package/dist/studio/assets/dax-Blc_ih_X.js +1 -0
  71. package/dist/studio/assets/dhall-DMg_hP2u.js +1 -0
  72. package/dist/studio/assets/diff-DwwqE6jv.js +3 -0
  73. package/dist/studio/assets/django-Uq88kCrs.js +1 -0
  74. package/dist/studio/assets/dns-zone-file-DlT69aij.js +1 -0
  75. package/dist/studio/assets/docker-LPAVmogm.js +1 -0
  76. package/dist/studio/assets/dot-CV3hWqJb.js +1 -0
  77. package/dist/studio/assets/ebnf--InvR9Iv.js +1 -0
  78. package/dist/studio/assets/editorconfig-Dbow5ITb.js +1 -0
  79. package/dist/studio/assets/eiffel-D2U1jdWW.js +1 -0
  80. package/dist/studio/assets/ejs-DRTL1yup.js +1 -0
  81. package/dist/studio/assets/elixir-BBd91Bx-.js +1 -0
  82. package/dist/studio/assets/elm-Dw-BmBLJ.js +1 -0
  83. package/dist/studio/assets/erb-DXXSRqvG.js +1 -0
  84. package/dist/studio/assets/erlang--l8eZsev.js +1 -0
  85. package/dist/studio/assets/etlua-DX_OQOft.js +1 -0
  86. package/dist/studio/assets/excel-formula-OQoXBMFm.js +1 -0
  87. package/dist/studio/assets/factor-B2T_b8Hr.js +1 -0
  88. package/dist/studio/assets/false-6esX6wDu.js +1 -0
  89. package/dist/studio/assets/firestore-security-rules-_u19TYQI.js +1 -0
  90. package/dist/studio/assets/flow-BtBb3RAG.js +1 -0
  91. package/dist/studio/assets/fortran-CzGWWLW0.js +1 -0
  92. package/dist/studio/assets/fsharp-a2WT05wT.js +1 -0
  93. package/dist/studio/assets/ftl-C7d66Pgv.js +1 -0
  94. package/dist/studio/assets/gap-Cp8uEjHc.js +1 -0
  95. package/dist/studio/assets/gcode-CnFz-jW8.js +1 -0
  96. package/dist/studio/assets/gdscript-DXPMgY2Y.js +1 -0
  97. package/dist/studio/assets/gedcom-CFdU1KhK.js +1 -0
  98. package/dist/studio/assets/gherkin-Cgk8mXqm.js +1 -0
  99. package/dist/studio/assets/git-BAgDeOM2.js +1 -0
  100. package/dist/studio/assets/glsl-DKnRTvgz.js +1 -0
  101. package/dist/studio/assets/gml-GjH0YP6P.js +1 -0
  102. package/dist/studio/assets/gn-BQEsitOF.js +1 -0
  103. package/dist/studio/assets/go-7ceBXEhQ.js +1 -0
  104. package/dist/studio/assets/go-module-cyi8-hba.js +1 -0
  105. package/dist/studio/assets/graphql-Ci-0Z3lp.js +1 -0
  106. package/dist/studio/assets/groovy-CkxJC7K1.js +1 -0
  107. package/dist/studio/assets/haml-D9RAoBkd.js +1 -0
  108. package/dist/studio/assets/handlebars-ChDzI6fY.js +1 -0
  109. package/dist/studio/assets/haskell-C00dtDx-.js +1 -0
  110. package/dist/studio/assets/haxe-N05EG95k.js +1 -0
  111. package/dist/studio/assets/hcl-WB2rsl1Z.js +1 -0
  112. package/dist/studio/assets/hlsl-dE55xuCo.js +1 -0
  113. package/dist/studio/assets/hoon-CvJTpkCF.js +1 -0
  114. package/dist/studio/assets/hpkp-CDhVLKPn.js +1 -0
  115. package/dist/studio/assets/hsts-q_C0Cm7X.js +1 -0
  116. package/dist/studio/assets/http-SRQpMS0o.js +1 -0
  117. package/dist/studio/assets/ichigojam-D_BgvR5T.js +1 -0
  118. package/dist/studio/assets/icon-YxmOlyyD.js +1 -0
  119. package/dist/studio/assets/icu-message-format-9vr4ceJ9.js +1 -0
  120. package/dist/studio/assets/idris-BK-E-axX.js +1 -0
  121. package/dist/studio/assets/iecst-Dq0_lq_8.js +1 -0
  122. package/dist/studio/assets/ignore-BdMTb3sd.js +1 -0
  123. package/dist/studio/assets/index-3hqS2z5E.js +1 -0
  124. package/dist/studio/assets/index-BQCqfVBN.js +1 -0
  125. package/dist/studio/assets/index-BUUapUvY.js +1 -0
  126. package/dist/studio/assets/index-BiZTxXah.js +1 -0
  127. package/dist/studio/assets/index-BmsfZ94u.js +1 -0
  128. package/dist/studio/assets/index-BsAl2Jp2.js +13 -0
  129. package/dist/studio/assets/index-BsoBdYqd.js +1 -0
  130. package/dist/studio/assets/index-C6ILRD5r.js +1 -0
  131. package/dist/studio/assets/index-CU2OZjLN.js +1 -0
  132. package/dist/studio/assets/index-CbeZnpHU.js +1 -0
  133. package/dist/studio/assets/index-CvbHWYOf.js +1 -0
  134. package/dist/studio/assets/index-CyJuVem3.js +1 -0
  135. package/dist/studio/assets/index-D_BrEbwA.js +7 -0
  136. package/dist/studio/assets/index-Dmefggkt.js +3 -0
  137. package/dist/studio/assets/index-Dozfcn-L.js +1 -0
  138. package/dist/studio/assets/index-DsT4bN2s.js +1 -0
  139. package/dist/studio/assets/index-DuIPYHh9.js +1 -0
  140. package/dist/studio/assets/index-XEPJWQKQ.js +2 -0
  141. package/dist/studio/assets/inform7-6WuXDGa3.js +1 -0
  142. package/dist/studio/assets/ini-BuyeS7Os.js +1 -0
  143. package/dist/studio/assets/io-8lvsgWiN.js +1 -0
  144. package/dist/studio/assets/j-DtvLay4R.js +1 -0
  145. package/dist/studio/assets/java-DcGOR-wZ.js +1 -0
  146. package/dist/studio/assets/javadoc-BWCAcOTi.js +1 -0
  147. package/dist/studio/assets/javadoclike-Cx59syFs.js +1 -0
  148. package/dist/studio/assets/javascript-BzRFWK2z.js +1 -0
  149. package/dist/studio/assets/javastacktrace-vbq4RPhC.js +1 -0
  150. package/dist/studio/assets/jexl-CkBIWscf.js +1 -0
  151. package/dist/studio/assets/jolie-CHijjtYR.js +1 -0
  152. package/dist/studio/assets/jq-C5FclawZ.js +1 -0
  153. package/dist/studio/assets/js-extras-DpNGZv-7.js +1 -0
  154. package/dist/studio/assets/js-templates-CcOlkYKy.js +1 -0
  155. package/dist/studio/assets/jsdoc-DZQ3bAFE.js +1 -0
  156. package/dist/studio/assets/json-Bk7Jx1YL.js +1 -0
  157. package/dist/studio/assets/json5-qTd9fsYK.js +1 -0
  158. package/dist/studio/assets/jsonp-DJgPJumr.js +1 -0
  159. package/dist/studio/assets/jsstacktrace-DyfhxSeh.js +1 -0
  160. package/dist/studio/assets/jsx-DA2N-Hil.js +1 -0
  161. package/dist/studio/assets/julia-BTJwYkgF.js +1 -0
  162. package/dist/studio/assets/keepalived-BJXZEwFP.js +1 -0
  163. package/dist/studio/assets/keyman-DTv96TSM.js +1 -0
  164. package/dist/studio/assets/kotlin-CNmAdBcz.js +1 -0
  165. package/dist/studio/assets/kumir-C35PgBg-.js +1 -0
  166. package/dist/studio/assets/kusto-CmQskgGa.js +1 -0
  167. package/dist/studio/assets/latex-DeuI4seH.js +1 -0
  168. package/dist/studio/assets/latte-DTXMSyf-.js +1 -0
  169. package/dist/studio/assets/less-Bt4wttIu.js +1 -0
  170. package/dist/studio/assets/lilypond-D4sk2hE4.js +1 -0
  171. package/dist/studio/assets/liquid-WKN13X0E.js +1 -0
  172. package/dist/studio/assets/lisp-BcCt8qUz.js +1 -0
  173. package/dist/studio/assets/livescript-nGUlwGEe.js +1 -0
  174. package/dist/studio/assets/llvm-mvUkRDZ1.js +1 -0
  175. package/dist/studio/assets/log-DPBbfKfn.js +1 -0
  176. package/dist/studio/assets/lolcode-hTxpW102.js +1 -0
  177. package/dist/studio/assets/lua-BVnL91sh.js +1 -0
  178. package/dist/studio/assets/magma-BZgiGf2l.js +1 -0
  179. package/dist/studio/assets/main-DmHC4I7_.js +571 -0
  180. package/dist/studio/assets/makefile-D1CVd5uW.js +1 -0
  181. package/dist/studio/assets/markdown-Cd1UQJCY.js +1 -0
  182. package/dist/studio/assets/markup-n3iCmBYO.js +1 -0
  183. package/dist/studio/assets/markup-templating-D_QQHL4-.js +1 -0
  184. package/dist/studio/assets/matlab-pNQ7KPrc.js +1 -0
  185. package/dist/studio/assets/maxscript-DVndWLQ6.js +1 -0
  186. package/dist/studio/assets/mel-DqOMIi0U.js +1 -0
  187. package/dist/studio/assets/mermaid-HdMKTPbq.js +1 -0
  188. package/dist/studio/assets/mizar-K7QN7z-J.js +1 -0
  189. package/dist/studio/assets/mongodb-B9PEhGD6.js +1 -0
  190. package/dist/studio/assets/monkey-BHjVTisi.js +1 -0
  191. package/dist/studio/assets/moonscript-B5_2SCZp.js +1 -0
  192. package/dist/studio/assets/n1ql-wDoBCF4E.js +1 -0
  193. package/dist/studio/assets/n4js-DuwxqZKJ.js +1 -0
  194. package/dist/studio/assets/nand2tetris-hdl-Em8Kkq9q.js +1 -0
  195. package/dist/studio/assets/naniscript-BQW-10Ot.js +1 -0
  196. package/dist/studio/assets/nasm-Y46Lzkdj.js +1 -0
  197. package/dist/studio/assets/neon-Dw3Gw2Ek.js +1 -0
  198. package/dist/studio/assets/nevod-DHJ9N9Mh.js +1 -0
  199. package/dist/studio/assets/nginx-DXHzftZ3.js +1 -0
  200. package/dist/studio/assets/nim-V5c80hbB.js +1 -0
  201. package/dist/studio/assets/nix-Cqx7w5wp.js +1 -0
  202. package/dist/studio/assets/nsis-BLAFLTR5.js +1 -0
  203. package/dist/studio/assets/objectivec-B4QSSm0O.js +1 -0
  204. package/dist/studio/assets/ocaml-k2Jhdj-T.js +1 -0
  205. package/dist/studio/assets/opencl-DHCPRruB.js +1 -0
  206. package/dist/studio/assets/openqasm-Ci1ZkBET.js +1 -0
  207. package/dist/studio/assets/oz-CrSl-cqu.js +1 -0
  208. package/dist/studio/assets/parigp-DWVa8t9e.js +1 -0
  209. package/dist/studio/assets/parser-DG2UJz1U.js +1 -0
  210. package/dist/studio/assets/pascal-DvPlCbTl.js +1 -0
  211. package/dist/studio/assets/pascaligo-Bv9cPRw9.js +1 -0
  212. package/dist/studio/assets/pcaxis-DbKU47bZ.js +1 -0
  213. package/dist/studio/assets/peoplecode-BUFq4PTS.js +1 -0
  214. package/dist/studio/assets/perl-Ct6_rdTA.js +1 -0
  215. package/dist/studio/assets/php-B2zdoity.js +1 -0
  216. package/dist/studio/assets/php-extras-WxCOtDih.js +1 -0
  217. package/dist/studio/assets/phpdoc-BPcd0dNi.js +1 -0
  218. package/dist/studio/assets/plsql-BvdATC_T.js +1 -0
  219. package/dist/studio/assets/powerquery-CU4B67zs.js +1 -0
  220. package/dist/studio/assets/powershell-BLa_zAwY.js +1 -0
  221. package/dist/studio/assets/processing-CK9D83im.js +1 -0
  222. package/dist/studio/assets/prolog-CJHAShGp.js +1 -0
  223. package/dist/studio/assets/promql-DYGWkBwy.js +1 -0
  224. package/dist/studio/assets/properties-vsDkGP4v.js +1 -0
  225. package/dist/studio/assets/protobuf-C-JFcw3A.js +1 -0
  226. package/dist/studio/assets/psl-Dq10XIsl.js +1 -0
  227. package/dist/studio/assets/pug-BJTMTsTa.js +1 -0
  228. package/dist/studio/assets/puppet-CtwLYson.js +1 -0
  229. package/dist/studio/assets/pure-B2YUgR_I.js +1 -0
  230. package/dist/studio/assets/purebasic-HJOetcMS.js +1 -0
  231. package/dist/studio/assets/purescript-DX9qvUlX.js +1 -0
  232. package/dist/studio/assets/python-CVfjx-_M.js +1 -0
  233. package/dist/studio/assets/q-HaVGlukt.js +1 -0
  234. package/dist/studio/assets/qml-BL_vSKDj.js +1 -0
  235. package/dist/studio/assets/qore-bVJPePxU.js +1 -0
  236. package/dist/studio/assets/qsharp-Nus_1O0f.js +1 -0
  237. package/dist/studio/assets/r-UFgf4yRo.js +1 -0
  238. package/dist/studio/assets/racket-_xdaE1NM.js +1 -0
  239. package/dist/studio/assets/reason-wnqhe4f-.js +1 -0
  240. package/dist/studio/assets/regex-cbU1WH99.js +1 -0
  241. package/dist/studio/assets/rego-B9cO5o8s.js +1 -0
  242. package/dist/studio/assets/renpy-CXHsVqDB.js +1 -0
  243. package/dist/studio/assets/rest-BNTjfOx4.js +1 -0
  244. package/dist/studio/assets/rip-BLDsYeqI.js +1 -0
  245. package/dist/studio/assets/roboconf-Bs0bV2NK.js +1 -0
  246. package/dist/studio/assets/robotframework-D_rQ890U.js +1 -0
  247. package/dist/studio/assets/ruby-fk0xcXg4.js +1 -0
  248. package/dist/studio/assets/rust-CuJxH3Gw.js +1 -0
  249. package/dist/studio/assets/sas-Df_3rxFE.js +1 -0
  250. package/dist/studio/assets/sass-D4HsFXhD.js +1 -0
  251. package/dist/studio/assets/scala-El4BA_cc.js +1 -0
  252. package/dist/studio/assets/scheme-CpLh_ZK3.js +1 -0
  253. package/dist/studio/assets/scss-DiOfHZt3.js +1 -0
  254. package/dist/studio/assets/shell-session-dLg_x-I_.js +1 -0
  255. package/dist/studio/assets/smali-vvBTyh_i.js +1 -0
  256. package/dist/studio/assets/smalltalk-DjnfNOiv.js +1 -0
  257. package/dist/studio/assets/smarty-D48PsanT.js +1 -0
  258. package/dist/studio/assets/sml-CqbnRIMv.js +1 -0
  259. package/dist/studio/assets/solidity-PgHIzPSS.js +1 -0
  260. package/dist/studio/assets/solution-file-C6GI00QK.js +1 -0
  261. package/dist/studio/assets/soy-B7-m4BEF.js +1 -0
  262. package/dist/studio/assets/sparql-CeFr-Ayp.js +1 -0
  263. package/dist/studio/assets/splunk-spl-CLFRu6RR.js +1 -0
  264. package/dist/studio/assets/sqf-Bf4U5n7z.js +1 -0
  265. package/dist/studio/assets/sql-5N1hxC7I.js +1 -0
  266. package/dist/studio/assets/squirrel-3PylnTOe.js +1 -0
  267. package/dist/studio/assets/stan-DvD5dVzB.js +1 -0
  268. package/dist/studio/assets/style-Bes5-x13.css +1 -0
  269. package/dist/studio/assets/stylus-B6x5HWF_.js +1 -0
  270. package/dist/studio/assets/swift-ofMjFbei.js +1 -0
  271. package/dist/studio/assets/systemd-CzYiHrfF.js +2 -0
  272. package/dist/studio/assets/t4-cs-Ch6LhYJD.js +1 -0
  273. package/dist/studio/assets/t4-templating-QDDIyjR8.js +1 -0
  274. package/dist/studio/assets/t4-vb-BeSZfRTx.js +1 -0
  275. package/dist/studio/assets/tap-C7joQuaL.js +1 -0
  276. package/dist/studio/assets/tcl-zVVnM5CA.js +1 -0
  277. package/dist/studio/assets/textile-VGjUDlZ-.js +1 -0
  278. package/dist/studio/assets/token-6GSAFR2W-SPYPLMBM-Bmb7aObX-DLwDpdOL.js +1 -0
  279. package/dist/studio/assets/token-6GSAFR2W-SPYPLMBM-DaRSteij.js +1 -0
  280. package/dist/studio/assets/token-util-NEHG7TUY-JRJTGTAB-BLZ0BA54-FpXNFdjD.js +1 -0
  281. package/dist/studio/assets/token-util-NEHG7TUY-JRJTGTAB-DMbd-Isn.js +1 -0
  282. package/dist/studio/assets/toml-Dokq9P4C.js +1 -0
  283. package/dist/studio/assets/tremor-CQHWUjbs.js +1 -0
  284. package/dist/studio/assets/tsx-DpRGMkIr.js +1 -0
  285. package/dist/studio/assets/tt2-4F6RPBps.js +1 -0
  286. package/dist/studio/assets/turtle-Df84yAkl.js +1 -0
  287. package/dist/studio/assets/twig-DRCbykcH.js +1 -0
  288. package/dist/studio/assets/typescript-lQjJkWVG.js +1 -0
  289. package/dist/studio/assets/typoscript-CjhBYyVl.js +1 -0
  290. package/dist/studio/assets/unrealscript-DLPaJi3P.js +1 -0
  291. package/dist/studio/assets/uorazor-DEVMIbSm.js +1 -0
  292. package/dist/studio/assets/uri-DezK-75w.js +1 -0
  293. package/dist/studio/assets/v-D7CwOMw1.js +1 -0
  294. package/dist/studio/assets/vala-yHLXhMgq.js +1 -0
  295. package/dist/studio/assets/vbnet-D0KExAq6.js +1 -0
  296. package/dist/studio/assets/velocity-BwWHZh8k.js +1 -0
  297. package/dist/studio/assets/verilog-zzmIa1YB.js +1 -0
  298. package/dist/studio/assets/vhdl-DIQbuh5h.js +1 -0
  299. package/dist/studio/assets/vim-OyDYJsX4.js +1 -0
  300. package/dist/studio/assets/visual-basic-BeSnfCSI.js +1 -0
  301. package/dist/studio/assets/warpscript-DzWWOjRA.js +1 -0
  302. package/dist/studio/assets/wasm--Cfk3lmg.js +1 -0
  303. package/dist/studio/assets/web-idl-o6B_kOsu.js +1 -0
  304. package/dist/studio/assets/wiki-fA86WUs1.js +1 -0
  305. package/dist/studio/assets/wolfram-DpnlowYm.js +1 -0
  306. package/dist/studio/assets/wren-BB8U1uUs.js +1 -0
  307. package/dist/studio/assets/xeora-XfDXqhKS.js +1 -0
  308. package/dist/studio/assets/xml-doc-C-5OsdZg.js +1 -0
  309. package/dist/studio/assets/xojo-D0klXP4D.js +1 -0
  310. package/dist/studio/assets/xquery-D3FDhSRH.js +1 -0
  311. package/dist/studio/assets/yaml-DgLL0Zl9.js +1 -0
  312. package/dist/studio/assets/yang-B9-7wp62.js +1 -0
  313. package/dist/studio/assets/zig-DoeUoGlo.js +1 -0
  314. package/dist/studio/index.html +47 -0
  315. package/dist/templates/dev.entry.js +1 -1
  316. package/package.json +4 -4
  317. package/dist/chunk-H3WSE544.js +0 -2029
  318. package/dist/chunk-H3WSE544.js.map +0 -1
  319. package/dist/playground/assets/abap-Cr50DIhq.js +0 -1
  320. package/dist/playground/assets/abnf-DQQ4Zj-m.js +0 -1
  321. package/dist/playground/assets/actionscript-y_pBr3e5.js +0 -1
  322. package/dist/playground/assets/ada-BsiGJTNC.js +0 -1
  323. package/dist/playground/assets/agda-C3I9Svn6.js +0 -1
  324. package/dist/playground/assets/al-C8SzsVJj.js +0 -1
  325. package/dist/playground/assets/antlr4-BoY4L6Ub.js +0 -1
  326. package/dist/playground/assets/apacheconf-C6JCI5ij.js +0 -1
  327. package/dist/playground/assets/apex-B3BnV-n7.js +0 -1
  328. package/dist/playground/assets/apl-Cx_mDzYj.js +0 -1
  329. package/dist/playground/assets/applescript-yI2zDxFo.js +0 -1
  330. package/dist/playground/assets/aql-C1i_e1RP.js +0 -1
  331. package/dist/playground/assets/arduino-DqbcE1Xg.js +0 -1
  332. package/dist/playground/assets/arff-CgKdv9V9.js +0 -1
  333. package/dist/playground/assets/asciidoc-B78LFB58.js +0 -1
  334. package/dist/playground/assets/asm6502-B0lOPzAg.js +0 -1
  335. package/dist/playground/assets/asmatmel-0TtDVris.js +0 -1
  336. package/dist/playground/assets/aspnet-BDcxtV6P.js +0 -1
  337. package/dist/playground/assets/autohotkey-CcJZ8mRB.js +0 -1
  338. package/dist/playground/assets/autoit-DX5-oOXA.js +0 -1
  339. package/dist/playground/assets/avisynth-CvLQ7QOL.js +0 -1
  340. package/dist/playground/assets/avro-idl-CxFcquYH.js +0 -1
  341. package/dist/playground/assets/bash-DRXchYNC.js +0 -1
  342. package/dist/playground/assets/basic-DuQ8E5DP.js +0 -1
  343. package/dist/playground/assets/batch-CasoMz3Q.js +0 -1
  344. package/dist/playground/assets/bbcode-CMCmK5v6.js +0 -1
  345. package/dist/playground/assets/bicep-DyBHs9qh.js +0 -1
  346. package/dist/playground/assets/birb-BznTD731.js +0 -1
  347. package/dist/playground/assets/bison-o1fOk-vA.js +0 -1
  348. package/dist/playground/assets/bnf-BMMq-OTx.js +0 -1
  349. package/dist/playground/assets/brainfuck-DCY_9Cig.js +0 -1
  350. package/dist/playground/assets/brightscript-rWFB3dgZ.js +0 -1
  351. package/dist/playground/assets/bro-BJFOHOmV.js +0 -1
  352. package/dist/playground/assets/bsl-Dq_-tKLY.js +0 -1
  353. package/dist/playground/assets/c-BDxsr4gV.js +0 -1
  354. package/dist/playground/assets/cfscript-BSA7zcpl.js +0 -1
  355. package/dist/playground/assets/chaiscript-ZC_OTnBH.js +0 -1
  356. package/dist/playground/assets/chunk-55VPMN3N-BuAJ8n05-Cp0ZC0Vh.js +0 -1
  357. package/dist/playground/assets/chunk-55VPMN3N-CxcyViE8.js +0 -1
  358. package/dist/playground/assets/cil-C451vKqS.js +0 -1
  359. package/dist/playground/assets/clike-CRVJWDKH.js +0 -1
  360. package/dist/playground/assets/clojure-D9TGCYAj.js +0 -1
  361. package/dist/playground/assets/cmake-DB7Po0Br.js +0 -1
  362. package/dist/playground/assets/cobol-DC1-nQK5.js +0 -1
  363. package/dist/playground/assets/coffeescript-BzJofQeL.js +0 -1
  364. package/dist/playground/assets/concurnas-D3EjMkOs.js +0 -1
  365. package/dist/playground/assets/coq-0-upWrXb.js +0 -1
  366. package/dist/playground/assets/core-D69JFVOb.js +0 -1
  367. package/dist/playground/assets/cpp-B1GSD0NV.js +0 -1
  368. package/dist/playground/assets/crystal-_DwqOFXa.js +0 -1
  369. package/dist/playground/assets/csharp-BApCZknl.js +0 -1
  370. package/dist/playground/assets/cshtml-DgveddVH.js +0 -1
  371. package/dist/playground/assets/csp-Bu06CyZZ.js +0 -1
  372. package/dist/playground/assets/css-BEVNubQ1.js +0 -1
  373. package/dist/playground/assets/css-extras-KFsP9RJ8.js +0 -1
  374. package/dist/playground/assets/csv-D3eO_UM7.js +0 -1
  375. package/dist/playground/assets/cypher-fcaH5iVc.js +0 -1
  376. package/dist/playground/assets/d-CzLOFX5I.js +0 -1
  377. package/dist/playground/assets/dart-CRMmhHjQ.js +0 -1
  378. package/dist/playground/assets/dataweave-9Dx5DecS.js +0 -1
  379. package/dist/playground/assets/dax-C0Xjf4uT.js +0 -1
  380. package/dist/playground/assets/dhall-DUo-_5UU.js +0 -1
  381. package/dist/playground/assets/diff-CJjduRR7.js +0 -3
  382. package/dist/playground/assets/django-Byd8F2bs.js +0 -1
  383. package/dist/playground/assets/dns-zone-file-Dfl2rYfi.js +0 -1
  384. package/dist/playground/assets/docker-Czm2Ncft.js +0 -1
  385. package/dist/playground/assets/dot-BR4VYfHL.js +0 -1
  386. package/dist/playground/assets/ebnf-DgpYSbE7.js +0 -1
  387. package/dist/playground/assets/editorconfig-DiPZfds0.js +0 -1
  388. package/dist/playground/assets/eiffel-Cjwm8uM7.js +0 -1
  389. package/dist/playground/assets/ejs-DJEa0J6e.js +0 -1
  390. package/dist/playground/assets/elixir-BCXm3UO1.js +0 -1
  391. package/dist/playground/assets/elm-bvRpyy8q.js +0 -1
  392. package/dist/playground/assets/erb-DgEoanZ1.js +0 -1
  393. package/dist/playground/assets/erlang-DP_GqO0M.js +0 -1
  394. package/dist/playground/assets/etlua-C33LEjms.js +0 -1
  395. package/dist/playground/assets/excel-formula-Cpv-QBZc.js +0 -1
  396. package/dist/playground/assets/factor-DgvvTc7f.js +0 -1
  397. package/dist/playground/assets/false-DKBKOYAY.js +0 -1
  398. package/dist/playground/assets/firestore-security-rules-CBmG065h.js +0 -1
  399. package/dist/playground/assets/flow-Chyi7YaO.js +0 -1
  400. package/dist/playground/assets/fortran-CXGlQtFM.js +0 -1
  401. package/dist/playground/assets/fsharp-DA1O_XIv.js +0 -1
  402. package/dist/playground/assets/ftl-CTQZ4mly.js +0 -1
  403. package/dist/playground/assets/gap-Uq3cAya_.js +0 -1
  404. package/dist/playground/assets/gcode-CvtxxBiJ.js +0 -1
  405. package/dist/playground/assets/gdscript-DfEfxrJb.js +0 -1
  406. package/dist/playground/assets/gedcom-BLwCFL7h.js +0 -1
  407. package/dist/playground/assets/gherkin-CmPwf_45.js +0 -1
  408. package/dist/playground/assets/git-X_1nzxdf.js +0 -1
  409. package/dist/playground/assets/glsl-Bruu39uS.js +0 -1
  410. package/dist/playground/assets/gml-CL-zSX_h.js +0 -1
  411. package/dist/playground/assets/gn-BuAqeX4E.js +0 -1
  412. package/dist/playground/assets/go-CIS3PsoU.js +0 -1
  413. package/dist/playground/assets/go-module-5X9N9qE7.js +0 -1
  414. package/dist/playground/assets/graphql-BKbWCENR.js +0 -1
  415. package/dist/playground/assets/groovy-CLDw8V6b.js +0 -1
  416. package/dist/playground/assets/haml-B4Ug236L.js +0 -1
  417. package/dist/playground/assets/handlebars-tI-Goy6R.js +0 -1
  418. package/dist/playground/assets/haskell-BSMHhJGN.js +0 -1
  419. package/dist/playground/assets/haxe-ycpg-fcJ.js +0 -1
  420. package/dist/playground/assets/hcl-Chy8mHQr.js +0 -1
  421. package/dist/playground/assets/hlsl-BinV6qi2.js +0 -1
  422. package/dist/playground/assets/hoon-CjHDye0m.js +0 -1
  423. package/dist/playground/assets/hpkp-DlKJz0LC.js +0 -1
  424. package/dist/playground/assets/hsts-BsnxPQNy.js +0 -1
  425. package/dist/playground/assets/http-VhBih6XR.js +0 -1
  426. package/dist/playground/assets/ichigojam-C3U4pJQ2.js +0 -1
  427. package/dist/playground/assets/icon-BfEVFfWn.js +0 -1
  428. package/dist/playground/assets/icu-message-format-IXP0L-9e.js +0 -1
  429. package/dist/playground/assets/idris-C1OepS9D.js +0 -1
  430. package/dist/playground/assets/iecst-Bk1OlAZA.js +0 -1
  431. package/dist/playground/assets/ignore-C2njPveo.js +0 -1
  432. package/dist/playground/assets/index-42fU7FAu.js +0 -1
  433. package/dist/playground/assets/index-5QK4s_-d.js +0 -1
  434. package/dist/playground/assets/index-BAmySd0V.js +0 -1
  435. package/dist/playground/assets/index-BIEVtrl4.js +0 -1
  436. package/dist/playground/assets/index-BNN0m5oO.js +0 -1
  437. package/dist/playground/assets/index-BqtTtH1W.js +0 -1
  438. package/dist/playground/assets/index-BuW4WMi7.js +0 -1
  439. package/dist/playground/assets/index-C6bmX9dW.js +0 -1
  440. package/dist/playground/assets/index-CulyFfQM.js +0 -13
  441. package/dist/playground/assets/index-D9TDYknN.js +0 -3
  442. package/dist/playground/assets/index-D9sDAdgC.js +0 -1
  443. package/dist/playground/assets/index-DM_GWI6W.js +0 -1
  444. package/dist/playground/assets/index-DbYXlFtS.js +0 -1
  445. package/dist/playground/assets/index-EQpwWiiG.js +0 -1
  446. package/dist/playground/assets/index-IIhOeWBl.js +0 -7
  447. package/dist/playground/assets/index-WPSsOh5P.js +0 -1
  448. package/dist/playground/assets/index-_gxnHHqS.js +0 -2
  449. package/dist/playground/assets/index-hfa4wnaQ.js +0 -1
  450. package/dist/playground/assets/inform7-MzwjBy5Y.js +0 -1
  451. package/dist/playground/assets/ini-BPH8MzCy.js +0 -1
  452. package/dist/playground/assets/io-fYLiR1HY.js +0 -1
  453. package/dist/playground/assets/j-DmHyUmqk.js +0 -1
  454. package/dist/playground/assets/java-i_Upu0pH.js +0 -1
  455. package/dist/playground/assets/javadoc-DaTMlGeO.js +0 -1
  456. package/dist/playground/assets/javadoclike-C2ojppBH.js +0 -1
  457. package/dist/playground/assets/javascript-BvTudC_w.js +0 -1
  458. package/dist/playground/assets/javastacktrace-B7fuKhiD.js +0 -1
  459. package/dist/playground/assets/jexl-CyyXiW3m.js +0 -1
  460. package/dist/playground/assets/jolie-D3nxv2Jo.js +0 -1
  461. package/dist/playground/assets/jq-u8P78rvT.js +0 -1
  462. package/dist/playground/assets/js-extras-BAtw81JW.js +0 -1
  463. package/dist/playground/assets/js-templates-DVuw9HB9.js +0 -1
  464. package/dist/playground/assets/jsdoc-CyTlCZ5j.js +0 -1
  465. package/dist/playground/assets/json-BIlH3FrN.js +0 -1
  466. package/dist/playground/assets/json5-DuxmSiIx.js +0 -1
  467. package/dist/playground/assets/jsonp-ZSIhvLQE.js +0 -1
  468. package/dist/playground/assets/jsstacktrace-BV4G-wrS.js +0 -1
  469. package/dist/playground/assets/jsx-D5VJAoI0.js +0 -1
  470. package/dist/playground/assets/julia-hfzf8r4G.js +0 -1
  471. package/dist/playground/assets/keepalived-ghpKKDs5.js +0 -1
  472. package/dist/playground/assets/keyman-C7U-GYUC.js +0 -1
  473. package/dist/playground/assets/kotlin-Dp4X7ioc.js +0 -1
  474. package/dist/playground/assets/kumir-BTrUaI6U.js +0 -1
  475. package/dist/playground/assets/kusto-Bfobr7o-.js +0 -1
  476. package/dist/playground/assets/latex-CvqFbb4m.js +0 -1
  477. package/dist/playground/assets/latte-CaNlFcXa.js +0 -1
  478. package/dist/playground/assets/less-BGJb_AJ_.js +0 -1
  479. package/dist/playground/assets/lilypond-BOeJeJDj.js +0 -1
  480. package/dist/playground/assets/liquid-xI9FbF2G.js +0 -1
  481. package/dist/playground/assets/lisp-DU_TTF7w.js +0 -1
  482. package/dist/playground/assets/livescript-DTfYzG4J.js +0 -1
  483. package/dist/playground/assets/llvm-D1RUSxUR.js +0 -1
  484. package/dist/playground/assets/log-Bvv4Wpyr.js +0 -1
  485. package/dist/playground/assets/lolcode-B29iYx3e.js +0 -1
  486. package/dist/playground/assets/lua-BVXykfQJ.js +0 -1
  487. package/dist/playground/assets/magma-B3m9qcMM.js +0 -1
  488. package/dist/playground/assets/main-HGiy0Cq0.js +0 -579
  489. package/dist/playground/assets/makefile-CA6kIvHO.js +0 -1
  490. package/dist/playground/assets/markdown-CP6vCS1Z.js +0 -1
  491. package/dist/playground/assets/markup-Khj3coy2.js +0 -1
  492. package/dist/playground/assets/markup-templating-u7TWs2V2.js +0 -1
  493. package/dist/playground/assets/matlab-DpEN_D9F.js +0 -1
  494. package/dist/playground/assets/maxscript-DDje9lUY.js +0 -1
  495. package/dist/playground/assets/mel-DMA6Gv_0.js +0 -1
  496. package/dist/playground/assets/mermaid-PxTvhUAd.js +0 -1
  497. package/dist/playground/assets/mizar-ndbda7ts.js +0 -1
  498. package/dist/playground/assets/mongodb-BaUJQxQM.js +0 -1
  499. package/dist/playground/assets/monkey-BZj4qJF-.js +0 -1
  500. package/dist/playground/assets/moonscript-CnrfK4D7.js +0 -1
  501. package/dist/playground/assets/n1ql-Bzzfcwb3.js +0 -1
  502. package/dist/playground/assets/n4js-DczTl_IQ.js +0 -1
  503. package/dist/playground/assets/nand2tetris-hdl-Ds78qhLV.js +0 -1
  504. package/dist/playground/assets/naniscript-9bwGhgI-.js +0 -1
  505. package/dist/playground/assets/nasm-DsVz4BdL.js +0 -1
  506. package/dist/playground/assets/neon-YIyo5xPZ.js +0 -1
  507. package/dist/playground/assets/nevod-Bg6hpLeh.js +0 -1
  508. package/dist/playground/assets/nginx-B4NJyPx8.js +0 -1
  509. package/dist/playground/assets/nim-CDBtLs_b.js +0 -1
  510. package/dist/playground/assets/nix-CLSFsaJw.js +0 -1
  511. package/dist/playground/assets/nsis-FYx2sY4a.js +0 -1
  512. package/dist/playground/assets/objectivec-DPgo3yVM.js +0 -1
  513. package/dist/playground/assets/ocaml-MqX-u9yQ.js +0 -1
  514. package/dist/playground/assets/opencl-B5ZxHsiD.js +0 -1
  515. package/dist/playground/assets/openqasm-BWBTmnzb.js +0 -1
  516. package/dist/playground/assets/oz-DMhNGVJb.js +0 -1
  517. package/dist/playground/assets/parigp-Dsd2Gbfw.js +0 -1
  518. package/dist/playground/assets/parser-DupU1T5O.js +0 -1
  519. package/dist/playground/assets/pascal-DlLNDPwQ.js +0 -1
  520. package/dist/playground/assets/pascaligo-ClyYI56e.js +0 -1
  521. package/dist/playground/assets/pcaxis-DoFBVcM8.js +0 -1
  522. package/dist/playground/assets/peoplecode-DEwHDMEJ.js +0 -1
  523. package/dist/playground/assets/perl-DtRuitv4.js +0 -1
  524. package/dist/playground/assets/php-D6UVi4Bj.js +0 -1
  525. package/dist/playground/assets/php-extras-CB1wWnu0.js +0 -1
  526. package/dist/playground/assets/phpdoc-BbLJ_4LM.js +0 -1
  527. package/dist/playground/assets/plsql-_UzH_EzI.js +0 -1
  528. package/dist/playground/assets/powerquery-CGuIN_rk.js +0 -1
  529. package/dist/playground/assets/powershell-CPxFZq-K.js +0 -1
  530. package/dist/playground/assets/processing-fhrjwF5E.js +0 -1
  531. package/dist/playground/assets/prolog-SnibnZF0.js +0 -1
  532. package/dist/playground/assets/promql-CbgJC15V.js +0 -1
  533. package/dist/playground/assets/properties-DbZhUGey.js +0 -1
  534. package/dist/playground/assets/protobuf-Bnfqwy6_.js +0 -1
  535. package/dist/playground/assets/psl-B4UBxkNI.js +0 -1
  536. package/dist/playground/assets/pug-D__FbvJs.js +0 -1
  537. package/dist/playground/assets/puppet-Bn6bYX3t.js +0 -1
  538. package/dist/playground/assets/pure-CArpt-pl.js +0 -1
  539. package/dist/playground/assets/purebasic-B0XgASt1.js +0 -1
  540. package/dist/playground/assets/purescript-LpstL1G8.js +0 -1
  541. package/dist/playground/assets/python-CDDkavom.js +0 -1
  542. package/dist/playground/assets/q-BfuUMdCr.js +0 -1
  543. package/dist/playground/assets/qml-BY46M1yl.js +0 -1
  544. package/dist/playground/assets/qore-LySVx5ec.js +0 -1
  545. package/dist/playground/assets/qsharp-_3f65cRL.js +0 -1
  546. package/dist/playground/assets/r-CqMqI_rT.js +0 -1
  547. package/dist/playground/assets/racket-CShlneNM.js +0 -1
  548. package/dist/playground/assets/reason-s82YrIgz.js +0 -1
  549. package/dist/playground/assets/regex-H5raGu_2.js +0 -1
  550. package/dist/playground/assets/rego-DKajbxLZ.js +0 -1
  551. package/dist/playground/assets/renpy-BtzoFfOi.js +0 -1
  552. package/dist/playground/assets/rest-BHmqMJm5.js +0 -1
  553. package/dist/playground/assets/rip-DfSS1qAM.js +0 -1
  554. package/dist/playground/assets/roboconf-DYQgnjiG.js +0 -1
  555. package/dist/playground/assets/robotframework-CNjxC_qd.js +0 -1
  556. package/dist/playground/assets/ruby-CU2e1728.js +0 -1
  557. package/dist/playground/assets/rust-CYbqcIHu.js +0 -1
  558. package/dist/playground/assets/sas-CRUM69Rt.js +0 -1
  559. package/dist/playground/assets/sass-CBZNOs4P.js +0 -1
  560. package/dist/playground/assets/scala-YJZZNGCk.js +0 -1
  561. package/dist/playground/assets/scheme-Dc_hiqUH.js +0 -1
  562. package/dist/playground/assets/scss-CnhBZnfp.js +0 -1
  563. package/dist/playground/assets/shell-session-Bn0I8YBI.js +0 -1
  564. package/dist/playground/assets/smali-D85WiZr_.js +0 -1
  565. package/dist/playground/assets/smalltalk-pa5qpxJG.js +0 -1
  566. package/dist/playground/assets/smarty-eNsNHAqO.js +0 -1
  567. package/dist/playground/assets/sml-C02TA1EN.js +0 -1
  568. package/dist/playground/assets/solidity-n8p9Tx23.js +0 -1
  569. package/dist/playground/assets/solution-file-CeVHh_Rq.js +0 -1
  570. package/dist/playground/assets/soy-CGx9qsgD.js +0 -1
  571. package/dist/playground/assets/sparql-CV7WwTiT.js +0 -1
  572. package/dist/playground/assets/splunk-spl-D6AC8DI-.js +0 -1
  573. package/dist/playground/assets/sqf-DhdoWUpu.js +0 -1
  574. package/dist/playground/assets/sql-C3pZa9pR.js +0 -1
  575. package/dist/playground/assets/squirrel-yoBaHytf.js +0 -1
  576. package/dist/playground/assets/stan-DLkcleP_.js +0 -1
  577. package/dist/playground/assets/style-vvQWH0FZ.css +0 -1
  578. package/dist/playground/assets/stylus-DPAuT1a_.js +0 -1
  579. package/dist/playground/assets/swift-Bvtc9733.js +0 -1
  580. package/dist/playground/assets/systemd-8RX4YZOJ.js +0 -2
  581. package/dist/playground/assets/t4-cs-CAYKPL44.js +0 -1
  582. package/dist/playground/assets/t4-templating-Dgv1YtQ6.js +0 -1
  583. package/dist/playground/assets/t4-vb-CoDVj2Bz.js +0 -1
  584. package/dist/playground/assets/tap-74Z9A_CH.js +0 -1
  585. package/dist/playground/assets/tcl-Bf0UQkTe.js +0 -1
  586. package/dist/playground/assets/textile-CwScv-Jf.js +0 -1
  587. package/dist/playground/assets/token-6GSAFR2W-SPYPLMBM-CurRN4KZ.js +0 -1
  588. package/dist/playground/assets/token-6GSAFR2W-SPYPLMBM-Dw0-CxcM-BqfXO2Uc.js +0 -1
  589. package/dist/playground/assets/token-util-NEHG7TUY-JRJTGTAB-CrKHYQe8-6zAouyyj.js +0 -1
  590. package/dist/playground/assets/token-util-NEHG7TUY-JRJTGTAB-DC2vEV_V.js +0 -1
  591. package/dist/playground/assets/toml-Bt_0JNCl.js +0 -1
  592. package/dist/playground/assets/tremor-CmZRlPDP.js +0 -1
  593. package/dist/playground/assets/tsx-Cgz-4wVf.js +0 -1
  594. package/dist/playground/assets/tt2-yvUkC7dm.js +0 -1
  595. package/dist/playground/assets/turtle-CZDETV_a.js +0 -1
  596. package/dist/playground/assets/twig-CFdhG0kN.js +0 -1
  597. package/dist/playground/assets/typescript-CPFlE8Fl.js +0 -1
  598. package/dist/playground/assets/typoscript-CR8N9wzM.js +0 -1
  599. package/dist/playground/assets/unrealscript-DWqRB32F.js +0 -1
  600. package/dist/playground/assets/uorazor-DSiD1u9V.js +0 -1
  601. package/dist/playground/assets/uri-C3EHAZpj.js +0 -1
  602. package/dist/playground/assets/v-h_mHaFio.js +0 -1
  603. package/dist/playground/assets/vala-BMhqfZeo.js +0 -1
  604. package/dist/playground/assets/vbnet-b0d3bd5t.js +0 -1
  605. package/dist/playground/assets/velocity-C8HhZgGM.js +0 -1
  606. package/dist/playground/assets/verilog-_mp7l_Yf.js +0 -1
  607. package/dist/playground/assets/vhdl-zP_KSV_w.js +0 -1
  608. package/dist/playground/assets/vim-BANNdzuy.js +0 -1
  609. package/dist/playground/assets/visual-basic-DiH4UD3_.js +0 -1
  610. package/dist/playground/assets/warpscript-BVL1wlWt.js +0 -1
  611. package/dist/playground/assets/wasm-LJvnI7_z.js +0 -1
  612. package/dist/playground/assets/web-idl-BD0S8T2Z.js +0 -1
  613. package/dist/playground/assets/wiki-DSKDO97_.js +0 -1
  614. package/dist/playground/assets/wolfram-C7nh4FpE.js +0 -1
  615. package/dist/playground/assets/wren-BXbHsFaT.js +0 -1
  616. package/dist/playground/assets/xeora-DHnkGBsT.js +0 -1
  617. package/dist/playground/assets/xml-doc-2w7x_gMU.js +0 -1
  618. package/dist/playground/assets/xojo-NU7gY_GT.js +0 -1
  619. package/dist/playground/assets/xquery-BhtIdDgK.js +0 -1
  620. package/dist/playground/assets/yaml-BLnoglYr.js +0 -1
  621. package/dist/playground/assets/yang-CZNWGxtV.js +0 -1
  622. package/dist/playground/assets/zig-C8cUv8lu.js +0 -1
  623. package/dist/playground/index.html +0 -46
  624. /package/dist/{playground → studio}/assets/GeistMonoVF-BHyMa335.woff +0 -0
  625. /package/dist/{playground → studio}/assets/InterVariable-H_M6nIbt.ttf +0 -0
  626. /package/dist/{playground → studio}/assets/TASAExplorerVF-FO8P5krV.woff2 +0 -0
  627. /package/dist/{playground → studio}/assets/abap-DsBKuouk.js +0 -0
  628. /package/dist/{playground → studio}/assets/actionscript-3-D_z4Izcz.js +0 -0
  629. /package/dist/{playground → studio}/assets/ada-727ZlQH0.js +0 -0
  630. /package/dist/{playground → studio}/assets/andromeeda-C3khCPGq.js +0 -0
  631. /package/dist/{playground → studio}/assets/angular-html-LfdN0zeE.js +0 -0
  632. /package/dist/{playground → studio}/assets/angular-ts-CKsD7JZE.js +0 -0
  633. /package/dist/{playground → studio}/assets/apache-Dn00JSTd.js +0 -0
  634. /package/dist/{playground → studio}/assets/apex-COJ4H7py.js +0 -0
  635. /package/dist/{playground → studio}/assets/apl-B4CMkyY2.js +0 -0
  636. /package/dist/{playground → studio}/assets/apl-BBq3IX1j.js +0 -0
  637. /package/dist/{playground → studio}/assets/applescript-Bu5BbsvL.js +0 -0
  638. /package/dist/{playground → studio}/assets/ara-7O62HKoU.js +0 -0
  639. /package/dist/{playground → studio}/assets/asciiarmor-Df11BRmG.js +0 -0
  640. /package/dist/{playground → studio}/assets/asciidoc-BPT9niGB.js +0 -0
  641. /package/dist/{playground → studio}/assets/asm-Dhn9LcZ4.js +0 -0
  642. /package/dist/{playground → studio}/assets/asn1-EdZsLKOL.js +0 -0
  643. /package/dist/{playground → studio}/assets/asterisk-B-8jnY81.js +0 -0
  644. /package/dist/{playground → studio}/assets/astro-CqkE3fuf.js +0 -0
  645. /package/dist/{playground → studio}/assets/aurora-x-D-2ljcwZ.js +0 -0
  646. /package/dist/{playground → studio}/assets/awk-eg146-Ew.js +0 -0
  647. /package/dist/{playground → studio}/assets/ayu-dark-Cv9koXgw.js +0 -0
  648. /package/dist/{playground → studio}/assets/ballerina-Du268qiB.js +0 -0
  649. /package/dist/{playground → studio}/assets/bash-CefCgV5_.js +0 -0
  650. /package/dist/{playground → studio}/assets/basic-DBS9NaGG.js +0 -0
  651. /package/dist/{playground → studio}/assets/bat-fje9CFhw.js +0 -0
  652. /package/dist/{playground → studio}/assets/beancount-BwXTMy5W.js +0 -0
  653. /package/dist/{playground → studio}/assets/berry-3xVqZejG.js +0 -0
  654. /package/dist/{playground → studio}/assets/bibtex-xW4inM5L.js +0 -0
  655. /package/dist/{playground → studio}/assets/bicep-DHo0CJ0O.js +0 -0
  656. /package/dist/{playground → studio}/assets/blade-a8OxSdnT.js +0 -0
  657. /package/dist/{playground → studio}/assets/brainfuck-C4LP7Hcl.js +0 -0
  658. /package/dist/{playground → studio}/assets/bsl-Dgyn0ogV.js +0 -0
  659. /package/dist/{playground → studio}/assets/c-C3t2pwGQ.js +0 -0
  660. /package/dist/{playground → studio}/assets/c-kgVuzdLE.js +0 -0
  661. /package/dist/{playground → studio}/assets/cadence-DNquZEk8.js +0 -0
  662. /package/dist/{playground → studio}/assets/cairo--RitsXJZ.js +0 -0
  663. /package/dist/{playground → studio}/assets/catppuccin-frappe-CD_QflpE.js +0 -0
  664. /package/dist/{playground → studio}/assets/catppuccin-latte-DRW-0cLl.js +0 -0
  665. /package/dist/{playground → studio}/assets/catppuccin-macchiato-C-_shW-Y.js +0 -0
  666. /package/dist/{playground → studio}/assets/catppuccin-mocha-LGGdnPYs.js +0 -0
  667. /package/dist/{playground → studio}/assets/clarity-BHOwM8T6.js +0 -0
  668. /package/dist/{playground → studio}/assets/clike-B5tY_8Hg.js +0 -0
  669. /package/dist/{playground → studio}/assets/clike-B9uivgTg.js +0 -0
  670. /package/dist/{playground → studio}/assets/clojure-BMjYHr_A.js +0 -0
  671. /package/dist/{playground → studio}/assets/clojure-DxSadP1t.js +0 -0
  672. /package/dist/{playground → studio}/assets/cmake-BQqOBYOt.js +0 -0
  673. /package/dist/{playground → studio}/assets/cmake-DbXoA79R.js +0 -0
  674. /package/dist/{playground → studio}/assets/cobol-CWcv1MsR.js +0 -0
  675. /package/dist/{playground → studio}/assets/cobol-PTqiYgYu.js +0 -0
  676. /package/dist/{playground → studio}/assets/codeowners-Bp6g37R7.js +0 -0
  677. /package/dist/{playground → studio}/assets/codeql-sacFqUAJ.js +0 -0
  678. /package/dist/{playground → studio}/assets/coffee-dyiR41kL.js +0 -0
  679. /package/dist/{playground → studio}/assets/coffeescript-S37ZYGWr.js +0 -0
  680. /package/dist/{playground → studio}/assets/common-lisp-C7gG9l05.js +0 -0
  681. /package/dist/{playground → studio}/assets/commonlisp-DBKNyK5s.js +0 -0
  682. /package/dist/{playground → studio}/assets/coq-Dsg_Bt_b.js +0 -0
  683. /package/dist/{playground → studio}/assets/cpp-BdJVwJpi.js +0 -0
  684. /package/dist/{playground → studio}/assets/cpp-BksuvNSY.js +0 -0
  685. /package/dist/{playground → studio}/assets/crystal-DtDmRg-F.js +0 -0
  686. /package/dist/{playground → studio}/assets/crystal-SjHAIU92.js +0 -0
  687. /package/dist/{playground → studio}/assets/csharp-Cd5Udg29.js +0 -0
  688. /package/dist/{playground → studio}/assets/csharp-D9R-vmeu.js +0 -0
  689. /package/dist/{playground → studio}/assets/css-BPhBrDlE.js +0 -0
  690. /package/dist/{playground → studio}/assets/css-BnMrqG3P.js +0 -0
  691. /package/dist/{playground → studio}/assets/css-CF9HHZb0.js +0 -0
  692. /package/dist/{playground → studio}/assets/csv-B0qRVHPH.js +0 -0
  693. /package/dist/{playground → studio}/assets/cue-DtFQj3wx.js +0 -0
  694. /package/dist/{playground → studio}/assets/cypher-C_CwsFkJ.js +0 -0
  695. /package/dist/{playground → studio}/assets/cypher-m2LEI-9-.js +0 -0
  696. /package/dist/{playground → studio}/assets/d-BoXegm-a.js +0 -0
  697. /package/dist/{playground → studio}/assets/d-pRatUO7H.js +0 -0
  698. /package/dist/{playground → studio}/assets/dark-plus-C3mMm8J8.js +0 -0
  699. /package/dist/{playground → studio}/assets/dart-B9wLZaAG.js +0 -0
  700. /package/dist/{playground → studio}/assets/dax-ClGRhx96.js +0 -0
  701. /package/dist/{playground → studio}/assets/desktop-DEIpsLCJ.js +0 -0
  702. /package/dist/{playground → studio}/assets/diff-BgYniUM_.js +0 -0
  703. /package/dist/{playground → studio}/assets/diff-DbItnlRl.js +0 -0
  704. /package/dist/{playground → studio}/assets/docker-COcR7UxN.js +0 -0
  705. /package/dist/{playground → studio}/assets/dockerfile-BKs6k2Af.js +0 -0
  706. /package/dist/{playground → studio}/assets/dotenv-BjQB5zDj.js +0 -0
  707. /package/dist/{playground → studio}/assets/dracula-BzJJZx-M.js +0 -0
  708. /package/dist/{playground → studio}/assets/dracula-soft-BXkSAIEj.js +0 -0
  709. /package/dist/{playground → studio}/assets/dream-maker-C-nORZOA.js +0 -0
  710. /package/dist/{playground → studio}/assets/dtd-DF_7sFjM.js +0 -0
  711. /package/dist/{playground → studio}/assets/dylan-DwRh75JA.js +0 -0
  712. /package/dist/{playground → studio}/assets/ebnf-CDyGwa7X.js +0 -0
  713. /package/dist/{playground → studio}/assets/ecl-Cabwm37j.js +0 -0
  714. /package/dist/{playground → studio}/assets/edge-D5gP-w-T.js +0 -0
  715. /package/dist/{playground → studio}/assets/eiffel-CnydiIhH.js +0 -0
  716. /package/dist/{playground → studio}/assets/elixir-CLiX3zqd.js +0 -0
  717. /package/dist/{playground → studio}/assets/elm-CmHSxxaM.js +0 -0
  718. /package/dist/{playground → studio}/assets/elm-vLlmbW-K.js +0 -0
  719. /package/dist/{playground → studio}/assets/emacs-lisp-BX77sIaO.js +0 -0
  720. /package/dist/{playground → studio}/assets/erb-BYTLMnw6.js +0 -0
  721. /package/dist/{playground → studio}/assets/erlang-B-DoSBHF.js +0 -0
  722. /package/dist/{playground → studio}/assets/erlang-BNw1qcRV.js +0 -0
  723. /package/dist/{playground → studio}/assets/everforest-dark-BgDCqdQA.js +0 -0
  724. /package/dist/{playground → studio}/assets/everforest-light-C8M2exoo.js +0 -0
  725. /package/dist/{playground → studio}/assets/factor-kuTfRLto.js +0 -0
  726. /package/dist/{playground → studio}/assets/fcl-Kvtd6kyn.js +0 -0
  727. /package/dist/{playground → studio}/assets/fennel-bCA53EVm.js +0 -0
  728. /package/dist/{playground → studio}/assets/fish-w-ucz2PV.js +0 -0
  729. /package/dist/{playground → studio}/assets/fluent-Dayu4EKP.js +0 -0
  730. /package/dist/{playground → studio}/assets/forth-Ffai-XNe.js +0 -0
  731. /package/dist/{playground → studio}/assets/fortran-DYz_wnZ1.js +0 -0
  732. /package/dist/{playground → studio}/assets/fortran-fixed-form-TqA4NnZg.js +0 -0
  733. /package/dist/{playground → studio}/assets/fortran-free-form-DKXYxT9g.js +0 -0
  734. /package/dist/{playground → studio}/assets/fsharp-XplgxFYe.js +0 -0
  735. /package/dist/{playground → studio}/assets/gas-Bneqetm1.js +0 -0
  736. /package/dist/{playground → studio}/assets/gdresource-BHYsBjWJ.js +0 -0
  737. /package/dist/{playground → studio}/assets/gdscript-DfxzS6Rs.js +0 -0
  738. /package/dist/{playground → studio}/assets/gdshader-SKMF96pI.js +0 -0
  739. /package/dist/{playground → studio}/assets/genie-ajMbGru0.js +0 -0
  740. /package/dist/{playground → studio}/assets/gherkin--30QC5Em.js +0 -0
  741. /package/dist/{playground → studio}/assets/gherkin-heZmZLOM.js +0 -0
  742. /package/dist/{playground → studio}/assets/git-commit-i4q6IMui.js +0 -0
  743. /package/dist/{playground → studio}/assets/git-rebase-B-v9cOL2.js +0 -0
  744. /package/dist/{playground → studio}/assets/github-dark-DHJKELXO.js +0 -0
  745. /package/dist/{playground → studio}/assets/github-dark-default-Cuk6v7N8.js +0 -0
  746. /package/dist/{playground → studio}/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
  747. /package/dist/{playground → studio}/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
  748. /package/dist/{playground → studio}/assets/github-light-DAi9KRSo.js +0 -0
  749. /package/dist/{playground → studio}/assets/github-light-default-D7oLnXFd.js +0 -0
  750. /package/dist/{playground → studio}/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
  751. /package/dist/{playground → studio}/assets/gleam-B430Bg39.js +0 -0
  752. /package/dist/{playground → studio}/assets/glimmer-js-D-cwc0-E.js +0 -0
  753. /package/dist/{playground → studio}/assets/glimmer-ts-pgjy16dm.js +0 -0
  754. /package/dist/{playground → studio}/assets/glsl-DBO2IWDn.js +0 -0
  755. /package/dist/{playground → studio}/assets/gnuplot-CM8KxXT1.js +0 -0
  756. /package/dist/{playground → studio}/assets/go-B1SYOhNW.js +0 -0
  757. /package/dist/{playground → studio}/assets/graphql-cDcHW_If.js +0 -0
  758. /package/dist/{playground → studio}/assets/groovy-D9Dt4D0W.js +0 -0
  759. /package/dist/{playground → studio}/assets/groovy-DkBy-JyN.js +0 -0
  760. /package/dist/{playground → studio}/assets/hack-D1yCygmZ.js +0 -0
  761. /package/dist/{playground → studio}/assets/haml-B2EZWmdv.js +0 -0
  762. /package/dist/{playground → studio}/assets/handlebars-BQGss363.js +0 -0
  763. /package/dist/{playground → studio}/assets/haskell-BILxekzW.js +0 -0
  764. /package/dist/{playground → studio}/assets/haskell-Cw1EW3IL.js +0 -0
  765. /package/dist/{playground → studio}/assets/haskell-Ds42Eazu.js +0 -0
  766. /package/dist/{playground → studio}/assets/haxe-C5wWYbrZ.js +0 -0
  767. /package/dist/{playground → studio}/assets/haxe-H-WmDvRZ.js +0 -0
  768. /package/dist/{playground → studio}/assets/hcl-HzYwdGDm.js +0 -0
  769. /package/dist/{playground → studio}/assets/hjson-T-Tgc4AT.js +0 -0
  770. /package/dist/{playground → studio}/assets/hlsl-ifBTmRxC.js +0 -0
  771. /package/dist/{playground → studio}/assets/houston-DnULxvSX.js +0 -0
  772. /package/dist/{playground → studio}/assets/html-C2L_23MC.js +0 -0
  773. /package/dist/{playground → studio}/assets/html-derivative-CSfWNPLT.js +0 -0
  774. /package/dist/{playground → studio}/assets/http-DBlCnlav.js +0 -0
  775. /package/dist/{playground → studio}/assets/http-FRrOvY1W.js +0 -0
  776. /package/dist/{playground → studio}/assets/hxml-TIA70rKU.js +0 -0
  777. /package/dist/{playground → studio}/assets/hy-BMj5Y0dO.js +0 -0
  778. /package/dist/{playground → studio}/assets/idl-BEugSyMb.js +0 -0
  779. /package/dist/{playground → studio}/assets/imba-bv_oIlVt.js +0 -0
  780. /package/dist/{playground → studio}/assets/index-C1OzXW5i-yUiD89B4.js +0 -0
  781. /package/dist/{playground → studio}/assets/index-yUiD89B4.js +0 -0
  782. /package/dist/{playground → studio}/assets/ini-BjABl1g7.js +0 -0
  783. /package/dist/{playground → studio}/assets/java-BxMbkJZ_.js +0 -0
  784. /package/dist/{playground → studio}/assets/java-xI-RfyKK.js +0 -0
  785. /package/dist/{playground → studio}/assets/javadoclike-myFApC35.js +0 -0
  786. /package/dist/{playground → studio}/assets/javascript-D8vYUPHd.js +0 -0
  787. /package/dist/{playground → studio}/assets/javascript-iXu5QeM3.js +0 -0
  788. /package/dist/{playground → studio}/assets/javascript-ySlJ1b_l.js +0 -0
  789. /package/dist/{playground → studio}/assets/jinja-DGy0s7-h.js +0 -0
  790. /package/dist/{playground → studio}/assets/jison-BqZprYcd.js +0 -0
  791. /package/dist/{playground → studio}/assets/json-BESjz4hO.js +0 -0
  792. /package/dist/{playground → studio}/assets/json-BQoSv7ci.js +0 -0
  793. /package/dist/{playground → studio}/assets/json5-w8dY5SsB.js +0 -0
  794. /package/dist/{playground → studio}/assets/jsonc-TU54ms6u.js +0 -0
  795. /package/dist/{playground → studio}/assets/jsonl-DREVFZK8.js +0 -0
  796. /package/dist/{playground → studio}/assets/jsonnet-BfivnA6A.js +0 -0
  797. /package/dist/{playground → studio}/assets/jssm-P4WzXJd0.js +0 -0
  798. /package/dist/{playground → studio}/assets/jsx-BAng5TT0.js +0 -0
  799. /package/dist/{playground → studio}/assets/jsx-CWP8P1mH.js +0 -0
  800. /package/dist/{playground → studio}/assets/julia-BBuGR-5E.js +0 -0
  801. /package/dist/{playground → studio}/assets/julia-DuME0IfC.js +0 -0
  802. /package/dist/{playground → studio}/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
  803. /package/dist/{playground → studio}/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
  804. /package/dist/{playground → studio}/assets/kanagawa-wave-DWedfzmr.js +0 -0
  805. /package/dist/{playground → studio}/assets/kotlin-B5lbUyaz.js +0 -0
  806. /package/dist/{playground → studio}/assets/kusto-mebxcVVE.js +0 -0
  807. /package/dist/{playground → studio}/assets/laserwave-DUszq2jm.js +0 -0
  808. /package/dist/{playground → studio}/assets/latex-C-cWTeAZ.js +0 -0
  809. /package/dist/{playground → studio}/assets/lean-XBlWyCtg.js +0 -0
  810. /package/dist/{playground → studio}/assets/less-BfCpw3nA.js +0 -0
  811. /package/dist/{playground → studio}/assets/light-plus-B7mTdjB0.js +0 -0
  812. /package/dist/{playground → studio}/assets/liquid-D3W5UaiH.js +0 -0
  813. /package/dist/{playground → studio}/assets/livescript-BwQOo05w.js +0 -0
  814. /package/dist/{playground → studio}/assets/log-Cc5clBb7.js +0 -0
  815. /package/dist/{playground → studio}/assets/logo-IuBKFhSY.js +0 -0
  816. /package/dist/{playground → studio}/assets/lua-BgMRiT3U.js +0 -0
  817. /package/dist/{playground → studio}/assets/lua-CvWAzNxB.js +0 -0
  818. /package/dist/{playground → studio}/assets/lua-DER4jxlW.js +0 -0
  819. /package/dist/{playground → studio}/assets/luau-Du5NY7AG.js +0 -0
  820. /package/dist/{playground → studio}/assets/make-Bvotw-X0.js +0 -0
  821. /package/dist/{playground → studio}/assets/markdown-UIAJJxZW.js +0 -0
  822. /package/dist/{playground → studio}/assets/marko-z0MBrx5-.js +0 -0
  823. /package/dist/{playground → studio}/assets/markup-BONeskWm.js +0 -0
  824. /package/dist/{playground → studio}/assets/markup-templating-BxAVv-bL.js +0 -0
  825. /package/dist/{playground → studio}/assets/material-theme-D5KoaKCx.js +0 -0
  826. /package/dist/{playground → studio}/assets/material-theme-darker-BfHTSMKl.js +0 -0
  827. /package/dist/{playground → studio}/assets/material-theme-lighter-B0m2ddpp.js +0 -0
  828. /package/dist/{playground → studio}/assets/material-theme-ocean-CyktbL80.js +0 -0
  829. /package/dist/{playground → studio}/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
  830. /package/dist/{playground → studio}/assets/mathematica-DTrFuWx2.js +0 -0
  831. /package/dist/{playground → studio}/assets/matlab-D9-PGadD.js +0 -0
  832. /package/dist/{playground → studio}/assets/mbox-CNhZ1qSd.js +0 -0
  833. /package/dist/{playground → studio}/assets/mdc-DB_EDNY_.js +0 -0
  834. /package/dist/{playground → studio}/assets/mdx-sdHcTMYB.js +0 -0
  835. /package/dist/{playground → studio}/assets/mermaid-Ci6OQyBP.js +0 -0
  836. /package/dist/{playground → studio}/assets/min-dark-CafNBF8u.js +0 -0
  837. /package/dist/{playground → studio}/assets/min-light-CTRr51gU.js +0 -0
  838. /package/dist/{playground → studio}/assets/mipsasm-BC5c_5Pe.js +0 -0
  839. /package/dist/{playground → studio}/assets/mirc-CjQqDB4T.js +0 -0
  840. /package/dist/{playground → studio}/assets/mllike-BO34x3tv.js +0 -0
  841. /package/dist/{playground → studio}/assets/modelica-Dc1JOy9r.js +0 -0
  842. /package/dist/{playground → studio}/assets/mojo-Tz6hzZYG.js +0 -0
  843. /package/dist/{playground → studio}/assets/monokai-D4h5O-jR.js +0 -0
  844. /package/dist/{playground → studio}/assets/move-DB_GagMm.js +0 -0
  845. /package/dist/{playground → studio}/assets/mscgen-BA5vi2Kp.js +0 -0
  846. /package/dist/{playground → studio}/assets/mumps-BT43cFF4.js +0 -0
  847. /package/dist/{playground → studio}/assets/narrat-DLbgOhZU.js +0 -0
  848. /package/dist/{playground → studio}/assets/nextflow-B0XVJmRM.js +0 -0
  849. /package/dist/{playground → studio}/assets/nginx-D_VnBJ67.js +0 -0
  850. /package/dist/{playground → studio}/assets/nginx-DdIZxoE0.js +0 -0
  851. /package/dist/{playground → studio}/assets/night-owl-C39BiMTA.js +0 -0
  852. /package/dist/{playground → studio}/assets/nim-ZlGxZxc3.js +0 -0
  853. /package/dist/{playground → studio}/assets/nix-shcSOmrb.js +0 -0
  854. /package/dist/{playground → studio}/assets/nord-Ddv68eIx.js +0 -0
  855. /package/dist/{playground → studio}/assets/nsis-LdVXkNf5.js +0 -0
  856. /package/dist/{playground → studio}/assets/ntriples-BfvgReVJ.js +0 -0
  857. /package/dist/{playground → studio}/assets/nushell-D4Tzg5kh.js +0 -0
  858. /package/dist/{playground → studio}/assets/objective-c-Deuh7S70.js +0 -0
  859. /package/dist/{playground → studio}/assets/objective-cpp-BUEGK8hf.js +0 -0
  860. /package/dist/{playground → studio}/assets/ocaml-BNioltXt.js +0 -0
  861. /package/dist/{playground → studio}/assets/octave-Ck1zUtKM.js +0 -0
  862. /package/dist/{playground → studio}/assets/one-dark-pro-GBQ2dnAY.js +0 -0
  863. /package/dist/{playground → studio}/assets/one-light-PoHY5YXO.js +0 -0
  864. /package/dist/{playground → studio}/assets/oz-BzwKVEFT.js +0 -0
  865. /package/dist/{playground → studio}/assets/pascal--L3eBynH.js +0 -0
  866. /package/dist/{playground → studio}/assets/pascal-JqZropPD.js +0 -0
  867. /package/dist/{playground → studio}/assets/perl-CHQXSrWU.js +0 -0
  868. /package/dist/{playground → studio}/assets/perl-CdXCOZ3F.js +0 -0
  869. /package/dist/{playground → studio}/assets/php-B5ebYQev.js +0 -0
  870. /package/dist/{playground → studio}/assets/php-iTdQntIy.js +0 -0
  871. /package/dist/{playground → studio}/assets/pig-CevX1Tat.js +0 -0
  872. /package/dist/{playground → studio}/assets/plastic-3e1v2bzS.js +0 -0
  873. /package/dist/{playground → studio}/assets/plsql-LKU2TuZ1.js +0 -0
  874. /package/dist/{playground → studio}/assets/po-BFLt1xDp.js +0 -0
  875. /package/dist/{playground → studio}/assets/poimandres-CS3Unz2-.js +0 -0
  876. /package/dist/{playground → studio}/assets/polar-DKykz6zU.js +0 -0
  877. /package/dist/{playground → studio}/assets/postcss-B3ZDOciz.js +0 -0
  878. /package/dist/{playground → studio}/assets/powerquery-CSHBycmS.js +0 -0
  879. /package/dist/{playground → studio}/assets/powershell-BIEUsx6d.js +0 -0
  880. /package/dist/{playground → studio}/assets/powershell-CaxLzxiJ.js +0 -0
  881. /package/dist/{playground → studio}/assets/prisma-B48N-Iqd.js +0 -0
  882. /package/dist/{playground → studio}/assets/prolog-BY-TUvya.js +0 -0
  883. /package/dist/{playground → studio}/assets/properties-C78fOPTZ.js +0 -0
  884. /package/dist/{playground → studio}/assets/proto-zocC4JxJ.js +0 -0
  885. /package/dist/{playground → studio}/assets/protobuf-ChK-085T.js +0 -0
  886. /package/dist/{playground → studio}/assets/pug-CM9l7STV.js +0 -0
  887. /package/dist/{playground → studio}/assets/pug-DeIclll2.js +0 -0
  888. /package/dist/{playground → studio}/assets/puppet-Cza_XSSt.js +0 -0
  889. /package/dist/{playground → studio}/assets/puppet-DMA9R1ak.js +0 -0
  890. /package/dist/{playground → studio}/assets/purescript-Bg-kzb6g.js +0 -0
  891. /package/dist/{playground → studio}/assets/python-BuPzkPfP.js +0 -0
  892. /package/dist/{playground → studio}/assets/python-DhUJRlN_.js +0 -0
  893. /package/dist/{playground → studio}/assets/q-pXgVlZs6.js +0 -0
  894. /package/dist/{playground → studio}/assets/qml-D8XfuvdV.js +0 -0
  895. /package/dist/{playground → studio}/assets/qmldir-C8lEn-DE.js +0 -0
  896. /package/dist/{playground → studio}/assets/qss-DhMKtDLN.js +0 -0
  897. /package/dist/{playground → studio}/assets/r-B6wPVr8A.js +0 -0
  898. /package/dist/{playground → studio}/assets/r-CwjWoCRV.js +0 -0
  899. /package/dist/{playground → studio}/assets/racket-CzouJOBO.js +0 -0
  900. /package/dist/{playground → studio}/assets/raku-B1bQXN8T.js +0 -0
  901. /package/dist/{playground → studio}/assets/razor-CNLDkMZG.js +0 -0
  902. /package/dist/{playground → studio}/assets/red-bN70gL4F.js +0 -0
  903. /package/dist/{playground → studio}/assets/reg-5LuOXUq_.js +0 -0
  904. /package/dist/{playground → studio}/assets/regexp-DWJ3fJO_.js +0 -0
  905. /package/dist/{playground → studio}/assets/rel-DJlmqQ1C.js +0 -0
  906. /package/dist/{playground → studio}/assets/riscv-QhoSD0DR.js +0 -0
  907. /package/dist/{playground → studio}/assets/rose-pine-CmCqftbK.js +0 -0
  908. /package/dist/{playground → studio}/assets/rose-pine-dawn-Ds-gbosJ.js +0 -0
  909. /package/dist/{playground → studio}/assets/rose-pine-moon-CjDtw9vr.js +0 -0
  910. /package/dist/{playground → studio}/assets/rpm-CTu-6PCP.js +0 -0
  911. /package/dist/{playground → studio}/assets/rst-4NLicBqY.js +0 -0
  912. /package/dist/{playground → studio}/assets/ruby-B2Rjki9n.js +0 -0
  913. /package/dist/{playground → studio}/assets/ruby-DYsn9XfW.js +0 -0
  914. /package/dist/{playground → studio}/assets/ruby-DeZ3UC14.js +0 -0
  915. /package/dist/{playground → studio}/assets/rust-Be6lgOlo.js +0 -0
  916. /package/dist/{playground → studio}/assets/sas-B4kiWyti.js +0 -0
  917. /package/dist/{playground → studio}/assets/sas-BmTFh92c.js +0 -0
  918. /package/dist/{playground → studio}/assets/sass-BJ4Li9vH.js +0 -0
  919. /package/dist/{playground → studio}/assets/scala-DQVVAn-B.js +0 -0
  920. /package/dist/{playground → studio}/assets/scheme-BJGe-b2p.js +0 -0
  921. /package/dist/{playground → studio}/assets/scheme-C41bIUwD.js +0 -0
  922. /package/dist/{playground → studio}/assets/scheme-Cscf027c.js +0 -0
  923. /package/dist/{playground → studio}/assets/scss-C31hgJw-.js +0 -0
  924. /package/dist/{playground → studio}/assets/sdbl-BLhTXw86.js +0 -0
  925. /package/dist/{playground → studio}/assets/shaderlab-B7qAK45m.js +0 -0
  926. /package/dist/{playground → studio}/assets/shell-CjFT_Tl9.js +0 -0
  927. /package/dist/{playground → studio}/assets/shellscript-atvbtKCR.js +0 -0
  928. /package/dist/{playground → studio}/assets/shellsession-C_rIy8kc.js +0 -0
  929. /package/dist/{playground → studio}/assets/sieve-C3Gn_uJK.js +0 -0
  930. /package/dist/{playground → studio}/assets/simple-mode-GW_nhZxv.js +0 -0
  931. /package/dist/{playground → studio}/assets/slack-dark-BthQWCQV.js +0 -0
  932. /package/dist/{playground → studio}/assets/slack-ochin-DqwNpetd.js +0 -0
  933. /package/dist/{playground → studio}/assets/smalltalk-CnHTOXQT.js +0 -0
  934. /package/dist/{playground → studio}/assets/smalltalk-DkLiglaE.js +0 -0
  935. /package/dist/{playground → studio}/assets/snazzy-light-Bw305WKR.js +0 -0
  936. /package/dist/{playground → studio}/assets/solarized-dark-DXbdFlpD.js +0 -0
  937. /package/dist/{playground → studio}/assets/solarized-light-L9t79GZl.js +0 -0
  938. /package/dist/{playground → studio}/assets/solidity-C1w2a3ep.js +0 -0
  939. /package/dist/{playground → studio}/assets/solr-DehyRSwq.js +0 -0
  940. /package/dist/{playground → studio}/assets/soy-C-lX7w71.js +0 -0
  941. /package/dist/{playground → studio}/assets/sparql-DkYu6x3z.js +0 -0
  942. /package/dist/{playground → studio}/assets/sparql-bYkjHRlG.js +0 -0
  943. /package/dist/{playground → studio}/assets/splunk-Cf8iN4DR.js +0 -0
  944. /package/dist/{playground → studio}/assets/spreadsheet-BCZA_wO0.js +0 -0
  945. /package/dist/{playground → studio}/assets/sql-CJATM1Qp.js +0 -0
  946. /package/dist/{playground → studio}/assets/sql-COK4E0Yg.js +0 -0
  947. /package/dist/{playground → studio}/assets/sql-D0XecflT.js +0 -0
  948. /package/dist/{playground → studio}/assets/ssh-config-BknIz3MU.js +0 -0
  949. /package/dist/{playground → studio}/assets/stata-DorPZHa4.js +0 -0
  950. /package/dist/{playground → studio}/assets/stex-C3f8Ysf7.js +0 -0
  951. /package/dist/{playground → studio}/assets/stylus-B533Al4x.js +0 -0
  952. /package/dist/{playground → studio}/assets/stylus-BeQkCIfX.js +0 -0
  953. /package/dist/{playground → studio}/assets/svelte-MSaWC3Je.js +0 -0
  954. /package/dist/{playground → studio}/assets/swift-BSxZ-RaX.js +0 -0
  955. /package/dist/{playground → studio}/assets/swift-BzpIVaGY.js +0 -0
  956. /package/dist/{playground → studio}/assets/synthwave-84-CbfX1IO0.js +0 -0
  957. /package/dist/{playground → studio}/assets/system-verilog-C7L56vO4.js +0 -0
  958. /package/dist/{playground → studio}/assets/systemd-CUnW07Te.js +0 -0
  959. /package/dist/{playground → studio}/assets/t4-templating-B5EzSFYT.js +0 -0
  960. /package/dist/{playground → studio}/assets/talonscript-C1XDQQGZ.js +0 -0
  961. /package/dist/{playground → studio}/assets/tasl-CQjiPCtT.js +0 -0
  962. /package/dist/{playground → studio}/assets/tcl-DQ1-QYvQ.js +0 -0
  963. /package/dist/{playground → studio}/assets/tcl-DVfN8rqt.js +0 -0
  964. /package/dist/{playground → studio}/assets/templ-dwX3ZSMB.js +0 -0
  965. /package/dist/{playground → studio}/assets/terraform-BbSNqyBO.js +0 -0
  966. /package/dist/{playground → studio}/assets/tex-rYs2v40G.js +0 -0
  967. /package/dist/{playground → studio}/assets/textile-CnDTJFAw.js +0 -0
  968. /package/dist/{playground → studio}/assets/tiddlywiki-DO-Gjzrf.js +0 -0
  969. /package/dist/{playground → studio}/assets/tiki-DGYXhP31.js +0 -0
  970. /package/dist/{playground → studio}/assets/tokyo-night-DBQeEorK.js +0 -0
  971. /package/dist/{playground → studio}/assets/toml-Bm5Em-hy.js +0 -0
  972. /package/dist/{playground → studio}/assets/toml-CB2ApiWb.js +0 -0
  973. /package/dist/{playground → studio}/assets/troff-wAsdV37c.js +0 -0
  974. /package/dist/{playground → studio}/assets/ts-tags-CipyTH0X.js +0 -0
  975. /package/dist/{playground → studio}/assets/tsv-B_m7g4N7.js +0 -0
  976. /package/dist/{playground → studio}/assets/tsx-B6W0miNI.js +0 -0
  977. /package/dist/{playground → studio}/assets/ttcn-CfJYG6tj.js +0 -0
  978. /package/dist/{playground → studio}/assets/ttcn-cfg-B9xdYoR4.js +0 -0
  979. /package/dist/{playground → studio}/assets/turtle-B1tBg_DP.js +0 -0
  980. /package/dist/{playground → studio}/assets/turtle-BMR_PYu6.js +0 -0
  981. /package/dist/{playground → studio}/assets/turtle-Ro1R6Je7.js +0 -0
  982. /package/dist/{playground → studio}/assets/twig-NC5TFiHP.js +0 -0
  983. /package/dist/{playground → studio}/assets/typescript-CVO-8GEc.js +0 -0
  984. /package/dist/{playground → studio}/assets/typescript-Dj6nwHGl.js +0 -0
  985. /package/dist/{playground → studio}/assets/typespec-BpWG_bgh.js +0 -0
  986. /package/dist/{playground → studio}/assets/typst-BVUVsWT6.js +0 -0
  987. /package/dist/{playground → studio}/assets/v-CAQ2eGtk.js +0 -0
  988. /package/dist/{playground → studio}/assets/vala-BFOHcciG.js +0 -0
  989. /package/dist/{playground → studio}/assets/vb-CdO5JTpU.js +0 -0
  990. /package/dist/{playground → studio}/assets/vb-CmGdzxic.js +0 -0
  991. /package/dist/{playground → studio}/assets/vbnet-BhrUc4aD.js +0 -0
  992. /package/dist/{playground → studio}/assets/vbscript-BuJXcnF6.js +0 -0
  993. /package/dist/{playground → studio}/assets/velocity-D8B20fx6.js +0 -0
  994. /package/dist/{playground → studio}/assets/verilog-C6RDOZhf.js +0 -0
  995. /package/dist/{playground → studio}/assets/verilog-CJaU5se_.js +0 -0
  996. /package/dist/{playground → studio}/assets/vesper-BEBZ7ncR.js +0 -0
  997. /package/dist/{playground → studio}/assets/vhdl-DYoNaHQp.js +0 -0
  998. /package/dist/{playground → studio}/assets/vhdl-lSbBsy5d.js +0 -0
  999. /package/dist/{playground → studio}/assets/viml-m4uW47V2.js +0 -0
  1000. /package/dist/{playground → studio}/assets/vitesse-black-Bkuqu6BP.js +0 -0
  1001. /package/dist/{playground → studio}/assets/vitesse-dark-D0r3Knsf.js +0 -0
  1002. /package/dist/{playground → studio}/assets/vitesse-light-CVO1_9PV.js +0 -0
  1003. /package/dist/{playground → studio}/assets/vue-BuYVFjOK.js +0 -0
  1004. /package/dist/{playground → studio}/assets/vue-html-xdeiXROB.js +0 -0
  1005. /package/dist/{playground → studio}/assets/vyper-nyqBNV6O.js +0 -0
  1006. /package/dist/{playground → studio}/assets/wasm-C6j12Q_x.js +0 -0
  1007. /package/dist/{playground → studio}/assets/wasm-CG6Dc4jp.js +0 -0
  1008. /package/dist/{playground → studio}/assets/webidl-ZXfAyPTL.js +0 -0
  1009. /package/dist/{playground → studio}/assets/wenyan-7A4Fjokl.js +0 -0
  1010. /package/dist/{playground → studio}/assets/wgsl-CB0Krxn9.js +0 -0
  1011. /package/dist/{playground → studio}/assets/wikitext-DCE3LsBG.js +0 -0
  1012. /package/dist/{playground → studio}/assets/wolfram-C3FkfJm5.js +0 -0
  1013. /package/dist/{playground → studio}/assets/xml-e3z08dGr.js +0 -0
  1014. /package/dist/{playground → studio}/assets/xquery-DzFWVndE.js +0 -0
  1015. /package/dist/{playground → studio}/assets/xsl-Dd0NUgwM.js +0 -0
  1016. /package/dist/{playground → studio}/assets/yacas-BJ4BC0dw.js +0 -0
  1017. /package/dist/{playground → studio}/assets/yaml-CVw76BM1.js +0 -0
  1018. /package/dist/{playground → studio}/assets/yaml-pHjxJgpq.js +0 -0
  1019. /package/dist/{playground → studio}/assets/z80-Hz9HOZM7.js +0 -0
  1020. /package/dist/{playground → studio}/assets/zenscript-HnGAYVZD.js +0 -0
  1021. /package/dist/{playground → studio}/assets/zig-BVz_zdnA.js +0 -0
  1022. /package/dist/{playground → studio}/favicon.ico +0 -0
  1023. /package/dist/{playground → studio}/mastra.svg +0 -0
@@ -1,2029 +0,0 @@
1
- import { getAnalytics } from './chunk-3MHPDBSK.js';
2
- import * as fs3 from 'fs';
3
- import fs3__default, { existsSync } from 'fs';
4
- import fs4 from 'fs/promises';
5
- import * as p5 from '@clack/prompts';
6
- import color2 from 'picocolors';
7
- import child_process from 'child_process';
8
- import path3 from 'path';
9
- import util from 'util';
10
- import shellQuote2 from 'shell-quote';
11
- import yoctoSpinner2 from 'yocto-spinner';
12
- import fsExtra, { readJSON, ensureFile, writeJSON } from 'fs-extra/esm';
13
- import prettier from 'prettier';
14
- import { execa } from 'execa';
15
- import { fileURLToPath } from 'url';
16
- import os from 'os';
17
- import { InvalidArgumentError } from 'commander';
18
- import fsExtra3 from 'fs-extra';
19
- import { PinoLogger } from '@mastra/loggers';
20
-
21
- // package.json
22
- var package_default = {
23
- name: "mastra",
24
- version: "1.0.0-beta.14",
25
- license: "Apache-2.0",
26
- description: "cli for mastra",
27
- type: "module",
28
- main: "dist/index.js",
29
- types: "dist/index.d.ts",
30
- bin: {
31
- mastra: "./dist/index.js"
32
- },
33
- exports: {
34
- ".": "./dist/index.js",
35
- "./package.json": "./package.json",
36
- "./telemetry-loader": "./dist/commands/dev/telemetry-loader.js",
37
- "./dist/*": [
38
- "./dist/*",
39
- "./dist/*.js"
40
- ]
41
- },
42
- files: [
43
- "dist",
44
- "CHANGELOG.md"
45
- ],
46
- scripts: {
47
- "build:lib": "tsup --silent --config tsup.config.ts && pnpx tsx ../../scripts/generate-package-docs.ts packages/cli",
48
- test: "vitest run",
49
- "test:watch": "vitest watch",
50
- clean: "rm -rf dist && rm -rf node_modules",
51
- typecheck: "tsc --noEmit --incremental",
52
- lint: "eslint ."
53
- },
54
- keywords: [
55
- "mastra",
56
- "cli",
57
- "ai",
58
- "llm",
59
- "llms",
60
- "agent",
61
- "agents",
62
- "dev",
63
- "development",
64
- "deploy",
65
- "deployment",
66
- "build",
67
- "workflow",
68
- "typescript",
69
- "command-line",
70
- "devtools"
71
- ],
72
- dependencies: {
73
- "@clack/prompts": "^0.11.0",
74
- "@expo/devcert": "^1.2.1",
75
- "@mastra/deployer": "workspace:^",
76
- "@mastra/loggers": "workspace:^",
77
- commander: "^14.0.2",
78
- dotenv: "^17.2.3",
79
- execa: "^9.6.1",
80
- "fs-extra": "^11.3.3",
81
- "get-port": "^7.1.0",
82
- "local-pkg": "^1.1.2",
83
- picocolors: "^1.1.1",
84
- "posthog-node": "5.17.2",
85
- prettier: "^3.7.4",
86
- serve: "^14.2.5",
87
- "serve-handler": "^6.1.6",
88
- "shell-quote": "^1.8.3",
89
- "strip-json-comments": "^5.0.3",
90
- "yocto-spinner": "^1.0.0"
91
- },
92
- devDependencies: {
93
- "@commander-js/extra-typings": "^14.0.0",
94
- "@internal/lint": "workspace:*",
95
- "@internal/playground": "workspace:*",
96
- "@internal/types-builder": "workspace:*",
97
- "@mastra/core": "workspace:*",
98
- "@types/fs-extra": "^11.0.4",
99
- "@types/node": "22.13.17",
100
- "@types/serve-handler": "^6.1.4",
101
- "@types/shell-quote": "^1.7.5",
102
- "@vitest/coverage-v8": "catalog:",
103
- "@vitest/ui": "catalog:",
104
- eslint: "^9.37.0",
105
- memfs: "^4.51.1",
106
- rollup: "^4.50.2",
107
- tsup: "^8.5.1",
108
- "type-fest": "^5.3.1",
109
- typescript: "catalog:",
110
- vitest: "catalog:"
111
- },
112
- peerDependencies: {
113
- "@mastra/core": ">=1.0.0-0 <2.0.0-0",
114
- zod: "^3.25.0 || ^4.0.0"
115
- },
116
- homepage: "https://mastra.ai",
117
- repository: {
118
- type: "git",
119
- url: "git+https://github.com/mastra-ai/mastra.git",
120
- directory: "packages/cli"
121
- },
122
- bugs: {
123
- url: "https://github.com/mastra-ai/mastra/issues"
124
- },
125
- engines: {
126
- node: ">=22.13.0"
127
- }
128
- };
129
-
130
- // src/utils/package-manager.ts
131
- function getPackageManagerAddCommand(pm) {
132
- switch (pm) {
133
- case "npm":
134
- return "install --audit=false --fund=false --loglevel=error --progress=false --update-notifier=false";
135
- case "yarn":
136
- return "add";
137
- case "pnpm":
138
- return "add --loglevel=error";
139
- case "bun":
140
- return "add";
141
- default:
142
- return "add";
143
- }
144
- }
145
-
146
- // src/services/service.deps.ts
147
- var DepsService = class {
148
- packageManager;
149
- constructor() {
150
- this.packageManager = this.getPackageManager();
151
- }
152
- findLockFile(dir) {
153
- const lockFiles = ["pnpm-lock.yaml", "package-lock.json", "yarn.lock", "bun.lock"];
154
- for (const file of lockFiles) {
155
- if (fs3__default.existsSync(path3.join(dir, file))) {
156
- return file;
157
- }
158
- }
159
- const parentDir = path3.resolve(dir, "..");
160
- if (parentDir !== dir) {
161
- return this.findLockFile(parentDir);
162
- }
163
- return null;
164
- }
165
- getPackageManager() {
166
- const lockFile = this.findLockFile(process.cwd());
167
- switch (lockFile) {
168
- case "pnpm-lock.yaml":
169
- return "pnpm";
170
- case "package-lock.json":
171
- return "npm";
172
- case "yarn.lock":
173
- return "yarn";
174
- case "bun.lock":
175
- return "bun";
176
- default:
177
- return "npm";
178
- }
179
- }
180
- async installPackages(packages) {
181
- const pm = this.packageManager;
182
- const installCommand = getPackageManagerAddCommand(pm);
183
- const packageList = packages.join(" ");
184
- return execa(`${pm} ${installCommand} ${packageList}`, {
185
- all: true,
186
- shell: true,
187
- stdio: "inherit"
188
- });
189
- }
190
- async checkDependencies(dependencies) {
191
- try {
192
- const packageJsonPath = path3.join(process.cwd(), "package.json");
193
- try {
194
- await fs4.access(packageJsonPath);
195
- } catch {
196
- return "No package.json file found in the current directory";
197
- }
198
- const packageJson = JSON.parse(await fs4.readFile(packageJsonPath, "utf-8"));
199
- for (const dependency of dependencies) {
200
- if (!packageJson.dependencies || !packageJson.dependencies[dependency]) {
201
- return `Please install ${dependency} before running this command (${this.packageManager} install ${dependency})`;
202
- }
203
- }
204
- return "ok";
205
- } catch (err) {
206
- console.error(err);
207
- return "Could not check dependencies";
208
- }
209
- }
210
- async getProjectName() {
211
- try {
212
- const packageJsonPath = path3.join(process.cwd(), "package.json");
213
- const packageJson = await fs4.readFile(packageJsonPath, "utf-8");
214
- const pkg = JSON.parse(packageJson);
215
- return pkg.name;
216
- } catch (err) {
217
- throw err;
218
- }
219
- }
220
- async addScriptsToPackageJson(scripts) {
221
- const packageJson = JSON.parse(await fs4.readFile("package.json", "utf-8"));
222
- packageJson.scripts = {
223
- ...packageJson.scripts,
224
- ...scripts
225
- };
226
- await fs4.writeFile("package.json", JSON.stringify(packageJson, null, 2));
227
- }
228
- };
229
-
230
- // src/services/service.env.ts
231
- var EnvService = class {
232
- };
233
-
234
- // src/services/service.fileEnv.ts
235
- var FileEnvService = class extends EnvService {
236
- filePath;
237
- constructor(filePath) {
238
- super();
239
- this.filePath = filePath;
240
- }
241
- readFile(filePath) {
242
- return new Promise((resolve, reject) => {
243
- fs3.readFile(filePath, "utf8", (err, data) => {
244
- if (err) reject(err);
245
- else resolve(data);
246
- });
247
- });
248
- }
249
- writeFile({ filePath, data }) {
250
- return new Promise((resolve, reject) => {
251
- fs3.writeFile(filePath, data, "utf8", (err) => {
252
- if (err) reject(err);
253
- else resolve();
254
- });
255
- });
256
- }
257
- async updateEnvData({
258
- key,
259
- value,
260
- filePath = this.filePath,
261
- data
262
- }) {
263
- const regex = new RegExp(`^${key}=.*$`, "m");
264
- if (data.match(regex)) {
265
- data = data.replace(regex, `${key}=${value}`);
266
- } else {
267
- data += `
268
- ${key}=${value}`;
269
- }
270
- await this.writeFile({ filePath, data });
271
- console.info(`${key} set to ${value} in ENV file.`);
272
- return data;
273
- }
274
- async getEnvValue(key) {
275
- try {
276
- const data = await this.readFile(this.filePath);
277
- const regex = new RegExp(`^${key}=(.*)$`, "m");
278
- const match = data.match(regex);
279
- return match?.[1] || null;
280
- } catch (err) {
281
- console.error(`Error reading ENV value: ${err}`);
282
- return null;
283
- }
284
- }
285
- async setEnvValue(key, value) {
286
- try {
287
- const data = await this.readFile(this.filePath);
288
- await this.updateEnvData({ key, value, data });
289
- } catch (err) {
290
- console.error(`Error writing ENV value: ${err}`);
291
- }
292
- }
293
- };
294
-
295
- // src/services/service.file.ts
296
- var FileService = class {
297
- /**
298
- *
299
- * @param inputFile the file in the starter files directory to copy
300
- * @param outputFilePath the destination path
301
- * @param replaceIfExists flag to replace if it exists
302
- * @returns
303
- */
304
- async copyStarterFile(inputFile, outputFilePath, replaceIfExists) {
305
- const __filename = fileURLToPath(import.meta.url);
306
- const __dirname = path3.dirname(__filename);
307
- const filePath = path3.resolve(__dirname, "starter-files", inputFile);
308
- const fileString = fs3__default.readFileSync(filePath, "utf8");
309
- if (fs3__default.existsSync(outputFilePath) && !replaceIfExists) {
310
- console.info(`${outputFilePath} already exists`);
311
- return false;
312
- }
313
- await fsExtra.outputFile(outputFilePath, fileString);
314
- return true;
315
- }
316
- async setupEnvFile({ dbUrl }) {
317
- const envPath = path3.join(process.cwd(), ".env.development");
318
- await fsExtra.ensureFile(envPath);
319
- const fileEnvService = new FileEnvService(envPath);
320
- await fileEnvService.setEnvValue("DB_URL", dbUrl);
321
- }
322
- getFirstExistingFile(files) {
323
- for (const f of files) {
324
- if (fs3__default.existsSync(f)) {
325
- return f;
326
- }
327
- }
328
- throw new Error("Missing required file, checked the following paths: " + files.join(", "));
329
- }
330
- replaceValuesInFile({
331
- filePath,
332
- replacements
333
- }) {
334
- let fileContent = fs3__default.readFileSync(filePath, "utf8");
335
- replacements.forEach(({ search, replace }) => {
336
- fileContent = fileContent.replaceAll(search, replace);
337
- });
338
- fs3__default.writeFileSync(filePath, fileContent);
339
- }
340
- };
341
- var createArgs = (versionTag) => {
342
- const packageName = versionTag ? `@mastra/mcp-docs-server@${versionTag}` : "@mastra/mcp-docs-server";
343
- return ["-y", packageName];
344
- };
345
- var createMcpConfig = (editor, versionTag) => {
346
- const args = createArgs(versionTag);
347
- if (editor === "vscode") {
348
- return {
349
- servers: {
350
- mastra: process.platform === `win32` ? {
351
- command: "cmd",
352
- args: ["/c", "npx", ...args],
353
- type: "stdio"
354
- } : {
355
- command: "npx",
356
- args,
357
- type: "stdio"
358
- }
359
- }
360
- };
361
- }
362
- return {
363
- mcpServers: {
364
- mastra: {
365
- command: "npx",
366
- args
367
- }
368
- }
369
- };
370
- };
371
- function makeConfig(original, editor, versionTag) {
372
- if (editor === "vscode") {
373
- return {
374
- ...original,
375
- servers: {
376
- ...original?.servers || {},
377
- ...createMcpConfig(editor, versionTag).servers
378
- }
379
- };
380
- }
381
- return {
382
- ...original,
383
- mcpServers: {
384
- ...original?.mcpServers || {},
385
- ...createMcpConfig(editor, versionTag).mcpServers
386
- }
387
- };
388
- }
389
- async function writeMergedConfig(configPath, editor, versionTag) {
390
- const configExists = existsSync(configPath);
391
- const config = makeConfig(configExists ? await readJSON(configPath) : {}, editor, versionTag);
392
- await ensureFile(configPath);
393
- await writeJSON(configPath, config, {
394
- spaces: 2
395
- });
396
- }
397
- var windsurfGlobalMCPConfigPath = path3.join(os.homedir(), ".codeium", "windsurf", "mcp_config.json");
398
- var antigravityGlobalMCPConfigPath = path3.join(os.homedir(), ".gemini", "antigravity", "mcp_config.json");
399
- var cursorGlobalMCPConfigPath = path3.join(os.homedir(), ".cursor", "mcp.json");
400
- path3.join(process.cwd(), ".vscode", "mcp.json");
401
- var vscodeGlobalMCPConfigPath = path3.join(
402
- os.homedir(),
403
- process.platform === "win32" ? path3.join("AppData", "Roaming", "Code", "User", "settings.json") : process.platform === "darwin" ? path3.join("Library", "Application Support", "Code", "User", "settings.json") : path3.join(".config", "Code", "User", "settings.json")
404
- );
405
- var EDITOR = ["cursor", "cursor-global", "windsurf", "vscode", "antigravity"];
406
- function isValidEditor(value) {
407
- return EDITOR.includes(value);
408
- }
409
- async function installMastraDocsMCPServer({
410
- editor,
411
- directory,
412
- versionTag
413
- }) {
414
- if (editor === `cursor`) {
415
- await writeMergedConfig(path3.join(directory, ".cursor", "mcp.json"), "cursor", versionTag);
416
- }
417
- if (editor === `vscode`) {
418
- await writeMergedConfig(path3.join(directory, ".vscode", "mcp.json"), "vscode", versionTag);
419
- }
420
- if (editor === `cursor-global`) {
421
- const alreadyInstalled = await globalMCPIsAlreadyInstalled(editor, versionTag);
422
- if (alreadyInstalled) {
423
- return;
424
- }
425
- await writeMergedConfig(cursorGlobalMCPConfigPath, "cursor-global", versionTag);
426
- }
427
- if (editor === `windsurf`) {
428
- const alreadyInstalled = await globalMCPIsAlreadyInstalled(editor, versionTag);
429
- if (alreadyInstalled) {
430
- return;
431
- }
432
- await writeMergedConfig(windsurfGlobalMCPConfigPath, editor, versionTag);
433
- }
434
- if (editor === `antigravity`) {
435
- const alreadyInstalled = await globalMCPIsAlreadyInstalled(editor, versionTag);
436
- if (alreadyInstalled) {
437
- return;
438
- }
439
- await writeMergedConfig(antigravityGlobalMCPConfigPath, editor, versionTag);
440
- }
441
- }
442
- async function globalMCPIsAlreadyInstalled(editor, versionTag) {
443
- let configPath = ``;
444
- if (editor === "windsurf") {
445
- configPath = windsurfGlobalMCPConfigPath;
446
- } else if (editor === "antigravity") {
447
- configPath = antigravityGlobalMCPConfigPath;
448
- } else if (editor === "cursor-global") {
449
- configPath = cursorGlobalMCPConfigPath;
450
- } else if (editor === "vscode") {
451
- configPath = vscodeGlobalMCPConfigPath;
452
- }
453
- if (!configPath || !existsSync(configPath)) {
454
- return false;
455
- }
456
- try {
457
- const configContents = await readJSON(configPath);
458
- if (!configContents) return false;
459
- const expectedPackage = versionTag ? `@mastra/mcp-docs-server@${versionTag}` : "@mastra/mcp-docs-server";
460
- if (editor === "vscode") {
461
- if (!configContents.servers) return false;
462
- const hasMastraMCP2 = Object.values(configContents.servers).some(
463
- (server) => server?.args?.find((arg) => arg === expectedPackage)
464
- );
465
- return hasMastraMCP2;
466
- }
467
- if (!configContents?.mcpServers) return false;
468
- const hasMastraMCP = Object.values(configContents.mcpServers).some(
469
- (server) => server?.args?.find((arg) => arg === expectedPackage)
470
- );
471
- return hasMastraMCP;
472
- } catch {
473
- return false;
474
- }
475
- }
476
-
477
- // src/commands/init/utils.ts
478
- var exec = util.promisify(child_process.exec);
479
- var LLMProvider = ["openai", "anthropic", "groq", "google", "cerebras", "mistral"];
480
- var COMPONENTS = ["agents", "workflows", "tools", "scorers"];
481
- function isValidLLMProvider(value) {
482
- return LLMProvider.includes(value);
483
- }
484
- function areValidComponents(values) {
485
- return values.every((value) => COMPONENTS.includes(value));
486
- }
487
- var getModelIdentifier = (llmProvider) => {
488
- let model = "openai/gpt-4o";
489
- if (llmProvider === "anthropic") {
490
- model = "anthropic/claude-sonnet-4-5";
491
- } else if (llmProvider === "groq") {
492
- model = "groq/llama-3.3-70b-versatile";
493
- } else if (llmProvider === "google") {
494
- model = "google/gemini-2.5-pro";
495
- } else if (llmProvider === "cerebras") {
496
- model = "cerebras/llama-3.3-70b";
497
- } else if (llmProvider === "mistral") {
498
- model = "mistral/mistral-medium-2508";
499
- }
500
- return model;
501
- };
502
- async function writeAgentSample(llmProvider, destPath, addExampleTool, addScorers) {
503
- const modelString = getModelIdentifier(llmProvider);
504
- const instructions = `
505
- You are a helpful weather assistant that provides accurate weather information and can help planning activities based on the weather.
506
-
507
- Your primary function is to help users get weather details for specific locations. When responding:
508
- - Always ask for a location if none is provided
509
- - If the location name isn't in English, please translate it
510
- - If giving a location with multiple parts (e.g. "New York, NY"), use the most relevant part (e.g. "New York")
511
- - Include relevant details like humidity, wind conditions, and precipitation
512
- - Keep responses concise but informative
513
- - If the user asks for activities and provides the weather forecast, suggest activities based on the weather forecast.
514
- - If the user asks for activities, respond in the format they request.
515
-
516
- ${addExampleTool ? "Use the weatherTool to fetch current weather data." : ""}
517
- `;
518
- const content = `
519
- import { Agent } from '@mastra/core/agent';
520
- import { Memory } from '@mastra/memory';
521
- ${addExampleTool ? `import { weatherTool } from '../tools/weather-tool';` : ""}
522
- ${addScorers ? `import { scorers } from '../scorers/weather-scorer';` : ""}
523
-
524
- export const weatherAgent = new Agent({
525
- id: 'weather-agent',
526
- name: 'Weather Agent',
527
- instructions: \`${instructions}\`,
528
- model: '${modelString}',
529
- ${addExampleTool ? "tools: { weatherTool }," : ""}
530
- ${addScorers ? `scorers: {
531
- toolCallAppropriateness: {
532
- scorer: scorers.toolCallAppropriatenessScorer,
533
- sampling: {
534
- type: 'ratio',
535
- rate: 1,
536
- },
537
- },
538
- completeness: {
539
- scorer: scorers.completenessScorer,
540
- sampling: {
541
- type: 'ratio',
542
- rate: 1,
543
- },
544
- },
545
- translation: {
546
- scorer: scorers.translationScorer,
547
- sampling: {
548
- type: 'ratio',
549
- rate: 1,
550
- },
551
- },
552
- },` : ""}
553
- memory: new Memory()
554
- });
555
- `;
556
- const formattedContent = await prettier.format(content, {
557
- parser: "typescript",
558
- singleQuote: true
559
- });
560
- await fs4.writeFile(destPath, "");
561
- await fs4.writeFile(destPath, formattedContent);
562
- }
563
- async function writeWorkflowSample(destPath) {
564
- const content = `import { createStep, createWorkflow } from '@mastra/core/workflows';
565
- import { z } from 'zod';
566
-
567
- const forecastSchema = z.object({
568
- date: z.string(),
569
- maxTemp: z.number(),
570
- minTemp: z.number(),
571
- precipitationChance: z.number(),
572
- condition: z.string(),
573
- location: z.string(),
574
- })
575
-
576
- function getWeatherCondition(code: number): string {
577
- const conditions: Record<number, string> = {
578
- 0: 'Clear sky',
579
- 1: 'Mainly clear',
580
- 2: 'Partly cloudy',
581
- 3: 'Overcast',
582
- 45: 'Foggy',
583
- 48: 'Depositing rime fog',
584
- 51: 'Light drizzle',
585
- 53: 'Moderate drizzle',
586
- 55: 'Dense drizzle',
587
- 61: 'Slight rain',
588
- 63: 'Moderate rain',
589
- 65: 'Heavy rain',
590
- 71: 'Slight snow fall',
591
- 73: 'Moderate snow fall',
592
- 75: 'Heavy snow fall',
593
- 95: 'Thunderstorm',
594
- }
595
- return conditions[code] || 'Unknown'
596
- }
597
-
598
- const fetchWeather = createStep({
599
- id: 'fetch-weather',
600
- description: 'Fetches weather forecast for a given city',
601
- inputSchema: z.object({
602
- city: z.string().describe('The city to get the weather for'),
603
- }),
604
- outputSchema: forecastSchema,
605
- execute: async ({ inputData }) => {
606
- if (!inputData) {
607
- throw new Error('Input data not found');
608
- }
609
-
610
- const geocodingUrl = \`https://geocoding-api.open-meteo.com/v1/search?name=\${encodeURIComponent(inputData.city)}&count=1\`;
611
- const geocodingResponse = await fetch(geocodingUrl);
612
- const geocodingData = (await geocodingResponse.json()) as {
613
- results: { latitude: number; longitude: number; name: string }[];
614
- };
615
-
616
- if (!geocodingData.results?.[0]) {
617
- throw new Error(\`Location '\${inputData.city}' not found\`);
618
- }
619
-
620
- const { latitude, longitude, name } = geocodingData.results[0];
621
-
622
- const weatherUrl = \`https://api.open-meteo.com/v1/forecast?latitude=\${latitude}&longitude=\${longitude}&current=precipitation,weathercode&timezone=auto,&hourly=precipitation_probability,temperature_2m\`;
623
- const response = await fetch(weatherUrl);
624
- const data = (await response.json()) as {
625
- current: {
626
- time: string
627
- precipitation: number
628
- weathercode: number
629
- }
630
- hourly: {
631
- precipitation_probability: number[]
632
- temperature_2m: number[]
633
- }
634
- }
635
-
636
- const forecast = {
637
- date: new Date().toISOString(),
638
- maxTemp: Math.max(...data.hourly.temperature_2m),
639
- minTemp: Math.min(...data.hourly.temperature_2m),
640
- condition: getWeatherCondition(data.current.weathercode),
641
- precipitationChance: data.hourly.precipitation_probability.reduce(
642
- (acc, curr) => Math.max(acc, curr),
643
- 0
644
- ),
645
- location: name
646
- }
647
-
648
- return forecast;
649
- },
650
- });
651
-
652
-
653
- const planActivities = createStep({
654
- id: 'plan-activities',
655
- description: 'Suggests activities based on weather conditions',
656
- inputSchema: forecastSchema,
657
- outputSchema: z.object({
658
- activities: z.string(),
659
- }),
660
- execute: async ({ inputData, mastra }) => {
661
- const forecast = inputData
662
-
663
- if (!forecast) {
664
- throw new Error('Forecast data not found')
665
- }
666
-
667
- const agent = mastra?.getAgent('weatherAgent');
668
- if (!agent) {
669
- throw new Error('Weather agent not found');
670
- }
671
-
672
- const prompt = \`Based on the following weather forecast for \${forecast.location}, suggest appropriate activities:
673
- \${JSON.stringify(forecast, null, 2)}
674
- For each day in the forecast, structure your response exactly as follows:
675
-
676
- \u{1F4C5} [Day, Month Date, Year]
677
- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
678
-
679
- \u{1F321}\uFE0F WEATHER SUMMARY
680
- \u2022 Conditions: [brief description]
681
- \u2022 Temperature: [X\xB0C/Y\xB0F to A\xB0C/B\xB0F]
682
- \u2022 Precipitation: [X% chance]
683
-
684
- \u{1F305} MORNING ACTIVITIES
685
- Outdoor:
686
- \u2022 [Activity Name] - [Brief description including specific location/route]
687
- Best timing: [specific time range]
688
- Note: [relevant weather consideration]
689
-
690
- \u{1F31E} AFTERNOON ACTIVITIES
691
- Outdoor:
692
- \u2022 [Activity Name] - [Brief description including specific location/route]
693
- Best timing: [specific time range]
694
- Note: [relevant weather consideration]
695
-
696
- \u{1F3E0} INDOOR ALTERNATIVES
697
- \u2022 [Activity Name] - [Brief description including specific venue]
698
- Ideal for: [weather condition that would trigger this alternative]
699
-
700
- \u26A0\uFE0F SPECIAL CONSIDERATIONS
701
- \u2022 [Any relevant weather warnings, UV index, wind conditions, etc.]
702
-
703
- Guidelines:
704
- - Suggest 2-3 time-specific outdoor activities per day
705
- - Include 1-2 indoor backup options
706
- - For precipitation >50%, lead with indoor activities
707
- - All activities must be specific to the location
708
- - Include specific venues, trails, or locations
709
- - Consider activity intensity based on temperature
710
- - Keep descriptions concise but informative
711
-
712
- Maintain this exact formatting for consistency, using the emoji and section headers as shown.\`;
713
-
714
- const response = await agent.stream([
715
- {
716
- role: 'user',
717
- content: prompt,
718
- },
719
- ]);
720
-
721
- let activitiesText = '';
722
-
723
- for await (const chunk of response.textStream) {
724
- process.stdout.write(chunk);
725
- activitiesText += chunk;
726
- }
727
-
728
- return {
729
- activities: activitiesText,
730
- };
731
- },
732
- });
733
-
734
- const weatherWorkflow = createWorkflow({
735
- id: 'weather-workflow',
736
- inputSchema: z.object({
737
- city: z.string().describe('The city to get the weather for'),
738
- }),
739
- outputSchema: z.object({
740
- activities: z.string(),
741
- })
742
- })
743
- .then(fetchWeather)
744
- .then(planActivities);
745
-
746
- weatherWorkflow.commit();
747
-
748
- export { weatherWorkflow };`;
749
- const formattedContent = await prettier.format(content, {
750
- parser: "typescript",
751
- semi: true,
752
- singleQuote: true
753
- });
754
- await fs4.writeFile(destPath, formattedContent);
755
- }
756
- async function writeToolSample(destPath) {
757
- const fileService = new FileService();
758
- await fileService.copyStarterFile("tools.ts", destPath);
759
- }
760
- async function writeScorersSample(llmProvider, destPath) {
761
- const modelString = getModelIdentifier(llmProvider);
762
- const content = `import { z } from 'zod';
763
- import { createToolCallAccuracyScorerCode } from '@mastra/evals/scorers/prebuilt';
764
- import { createCompletenessScorer } from '@mastra/evals/scorers/prebuilt';
765
- import { getAssistantMessageFromRunOutput, getUserMessageFromRunInput } from '@mastra/evals/scorers/utils';
766
- import { createScorer } from '@mastra/core/evals';
767
-
768
- export const toolCallAppropriatenessScorer = createToolCallAccuracyScorerCode({
769
- expectedTool: 'weatherTool',
770
- strictMode: false,
771
- });
772
-
773
- export const completenessScorer = createCompletenessScorer();
774
-
775
- // Custom LLM-judged scorer: evaluates if non-English locations are translated appropriately
776
- export const translationScorer = createScorer({
777
- id: 'translation-quality-scorer',
778
- name: 'Translation Quality',
779
- description: 'Checks that non-English location names are translated and used correctly',
780
- type: 'agent',
781
- judge: {
782
- model: '${modelString}',
783
- instructions:
784
- 'You are an expert evaluator of translation quality for geographic locations. ' +
785
- 'Determine whether the user text mentions a non-English location and whether the assistant correctly uses an English translation of that location. ' +
786
- 'Be lenient with transliteration differences and diacritics. ' +
787
- 'Return only the structured JSON matching the provided schema.',
788
- },
789
- })
790
- .preprocess(({ run }) => {
791
- const userText = getUserMessageFromRunInput(run.input) || '';
792
- const assistantText = getAssistantMessageFromRunOutput(run.output) || '';
793
- return { userText, assistantText };
794
- })
795
- .analyze({
796
- description: 'Extract location names and detect language/translation adequacy',
797
- outputSchema: z.object({
798
- nonEnglish: z.boolean(),
799
- translated: z.boolean(),
800
- confidence: z.number().min(0).max(1).default(1),
801
- explanation: z.string().default(''),
802
- }),
803
- createPrompt: ({ results }) => \`
804
- You are evaluating if a weather assistant correctly handled translation of a non-English location.
805
- User text:
806
- """
807
- \${results.preprocessStepResult.userText}
808
- """
809
- Assistant response:
810
- """
811
- \${results.preprocessStepResult.assistantText}
812
- """
813
- Tasks:
814
- 1) Identify if the user mentioned a location that appears non-English.
815
- 2) If non-English, check whether the assistant used a correct English translation of that location in its response.
816
- 3) Be lenient with transliteration differences (e.g., accents/diacritics).
817
- Return JSON with fields:
818
- {
819
- "nonEnglish": boolean,
820
- "translated": boolean,
821
- "confidence": number, // 0-1
822
- "explanation": string
823
- }
824
- \`,
825
- })
826
- .generateScore(({ results }) => {
827
- const r = (results as any)?.analyzeStepResult || {};
828
- if (!r.nonEnglish) return 1; // If not applicable, full credit
829
- if (r.translated) return Math.max(0, Math.min(1, 0.7 + 0.3 * (r.confidence ?? 1)));
830
- return 0; // Non-English but not translated
831
- })
832
- .generateReason(({ results, score }) => {
833
- const r = (results as any)?.analyzeStepResult || {};
834
- return \`Translation scoring: nonEnglish=\${r.nonEnglish ?? false}, translated=\${r.translated ?? false}, confidence=\${r.confidence ?? 0}. Score=\${score}. \${r.explanation ?? ''}\`;
835
- });
836
-
837
- export const scorers = {
838
- toolCallAppropriatenessScorer,
839
- completenessScorer,
840
- translationScorer,
841
- };`;
842
- const formattedContent = await prettier.format(content, {
843
- parser: "typescript",
844
- singleQuote: true
845
- });
846
- await fs4.writeFile(destPath, formattedContent);
847
- }
848
- async function writeCodeSampleForComponents(llmprovider, component, destPath, importComponents) {
849
- switch (component) {
850
- case "agents":
851
- return writeAgentSample(
852
- llmprovider,
853
- destPath,
854
- importComponents.includes("tools"),
855
- importComponents.includes("scorers")
856
- );
857
- case "tools":
858
- return writeToolSample(destPath);
859
- case "workflows":
860
- return writeWorkflowSample(destPath);
861
- case "scorers":
862
- return writeScorersSample(llmprovider, destPath);
863
- default:
864
- return "";
865
- }
866
- }
867
- var createComponentsDir = async (dirPath, component) => {
868
- const componentPath = dirPath + `/${component}`;
869
- await fsExtra.ensureDir(componentPath);
870
- };
871
- var writeIndexFile = async ({
872
- dirPath,
873
- addAgent,
874
- addExample,
875
- addWorkflow,
876
- addScorers
877
- }) => {
878
- const indexPath = dirPath + "/index.ts";
879
- const destPath = path3.join(indexPath);
880
- try {
881
- await fs4.writeFile(destPath, "");
882
- const filteredExports = [
883
- addWorkflow ? `workflows: { weatherWorkflow },` : "",
884
- addAgent ? `agents: { weatherAgent },` : "",
885
- addScorers ? `scorers: { toolCallAppropriatenessScorer, completenessScorer, translationScorer },` : ""
886
- ].filter(Boolean);
887
- if (!addExample) {
888
- await fs4.writeFile(
889
- destPath,
890
- `
891
- import { Mastra } from '@mastra/core/mastra';
892
-
893
- export const mastra = new Mastra()
894
- `
895
- );
896
- return;
897
- }
898
- await fs4.writeFile(
899
- destPath,
900
- `
901
- import { Mastra } from '@mastra/core/mastra';
902
- import { PinoLogger } from '@mastra/loggers';
903
- import { LibSQLStore } from '@mastra/libsql';
904
- import { Observability } from '@mastra/observability';
905
- ${addWorkflow ? `import { weatherWorkflow } from './workflows/weather-workflow';` : ""}
906
- ${addAgent ? `import { weatherAgent } from './agents/weather-agent';` : ""}
907
- ${addScorers ? `import { toolCallAppropriatenessScorer, completenessScorer, translationScorer } from './scorers/weather-scorer';` : ""}
908
-
909
- export const mastra = new Mastra({
910
- ${filteredExports.join("\n ")}
911
- storage: new LibSQLStore({
912
- id: "mastra-storage",
913
- // stores observability, scores, ... into memory storage, if it needs to persist, change to file:../mastra.db
914
- url: ":memory:",
915
- }),
916
- logger: new PinoLogger({
917
- name: 'Mastra',
918
- level: 'info',
919
- }),
920
- observability: new Observability({
921
- // Enables DefaultExporter and CloudExporter for tracing
922
- default: { enabled: true },
923
- }),
924
- });
925
- `
926
- );
927
- } catch (err) {
928
- throw err;
929
- }
930
- };
931
- var checkAndInstallCoreDeps = async (addExample, versionTag) => {
932
- const spinner4 = yoctoSpinner2({ text: "Installing Mastra core dependencies" });
933
- let packages = [];
934
- const mastraVersionTag = versionTag || "latest";
935
- try {
936
- const depService = new DepsService();
937
- spinner4.start();
938
- const needsCore = await depService.checkDependencies(["@mastra/core"]) !== `ok`;
939
- const needsCli = await depService.checkDependencies(["mastra"]) !== `ok`;
940
- const needsZod = await depService.checkDependencies(["zod"]) !== `ok`;
941
- if (needsCore) {
942
- packages.push({ name: "@mastra/core", version: mastraVersionTag });
943
- }
944
- if (needsCli) {
945
- packages.push({ name: "mastra", version: mastraVersionTag });
946
- }
947
- if (needsZod) {
948
- packages.push({ name: "zod", version: "^4" });
949
- }
950
- if (addExample) {
951
- const needsLibsql = await depService.checkDependencies(["@mastra/libsql"]) !== `ok`;
952
- if (needsLibsql) {
953
- packages.push({ name: "@mastra/libsql", version: mastraVersionTag });
954
- }
955
- }
956
- if (packages.length > 0) {
957
- await depService.installPackages(packages.map((pkg) => `${pkg.name}@${pkg.version}`));
958
- }
959
- spinner4.success("Successfully installed Mastra core dependencies");
960
- } catch (err) {
961
- spinner4.error(`Failed to install core dependencies: ${err instanceof Error ? err.message : "Unknown error"}`);
962
- }
963
- };
964
- var getAPIKey = async (provider) => {
965
- let key = "OPENAI_API_KEY";
966
- switch (provider) {
967
- case "anthropic":
968
- key = "ANTHROPIC_API_KEY";
969
- return key;
970
- case "groq":
971
- key = "GROQ_API_KEY";
972
- return key;
973
- case "google":
974
- key = "GOOGLE_GENERATIVE_AI_API_KEY";
975
- return key;
976
- case "cerebras":
977
- key = "CEREBRAS_API_KEY";
978
- return key;
979
- case "mistral":
980
- key = "MISTRAL_API_KEY";
981
- return key;
982
- default:
983
- return key;
984
- }
985
- };
986
- var writeAPIKey = async ({ provider, apiKey }) => {
987
- const envFileName = apiKey ? ".env" : ".env.example";
988
- const key = await getAPIKey(provider);
989
- const escapedKey = shellQuote2.quote([key]);
990
- const escapedApiKey = shellQuote2.quote([apiKey ? apiKey : "your-api-key"]);
991
- await exec(`echo ${escapedKey}=${escapedApiKey} >> ${envFileName}`);
992
- };
993
- var createMastraDir = async (directory) => {
994
- let dir = directory.trim().split("/").filter((item) => item !== "");
995
- const dirPath = path3.join(process.cwd(), ...dir, "mastra");
996
- try {
997
- await fs4.access(dirPath);
998
- return { ok: false };
999
- } catch {
1000
- await fsExtra.ensureDir(dirPath);
1001
- return { ok: true, dirPath };
1002
- }
1003
- };
1004
- var writeCodeSample = async (dirPath, component, llmProvider, importComponents) => {
1005
- const destPath = dirPath + `/${component}/weather-${component.slice(0, -1)}.ts`;
1006
- try {
1007
- await writeCodeSampleForComponents(llmProvider, component, destPath, importComponents);
1008
- } catch (err) {
1009
- throw err;
1010
- }
1011
- };
1012
- var LLM_PROVIDERS = [
1013
- { value: "openai", label: "OpenAI", hint: "recommended" },
1014
- { value: "anthropic", label: "Anthropic" },
1015
- { value: "groq", label: "Groq" },
1016
- { value: "google", label: "Google" },
1017
- { value: "cerebras", label: "Cerebras" },
1018
- { value: "mistral", label: "Mistral" }
1019
- ];
1020
- var interactivePrompt = async (args = {}) => {
1021
- const { skip = {}, options: { showBanner = true } = {} } = args;
1022
- if (showBanner) {
1023
- p5.intro(color2.inverse(" Mastra Init "));
1024
- }
1025
- const mastraProject = await p5.group(
1026
- {
1027
- directory: () => p5.text({
1028
- message: "Where should we create the Mastra files? (default: src/)",
1029
- placeholder: "src/",
1030
- defaultValue: "src/"
1031
- }),
1032
- llmProvider: () => skip?.llmProvider ? void 0 : p5.select({
1033
- message: "Select a default provider:",
1034
- options: LLM_PROVIDERS
1035
- }),
1036
- llmApiKey: async ({ results: { llmProvider } }) => {
1037
- if (skip?.llmApiKey) return void 0;
1038
- const llmName = LLM_PROVIDERS.find((p6) => p6.value === llmProvider)?.label || "provider";
1039
- const keyChoice = await p5.select({
1040
- message: `Enter your ${llmName} API key?`,
1041
- options: [
1042
- { value: "skip", label: "Skip for now", hint: "default" },
1043
- { value: "enter", label: "Enter API key" }
1044
- ],
1045
- initialValue: "skip"
1046
- });
1047
- if (keyChoice === "enter") {
1048
- return p5.text({
1049
- message: "Enter your API key:",
1050
- placeholder: "sk-...",
1051
- validate: (value) => {
1052
- if (value.length === 0) return "API key cannot be empty";
1053
- }
1054
- });
1055
- }
1056
- return void 0;
1057
- },
1058
- configureEditorWithDocsMCP: async () => {
1059
- const editor = await p5.select({
1060
- message: `Make your IDE into a Mastra expert? (Installs Mastra's MCP server)`,
1061
- options: [
1062
- { value: "skip", label: "Skip for now", hint: "default" },
1063
- {
1064
- value: "cursor",
1065
- label: "Cursor (project only)"
1066
- },
1067
- {
1068
- value: "cursor-global",
1069
- label: "Cursor (global, all projects)"
1070
- },
1071
- {
1072
- value: "windsurf",
1073
- label: "Windsurf"
1074
- },
1075
- {
1076
- value: "vscode",
1077
- label: "VSCode"
1078
- },
1079
- {
1080
- value: "antigravity",
1081
- label: "Antigravity"
1082
- }
1083
- ]
1084
- });
1085
- if (editor === `skip`) return void 0;
1086
- if (editor === `cursor`) {
1087
- p5.log.message(
1088
- `
1089
- Note: you will need to go into Cursor Settings -> MCP Settings and manually enable the installed Mastra MCP server.
1090
- `
1091
- );
1092
- }
1093
- if (editor === `cursor-global`) {
1094
- const confirm3 = await p5.select({
1095
- message: `Global install will add/update ${cursorGlobalMCPConfigPath} and make the Mastra docs MCP server available in all your Cursor projects. Continue?`,
1096
- options: [
1097
- { value: "yes", label: "Yes, I understand" },
1098
- { value: "skip", label: "No, skip for now" }
1099
- ]
1100
- });
1101
- if (confirm3 !== `yes`) {
1102
- return void 0;
1103
- }
1104
- }
1105
- if (editor === `windsurf`) {
1106
- const confirm3 = await p5.select({
1107
- message: `Windsurf only supports a global MCP config (at ${windsurfGlobalMCPConfigPath}) is it ok to add/update that global config?
1108
- This means the Mastra docs MCP server will be available in all your Windsurf projects.`,
1109
- options: [
1110
- { value: "yes", label: "Yes, I understand" },
1111
- { value: "skip", label: "No, skip for now" }
1112
- ]
1113
- });
1114
- if (confirm3 !== `yes`) {
1115
- return void 0;
1116
- }
1117
- }
1118
- if (editor === `antigravity`) {
1119
- const confirm3 = await p5.select({
1120
- message: `Antigravity only supports a global MCP config (at ${antigravityGlobalMCPConfigPath}). Is it ok to add/update that global config?
1121
- This will make the Mastra docs MCP server available in all Antigravity projects.`,
1122
- options: [
1123
- { value: "yes", label: "Yes, I understand" },
1124
- { value: "skip", label: "No, skip for now" }
1125
- ]
1126
- });
1127
- if (confirm3 !== `yes`) {
1128
- return void 0;
1129
- }
1130
- }
1131
- return editor;
1132
- },
1133
- initGit: async () => {
1134
- if (skip?.gitInit) return false;
1135
- return p5.confirm({
1136
- message: "Initialize a new git repository?",
1137
- initialValue: true
1138
- });
1139
- }
1140
- },
1141
- {
1142
- onCancel: () => {
1143
- p5.cancel("Operation cancelled.");
1144
- process.exit(0);
1145
- }
1146
- }
1147
- );
1148
- return mastraProject;
1149
- };
1150
- var checkForPkgJson = async () => {
1151
- const cwd = process.cwd();
1152
- const pkgJsonPath = path3.join(cwd, "package.json");
1153
- try {
1154
- await fs4.access(pkgJsonPath);
1155
- } catch {
1156
- p5.log.error(
1157
- 'No package.json file found in the current directory. Please run "npm init -y" to create one, or run "npx create-mastra@latest" to create a new Mastra project.'
1158
- );
1159
- process.exit(1);
1160
- }
1161
- };
1162
- function getPackageManager() {
1163
- const userAgent = process.env.npm_config_user_agent || "";
1164
- const execPath = process.env.npm_execpath || "";
1165
- if (userAgent.includes("bun")) {
1166
- return "bun";
1167
- }
1168
- if (userAgent.includes("yarn")) {
1169
- return "yarn";
1170
- }
1171
- if (userAgent.includes("pnpm")) {
1172
- return "pnpm";
1173
- }
1174
- if (userAgent.includes("npm")) {
1175
- return "npm";
1176
- }
1177
- if (execPath.includes("bun")) {
1178
- return "bun";
1179
- }
1180
- if (execPath.includes("yarn")) {
1181
- return "yarn";
1182
- }
1183
- if (execPath.includes("pnpm")) {
1184
- return "pnpm";
1185
- }
1186
- if (execPath.includes("npm")) {
1187
- return "npm";
1188
- }
1189
- return "npm";
1190
- }
1191
- function parseMcp(value) {
1192
- if (!isValidEditor(value)) {
1193
- throw new InvalidArgumentError(`Choose a valid value: ${EDITOR.join(", ")}`);
1194
- }
1195
- return value;
1196
- }
1197
- function parseComponents(value) {
1198
- const parsedValue = value.split(",");
1199
- if (!areValidComponents(parsedValue)) {
1200
- throw new InvalidArgumentError(`Choose valid components: ${COMPONENTS.join(", ")}`);
1201
- }
1202
- return parsedValue;
1203
- }
1204
- function parseLlmProvider(value) {
1205
- if (!isValidLLMProvider(value)) {
1206
- throw new InvalidArgumentError(`Choose a valid provider: ${LLMProvider.join(", ")}`);
1207
- }
1208
- return value;
1209
- }
1210
- function shouldSkipDotenvLoading() {
1211
- return process.env.MASTRA_SKIP_DOTENV === "true" || process.env.MASTRA_SKIP_DOTENV === "1";
1212
- }
1213
- async function getVersionTag() {
1214
- try {
1215
- const pkgPath = fileURLToPath(import.meta.resolve("mastra/package.json"));
1216
- const json = await fsExtra3.readJSON(pkgPath);
1217
- const currentVersion = json.version;
1218
- const { stdout } = await execa("npm", ["dist-tag", "ls", "mastra"]);
1219
- const tagLine = stdout.split("\n").find((distLine) => distLine.endsWith(`: ${currentVersion}`));
1220
- const tag = tagLine ? tagLine.split(":")[0]?.trim() : void 0;
1221
- return tag;
1222
- } catch {
1223
- return void 0;
1224
- }
1225
- }
1226
- async function isGitInitialized({ cwd }) {
1227
- try {
1228
- await execa("git", ["rev-parse", "--is-inside-work-tree"], { cwd, stdio: "ignore" });
1229
- return true;
1230
- } catch {
1231
- return false;
1232
- }
1233
- }
1234
- async function gitInit({ cwd }) {
1235
- await execa("git", ["init"], { cwd, stdio: "ignore" });
1236
- await execa("git", ["add", "-A"], { cwd, stdio: "ignore" });
1237
- await execa(
1238
- "git",
1239
- [
1240
- "commit",
1241
- "-m",
1242
- '"Initial commit from Mastra"',
1243
- '--author="dane-ai-mastra[bot] <dane-ai-mastra[bot]@users.noreply.github.com>"'
1244
- ],
1245
- { cwd, stdio: "ignore" }
1246
- );
1247
- }
1248
- var logger = createLogger(false);
1249
- function createLogger(debug = false) {
1250
- return new PinoLogger({
1251
- name: "Mastra CLI",
1252
- level: debug ? "debug" : "info"
1253
- });
1254
- }
1255
-
1256
- // src/utils/clone-template.ts
1257
- var exec2 = util.promisify(child_process.exec);
1258
- async function cloneTemplate(options) {
1259
- const { template, projectName, targetDir, branch, llmProvider } = options;
1260
- const projectPath = targetDir ? path3.resolve(targetDir, projectName) : path3.resolve(projectName);
1261
- const spinner4 = yoctoSpinner2({ text: `Cloning template "${template.title}"...` }).start();
1262
- try {
1263
- if (await directoryExists(projectPath)) {
1264
- spinner4.error(`Directory ${projectName} already exists`);
1265
- throw new Error(`Directory ${projectName} already exists`);
1266
- }
1267
- await cloneRepositoryWithoutGit(template.githubUrl, projectPath, branch);
1268
- await updatePackageJson(projectPath, projectName);
1269
- const envExamplePath = path3.join(projectPath, ".env.example");
1270
- if (await fileExists(envExamplePath)) {
1271
- const envPath = path3.join(projectPath, ".env");
1272
- await fs4.copyFile(envExamplePath, envPath);
1273
- if (llmProvider) {
1274
- await updateEnvFile(envPath, llmProvider);
1275
- }
1276
- }
1277
- spinner4.success(`Template "${template.title}" cloned successfully to ${projectName}`);
1278
- return projectPath;
1279
- } catch (error) {
1280
- spinner4.error(`Failed to clone template: ${error instanceof Error ? error.message : "Unknown error"}`);
1281
- throw error;
1282
- }
1283
- }
1284
- async function directoryExists(dirPath) {
1285
- try {
1286
- const stat = await fs4.stat(dirPath);
1287
- return stat.isDirectory();
1288
- } catch {
1289
- return false;
1290
- }
1291
- }
1292
- async function fileExists(filePath) {
1293
- try {
1294
- const stat = await fs4.stat(filePath);
1295
- return stat.isFile();
1296
- } catch {
1297
- return false;
1298
- }
1299
- }
1300
- async function cloneRepositoryWithoutGit(repoUrl, targetPath, branch) {
1301
- await fs4.mkdir(targetPath, { recursive: true });
1302
- try {
1303
- const degitRepo = repoUrl.replace("https://github.com/", "");
1304
- const degitRepoWithBranch = branch ? `${degitRepo}#${branch}` : degitRepo;
1305
- const degitCommand = shellQuote2.quote(["npx", "degit", degitRepoWithBranch, targetPath]);
1306
- await exec2(degitCommand, {
1307
- cwd: process.cwd()
1308
- });
1309
- } catch {
1310
- try {
1311
- const gitArgs = ["git", "clone"];
1312
- if (branch) {
1313
- gitArgs.push("--branch", branch);
1314
- }
1315
- gitArgs.push(repoUrl, targetPath);
1316
- const gitCommand = shellQuote2.quote(gitArgs);
1317
- await exec2(gitCommand, {
1318
- cwd: process.cwd()
1319
- });
1320
- const gitDir = path3.join(targetPath, ".git");
1321
- if (await directoryExists(gitDir)) {
1322
- await fs4.rm(gitDir, { recursive: true, force: true });
1323
- }
1324
- } catch (gitError) {
1325
- throw new Error(`Failed to clone repository: ${gitError instanceof Error ? gitError.message : "Unknown error"}`);
1326
- }
1327
- }
1328
- }
1329
- async function updatePackageJson(projectPath, projectName) {
1330
- const packageJsonPath = path3.join(projectPath, "package.json");
1331
- try {
1332
- const packageJsonContent = await fs4.readFile(packageJsonPath, "utf-8");
1333
- const packageJson = JSON.parse(packageJsonContent);
1334
- packageJson.name = projectName;
1335
- await fs4.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2), "utf-8");
1336
- } catch (error) {
1337
- logger.warn(`Could not update package.json: ${error instanceof Error ? error.message : "Unknown error"}`);
1338
- }
1339
- }
1340
- async function updateEnvFile(envPath, llmProvider) {
1341
- try {
1342
- const envContent = await fs4.readFile(envPath, "utf-8");
1343
- const modelString = getModelIdentifier(llmProvider);
1344
- if (!modelString) {
1345
- logger.warn(`Could not get model identifier for provider: ${llmProvider}`);
1346
- return;
1347
- }
1348
- const modelValue = modelString.replace(/'/g, "");
1349
- const updatedContent = envContent.replace(/^MODEL=.*/m, `MODEL=${modelValue}`);
1350
- await fs4.writeFile(envPath, updatedContent, "utf-8");
1351
- logger.info(`Updated MODEL in .env to ${modelValue}`);
1352
- } catch (error) {
1353
- logger.warn(`Could not update .env file: ${error instanceof Error ? error.message : "Unknown error"}`);
1354
- }
1355
- }
1356
- async function installDependencies(projectPath, packageManager) {
1357
- const spinner4 = yoctoSpinner2({ text: "Installing dependencies..." }).start();
1358
- try {
1359
- const pm = packageManager || getPackageManager();
1360
- const installCommand = shellQuote2.quote([pm, "install"]);
1361
- await exec2(installCommand, {
1362
- cwd: projectPath
1363
- });
1364
- spinner4.success("Dependencies installed successfully");
1365
- } catch (error) {
1366
- spinner4.error(`Failed to install dependencies: ${error instanceof Error ? error.message : "Unknown error"}`);
1367
- throw error;
1368
- }
1369
- }
1370
- var TEMPLATES_API_URL = process.env.MASTRA_TEMPLATES_API_URL || "https://mastra.ai/api/templates.json";
1371
- async function loadTemplates() {
1372
- try {
1373
- const response = await fetch(TEMPLATES_API_URL);
1374
- if (!response.ok) {
1375
- throw new Error(`Failed to fetch templates: ${response.statusText}`);
1376
- }
1377
- const templates = await response.json();
1378
- return templates;
1379
- } catch (error) {
1380
- console.error("Error loading templates:", error);
1381
- throw new Error("Failed to load templates. Please check your internet connection and try again.");
1382
- }
1383
- }
1384
- function pluralize(count, singular, plural) {
1385
- return count === 1 ? singular : plural || `${singular}s`;
1386
- }
1387
- async function selectTemplate(templates) {
1388
- const choices = templates.map((template) => {
1389
- const parts = [];
1390
- if (template.agents?.length) {
1391
- parts.push(`${template.agents.length} ${pluralize(template.agents.length, "agent")}`);
1392
- }
1393
- if (template.tools?.length) {
1394
- parts.push(`${template.tools.length} ${pluralize(template.tools.length, "tool")}`);
1395
- }
1396
- if (template.workflows?.length) {
1397
- parts.push(`${template.workflows.length} ${pluralize(template.workflows.length, "workflow")}`);
1398
- }
1399
- if (template.mcp?.length) {
1400
- parts.push(`${template.mcp.length} ${pluralize(template.mcp.length, "MCP server")}`);
1401
- }
1402
- if (template.networks?.length) {
1403
- parts.push(`${template.networks.length} ${pluralize(template.networks.length, "agent network")}`);
1404
- }
1405
- return {
1406
- value: template,
1407
- label: template.title,
1408
- hint: parts.join(", ") || "Template components"
1409
- };
1410
- });
1411
- const selected = await p5.select({
1412
- message: "Select a template:",
1413
- options: choices
1414
- });
1415
- if (p5.isCancel(selected)) {
1416
- return null;
1417
- }
1418
- return selected;
1419
- }
1420
- function findTemplateByName(templates, templateName) {
1421
- let template = templates.find((t) => t.slug === templateName);
1422
- if (template) return template;
1423
- const slugWithPrefix = `template-${templateName}`;
1424
- template = templates.find((t) => t.slug === slugWithPrefix);
1425
- if (template) return template;
1426
- template = templates.find((t) => t.title.toLowerCase() === templateName.toLowerCase());
1427
- if (template) return template;
1428
- return null;
1429
- }
1430
- function getDefaultProjectName(template) {
1431
- return template.slug.replace(/^template-/, "");
1432
- }
1433
- var s = p5.spinner();
1434
- var init = async ({
1435
- directory = "src/",
1436
- components,
1437
- llmProvider = "openai",
1438
- llmApiKey,
1439
- addExample = false,
1440
- configureEditorWithDocsMCP,
1441
- versionTag,
1442
- initGit = false
1443
- }) => {
1444
- s.start("Initializing Mastra");
1445
- const packageVersionTag = versionTag ? `@${versionTag}` : "";
1446
- try {
1447
- const result = await createMastraDir(directory);
1448
- if (!result.ok) {
1449
- s.stop(color2.inverse(" Mastra already initialized "));
1450
- return { success: false };
1451
- }
1452
- const dirPath = result.dirPath;
1453
- await Promise.all([
1454
- writeIndexFile({
1455
- dirPath,
1456
- addExample,
1457
- addWorkflow: components.includes("workflows"),
1458
- addAgent: components.includes("agents"),
1459
- addScorers: components.includes("scorers")
1460
- }),
1461
- ...components.map((component) => createComponentsDir(dirPath, component)),
1462
- writeAPIKey({ provider: llmProvider, apiKey: llmApiKey })
1463
- ]);
1464
- if (addExample) {
1465
- await Promise.all([
1466
- ...components.map(
1467
- (component) => writeCodeSample(dirPath, component, llmProvider, components)
1468
- )
1469
- ]);
1470
- const depService = new DepsService();
1471
- const needsLibsql = await depService.checkDependencies(["@mastra/libsql"]) !== `ok`;
1472
- if (needsLibsql) {
1473
- await depService.installPackages([`@mastra/libsql${packageVersionTag}`]);
1474
- }
1475
- const needsMemory = components.includes(`agents`) && await depService.checkDependencies(["@mastra/memory"]) !== `ok`;
1476
- if (needsMemory) {
1477
- await depService.installPackages([`@mastra/memory${packageVersionTag}`]);
1478
- }
1479
- const needsLoggers = await depService.checkDependencies(["@mastra/loggers"]) !== `ok`;
1480
- if (needsLoggers) {
1481
- await depService.installPackages([`@mastra/loggers${packageVersionTag}`]);
1482
- }
1483
- const needsObservability = await depService.checkDependencies(["@mastra/observability"]) !== `ok`;
1484
- if (needsObservability) {
1485
- await depService.installPackages([`@mastra/observability${packageVersionTag}`]);
1486
- }
1487
- const needsEvals = components.includes(`scorers`) && await depService.checkDependencies(["@mastra/evals"]) !== `ok`;
1488
- if (needsEvals) {
1489
- await depService.installPackages([`@mastra/evals${packageVersionTag}`]);
1490
- }
1491
- }
1492
- const key = await getAPIKey(llmProvider || "openai");
1493
- if (configureEditorWithDocsMCP) {
1494
- await installMastraDocsMCPServer({
1495
- editor: configureEditorWithDocsMCP,
1496
- directory: process.cwd(),
1497
- versionTag
1498
- });
1499
- }
1500
- s.stop();
1501
- if (initGit) {
1502
- const s2 = p5.spinner();
1503
- try {
1504
- s2.start("Initializing git repository");
1505
- await gitInit({ cwd: process.cwd() });
1506
- s2.stop("Git repository initialized");
1507
- } catch {
1508
- s2.stop();
1509
- }
1510
- }
1511
- if (!llmApiKey) {
1512
- p5.note(`
1513
- ${color2.green("Mastra initialized successfully!")}
1514
-
1515
- Add your ${color2.cyan(key)} as an environment variable
1516
- in your ${color2.cyan(".env")} file
1517
- `);
1518
- } else {
1519
- p5.note(`
1520
- ${color2.green("Mastra initialized successfully!")}
1521
- `);
1522
- }
1523
- return { success: true };
1524
- } catch (err) {
1525
- s.stop(color2.inverse("An error occurred while initializing Mastra"));
1526
- console.error(err);
1527
- return { success: false };
1528
- }
1529
- };
1530
- var exec3 = util.promisify(child_process.exec);
1531
- var execWithTimeout = async (command, timeoutMs) => {
1532
- try {
1533
- const promise = exec3(command, { killSignal: "SIGTERM" });
1534
- if (!timeoutMs) {
1535
- return await promise;
1536
- }
1537
- let timeoutId;
1538
- const timeout = new Promise((_, reject) => {
1539
- timeoutId = setTimeout(() => reject(new Error("Command timed out")), timeoutMs);
1540
- });
1541
- try {
1542
- const result = await Promise.race([promise, timeout]);
1543
- clearTimeout(timeoutId);
1544
- return result;
1545
- } catch (error) {
1546
- clearTimeout(timeoutId);
1547
- if (error instanceof Error && error.message === "Command timed out") {
1548
- throw new Error("Something went wrong during installation, please try again.");
1549
- }
1550
- throw error;
1551
- }
1552
- } catch (error) {
1553
- throw error;
1554
- }
1555
- };
1556
- async function getInitCommand(pm) {
1557
- switch (pm) {
1558
- case "npm":
1559
- return "npm init -y";
1560
- case "pnpm":
1561
- return "pnpm init";
1562
- case "yarn":
1563
- return "yarn init -y";
1564
- case "bun":
1565
- return "bun init -y";
1566
- default:
1567
- return "npm init -y";
1568
- }
1569
- }
1570
- async function initializePackageJson(pm) {
1571
- const initCommand = await getInitCommand(pm);
1572
- await exec3(initCommand);
1573
- const packageJsonPath = path3.join(process.cwd(), "package.json");
1574
- const packageJson = JSON.parse(await fs4.readFile(packageJsonPath, "utf-8"));
1575
- packageJson.type = "module";
1576
- packageJson.engines = {
1577
- ...packageJson.engines,
1578
- node: ">=22.13.0"
1579
- };
1580
- await fs4.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2));
1581
- }
1582
- async function installMastraDependency(pm, dependency, versionTag, isDev, timeout) {
1583
- let installCommand = getPackageManagerAddCommand(pm);
1584
- if (isDev) {
1585
- installCommand = `${installCommand} -D`;
1586
- }
1587
- try {
1588
- await execWithTimeout(`${pm} ${installCommand} ${dependency}${versionTag}`, timeout);
1589
- } catch (err) {
1590
- if (versionTag === "@latest") {
1591
- throw new Error(
1592
- `Failed to install ${dependency}@latest: ${err instanceof Error ? err.message : "Unknown error"}`
1593
- );
1594
- }
1595
- try {
1596
- await execWithTimeout(`${pm} ${installCommand} ${dependency}@latest`, timeout);
1597
- } catch (fallbackErr) {
1598
- throw new Error(
1599
- `Failed to install ${dependency} (tried ${versionTag} and @latest): ${fallbackErr instanceof Error ? fallbackErr.message : "Unknown error"}`
1600
- );
1601
- }
1602
- }
1603
- }
1604
- var createMastraProject = async ({
1605
- projectName: name,
1606
- createVersionTag,
1607
- timeout,
1608
- llmProvider,
1609
- llmApiKey,
1610
- needsInteractive
1611
- }) => {
1612
- p5.intro(color2.inverse(" Mastra Create "));
1613
- const projectName = name ?? await p5.text({
1614
- message: "What do you want to name your project?",
1615
- placeholder: "my-mastra-app",
1616
- defaultValue: "my-mastra-app",
1617
- validate: (value) => {
1618
- if (value.length === 0) return "Project name cannot be empty";
1619
- if (fs3__default.existsSync(value)) {
1620
- return `A directory named "${value}" already exists. Please choose a different name.`;
1621
- }
1622
- }
1623
- });
1624
- if (p5.isCancel(projectName)) {
1625
- p5.cancel("Operation cancelled");
1626
- process.exit(0);
1627
- }
1628
- let result = void 0;
1629
- if (needsInteractive) {
1630
- result = await interactivePrompt({
1631
- options: { showBanner: false },
1632
- skip: { llmProvider: llmProvider !== void 0, llmApiKey: llmApiKey !== void 0 }
1633
- });
1634
- }
1635
- const s2 = p5.spinner();
1636
- const originalCwd = process.cwd();
1637
- let projectPath = null;
1638
- try {
1639
- s2.start("Creating project");
1640
- try {
1641
- await fs4.mkdir(projectName);
1642
- projectPath = path3.resolve(originalCwd, projectName);
1643
- } catch (error) {
1644
- if (error instanceof Error && "code" in error && error.code === "EEXIST") {
1645
- s2.stop(`A directory named "${projectName}" already exists. Please choose a different name.`);
1646
- process.exit(1);
1647
- }
1648
- throw new Error(
1649
- `Failed to create project directory: ${error instanceof Error ? error.message : "Unknown error"}`
1650
- );
1651
- }
1652
- process.chdir(projectName);
1653
- const pm = getPackageManager();
1654
- const installCommand = getPackageManagerAddCommand(pm);
1655
- s2.message("Initializing project structure");
1656
- try {
1657
- await initializePackageJson(pm);
1658
- const depsService = new DepsService();
1659
- await depsService.addScriptsToPackageJson({
1660
- dev: "mastra dev",
1661
- build: "mastra build",
1662
- start: "mastra start"
1663
- });
1664
- } catch (error) {
1665
- throw new Error(
1666
- `Failed to initialize project structure: ${error instanceof Error ? error.message : "Unknown error"}`
1667
- );
1668
- }
1669
- s2.stop("Project structure created");
1670
- s2.start(`Installing ${pm} dependencies`);
1671
- try {
1672
- await exec3(`${pm} ${installCommand} zod@^4`);
1673
- await exec3(`${pm} ${installCommand} -D typescript @types/node`);
1674
- await exec3(`echo '{
1675
- "compilerOptions": {
1676
- "target": "ES2022",
1677
- "module": "ES2022",
1678
- "moduleResolution": "bundler",
1679
- "esModuleInterop": true,
1680
- "forceConsistentCasingInFileNames": true,
1681
- "strict": true,
1682
- "skipLibCheck": true,
1683
- "noEmit": true,
1684
- "outDir": "dist"
1685
- },
1686
- "include": [
1687
- "src/**/*"
1688
- ]
1689
- }' > tsconfig.json`);
1690
- } catch (error) {
1691
- throw new Error(
1692
- `Failed to install basic dependencies: ${error instanceof Error ? error.message : "Unknown error"}`
1693
- );
1694
- }
1695
- s2.stop(`${pm} dependencies installed`);
1696
- s2.start("Installing Mastra CLI");
1697
- const versionTag = createVersionTag ? `@${createVersionTag}` : "@latest";
1698
- try {
1699
- await installMastraDependency(pm, "mastra", versionTag, true, timeout);
1700
- } catch (error) {
1701
- throw new Error(`Failed to install Mastra CLI: ${error instanceof Error ? error.message : "Unknown error"}`);
1702
- }
1703
- s2.stop("Mastra CLI installed");
1704
- s2.start("Installing Mastra dependencies");
1705
- try {
1706
- await installMastraDependency(pm, "@mastra/core", versionTag, false, timeout);
1707
- await installMastraDependency(pm, "@mastra/libsql", versionTag, false, timeout);
1708
- await installMastraDependency(pm, "@mastra/memory", versionTag, false, timeout);
1709
- } catch (error) {
1710
- throw new Error(
1711
- `Failed to install Mastra dependencies: ${error instanceof Error ? error.message : "Unknown error"}`
1712
- );
1713
- }
1714
- s2.stop("Mastra dependencies installed");
1715
- s2.start("Adding .gitignore");
1716
- try {
1717
- await exec3(`echo output.txt >> .gitignore`);
1718
- await exec3(`echo node_modules >> .gitignore`);
1719
- await exec3(`echo dist >> .gitignore`);
1720
- await exec3(`echo .mastra >> .gitignore`);
1721
- await exec3(`echo .env.development >> .gitignore`);
1722
- await exec3(`echo .env >> .gitignore`);
1723
- await exec3(`echo *.db >> .gitignore`);
1724
- await exec3(`echo *.db-* >> .gitignore`);
1725
- } catch (error) {
1726
- throw new Error(`Failed to create .gitignore: ${error instanceof Error ? error.message : "Unknown error"}`);
1727
- }
1728
- s2.stop(".gitignore added");
1729
- p5.outro("Project created successfully");
1730
- console.info("");
1731
- return { projectName, result };
1732
- } catch (error) {
1733
- s2.stop();
1734
- const errorMessage = error instanceof Error ? error.message : "An unexpected error occurred";
1735
- p5.cancel(`Project creation failed: ${errorMessage}`);
1736
- if (projectPath && fs3__default.existsSync(projectPath)) {
1737
- try {
1738
- process.chdir(originalCwd);
1739
- await fs4.rm(projectPath, { recursive: true, force: true });
1740
- } catch (cleanupError) {
1741
- console.error(
1742
- `Warning: Failed to clean up project directory: ${cleanupError instanceof Error ? cleanupError.message : "Unknown error"}`
1743
- );
1744
- }
1745
- }
1746
- process.exit(1);
1747
- }
1748
- };
1749
-
1750
- // src/commands/create/create.ts
1751
- var version = package_default.version;
1752
- var create = async (args) => {
1753
- if (args.template !== void 0) {
1754
- await createFromTemplate({
1755
- projectName: args.projectName,
1756
- template: args.template,
1757
- timeout: args.timeout,
1758
- injectedAnalytics: args.analytics,
1759
- llmProvider: args.llmProvider
1760
- });
1761
- return;
1762
- }
1763
- const needsInteractive = args.components === void 0 || args.llmProvider === void 0 || args.addExample === void 0;
1764
- const { projectName, result } = await createMastraProject({
1765
- projectName: args?.projectName,
1766
- createVersionTag: args?.createVersionTag,
1767
- timeout: args?.timeout,
1768
- llmProvider: args?.llmProvider,
1769
- llmApiKey: args?.llmApiKey,
1770
- needsInteractive
1771
- });
1772
- const directory = args.directory || "src/";
1773
- if (needsInteractive && result) {
1774
- const analytics2 = getAnalytics();
1775
- if (analytics2 && result?.llmProvider) {
1776
- analytics2.trackEvent("cli_model_provider_selected", {
1777
- provider: result.llmProvider,
1778
- selection_method: "interactive"
1779
- });
1780
- }
1781
- await init({
1782
- ...result,
1783
- llmApiKey: result?.llmApiKey,
1784
- components: ["agents", "tools", "workflows", "scorers"],
1785
- addExample: true,
1786
- versionTag: args.createVersionTag
1787
- });
1788
- postCreate({ projectName });
1789
- return;
1790
- }
1791
- const { components = [], llmProvider = "openai", addExample = false, llmApiKey } = args;
1792
- const analytics = getAnalytics();
1793
- if (analytics) {
1794
- analytics.trackEvent("cli_model_provider_selected", {
1795
- provider: llmProvider,
1796
- selection_method: "cli_args"
1797
- });
1798
- }
1799
- await init({
1800
- directory,
1801
- components,
1802
- llmProvider,
1803
- addExample,
1804
- llmApiKey,
1805
- configureEditorWithDocsMCP: args.mcpServer,
1806
- versionTag: args.createVersionTag
1807
- });
1808
- postCreate({ projectName });
1809
- };
1810
- var postCreate = ({ projectName }) => {
1811
- const packageManager = getPackageManager();
1812
- p5.outro(`
1813
- ${color2.green("To start your project:")}
1814
-
1815
- ${color2.cyan("cd")} ${projectName}
1816
- ${color2.cyan(`${packageManager} run dev`)}
1817
- `);
1818
- };
1819
- function isGitHubUrl(url) {
1820
- try {
1821
- const parsedUrl = new URL(url);
1822
- return parsedUrl.hostname === "github.com" && parsedUrl.pathname.split("/").length >= 3;
1823
- } catch {
1824
- return false;
1825
- }
1826
- }
1827
- async function validateGitHubProject(githubUrl) {
1828
- const errors = [];
1829
- try {
1830
- const urlParts = new URL(githubUrl).pathname.split("/").filter(Boolean);
1831
- const owner = urlParts[0];
1832
- const repo = urlParts[1]?.replace(".git", "");
1833
- if (!owner || !repo) {
1834
- throw new Error("Invalid GitHub URL format");
1835
- }
1836
- const branches = ["main", "master"];
1837
- let packageJsonContent = null;
1838
- let indexContent = null;
1839
- for (const branch of branches) {
1840
- try {
1841
- const packageJsonUrl = `https://raw.githubusercontent.com/${owner}/${repo}/${branch}/package.json`;
1842
- const packageJsonResponse = await fetch(packageJsonUrl);
1843
- if (packageJsonResponse.ok) {
1844
- packageJsonContent = await packageJsonResponse.text();
1845
- const indexUrl = `https://raw.githubusercontent.com/${owner}/${repo}/${branch}/src/mastra/index.ts`;
1846
- const indexResponse = await fetch(indexUrl);
1847
- if (indexResponse.ok) {
1848
- indexContent = await indexResponse.text();
1849
- }
1850
- break;
1851
- }
1852
- } catch {
1853
- }
1854
- }
1855
- if (!packageJsonContent) {
1856
- errors.push("Could not fetch package.json from repository");
1857
- return { isValid: false, errors };
1858
- }
1859
- try {
1860
- const packageJson = JSON.parse(packageJsonContent);
1861
- const hasMastraCore = packageJson.dependencies?.["@mastra/core"] || packageJson.devDependencies?.["@mastra/core"] || packageJson.peerDependencies?.["@mastra/core"];
1862
- if (!hasMastraCore) {
1863
- errors.push("Missing @mastra/core dependency in package.json");
1864
- }
1865
- } catch {
1866
- errors.push("Invalid package.json format");
1867
- }
1868
- if (!indexContent) {
1869
- errors.push("Missing src/mastra/index.ts file");
1870
- } else {
1871
- const hasMastraExport = indexContent.includes("export") && (indexContent.includes("new Mastra") || indexContent.includes("Mastra("));
1872
- if (!hasMastraExport) {
1873
- errors.push("src/mastra/index.ts does not export a Mastra instance");
1874
- }
1875
- }
1876
- return { isValid: errors.length === 0, errors };
1877
- } catch (error) {
1878
- errors.push(`Failed to validate GitHub repository: ${error instanceof Error ? error.message : "Unknown error"}`);
1879
- return { isValid: false, errors };
1880
- }
1881
- }
1882
- async function createFromGitHubUrl(url) {
1883
- const urlParts = new URL(url).pathname.split("/").filter(Boolean);
1884
- const owner = urlParts[0] || "unknown";
1885
- const repo = urlParts[1] || "unknown";
1886
- return {
1887
- githubUrl: url,
1888
- title: `${owner}/${repo}`,
1889
- slug: repo,
1890
- agents: [],
1891
- mcp: [],
1892
- tools: [],
1893
- networks: [],
1894
- workflows: []
1895
- };
1896
- }
1897
- async function createFromTemplate(args) {
1898
- let selectedTemplate;
1899
- if (args.template === true) {
1900
- const templates = await loadTemplates();
1901
- const selected = await selectTemplate(templates);
1902
- if (!selected) {
1903
- p5.log.info("No template selected. Exiting.");
1904
- return;
1905
- }
1906
- selectedTemplate = selected;
1907
- } else if (args.template && typeof args.template === "string") {
1908
- if (isGitHubUrl(args.template)) {
1909
- const spinner4 = p5.spinner();
1910
- spinner4.start("Validating GitHub repository...");
1911
- const validation = await validateGitHubProject(args.template);
1912
- if (!validation.isValid) {
1913
- spinner4.stop("Validation failed");
1914
- p5.log.error("This does not appear to be a valid Mastra project:");
1915
- validation.errors.forEach((error) => p5.log.error(` - ${error}`));
1916
- throw new Error("Invalid Mastra project");
1917
- }
1918
- spinner4.stop("Valid Mastra project \u2713");
1919
- selectedTemplate = await createFromGitHubUrl(args.template);
1920
- } else {
1921
- const templates = await loadTemplates();
1922
- const found = findTemplateByName(templates, args.template);
1923
- if (!found) {
1924
- p5.log.error(`Template "${args.template}" not found. Available templates:`);
1925
- templates.forEach((t) => p5.log.info(` - ${t.title} (use: ${t.slug.replace("template-", "")})`));
1926
- throw new Error(`Template "${args.template}" not found`);
1927
- }
1928
- selectedTemplate = found;
1929
- }
1930
- }
1931
- if (!selectedTemplate) {
1932
- throw new Error("No template selected");
1933
- }
1934
- let projectName = args.projectName;
1935
- if (!projectName) {
1936
- const defaultName = getDefaultProjectName(selectedTemplate);
1937
- const response = await p5.text({
1938
- message: "What is your project name?",
1939
- defaultValue: defaultName,
1940
- placeholder: defaultName
1941
- });
1942
- if (p5.isCancel(response)) {
1943
- p5.log.info("Project creation cancelled.");
1944
- return;
1945
- }
1946
- projectName = response;
1947
- }
1948
- let llmProvider = args.llmProvider;
1949
- if (!llmProvider) {
1950
- const providerResponse = await p5.select({
1951
- message: "Select a default provider:",
1952
- options: LLM_PROVIDERS
1953
- });
1954
- if (p5.isCancel(providerResponse)) {
1955
- p5.log.info("Project creation cancelled.");
1956
- return;
1957
- }
1958
- llmProvider = providerResponse;
1959
- }
1960
- let initGit = false;
1961
- const gitConfirmResult = await p5.confirm({
1962
- message: "Initialize a new git repository?",
1963
- initialValue: true
1964
- });
1965
- if (!p5.isCancel(gitConfirmResult)) {
1966
- initGit = gitConfirmResult;
1967
- }
1968
- let projectPath = null;
1969
- try {
1970
- const analytics = args.injectedAnalytics || getAnalytics();
1971
- if (analytics) {
1972
- analytics.trackEvent("cli_template_used", {
1973
- template_slug: selectedTemplate.slug,
1974
- template_title: selectedTemplate.title
1975
- });
1976
- if (llmProvider) {
1977
- analytics.trackEvent("cli_model_provider_selected", {
1978
- provider: llmProvider,
1979
- selection_method: args.llmProvider ? "cli_args" : "interactive"
1980
- });
1981
- }
1982
- }
1983
- const isBeta = version?.includes("beta") ?? false;
1984
- const isMastraTemplate = selectedTemplate.githubUrl.includes("github.com/mastra-ai/");
1985
- const branch = isBeta && isMastraTemplate ? "beta" : void 0;
1986
- projectPath = await cloneTemplate({
1987
- template: selectedTemplate,
1988
- projectName,
1989
- branch,
1990
- llmProvider
1991
- });
1992
- await installDependencies(projectPath);
1993
- if (initGit) {
1994
- const s2 = p5.spinner();
1995
- try {
1996
- s2.start("Initializing git repository");
1997
- await gitInit({ cwd: projectPath });
1998
- s2.stop("Git repository initialized");
1999
- } catch {
2000
- s2.stop();
2001
- }
2002
- }
2003
- p5.note(`
2004
- ${color2.green("Mastra template installed!")}
2005
-
2006
- Add the necessary environment
2007
- variables in your ${color2.cyan(".env")} file
2008
- `);
2009
- postCreate({ projectName });
2010
- } catch (error) {
2011
- if (projectPath) {
2012
- try {
2013
- if (fs3__default.existsSync(projectPath)) {
2014
- await fs4.rm(projectPath, { recursive: true, force: true });
2015
- }
2016
- } catch (cleanupError) {
2017
- console.error(
2018
- `Warning: Failed to clean up project directory: ${cleanupError instanceof Error ? cleanupError.message : "Unknown error"}`
2019
- );
2020
- }
2021
- }
2022
- p5.log.error(`Failed to create project from template: ${error instanceof Error ? error.message : "Unknown error"}`);
2023
- throw error;
2024
- }
2025
- }
2026
-
2027
- export { COMPONENTS, DepsService, FileService, LLMProvider, checkAndInstallCoreDeps, checkForPkgJson, create, createLogger, getVersionTag, init, interactivePrompt, isGitInitialized, logger, package_default, parseComponents, parseLlmProvider, parseMcp, shouldSkipDotenvLoading };
2028
- //# sourceMappingURL=chunk-H3WSE544.js.map
2029
- //# sourceMappingURL=chunk-H3WSE544.js.map