@mastra/core 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/dist/agent/agent.d.ts +6 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +8 -8
  5. package/dist/agent/index.js +1 -1
  6. package/dist/{chunk-VJWRJWSC.cjs → chunk-2X66GWF5.cjs} +94 -16
  7. package/dist/chunk-2X66GWF5.cjs.map +1 -0
  8. package/dist/{chunk-YM6245EM.js → chunk-6OXW5E2O.js} +3 -3
  9. package/dist/{chunk-YM6245EM.js.map → chunk-6OXW5E2O.js.map} +1 -1
  10. package/dist/{chunk-XWZAKKFT.cjs → chunk-6QBN6MZY.cjs} +14 -14
  11. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-6QBN6MZY.cjs.map} +1 -1
  12. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  13. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  14. package/dist/{chunk-RZNHRIM7.cjs → chunk-A72NTLFT.cjs} +5 -5
  15. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-A72NTLFT.cjs.map} +1 -1
  16. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  17. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  18. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  19. package/dist/chunk-GPJGPARM.js.map +1 -0
  20. package/dist/{chunk-LNKS4TJ6.cjs → chunk-HB6T4554.cjs} +8 -7
  21. package/dist/chunk-HB6T4554.cjs.map +1 -0
  22. package/dist/{chunk-DGS2KGDI.js → chunk-KUXNBWN7.js} +6 -5
  23. package/dist/chunk-KUXNBWN7.js.map +1 -0
  24. package/dist/{chunk-IHDE4CJV.js → chunk-QSHV7GPT.js} +89 -12
  25. package/dist/chunk-QSHV7GPT.js.map +1 -0
  26. package/dist/{chunk-3U3XFMGJ.cjs → chunk-QTAS3HND.cjs} +13 -8
  27. package/dist/chunk-QTAS3HND.cjs.map +1 -0
  28. package/dist/{chunk-RHKNKJNM.js → chunk-QWTB53GS.js} +4 -4
  29. package/dist/{chunk-RHKNKJNM.js.map → chunk-QWTB53GS.js.map} +1 -1
  30. package/dist/{chunk-4WG5K4CK.js → chunk-R4N65TLG.js} +7 -7
  31. package/dist/{chunk-4WG5K4CK.js.map → chunk-R4N65TLG.js.map} +1 -1
  32. package/dist/{chunk-5VQPSWPG.cjs → chunk-RABITNTG.cjs} +48 -48
  33. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-RABITNTG.cjs.map} +1 -1
  34. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  35. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  36. package/dist/{chunk-MWGGSA5Q.js → chunk-T6GAM3SQ.js} +10 -5
  37. package/dist/chunk-T6GAM3SQ.js.map +1 -0
  38. package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
  39. package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
  40. package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
  41. package/dist/chunk-ZSBM2SVU.js.map +1 -0
  42. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  43. package/dist/datasets/index.cjs +17 -17
  44. package/dist/datasets/index.js +2 -2
  45. package/dist/evals/index.cjs +20 -20
  46. package/dist/evals/index.js +3 -3
  47. package/dist/evals/scoreTraces/index.cjs +7 -6
  48. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  49. package/dist/evals/scoreTraces/index.js +4 -3
  50. package/dist/evals/scoreTraces/index.js.map +1 -1
  51. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  52. package/dist/harness/harness.d.ts +21 -1
  53. package/dist/harness/harness.d.ts.map +1 -1
  54. package/dist/harness/index.cjs +422 -5
  55. package/dist/harness/index.cjs.map +1 -1
  56. package/dist/harness/index.d.ts +2 -1
  57. package/dist/harness/index.d.ts.map +1 -1
  58. package/dist/harness/index.js +418 -3
  59. package/dist/harness/index.js.map +1 -1
  60. package/dist/harness/types.d.ts +151 -0
  61. package/dist/harness/types.d.ts.map +1 -1
  62. package/dist/index.cjs +2 -2
  63. package/dist/index.js +1 -1
  64. package/dist/loop/index.cjs +12 -12
  65. package/dist/loop/index.js +1 -1
  66. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  67. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  68. package/dist/mastra/hooks.d.ts.map +1 -1
  69. package/dist/mastra/index.cjs +2 -2
  70. package/dist/mastra/index.js +1 -1
  71. package/dist/memory/index.cjs +14 -14
  72. package/dist/memory/index.js +1 -1
  73. package/dist/processor-provider/index.cjs +10 -10
  74. package/dist/processor-provider/index.js +1 -1
  75. package/dist/processors/index.cjs +45 -41
  76. package/dist/processors/index.js +1 -1
  77. package/dist/processors/processors/index.d.ts +1 -0
  78. package/dist/processors/processors/index.d.ts.map +1 -1
  79. package/dist/processors/processors/workspace-instructions.d.ts +50 -0
  80. package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
  81. package/dist/relevance/index.cjs +3 -3
  82. package/dist/relevance/index.js +1 -1
  83. package/dist/storage/constants.cjs +56 -56
  84. package/dist/storage/constants.d.ts.map +1 -1
  85. package/dist/storage/constants.js +1 -1
  86. package/dist/storage/index.cjs +160 -160
  87. package/dist/storage/index.js +2 -2
  88. package/dist/storage/types.d.ts +2 -0
  89. package/dist/storage/types.d.ts.map +1 -1
  90. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  91. package/dist/stream/base/output.d.ts.map +1 -1
  92. package/dist/stream/index.cjs +8 -8
  93. package/dist/stream/index.js +1 -1
  94. package/dist/tool-loop-agent/index.cjs +4 -4
  95. package/dist/tool-loop-agent/index.js +1 -1
  96. package/dist/vector/index.cjs +7 -7
  97. package/dist/vector/index.js +1 -1
  98. package/dist/workflows/evented/index.cjs +10 -10
  99. package/dist/workflows/evented/index.js +1 -1
  100. package/dist/workflows/index.cjs +25 -25
  101. package/dist/workflows/index.js +1 -1
  102. package/dist/workspace/constants/index.d.ts +2 -0
  103. package/dist/workspace/constants/index.d.ts.map +1 -1
  104. package/dist/workspace/errors.d.ts +1 -1
  105. package/dist/workspace/errors.d.ts.map +1 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  107. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  108. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  109. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  110. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  111. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  112. package/dist/workspace/filesystem/index.d.ts +1 -0
  113. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  115. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  116. package/dist/workspace/index.cjs +72 -64
  117. package/dist/workspace/index.d.ts +3 -2
  118. package/dist/workspace/index.d.ts.map +1 -1
  119. package/dist/workspace/index.js +1 -1
  120. package/dist/workspace/lifecycle.d.ts +1 -9
  121. package/dist/workspace/lifecycle.d.ts.map +1 -1
  122. package/dist/workspace/sandbox/index.d.ts +2 -0
  123. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  124. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  125. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  126. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  127. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  129. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  131. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  133. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  135. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  136. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  137. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  139. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  141. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  143. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  144. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  145. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  146. package/dist/workspace/sandbox/types.d.ts +9 -2
  147. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  148. package/dist/workspace/sandbox/utils.d.ts +7 -0
  149. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  150. package/dist/workspace/tools/execute-command.d.ts +53 -2
  151. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  152. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  153. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  154. package/dist/workspace/tools/index.d.ts +4 -1
  155. package/dist/workspace/tools/index.d.ts.map +1 -1
  156. package/dist/workspace/tools/kill-process.d.ts +4 -0
  157. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  158. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  159. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  160. package/dist/workspace/tools/tools.d.ts.map +1 -1
  161. package/dist/workspace/types.d.ts +31 -0
  162. package/dist/workspace/types.d.ts.map +1 -1
  163. package/dist/workspace/utils.d.ts +11 -0
  164. package/dist/workspace/utils.d.ts.map +1 -0
  165. package/dist/workspace/workspace.d.ts +36 -0
  166. package/dist/workspace/workspace.d.ts.map +1 -1
  167. package/package.json +7 -7
  168. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  169. package/dist/chunk-5K45E5VE.js.map +0 -1
  170. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  171. package/dist/chunk-DGS2KGDI.js.map +0 -1
  172. package/dist/chunk-IHDE4CJV.js.map +0 -1
  173. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  174. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  175. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  176. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  177. package/dist/chunk-XB3DA67Q.js.map +0 -1
  178. package/dist/docs/SKILL.md +0 -301
  179. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  180. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  181. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  182. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  183. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  184. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  185. package/dist/docs/references/docs-agents-networks.md +0 -290
  186. package/dist/docs/references/docs-agents-overview.md +0 -309
  187. package/dist/docs/references/docs-agents-processors.md +0 -632
  188. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  189. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  190. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  191. package/dist/docs/references/docs-evals-overview.md +0 -146
  192. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  193. package/dist/docs/references/docs-mcp-overview.md +0 -370
  194. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  195. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  196. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  197. package/dist/docs/references/docs-memory-overview.md +0 -45
  198. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  199. package/dist/docs/references/docs-memory-storage.md +0 -261
  200. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  201. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  202. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  203. package/dist/docs/references/docs-observability-logging.md +0 -99
  204. package/dist/docs/references/docs-observability-overview.md +0 -70
  205. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  206. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  207. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  208. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  209. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  210. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  211. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  212. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  213. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  214. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  215. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  216. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  217. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  218. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  219. package/dist/docs/references/docs-rag-overview.md +0 -72
  220. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  221. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  222. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  223. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  224. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  225. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  226. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  227. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  228. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  229. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  230. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  231. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  232. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  233. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  234. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  235. package/dist/docs/references/docs-server-middleware.md +0 -228
  236. package/dist/docs/references/docs-server-request-context.md +0 -478
  237. package/dist/docs/references/docs-streaming-events.md +0 -247
  238. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  239. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  240. package/dist/docs/references/docs-voice-overview.md +0 -979
  241. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  242. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  243. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  244. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  245. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  246. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  247. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  248. package/dist/docs/references/docs-workflows-overview.md +0 -372
  249. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  250. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  251. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  252. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  253. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  254. package/dist/docs/references/docs-workspace-overview.md +0 -239
  255. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  256. package/dist/docs/references/docs-workspace-search.md +0 -219
  257. package/dist/docs/references/docs-workspace-skills.md +0 -126
  258. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  259. package/dist/docs/references/reference-agents-agent.md +0 -142
  260. package/dist/docs/references/reference-agents-generate.md +0 -174
  261. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  262. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  263. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  264. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  265. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  266. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  267. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  268. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  269. package/dist/docs/references/reference-agents-getModel.md +0 -34
  270. package/dist/docs/references/reference-agents-getTools.md +0 -29
  271. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  272. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  273. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  274. package/dist/docs/references/reference-agents-listTools.md +0 -34
  275. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  276. package/dist/docs/references/reference-agents-network.md +0 -134
  277. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  278. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  279. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  280. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  281. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  282. package/dist/docs/references/reference-auth-auth0.md +0 -73
  283. package/dist/docs/references/reference-auth-clerk.md +0 -36
  284. package/dist/docs/references/reference-auth-firebase.md +0 -80
  285. package/dist/docs/references/reference-auth-jwt.md +0 -26
  286. package/dist/docs/references/reference-auth-supabase.md +0 -33
  287. package/dist/docs/references/reference-auth-workos.md +0 -84
  288. package/dist/docs/references/reference-client-js-agents.md +0 -438
  289. package/dist/docs/references/reference-configuration.md +0 -749
  290. package/dist/docs/references/reference-core-addGateway.md +0 -42
  291. package/dist/docs/references/reference-core-getAgent.md +0 -21
  292. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  293. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  294. package/dist/docs/references/reference-core-getGateway.md +0 -38
  295. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  296. package/dist/docs/references/reference-core-getLogger.md +0 -22
  297. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  298. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  299. package/dist/docs/references/reference-core-getMemory.md +0 -50
  300. package/dist/docs/references/reference-core-getScorer.md +0 -54
  301. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  302. package/dist/docs/references/reference-core-getServer.md +0 -22
  303. package/dist/docs/references/reference-core-getStorage.md +0 -22
  304. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  305. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  306. package/dist/docs/references/reference-core-getVector.md +0 -22
  307. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  308. package/dist/docs/references/reference-core-listAgents.md +0 -21
  309. package/dist/docs/references/reference-core-listGateways.md +0 -40
  310. package/dist/docs/references/reference-core-listLogs.md +0 -38
  311. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  312. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  313. package/dist/docs/references/reference-core-listMemory.md +0 -56
  314. package/dist/docs/references/reference-core-listScorers.md +0 -29
  315. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  316. package/dist/docs/references/reference-core-listVectors.md +0 -22
  317. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  318. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  319. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  320. package/dist/docs/references/reference-core-setLogger.md +0 -26
  321. package/dist/docs/references/reference-core-setStorage.md +0 -27
  322. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  323. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  324. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  325. package/dist/docs/references/reference-datasets-create.md +0 -49
  326. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  327. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  328. package/dist/docs/references/reference-datasets-delete.md +0 -23
  329. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  331. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  332. package/dist/docs/references/reference-datasets-get.md +0 -29
  333. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  334. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  335. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  336. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  337. package/dist/docs/references/reference-datasets-list.md +0 -29
  338. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  339. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  340. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  341. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  342. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  343. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  344. package/dist/docs/references/reference-datasets-update.md +0 -46
  345. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  346. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  347. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  348. package/dist/docs/references/reference-evals-bias.md +0 -120
  349. package/dist/docs/references/reference-evals-completeness.md +0 -137
  350. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  351. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  352. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  353. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  354. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  355. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  356. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  357. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  358. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  359. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  360. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  361. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  362. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  363. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  364. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  365. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  366. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  367. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  368. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  369. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  370. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  371. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  372. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  373. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  374. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  375. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  376. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  377. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  378. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  379. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  380. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  381. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  382. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  383. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  384. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  385. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  386. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  387. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  388. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  389. package/dist/docs/references/reference-rag-database-config.md +0 -264
  390. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  391. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  392. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  393. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  394. package/dist/docs/references/reference-storage-composite.md +0 -235
  395. package/dist/docs/references/reference-storage-lance.md +0 -131
  396. package/dist/docs/references/reference-storage-libsql.md +0 -135
  397. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  398. package/dist/docs/references/reference-storage-mssql.md +0 -155
  399. package/dist/docs/references/reference-storage-overview.md +0 -121
  400. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  401. package/dist/docs/references/reference-storage-upstash.md +0 -160
  402. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  403. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  404. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  405. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  406. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  407. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  408. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  409. package/dist/docs/references/reference-templates-overview.md +0 -194
  410. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  411. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  412. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  413. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  414. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  415. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  416. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  417. package/dist/docs/references/reference-vectors-pg.md +0 -408
  418. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  419. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  420. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  421. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  422. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  423. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  424. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  425. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  426. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  427. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  428. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  429. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  430. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  431. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  432. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  433. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  434. package/dist/docs/references/reference-workflows-run.md +0 -59
  435. package/dist/docs/references/reference-workflows-step.md +0 -119
  436. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  437. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  438. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  439. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  441. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  442. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  443. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  446. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  447. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  448. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  449. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  450. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  451. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  452. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  453. package/dist/docs/references/reference.md +0 -276
@@ -1,162 +0,0 @@
1
- # Filesystem
2
-
3
- **Added in:** `@mastra/core@1.1.0`
4
-
5
- Filesystem providers give agents the ability to read, write, and manage files. When you configure a filesystem on a workspace, agents receive tools for file operations.
6
-
7
- A filesystem provider handles all file operations for a workspace:
8
-
9
- - **Read** - Read file contents
10
- - **Write** - Create and update files
11
- - **List** - Browse directories
12
- - **Delete** - Remove files and directories
13
- - **Stat** - Get file metadata
14
-
15
- ## Supported providers
16
-
17
- Available providers:
18
-
19
- - [`LocalFilesystem`](https://mastra.ai/reference/workspace/local-filesystem) - Stores files in a directory on disk
20
- - [`S3Filesystem`](https://mastra.ai/reference/workspace/s3-filesystem) - Stores files in Amazon S3 or S3-compatible storage (R2, MinIO)
21
- - [`GCSFilesystem`](https://mastra.ai/reference/workspace/gcs-filesystem) - Stores files in Google Cloud Storage
22
-
23
- > **Tip:** `LocalFilesystem` is the simplest way to get started as it requires no external services. For cloud storage, use `S3Filesystem` or `GCSFilesystem`.
24
-
25
- ## Basic usage
26
-
27
- Create a workspace with a filesystem and assign it to an agent. The agent can then read, write, and manage files as part of its tasks:
28
-
29
- ```typescript
30
- import { Agent } from '@mastra/core/agent';
31
- import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
32
-
33
- const workspace = new Workspace({
34
- filesystem: new LocalFilesystem({
35
- basePath: './workspace',
36
- }),
37
- });
38
-
39
- const agent = new Agent({
40
- id: 'file-agent',
41
- model: 'openai/gpt-4o',
42
- instructions: 'You are a helpful file management assistant.',
43
- workspace,
44
- });
45
-
46
- // The agent now has filesystem tools available
47
- const response = await agent.generate('List all files in the workspace');
48
- ```
49
-
50
- ## Containment
51
-
52
- By default, `LocalFilesystem` runs in **contained mode** — all file operations are restricted to stay within `basePath`. This prevents path traversal attacks and symlink escapes.
53
-
54
- In contained mode, absolute paths that fall within `basePath` are used as-is, while other absolute paths are treated as virtual paths relative to `basePath` (e.g. `/file.txt` resolves to `basePath/file.txt`). Any resolved path that escapes `basePath` throws a `PermissionError`.
55
-
56
- If your agent needs to access specific paths outside `basePath`, use `allowedPaths` to grant access without disabling containment entirely:
57
-
58
- ```typescript
59
- const workspace = new Workspace({
60
- filesystem: new LocalFilesystem({
61
- basePath: './workspace',
62
- allowedPaths: ['/home/user/.config', '/home/user/documents'],
63
- }),
64
- });
65
- ```
66
-
67
- Allowed paths can be updated at runtime using the `setAllowedPaths()` method:
68
-
69
- ```typescript
70
- // Add a path dynamically
71
- workspace.filesystem.setAllowedPaths(prev => [...prev, '/home/user/documents']);
72
- ```
73
-
74
- This is the recommended approach for least-privilege access — the agent can only reach the specific directories you allow.
75
-
76
- If your agent needs unrestricted access to the entire filesystem, disable containment:
77
-
78
- ```typescript
79
- const workspace = new Workspace({
80
- filesystem: new LocalFilesystem({
81
- basePath: './workspace',
82
- contained: false,
83
- }),
84
- });
85
- ```
86
-
87
- When `contained` is `false`, absolute paths are treated as real filesystem paths with no restriction.
88
-
89
- ## Read-only mode
90
-
91
- To prevent agents from modifying files, enable read-only mode:
92
-
93
- ```typescript
94
- const workspace = new Workspace({
95
- filesystem: new LocalFilesystem({
96
- basePath: './workspace',
97
- readOnly: true,
98
- }),
99
- });
100
- ```
101
-
102
- When read-only, write tools (`write_file`, `edit_file`, `delete`, `mkdir`) are not added to the agent's toolset. The agent can still read and list files.
103
-
104
- ## Mounts and CompositeFilesystem
105
-
106
- When you use the `mounts` option on a workspace, Mastra creates a `CompositeFilesystem` that routes file operations to the correct provider based on path prefix.
107
-
108
- ```typescript
109
- import { Workspace } from '@mastra/core/workspace';
110
- import { S3Filesystem } from '@mastra/s3';
111
- import { GCSFilesystem } from '@mastra/gcs';
112
- import { E2BSandbox } from '@mastra/e2b';
113
-
114
- const workspace = new Workspace({
115
- mounts: {
116
- '/data': new S3Filesystem({
117
- bucket: 'my-bucket',
118
- region: 'us-east-1',
119
- accessKeyId: process.env.AWS_ACCESS_KEY_ID,
120
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
121
- }),
122
- '/skills': new GCSFilesystem({
123
- bucket: 'agent-skills',
124
- }),
125
- },
126
- sandbox: new E2BSandbox({ id: 'dev-sandbox' }),
127
- });
128
- ```
129
-
130
- With this configuration:
131
-
132
- - `read_file('/data/input.csv')` reads from the S3 bucket
133
- - `write_file('/skills/guide.md', content)` writes to the GCS bucket
134
- - `list_directory('/')` returns virtual entries for `/data` and `/skills`
135
- - Commands in the sandbox can access files at `/data` and `/skills` via FUSE mounts
136
-
137
- ### Path routing
138
-
139
- All file paths must start with a mount prefix. Operations on paths that don't match any mount will fail. Listing the root directory (`/`) returns virtual directory entries for each mount point.
140
-
141
- Mount paths cannot be nested — for example, you cannot mount at both `/data` and `/data/sub`.
142
-
143
- ### `filesystem` vs `mounts`
144
-
145
- `filesystem` and `mounts` are mutually exclusive options on a workspace:
146
-
147
- - Use **`filesystem`** when you have a single storage provider and don't need to mount it into a sandbox. The agent gets file tools that operate directly against the provider.
148
- - Use **`mounts`** when you need cloud storage accessible inside a sandbox, or when you want to combine multiple providers. The workspace creates a CompositeFilesystem for file tools and FUSE-mounts the storage into the sandbox.
149
-
150
- For local development, you typically don't need `mounts` — a `LocalFilesystem` and `LocalSandbox` pointed at the same directory gives you both file tools and command execution on the same files. See [configuration patterns](https://mastra.ai/docs/workspace/overview) for more detail.
151
-
152
- ## Agent tools
153
-
154
- When you configure a filesystem on a workspace, agents receive tools for reading, writing, listing, and deleting files. See [workspace class reference](https://mastra.ai/reference/workspace/workspace-class) for details.
155
-
156
- ## Related
157
-
158
- - [LocalFilesystem reference](https://mastra.ai/reference/workspace/local-filesystem)
159
- - [S3Filesystem reference](https://mastra.ai/reference/workspace/s3-filesystem)
160
- - [GCSFilesystem reference](https://mastra.ai/reference/workspace/gcs-filesystem)
161
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
162
- - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
@@ -1,239 +0,0 @@
1
- # Workspaces
2
-
3
- **Added in:** `@mastra/core@1.1.0`
4
-
5
- A Mastra workspace gives agents a persistent environment for storing files and executing commands. Agents use workspace tools to read and write files, run shell commands, and search indexed content.
6
-
7
- A workspace supports the following features:
8
-
9
- - **[Filesystem](https://mastra.ai/docs/workspace/filesystem)**: File storage (read, write, list, delete)
10
- - **[Sandbox](https://mastra.ai/docs/workspace/sandbox)**: Command execution (shell commands)
11
- - **[Search](https://mastra.ai/docs/workspace/search)**: BM25, vector, or hybrid search over indexed content
12
- - **[Skills](https://mastra.ai/docs/workspace/skills)**: Reusable instructions for agents
13
-
14
- ## How it works
15
-
16
- When you assign a workspace to an agent, Mastra includes the corresponding tools in the agent's toolset. The agent can then use these tools to interact with files and execute commands.
17
-
18
- You can create a workspace with any combination of the supported features. The agent receives only the tools relevant to what's configured.
19
-
20
- ## Usage
21
-
22
- ### Creating a workspace
23
-
24
- Create a workspace by instantiating the `Workspace` class with your desired features:
25
-
26
- ```typescript
27
- import { Workspace, LocalFilesystem, LocalSandbox } from '@mastra/core/workspace';
28
-
29
- const workspace = new Workspace({
30
- filesystem: new LocalFilesystem({
31
- basePath: './workspace',
32
- }),
33
- sandbox: new LocalSandbox({
34
- workingDirectory: './workspace',
35
- }),
36
- skills: ['/skills'],
37
- });
38
- ```
39
-
40
- The `skills` array specifies paths to directories containing skill definitions, see [Skills](https://mastra.ai/docs/workspace/skills).
41
-
42
- ### Global workspace
43
-
44
- Set a workspace on the Mastra instance. All agents inherit this workspace unless they define their own:
45
-
46
- ```typescript
47
- import { Mastra } from '@mastra/core';
48
- import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
49
-
50
- const workspace = new Workspace({
51
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
52
- });
53
-
54
- const mastra = new Mastra({
55
- workspace,
56
- });
57
- ```
58
-
59
- ### Agent-scoped workspace
60
-
61
- Assign a workspace directly to an agent to override the global workspace:
62
-
63
- ```typescript
64
- import { Agent } from '@mastra/core/agent';
65
- import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
66
-
67
- const workspace = new Workspace({
68
- filesystem: new LocalFilesystem({ basePath: './agent-workspace' }),
69
- });
70
-
71
- export const myAgent = new Agent({
72
- id: 'my-agent',
73
- model: 'openai/gpt-4o',
74
- workspace,
75
- });
76
- ```
77
-
78
- ## Configuration patterns
79
-
80
- Workspaces support several configuration patterns depending on what capabilities your agent needs. The two main building blocks are `filesystem` (file tools) and `sandbox` (command execution), with `mounts` as the way to bridge cloud storage into sandboxes.
81
-
82
- ### Filesystem + sandbox (local)
83
-
84
- For local development, pair a `LocalFilesystem` and `LocalSandbox` pointed at the same directory. Since both operate on the local machine, files written through the filesystem are immediately available to commands in the sandbox:
85
-
86
- ```typescript
87
- const workspace = new Workspace({
88
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
89
- sandbox: new LocalSandbox({ workingDirectory: './workspace' }),
90
- });
91
- ```
92
-
93
- The agent receives both file tools and `execute_command`. This is the simplest full-featured setup.
94
-
95
- ### Mounts + sandbox (cloud storage)
96
-
97
- When you need cloud storage accessible inside a sandbox, use `mounts`. This FUSE-mounts the cloud filesystem into the sandbox so commands can read and write files at the mount path:
98
-
99
- ```typescript
100
- const workspace = new Workspace({
101
- mounts: {
102
- '/data': new S3Filesystem({
103
- bucket: 'my-bucket',
104
- region: 'us-east-1',
105
- accessKeyId: process.env.AWS_ACCESS_KEY_ID,
106
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
107
- }),
108
- '/skills': new GCSFilesystem({
109
- bucket: 'agent-skills',
110
- }),
111
- },
112
- sandbox: new E2BSandbox({ id: 'dev-sandbox' }),
113
- });
114
- ```
115
-
116
- Under the hood, `mounts` creates a [CompositeFilesystem](https://mastra.ai/docs/workspace/filesystem) that routes file tool operations to the correct provider based on path prefix. Commands in the sandbox access the mounted paths directly (e.g., `ls /data`).
117
-
118
- You can mount multiple providers at different paths. Each mount path must be unique and non-overlapping.
119
-
120
- > **Note:** `filesystem` and `mounts` are mutually exclusive — you cannot use both in the same workspace. Use `filesystem` for a single provider without a sandbox, or `mounts` when you need to combine cloud storage with a sandbox.
121
-
122
- ### Filesystem only
123
-
124
- Use a single `filesystem` when agents only need to read and write files. No command execution is available.
125
-
126
- ```typescript
127
- const workspace = new Workspace({
128
- filesystem: new S3Filesystem({
129
- bucket: 'my-bucket',
130
- region: 'us-east-1',
131
- accessKeyId: process.env.AWS_ACCESS_KEY_ID,
132
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
133
- }),
134
- });
135
- ```
136
-
137
- The agent receives file tools (`read_file`, `write_file`, `list_directory`, etc.) that operate directly against the storage provider.
138
-
139
- ### Sandbox only
140
-
141
- Use a single `sandbox` when agents only need to execute commands. No file tools are added.
142
-
143
- ```typescript
144
- const workspace = new Workspace({
145
- sandbox: new E2BSandbox({ id: 'dev-sandbox' }),
146
- });
147
- ```
148
-
149
- The agent receives the `execute_command` tool.
150
-
151
- ### Which pattern should I use?
152
-
153
- | Scenario | Pattern |
154
- | ----------------------------------------------------- | ----------------------------------------------------- |
155
- | Local development with files and commands | `filesystem` + `sandbox` (both local, same directory) |
156
- | Cloud storage accessible inside a cloud sandbox | `mounts` + `sandbox` |
157
- | Multiple cloud providers in one sandbox | `mounts` + `sandbox` (one mount per provider) |
158
- | Agent reads/writes files, no command execution needed | `filesystem` only |
159
- | Agent runs commands, no file tools needed | `sandbox` only |
160
-
161
- ## Tool configuration
162
-
163
- Configure tool behavior through the `tools` option on the workspace. This controls which tools are enabled and how they behave.
164
-
165
- ```typescript
166
- import { Workspace, LocalFilesystem, LocalSandbox, WORKSPACE_TOOLS } from '@mastra/core/workspace';
167
-
168
- const workspace = new Workspace({
169
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
170
- sandbox: new LocalSandbox({ workingDirectory: './workspace' }),
171
- tools: {
172
- // Global defaults
173
- enabled: true,
174
- requireApproval: false,
175
-
176
- // Per-tool overrides
177
- [WORKSPACE_TOOLS.FILESYSTEM.WRITE_FILE]: {
178
- requireApproval: true,
179
- requireReadBeforeWrite: true,
180
- },
181
- [WORKSPACE_TOOLS.FILESYSTEM.DELETE]: {
182
- enabled: false,
183
- },
184
- [WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND]: {
185
- requireApproval: true,
186
- },
187
- },
188
- });
189
- ```
190
-
191
- ### Tool options
192
-
193
- | Option | Type | Description |
194
- | ------------------------ | --------- | --------------------------------------------------------------------------- |
195
- | `enabled` | `boolean` | Whether the tool is available (default: `true`) |
196
- | `requireApproval` | `boolean` | Whether the tool requires user approval before execution (default: `false`) |
197
- | `requireReadBeforeWrite` | `boolean` | For write tools: require reading the file first (default: `false`) |
198
-
199
- ### Read-before-write
200
-
201
- When `requireReadBeforeWrite` is enabled on write tools, agents must read a file before writing to it. This prevents overwriting files the agent hasn't seen:
202
-
203
- - **New files**: Can be written without reading (they don't exist yet)
204
- - **Existing files**: Must be read first
205
- - **Externally modified files**: If a file changed since the agent read it, the write fails
206
-
207
- ## Initialization
208
-
209
- Calling `init()` is optional in most cases—some providers initialize on first operation. Call `init()` manually when using a workspace outside of Mastra (standalone scripts, tests) or when you need to pre-provision resources before the first agent interaction.
210
-
211
- ```typescript
212
- import { Workspace, LocalFilesystem, LocalSandbox } from '@mastra/core/workspace';
213
-
214
- const workspace = new Workspace({
215
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
216
- sandbox: new LocalSandbox({ workingDirectory: './workspace' }),
217
- });
218
-
219
- // Optional: pre-create directories and sandbox before first use
220
- await workspace.init();
221
- ```
222
-
223
- ### What init() does
224
-
225
- Initialization runs setup logic for each configured provider:
226
-
227
- - `LocalFilesystem`: Creates the base directory if it doesn't exist
228
- - `LocalSandbox`: Creates the working directory
229
- - `Search` (if configured): Indexes files from `autoIndexPaths`, see [Search and Indexing](https://mastra.ai/docs/workspace/search)
230
-
231
- External providers may perform additional setup like establishing connections or authenticating.
232
-
233
- ## Related
234
-
235
- - [Filesystem](https://mastra.ai/docs/workspace/filesystem)
236
- - [Sandbox](https://mastra.ai/docs/workspace/sandbox)
237
- - [Skills](https://mastra.ai/docs/workspace/skills)
238
- - [Search and indexing](https://mastra.ai/docs/workspace/search)
239
- - [Workspace class reference](https://mastra.ai/reference/workspace/workspace-class)
@@ -1,63 +0,0 @@
1
- # Sandbox
2
-
3
- **Added in:** `@mastra/core@1.1.0`
4
-
5
- Sandbox providers give agents the ability to execute shell commands. When you configure a sandbox on a workspace, agents can run commands as part of their tasks.
6
-
7
- A sandbox provider executes commands in a controlled environment:
8
-
9
- - **Command execution** - Run shell commands with arguments
10
- - **Working directory** - Commands run from a specific directory
11
- - **Environment variables** - Control what variables are available
12
- - **Timeouts** - Prevent long-running commands from hanging
13
- - **Isolation** - Optional OS-level sandboxing for security
14
-
15
- When you assign a workspace with a sandbox to an agent, Mastra automatically includes the `execute_command` tool in the agent's toolset.
16
-
17
- ## Supported providers
18
-
19
- Available providers:
20
-
21
- - [`LocalSandbox`](https://mastra.ai/reference/workspace/local-sandbox) - Executes commands on the local machine
22
- - [`E2BSandbox`](https://mastra.ai/reference/workspace/e2b-sandbox) - Executes commands in isolated E2B cloud sandboxes
23
-
24
- ## Basic usage
25
-
26
- Create a workspace with a sandbox and assign it to an agent. The agent can then execute shell commands:
27
-
28
- ```typescript
29
- import { Agent } from '@mastra/core/agent';
30
- import { Workspace, LocalFilesystem, LocalSandbox } from '@mastra/core/workspace';
31
-
32
- const workspace = new Workspace({
33
- filesystem: new LocalFilesystem({
34
- basePath: './workspace',
35
- }),
36
- sandbox: new LocalSandbox({
37
- workingDirectory: './workspace',
38
- }),
39
- });
40
-
41
- const agent = new Agent({
42
- id: 'dev-agent',
43
- model: 'openai/gpt-4o',
44
- instructions: 'You are a helpful development assistant.',
45
- workspace,
46
- });
47
-
48
- // The agent now has the execute_command tool available
49
- const response = await agent.generate('Run `ls -la` in the workspace directory');
50
- ```
51
-
52
- See [`LocalSandbox` reference](https://mastra.ai/reference/workspace/local-sandbox) for configuration options including environment isolation and native OS sandboxing.
53
-
54
- ## Agent tools
55
-
56
- When you configure a sandbox on a workspace, agents receive the `execute_command` tool for running shell commands. See [workspace class reference](https://mastra.ai/reference/workspace/workspace-class) for details.
57
-
58
- ## Related
59
-
60
- - [`LocalSandbox` reference](https://mastra.ai/reference/workspace/local-sandbox)
61
- - [`E2BSandbox` reference](https://mastra.ai/reference/workspace/e2b-sandbox)
62
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
63
- - [Filesystem](https://mastra.ai/docs/workspace/filesystem)
@@ -1,219 +0,0 @@
1
- # Search and Indexing
2
-
3
- **Added in:** `@mastra/core@1.1.0`
4
-
5
- Search lets agents find relevant content in indexed workspace files. When an agent needs to answer a question or find information, it can search the indexed content instead of reading every file.
6
-
7
- ## How it works
8
-
9
- Workspace search has two phases: indexing and querying.
10
-
11
- ### Indexing
12
-
13
- Content must be indexed before it can be searched. When you index a document:
14
-
15
- - The content is tokenized (split into searchable terms)
16
- - For BM25: term frequencies and document statistics are computed
17
- - For vector: the content is embedded using your embedder function and stored in the vector store
18
-
19
- Each indexed document has:
20
-
21
- - **id** - A unique identifier (typically the file path)
22
- - **content** - The text content
23
- - **metadata** - Optional key-value data stored with the document
24
-
25
- ### Querying
26
-
27
- When you search:
28
-
29
- 1. The query is processed using the same tokenization/embedding as indexing
30
- 2. Documents are scored based on relevance to the query
31
- 3. Results are ranked by score and returned with the matching content
32
-
33
- Workspaces support three search modes: BM25 keyword search, vector semantic search, and hybrid search that combines both.
34
-
35
- ## BM25 keyword search
36
-
37
- BM25 scores documents based on term frequency and document length. It works well for exact matches and specific terminology.
38
-
39
- ```typescript
40
- import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
41
-
42
- const workspace = new Workspace({
43
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
44
- bm25: true,
45
- });
46
- ```
47
-
48
- For custom BM25 parameters (`k1` is term frequency saturation, `b` is document length normalization):
49
-
50
- ```typescript
51
- const workspace = new Workspace({
52
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
53
- bm25: {
54
- k1: 1.5,
55
- b: 0.75,
56
- },
57
- });
58
- ```
59
-
60
- ## Vector search
61
-
62
- Vector search uses embeddings to find semantically similar content. It requires a vector store and embedder function.
63
-
64
- ```typescript
65
- import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
66
- import { PineconeVector } from '@mastra/pinecone';
67
- import { embed } from 'ai';
68
- import { openai } from '@ai-sdk/openai';
69
-
70
- const workspace = new Workspace({
71
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
72
- vectorStore: new PineconeVector({
73
- apiKey: process.env.PINECONE_API_KEY,
74
- index: 'workspace-index',
75
- }),
76
- embedder: async (text: string) => {
77
- const { embedding } = await embed({
78
- model: openai.embedding('text-embedding-3-small'),
79
- value: text,
80
- });
81
- return embedding;
82
- },
83
- });
84
- ```
85
-
86
- ## Hybrid search
87
-
88
- Configure both BM25 and vector search to enable hybrid mode, which combines keyword matching with semantic understanding.
89
-
90
- ```typescript
91
- const workspace = new Workspace({
92
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
93
- bm25: true,
94
- vectorStore: pineconeVector,
95
- embedder: embedderFn,
96
- });
97
- ```
98
-
99
- ## Indexing content
100
-
101
- ### Manual indexing
102
-
103
- Use `workspace.index()` to add content to the search index programmatically. The file paths become document IDs. You can also pass metadata for each document.
104
-
105
- ```typescript
106
- // Basic indexing
107
- await workspace.index('/docs/guide.md', 'Content of the guide...');
108
-
109
- // Index with metadata for filtering or context
110
- await workspace.index('/docs/api.md', apiDocContent, {
111
- metadata: {
112
- category: 'api',
113
- version: '2.0',
114
- },
115
- });
116
- ```
117
-
118
- Manual indexing is useful when:
119
-
120
- - You're indexing content that doesn't come from files (e.g., database records, API responses)
121
- - You want to pre-process or chunk content before indexing
122
- - You need to add custom metadata to documents
123
-
124
- ### Auto-indexing
125
-
126
- Configure `autoIndexPaths` to automatically index files when the workspace initializes. Each path specifies a directory to index recursively.
127
-
128
- ```typescript
129
- const workspace = new Workspace({
130
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
131
- bm25: true,
132
- autoIndexPaths: ['/docs', '/support/faq'],
133
- });
134
-
135
- await workspace.init();
136
- ```
137
-
138
- When `init()` is called, all files in the specified directories are read and indexed for search. The file path becomes the document ID.
139
-
140
- > **Note:** Paths must be directories, not glob patterns. Use `/docs` to index all files in the docs directory recursively. Glob patterns like `**/*.md` are not supported.
141
-
142
- ## Searching
143
-
144
- Use `workspace.search()` to find relevant content. Results are ranked by relevance score.
145
-
146
- ```typescript
147
- const results = await workspace.search('password reset');
148
-
149
- for (const result of results) {
150
- console.log(`${result.id}: ${result.score}`);
151
- console.log(result.content);
152
- }
153
- ```
154
-
155
- ### Search options
156
-
157
- You can customize the search behavior with options:
158
-
159
- ```typescript
160
- const results = await workspace.search('authentication flow', {
161
- topK: 10,
162
- mode: 'hybrid',
163
- minScore: 0.5,
164
- vectorWeight: 0.5,
165
- });
166
- ```
167
-
168
- | Option | Description |
169
- | -------------- | ------------------------------------------------------------------------------------------------------------- |
170
- | `topK` | Maximum number of results to return. Default: 5 |
171
- | `mode` | Search mode: `'bm25'`, `'vector'`, or `'hybrid'`. Defaults to the best available mode based on configuration. |
172
- | `minScore` | Filter out results below this score threshold (0-1). |
173
- | `vectorWeight` | In hybrid mode, how much to weight vector scores vs BM25. 0 = all BM25, 1 = all vector, 0.5 = equal. |
174
-
175
- ### Search results
176
-
177
- Each result contains:
178
-
179
- ```typescript
180
- interface SearchResult {
181
- id: string; // Document ID (typically file path)
182
- content: string; // The matching content
183
- score: number; // Relevance score (0-1)
184
- lineRange?: { // Lines where the match was found
185
- start: number;
186
- end: number;
187
- };
188
- metadata?: Record<string, unknown>; // Metadata stored with the document
189
- scoreDetails?: { // Score breakdown (hybrid mode only)
190
- vector?: number;
191
- bm25?: number;
192
- };
193
- }
194
- ```
195
-
196
- **Understanding scores:**
197
-
198
- - Scores range from 0 to 1, where 1 is a perfect match
199
- - BM25 scores are normalized based on the best match in the result set
200
- - Vector scores represent cosine similarity between query and document embeddings
201
- - In hybrid mode, scores are combined using the `vectorWeight` parameter
202
-
203
- ### When to use each mode
204
-
205
- | Mode | Best for | Example queries |
206
- | -------- | ------------------------------------ | ------------------------------------------------------------------------ |
207
- | `bm25` | Exact terms, technical queries, code | "useState hook", "404 error", "config.yaml" |
208
- | `vector` | Conceptual queries, natural language | "how to handle user authentication", "best practices for error handling" |
209
- | `hybrid` | General search, unknown query types | Most agent use cases |
210
-
211
- ## Agent tools
212
-
213
- When you configure search on a workspace, agents receive tools for searching and indexing content. See [workspace class reference](https://mastra.ai/reference/workspace/workspace-class) for details.
214
-
215
- ## Related
216
-
217
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
218
- - [RAG overview](https://mastra.ai/docs/rag/overview)
219
- - [Workspace class reference](https://mastra.ai/reference/workspace/workspace-class)