@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,327 +0,0 @@
1
- # LocalFilesystem
2
-
3
- **Added in:** `@mastra/core@1.1.0`
4
-
5
- Stores files in a directory on the local filesystem.
6
-
7
- > **Info:** For interface details, see [WorkspaceFilesystem Interface](https://mastra.ai/reference/workspace/filesystem).
8
-
9
- ## Usage
10
-
11
- Add a `LocalFilesystem` to a workspace and assign it to an agent. The agent can then read, write, and manage files as part of its tasks:
12
-
13
- ```typescript
14
- import { Agent } from '@mastra/core/agent';
15
- import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
16
-
17
- const workspace = new Workspace({
18
- filesystem: new LocalFilesystem({
19
- basePath: './workspace',
20
- }),
21
- });
22
-
23
- const agent = new Agent({
24
- id: 'file-agent',
25
- model: 'openai/gpt-4o',
26
- workspace,
27
- });
28
-
29
- // The agent now has filesystem tools available
30
- const response = await agent.generate('List all files in the workspace');
31
- ```
32
-
33
- ## Constructor parameters
34
-
35
- **basePath:** (`string`): Base directory path on disk. All file paths are resolved relative to this directory.
36
-
37
- **id?:** (`string`): Unique identifier for this filesystem instance (Default: `Auto-generated`)
38
-
39
- **contained?:** (`boolean`): When true, all file operations are restricted to stay within basePath. Prevents path traversal attacks and symlink escapes. See \[containment]\(/docs/workspace/filesystem#containment). (Default: `true`)
40
-
41
- **allowedPaths?:** (`string[]`): Additional absolute paths that are allowed beyond basePath. Useful with \`contained: true\` to grant access to specific directories without disabling containment entirely. Paths are resolved to absolute paths. (Default: `[]`)
42
-
43
- **readOnly?:** (`boolean`): When true, all write operations are blocked. Read operations are still allowed. (Default: `false`)
44
-
45
- ## Properties
46
-
47
- **id:** (`string`): Filesystem instance identifier
48
-
49
- **name:** (`string`): Provider name ('LocalFilesystem')
50
-
51
- **provider:** (`string`): Provider identifier ('local')
52
-
53
- **basePath:** (`string`): The absolute base path on disk
54
-
55
- **readOnly:** (`boolean | undefined`): Whether the filesystem is in read-only mode
56
-
57
- **allowedPaths:** (`readonly string[]`): Current set of additional allowed paths (absolute, resolved). These paths are permitted beyond basePath when containment is enabled.
58
-
59
- ## Methods
60
-
61
- ### `init()`
62
-
63
- Initialize the filesystem. Creates the base directory if it doesn't exist.
64
-
65
- ```typescript
66
- await filesystem.init();
67
- ```
68
-
69
- Called by `workspace.init()`.
70
-
71
- ### Lazy initialization
72
-
73
- LocalFilesystem initializes on first operation if not already initialized, creating the base directory automatically. Calling `init()` explicitly is optional but can be useful to pre-create directories before the first operation.
74
-
75
- ### `destroy()`
76
-
77
- Clean up filesystem resources.
78
-
79
- ```typescript
80
- await filesystem.destroy();
81
- ```
82
-
83
- Called by `workspace.destroy()`.
84
-
85
- ### `setAllowedPaths(pathsOrUpdater)`
86
-
87
- Update the allowed paths at runtime. Accepts a new paths array (replaces current) or an updater callback that receives the current paths and returns the new set.
88
-
89
- ```typescript
90
- // Set directly
91
- filesystem.setAllowedPaths(['/home/user/.config']);
92
-
93
- // Update with callback
94
- filesystem.setAllowedPaths(prev => [...prev, '/home/user/documents']);
95
-
96
- // Clear all allowed paths
97
- filesystem.setAllowedPaths([]);
98
- ```
99
-
100
- **Parameters:**
101
-
102
- **pathsOrUpdater:** (`string[] | ((current: readonly string[]) => string[])`): New allowed paths array or updater function receiving current paths
103
-
104
- ### `readFile(path, options?)`
105
-
106
- Read file contents.
107
-
108
- ```typescript
109
- const content = await filesystem.readFile('/docs/guide.md');
110
- const buffer = await filesystem.readFile('/image.png', { encoding: 'binary' });
111
- ```
112
-
113
- **Parameters:**
114
-
115
- **path:** (`string`): File path relative to basePath
116
-
117
- **options.encoding?:** (`'utf-8' | 'binary'`): Text or binary encoding (Default: `'utf-8'`)
118
-
119
- ### `writeFile(path, content, options?)`
120
-
121
- Write content to a file.
122
-
123
- ```typescript
124
- await filesystem.writeFile('/docs/new.md', '# New Document');
125
- await filesystem.writeFile('/nested/path/file.md', content, { recursive: true });
126
- ```
127
-
128
- **Parameters:**
129
-
130
- **path:** (`string`): File path relative to basePath
131
-
132
- **content:** (`string | Buffer`): File content
133
-
134
- **options.recursive?:** (`boolean`): Create parent directories if they don't exist (Default: `false`)
135
-
136
- **options.overwrite?:** (`boolean`): Overwrite existing file (Default: `true`)
137
-
138
- ### `appendFile(path, content)`
139
-
140
- Append content to an existing file.
141
-
142
- ```typescript
143
- await filesystem.appendFile('/logs/app.log', 'New log entry\n');
144
- ```
145
-
146
- **Parameters:**
147
-
148
- **path:** (`string`): File path relative to basePath
149
-
150
- **content:** (`string | Buffer`): Content to append
151
-
152
- ### `deleteFile(path, options?)`
153
-
154
- Delete a file.
155
-
156
- ```typescript
157
- await filesystem.deleteFile('/docs/old.md');
158
- await filesystem.deleteFile('/docs/maybe.md', { force: true }); // Don't throw if missing
159
- ```
160
-
161
- **Parameters:**
162
-
163
- **path:** (`string`): File path
164
-
165
- **options.force?:** (`boolean`): Don't throw error if file doesn't exist (Default: `false`)
166
-
167
- ### `copyFile(src, dest, options?)`
168
-
169
- Copy a file to a new location.
170
-
171
- ```typescript
172
- await filesystem.copyFile('/docs/template.md', '/docs/new-doc.md');
173
- await filesystem.copyFile('/src/config.json', '/backup/config.json', { overwrite: false });
174
- ```
175
-
176
- **Parameters:**
177
-
178
- **src:** (`string`): Source file path
179
-
180
- **dest:** (`string`): Destination file path
181
-
182
- **options.overwrite?:** (`boolean`): Overwrite destination if it exists (Default: `true`)
183
-
184
- ### `moveFile(src, dest, options?)`
185
-
186
- Move or rename a file.
187
-
188
- ```typescript
189
- await filesystem.moveFile('/docs/draft.md', '/docs/final.md');
190
- await filesystem.moveFile('/temp/upload.txt', '/files/document.txt');
191
- ```
192
-
193
- **Parameters:**
194
-
195
- **src:** (`string`): Source file path
196
-
197
- **dest:** (`string`): Destination file path
198
-
199
- **options.overwrite?:** (`boolean`): Overwrite destination if it exists (Default: `true`)
200
-
201
- ### `mkdir(path, options?)`
202
-
203
- Create a directory.
204
-
205
- ```typescript
206
- await filesystem.mkdir('/docs/api');
207
- await filesystem.mkdir('/deeply/nested/path', { recursive: true });
208
- ```
209
-
210
- **Parameters:**
211
-
212
- **path:** (`string`): Directory path
213
-
214
- **options.recursive?:** (`boolean`): Create parent directories (Default: `false`)
215
-
216
- ### `rmdir(path, options?)`
217
-
218
- Remove a directory.
219
-
220
- ```typescript
221
- await filesystem.rmdir('/docs/old');
222
- await filesystem.rmdir('/docs/nested', { recursive: true });
223
- ```
224
-
225
- **Parameters:**
226
-
227
- **path:** (`string`): Directory path
228
-
229
- **options.recursive?:** (`boolean`): Remove contents recursively (Default: `false`)
230
-
231
- **options.force?:** (`boolean`): Don't throw if directory doesn't exist (Default: `false`)
232
-
233
- ### `readdir(path, options?)`
234
-
235
- List directory contents.
236
-
237
- ```typescript
238
- const entries = await filesystem.readdir('/docs');
239
- // [{ name: 'guide.md', type: 'file' }, { name: 'api', type: 'directory' }]
240
- ```
241
-
242
- ### `exists(path)`
243
-
244
- Check if a path exists.
245
-
246
- ```typescript
247
- const exists = await filesystem.exists('/docs/guide.md');
248
- ```
249
-
250
- ### `stat(path)`
251
-
252
- Get file or directory metadata.
253
-
254
- ```typescript
255
- const stat = await filesystem.stat('/docs/guide.md');
256
- // { type: 'file', size: 1234, modifiedAt: Date, createdAt: Date, path: '/docs/guide.md' }
257
- ```
258
-
259
- ### `getInfo()`
260
-
261
- Returns metadata about this filesystem instance.
262
-
263
- ```typescript
264
- const info = filesystem.getInfo();
265
- // { id: '...', name: 'LocalFilesystem', provider: 'local', basePath: '/workspace', readOnly: false }
266
- ```
267
-
268
- ### `getInstructions()`
269
-
270
- Returns a description of how paths work in this filesystem. Used in tool descriptions.
271
-
272
- ```typescript
273
- const instructions = filesystem.getInstructions();
274
- // 'Local filesystem at "/workspace". Files at workspace path "/foo" are stored at "/workspace/foo" on disk.'
275
- ```
276
-
277
- ## Path resolution
278
-
279
- ### How basePath works
280
-
281
- The `basePath` option sets the root directory for all file operations. File paths passed to methods like `readFile()` are resolved relative to this base:
282
-
283
- - Leading slashes are stripped: `/docs/guide.md` → `docs/guide.md`
284
- - The path is normalized and joined with basePath
285
- - Result: `./workspace` + `docs/guide.md` → `./workspace/docs/guide.md`
286
-
287
- ```typescript
288
- const filesystem = new LocalFilesystem({
289
- basePath: './workspace',
290
- });
291
-
292
- // These all resolve to ./workspace/docs/guide.md
293
- await filesystem.readFile('/docs/guide.md');
294
- await filesystem.readFile('docs/guide.md');
295
- ```
296
-
297
- ### Relative paths and execution context
298
-
299
- When you use a relative path for `basePath`, it resolves from `process.cwd()`. In Mastra projects, cwd varies depending on how you run your code:
300
-
301
- | Context | Working directory | `./workspace` resolves to |
302
- | -------------- | ------------------------- | ------------------------------- |
303
- | `mastra dev` | `./src/mastra/public/` | `./src/mastra/public/workspace` |
304
- | `mastra start` | `./.mastra/output/` | `./.mastra/output/workspace` |
305
- | Direct script | Where you ran the command | Relative to that location |
306
-
307
- This can cause confusion when the same relative path resolves to different locations.
308
-
309
- ### Recommended: Use absolute paths
310
-
311
- For consistent paths across all execution contexts, use an environment variable with an absolute path:
312
-
313
- ```typescript
314
- import { LocalFilesystem } from '@mastra/core/workspace';
315
-
316
- const filesystem = new LocalFilesystem({
317
- basePath: process.env.WORKSPACE_PATH!,
318
- });
319
- ```
320
-
321
- Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my-project/workspace`. This ensures the workspace path is consistent regardless of how you run your code.
322
-
323
- ## Related
324
-
325
- - [WorkspaceFilesystem interface](https://mastra.ai/reference/workspace/filesystem)
326
- - [Workspace class](https://mastra.ai/reference/workspace/workspace-class)
327
- - [Workspace overview](https://mastra.ai/docs/workspace/overview)
@@ -1,285 +0,0 @@
1
- # LocalSandbox
2
-
3
- **Added in:** `@mastra/core@1.1.0`
4
-
5
- Executes commands on the local system.
6
-
7
- > **Info:** For interface details, see [WorkspaceSandbox interface](https://mastra.ai/reference/workspace/sandbox).
8
-
9
- ## Usage
10
-
11
- Add a `LocalSandbox` to a workspace and assign it to an agent. The agent can then execute shell commands as part of its tasks:
12
-
13
- ```typescript
14
- import { Agent } from '@mastra/core/agent';
15
- import { Workspace, LocalFilesystem, LocalSandbox } from '@mastra/core/workspace';
16
-
17
- const workspace = new Workspace({
18
- filesystem: new LocalFilesystem({ basePath: './workspace' }),
19
- sandbox: new LocalSandbox({
20
- workingDirectory: './workspace',
21
- env: {
22
- NODE_ENV: 'development',
23
- },
24
- }),
25
- });
26
-
27
- const agent = new Agent({
28
- id: 'dev-agent',
29
- model: 'openai/gpt-4o',
30
- workspace,
31
- });
32
-
33
- // The agent now has the execute_command tool available
34
- const response = await agent.generate('Run npm install');
35
- ```
36
-
37
- ### Auto-start behavior
38
-
39
- `LocalSandbox` automatically starts on the first command execution if not already running. You can also explicitly start the sandbox by calling `workspace.init()` at application startup to avoid first-command latency.
40
-
41
- ## Constructor parameters
42
-
43
- **id?:** (`string`): Unique identifier for this sandbox instance (Default: `Auto-generated`)
44
-
45
- **workingDirectory?:** (`string`): Directory for command execution. Defaults to .sandbox/ in process.cwd() for isolation from seatbelt profiles. (Default: `process.cwd()/.sandbox/`)
46
-
47
- **env?:** (`NodeJS.ProcessEnv`): Environment variables to set. PATH is included by default unless overridden.
48
-
49
- **timeout?:** (`number`): Default timeout for operations in milliseconds (Default: `30000`)
50
-
51
- **isolation?:** (`'none' | 'seatbelt' | 'bwrap'`): Native OS sandboxing backend. 'seatbelt' for macOS, 'bwrap' for Linux. (Default: `'none'`)
52
-
53
- **nativeSandbox?:** (`NativeSandboxConfig`): Configuration for native sandboxing (see NativeSandboxConfig below).
54
-
55
- ## NativeSandboxConfig
56
-
57
- Configuration options for native OS sandboxing (used with `isolation: 'seatbelt'` or `'bwrap'`).
58
-
59
- **allowNetwork?:** (`boolean`): Allow network access from sandboxed commands. (Default: `false`)
60
-
61
- **readOnlyPaths?:** (`string[]`): Additional paths to allow read-only access (system paths are always readable).
62
-
63
- **readWritePaths?:** (`string[]`): Additional paths to allow read-write access beyond the workspace directory.
64
-
65
- **seatbeltProfilePath?:** (`string`): Path to a custom seatbelt profile file (macOS only). If the file exists, it's used; if not, a default profile is generated and written to this path.
66
-
67
- **bwrapArgs?:** (`string[]`): Additional arguments to pass to bwrap (Linux only).
68
-
69
- **allowSystemBinaries?:** (`boolean`): Allow read access to standard system binary paths (/bin, /usr/bin, etc.). (Default: `true`)
70
-
71
- ## Properties
72
-
73
- **id:** (`string`): Sandbox instance identifier
74
-
75
- **name:** (`string`): Provider name ('LocalSandbox')
76
-
77
- **provider:** (`string`): Provider identifier ('local')
78
-
79
- **status:** (`ProviderStatus`): 'starting' | 'running' | 'stopped' | 'error'
80
-
81
- **workingDirectory:** (`string`): The configured working directory
82
-
83
- ## Methods
84
-
85
- ### `start()`
86
-
87
- Initialize and start the sandbox. Creates the working directory and sets up seatbelt profiles if using native isolation.
88
-
89
- ```typescript
90
- await sandbox.start();
91
- ```
92
-
93
- Called automatically by `workspace.init()` or on first `executeCommand()` call.
94
-
95
- ### `stop()`
96
-
97
- Stop the sandbox.
98
-
99
- ```typescript
100
- await sandbox.stop();
101
- ```
102
-
103
- ### `destroy()`
104
-
105
- Clean up sandbox resources. Removes seatbelt profiles if they were auto-generated.
106
-
107
- ```typescript
108
- await sandbox.destroy();
109
- ```
110
-
111
- Called by `workspace.destroy()`.
112
-
113
- ### `isReady()`
114
-
115
- Check if the sandbox is ready for operations.
116
-
117
- ```typescript
118
- const ready = await sandbox.isReady();
119
- // true if status is 'running'
120
- ```
121
-
122
- ### `executeCommand(command, args?, options?)`
123
-
124
- Execute a shell command in the sandbox.
125
-
126
- ```typescript
127
- const listResult = await sandbox.executeCommand('ls', ['-la']);
128
- const installResult = await sandbox.executeCommand('npm', ['install', 'lodash'], {
129
- timeout: 60000,
130
- env: { NODE_ENV: 'development' },
131
- });
132
- ```
133
-
134
- **Parameters:**
135
-
136
- **command:** (`string`): Command to execute
137
-
138
- **args?:** (`string[]`): Command arguments
139
-
140
- **options.timeout?:** (`number`): Execution timeout in milliseconds
141
-
142
- **options.cwd?:** (`string`): Working directory for the command
143
-
144
- **options.env?:** (`Record<string, string>`): Additional environment variables
145
-
146
- **options.onStdout?:** (`(data: string) => void`): Callback for stdout streaming
147
-
148
- **options.onStderr?:** (`(data: string) => void`): Callback for stderr streaming
149
-
150
- ### `getInfo()`
151
-
152
- Get sandbox status and resource information.
153
-
154
- ```typescript
155
- const info = await sandbox.getInfo();
156
- // { status: 'running', resources: { ... } }
157
- ```
158
-
159
- ### `getInstructions()`
160
-
161
- Returns a description of how this sandbox works. Used in tool descriptions.
162
-
163
- ```typescript
164
- const instructions = sandbox.getInstructions();
165
- // 'Local command execution. Working directory: "/workspace".'
166
- ```
167
-
168
- ## Path Resolution
169
-
170
- ### Relative paths and execution context
171
-
172
- When you use a relative path for `workingDirectory`, it resolves from `process.cwd()`. In Mastra projects, cwd varies depending on how you run your code:
173
-
174
- | Context | Working directory | `./workspace` resolves to |
175
- | -------------- | ------------------------- | ------------------------------- |
176
- | `mastra dev` | `./src/mastra/public/` | `./src/mastra/public/workspace` |
177
- | `mastra start` | `./.mastra/output/` | `./.mastra/output/workspace` |
178
- | Direct script | Where you ran the command | Relative to that location |
179
-
180
- This can cause confusion when the same relative path resolves to different locations.
181
-
182
- ### Recommended: Use absolute paths
183
-
184
- For consistent paths across all execution contexts, use an environment variable with an absolute path:
185
-
186
- ```typescript
187
- import { LocalSandbox } from '@mastra/core/workspace';
188
-
189
- const sandbox = new LocalSandbox({
190
- workingDirectory: process.env.WORKSPACE_PATH!,
191
- });
192
- ```
193
-
194
- Set `WORKSPACE_PATH` in your environment to an absolute path like `/home/user/my-project/workspace`. This ensures commands run from a consistent directory regardless of how you run your code.
195
-
196
- ## Static Methods
197
-
198
- ### `detectIsolation()`
199
-
200
- Detect the best available isolation backend for the current platform.
201
-
202
- ```typescript
203
- const detection = LocalSandbox.detectIsolation();
204
- // { backend: 'seatbelt', available: true, message: 'Seatbelt available on macOS' }
205
- ```
206
-
207
- ## Environment Isolation
208
-
209
- By default, `LocalSandbox` only includes `PATH` in the environment. This allows commands to run while preventing accidental exposure of API keys and secrets.
210
-
211
- ```typescript
212
- // Default: only PATH is available (commands work, secrets protected)
213
- const secureSandbox = new LocalSandbox({
214
- workingDirectory: './workspace',
215
- });
216
-
217
- // Explicit: pass specific variables
218
- const sandbox = new LocalSandbox({
219
- workingDirectory: './workspace',
220
- env: {
221
- NODE_ENV: 'development',
222
- API_URL: 'https://api.example.com',
223
- },
224
- });
225
-
226
- // Full access (use with caution)
227
- const devSandbox = new LocalSandbox({
228
- workingDirectory: './workspace',
229
- env: process.env,
230
- });
231
- ```
232
-
233
- ## Native OS Sandboxing
234
-
235
- `LocalSandbox` supports native OS-level sandboxing for additional security:
236
-
237
- - **macOS**: Uses Seatbelt (`sandbox-exec`) for filesystem and network isolation
238
- - **Linux**: Uses Bubblewrap (`bwrap`) for namespace isolation
239
-
240
- ```typescript
241
- // Detect the best available backend for this platform
242
- const detection = LocalSandbox.detectIsolation();
243
- console.log(detection);
244
- // { backend: 'seatbelt', available: true, message: '...' }
245
-
246
- // Enable native sandboxing
247
- const sandbox = new LocalSandbox({
248
- workingDirectory: './workspace',
249
- isolation: 'seatbelt', // or 'bwrap' on Linux
250
- nativeSandbox: {
251
- allowNetwork: false, // Block network access (default)
252
- readWritePaths: ['/tmp/extra'], // Additional writable paths
253
- },
254
- });
255
- ```
256
-
257
- When isolation is enabled:
258
-
259
- - File writes are restricted to the workspace directory (and configured paths)
260
- - File reads are allowed everywhere (needed for system binaries)
261
- - Network access is blocked by default
262
- - Process isolation prevents affecting the host system
263
-
264
- ### Sandbox profile location
265
-
266
- When using seatbelt isolation on macOS, `LocalSandbox` generates a profile file in a `.sandbox-profiles/` folder in `process.cwd()`, separate from the working directory:
267
-
268
- ```text
269
- project/
270
- ├── .sandbox/ # Default working directory (sandboxed)
271
- │ └── ... files created by sandbox
272
- ├── .sandbox-profiles/ # Seatbelt profiles (outside sandbox)
273
- │ └── seatbelt-a1b2c3d4.sb # Hash based on workspace + config
274
- └── ... your project files
275
- ```
276
-
277
- The profile filename is a hash of the workspace path and configuration, so sandboxes with identical settings share the same profile while different configurations get separate files. This prevents collisions when running multiple sandboxes concurrently.
278
-
279
- This separation prevents sandboxed processes from reading or modifying their own security profiles. The profile is created when the sandbox starts and cleaned up when destroyed.
280
-
281
- ## Related
282
-
283
- - [WorkspaceSandbox Interface](https://mastra.ai/reference/workspace/sandbox)
284
- - [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
285
- - [Workspace Overview](https://mastra.ai/docs/workspace/overview)
@@ -1,81 +0,0 @@
1
- # WorkspaceSandbox
2
-
3
- **Added in:** `@mastra/core@1.1.0`
4
-
5
- The `WorkspaceSandbox` interface defines how workspaces execute commands.
6
-
7
- ## Methods
8
-
9
- ### `start()`
10
-
11
- Start the sandbox. Called automatically by `workspace.init()` or on first `executeCommand()` call.
12
-
13
- ```typescript
14
- await sandbox.start();
15
- ```
16
-
17
- This method prepares the sandbox for command execution.
18
-
19
- ### `stop()`
20
-
21
- Stop the sandbox.
22
-
23
- ```typescript
24
- await sandbox.stop?.();
25
- ```
26
-
27
- ### `destroy()`
28
-
29
- Clean up sandbox resources. Called by `workspace.destroy()`.
30
-
31
- ```typescript
32
- await sandbox.destroy();
33
- ```
34
-
35
- ### `executeCommand(command, args?, options?)`
36
-
37
- Execute a shell command.
38
-
39
- ```typescript
40
- const result = await sandbox.executeCommand('ls', ['-la', '/docs']);
41
- const result = await sandbox.executeCommand('npm', ['install', 'lodash']);
42
- ```
43
-
44
- **Parameters:**
45
-
46
- **command:** (`string`): Command to execute
47
-
48
- **args?:** (`string[]`): Command arguments
49
-
50
- **options.timeout?:** (`number`): Execution timeout in milliseconds
51
-
52
- **options.cwd?:** (`string`): Working directory for the command
53
-
54
- **options.env?:** (`Record<string, string>`): Additional environment variables
55
-
56
- **options.onStdout?:** (`(data: string) => void`): Callback for stdout streaming
57
-
58
- **options.onStderr?:** (`(data: string) => void`): Callback for stderr streaming
59
-
60
- ### `getInfo()`
61
-
62
- Get sandbox status and resource information.
63
-
64
- ```typescript
65
- const info = await sandbox.getInfo();
66
- // { status: 'running', resources: { memoryMB: 512, cpuPercent: 5 } }
67
- ```
68
-
69
- ### `getInstructions()`
70
-
71
- Get a description of how this sandbox works. Used in tool descriptions to help agents understand the execution context.
72
-
73
- ```typescript
74
- const instructions = sandbox.getInstructions?.();
75
- // 'Local command execution. Working directory: "/workspace".'
76
- ```
77
-
78
- ## Related
79
-
80
- - [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
81
- - [Filesystem Interface](https://mastra.ai/reference/workspace/filesystem)