@mastra/core 1.6.0 → 1.7.0-alpha.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 (452) hide show
  1. package/CHANGELOG.md +117 -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-IHDE4CJV.js → chunk-6NRSTTAS.js} +80 -11
  7. package/dist/chunk-6NRSTTAS.js.map +1 -0
  8. package/dist/{chunk-4WG5K4CK.js → chunk-6RTFK6XW.js} +7 -7
  9. package/dist/{chunk-4WG5K4CK.js.map → chunk-6RTFK6XW.js.map} +1 -1
  10. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  11. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  12. package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
  13. package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
  14. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  15. package/dist/chunk-GPJGPARM.js.map +1 -0
  16. package/dist/{chunk-VJWRJWSC.cjs → chunk-HYU6AULN.cjs} +85 -15
  17. package/dist/chunk-HYU6AULN.cjs.map +1 -0
  18. package/dist/{chunk-DGS2KGDI.js → chunk-HZ33YLNC.js} +6 -5
  19. package/dist/chunk-HZ33YLNC.js.map +1 -0
  20. package/dist/{chunk-3U3XFMGJ.cjs → chunk-N435UBEN.cjs} +13 -8
  21. package/dist/chunk-N435UBEN.cjs.map +1 -0
  22. package/dist/{chunk-5VQPSWPG.cjs → chunk-NAUBU4SI.cjs} +48 -48
  23. package/dist/{chunk-5VQPSWPG.cjs.map → chunk-NAUBU4SI.cjs.map} +1 -1
  24. package/dist/{chunk-MWGGSA5Q.js → chunk-NHYSIYTD.js} +10 -5
  25. package/dist/chunk-NHYSIYTD.js.map +1 -0
  26. package/dist/{chunk-RZNHRIM7.cjs → chunk-OL4P6TXG.cjs} +5 -5
  27. package/dist/{chunk-RZNHRIM7.cjs.map → chunk-OL4P6TXG.cjs.map} +1 -1
  28. package/dist/{chunk-XWZAKKFT.cjs → chunk-S3JIVN4S.cjs} +14 -14
  29. package/dist/{chunk-XWZAKKFT.cjs.map → chunk-S3JIVN4S.cjs.map} +1 -1
  30. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  31. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  32. package/dist/{chunk-LNKS4TJ6.cjs → chunk-T4KRCLC3.cjs} +8 -7
  33. package/dist/chunk-T4KRCLC3.cjs.map +1 -0
  34. package/dist/{chunk-RHKNKJNM.js → chunk-WBVBORCZ.js} +4 -4
  35. package/dist/{chunk-RHKNKJNM.js.map → chunk-WBVBORCZ.js.map} +1 -1
  36. package/dist/{chunk-YM6245EM.js → chunk-WR5RUKVK.js} +3 -3
  37. package/dist/{chunk-YM6245EM.js.map → chunk-WR5RUKVK.js.map} +1 -1
  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/index.cjs +8 -8
  92. package/dist/stream/index.js +1 -1
  93. package/dist/tool-loop-agent/index.cjs +4 -4
  94. package/dist/tool-loop-agent/index.js +1 -1
  95. package/dist/vector/index.cjs +7 -7
  96. package/dist/vector/index.js +1 -1
  97. package/dist/workflows/evented/index.cjs +10 -10
  98. package/dist/workflows/evented/index.js +1 -1
  99. package/dist/workflows/index.cjs +25 -25
  100. package/dist/workflows/index.js +1 -1
  101. package/dist/workspace/constants/index.d.ts +2 -0
  102. package/dist/workspace/constants/index.d.ts.map +1 -1
  103. package/dist/workspace/errors.d.ts +1 -1
  104. package/dist/workspace/errors.d.ts.map +1 -1
  105. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  106. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  107. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  108. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  109. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  110. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  111. package/dist/workspace/filesystem/index.d.ts +1 -0
  112. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  113. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  114. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  115. package/dist/workspace/index.cjs +72 -64
  116. package/dist/workspace/index.d.ts +3 -2
  117. package/dist/workspace/index.d.ts.map +1 -1
  118. package/dist/workspace/index.js +1 -1
  119. package/dist/workspace/lifecycle.d.ts +1 -9
  120. package/dist/workspace/lifecycle.d.ts.map +1 -1
  121. package/dist/workspace/sandbox/index.d.ts +2 -0
  122. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  123. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  124. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  125. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  126. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  127. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  128. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  129. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  130. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  131. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  132. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  133. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  134. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  135. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  136. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  137. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  138. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  139. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  140. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  141. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  142. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  143. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  144. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  145. package/dist/workspace/sandbox/types.d.ts +9 -2
  146. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  147. package/dist/workspace/sandbox/utils.d.ts +7 -0
  148. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  149. package/dist/workspace/tools/execute-command.d.ts +53 -2
  150. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  151. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  152. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  153. package/dist/workspace/tools/index.d.ts +4 -1
  154. package/dist/workspace/tools/index.d.ts.map +1 -1
  155. package/dist/workspace/tools/kill-process.d.ts +4 -0
  156. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  157. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  158. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  159. package/dist/workspace/tools/tools.d.ts.map +1 -1
  160. package/dist/workspace/types.d.ts +31 -0
  161. package/dist/workspace/types.d.ts.map +1 -1
  162. package/dist/workspace/utils.d.ts +11 -0
  163. package/dist/workspace/utils.d.ts.map +1 -0
  164. package/dist/workspace/workspace.d.ts +36 -0
  165. package/dist/workspace/workspace.d.ts.map +1 -1
  166. package/package.json +2 -2
  167. package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
  168. package/dist/chunk-5K45E5VE.js.map +0 -1
  169. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  170. package/dist/chunk-DGS2KGDI.js.map +0 -1
  171. package/dist/chunk-IHDE4CJV.js.map +0 -1
  172. package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
  173. package/dist/chunk-MWGGSA5Q.js.map +0 -1
  174. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  175. package/dist/chunk-VJWRJWSC.cjs.map +0 -1
  176. package/dist/chunk-XB3DA67Q.js.map +0 -1
  177. package/dist/docs/SKILL.md +0 -301
  178. package/dist/docs/assets/SOURCE_MAP.json +0 -1413
  179. package/dist/docs/references/docs-agents-adding-voice.md +0 -353
  180. package/dist/docs/references/docs-agents-agent-approval.md +0 -377
  181. package/dist/docs/references/docs-agents-agent-memory.md +0 -212
  182. package/dist/docs/references/docs-agents-guardrails.md +0 -382
  183. package/dist/docs/references/docs-agents-network-approval.md +0 -275
  184. package/dist/docs/references/docs-agents-networks.md +0 -290
  185. package/dist/docs/references/docs-agents-overview.md +0 -309
  186. package/dist/docs/references/docs-agents-processors.md +0 -632
  187. package/dist/docs/references/docs-agents-structured-output.md +0 -271
  188. package/dist/docs/references/docs-agents-using-tools.md +0 -214
  189. package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
  190. package/dist/docs/references/docs-evals-overview.md +0 -146
  191. package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
  192. package/dist/docs/references/docs-mcp-overview.md +0 -370
  193. package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
  194. package/dist/docs/references/docs-memory-memory-processors.md +0 -316
  195. package/dist/docs/references/docs-memory-observational-memory.md +0 -246
  196. package/dist/docs/references/docs-memory-overview.md +0 -45
  197. package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
  198. package/dist/docs/references/docs-memory-storage.md +0 -261
  199. package/dist/docs/references/docs-memory-working-memory.md +0 -400
  200. package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
  201. package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
  202. package/dist/docs/references/docs-observability-logging.md +0 -99
  203. package/dist/docs/references/docs-observability-overview.md +0 -70
  204. package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
  205. package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
  206. package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
  207. package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
  208. package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
  209. package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
  210. package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
  211. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
  212. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
  213. package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
  214. package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
  215. package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
  216. package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
  217. package/dist/docs/references/docs-rag-graph-rag.md +0 -215
  218. package/dist/docs/references/docs-rag-overview.md +0 -72
  219. package/dist/docs/references/docs-rag-retrieval.md +0 -521
  220. package/dist/docs/references/docs-rag-vector-databases.md +0 -648
  221. package/dist/docs/references/docs-server-auth-auth0.md +0 -222
  222. package/dist/docs/references/docs-server-auth-clerk.md +0 -132
  223. package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
  224. package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
  225. package/dist/docs/references/docs-server-auth-firebase.md +0 -272
  226. package/dist/docs/references/docs-server-auth-jwt.md +0 -110
  227. package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
  228. package/dist/docs/references/docs-server-auth-supabase.md +0 -117
  229. package/dist/docs/references/docs-server-auth-workos.md +0 -190
  230. package/dist/docs/references/docs-server-custom-adapters.md +0 -374
  231. package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
  232. package/dist/docs/references/docs-server-mastra-client.md +0 -243
  233. package/dist/docs/references/docs-server-mastra-server.md +0 -71
  234. package/dist/docs/references/docs-server-middleware.md +0 -228
  235. package/dist/docs/references/docs-server-request-context.md +0 -478
  236. package/dist/docs/references/docs-streaming-events.md +0 -247
  237. package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
  238. package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
  239. package/dist/docs/references/docs-voice-overview.md +0 -979
  240. package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
  241. package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
  242. package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
  243. package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
  244. package/dist/docs/references/docs-workflows-control-flow.md +0 -823
  245. package/dist/docs/references/docs-workflows-error-handling.md +0 -360
  246. package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
  247. package/dist/docs/references/docs-workflows-overview.md +0 -372
  248. package/dist/docs/references/docs-workflows-snapshots.md +0 -238
  249. package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
  250. package/dist/docs/references/docs-workflows-time-travel.md +0 -309
  251. package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
  252. package/dist/docs/references/docs-workspace-filesystem.md +0 -162
  253. package/dist/docs/references/docs-workspace-overview.md +0 -239
  254. package/dist/docs/references/docs-workspace-sandbox.md +0 -63
  255. package/dist/docs/references/docs-workspace-search.md +0 -219
  256. package/dist/docs/references/docs-workspace-skills.md +0 -126
  257. package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
  258. package/dist/docs/references/reference-agents-agent.md +0 -142
  259. package/dist/docs/references/reference-agents-generate.md +0 -174
  260. package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
  261. package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
  262. package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
  263. package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
  264. package/dist/docs/references/reference-agents-getDescription.md +0 -21
  265. package/dist/docs/references/reference-agents-getInstructions.md +0 -34
  266. package/dist/docs/references/reference-agents-getLLM.md +0 -37
  267. package/dist/docs/references/reference-agents-getMemory.md +0 -34
  268. package/dist/docs/references/reference-agents-getModel.md +0 -34
  269. package/dist/docs/references/reference-agents-getTools.md +0 -29
  270. package/dist/docs/references/reference-agents-getVoice.md +0 -34
  271. package/dist/docs/references/reference-agents-listAgents.md +0 -35
  272. package/dist/docs/references/reference-agents-listScorers.md +0 -34
  273. package/dist/docs/references/reference-agents-listTools.md +0 -34
  274. package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
  275. package/dist/docs/references/reference-agents-network.md +0 -134
  276. package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
  277. package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
  278. package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
  279. package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
  280. package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
  281. package/dist/docs/references/reference-auth-auth0.md +0 -73
  282. package/dist/docs/references/reference-auth-clerk.md +0 -36
  283. package/dist/docs/references/reference-auth-firebase.md +0 -80
  284. package/dist/docs/references/reference-auth-jwt.md +0 -26
  285. package/dist/docs/references/reference-auth-supabase.md +0 -33
  286. package/dist/docs/references/reference-auth-workos.md +0 -84
  287. package/dist/docs/references/reference-client-js-agents.md +0 -438
  288. package/dist/docs/references/reference-configuration.md +0 -749
  289. package/dist/docs/references/reference-core-addGateway.md +0 -42
  290. package/dist/docs/references/reference-core-getAgent.md +0 -21
  291. package/dist/docs/references/reference-core-getAgentById.md +0 -21
  292. package/dist/docs/references/reference-core-getDeployer.md +0 -22
  293. package/dist/docs/references/reference-core-getGateway.md +0 -38
  294. package/dist/docs/references/reference-core-getGatewayById.md +0 -41
  295. package/dist/docs/references/reference-core-getLogger.md +0 -22
  296. package/dist/docs/references/reference-core-getMCPServer.md +0 -45
  297. package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
  298. package/dist/docs/references/reference-core-getMemory.md +0 -50
  299. package/dist/docs/references/reference-core-getScorer.md +0 -54
  300. package/dist/docs/references/reference-core-getScorerById.md +0 -54
  301. package/dist/docs/references/reference-core-getServer.md +0 -22
  302. package/dist/docs/references/reference-core-getStorage.md +0 -22
  303. package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
  304. package/dist/docs/references/reference-core-getTelemetry.md +0 -22
  305. package/dist/docs/references/reference-core-getVector.md +0 -22
  306. package/dist/docs/references/reference-core-getWorkflow.md +0 -40
  307. package/dist/docs/references/reference-core-listAgents.md +0 -21
  308. package/dist/docs/references/reference-core-listGateways.md +0 -40
  309. package/dist/docs/references/reference-core-listLogs.md +0 -38
  310. package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
  311. package/dist/docs/references/reference-core-listMCPServers.md +0 -51
  312. package/dist/docs/references/reference-core-listMemory.md +0 -56
  313. package/dist/docs/references/reference-core-listScorers.md +0 -29
  314. package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
  315. package/dist/docs/references/reference-core-listVectors.md +0 -22
  316. package/dist/docs/references/reference-core-listWorkflows.md +0 -21
  317. package/dist/docs/references/reference-core-mastra-class.md +0 -66
  318. package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
  319. package/dist/docs/references/reference-core-setLogger.md +0 -26
  320. package/dist/docs/references/reference-core-setStorage.md +0 -27
  321. package/dist/docs/references/reference-datasets-addItem.md +0 -35
  322. package/dist/docs/references/reference-datasets-addItems.md +0 -33
  323. package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
  324. package/dist/docs/references/reference-datasets-create.md +0 -49
  325. package/dist/docs/references/reference-datasets-dataset.md +0 -78
  326. package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
  327. package/dist/docs/references/reference-datasets-delete.md +0 -23
  328. package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
  329. package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
  330. package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
  331. package/dist/docs/references/reference-datasets-get.md +0 -29
  332. package/dist/docs/references/reference-datasets-getDetails.md +0 -45
  333. package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
  334. package/dist/docs/references/reference-datasets-getItem.md +0 -31
  335. package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
  336. package/dist/docs/references/reference-datasets-list.md +0 -29
  337. package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
  338. package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
  339. package/dist/docs/references/reference-datasets-listItems.md +0 -44
  340. package/dist/docs/references/reference-datasets-listVersions.md +0 -31
  341. package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
  342. package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
  343. package/dist/docs/references/reference-datasets-update.md +0 -46
  344. package/dist/docs/references/reference-datasets-updateItem.md +0 -36
  345. package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
  346. package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
  347. package/dist/docs/references/reference-evals-bias.md +0 -120
  348. package/dist/docs/references/reference-evals-completeness.md +0 -137
  349. package/dist/docs/references/reference-evals-content-similarity.md +0 -101
  350. package/dist/docs/references/reference-evals-context-precision.md +0 -196
  351. package/dist/docs/references/reference-evals-create-scorer.md +0 -270
  352. package/dist/docs/references/reference-evals-faithfulness.md +0 -114
  353. package/dist/docs/references/reference-evals-hallucination.md +0 -220
  354. package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
  355. package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
  356. package/dist/docs/references/reference-evals-run-evals.md +0 -138
  357. package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
  358. package/dist/docs/references/reference-evals-textual-difference.md +0 -113
  359. package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
  360. package/dist/docs/references/reference-evals-toxicity.md +0 -123
  361. package/dist/docs/references/reference-harness-harness-class.md +0 -645
  362. package/dist/docs/references/reference-logging-pino-logger.md +0 -117
  363. package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
  364. package/dist/docs/references/reference-memory-memory-class.md +0 -147
  365. package/dist/docs/references/reference-memory-observational-memory.md +0 -565
  366. package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
  367. package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
  368. package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
  369. package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
  370. package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
  371. package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
  372. package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
  373. package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
  374. package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
  375. package/dist/docs/references/reference-processors-language-detector.md +0 -81
  376. package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
  377. package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
  378. package/dist/docs/references/reference-processors-pii-detector.md +0 -107
  379. package/dist/docs/references/reference-processors-processor-interface.md +0 -525
  380. package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
  381. package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
  382. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
  383. package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
  384. package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
  385. package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
  386. package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
  387. package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
  388. package/dist/docs/references/reference-rag-database-config.md +0 -264
  389. package/dist/docs/references/reference-rag-embeddings.md +0 -92
  390. package/dist/docs/references/reference-server-mastra-server.md +0 -298
  391. package/dist/docs/references/reference-server-register-api-route.md +0 -249
  392. package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
  393. package/dist/docs/references/reference-storage-composite.md +0 -235
  394. package/dist/docs/references/reference-storage-lance.md +0 -131
  395. package/dist/docs/references/reference-storage-libsql.md +0 -135
  396. package/dist/docs/references/reference-storage-mongodb.md +0 -262
  397. package/dist/docs/references/reference-storage-mssql.md +0 -155
  398. package/dist/docs/references/reference-storage-overview.md +0 -121
  399. package/dist/docs/references/reference-storage-postgresql.md +0 -529
  400. package/dist/docs/references/reference-storage-upstash.md +0 -160
  401. package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
  402. package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
  403. package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
  404. package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
  405. package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
  406. package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
  407. package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
  408. package/dist/docs/references/reference-templates-overview.md +0 -194
  409. package/dist/docs/references/reference-tools-create-tool.md +0 -237
  410. package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
  411. package/dist/docs/references/reference-tools-mcp-client.md +0 -962
  412. package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
  413. package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
  414. package/dist/docs/references/reference-vectors-libsql.md +0 -305
  415. package/dist/docs/references/reference-vectors-mongodb.md +0 -295
  416. package/dist/docs/references/reference-vectors-pg.md +0 -408
  417. package/dist/docs/references/reference-vectors-upstash.md +0 -294
  418. package/dist/docs/references/reference-voice-composite-voice.md +0 -121
  419. package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
  420. package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
  421. package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
  422. package/dist/docs/references/reference-voice-voice.connect.md +0 -94
  423. package/dist/docs/references/reference-voice-voice.events.md +0 -37
  424. package/dist/docs/references/reference-voice-voice.listen.md +0 -164
  425. package/dist/docs/references/reference-voice-voice.on.md +0 -111
  426. package/dist/docs/references/reference-voice-voice.speak.md +0 -157
  427. package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
  428. package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
  429. package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
  430. package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
  431. package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
  432. package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
  433. package/dist/docs/references/reference-workflows-run.md +0 -59
  434. package/dist/docs/references/reference-workflows-step.md +0 -119
  435. package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
  436. package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
  437. package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
  438. package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
  439. package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
  440. package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
  441. package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
  442. package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
  443. package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
  444. package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
  445. package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
  446. package/dist/docs/references/reference-workflows-workflow.md +0 -157
  447. package/dist/docs/references/reference-workspace-filesystem.md +0 -202
  448. package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
  449. package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
  450. package/dist/docs/references/reference-workspace-sandbox.md +0 -81
  451. package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
  452. 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)