mastra 0.2.0-alpha.158 → 0.2.0-alpha.159

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 (292) hide show
  1. package/package.json +5 -4
  2. package/dist/analytics/index.d.ts +0 -32
  3. package/dist/analytics/index.js +0 -1
  4. package/dist/chunk-K5HPNH5H.js +0 -170
  5. package/dist/chunk-UU6XEV7T.js +0 -672
  6. package/dist/commands/create/create.d.ts +0 -10
  7. package/dist/commands/create/create.js +0 -1
  8. package/dist/index.d.ts +0 -3
  9. package/dist/index.js +0 -381
  10. package/dist/starter-files/config.ts +0 -28
  11. package/dist/starter-files/mastra-pg.docker-compose.yaml +0 -15
  12. package/dist/starter-files/tools.ts +0 -95
  13. package/dist/starter-files/workflow.ts +0 -182
  14. package/dist/templates/dev.entry.js +0 -42
  15. package/src/playground/dist/assets/abap-DsBKuouk.js +0 -1
  16. package/src/playground/dist/assets/actionscript-3-D_z4Izcz.js +0 -1
  17. package/src/playground/dist/assets/ada-727ZlQH0.js +0 -1
  18. package/src/playground/dist/assets/andromeeda-C3khCPGq.js +0 -1
  19. package/src/playground/dist/assets/angular-html-LfdN0zeE.js +0 -1
  20. package/src/playground/dist/assets/angular-ts-CKsD7JZE.js +0 -1
  21. package/src/playground/dist/assets/apache-Dn00JSTd.js +0 -1
  22. package/src/playground/dist/assets/apex-COJ4H7py.js +0 -1
  23. package/src/playground/dist/assets/apl-BBq3IX1j.js +0 -1
  24. package/src/playground/dist/assets/applescript-Bu5BbsvL.js +0 -1
  25. package/src/playground/dist/assets/ara-7O62HKoU.js +0 -1
  26. package/src/playground/dist/assets/asciidoc-BPT9niGB.js +0 -1
  27. package/src/playground/dist/assets/asm-Dhn9LcZ4.js +0 -1
  28. package/src/playground/dist/assets/astro-CqkE3fuf.js +0 -1
  29. package/src/playground/dist/assets/aurora-x-D-2ljcwZ.js +0 -1
  30. package/src/playground/dist/assets/awk-eg146-Ew.js +0 -1
  31. package/src/playground/dist/assets/ayu-dark-Cv9koXgw.js +0 -1
  32. package/src/playground/dist/assets/ballerina-Du268qiB.js +0 -1
  33. package/src/playground/dist/assets/bat-fje9CFhw.js +0 -1
  34. package/src/playground/dist/assets/beancount-BwXTMy5W.js +0 -1
  35. package/src/playground/dist/assets/berry-3xVqZejG.js +0 -1
  36. package/src/playground/dist/assets/bibtex-xW4inM5L.js +0 -1
  37. package/src/playground/dist/assets/bicep-DHo0CJ0O.js +0 -1
  38. package/src/playground/dist/assets/blade-a8OxSdnT.js +0 -1
  39. package/src/playground/dist/assets/bsl-Dgyn0ogV.js +0 -1
  40. package/src/playground/dist/assets/c-C3t2pwGQ.js +0 -1
  41. package/src/playground/dist/assets/cadence-DNquZEk8.js +0 -1
  42. package/src/playground/dist/assets/cairo--RitsXJZ.js +0 -1
  43. package/src/playground/dist/assets/catppuccin-frappe-CD_QflpE.js +0 -1
  44. package/src/playground/dist/assets/catppuccin-latte-DRW-0cLl.js +0 -1
  45. package/src/playground/dist/assets/catppuccin-macchiato-C-_shW-Y.js +0 -1
  46. package/src/playground/dist/assets/catppuccin-mocha-LGGdnPYs.js +0 -1
  47. package/src/playground/dist/assets/clarity-BHOwM8T6.js +0 -1
  48. package/src/playground/dist/assets/clojure-DxSadP1t.js +0 -1
  49. package/src/playground/dist/assets/cmake-DbXoA79R.js +0 -1
  50. package/src/playground/dist/assets/cobol-PTqiYgYu.js +0 -1
  51. package/src/playground/dist/assets/codeowners-Bp6g37R7.js +0 -1
  52. package/src/playground/dist/assets/codeql-sacFqUAJ.js +0 -1
  53. package/src/playground/dist/assets/coffee-dyiR41kL.js +0 -1
  54. package/src/playground/dist/assets/common-lisp-C7gG9l05.js +0 -1
  55. package/src/playground/dist/assets/coq-Dsg_Bt_b.js +0 -1
  56. package/src/playground/dist/assets/cpp-BksuvNSY.js +0 -1
  57. package/src/playground/dist/assets/crystal-DtDmRg-F.js +0 -1
  58. package/src/playground/dist/assets/csharp-D9R-vmeu.js +0 -1
  59. package/src/playground/dist/assets/css-BPhBrDlE.js +0 -1
  60. package/src/playground/dist/assets/csv-B0qRVHPH.js +0 -1
  61. package/src/playground/dist/assets/cue-DtFQj3wx.js +0 -1
  62. package/src/playground/dist/assets/cypher-m2LEI-9-.js +0 -1
  63. package/src/playground/dist/assets/d-BoXegm-a.js +0 -1
  64. package/src/playground/dist/assets/dark-plus-C3mMm8J8.js +0 -1
  65. package/src/playground/dist/assets/dart-B9wLZaAG.js +0 -1
  66. package/src/playground/dist/assets/dax-ClGRhx96.js +0 -1
  67. package/src/playground/dist/assets/desktop-DEIpsLCJ.js +0 -1
  68. package/src/playground/dist/assets/diff-BgYniUM_.js +0 -1
  69. package/src/playground/dist/assets/docker-COcR7UxN.js +0 -1
  70. package/src/playground/dist/assets/dotenv-BjQB5zDj.js +0 -1
  71. package/src/playground/dist/assets/dracula-BzJJZx-M.js +0 -1
  72. package/src/playground/dist/assets/dracula-soft-BXkSAIEj.js +0 -1
  73. package/src/playground/dist/assets/dream-maker-C-nORZOA.js +0 -1
  74. package/src/playground/dist/assets/edge-D5gP-w-T.js +0 -1
  75. package/src/playground/dist/assets/elixir-CLiX3zqd.js +0 -1
  76. package/src/playground/dist/assets/elm-CmHSxxaM.js +0 -1
  77. package/src/playground/dist/assets/emacs-lisp-BX77sIaO.js +0 -1
  78. package/src/playground/dist/assets/erb-BYTLMnw6.js +0 -1
  79. package/src/playground/dist/assets/erlang-B-DoSBHF.js +0 -1
  80. package/src/playground/dist/assets/everforest-dark-BgDCqdQA.js +0 -1
  81. package/src/playground/dist/assets/everforest-light-C8M2exoo.js +0 -1
  82. package/src/playground/dist/assets/fennel-bCA53EVm.js +0 -1
  83. package/src/playground/dist/assets/fish-w-ucz2PV.js +0 -1
  84. package/src/playground/dist/assets/fluent-Dayu4EKP.js +0 -1
  85. package/src/playground/dist/assets/fortran-fixed-form-TqA4NnZg.js +0 -1
  86. package/src/playground/dist/assets/fortran-free-form-DKXYxT9g.js +0 -1
  87. package/src/playground/dist/assets/fsharp-XplgxFYe.js +0 -1
  88. package/src/playground/dist/assets/gdresource-BHYsBjWJ.js +0 -1
  89. package/src/playground/dist/assets/gdscript-DfxzS6Rs.js +0 -1
  90. package/src/playground/dist/assets/gdshader-SKMF96pI.js +0 -1
  91. package/src/playground/dist/assets/genie-ajMbGru0.js +0 -1
  92. package/src/playground/dist/assets/gherkin--30QC5Em.js +0 -1
  93. package/src/playground/dist/assets/git-commit-i4q6IMui.js +0 -1
  94. package/src/playground/dist/assets/git-rebase-B-v9cOL2.js +0 -1
  95. package/src/playground/dist/assets/github-dark-DHJKELXO.js +0 -1
  96. package/src/playground/dist/assets/github-dark-default-Cuk6v7N8.js +0 -1
  97. package/src/playground/dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  98. package/src/playground/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  99. package/src/playground/dist/assets/github-light-DAi9KRSo.js +0 -1
  100. package/src/playground/dist/assets/github-light-default-D7oLnXFd.js +0 -1
  101. package/src/playground/dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  102. package/src/playground/dist/assets/gleam-B430Bg39.js +0 -1
  103. package/src/playground/dist/assets/glimmer-js-D-cwc0-E.js +0 -1
  104. package/src/playground/dist/assets/glimmer-ts-pgjy16dm.js +0 -1
  105. package/src/playground/dist/assets/glsl-DBO2IWDn.js +0 -1
  106. package/src/playground/dist/assets/gnuplot-CM8KxXT1.js +0 -1
  107. package/src/playground/dist/assets/go-B1SYOhNW.js +0 -1
  108. package/src/playground/dist/assets/graphql-cDcHW_If.js +0 -1
  109. package/src/playground/dist/assets/groovy-DkBy-JyN.js +0 -1
  110. package/src/playground/dist/assets/hack-D1yCygmZ.js +0 -1
  111. package/src/playground/dist/assets/haml-B2EZWmdv.js +0 -1
  112. package/src/playground/dist/assets/handlebars-BQGss363.js +0 -1
  113. package/src/playground/dist/assets/haskell-BILxekzW.js +0 -1
  114. package/src/playground/dist/assets/haxe-C5wWYbrZ.js +0 -1
  115. package/src/playground/dist/assets/hcl-HzYwdGDm.js +0 -1
  116. package/src/playground/dist/assets/hjson-T-Tgc4AT.js +0 -1
  117. package/src/playground/dist/assets/hlsl-ifBTmRxC.js +0 -1
  118. package/src/playground/dist/assets/houston-DnULxvSX.js +0 -1
  119. package/src/playground/dist/assets/html-C2L_23MC.js +0 -1
  120. package/src/playground/dist/assets/html-derivative-CSfWNPLT.js +0 -1
  121. package/src/playground/dist/assets/http-FRrOvY1W.js +0 -1
  122. package/src/playground/dist/assets/hxml-TIA70rKU.js +0 -1
  123. package/src/playground/dist/assets/hy-BMj5Y0dO.js +0 -1
  124. package/src/playground/dist/assets/imba-bv_oIlVt.js +0 -1
  125. package/src/playground/dist/assets/index-CpguR2jr.js +0 -400
  126. package/src/playground/dist/assets/index-M9glaXJD.js +0 -13
  127. package/src/playground/dist/assets/ini-BjABl1g7.js +0 -1
  128. package/src/playground/dist/assets/java-xI-RfyKK.js +0 -1
  129. package/src/playground/dist/assets/javascript-ySlJ1b_l.js +0 -1
  130. package/src/playground/dist/assets/jinja-DGy0s7-h.js +0 -1
  131. package/src/playground/dist/assets/jison-BqZprYcd.js +0 -1
  132. package/src/playground/dist/assets/json-BQoSv7ci.js +0 -1
  133. package/src/playground/dist/assets/json5-w8dY5SsB.js +0 -1
  134. package/src/playground/dist/assets/jsonc-TU54ms6u.js +0 -1
  135. package/src/playground/dist/assets/jsonl-DREVFZK8.js +0 -1
  136. package/src/playground/dist/assets/jsonnet-BfivnA6A.js +0 -1
  137. package/src/playground/dist/assets/jssm-P4WzXJd0.js +0 -1
  138. package/src/playground/dist/assets/jsx-BAng5TT0.js +0 -1
  139. package/src/playground/dist/assets/julia-BBuGR-5E.js +0 -1
  140. package/src/playground/dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
  141. package/src/playground/dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
  142. package/src/playground/dist/assets/kanagawa-wave-DWedfzmr.js +0 -1
  143. package/src/playground/dist/assets/kotlin-B5lbUyaz.js +0 -1
  144. package/src/playground/dist/assets/kusto-mebxcVVE.js +0 -1
  145. package/src/playground/dist/assets/laserwave-DUszq2jm.js +0 -1
  146. package/src/playground/dist/assets/latex-C-cWTeAZ.js +0 -1
  147. package/src/playground/dist/assets/lean-XBlWyCtg.js +0 -1
  148. package/src/playground/dist/assets/less-BfCpw3nA.js +0 -1
  149. package/src/playground/dist/assets/light-plus-B7mTdjB0.js +0 -1
  150. package/src/playground/dist/assets/liquid-D3W5UaiH.js +0 -1
  151. package/src/playground/dist/assets/log-Cc5clBb7.js +0 -1
  152. package/src/playground/dist/assets/logo-IuBKFhSY.js +0 -1
  153. package/src/playground/dist/assets/lua-CvWAzNxB.js +0 -1
  154. package/src/playground/dist/assets/luau-Du5NY7AG.js +0 -1
  155. package/src/playground/dist/assets/make-Bvotw-X0.js +0 -1
  156. package/src/playground/dist/assets/markdown-UIAJJxZW.js +0 -1
  157. package/src/playground/dist/assets/marko-z0MBrx5-.js +0 -1
  158. package/src/playground/dist/assets/material-theme-D5KoaKCx.js +0 -1
  159. package/src/playground/dist/assets/material-theme-darker-BfHTSMKl.js +0 -1
  160. package/src/playground/dist/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  161. package/src/playground/dist/assets/material-theme-ocean-CyktbL80.js +0 -1
  162. package/src/playground/dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  163. package/src/playground/dist/assets/matlab-D9-PGadD.js +0 -1
  164. package/src/playground/dist/assets/mdc-DB_EDNY_.js +0 -1
  165. package/src/playground/dist/assets/mdx-sdHcTMYB.js +0 -1
  166. package/src/playground/dist/assets/mermaid-Ci6OQyBP.js +0 -1
  167. package/src/playground/dist/assets/min-dark-CafNBF8u.js +0 -1
  168. package/src/playground/dist/assets/min-light-CTRr51gU.js +0 -1
  169. package/src/playground/dist/assets/mipsasm-BC5c_5Pe.js +0 -1
  170. package/src/playground/dist/assets/mojo-Tz6hzZYG.js +0 -1
  171. package/src/playground/dist/assets/monokai-D4h5O-jR.js +0 -1
  172. package/src/playground/dist/assets/move-DB_GagMm.js +0 -1
  173. package/src/playground/dist/assets/narrat-DLbgOhZU.js +0 -1
  174. package/src/playground/dist/assets/nextflow-B0XVJmRM.js +0 -1
  175. package/src/playground/dist/assets/nginx-D_VnBJ67.js +0 -1
  176. package/src/playground/dist/assets/night-owl-C39BiMTA.js +0 -1
  177. package/src/playground/dist/assets/nim-ZlGxZxc3.js +0 -1
  178. package/src/playground/dist/assets/nix-shcSOmrb.js +0 -1
  179. package/src/playground/dist/assets/nord-Ddv68eIx.js +0 -1
  180. package/src/playground/dist/assets/nushell-D4Tzg5kh.js +0 -1
  181. package/src/playground/dist/assets/objective-c-Deuh7S70.js +0 -1
  182. package/src/playground/dist/assets/objective-cpp-BUEGK8hf.js +0 -1
  183. package/src/playground/dist/assets/ocaml-BNioltXt.js +0 -1
  184. package/src/playground/dist/assets/one-dark-pro-GBQ2dnAY.js +0 -1
  185. package/src/playground/dist/assets/one-light-PoHY5YXO.js +0 -1
  186. package/src/playground/dist/assets/pascal-JqZropPD.js +0 -1
  187. package/src/playground/dist/assets/perl-CHQXSrWU.js +0 -1
  188. package/src/playground/dist/assets/php-B5ebYQev.js +0 -1
  189. package/src/playground/dist/assets/plastic-3e1v2bzS.js +0 -1
  190. package/src/playground/dist/assets/plsql-LKU2TuZ1.js +0 -1
  191. package/src/playground/dist/assets/po-BFLt1xDp.js +0 -1
  192. package/src/playground/dist/assets/poimandres-CS3Unz2-.js +0 -1
  193. package/src/playground/dist/assets/polar-DKykz6zU.js +0 -1
  194. package/src/playground/dist/assets/postcss-B3ZDOciz.js +0 -1
  195. package/src/playground/dist/assets/powerquery-CSHBycmS.js +0 -1
  196. package/src/playground/dist/assets/powershell-BIEUsx6d.js +0 -1
  197. package/src/playground/dist/assets/prisma-B48N-Iqd.js +0 -1
  198. package/src/playground/dist/assets/prolog-BY-TUvya.js +0 -1
  199. package/src/playground/dist/assets/proto-zocC4JxJ.js +0 -1
  200. package/src/playground/dist/assets/pug-CM9l7STV.js +0 -1
  201. package/src/playground/dist/assets/puppet-Cza_XSSt.js +0 -1
  202. package/src/playground/dist/assets/purescript-Bg-kzb6g.js +0 -1
  203. package/src/playground/dist/assets/python-DhUJRlN_.js +0 -1
  204. package/src/playground/dist/assets/qml-D8XfuvdV.js +0 -1
  205. package/src/playground/dist/assets/qmldir-C8lEn-DE.js +0 -1
  206. package/src/playground/dist/assets/qss-DhMKtDLN.js +0 -1
  207. package/src/playground/dist/assets/r-CwjWoCRV.js +0 -1
  208. package/src/playground/dist/assets/racket-CzouJOBO.js +0 -1
  209. package/src/playground/dist/assets/raku-B1bQXN8T.js +0 -1
  210. package/src/playground/dist/assets/razor-CNLDkMZG.js +0 -1
  211. package/src/playground/dist/assets/red-bN70gL4F.js +0 -1
  212. package/src/playground/dist/assets/reg-5LuOXUq_.js +0 -1
  213. package/src/playground/dist/assets/regexp-DWJ3fJO_.js +0 -1
  214. package/src/playground/dist/assets/rel-DJlmqQ1C.js +0 -1
  215. package/src/playground/dist/assets/riscv-QhoSD0DR.js +0 -1
  216. package/src/playground/dist/assets/rose-pine-CmCqftbK.js +0 -1
  217. package/src/playground/dist/assets/rose-pine-dawn-Ds-gbosJ.js +0 -1
  218. package/src/playground/dist/assets/rose-pine-moon-CjDtw9vr.js +0 -1
  219. package/src/playground/dist/assets/rst-4NLicBqY.js +0 -1
  220. package/src/playground/dist/assets/ruby-DeZ3UC14.js +0 -1
  221. package/src/playground/dist/assets/rust-Be6lgOlo.js +0 -1
  222. package/src/playground/dist/assets/sas-BmTFh92c.js +0 -1
  223. package/src/playground/dist/assets/sass-BJ4Li9vH.js +0 -1
  224. package/src/playground/dist/assets/scala-DQVVAn-B.js +0 -1
  225. package/src/playground/dist/assets/scheme-BJGe-b2p.js +0 -1
  226. package/src/playground/dist/assets/scss-C31hgJw-.js +0 -1
  227. package/src/playground/dist/assets/sdbl-BLhTXw86.js +0 -1
  228. package/src/playground/dist/assets/shaderlab-B7qAK45m.js +0 -1
  229. package/src/playground/dist/assets/shellscript-atvbtKCR.js +0 -1
  230. package/src/playground/dist/assets/shellsession-C_rIy8kc.js +0 -1
  231. package/src/playground/dist/assets/slack-dark-BthQWCQV.js +0 -1
  232. package/src/playground/dist/assets/slack-ochin-DqwNpetd.js +0 -1
  233. package/src/playground/dist/assets/smalltalk-DkLiglaE.js +0 -1
  234. package/src/playground/dist/assets/snazzy-light-Bw305WKR.js +0 -1
  235. package/src/playground/dist/assets/solarized-dark-DXbdFlpD.js +0 -1
  236. package/src/playground/dist/assets/solarized-light-L9t79GZl.js +0 -1
  237. package/src/playground/dist/assets/solidity-C1w2a3ep.js +0 -1
  238. package/src/playground/dist/assets/soy-C-lX7w71.js +0 -1
  239. package/src/playground/dist/assets/sparql-bYkjHRlG.js +0 -1
  240. package/src/playground/dist/assets/splunk-Cf8iN4DR.js +0 -1
  241. package/src/playground/dist/assets/sql-COK4E0Yg.js +0 -1
  242. package/src/playground/dist/assets/ssh-config-BknIz3MU.js +0 -1
  243. package/src/playground/dist/assets/stata-DorPZHa4.js +0 -1
  244. package/src/playground/dist/assets/style-_--6WeqI.css +0 -1
  245. package/src/playground/dist/assets/stylus-BeQkCIfX.js +0 -1
  246. package/src/playground/dist/assets/svelte-MSaWC3Je.js +0 -1
  247. package/src/playground/dist/assets/swift-BSxZ-RaX.js +0 -1
  248. package/src/playground/dist/assets/synthwave-84-CbfX1IO0.js +0 -1
  249. package/src/playground/dist/assets/system-verilog-C7L56vO4.js +0 -1
  250. package/src/playground/dist/assets/systemd-CUnW07Te.js +0 -1
  251. package/src/playground/dist/assets/talonscript-C1XDQQGZ.js +0 -1
  252. package/src/playground/dist/assets/tasl-CQjiPCtT.js +0 -1
  253. package/src/playground/dist/assets/tcl-DQ1-QYvQ.js +0 -1
  254. package/src/playground/dist/assets/templ-dwX3ZSMB.js +0 -1
  255. package/src/playground/dist/assets/terraform-BbSNqyBO.js +0 -1
  256. package/src/playground/dist/assets/tex-rYs2v40G.js +0 -1
  257. package/src/playground/dist/assets/tokyo-night-DBQeEorK.js +0 -1
  258. package/src/playground/dist/assets/toml-CB2ApiWb.js +0 -1
  259. package/src/playground/dist/assets/ts-tags-CipyTH0X.js +0 -1
  260. package/src/playground/dist/assets/tsv-B_m7g4N7.js +0 -1
  261. package/src/playground/dist/assets/tsx-B6W0miNI.js +0 -1
  262. package/src/playground/dist/assets/turtle-BMR_PYu6.js +0 -1
  263. package/src/playground/dist/assets/twig-NC5TFiHP.js +0 -1
  264. package/src/playground/dist/assets/typescript-Dj6nwHGl.js +0 -1
  265. package/src/playground/dist/assets/typespec-BpWG_bgh.js +0 -1
  266. package/src/playground/dist/assets/typst-BVUVsWT6.js +0 -1
  267. package/src/playground/dist/assets/v-CAQ2eGtk.js +0 -1
  268. package/src/playground/dist/assets/vala-BFOHcciG.js +0 -1
  269. package/src/playground/dist/assets/vb-CdO5JTpU.js +0 -1
  270. package/src/playground/dist/assets/verilog-CJaU5se_.js +0 -1
  271. package/src/playground/dist/assets/vesper-BEBZ7ncR.js +0 -1
  272. package/src/playground/dist/assets/vhdl-DYoNaHQp.js +0 -1
  273. package/src/playground/dist/assets/viml-m4uW47V2.js +0 -1
  274. package/src/playground/dist/assets/vitesse-black-Bkuqu6BP.js +0 -1
  275. package/src/playground/dist/assets/vitesse-dark-D0r3Knsf.js +0 -1
  276. package/src/playground/dist/assets/vitesse-light-CVO1_9PV.js +0 -1
  277. package/src/playground/dist/assets/vue-BuYVFjOK.js +0 -1
  278. package/src/playground/dist/assets/vue-html-xdeiXROB.js +0 -1
  279. package/src/playground/dist/assets/vyper-nyqBNV6O.js +0 -1
  280. package/src/playground/dist/assets/wasm-C6j12Q_x.js +0 -1
  281. package/src/playground/dist/assets/wasm-CG6Dc4jp.js +0 -1
  282. package/src/playground/dist/assets/wenyan-7A4Fjokl.js +0 -1
  283. package/src/playground/dist/assets/wgsl-CB0Krxn9.js +0 -1
  284. package/src/playground/dist/assets/wikitext-DCE3LsBG.js +0 -1
  285. package/src/playground/dist/assets/wolfram-C3FkfJm5.js +0 -1
  286. package/src/playground/dist/assets/xml-e3z08dGr.js +0 -1
  287. package/src/playground/dist/assets/xsl-Dd0NUgwM.js +0 -1
  288. package/src/playground/dist/assets/yaml-CVw76BM1.js +0 -1
  289. package/src/playground/dist/assets/zenscript-HnGAYVZD.js +0 -1
  290. package/src/playground/dist/assets/zig-BVz_zdnA.js +0 -1
  291. package/src/playground/dist/index.html +0 -36
  292. package/src/playground/dist/vite.svg +0 -1
package/dist/index.js DELETED
@@ -1,381 +0,0 @@
1
- #! /usr/bin/env node
2
- import { PosthogAnalytics } from './chunk-K5HPNH5H.js';
3
- export { PosthogAnalytics } from './chunk-K5HPNH5H.js';
4
- import { DepsService, create, checkPkgJson, checkAndInstallCoreDeps, interactivePrompt, init, FileService, logger } from './chunk-UU6XEV7T.js';
5
- export { create } from './chunk-UU6XEV7T.js';
6
- import { Command } from 'commander';
7
- import 'picocolors';
8
- import { join, dirname } from 'node:path';
9
- import { FileService as FileService$1, getWatcherInputOptions, createWatcher } from '@mastra/deployer/build';
10
- import { Bundler } from '@mastra/deployer/bundler';
11
- import * as fsExtra2 from 'fs-extra';
12
- import { readFileSync } from 'node:fs';
13
- import { fileURLToPath } from 'node:url';
14
- import { getDeployer, FileService as FileService$2 } from '@mastra/deployer';
15
- import { join as join$1 } from 'path';
16
- import { execa } from 'execa';
17
- import { MastraBundler } from '@mastra/core/bundler';
18
- import 'dotenv';
19
-
20
- var BuildBundler = class extends Bundler {
21
- constructor() {
22
- super("Build");
23
- }
24
- getEnvFiles() {
25
- const possibleFiles = [".env.production", ".env"];
26
- try {
27
- const fileService = new FileService$1();
28
- const envFile = fileService.getFirstExistingFile(possibleFiles);
29
- return Promise.resolve([envFile]);
30
- } catch (err) {
31
- }
32
- return Promise.resolve([]);
33
- }
34
- async prepare(outputDirectory) {
35
- await super.prepare(outputDirectory);
36
- const __filename = fileURLToPath(import.meta.url);
37
- const __dirname = dirname(__filename);
38
- const playgroundServePath = join(outputDirectory, this.outputDir, "playground");
39
- await fsExtra2.copy(join(dirname(__dirname), "src/playground/dist"), playgroundServePath, {
40
- overwrite: true
41
- });
42
- }
43
- bundle(entryFile, outputDirectory) {
44
- return this._bundle(this.getEntry(), entryFile, outputDirectory);
45
- }
46
- getEntry() {
47
- const __filename = fileURLToPath(import.meta.url);
48
- const __dirname = dirname(__filename);
49
- return readFileSync(join(__dirname, "templates", "dev.entry.js"), "utf8");
50
- }
51
- };
52
-
53
- // src/commands/build/build.ts
54
- async function build({ dir }) {
55
- const mastraDir = dir ?? process.cwd();
56
- const outputDirectory = join(mastraDir, ".mastra");
57
- const deployer = new BuildBundler();
58
- const fs = new FileService();
59
- const mastraEntryFile = fs.getFirstExistingFile([
60
- join(mastraDir, "src", "mastra", "index.ts"),
61
- join(mastraDir, "src", "mastra", "index.js")
62
- ]);
63
- console.log(join(mastraDir, "index.ts"), join(mastraDir, "index.js"));
64
- await deployer.prepare(outputDirectory);
65
- await deployer.bundle(mastraEntryFile, outputDirectory);
66
- }
67
- async function deploy({ dir }) {
68
- let mastraDir = dir || join$1(process.cwd(), "src/mastra");
69
- try {
70
- const outputDirectory = join$1(process.cwd(), ".mastra");
71
- const fs = new FileService();
72
- const mastraEntryFile = fs.getFirstExistingFile([join$1(mastraDir, "index.ts"), join$1(mastraDir, "index.js")]);
73
- const deployer = await getDeployer(mastraEntryFile, outputDirectory);
74
- if (!deployer) {
75
- logger.warn("No deployer found.");
76
- return;
77
- }
78
- try {
79
- await deployer.prepare(outputDirectory);
80
- await deployer.bundle(mastraEntryFile, outputDirectory);
81
- try {
82
- await deployer.deploy(outputDirectory);
83
- } catch (error) {
84
- console.error("[Mastra Deploy] - Error deploying:", error);
85
- }
86
- } catch (err) {
87
- if (err instanceof Error) {
88
- logger.debug(`error: ${err.message}`, { error: err });
89
- }
90
- }
91
- } catch (error) {
92
- if (error instanceof Error) {
93
- logger.debug(`error: ${error.message}`, { error });
94
- }
95
- logger.warn("No deployer found.");
96
- }
97
- }
98
- var DevBundler = class extends MastraBundler {
99
- mastraDir;
100
- constructor(mastraDir) {
101
- super({
102
- name: "Dev",
103
- component: "BUNDLER"
104
- });
105
- this.mastraDir = mastraDir;
106
- }
107
- getEnvFiles() {
108
- const possibleFiles = [".env.development", ".env"];
109
- try {
110
- const fileService = new FileService$2();
111
- const envFile = fileService.getFirstExistingFile(possibleFiles);
112
- return Promise.resolve([envFile]);
113
- } catch (err) {
114
- }
115
- return Promise.resolve([]);
116
- }
117
- async writePackageJson() {
118
- }
119
- async prepare(outputDirectory) {
120
- await fsExtra2.ensureDir(outputDirectory);
121
- await fsExtra2.emptyDir(outputDirectory);
122
- const __filename = fileURLToPath(import.meta.url);
123
- const __dirname = dirname(__filename);
124
- const playgroundServePath = join(outputDirectory, "playground");
125
- await fsExtra2.copy(join(dirname(__dirname), "src/playground/dist"), playgroundServePath, {
126
- overwrite: true
127
- });
128
- }
129
- async watch(outputDirectory) {
130
- const __filename = fileURLToPath(import.meta.url);
131
- const __dirname = dirname(__filename);
132
- const fileService = new FileService$2();
133
- const entryFile = fileService.getFirstExistingFile([
134
- join(this.mastraDir, "index.ts"),
135
- join(this.mastraDir, "index.js")
136
- ]);
137
- const envFiles = await this.getEnvFiles();
138
- const inputOptions = await getWatcherInputOptions(entryFile, "node");
139
- const watcher = await createWatcher(
140
- {
141
- ...inputOptions,
142
- plugins: [
143
- // @ts-ignore - types are good
144
- ...inputOptions.plugins,
145
- {
146
- name: "env-watcher",
147
- buildStart() {
148
- for (const envFile of envFiles) {
149
- this.addWatchFile(envFile);
150
- }
151
- }
152
- }
153
- ],
154
- input: {
155
- index: join(__dirname, "templates", "dev.entry.js")
156
- }
157
- },
158
- {
159
- dir: outputDirectory
160
- }
161
- );
162
- this.logger.info("Starting watcher...");
163
- return new Promise((resolve, reject) => {
164
- const cb = (event) => {
165
- if (event.code === "BUNDLE_END") {
166
- this.logger.info("Bundling finished, starting server...");
167
- watcher.off("event", cb);
168
- resolve(watcher);
169
- }
170
- if (event.code === "ERROR") {
171
- console.log(event);
172
- this.logger.error("Bundling failed, stopping watcher...");
173
- watcher.off("event", cb);
174
- reject(event);
175
- }
176
- };
177
- watcher.on("event", cb);
178
- });
179
- }
180
- async bundle() {
181
- }
182
- };
183
-
184
- // src/commands/dev/dev.ts
185
- var currentServerProcess;
186
- var isRestarting = false;
187
- var startServer = async (dotMastraPath, port, env) => {
188
- try {
189
- logger.info("[Mastra Dev] - Starting server...");
190
- currentServerProcess = execa("node", ["index.mjs"], {
191
- cwd: dotMastraPath,
192
- env: {
193
- PORT: port.toString() || "4111",
194
- ...Object.fromEntries(env)
195
- },
196
- stdio: "inherit",
197
- reject: false
198
- });
199
- if (currentServerProcess?.exitCode && currentServerProcess?.exitCode !== 0) {
200
- if (!currentServerProcess) {
201
- throw new Error(`Server failed to start`);
202
- }
203
- throw new Error(`Server failed to start with error: ${currentServerProcess.stderr}`);
204
- }
205
- await new Promise((resolve) => setTimeout(resolve, 1e3));
206
- try {
207
- await fetch(`http://localhost:${port}/__refresh`, {
208
- method: "POST",
209
- headers: {
210
- "Content-Type": "application/json"
211
- }
212
- });
213
- } catch (err) {
214
- await new Promise((resolve) => setTimeout(resolve, 1500));
215
- try {
216
- await fetch(`http://localhost:${port}/__refresh`, {
217
- method: "POST",
218
- headers: {
219
- "Content-Type": "application/json"
220
- }
221
- });
222
- } catch (retryErr) {
223
- }
224
- }
225
- if (currentServerProcess.exitCode !== null) {
226
- logger.error("Server failed to start with error:", { message: currentServerProcess.stderr });
227
- return;
228
- }
229
- } catch (err) {
230
- const execaError = err;
231
- if (execaError.stderr) logger.error("Server error output:", { stderr: execaError.stderr });
232
- if (execaError.stdout) logger.debug("Server output:", { stdout: execaError.stdout });
233
- }
234
- };
235
- async function rebundleAndRestart(dotMastraPath, port, bundler) {
236
- if (isRestarting) {
237
- return;
238
- }
239
- isRestarting = true;
240
- try {
241
- if (currentServerProcess) {
242
- logger.debug("Stopping current server...");
243
- currentServerProcess.kill();
244
- await new Promise((resolve) => setTimeout(resolve, 1e3));
245
- }
246
- const env = await bundler.loadEnvVars();
247
- await startServer(dotMastraPath, port, env);
248
- } finally {
249
- isRestarting = false;
250
- }
251
- }
252
- async function dev({ port, dir, root }) {
253
- const rootDir = root || process.cwd();
254
- const mastraDir = join$1(rootDir, dir || "src/mastra");
255
- const dotMastraPath = join$1(rootDir, ".mastra");
256
- const bundler = new DevBundler(mastraDir);
257
- const env = await bundler.loadEnvVars();
258
- await bundler.prepare(dotMastraPath);
259
- const watcher = await bundler.watch(dotMastraPath);
260
- await startServer(dotMastraPath, port, env);
261
- watcher.on("event", (event) => {
262
- if (event.code === "BUNDLE_END") {
263
- logger.info("[Mastra Dev] - Bundling finished, restarting server...");
264
- rebundleAndRestart(dotMastraPath, port, bundler);
265
- }
266
- });
267
- process.on("SIGINT", () => {
268
- logger.info("[Mastra Dev] - Stopping server...");
269
- if (currentServerProcess) {
270
- currentServerProcess.kill();
271
- }
272
- watcher.close();
273
- process.exit(0);
274
- });
275
- }
276
-
277
- // src/index.ts
278
- var depsService = new DepsService();
279
- var version = await depsService.getPackageVersion();
280
- var analytics = new PosthogAnalytics({
281
- apiKey: "phc_SBLpZVAB6jmHOct9CABq3PF0Yn5FU3G2FgT4xUr2XrT",
282
- host: "https://us.posthog.com",
283
- version
284
- });
285
- var program = new Command();
286
- program.version(`${version}`, "-v, --version").description(`Mastra CLI ${version}`).action(() => {
287
- try {
288
- analytics.trackCommand({
289
- command: "version"
290
- });
291
- console.log(`Mastra CLI: ${version}`);
292
- } catch (e) {
293
- }
294
- });
295
- program.command("create").description("Create a new Mastra project").option("--default", "Quick start with defaults(src, OpenAI, no examples)").option("-c, --components <components>", "Comma-separated list of components (agents, tools, workflows)").option("-l, --llm <model-provider>", "Default model provider (openai, anthropic, or groq))").option("-k, --llm-api-key <api-key>", "API key for the model provider").option("-e, --example", "Include example code").action(async (args) => {
296
- await analytics.trackCommandExecution({
297
- command: "create",
298
- args,
299
- execution: async () => {
300
- if (args.default) {
301
- await create({
302
- components: ["agents", "tools", "workflows"],
303
- llmProvider: "openai",
304
- addExample: false
305
- });
306
- return;
307
- }
308
- await create({
309
- components: args.components ? args.components.split(",") : [],
310
- llmProvider: args.llm,
311
- addExample: args.example,
312
- llmApiKey: args["llm-api-key"]
313
- });
314
- }
315
- });
316
- });
317
- program.command("init").description("Initialize Mastra in your project").option("--default", "Quick start with defaults(src, OpenAI, no examples)").option("-d, --dir <directory>", "Directory for Mastra files to (defaults to src/)").option("-c, --components <components>", "Comma-separated list of components (agents, tools, workflows)").option("-l, --llm <model-provider>", "Default model provider (openai, anthropic, or groq))").option("-k, --llm-api-key <api-key>", "API key for the model provider").option("-e, --example", "Include example code").action(async (args) => {
318
- await analytics.trackCommandExecution({
319
- command: "init",
320
- args,
321
- execution: async () => {
322
- await checkPkgJson();
323
- await checkAndInstallCoreDeps();
324
- if (!Object.keys(args).length) {
325
- const result = await interactivePrompt();
326
- await init({
327
- ...result,
328
- llmApiKey: result?.llmApiKey
329
- });
330
- return;
331
- }
332
- if (args?.default) {
333
- init({
334
- directory: "src/",
335
- components: ["agents", "tools", "workflows"],
336
- llmProvider: "openai",
337
- addExample: false
338
- });
339
- return;
340
- }
341
- const componentsArr = args.components ? args.components.split(",") : [];
342
- init({
343
- directory: args.dir,
344
- components: componentsArr,
345
- llmProvider: args.llm,
346
- addExample: args.example,
347
- llmApiKey: args["llm-api-key"]
348
- });
349
- return;
350
- }
351
- });
352
- });
353
- program.command("dev").description("Start mastra server").option("-d, --dir <dir>", "Path to your mastra folder").option("-r, --root <root>", "Path to your root folder").option("-e, --env <env>", "Environment File to use (defaults to .env.development)").option("-t, --tools <toolsDirs>", "Comma-separated list of paths to tool files to include").option("-p, --port <port>", "Port number for the development server (defaults to 4111)").action((args) => {
354
- analytics.trackCommand({
355
- command: "dev"
356
- });
357
- dev({
358
- port: args?.port ? parseInt(args.port) : 4111,
359
- dir: args?.dir,
360
- root: args?.root
361
- });
362
- });
363
- program.command("build").description("Build your Mastra project").option("-d, --dir <path>", "Path to directory").action(async (args) => {
364
- await analytics.trackCommandExecution({
365
- command: "mastra build",
366
- args,
367
- execution: async () => {
368
- await build({ dir: args.dir });
369
- }
370
- });
371
- });
372
- program.command("deploy").description("Deploy your Mastra project").option("-d, --dir <path>", "Path to directory").action(async (args) => {
373
- await analytics.trackCommandExecution({
374
- command: "mastra deploy",
375
- args,
376
- execution: async () => {
377
- await deploy({ dir: args.dir });
378
- }
379
- });
380
- });
381
- program.parse(process.argv);
@@ -1,28 +0,0 @@
1
- // @ts-ignore
2
- import { Config } from '@mastra/core';
3
-
4
- export const config: Config = {
5
- name: 'PROJECT_NAME',
6
- integrations: [],
7
- db: {
8
- provider: 'postgres',
9
- uri: process.env.DB_URL!,
10
- },
11
- runner: {
12
- provider: 'inngest',
13
- uri: process.env.INNGEST_URL!,
14
- signingKey: process.env.INNGEST_SIGNING_KEY!,
15
- eventKey: process.env.INNGEST_EVENT_KEY!,
16
- },
17
- workflows: {
18
- blueprintDirPath: '/mastra/blueprints',
19
- systemEvents: {},
20
- systemApis: [],
21
- },
22
- agents: {
23
- agentDirPath: '/mastra/agents',
24
- vectorProvider: [],
25
- },
26
- systemHostURL: process.env.APP_URL!,
27
- routeRegistrationPath: '/api/mastra',
28
- };
@@ -1,15 +0,0 @@
1
- services:
2
- db:
3
- image: pgvector/pgvector:pg16
4
- container_name: 'REPLACE_PROJECT_NAME-db'
5
- ports:
6
- - 'REPLACE_DB_PORT:5432'
7
- environment:
8
- POSTGRES_USER: ${POSTGRES_USER:-postgres}
9
- POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
10
- POSTGRES_DB: ${POSTGRES_DB:-mastra}
11
- volumes:
12
- - pgdata:/var/lib/postgresql/data
13
-
14
- volumes:
15
- pgdata:
@@ -1,95 +0,0 @@
1
- import { createTool } from '@mastra/core/tools';
2
- import { z } from 'zod';
3
-
4
- interface WeatherResponse {
5
- current: {
6
- time: string;
7
- temperature_2m: number;
8
- apparent_temperature: number;
9
- relative_humidity_2m: number;
10
- wind_speed_10m: number;
11
- wind_gusts_10m: number;
12
- weather_code: number;
13
- };
14
- }
15
-
16
- export const weatherTool = createTool({
17
- id: 'get-weather',
18
- description: 'Get current weather for a location',
19
- inputSchema: z.object({
20
- location: z.string().describe('City name'),
21
- }),
22
- outputSchema: z.object({
23
- temperature: z.number(),
24
- feelsLike: z.number(),
25
- humidity: z.number(),
26
- windSpeed: z.number(),
27
- windGust: z.number(),
28
- conditions: z.string(),
29
- location: z.string(),
30
- }),
31
- execute: async ({ context }) => {
32
- return await getWeather(context.location);
33
- },
34
- });
35
-
36
- const getWeather = async (location: string) => {
37
- const geocodingUrl = `https://geocoding-api.open-meteo.com/v1/search?name=${encodeURIComponent(location)}&count=1`;
38
- const geocodingResponse = await fetch(geocodingUrl);
39
- const geocodingData = await geocodingResponse.json();
40
-
41
- if (!geocodingData.results?.[0]) {
42
- throw new Error(`Location '${location}' not found`);
43
- }
44
-
45
- const { latitude, longitude, name } = geocodingData.results[0];
46
-
47
- const weatherUrl = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&current=temperature_2m,apparent_temperature,relative_humidity_2m,wind_speed_10m,wind_gusts_10m,weather_code`;
48
-
49
- const response = await fetch(weatherUrl);
50
- const data: WeatherResponse = await response.json();
51
-
52
- return {
53
- temperature: data.current.temperature_2m,
54
- feelsLike: data.current.apparent_temperature,
55
- humidity: data.current.relative_humidity_2m,
56
- windSpeed: data.current.wind_speed_10m,
57
- windGust: data.current.wind_gusts_10m,
58
- conditions: getWeatherCondition(data.current.weather_code),
59
- location: name,
60
- };
61
- };
62
-
63
- function getWeatherCondition(code: number): string {
64
- const conditions: Record<number, string> = {
65
- 0: 'Clear sky',
66
- 1: 'Mainly clear',
67
- 2: 'Partly cloudy',
68
- 3: 'Overcast',
69
- 45: 'Foggy',
70
- 48: 'Depositing rime fog',
71
- 51: 'Light drizzle',
72
- 53: 'Moderate drizzle',
73
- 55: 'Dense drizzle',
74
- 56: 'Light freezing drizzle',
75
- 57: 'Dense freezing drizzle',
76
- 61: 'Slight rain',
77
- 63: 'Moderate rain',
78
- 65: 'Heavy rain',
79
- 66: 'Light freezing rain',
80
- 67: 'Heavy freezing rain',
81
- 71: 'Slight snow fall',
82
- 73: 'Moderate snow fall',
83
- 75: 'Heavy snow fall',
84
- 77: 'Snow grains',
85
- 80: 'Slight rain showers',
86
- 81: 'Moderate rain showers',
87
- 82: 'Violent rain showers',
88
- 85: 'Slight snow showers',
89
- 86: 'Heavy snow showers',
90
- 95: 'Thunderstorm',
91
- 96: 'Thunderstorm with slight hail',
92
- 99: 'Thunderstorm with heavy hail',
93
- };
94
- return conditions[code] || 'Unknown';
95
- }
@@ -1,182 +0,0 @@
1
- import { openai } from '@ai-sdk/openai';
2
- import { Agent } from '@mastra/core/agent';
3
- import { Step, Workflow } from '@mastra/core/workflows';
4
- import { z } from 'zod';
5
-
6
- const llm = openai('gpt-4o');
7
-
8
- const agent = new Agent({
9
- name: 'Weather Agent',
10
- model: llm,
11
- instructions: `
12
- You are a local activities and travel expert who excels at weather-based planning. Analyze the weather data and provide practical activity recommendations.
13
-
14
- For each day in the forecast, structure your response exactly as follows:
15
-
16
- 📅 [Day, Month Date, Year]
17
- ═══════════════════════════
18
-
19
- 🌡️ WEATHER SUMMARY
20
- • Conditions: [brief description]
21
- • Temperature: [X°C/Y°F to A°C/B°F]
22
- • Precipitation: [X% chance]
23
-
24
- 🌅 MORNING ACTIVITIES
25
- Outdoor:
26
- • [Activity Name] - [Brief description including specific location/route]
27
- Best timing: [specific time range]
28
- Note: [relevant weather consideration]
29
-
30
- 🌞 AFTERNOON ACTIVITIES
31
- Outdoor:
32
- • [Activity Name] - [Brief description including specific location/route]
33
- Best timing: [specific time range]
34
- Note: [relevant weather consideration]
35
-
36
- 🏠 INDOOR ALTERNATIVES
37
- • [Activity Name] - [Brief description including specific venue]
38
- Ideal for: [weather condition that would trigger this alternative]
39
-
40
- ⚠️ SPECIAL CONSIDERATIONS
41
- • [Any relevant weather warnings, UV index, wind conditions, etc.]
42
-
43
- Guidelines:
44
- - Suggest 2-3 time-specific outdoor activities per day
45
- - Include 1-2 indoor backup options
46
- - For precipitation >50%, lead with indoor activities
47
- - All activities must be specific to the location
48
- - Include specific venues, trails, or locations
49
- - Consider activity intensity based on temperature
50
- - Keep descriptions concise but informative
51
-
52
- Maintain this exact formatting for consistency, using the emoji and section headers as shown.
53
- `,
54
- });
55
-
56
- const fetchWeather = new Step({
57
- id: 'fetch-weather',
58
- description: 'Fetches weather forecast for a given city',
59
- inputSchema: z.object({
60
- city: z.string().describe('The city to get the weather for'),
61
- }),
62
- execute: async ({ context }) => {
63
- const triggerData = context?.getStepPayload<{ city: string }>('trigger');
64
-
65
- if (!triggerData) {
66
- throw new Error('Trigger data not found');
67
- }
68
-
69
- const geocodingUrl = `https://geocoding-api.open-meteo.com/v1/search?name=${encodeURIComponent(triggerData.city)}&count=1`;
70
- const geocodingResponse = await fetch(geocodingUrl);
71
- const geocodingData = (await geocodingResponse.json()) as {
72
- results: { latitude: number; longitude: number; name: string }[];
73
- };
74
-
75
- if (!geocodingData.results?.[0]) {
76
- throw new Error(`Location '${triggerData.city}' not found`);
77
- }
78
-
79
- const { latitude, longitude, name } = geocodingData.results[0];
80
-
81
- const weatherUrl = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&daily=temperature_2m_max,temperature_2m_min,precipitation_probability_mean,weathercode&timezone=auto`;
82
- const response = await fetch(weatherUrl);
83
- const data = (await response.json()) as {
84
- daily: {
85
- time: string[];
86
- temperature_2m_max: number[];
87
- temperature_2m_min: number[];
88
- precipitation_probability_mean: number[];
89
- weathercode: number[];
90
- };
91
- };
92
-
93
- const forecast = data.daily.time.map((date: string, index: number) => ({
94
- date,
95
- maxTemp: data.daily.temperature_2m_max[index],
96
- minTemp: data.daily.temperature_2m_min[index],
97
- precipitationChance: data.daily.precipitation_probability_mean[index],
98
- condition: getWeatherCondition(data.daily.weathercode[index]!),
99
- location: name,
100
- }));
101
-
102
- return forecast;
103
- },
104
- });
105
-
106
- const forecastSchema = z.array(
107
- z.object({
108
- date: z.string(),
109
- maxTemp: z.number(),
110
- minTemp: z.number(),
111
- precipitationChance: z.number(),
112
- condition: z.string(),
113
- location: z.string(),
114
- }),
115
- );
116
-
117
- const planActivities = new Step({
118
- id: 'plan-activities',
119
- description: 'Suggests activities based on weather conditions',
120
- inputSchema: forecastSchema,
121
- execute: async ({ context, mastra }) => {
122
- const forecast = context?.getStepPayload<z.infer<typeof forecastSchema>>('fetch-weather');
123
-
124
- if (!forecast) {
125
- throw new Error('Forecast data not found');
126
- }
127
-
128
- const prompt = `Based on the following weather forecast for ${forecast[0].location}, suggest appropriate activities:
129
- ${JSON.stringify(forecast, null, 2)}
130
- `;
131
-
132
- const response = await agent.stream([
133
- {
134
- role: 'user',
135
- content: prompt,
136
- },
137
- ]);
138
-
139
- for await (const chunk of response.textStream) {
140
- process.stdout.write(chunk);
141
- }
142
-
143
- return {
144
- activities: response.text,
145
- };
146
- },
147
- });
148
-
149
- function getWeatherCondition(code: number): string {
150
- const conditions: Record<number, string> = {
151
- 0: 'Clear sky',
152
- 1: 'Mainly clear',
153
- 2: 'Partly cloudy',
154
- 3: 'Overcast',
155
- 45: 'Foggy',
156
- 48: 'Depositing rime fog',
157
- 51: 'Light drizzle',
158
- 53: 'Moderate drizzle',
159
- 55: 'Dense drizzle',
160
- 61: 'Slight rain',
161
- 63: 'Moderate rain',
162
- 65: 'Heavy rain',
163
- 71: 'Slight snow fall',
164
- 73: 'Moderate snow fall',
165
- 75: 'Heavy snow fall',
166
- 95: 'Thunderstorm',
167
- };
168
- return conditions[code] || 'Unknown';
169
- }
170
-
171
- const weatherWorkflow = new Workflow({
172
- name: 'weather-workflow',
173
- triggerSchema: z.object({
174
- city: z.string().describe('The city to get the weather for'),
175
- }),
176
- })
177
- .step(fetchWeather)
178
- .then(planActivities);
179
-
180
- weatherWorkflow.commit();
181
-
182
- export { weatherWorkflow };