@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,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)