mastra 0.1.57-alpha.9 → 0.1.57-alpha.90

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 (424) hide show
  1. package/README.md +22 -7
  2. package/dist/analytics/index.d.ts +31 -0
  3. package/dist/analytics/index.d.ts.map +1 -0
  4. package/dist/analytics/index.js +167 -0
  5. package/dist/commands/create/create.d.ts +8 -0
  6. package/dist/commands/create/create.d.ts.map +1 -0
  7. package/dist/commands/create/create.js +35 -0
  8. package/dist/commands/create/utils.d.ts +4 -0
  9. package/dist/commands/create/utils.d.ts.map +1 -0
  10. package/dist/commands/create/utils.js +58 -0
  11. package/dist/commands/deploy/cloudflare/index.d.ts +15 -0
  12. package/dist/commands/deploy/cloudflare/index.d.ts.map +1 -0
  13. package/dist/commands/deploy/cloudflare/index.js +94 -0
  14. package/dist/commands/deploy/deployer.d.ts +31 -0
  15. package/dist/commands/deploy/deployer.d.ts.map +1 -0
  16. package/dist/commands/deploy/deployer.js +77 -0
  17. package/dist/commands/deploy/index.d.ts +11 -0
  18. package/dist/commands/deploy/index.d.ts.map +1 -0
  19. package/dist/commands/deploy/index.js +237 -0
  20. package/dist/commands/deploy/netlify/index.d.ts +13 -0
  21. package/dist/commands/deploy/netlify/index.d.ts.map +1 -0
  22. package/dist/commands/deploy/netlify/index.js +67 -0
  23. package/dist/commands/deploy/server.d.ts +9 -0
  24. package/dist/commands/deploy/server.d.ts.map +1 -0
  25. package/dist/commands/deploy/server.js +14 -0
  26. package/dist/commands/deploy/utils.d.ts +9 -0
  27. package/dist/commands/deploy/utils.d.ts.map +1 -0
  28. package/dist/commands/deploy/utils.js +30 -0
  29. package/dist/commands/deploy/vercel/index.d.ts +16 -0
  30. package/dist/commands/deploy/vercel/index.d.ts.map +1 -0
  31. package/dist/commands/deploy/vercel/index.js +154 -0
  32. package/dist/commands/dev.d.ts +7 -0
  33. package/dist/commands/dev.d.ts.map +1 -0
  34. package/dist/commands/dev.js +197 -0
  35. package/dist/commands/engine/add.d.ts +2 -0
  36. package/dist/commands/engine/add.d.ts.map +1 -0
  37. package/dist/commands/engine/add.js +60 -0
  38. package/dist/commands/engine/down.d.ts +2 -0
  39. package/dist/commands/engine/down.d.ts.map +1 -0
  40. package/dist/commands/engine/down.js +16 -0
  41. package/dist/commands/{generate.d.ts → engine/generate.d.ts} +1 -0
  42. package/dist/commands/engine/generate.d.ts.map +1 -0
  43. package/dist/commands/{generate.js → engine/generate.js} +20 -1
  44. package/dist/commands/{migrate.d.ts → engine/migrate.d.ts} +1 -0
  45. package/dist/commands/engine/migrate.d.ts.map +1 -0
  46. package/dist/commands/{migrate.js → engine/migrate.js} +14 -11
  47. package/dist/commands/{provision.d.ts → engine/provision.d.ts} +1 -0
  48. package/dist/commands/engine/provision.d.ts.map +1 -0
  49. package/dist/commands/engine/provision.js +27 -0
  50. package/dist/commands/engine/up.d.ts +2 -0
  51. package/dist/commands/engine/up.d.ts.map +1 -0
  52. package/dist/commands/engine/up.js +16 -0
  53. package/dist/commands/init/init.d.ts +11 -0
  54. package/dist/commands/init/init.d.ts.map +1 -0
  55. package/dist/commands/init/init.js +51 -0
  56. package/dist/commands/init/utils.d.ts +39 -0
  57. package/dist/commands/init/utils.d.ts.map +1 -0
  58. package/dist/commands/init/utils.js +266 -0
  59. package/dist/index.d.ts +3 -1
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +207 -64
  62. package/dist/scripts/postinstall.d.ts +2 -0
  63. package/dist/scripts/postinstall.d.ts.map +1 -0
  64. package/dist/scripts/postinstall.js +71 -4
  65. package/dist/services/service.deps.d.ts +16 -0
  66. package/dist/services/service.deps.d.ts.map +1 -0
  67. package/dist/services/service.deps.js +100 -0
  68. package/dist/services/service.docker.d.ts +27 -0
  69. package/dist/services/service.docker.d.ts.map +1 -0
  70. package/dist/services/service.docker.js +131 -0
  71. package/dist/services/service.env.d.ts +1 -0
  72. package/dist/services/service.env.d.ts.map +1 -0
  73. package/dist/services/service.file.d.ts +22 -0
  74. package/dist/services/service.file.d.ts.map +1 -0
  75. package/dist/services/service.file.js +47 -0
  76. package/dist/services/service.fileEnv.d.ts +1 -0
  77. package/dist/services/service.fileEnv.d.ts.map +1 -0
  78. package/dist/starter-files/config.ts +28 -0
  79. package/dist/starter-files/mastra-pg.docker-compose.yaml +15 -0
  80. package/dist/starter-files/tools.ts +95 -0
  81. package/dist/starter-files/workflow.ts +173 -0
  82. package/dist/templates/express-server.d.ts +4 -0
  83. package/dist/templates/express-server.d.ts.map +1 -0
  84. package/dist/templates/express-server.js +962 -0
  85. package/dist/templates/netlify.d.ts +3 -0
  86. package/dist/templates/netlify.d.ts.map +1 -0
  87. package/dist/templates/netlify.js +653 -0
  88. package/dist/templates/worker.d.ts +9 -0
  89. package/dist/templates/worker.d.ts.map +1 -0
  90. package/dist/templates/worker.js +1008 -0
  91. package/dist/utils/bundle.d.ts +34 -0
  92. package/dist/utils/bundle.d.ts.map +1 -0
  93. package/dist/utils/bundle.js +225 -0
  94. package/dist/utils/find-api-keys.d.ts +5 -0
  95. package/dist/utils/find-api-keys.d.ts.map +1 -0
  96. package/dist/utils/find-api-keys.js +7 -0
  97. package/dist/utils/get-engine-path.d.ts +2 -0
  98. package/dist/utils/get-engine-path.d.ts.map +1 -0
  99. package/dist/utils/get-engine-path.js +12 -0
  100. package/dist/utils/{getEnv.d.ts → get-env.d.ts} +1 -0
  101. package/dist/utils/get-env.d.ts.map +1 -0
  102. package/dist/utils/logger.d.ts +9 -0
  103. package/dist/utils/logger.d.ts.map +1 -0
  104. package/dist/utils/logger.js +21 -0
  105. package/dist/utils/string.d.ts +2 -0
  106. package/dist/utils/string.d.ts.map +1 -0
  107. package/dist/utils/string.js +22 -0
  108. package/package.json +80 -41
  109. package/src/playground/dist/assets/abap-BwpQXVS2.js +1 -0
  110. package/src/playground/dist/assets/actionscript-3-Ci-La1BS.js +1 -0
  111. package/src/playground/dist/assets/ada-DOAn35dn.js +1 -0
  112. package/src/playground/dist/assets/andromeeda-C3khCPGq.js +1 -0
  113. package/src/playground/dist/assets/angular-html-GqBVQ6Dm.js +1 -0
  114. package/src/playground/dist/assets/angular-ts-MKs4dlu_.js +1 -0
  115. package/src/playground/dist/assets/apache-Dn00JSTd.js +1 -0
  116. package/src/playground/dist/assets/apex-BzwtH5UL.js +1 -0
  117. package/src/playground/dist/assets/apl-C6GBNg32.js +1 -0
  118. package/src/playground/dist/assets/applescript-DIt9OTko.js +1 -0
  119. package/src/playground/dist/assets/ara-CJxt7p29.js +1 -0
  120. package/src/playground/dist/assets/asciidoc-CcSEeikT.js +1 -0
  121. package/src/playground/dist/assets/asm-DPTZissz.js +1 -0
  122. package/src/playground/dist/assets/astro-DTSlZd1t.js +1 -0
  123. package/src/playground/dist/assets/aurora-x-D-2ljcwZ.js +1 -0
  124. package/src/playground/dist/assets/awk-BINKOAKH.js +1 -0
  125. package/src/playground/dist/assets/ayu-dark-Cv9koXgw.js +1 -0
  126. package/src/playground/dist/assets/ballerina-DCcCncrU.js +1 -0
  127. package/src/playground/dist/assets/bat-B9Vj0mJK.js +1 -0
  128. package/src/playground/dist/assets/beancount-DDUKAZWS.js +1 -0
  129. package/src/playground/dist/assets/berry-DnyWjya5.js +1 -0
  130. package/src/playground/dist/assets/bibtex-CpWBKVjh.js +1 -0
  131. package/src/playground/dist/assets/bicep-BWkuYGGO.js +1 -0
  132. package/src/playground/dist/assets/blade-CPEzV-UE.js +1 -0
  133. package/src/playground/dist/assets/bsl-Dgyn0ogV.js +1 -0
  134. package/src/playground/dist/assets/c-BhsLqr-4.js +1 -0
  135. package/src/playground/dist/assets/cadence-CEjiMJLT.js +1 -0
  136. package/src/playground/dist/assets/cairo-BM1Freo3.js +1 -0
  137. package/src/playground/dist/assets/catppuccin-frappe-CD_QflpE.js +1 -0
  138. package/src/playground/dist/assets/catppuccin-latte-DRW-0cLl.js +1 -0
  139. package/src/playground/dist/assets/catppuccin-macchiato-C-_shW-Y.js +1 -0
  140. package/src/playground/dist/assets/catppuccin-mocha-LGGdnPYs.js +1 -0
  141. package/src/playground/dist/assets/clarity-CXmV_HiI.js +1 -0
  142. package/src/playground/dist/assets/clojure-mLcCfA0-.js +1 -0
  143. package/src/playground/dist/assets/cmake-DbXoA79R.js +1 -0
  144. package/src/playground/dist/assets/cobol-NX_YbRMJ.js +1 -0
  145. package/src/playground/dist/assets/codeowners-Bp6g37R7.js +1 -0
  146. package/src/playground/dist/assets/codeql-Bdprqoiu.js +1 -0
  147. package/src/playground/dist/assets/coffee-CXcjgkhu.js +1 -0
  148. package/src/playground/dist/assets/common-lisp-CQO4gZEw.js +1 -0
  149. package/src/playground/dist/assets/coq-BCzYJAay.js +1 -0
  150. package/src/playground/dist/assets/cpp-IRqjNdQP.js +1 -0
  151. package/src/playground/dist/assets/crystal-DFEzbmK1.js +1 -0
  152. package/src/playground/dist/assets/csharp-D7v6OrNy.js +1 -0
  153. package/src/playground/dist/assets/css-u4bm_LMz.js +1 -0
  154. package/src/playground/dist/assets/csv-B0qRVHPH.js +1 -0
  155. package/src/playground/dist/assets/cue-DmZ-uG0V.js +1 -0
  156. package/src/playground/dist/assets/cypher-DfpIq38s.js +1 -0
  157. package/src/playground/dist/assets/d-B5L7zzq-.js +1 -0
  158. package/src/playground/dist/assets/dark-plus-C3mMm8J8.js +1 -0
  159. package/src/playground/dist/assets/dart-C4Ro8ZjH.js +1 -0
  160. package/src/playground/dist/assets/dax-yA8e6OR-.js +1 -0
  161. package/src/playground/dist/assets/desktop-DEIpsLCJ.js +1 -0
  162. package/src/playground/dist/assets/diff-Dnfm4U7b.js +1 -0
  163. package/src/playground/dist/assets/docker-COcR7UxN.js +1 -0
  164. package/src/playground/dist/assets/dotenv-DQxx3LPD.js +1 -0
  165. package/src/playground/dist/assets/dracula-BzJJZx-M.js +1 -0
  166. package/src/playground/dist/assets/dracula-soft-BXkSAIEj.js +1 -0
  167. package/src/playground/dist/assets/dream-maker-BMwgFBEQ.js +1 -0
  168. package/src/playground/dist/assets/edge-Cq_6DOij.js +1 -0
  169. package/src/playground/dist/assets/elixir-BoNJ9vXU.js +1 -0
  170. package/src/playground/dist/assets/elm-CTr_twwF.js +1 -0
  171. package/src/playground/dist/assets/emacs-lisp-CMz7PuSU.js +1 -0
  172. package/src/playground/dist/assets/erb-BgreK6rt.js +1 -0
  173. package/src/playground/dist/assets/erlang-CMOi41r9.js +1 -0
  174. package/src/playground/dist/assets/everforest-dark-BgDCqdQA.js +1 -0
  175. package/src/playground/dist/assets/everforest-light-C8M2exoo.js +1 -0
  176. package/src/playground/dist/assets/fennel-dZn0vQkf.js +1 -0
  177. package/src/playground/dist/assets/fish-CQzXS8_C.js +1 -0
  178. package/src/playground/dist/assets/fluent-CNRQ974Q.js +1 -0
  179. package/src/playground/dist/assets/fortran-fixed-form-C9lV_GL-.js +1 -0
  180. package/src/playground/dist/assets/fortran-free-form-B3Z_eaxm.js +1 -0
  181. package/src/playground/dist/assets/fsharp-Vw5t3P44.js +1 -0
  182. package/src/playground/dist/assets/gdresource-NFcQ0Q3Z.js +1 -0
  183. package/src/playground/dist/assets/gdscript-BVlVXSjx.js +1 -0
  184. package/src/playground/dist/assets/gdshader-BSHf-0eb.js +1 -0
  185. package/src/playground/dist/assets/genie-DJEtsjbi.js +1 -0
  186. package/src/playground/dist/assets/gherkin--30QC5Em.js +1 -0
  187. package/src/playground/dist/assets/git-commit-C0WNX4K0.js +1 -0
  188. package/src/playground/dist/assets/git-rebase-3YLVFLpI.js +1 -0
  189. package/src/playground/dist/assets/github-dark-DHJKELXO.js +1 -0
  190. package/src/playground/dist/assets/github-dark-default-Cuk6v7N8.js +1 -0
  191. package/src/playground/dist/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  192. package/src/playground/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  193. package/src/playground/dist/assets/github-light-DAi9KRSo.js +1 -0
  194. package/src/playground/dist/assets/github-light-default-D7oLnXFd.js +1 -0
  195. package/src/playground/dist/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  196. package/src/playground/dist/assets/gleam-C30t_gpS.js +1 -0
  197. package/src/playground/dist/assets/glimmer-js-D4fdoRWd.js +1 -0
  198. package/src/playground/dist/assets/glimmer-ts-DFoQQgBS.js +1 -0
  199. package/src/playground/dist/assets/glsl-bwZ1_LLM.js +1 -0
  200. package/src/playground/dist/assets/gnuplot-CmWLV2bY.js +1 -0
  201. package/src/playground/dist/assets/go-C5-9kuJc.js +1 -0
  202. package/src/playground/dist/assets/graphql-DqgCZ2sd.js +1 -0
  203. package/src/playground/dist/assets/groovy-BWslPs4p.js +1 -0
  204. package/src/playground/dist/assets/hack-BV5LM4CS.js +1 -0
  205. package/src/playground/dist/assets/haml-B1jT_oKV.js +1 -0
  206. package/src/playground/dist/assets/handlebars-HtVeTy3a.js +1 -0
  207. package/src/playground/dist/assets/haskell-ChDww4um.js +1 -0
  208. package/src/playground/dist/assets/haxe-BgqZeg96.js +1 -0
  209. package/src/playground/dist/assets/hcl-_Zu0RE-q.js +1 -0
  210. package/src/playground/dist/assets/hjson-D9Bn7OQI.js +1 -0
  211. package/src/playground/dist/assets/hlsl-DkpUthgY.js +1 -0
  212. package/src/playground/dist/assets/houston-DnULxvSX.js +1 -0
  213. package/src/playground/dist/assets/html-DG1TtFnM.js +1 -0
  214. package/src/playground/dist/assets/html-derivative-CDVwFiY1.js +1 -0
  215. package/src/playground/dist/assets/http-CYnz8shJ.js +1 -0
  216. package/src/playground/dist/assets/hxml-BfFmssGd.js +1 -0
  217. package/src/playground/dist/assets/hy-YurBl9Qv.js +1 -0
  218. package/src/playground/dist/assets/imba-C6vdFTm2.js +1 -0
  219. package/src/playground/dist/assets/index-BiEU7Tmg.js +389 -0
  220. package/src/playground/dist/assets/index-Cke4BidO.js +13 -0
  221. package/src/playground/dist/assets/ini-BjABl1g7.js +1 -0
  222. package/src/playground/dist/assets/java-BN40hmum.js +1 -0
  223. package/src/playground/dist/assets/javascript-DNgb01dh.js +1 -0
  224. package/src/playground/dist/assets/jinja-BORjBBXU.js +1 -0
  225. package/src/playground/dist/assets/jison-Ct8rtT8R.js +1 -0
  226. package/src/playground/dist/assets/json-DWmkr0yC.js +1 -0
  227. package/src/playground/dist/assets/json5-BDjtpMT8.js +1 -0
  228. package/src/playground/dist/assets/jsonc-B8E-_56i.js +1 -0
  229. package/src/playground/dist/assets/jsonl-NKd-Y1zG.js +1 -0
  230. package/src/playground/dist/assets/jsonnet-CpRrwcwt.js +1 -0
  231. package/src/playground/dist/assets/jssm-DlYXzDlu.js +1 -0
  232. package/src/playground/dist/assets/jsx-CM4fc1WH.js +1 -0
  233. package/src/playground/dist/assets/julia-Czdw582_.js +1 -0
  234. package/src/playground/dist/assets/kanagawa-dragon-RXHOmnpW.js +1 -0
  235. package/src/playground/dist/assets/kanagawa-lotus-zchoCBdH.js +1 -0
  236. package/src/playground/dist/assets/kanagawa-wave-2aygx1xg.js +1 -0
  237. package/src/playground/dist/assets/kotlin-BZRbnyjI.js +1 -0
  238. package/src/playground/dist/assets/kusto-plSVBvJQ.js +1 -0
  239. package/src/playground/dist/assets/laserwave-DUszq2jm.js +1 -0
  240. package/src/playground/dist/assets/latex-BpoAco4y.js +1 -0
  241. package/src/playground/dist/assets/lean-yLioyJ2E.js +1 -0
  242. package/src/playground/dist/assets/less-Dk1rBueR.js +1 -0
  243. package/src/playground/dist/assets/light-plus-B7mTdjB0.js +1 -0
  244. package/src/playground/dist/assets/liquid-DlGqZaOj.js +1 -0
  245. package/src/playground/dist/assets/log-B4_rEpOs.js +1 -0
  246. package/src/playground/dist/assets/logo-Dtn98rcr.js +1 -0
  247. package/src/playground/dist/assets/lua-B2--UKVN.js +1 -0
  248. package/src/playground/dist/assets/luau-DepYB8Ml.js +1 -0
  249. package/src/playground/dist/assets/make-DNDvMORL.js +1 -0
  250. package/src/playground/dist/assets/markdown-CNXuF1yM.js +1 -0
  251. package/src/playground/dist/assets/marko-BxSrAFJn.js +1 -0
  252. package/src/playground/dist/assets/material-theme-D5KoaKCx.js +1 -0
  253. package/src/playground/dist/assets/material-theme-darker-BfHTSMKl.js +1 -0
  254. package/src/playground/dist/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  255. package/src/playground/dist/assets/material-theme-ocean-CyktbL80.js +1 -0
  256. package/src/playground/dist/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  257. package/src/playground/dist/assets/matlab-Kxp7UmFj.js +1 -0
  258. package/src/playground/dist/assets/mdc-DfEMzj3F.js +1 -0
  259. package/src/playground/dist/assets/mdx-Bcw97oti.js +1 -0
  260. package/src/playground/dist/assets/mermaid-BZ3P6AVf.js +1 -0
  261. package/src/playground/dist/assets/min-dark-CafNBF8u.js +1 -0
  262. package/src/playground/dist/assets/min-light-CTRr51gU.js +1 -0
  263. package/src/playground/dist/assets/mipsasm-BzaEo2Du.js +1 -0
  264. package/src/playground/dist/assets/mojo-B2bjgU-v.js +1 -0
  265. package/src/playground/dist/assets/monokai-D4h5O-jR.js +1 -0
  266. package/src/playground/dist/assets/move-EZUUsui8.js +1 -0
  267. package/src/playground/dist/assets/narrat-DLbgOhZU.js +1 -0
  268. package/src/playground/dist/assets/nextflow-B2uSYIFn.js +1 -0
  269. package/src/playground/dist/assets/nginx-Dw0nYz9L.js +1 -0
  270. package/src/playground/dist/assets/night-owl-DdAYiE08.js +1 -0
  271. package/src/playground/dist/assets/nim-NHYZZDnF.js +1 -0
  272. package/src/playground/dist/assets/nix-DVWcdiGS.js +1 -0
  273. package/src/playground/dist/assets/nord-Ddv68eIx.js +1 -0
  274. package/src/playground/dist/assets/nushell-ZJvK9Z2N.js +1 -0
  275. package/src/playground/dist/assets/objective-c-B6NdQBKR.js +1 -0
  276. package/src/playground/dist/assets/objective-cpp-BkG9CdHo.js +1 -0
  277. package/src/playground/dist/assets/ocaml-CLmbwNS9.js +1 -0
  278. package/src/playground/dist/assets/one-dark-pro-GBQ2dnAY.js +1 -0
  279. package/src/playground/dist/assets/one-light-PoHY5YXO.js +1 -0
  280. package/src/playground/dist/assets/pascal-JqZropPD.js +1 -0
  281. package/src/playground/dist/assets/perl-DLffUHFU.js +1 -0
  282. package/src/playground/dist/assets/php-D3VTUn6x.js +1 -0
  283. package/src/playground/dist/assets/plastic-3e1v2bzS.js +1 -0
  284. package/src/playground/dist/assets/plsql-LKU2TuZ1.js +1 -0
  285. package/src/playground/dist/assets/po-BFLt1xDp.js +1 -0
  286. package/src/playground/dist/assets/poimandres-CS3Unz2-.js +1 -0
  287. package/src/playground/dist/assets/postcss-DmF4-xLG.js +1 -0
  288. package/src/playground/dist/assets/powerquery-ByY1Guvr.js +1 -0
  289. package/src/playground/dist/assets/powershell-DES0gjzB.js +1 -0
  290. package/src/playground/dist/assets/prisma-CZzQMiei.js +1 -0
  291. package/src/playground/dist/assets/prolog-BNxDCkIA.js +1 -0
  292. package/src/playground/dist/assets/proto-hdsyEllQ.js +1 -0
  293. package/src/playground/dist/assets/pug-BbGfWiEl.js +1 -0
  294. package/src/playground/dist/assets/puppet-DWMP3yrW.js +1 -0
  295. package/src/playground/dist/assets/purescript-DvQyZZSe.js +1 -0
  296. package/src/playground/dist/assets/python-CK56Z9cH.js +1 -0
  297. package/src/playground/dist/assets/qml-Dhho_E4W.js +1 -0
  298. package/src/playground/dist/assets/qmldir-C8lEn-DE.js +1 -0
  299. package/src/playground/dist/assets/qss-DhMKtDLN.js +1 -0
  300. package/src/playground/dist/assets/r-Cqv5JV-q.js +1 -0
  301. package/src/playground/dist/assets/racket-CwIbMU3B.js +1 -0
  302. package/src/playground/dist/assets/raku-DZ4hUExO.js +1 -0
  303. package/src/playground/dist/assets/razor-CDyaIOPG.js +1 -0
  304. package/src/playground/dist/assets/red-bN70gL4F.js +1 -0
  305. package/src/playground/dist/assets/reg-CrOfvjVs.js +1 -0
  306. package/src/playground/dist/assets/regexp-DoiKbUTj.js +1 -0
  307. package/src/playground/dist/assets/rel-Dzwn3p-3.js +1 -0
  308. package/src/playground/dist/assets/riscv-BGct0Hx7.js +1 -0
  309. package/src/playground/dist/assets/rose-pine-CmCqftbK.js +1 -0
  310. package/src/playground/dist/assets/rose-pine-dawn-Ds-gbosJ.js +1 -0
  311. package/src/playground/dist/assets/rose-pine-moon-CjDtw9vr.js +1 -0
  312. package/src/playground/dist/assets/rst-BCmapc_q.js +1 -0
  313. package/src/playground/dist/assets/ruby-DsC6krmi.js +1 -0
  314. package/src/playground/dist/assets/rust-Bjs2cL5p.js +1 -0
  315. package/src/playground/dist/assets/sas-K_Wwm3IX.js +1 -0
  316. package/src/playground/dist/assets/sass-BrbOHqWv.js +1 -0
  317. package/src/playground/dist/assets/scala-Lp17StYA.js +1 -0
  318. package/src/playground/dist/assets/scheme-BbccZ3y2.js +1 -0
  319. package/src/playground/dist/assets/scss-BfMQ58X7.js +1 -0
  320. package/src/playground/dist/assets/sdbl-BLhTXw86.js +1 -0
  321. package/src/playground/dist/assets/shaderlab-CsYUIUcf.js +1 -0
  322. package/src/playground/dist/assets/shellscript-HNM5thJl.js +1 -0
  323. package/src/playground/dist/assets/shellsession-DU_2P5ZA.js +1 -0
  324. package/src/playground/dist/assets/slack-dark-BthQWCQV.js +1 -0
  325. package/src/playground/dist/assets/slack-ochin-DqwNpetd.js +1 -0
  326. package/src/playground/dist/assets/smalltalk-DsCg8CPl.js +1 -0
  327. package/src/playground/dist/assets/snazzy-light-Bw305WKR.js +1 -0
  328. package/src/playground/dist/assets/solarized-dark-DXbdFlpD.js +1 -0
  329. package/src/playground/dist/assets/solarized-light-L9t79GZl.js +1 -0
  330. package/src/playground/dist/assets/solidity-DymQr0nX.js +1 -0
  331. package/src/playground/dist/assets/soy-aWhPD8Nq.js +1 -0
  332. package/src/playground/dist/assets/sparql-B5YtT9lV.js +1 -0
  333. package/src/playground/dist/assets/splunk-j_FrBdja.js +1 -0
  334. package/src/playground/dist/assets/sql-D8nBeWSR.js +1 -0
  335. package/src/playground/dist/assets/ssh-config-D-RymO5g.js +1 -0
  336. package/src/playground/dist/assets/stata-bRt97scT.js +1 -0
  337. package/src/playground/dist/assets/style-7CS44jOg.css +1 -0
  338. package/src/playground/dist/assets/stylus-DwU8c_yx.js +1 -0
  339. package/src/playground/dist/assets/svelte-B94b8dMa.js +1 -0
  340. package/src/playground/dist/assets/swift-D2TqM893.js +1 -0
  341. package/src/playground/dist/assets/synthwave-84-CbfX1IO0.js +1 -0
  342. package/src/playground/dist/assets/system-verilog-DFQ4Xr-4.js +1 -0
  343. package/src/playground/dist/assets/systemd-DA0ESIWO.js +1 -0
  344. package/src/playground/dist/assets/talonscript-CGXjegLJ.js +1 -0
  345. package/src/playground/dist/assets/tasl-CQjiPCtT.js +1 -0
  346. package/src/playground/dist/assets/tcl-NUI3YrRW.js +1 -0
  347. package/src/playground/dist/assets/templ-MrK5mfgg.js +1 -0
  348. package/src/playground/dist/assets/terraform-rf8nNrOk.js +1 -0
  349. package/src/playground/dist/assets/tex-Dej6pUpk.js +1 -0
  350. package/src/playground/dist/assets/tokyo-night-DBQeEorK.js +1 -0
  351. package/src/playground/dist/assets/toml-Dwo6uFCY.js +1 -0
  352. package/src/playground/dist/assets/ts-tags-CiO5kd_m.js +1 -0
  353. package/src/playground/dist/assets/tsv-B_m7g4N7.js +1 -0
  354. package/src/playground/dist/assets/tsx-DqpEK-75.js +1 -0
  355. package/src/playground/dist/assets/turtle-C0hdQUNN.js +1 -0
  356. package/src/playground/dist/assets/twig-CvAdjvFj.js +1 -0
  357. package/src/playground/dist/assets/typescript-CVESyXxo.js +1 -0
  358. package/src/playground/dist/assets/typespec-B_R80ZlN.js +1 -0
  359. package/src/playground/dist/assets/typst-F89DG-fP.js +1 -0
  360. package/src/playground/dist/assets/v-DH4N8IuU.js +1 -0
  361. package/src/playground/dist/assets/vala-C8pgRvQH.js +1 -0
  362. package/src/playground/dist/assets/vb-Bv-mwDEg.js +1 -0
  363. package/src/playground/dist/assets/verilog-6RUVFG9U.js +1 -0
  364. package/src/playground/dist/assets/vesper-BEBZ7ncR.js +1 -0
  365. package/src/playground/dist/assets/vhdl-IBB5Tl9j.js +1 -0
  366. package/src/playground/dist/assets/viml-CIxipgmy.js +1 -0
  367. package/src/playground/dist/assets/vitesse-black-Bkuqu6BP.js +1 -0
  368. package/src/playground/dist/assets/vitesse-dark-D0r3Knsf.js +1 -0
  369. package/src/playground/dist/assets/vitesse-light-CVO1_9PV.js +1 -0
  370. package/src/playground/dist/assets/vue-html-59TQSa_j.js +1 -0
  371. package/src/playground/dist/assets/vue-srE0XGv_.js +1 -0
  372. package/src/playground/dist/assets/vyper-DzaHHFTY.js +1 -0
  373. package/src/playground/dist/assets/wasm-CG6Dc4jp.js +1 -0
  374. package/src/playground/dist/assets/wasm-sH2JAGjN.js +1 -0
  375. package/src/playground/dist/assets/wenyan-7A4Fjokl.js +1 -0
  376. package/src/playground/dist/assets/wgsl-CSoQzgif.js +1 -0
  377. package/src/playground/dist/assets/wikitext-BqtQrzRp.js +1 -0
  378. package/src/playground/dist/assets/wolfram-aeT0-ak7.js +1 -0
  379. package/src/playground/dist/assets/xml-BOQ9RtXF.js +1 -0
  380. package/src/playground/dist/assets/xsl-BqG2VzO2.js +1 -0
  381. package/src/playground/dist/assets/yaml-CIiI48o2.js +1 -0
  382. package/src/playground/dist/assets/zenscript-NgWrSVUg.js +1 -0
  383. package/src/playground/dist/assets/zig-D44NvAEk.js +1 -0
  384. package/src/playground/dist/index.html +14 -0
  385. package/src/playground/dist/vite.svg +1 -0
  386. package/src/scripts/postinstall.js +83 -3
  387. package/src/starter-files/tools.ts +95 -0
  388. package/src/starter-files/workflow.ts +173 -0
  389. package/dist/commands/agents/createNewAgent.d.ts +0 -1
  390. package/dist/commands/agents/createNewAgent.js +0 -78
  391. package/dist/commands/agents/listAgents.d.ts +0 -1
  392. package/dist/commands/agents/listAgents.js +0 -19
  393. package/dist/commands/agents/updateAgentFile.d.ts +0 -1
  394. package/dist/commands/agents/updateAgentFile.js +0 -46
  395. package/dist/commands/init.d.ts +0 -1
  396. package/dist/commands/init.js +0 -146
  397. package/dist/commands/installEngineDeps.d.ts +0 -1
  398. package/dist/commands/installEngineDeps.js +0 -44
  399. package/dist/commands/provision.js +0 -45
  400. package/dist/commands/serve.d.ts +0 -1
  401. package/dist/commands/serve.js +0 -115
  402. package/dist/commands/up.d.ts +0 -5
  403. package/dist/commands/up.js +0 -8
  404. package/dist/starter-files/config.d.ts +0 -2
  405. package/dist/starter-files/config.js +0 -25
  406. package/dist/utils/getPackageManager.d.ts +0 -2
  407. package/dist/utils/getPackageManager.js +0 -29
  408. package/dist/utils/getProjectName.d.ts +0 -1
  409. package/dist/utils/getProjectName.js +0 -13
  410. package/dist/utils/getUserPrompt.d.ts +0 -4
  411. package/dist/utils/getUserPrompt.js +0 -16
  412. package/dist/utils/setupConfig.d.ts +0 -4
  413. package/dist/utils/setupConfig.js +0 -18
  414. package/dist/utils/setupDockerCompose.d.ts +0 -6
  415. package/dist/utils/setupDockerCompose.js +0 -17
  416. package/dist/utils/setupEnvFile.d.ts +0 -4
  417. package/dist/utils/setupEnvFile.js +0 -11
  418. package/dist/utils/setupRoutes.d.ts +0 -1
  419. package/dist/utils/setupRoutes.js +0 -27
  420. package/dist/utils.d.ts +0 -27
  421. package/dist/utils.js +0 -135
  422. package/src/starter-files/api.ts +0 -11
  423. package/src/starter-files/framework-utils.ts +0 -33
  424. /package/dist/utils/{getEnv.js → get-env.js} +0 -0
package/README.md CHANGED
@@ -1,17 +1,15 @@
1
1
  # The Mastra CLI
2
2
 
3
- [Mastra Cli](./mastra-cli.png)
3
+ ![Mastra Cli](https://github.com/mastra-ai/mastra/blob/main/packages/cli/mastra-cli.png)
4
4
 
5
5
  The Mastra CLI enables you to get up and running with mastra quickly. It is not required to use mastra, but helpful for getting started and more advanced use cases.
6
6
 
7
7
  ## Installing the Mastra CLI
8
8
 
9
9
  ```bash copy
10
- npm i -g mastra@alpha
10
+ npm i -g mastra
11
11
  ```
12
12
 
13
- The Mastra CLI has the following commands:
14
-
15
13
  ### Setup
16
14
 
17
15
  ```bash
@@ -52,7 +50,7 @@ This creates a new agent.
52
50
 
53
51
  This lists all available agents.
54
52
 
55
- #### Engine commands
53
+ #### Engine
56
54
 
57
55
  `mastra engine add`
58
56
 
@@ -72,11 +70,28 @@ This is a shortcut that runs the `docker-compose up` command using the `mastra-p
72
70
 
73
71
  It is useful for cases where you don't have a dockerized `postgres` db setup.
74
72
 
75
- `mastra serve`
73
+ #### Rest Endpoints
74
+
75
+ `mastra dev`
76
76
 
77
- This spins up `REST` endpoints for all agents and workflows
77
+ This spins up `REST` endpoints for all agents, all workflows, and memory.
78
78
 
79
79
  ## Local development
80
80
 
81
81
  1. clone the repo
82
82
  2. Run `pnpm i` to install deps
83
+
84
+ # Telemetry
85
+
86
+ This CLI collects anonymous usage data to help improve the tool. We collect:
87
+
88
+ - Commands used
89
+ - Command execution time
90
+ - Error occurrences
91
+ - System information (OS, Node version)
92
+
93
+ No personal or sensitive information is collected.
94
+
95
+ To opt-out of telemetry:
96
+
97
+ 1. Add `NO_MASTRA_TELEMETRY=1` to commands
@@ -0,0 +1,31 @@
1
+ export declare class PosthogAnalytics {
2
+ private sessionId;
3
+ private client?;
4
+ private distinctId;
5
+ private version;
6
+ constructor({ version, apiKey, host, }: {
7
+ version: string;
8
+ apiKey: string;
9
+ host: string;
10
+ });
11
+ private writeCliConfig;
12
+ private initializePostHog;
13
+ private isTelemetryEnabled;
14
+ private getDistinctId;
15
+ private getSystemProperties;
16
+ private captureSessionStart;
17
+ trackCommand(options: {
18
+ command: string;
19
+ args?: Record<string, unknown>;
20
+ durationMs?: number;
21
+ status?: 'success' | 'error';
22
+ error?: string;
23
+ }): void;
24
+ trackCommandExecution<T>({ command, args, execution, }: {
25
+ command: string;
26
+ args: Record<string, unknown>;
27
+ execution: () => Promise<T>;
28
+ }): Promise<T>;
29
+ shutdown(): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAkBA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,EACV,OAAO,EACP,MAAM,EACN,IAAgC,GACjC,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd;IA+BD,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;IAc3B,YAAY,CAAC,OAAO,EAAE;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI;IAqCF,qBAAqB,CAAC,CAAC,EAAE,EAC7B,OAAO,EACP,IAAI,EACJ,SAAS,GACV,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7B,GAAG,OAAO,CAAC,CAAC,CAAC;IAiCR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAUhC"}
@@ -0,0 +1,167 @@
1
+ import { randomUUID } from 'crypto';
2
+ import { existsSync, readFileSync, writeFileSync } from 'fs';
3
+ import os from 'os';
4
+ import path from 'path';
5
+ import { PostHog } from 'posthog-node';
6
+ import { fileURLToPath } from 'url';
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = path.dirname(__filename);
9
+ export class PosthogAnalytics {
10
+ constructor({ version, apiKey, host = 'https://app.posthog.com', }) {
11
+ this.version = version;
12
+ const cliConfigPath = path.join(__dirname, 'mastra-cli.json');
13
+ if (existsSync(cliConfigPath)) {
14
+ try {
15
+ const { distinctId, sessionId } = JSON.parse(readFileSync(cliConfigPath, 'utf-8'));
16
+ this.distinctId = distinctId;
17
+ this.sessionId = sessionId;
18
+ }
19
+ catch (e) {
20
+ this.sessionId = randomUUID();
21
+ this.distinctId = this.getDistinctId();
22
+ }
23
+ this.writeCliConfig({
24
+ distinctId: this.distinctId,
25
+ sessionId: this.sessionId,
26
+ });
27
+ }
28
+ else {
29
+ this.sessionId = randomUUID();
30
+ this.distinctId = this.getDistinctId();
31
+ this.writeCliConfig({
32
+ distinctId: this.distinctId,
33
+ sessionId: this.sessionId,
34
+ });
35
+ }
36
+ if (this.isTelemetryEnabled()) {
37
+ this.initializePostHog(apiKey, host);
38
+ }
39
+ }
40
+ writeCliConfig({ distinctId, sessionId }) {
41
+ try {
42
+ writeFileSync(path.join(__dirname, 'mastra-cli.json'), JSON.stringify({ distinctId, sessionId }));
43
+ }
44
+ catch (e) {
45
+ //swallow
46
+ }
47
+ }
48
+ initializePostHog(apiKey, host) {
49
+ this.client = new PostHog(apiKey, {
50
+ host,
51
+ flushAt: 1,
52
+ flushInterval: 0,
53
+ });
54
+ this.captureSessionStart();
55
+ process.on('exit', () => {
56
+ this.client?.flush();
57
+ });
58
+ }
59
+ isTelemetryEnabled() {
60
+ // Check environment variable first
61
+ if (process.env.NO_MASTRA_TELEMETRY) {
62
+ return false;
63
+ }
64
+ // Default to enabled
65
+ return true;
66
+ }
67
+ getDistinctId() {
68
+ // Use machine-id or generate a persistent ID
69
+ // This helps track unique CLI installations
70
+ const machineId = os.hostname();
71
+ return `mastra-${machineId}`;
72
+ }
73
+ getSystemProperties() {
74
+ return {
75
+ os: process.platform,
76
+ os_version: os.release(),
77
+ node_version: process.version,
78
+ platform: process.arch,
79
+ session_id: this.sessionId,
80
+ cli_version: this.version || 'unknown',
81
+ machine_id: os.hostname(),
82
+ };
83
+ }
84
+ captureSessionStart() {
85
+ if (!this.client) {
86
+ return;
87
+ }
88
+ this.client.capture({
89
+ distinctId: this.distinctId,
90
+ event: 'cli_session_start',
91
+ properties: {
92
+ ...this.getSystemProperties(),
93
+ },
94
+ });
95
+ }
96
+ trackCommand(options) {
97
+ try {
98
+ if (!this.client) {
99
+ return;
100
+ }
101
+ const commandData = {
102
+ command: options.command,
103
+ status: options.status || 'success',
104
+ };
105
+ if (options.args) {
106
+ commandData.args = options.args;
107
+ }
108
+ if (options.durationMs) {
109
+ commandData.durationMs = options.durationMs;
110
+ }
111
+ if (options.error) {
112
+ commandData.error = options.error;
113
+ }
114
+ this.client.capture({
115
+ distinctId: this.distinctId,
116
+ event: 'cli_command',
117
+ properties: {
118
+ ...this.getSystemProperties(),
119
+ ...commandData,
120
+ },
121
+ });
122
+ }
123
+ catch (e) {
124
+ //swallow
125
+ }
126
+ }
127
+ // Helper method to wrap command execution with timing
128
+ async trackCommandExecution({ command, args, execution, }) {
129
+ const startTime = process.hrtime();
130
+ try {
131
+ const result = await execution();
132
+ const [seconds, nanoseconds] = process.hrtime(startTime);
133
+ const durationMs = seconds * 1000 + nanoseconds / 1000000;
134
+ this.trackCommand({
135
+ command,
136
+ args,
137
+ durationMs,
138
+ status: 'success',
139
+ });
140
+ return result;
141
+ }
142
+ catch (error) {
143
+ const [seconds, nanoseconds] = process.hrtime(startTime);
144
+ const durationMs = seconds * 1000 + nanoseconds / 1000000;
145
+ this.trackCommand({
146
+ command,
147
+ args,
148
+ durationMs,
149
+ status: 'error',
150
+ error: error instanceof Error ? error.message : String(error),
151
+ });
152
+ throw error;
153
+ }
154
+ }
155
+ // Ensure PostHog client is shutdown properly
156
+ async shutdown() {
157
+ if (!this.client) {
158
+ return;
159
+ }
160
+ try {
161
+ await this.client.shutdown();
162
+ }
163
+ catch (e) {
164
+ //swallow
165
+ }
166
+ }
167
+ }
@@ -0,0 +1,8 @@
1
+ import { LLMProvider } from '../init/utils.js';
2
+ export declare const create: (args: {
3
+ components?: string[];
4
+ llmProvider?: LLMProvider;
5
+ addExample?: boolean;
6
+ llmApiKey?: string;
7
+ }) => Promise<void>;
8
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/create/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIlE,eAAO,MAAM,MAAM,SAAgB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,kBAyBA,CAAC"}
@@ -0,0 +1,35 @@
1
+ import * as p from '@clack/prompts';
2
+ import color from 'picocolors';
3
+ import { init } from '../init/init.js';
4
+ import { interactivePrompt } from '../init/utils.js';
5
+ import { createMastraProject } from './utils.js';
6
+ export const create = async (args) => {
7
+ const { projectName } = await createMastraProject();
8
+ const directory = '/src';
9
+ if (!args.components || !args.llmProvider || !args.addExample) {
10
+ const result = await interactivePrompt();
11
+ await init({
12
+ ...result,
13
+ llmApiKey: result?.llmApiKey,
14
+ });
15
+ postCreate({ projectName });
16
+ return;
17
+ }
18
+ const { components = [], llmProvider = 'openai', addExample = false, llmApiKey } = args;
19
+ await init({
20
+ directory,
21
+ components,
22
+ llmProvider,
23
+ addExample,
24
+ llmApiKey,
25
+ });
26
+ postCreate({ projectName });
27
+ };
28
+ const postCreate = ({ projectName }) => {
29
+ p.outro(`
30
+ ${color.green('To start your project:')}
31
+
32
+ ${color.cyan('cd')} ${projectName}
33
+ ${color.cyan('npm run dev')}
34
+ `);
35
+ };
@@ -0,0 +1,4 @@
1
+ export declare const createMastraProject: () => Promise<{
2
+ projectName: string;
3
+ }>;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/commands/create/utils.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,mBAAmB;;EA6D/B,CAAC"}
@@ -0,0 +1,58 @@
1
+ import * as p from '@clack/prompts';
2
+ import child_process from 'node:child_process';
3
+ import util from 'node:util';
4
+ import color from 'picocolors';
5
+ import fs from 'fs/promises';
6
+ import { DepsService } from '../../services/service.deps.js';
7
+ import { logger } from '../../utils/logger.js';
8
+ const exec = util.promisify(child_process.exec);
9
+ export const createMastraProject = async () => {
10
+ p.intro(color.inverse('Mastra Create'));
11
+ const projectName = await p.text({
12
+ message: 'What do you want to name your project?',
13
+ placeholder: 'my-mastra-app',
14
+ defaultValue: 'my-mastra-app',
15
+ });
16
+ if (p.isCancel(projectName)) {
17
+ p.cancel('Operation cancelled');
18
+ process.exit(0);
19
+ }
20
+ const s = p.spinner();
21
+ s.start('Creating project');
22
+ try {
23
+ await fs.mkdir(projectName);
24
+ }
25
+ catch (error) {
26
+ if (error instanceof Error && 'code' in error && error.code === 'EEXIST') {
27
+ s.stop(`A directory named "${projectName}" already exists. Please choose a different name or delete the existing directory.`);
28
+ process.exit(1);
29
+ }
30
+ throw error;
31
+ }
32
+ process.chdir(projectName);
33
+ s.message('Creating project');
34
+ await exec(`npm init -y`);
35
+ const depsService = new DepsService();
36
+ await depsService.addScriptsToPackageJson({
37
+ dev: 'mastra dev',
38
+ });
39
+ s.stop('Project created');
40
+ s.start('Installing npm dependencies');
41
+ await exec(`npm i zod`);
42
+ await exec(`npm i typescript tsx @types/node --save-dev`);
43
+ s.stop('NPM dependencies installed');
44
+ s.start('Installing mastra');
45
+ await exec(`npm i -D mastra`);
46
+ s.stop('mastra installed');
47
+ s.start('Installing @mastra/core');
48
+ await exec(`npm i @mastra/core@alpha`);
49
+ s.stop('@mastra/core installed');
50
+ s.start('Adding .gitignore');
51
+ await exec(`echo output.txt >> .gitignore`);
52
+ await exec(`echo node_modules >> .gitignore`);
53
+ await exec(`echo dist >> .gitignore`);
54
+ s.stop('.gitignore added');
55
+ p.outro('Project created successfully');
56
+ logger.break();
57
+ return { projectName };
58
+ };
@@ -0,0 +1,15 @@
1
+ import { Deployer } from '../deployer.js';
2
+ export declare class CloudflareDeployer extends Deployer {
3
+ name: string;
4
+ installCli(): Promise<void>;
5
+ build({ dir }: {
6
+ dir: string;
7
+ useBanner: boolean;
8
+ }): Promise<void>;
9
+ writePkgJson(): Promise<void>;
10
+ writeFiles(): void;
11
+ deployCommand({ scope }: {
12
+ scope: string;
13
+ }): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/cloudflare/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,IAAI,SAAgB;IAEd,UAAU;IAMV,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE;IAIlD,YAAY;IA2ClB,UAAU,IAAI,IAAI;IAgCZ,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAajE"}
@@ -0,0 +1,94 @@
1
+ import { execa } from 'execa';
2
+ import { readFileSync, writeFileSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { DepsService } from '../../../services/service.deps.js';
5
+ import { Deployer } from '../deployer.js';
6
+ import { WORKER } from '../server.js';
7
+ export class CloudflareDeployer extends Deployer {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = 'Cloudflare';
11
+ }
12
+ async installCli() {
13
+ console.log('Installing Wrangler CLI...');
14
+ const depsService = new DepsService();
15
+ await depsService.installPackages(['wrangler -g']);
16
+ }
17
+ async build({ dir }) {
18
+ super.build({ dir, useBanner: false });
19
+ }
20
+ async writePkgJson() {
21
+ let projectPkg = {
22
+ dependencies: {},
23
+ };
24
+ try {
25
+ projectPkg = JSON.parse(readFileSync(join(this.dotMastraPath, '..', 'package.json'), 'utf-8'));
26
+ }
27
+ catch (_e) {
28
+ // no-op
29
+ }
30
+ const mastraDeps = Object.entries(projectPkg.dependencies)
31
+ .filter(([name]) => name.startsWith('@mastra'))
32
+ .reduce((acc, [name, version]) => {
33
+ acc[name] = version;
34
+ return acc;
35
+ }, {});
36
+ writeFileSync(join(this.dotMastraPath, 'package.json'), JSON.stringify({
37
+ name: 'server',
38
+ version: '1.0.0',
39
+ description: '',
40
+ main: 'index.mjs',
41
+ scripts: {
42
+ start: 'node ./index.mjs',
43
+ },
44
+ author: '',
45
+ license: 'ISC',
46
+ dependencies: {
47
+ ...mastraDeps,
48
+ 'itty-router': '5.0.18',
49
+ superjson: '^2.2.2',
50
+ 'zod-to-json-schema': '^3.24.1',
51
+ },
52
+ }, null, 2));
53
+ }
54
+ writeFiles() {
55
+ const envVars = this.getEnvVars();
56
+ // TODO ENV KEYS
57
+ writeFileSync(join(this.dotMastraPath, 'wrangler.toml'), `
58
+ name = "mastra"
59
+ main = "index.mjs" # Your main worker file
60
+ compatibility_date = "2024-12-02"
61
+ compatibility_flags = ["nodejs_compat"]
62
+ find_additional_modules = true
63
+
64
+ [build]
65
+ command = "npm install"
66
+
67
+ [[build.upload]]
68
+ type = "javascript_module"
69
+ main = "mastra.mjs"
70
+
71
+ [observability.logs]
72
+ enabled = true
73
+
74
+ [vars]
75
+ ${Object.entries(envVars || {})
76
+ ?.map(([key, value]) => `${key} = "${value}"`)
77
+ .join('\n')}
78
+ `),
79
+ writeFileSync(join(this.dotMastraPath, 'index.mjs'), WORKER);
80
+ }
81
+ async deployCommand({ scope }) {
82
+ const envVars = this.getEnvVars();
83
+ const p2 = execa('wrangler', ['deploy'], {
84
+ cwd: this.dotMastraPath,
85
+ env: {
86
+ CLOUDFLARE_API_TOKEN: this.token,
87
+ CLOUDFLARE_ACCOUNT_ID: scope,
88
+ ...envVars,
89
+ },
90
+ });
91
+ p2.stdout.pipe(process.stdout);
92
+ await p2;
93
+ }
94
+ }
@@ -0,0 +1,31 @@
1
+ export declare abstract class Deployer {
2
+ token: string;
3
+ dotMastraPath: string;
4
+ name: string;
5
+ constructor({ token }: {
6
+ token: string;
7
+ });
8
+ installCli(): Promise<void>;
9
+ install(): Promise<void>;
10
+ protected getEnvFiles(): string[];
11
+ getEnvVars(): Record<string, string>;
12
+ protected parseEnvFile(filePath: string): string[];
13
+ build({ dir, useBanner }: {
14
+ dir: string;
15
+ useBanner?: boolean;
16
+ }): Promise<void>;
17
+ writePkgJson(): void;
18
+ writeFiles(): void;
19
+ deployCommand({ scope, siteId, projectName }: {
20
+ scope: string;
21
+ siteId?: string;
22
+ projectName?: string;
23
+ }): Promise<void>;
24
+ deploy({ scope, siteId, dir, projectName, }: {
25
+ dir?: string;
26
+ scope: string;
27
+ siteId?: string;
28
+ projectName?: string;
29
+ }): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=deployer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/deployer.ts"],"names":[],"mappings":"AAMA,8BAAsB,QAAQ;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAM;gBAEN,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAMlC,UAAU;IAIV,OAAO;IASb,SAAS,CAAC,WAAW,IAAI,MAAM,EAAE;IAOjC,UAAU;IAkBV,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAS5C,KAAK,CAAC,EAAE,GAAG,EAAE,SAAgB,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;IAQ3E,YAAY;IAIZ,UAAU;IAIJ,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAItG,MAAM,CAAC,EACX,KAAK,EACL,MAAM,EACN,GAAG,EACH,WAAW,GACZ,EAAE;QACD,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CAUF"}
@@ -0,0 +1,77 @@
1
+ import { execa } from 'execa';
2
+ import { existsSync, mkdirSync, readFileSync } from 'fs';
3
+ import path, { join } from 'path';
4
+ import { bundle } from '../../utils/bundle.js';
5
+ export class Deployer {
6
+ constructor({ token }) {
7
+ this.name = '';
8
+ console.log('Deployer created');
9
+ this.token = token;
10
+ this.dotMastraPath = join(process.cwd(), '.mastra');
11
+ }
12
+ async installCli() {
13
+ console.log('Installing...');
14
+ }
15
+ async install() {
16
+ console.log('Installing dependencies...');
17
+ const i = execa('npm', ['install'], {
18
+ cwd: this.dotMastraPath,
19
+ });
20
+ i.stdout.pipe(process.stdout);
21
+ await i;
22
+ }
23
+ getEnvFiles() {
24
+ const envFiles = ['.env', '.env.development', '.env.local']
25
+ .map(file => join(process.cwd(), file))
26
+ .filter(file => existsSync(file));
27
+ return envFiles;
28
+ }
29
+ getEnvVars() {
30
+ // Get all env vars
31
+ const envFiles = this.getEnvFiles();
32
+ const envVars = {};
33
+ for (const file of envFiles) {
34
+ const vars = this.parseEnvFile(file);
35
+ for (const envVar of vars) {
36
+ const [key, value] = envVar.split('=');
37
+ if (key && value) {
38
+ envVars[key] = value;
39
+ }
40
+ }
41
+ }
42
+ return envVars;
43
+ }
44
+ parseEnvFile(filePath) {
45
+ const content = readFileSync(filePath, 'utf-8');
46
+ return content
47
+ .split('\n')
48
+ .map(line => line.trim())
49
+ .filter(line => line && !line.startsWith('#'))
50
+ .filter(line => line.includes('=')); // Only include valid KEY=value pairs
51
+ }
52
+ async build({ dir, useBanner = true }) {
53
+ if (!existsSync(this.dotMastraPath)) {
54
+ mkdirSync(this.dotMastraPath);
55
+ }
56
+ await bundle(dir, { useBanner });
57
+ }
58
+ writePkgJson() {
59
+ console.log('Writing package.json...');
60
+ }
61
+ writeFiles() {
62
+ console.log('Writing files...');
63
+ }
64
+ async deployCommand({ scope, siteId, projectName }) {
65
+ console.log(`Deploy command ${scope}...${siteId || ''} to ${projectName || 'mastra-starter'}`);
66
+ }
67
+ async deploy({ scope, siteId, dir, projectName, }) {
68
+ console.log('Deploying...', scope);
69
+ const dirPath = dir || path.join(process.cwd(), 'src/mastra');
70
+ await this.installCli();
71
+ this.writePkgJson();
72
+ this.writeFiles();
73
+ await this.install();
74
+ await this.build({ dir: dirPath });
75
+ await this.deployCommand({ scope, siteId, projectName });
76
+ }
77
+ }
@@ -0,0 +1,11 @@
1
+ export declare function vercelDeploy({ dir, projectName }: {
2
+ dir?: string;
3
+ projectName?: string;
4
+ }): Promise<void>;
5
+ export declare function cloudflareDeploy({ dir }: {
6
+ dir?: string;
7
+ }): Promise<void>;
8
+ export declare function netlifyDeploy({ dir }: {
9
+ dir?: string;
10
+ }): Promise<void>;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/index.ts"],"names":[],"mappings":"AAwCA,wBAAsB,YAAY,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,iBAmD9F;AAoBD,wBAAsB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,iBAmD/D;AAgFD,wBAAsB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,iBAuD5D"}